aboutsummaryrefslogtreecommitdiffstats
path: root/uikit
diff options
context:
space:
mode:
Diffstat (limited to 'uikit')
-rw-r--r--uikit/README.md144
-rw-r--r--uikit/screenshot.pngbin0 -> 117102 bytes
-rw-r--r--uikit/static/css/components/accordion.almost-flat.css39
-rw-r--r--uikit/static/css/components/accordion.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/accordion.css37
-rw-r--r--uikit/static/css/components/accordion.gradient.css39
-rw-r--r--uikit/static/css/components/accordion.gradient.min.css2
-rw-r--r--uikit/static/css/components/accordion.min.css2
-rw-r--r--uikit/static/css/components/autocomplete.almost-flat.css52
-rw-r--r--uikit/static/css/components/autocomplete.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/autocomplete.css50
-rw-r--r--uikit/static/css/components/autocomplete.gradient.css52
-rw-r--r--uikit/static/css/components/autocomplete.gradient.min.css2
-rw-r--r--uikit/static/css/components/autocomplete.min.css2
-rw-r--r--uikit/static/css/components/datepicker.almost-flat.css129
-rw-r--r--uikit/static/css/components/datepicker.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/datepicker.css123
-rw-r--r--uikit/static/css/components/datepicker.gradient.css139
-rw-r--r--uikit/static/css/components/datepicker.gradient.min.css2
-rw-r--r--uikit/static/css/components/datepicker.min.css2
-rw-r--r--uikit/static/css/components/dotnav.almost-flat.css129
-rw-r--r--uikit/static/css/components/dotnav.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/dotnav.css125
-rw-r--r--uikit/static/css/components/dotnav.gradient.css129
-rw-r--r--uikit/static/css/components/dotnav.gradient.min.css2
-rw-r--r--uikit/static/css/components/dotnav.min.css2
-rw-r--r--uikit/static/css/components/form-advanced.almost-flat.css78
-rw-r--r--uikit/static/css/components/form-advanced.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/form-advanced.css78
-rw-r--r--uikit/static/css/components/form-advanced.gradient.css78
-rw-r--r--uikit/static/css/components/form-advanced.gradient.min.css2
-rw-r--r--uikit/static/css/components/form-advanced.min.css2
-rw-r--r--uikit/static/css/components/form-file.almost-flat.css34
-rw-r--r--uikit/static/css/components/form-file.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/form-file.css34
-rw-r--r--uikit/static/css/components/form-file.gradient.css34
-rw-r--r--uikit/static/css/components/form-file.gradient.min.css2
-rw-r--r--uikit/static/css/components/form-file.min.css2
-rw-r--r--uikit/static/css/components/form-password.almost-flat.css34
-rw-r--r--uikit/static/css/components/form-password.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/form-password.css34
-rw-r--r--uikit/static/css/components/form-password.gradient.css34
-rw-r--r--uikit/static/css/components/form-password.gradient.min.css2
-rw-r--r--uikit/static/css/components/form-password.min.css2
-rw-r--r--uikit/static/css/components/form-select.almost-flat.css35
-rw-r--r--uikit/static/css/components/form-select.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/form-select.css35
-rw-r--r--uikit/static/css/components/form-select.gradient.css35
-rw-r--r--uikit/static/css/components/form-select.gradient.min.css2
-rw-r--r--uikit/static/css/components/form-select.min.css2
-rw-r--r--uikit/static/css/components/htmleditor.almost-flat.css225
-rw-r--r--uikit/static/css/components/htmleditor.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/htmleditor.css167
-rw-r--r--uikit/static/css/components/htmleditor.gradient.css232
-rw-r--r--uikit/static/css/components/htmleditor.gradient.min.css2
-rw-r--r--uikit/static/css/components/htmleditor.min.css2
-rw-r--r--uikit/static/css/components/nestable.almost-flat.css135
-rw-r--r--uikit/static/css/components/nestable.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/nestable.css132
-rw-r--r--uikit/static/css/components/nestable.gradient.css139
-rw-r--r--uikit/static/css/components/nestable.gradient.min.css2
-rw-r--r--uikit/static/css/components/nestable.min.css2
-rw-r--r--uikit/static/css/components/notify.almost-flat.css99
-rw-r--r--uikit/static/css/components/notify.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/notify.css93
-rw-r--r--uikit/static/css/components/notify.gradient.css99
-rw-r--r--uikit/static/css/components/notify.gradient.min.css2
-rw-r--r--uikit/static/css/components/notify.min.css2
-rw-r--r--uikit/static/css/components/placeholder.almost-flat.css29
-rw-r--r--uikit/static/css/components/placeholder.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/placeholder.css29
-rw-r--r--uikit/static/css/components/placeholder.gradient.css29
-rw-r--r--uikit/static/css/components/placeholder.gradient.min.css2
-rw-r--r--uikit/static/css/components/placeholder.min.css2
-rw-r--r--uikit/static/css/components/progress.almost-flat.css105
-rw-r--r--uikit/static/css/components/progress.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/progress.css95
-rw-r--r--uikit/static/css/components/progress.gradient.css113
-rw-r--r--uikit/static/css/components/progress.gradient.min.css2
-rw-r--r--uikit/static/css/components/progress.min.css2
-rw-r--r--uikit/static/css/components/search.almost-flat.css192
-rw-r--r--uikit/static/css/components/search.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/search.css190
-rw-r--r--uikit/static/css/components/search.gradient.css192
-rw-r--r--uikit/static/css/components/search.gradient.min.css2
-rw-r--r--uikit/static/css/components/search.min.css2
-rw-r--r--uikit/static/css/components/slidenav.almost-flat.css99
-rw-r--r--uikit/static/css/components/slidenav.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/slidenav.css99
-rw-r--r--uikit/static/css/components/slidenav.gradient.css99
-rw-r--r--uikit/static/css/components/slidenav.gradient.min.css2
-rw-r--r--uikit/static/css/components/slidenav.min.css2
-rw-r--r--uikit/static/css/components/slider.almost-flat.css85
-rw-r--r--uikit/static/css/components/slider.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/slider.css85
-rw-r--r--uikit/static/css/components/slider.gradient.css85
-rw-r--r--uikit/static/css/components/slider.gradient.min.css2
-rw-r--r--uikit/static/css/components/slider.min.css2
-rw-r--r--uikit/static/css/components/slideshow.almost-flat.css140
-rw-r--r--uikit/static/css/components/slideshow.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/slideshow.css140
-rw-r--r--uikit/static/css/components/slideshow.gradient.css140
-rw-r--r--uikit/static/css/components/slideshow.gradient.min.css2
-rw-r--r--uikit/static/css/components/slideshow.min.css2
-rw-r--r--uikit/static/css/components/sortable.almost-flat.css62
-rw-r--r--uikit/static/css/components/sortable.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/sortable.css62
-rw-r--r--uikit/static/css/components/sortable.gradient.css62
-rw-r--r--uikit/static/css/components/sortable.gradient.min.css2
-rw-r--r--uikit/static/css/components/sortable.min.css2
-rw-r--r--uikit/static/css/components/sticky.almost-flat.css32
-rw-r--r--uikit/static/css/components/sticky.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/sticky.css32
-rw-r--r--uikit/static/css/components/sticky.gradient.css32
-rw-r--r--uikit/static/css/components/sticky.gradient.min.css2
-rw-r--r--uikit/static/css/components/sticky.min.css2
-rw-r--r--uikit/static/css/components/tooltip.almost-flat.css120
-rw-r--r--uikit/static/css/components/tooltip.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/tooltip.css118
-rw-r--r--uikit/static/css/components/tooltip.gradient.css120
-rw-r--r--uikit/static/css/components/tooltip.gradient.min.css2
-rw-r--r--uikit/static/css/components/tooltip.min.css2
-rw-r--r--uikit/static/css/components/upload.almost-flat.css10
-rw-r--r--uikit/static/css/components/upload.almost-flat.min.css2
-rw-r--r--uikit/static/css/components/upload.css10
-rw-r--r--uikit/static/css/components/upload.gradient.css10
-rw-r--r--uikit/static/css/components/upload.gradient.min.css2
-rw-r--r--uikit/static/css/components/upload.min.css2
-rw-r--r--uikit/static/css/custom.css65
-rw-r--r--uikit/static/css/custom.min.css1
-rw-r--r--uikit/static/css/index.html12
-rw-r--r--uikit/static/css/pygment.css63
-rw-r--r--uikit/static/css/pygment.min.css1
-rw-r--r--uikit/static/css/uikit.almost-flat.css8355
-rw-r--r--uikit/static/css/uikit.almost-flat.min.css2
-rw-r--r--uikit/static/css/uikit.css7589
-rw-r--r--uikit/static/css/uikit.gradient.css8417
-rw-r--r--uikit/static/css/uikit.gradient.min.css2
-rw-r--r--uikit/static/css/uikit.min.css1
-rw-r--r--uikit/static/fonts/FontAwesome.otfbin0 -> 93888 bytes
-rw-r--r--uikit/static/fonts/fontawesome-webfont.eotbin0 -> 60767 bytes
-rw-r--r--uikit/static/fonts/fontawesome-webfont.ttfbin0 -> 122092 bytes
-rw-r--r--uikit/static/fonts/fontawesome-webfont.woffbin0 -> 71508 bytes
-rw-r--r--uikit/static/fonts/fontawesome-webfont.woff2bin0 -> 56780 bytes
-rw-r--r--uikit/static/ico/cc/by-nc-nd/4.0/80x15.pngbin0 -> 472 bytes
-rw-r--r--uikit/static/ico/cc/by-nc-nd/4.0/88x31.pngbin0 -> 1700 bytes
-rw-r--r--uikit/static/ico/cc/by-nc-sa/4.0/80x15.pngbin0 -> 483 bytes
-rw-r--r--uikit/static/ico/cc/by-nc-sa/4.0/88x31.png0
-rw-r--r--uikit/static/ico/cc/by-nc/4.0/80x15.pngbin0 -> 461 bytes
-rw-r--r--uikit/static/ico/cc/by-nc/4.0/88x31.pngbin0 -> 1636 bytes
-rw-r--r--uikit/static/ico/cc/by-nd-nc/4.0/80x15.png0
-rw-r--r--uikit/static/ico/cc/by-nd-nc/4.0/88x31.png0
-rw-r--r--uikit/static/ico/cc/by-nd/4.0/80x15.pngbin0 -> 461 bytes
-rw-r--r--uikit/static/ico/cc/by-nd/4.0/88x31.pngbin0 -> 1489 bytes
-rw-r--r--uikit/static/ico/cc/by-sa/4.0/80x15.pngbin0 -> 459 bytes
-rw-r--r--uikit/static/ico/cc/by-sa/4.0/88x31.pngbin0 -> 1624 bytes
-rwxr-xr-xuikit/static/ico/cc/licenses.sh7
-rw-r--r--uikit/static/ico/favicon/android-chrome-144x144.pngbin0 -> 8248 bytes
-rw-r--r--uikit/static/ico/favicon/android-chrome-192x192.pngbin0 -> 9037 bytes
-rw-r--r--uikit/static/ico/favicon/android-chrome-36x36.pngbin0 -> 2261 bytes
-rw-r--r--uikit/static/ico/favicon/android-chrome-48x48.pngbin0 -> 3249 bytes
-rw-r--r--uikit/static/ico/favicon/android-chrome-72x72.pngbin0 -> 4803 bytes
-rw-r--r--uikit/static/ico/favicon/android-chrome-96x96.pngbin0 -> 6044 bytes
-rw-r--r--uikit/static/ico/favicon/apple-touch-icon-114x114.pngbin0 -> 6934 bytes
-rw-r--r--uikit/static/ico/favicon/apple-touch-icon-120x120.pngbin0 -> 7308 bytes
-rw-r--r--uikit/static/ico/favicon/apple-touch-icon-144x144.pngbin0 -> 8248 bytes
-rw-r--r--uikit/static/ico/favicon/apple-touch-icon-152x152.pngbin0 -> 8229 bytes
-rw-r--r--uikit/static/ico/favicon/apple-touch-icon-180x180.pngbin0 -> 9054 bytes
-rw-r--r--uikit/static/ico/favicon/apple-touch-icon-57x57.pngbin0 -> 3907 bytes
-rw-r--r--uikit/static/ico/favicon/apple-touch-icon-60x60.pngbin0 -> 3979 bytes
-rw-r--r--uikit/static/ico/favicon/apple-touch-icon-72x72.pngbin0 -> 4803 bytes
-rw-r--r--uikit/static/ico/favicon/apple-touch-icon-76x76.pngbin0 -> 5106 bytes
-rw-r--r--uikit/static/ico/favicon/apple-touch-icon-precomposed.pngbin0 -> 8857 bytes
-rw-r--r--uikit/static/ico/favicon/apple-touch-icon.pngbin0 -> 9054 bytes
-rw-r--r--uikit/static/ico/favicon/browserconfig.xml12
-rw-r--r--uikit/static/ico/favicon/favicon-16x16.pngbin0 -> 1214 bytes
-rw-r--r--uikit/static/ico/favicon/favicon-32x32.pngbin0 -> 1957 bytes
-rw-r--r--uikit/static/ico/favicon/favicon-96x96.pngbin0 -> 6044 bytes
-rw-r--r--uikit/static/ico/favicon/favicon.icobin0 -> 15086 bytes
-rw-r--r--uikit/static/ico/favicon/manifest.json41
-rw-r--r--uikit/static/ico/favicon/mstile-144x144.pngbin0 -> 8040 bytes
-rw-r--r--uikit/static/ico/favicon/mstile-150x150.pngbin0 -> 8011 bytes
-rw-r--r--uikit/static/ico/favicon/mstile-310x150.pngbin0 -> 8606 bytes
-rw-r--r--uikit/static/ico/favicon/mstile-310x310.pngbin0 -> 11872 bytes
-rw-r--r--uikit/static/ico/favicon/mstile-70x70.pngbin0 -> 6199 bytes
-rw-r--r--uikit/static/ico/favicon/safari-pinned-tab.svg1651
-rw-r--r--uikit/static/img/author.svg21
-rw-r--r--uikit/static/img/yoshi.pngbin0 -> 7952 bytes
-rw-r--r--uikit/static/img/yoshi.png.bakbin0 -> 7616 bytes
-rw-r--r--uikit/static/js/components/accordion.js172
-rw-r--r--uikit/static/js/components/accordion.min.js2
-rw-r--r--uikit/static/js/components/autocomplete.js336
-rw-r--r--uikit/static/js/components/autocomplete.min.js2
-rw-r--r--uikit/static/js/components/datepicker.js3168
-rw-r--r--uikit/static/js/components/datepicker.min.js3
-rw-r--r--uikit/static/js/components/form-password.js66
-rw-r--r--uikit/static/js/components/form-password.min.js2
-rw-r--r--uikit/static/js/components/form-select.js70
-rw-r--r--uikit/static/js/components/form-select.min.js2
-rw-r--r--uikit/static/js/components/grid.js524
-rw-r--r--uikit/static/js/components/grid.min.js2
-rw-r--r--uikit/static/js/components/htmleditor.js621
-rw-r--r--uikit/static/js/components/htmleditor.min.js2
-rw-r--r--uikit/static/js/components/lightbox.js544
-rw-r--r--uikit/static/js/components/lightbox.min.js2
-rw-r--r--uikit/static/js/components/nestable.js625
-rw-r--r--uikit/static/js/components/nestable.min.js2
-rw-r--r--uikit/static/js/components/notify.js191
-rw-r--r--uikit/static/js/components/notify.min.js2
-rw-r--r--uikit/static/js/components/pagination.js148
-rw-r--r--uikit/static/js/components/pagination.min.js2
-rw-r--r--uikit/static/js/components/parallax.js417
-rw-r--r--uikit/static/js/components/parallax.min.js2
-rw-r--r--uikit/static/js/components/search.js92
-rw-r--r--uikit/static/js/components/search.min.js2
-rw-r--r--uikit/static/js/components/slider.js482
-rw-r--r--uikit/static/js/components/slider.min.js2
-rw-r--r--uikit/static/js/components/slideset.js503
-rw-r--r--uikit/static/js/components/slideset.min.js2
-rw-r--r--uikit/static/js/components/slideshow-fx.js377
-rw-r--r--uikit/static/js/components/slideshow-fx.min.js2
-rw-r--r--uikit/static/js/components/slideshow.js545
-rw-r--r--uikit/static/js/components/slideshow.min.js2
-rw-r--r--uikit/static/js/components/sortable.js643
-rw-r--r--uikit/static/js/components/sortable.min.js2
-rw-r--r--uikit/static/js/components/sticky.js298
-rw-r--r--uikit/static/js/components/sticky.min.js2
-rw-r--r--uikit/static/js/components/timepicker.js192
-rw-r--r--uikit/static/js/components/timepicker.min.js2
-rw-r--r--uikit/static/js/components/tooltip.js234
-rw-r--r--uikit/static/js/components/tooltip.min.js2
-rw-r--r--uikit/static/js/components/upload.js256
-rw-r--r--uikit/static/js/components/upload.min.js2
-rw-r--r--uikit/static/js/core/alert.js66
-rw-r--r--uikit/static/js/core/alert.min.js2
-rw-r--r--uikit/static/js/core/button.js154
-rw-r--r--uikit/static/js/core/button.min.js2
-rw-r--r--uikit/static/js/core/core.js722
-rw-r--r--uikit/static/js/core/core.min.js2
-rw-r--r--uikit/static/js/core/cover.js95
-rw-r--r--uikit/static/js/core/cover.min.js2
-rw-r--r--uikit/static/js/core/dropdown.js296
-rw-r--r--uikit/static/js/core/dropdown.min.js2
-rw-r--r--uikit/static/js/core/grid.js114
-rw-r--r--uikit/static/js/core/grid.min.js2
-rw-r--r--uikit/static/js/core/modal.js373
-rw-r--r--uikit/static/js/core/modal.min.js2
-rw-r--r--uikit/static/js/core/nav.js136
-rw-r--r--uikit/static/js/core/nav.min.js2
-rw-r--r--uikit/static/js/core/offcanvas.js178
-rw-r--r--uikit/static/js/core/offcanvas.min.js2
-rw-r--r--uikit/static/js/core/scrollspy.js208
-rw-r--r--uikit/static/js/core/scrollspy.min.js2
-rw-r--r--uikit/static/js/core/smooth-scroll.js62
-rw-r--r--uikit/static/js/core/smooth-scroll.min.js2
-rw-r--r--uikit/static/js/core/switcher.js298
-rw-r--r--uikit/static/js/core/switcher.min.js2
-rw-r--r--uikit/static/js/core/tab.js165
-rw-r--r--uikit/static/js/core/tab.min.js2
-rw-r--r--uikit/static/js/core/toggle.js117
-rw-r--r--uikit/static/js/core/toggle.min.js2
-rw-r--r--uikit/static/js/core/touch.js173
-rw-r--r--uikit/static/js/core/touch.min.js2
-rw-r--r--uikit/static/js/core/utility.js243
-rw-r--r--uikit/static/js/core/utility.min.js2
-rw-r--r--uikit/static/js/lib/MathJax.js19
-rw-r--r--uikit/static/js/lib/extensions/MathEvents.js19
-rw-r--r--uikit/static/js/lib/extensions/MathMenu.js19
-rw-r--r--uikit/static/js/lib/extensions/MathZoom.js19
-rw-r--r--uikit/static/js/lib/extensions/mml2jax.js19
-rw-r--r--uikit/static/js/lib/extensions/tex2jax.js19
-rw-r--r--uikit/static/js/lib/jax/input/MathML/config.js19
-rw-r--r--uikit/static/js/lib/jax/input/TeX/config.js19
-rw-r--r--uikit/static/js/lib/jax/output/HTML-CSS/config.js19
-rw-r--r--uikit/static/js/lib/jquery-1.11.3.js10351
-rw-r--r--uikit/static/js/lib/jquery-1.11.3.min.js5
-rw-r--r--uikit/static/js/uikit.js3400
-rw-r--r--uikit/static/js/uikit.min.js3
-rw-r--r--uikit/templates/_sidebar.html50
-rw-r--r--uikit/templates/archives.html20
-rw-r--r--uikit/templates/article.html24
-rw-r--r--uikit/templates/article_macros.html21
-rw-r--r--uikit/templates/articles.html20
-rw-r--r--uikit/templates/author.html20
-rw-r--r--uikit/templates/authors.html26
-rw-r--r--uikit/templates/base.html35
-rw-r--r--uikit/templates/categories.html26
-rw-r--r--uikit/templates/category.html18
-rw-r--r--uikit/templates/cc_license.html53
-rw-r--r--uikit/templates/html_macros.html7
-rw-r--r--uikit/templates/index.html32
-rw-r--r--uikit/templates/menu_macros.html13
-rw-r--r--uikit/templates/page.html20
-rw-r--r--uikit/templates/period_archives.html25
-rw-r--r--uikit/templates/tag.html18
-rw-r--r--uikit/templates/tags.html26
-rw-r--r--uikit/templates/time_macros.html4
-rw-r--r--uikit/templates/uikit.html109
298 files changed, 60511 insertions, 0 deletions
diff --git a/uikit/README.md b/uikit/README.md
new file mode 100644
index 0000000..dca9876
--- /dev/null
+++ b/uikit/README.md
@@ -0,0 +1,144 @@
+# ABOUT
+
+``pelican-uikit`` is a port of the [uikit demo for a blog
+layout](http://getuikit.com/docs/layouts_blog.html) to
+[pelican](http://getpelican.com). You can currently browse a demo at [inktrap's
+blog](https://blog.inktrap.org). This theme
+
+ - can be customized by the [uikit-customizer](http://getuikit.com/docs/customizer.html)
+ - is responsive and works for mobile devices
+ - uses HTML5 semantic markup
+ - is pretty dry due to some custom makros for sidebar links and license information (see [inktrap's gists](https://gist.github.com/inktrap/bff03f3f8ae6c671115e266c70ec20cb))
+ - tries to be SEO ready (… this could be improved, but I don't care that much about SEO)
+ - can be a boilerplate for your own experiments with uikit
+
+![Uikit for pelican Screenshot](./screenshot.png)
+
+# CUSTOMIZATION
+
+## favicon
+
+How to **use a custom favicon**:
+ - go to <http://realfavicongenerator.net/> and use this custom path: ``/theme/ico/favicon/``.
+ - then unzip the file to ``/themes/uikit/static/ico/favicon/`` (and ``themes`` is wherever you store your themes.)
+ - done!
+
+## author
+
+ - change the following values (the default settings are my personal ones):
+
+~~~
+# this name is used for navigation and display
+AUTHOR=u'inktrap'
+
+# a shorthand/surname/whatever, used in the sidebar
+AUTHOR_REAL = u'Valentin'
+
+# put an image into uikit/static/img/ and change this
+# variable to the name of the image. The default is author.svg
+AUTHOR_IMAGE = u'author.svg'
+~~~
+
+## uikit
+
+To use a different uikit-style simply change the ``STYLE`` variable in ``pelicanconf.py``. See the section ``pelicanconf`` below for an example.
+
+If you want to use an entirely different colorsheme, use [the customizer](http://getuikit.com/docs/customizer.html).
+
+**Currently I always get the same css-file regardless of the modifications I made. I will either post a bug report or investigate this a little bit more.**
+
+Copy the following files to ``themes/uikit/static/css``:
+
+~~~
+uikit.almost-flat.css
+uikit.almost-flat.min.css
+uikit.css
+uikit.gradient.css
+uikit.gradient.min.css
+uikit.min.css
+~~~
+
+Hint: You can just generate the minified files yourself and if you don't want to change the ``STYLE``-setting you only have to download the one you need.
+
+## pelicanconf
+
+More specific settings for this theme.
+
+### display tags and links and how many of them
+
+~~~
+# control the sidebar-tags/links with a simple setting.
+# If the value
+# is 0, all links will be displayed
+# is negative, no links will be displayed
+# is positive, that many links will be displayed
+
+DISPLAY_TAGS_ON_SIDEBAR_LIMIT = 0
+DISPLAY_LINKS_ON_SIDEBAR_LIMIT = 0
+~~~
+
+### choose an uikit style
+
+~~~
+# choose default, gradient or almost-flat:
+STYLE = "default"
+STYLE = "almost-flat"
+STYLE = "gradient"
+~~~
+
+### capitalize headings
+
+~~~
+# wether to capitalize article headings
+# False means everything is not transformed
+CAPITALIZE_HEADINGS = True
+~~~
+
+### choose a license
+
+~~~
+# available licenses (see LICENSE['cc_name']):
+# licenses in version 4.0
+# by-nc
+# by-nc-nd
+# by-nc-sa
+# by-nd
+# by-nd-nc
+# by-sa
+# all icons are included locally,
+# however you can use the icon hosted by <https://licensebuttons.net/>.
+# compact (80x15) or normal (88x31) icon
+LICENSE = {
+ 'cc_name':"by-sa",
+ 'hosted':False,
+ 'compact':True,
+ 'brief':False
+ }
+~~~
+
+The license-chooser and the sidebar-links makros will likely be independent pelican-plugins soon.
+
+
+# TODO
+
+ - integrate/rework: archives.html period_archives.html authors.html categories.html tags.html
+ - pagination support
+ - check styling via the uikit customizer
+ - change article headings to a smaller size so it is separate from the main heading
+ - categories in chrome's responsive design mode are not uppercased
+
+# MAYBE/PLANNED FEATURES
+
+ - integrate mathjax
+ - code-highlighting via pygments
+ - use bower?
+ - integrate disqus?
+ - integrate piwik?
+ - what about translations?
+
+# LINKS
+
+ - http://docs.getpelican.com/en/latest/themes.html
+ - http://getuikit.com/docs/documentation_get-started.html
+ - http://getuikit.com/docs/layouts_blog.html
+
diff --git a/uikit/screenshot.png b/uikit/screenshot.png
new file mode 100644
index 0000000..e8fd0cd
--- /dev/null
+++ b/uikit/screenshot.png
Binary files differ
diff --git a/uikit/static/css/components/accordion.almost-flat.css b/uikit/static/css/components/accordion.almost-flat.css
new file mode 100644
index 0000000..f8edc0d
--- /dev/null
+++ b/uikit/static/css/components/accordion.almost-flat.css
@@ -0,0 +1,39 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Accordion
+ ========================================================================== */
+/* Sub-object: `uk-accordion-title`
+ ========================================================================== */
+.uk-accordion-title {
+ margin-top: 0;
+ margin-bottom: 15px;
+ padding: 5px 15px;
+ background: #f5f5f5;
+ font-size: 18px;
+ line-height: 24px;
+ cursor: pointer;
+ border: 1px solid #dddddd;
+ border-radius: 4px;
+}
+/* Sub-object: `uk-accordion-content`
+ ========================================================================== */
+.uk-accordion-content {
+ padding: 0 15px 15px 15px;
+}
+/*
+ * Micro clearfix to make panels more robust
+ */
+.uk-accordion-content:before,
+.uk-accordion-content:after {
+ content: "";
+ display: table;
+}
+.uk-accordion-content:after {
+ clear: both;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-accordion-content > :last-child {
+ margin-bottom: 0;
+}
diff --git a/uikit/static/css/components/accordion.almost-flat.min.css b/uikit/static/css/components/accordion.almost-flat.min.css
new file mode 100644
index 0000000..1f1f941
--- /dev/null
+++ b/uikit/static/css/components/accordion.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#f5f5f5;font-size:18px;line-height:24px;cursor:pointer;border:1px solid #ddd;border-radius:4px}.uk-accordion-content{padding:0 15px 15px 15px}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0} \ No newline at end of file
diff --git a/uikit/static/css/components/accordion.css b/uikit/static/css/components/accordion.css
new file mode 100644
index 0000000..fe84c73
--- /dev/null
+++ b/uikit/static/css/components/accordion.css
@@ -0,0 +1,37 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Accordion
+ ========================================================================== */
+/* Sub-object: `uk-accordion-title`
+ ========================================================================== */
+.uk-accordion-title {
+ margin-top: 0;
+ margin-bottom: 15px;
+ padding: 5px 15px;
+ background: #eeeeee;
+ font-size: 18px;
+ line-height: 24px;
+ cursor: pointer;
+}
+/* Sub-object: `uk-accordion-content`
+ ========================================================================== */
+.uk-accordion-content {
+ padding: 0 15px 15px 15px;
+}
+/*
+ * Micro clearfix to make panels more robust
+ */
+.uk-accordion-content:before,
+.uk-accordion-content:after {
+ content: "";
+ display: table;
+}
+.uk-accordion-content:after {
+ clear: both;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-accordion-content > :last-child {
+ margin-bottom: 0;
+}
diff --git a/uikit/static/css/components/accordion.gradient.css b/uikit/static/css/components/accordion.gradient.css
new file mode 100644
index 0000000..afc5c47
--- /dev/null
+++ b/uikit/static/css/components/accordion.gradient.css
@@ -0,0 +1,39 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Accordion
+ ========================================================================== */
+/* Sub-object: `uk-accordion-title`
+ ========================================================================== */
+.uk-accordion-title {
+ margin-top: 0;
+ margin-bottom: 15px;
+ padding: 5px 15px;
+ background: #f7f7f7;
+ font-size: 18px;
+ line-height: 24px;
+ cursor: pointer;
+ border: 1px solid #dddddd;
+ border-radius: 4px;
+}
+/* Sub-object: `uk-accordion-content`
+ ========================================================================== */
+.uk-accordion-content {
+ padding: 0 15px 15px 15px;
+}
+/*
+ * Micro clearfix to make panels more robust
+ */
+.uk-accordion-content:before,
+.uk-accordion-content:after {
+ content: "";
+ display: table;
+}
+.uk-accordion-content:after {
+ clear: both;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-accordion-content > :last-child {
+ margin-bottom: 0;
+}
diff --git a/uikit/static/css/components/accordion.gradient.min.css b/uikit/static/css/components/accordion.gradient.min.css
new file mode 100644
index 0000000..27b3e73
--- /dev/null
+++ b/uikit/static/css/components/accordion.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#f7f7f7;font-size:18px;line-height:24px;cursor:pointer;border:1px solid #ddd;border-radius:4px}.uk-accordion-content{padding:0 15px 15px 15px}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0} \ No newline at end of file
diff --git a/uikit/static/css/components/accordion.min.css b/uikit/static/css/components/accordion.min.css
new file mode 100644
index 0000000..a1b3a90
--- /dev/null
+++ b/uikit/static/css/components/accordion.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#eee;font-size:18px;line-height:24px;cursor:pointer}.uk-accordion-content{padding:0 15px 15px 15px}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0} \ No newline at end of file
diff --git a/uikit/static/css/components/autocomplete.almost-flat.css b/uikit/static/css/components/autocomplete.almost-flat.css
new file mode 100644
index 0000000..8f5176b
--- /dev/null
+++ b/uikit/static/css/components/autocomplete.almost-flat.css
@@ -0,0 +1,52 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Autocomplete
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Create position context
+ * 3. Prevent `inline-block` consequences
+ * 4. Remove the gap between the container and its child element
+ */
+.uk-autocomplete {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ max-width: 100%;
+ /* 4 */
+ vertical-align: middle;
+}
+/* Nav modifier `uk-nav-autocomplete`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-autocomplete > li > a {
+ color: #444444;
+}
+/*
+ * Active
+ * 1. Remove default focus style
+ */
+.uk-nav-autocomplete > li.uk-active > a {
+ background: #00a8e6;
+ color: #ffffff;
+ /* 1 */
+ outline: none;
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-autocomplete .uk-nav-header {
+ color: #999999;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-autocomplete .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
diff --git a/uikit/static/css/components/autocomplete.almost-flat.min.css b/uikit/static/css/components/autocomplete.almost-flat.min.css
new file mode 100644
index 0000000..ee6875b
--- /dev/null
+++ b/uikit/static/css/components/autocomplete.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd} \ No newline at end of file
diff --git a/uikit/static/css/components/autocomplete.css b/uikit/static/css/components/autocomplete.css
new file mode 100644
index 0000000..bb71335
--- /dev/null
+++ b/uikit/static/css/components/autocomplete.css
@@ -0,0 +1,50 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Autocomplete
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Create position context
+ * 3. Prevent `inline-block` consequences
+ * 4. Remove the gap between the container and its child element
+ */
+.uk-autocomplete {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ max-width: 100%;
+ /* 4 */
+ vertical-align: middle;
+}
+/* Nav modifier `uk-nav-autocomplete`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-autocomplete > li > a {
+ color: #444444;
+}
+/*
+ * Active
+ * 1. Remove default focus style
+ */
+.uk-nav-autocomplete > li.uk-active > a {
+ background: #00a8e6;
+ color: #ffffff;
+ /* 1 */
+ outline: none;
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-autocomplete .uk-nav-header {
+ color: #999999;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-autocomplete .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
diff --git a/uikit/static/css/components/autocomplete.gradient.css b/uikit/static/css/components/autocomplete.gradient.css
new file mode 100644
index 0000000..06e2c52
--- /dev/null
+++ b/uikit/static/css/components/autocomplete.gradient.css
@@ -0,0 +1,52 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Autocomplete
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Create position context
+ * 3. Prevent `inline-block` consequences
+ * 4. Remove the gap between the container and its child element
+ */
+.uk-autocomplete {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ max-width: 100%;
+ /* 4 */
+ vertical-align: middle;
+}
+/* Nav modifier `uk-nav-autocomplete`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-autocomplete > li > a {
+ color: #444444;
+}
+/*
+ * Active
+ * 1. Remove default focus style
+ */
+.uk-nav-autocomplete > li.uk-active > a {
+ background: #009dd8;
+ color: #ffffff;
+ /* 1 */
+ outline: none;
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-autocomplete .uk-nav-header {
+ color: #999999;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-autocomplete .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
diff --git a/uikit/static/css/components/autocomplete.gradient.min.css b/uikit/static/css/components/autocomplete.gradient.min.css
new file mode 100644
index 0000000..8304137
--- /dev/null
+++ b/uikit/static/css/components/autocomplete.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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:#009dd8;color:#fff;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd} \ No newline at end of file
diff --git a/uikit/static/css/components/autocomplete.min.css b/uikit/static/css/components/autocomplete.min.css
new file mode 100644
index 0000000..03b1be2
--- /dev/null
+++ b/uikit/static/css/components/autocomplete.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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:0}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd} \ No newline at end of file
diff --git a/uikit/static/css/components/datepicker.almost-flat.css b/uikit/static/css/components/datepicker.almost-flat.css
new file mode 100644
index 0000000..ecc8080
--- /dev/null
+++ b/uikit/static/css/components/datepicker.almost-flat.css
@@ -0,0 +1,129 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Datepicker
+ ========================================================================== */
+/*
+ * 1. Highest z-index
+ * 2. Reset dropdown width
+ * 3. Set animation
+ * 4. Needed for scale animation
+ */
+.uk-datepicker {
+ /* 1 */
+ z-index: 1050;
+ /* 2 */
+ width: auto;
+ /* 3 */
+ -webkit-animation: uk-fade 0.2s ease-in-out;
+ animation: uk-fade 0.2s ease-in-out;
+ /* 4 */
+ -webkit-transform-origin: 0 0;
+ transform-origin: 0 0;
+}
+/* Sub-object: `uk-datepicker-nav`
+========================================================================== */
+.uk-datepicker-nav {
+ margin-bottom: 15px;
+ text-align: center;
+ line-height: 20px;
+}
+/*
+ * Micro clearfix
+ */
+.uk-datepicker-nav:before,
+.uk-datepicker-nav:after {
+ content: "";
+ display: table;
+}
+.uk-datepicker-nav:after {
+ clear: both;
+}
+/*
+ * Previous and next navigation
+ */
+.uk-datepicker-nav a {
+ color: #444444;
+ text-decoration: none;
+}
+.uk-datepicker-nav a:hover {
+ color: #444444;
+}
+.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";
+}
+/* Sub-object: `uk-datepicker-heading`
+========================================================================== */
+/* Sub-object: `uk-datepicker-table`
+========================================================================== */
+/* Block element behavior */
+.uk-datepicker-table {
+ width: 100%;
+}
+.uk-datepicker-table th,
+.uk-datepicker-table td {
+ padding: 2px;
+}
+.uk-datepicker-table th {
+ font-size: 12px;
+}
+/*
+ * Item
+ */
+.uk-datepicker-table a {
+ display: block;
+ width: 26px;
+ line-height: 24px;
+ text-align: center;
+ color: #444444;
+ text-decoration: none;
+ border: 1px solid transparent;
+ border-radius: 4px;
+}
+/*
+ * Sub-object: `uk-datepicker-table-muted`
+ */
+a.uk-datepicker-table-muted {
+ color: #999999;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-datepicker-table a:hover,
+.uk-datepicker-table a:focus {
+ background-color: #fafafa;
+ color: #444444;
+ /* 2 */
+ outline: none;
+ border-color: rgba(0, 0, 0, 0.16);
+ text-shadow: 0 1px 0 #ffffff;
+}
+/* OnClick */
+.uk-datepicker-table a:active {
+ background-color: #eeeeee;
+ color: #444444;
+}
+/*
+ * Active
+ */
+.uk-datepicker-table a.uk-active {
+ background: #00a8e6;
+ color: #ffffff;
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
diff --git a/uikit/static/css/components/datepicker.almost-flat.min.css b/uikit/static/css/components/datepicker.almost-flat.min.css
new file mode 100644
index 0000000..5f9ab45
--- /dev/null
+++ b/uikit/static/css/components/datepicker.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-datepicker{z-index:1050;width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:after,.uk-datepicker-nav:before{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-next:after,.uk-datepicker-previous: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 td,.uk-datepicker-table th{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;border:1px solid transparent;border-radius:4px}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:focus,.uk-datepicker-table a:hover{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.16);text-shadow:0 1px 0 #fff}.uk-datepicker-table a:active{background-color:#eee;color:#444}.uk-datepicker-table a.uk-active{background:#00a8e6;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)} \ No newline at end of file
diff --git a/uikit/static/css/components/datepicker.css b/uikit/static/css/components/datepicker.css
new file mode 100644
index 0000000..5414e4f
--- /dev/null
+++ b/uikit/static/css/components/datepicker.css
@@ -0,0 +1,123 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Datepicker
+ ========================================================================== */
+/*
+ * 1. Highest z-index
+ * 2. Reset dropdown width
+ * 3. Set animation
+ * 4. Needed for scale animation
+ */
+.uk-datepicker {
+ /* 1 */
+ z-index: 1050;
+ /* 2 */
+ width: auto;
+ /* 3 */
+ -webkit-animation: uk-fade 0.2s ease-in-out;
+ animation: uk-fade 0.2s ease-in-out;
+ /* 4 */
+ -webkit-transform-origin: 0 0;
+ transform-origin: 0 0;
+}
+/* Sub-object: `uk-datepicker-nav`
+========================================================================== */
+.uk-datepicker-nav {
+ margin-bottom: 15px;
+ text-align: center;
+ line-height: 20px;
+}
+/*
+ * Micro clearfix
+ */
+.uk-datepicker-nav:before,
+.uk-datepicker-nav:after {
+ content: "";
+ display: table;
+}
+.uk-datepicker-nav:after {
+ clear: both;
+}
+/*
+ * Previous and next navigation
+ */
+.uk-datepicker-nav a {
+ color: #444444;
+ text-decoration: none;
+}
+.uk-datepicker-nav a:hover {
+ color: #444444;
+}
+.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";
+}
+/* Sub-object: `uk-datepicker-heading`
+========================================================================== */
+/* Sub-object: `uk-datepicker-table`
+========================================================================== */
+/* Block element behavior */
+.uk-datepicker-table {
+ width: 100%;
+}
+.uk-datepicker-table th,
+.uk-datepicker-table td {
+ padding: 2px;
+}
+.uk-datepicker-table th {
+ font-size: 12px;
+}
+/*
+ * Item
+ */
+.uk-datepicker-table a {
+ display: block;
+ width: 26px;
+ line-height: 24px;
+ text-align: center;
+ color: #444444;
+ text-decoration: none;
+}
+/*
+ * Sub-object: `uk-datepicker-table-muted`
+ */
+a.uk-datepicker-table-muted {
+ color: #999999;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-datepicker-table a:hover,
+.uk-datepicker-table a:focus {
+ background-color: #dddddd;
+ color: #444444;
+ /* 2 */
+ outline: none;
+}
+/* OnClick */
+.uk-datepicker-table a:active {
+ background-color: #cccccc;
+ color: #444444;
+}
+/*
+ * Active
+ */
+.uk-datepicker-table a.uk-active {
+ background: #00a8e6;
+ color: #ffffff;
+}
diff --git a/uikit/static/css/components/datepicker.gradient.css b/uikit/static/css/components/datepicker.gradient.css
new file mode 100644
index 0000000..94366b6
--- /dev/null
+++ b/uikit/static/css/components/datepicker.gradient.css
@@ -0,0 +1,139 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Datepicker
+ ========================================================================== */
+/*
+ * 1. Highest z-index
+ * 2. Reset dropdown width
+ * 3. Set animation
+ * 4. Needed for scale animation
+ */
+.uk-datepicker {
+ /* 1 */
+ z-index: 1050;
+ /* 2 */
+ width: auto;
+ /* 3 */
+ -webkit-animation: uk-fade 0.2s ease-in-out;
+ animation: uk-fade 0.2s ease-in-out;
+ /* 4 */
+ -webkit-transform-origin: 0 0;
+ transform-origin: 0 0;
+}
+/* Sub-object: `uk-datepicker-nav`
+========================================================================== */
+.uk-datepicker-nav {
+ margin-bottom: 15px;
+ text-align: center;
+ line-height: 20px;
+}
+/*
+ * Micro clearfix
+ */
+.uk-datepicker-nav:before,
+.uk-datepicker-nav:after {
+ content: "";
+ display: table;
+}
+.uk-datepicker-nav:after {
+ clear: both;
+}
+/*
+ * Previous and next navigation
+ */
+.uk-datepicker-nav a {
+ color: #444444;
+ text-decoration: none;
+}
+.uk-datepicker-nav a:hover {
+ color: #444444;
+}
+.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";
+}
+/* Sub-object: `uk-datepicker-heading`
+========================================================================== */
+/* Sub-object: `uk-datepicker-table`
+========================================================================== */
+/* Block element behavior */
+.uk-datepicker-table {
+ width: 100%;
+}
+.uk-datepicker-table th,
+.uk-datepicker-table td {
+ padding: 2px;
+}
+.uk-datepicker-table th {
+ font-size: 12px;
+}
+/*
+ * Item
+ */
+.uk-datepicker-table a {
+ display: block;
+ width: 26px;
+ line-height: 24px;
+ text-align: center;
+ color: #444444;
+ text-decoration: none;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ background-origin: border-box;
+}
+/*
+ * Sub-object: `uk-datepicker-table-muted`
+ */
+a.uk-datepicker-table-muted {
+ color: #999999;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-datepicker-table a:hover,
+.uk-datepicker-table a:focus {
+ background-color: #fafafa;
+ color: #444444;
+ /* 2 */
+ outline: none;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-bottom-color: rgba(0, 0, 0, 0.3);
+ text-shadow: 0 1px 0 #ffffff;
+}
+/* OnClick */
+.uk-datepicker-table a:active {
+ background-color: #f5f5f5;
+ color: #444444;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-top-color: rgba(0, 0, 0, 0.3);
+ background-image: none;
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
+}
+/*
+ * Active
+ */
+.uk-datepicker-table a.uk-active {
+ background: #009dd8;
+ color: #ffffff;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-bottom-color: rgba(0, 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, 0.2);
+}
diff --git a/uikit/static/css/components/datepicker.gradient.min.css b/uikit/static/css/components/datepicker.gradient.min.css
new file mode 100644
index 0000000..102458b
--- /dev/null
+++ b/uikit/static/css/components/datepicker.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-datepicker{z-index:1050;width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:after,.uk-datepicker-nav:before{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-next:after,.uk-datepicker-previous: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 td,.uk-datepicker-table th{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;border:1px solid transparent;border-radius:4px;background-origin:border-box}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:focus,.uk-datepicker-table a:hover{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);text-shadow:0 1px 0 #fff}.uk-datepicker-table 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-datepicker-table a.uk-active{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)} \ No newline at end of file
diff --git a/uikit/static/css/components/datepicker.min.css b/uikit/static/css/components/datepicker.min.css
new file mode 100644
index 0000000..7738f98
--- /dev/null
+++ b/uikit/static/css/components/datepicker.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-datepicker{z-index:1050;width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:after,.uk-datepicker-nav:before{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-next:after,.uk-datepicker-previous: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 td,.uk-datepicker-table th{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:focus,.uk-datepicker-table a:hover{background-color:#ddd;color:#444;outline:0}.uk-datepicker-table a:active{background-color:#ccc;color:#444}.uk-datepicker-table a.uk-active{background:#00a8e6;color:#fff} \ No newline at end of file
diff --git a/uikit/static/css/components/dotnav.almost-flat.css b/uikit/static/css/components/dotnav.almost-flat.css
new file mode 100644
index 0000000..78bf049
--- /dev/null
+++ b/uikit/static/css/components/dotnav.almost-flat.css
@@ -0,0 +1,129 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Dotnav
+ ========================================================================== */
+/*
+ * 1. Gutter
+ * 2. Remove default list style
+ */
+.uk-dotnav {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /* 1 */
+ margin-left: -15px;
+ margin-top: -15px;
+ /* 2 */
+ padding: 0;
+ list-style: none;
+}
+/*
+ * 1. Space is allocated solely based on content dimensions
+ * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
+ */
+.uk-dotnav > * {
+ /* 1 */
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ /* 2 */
+ padding-left: 15px;
+ margin-top: 15px;
+}
+/*
+ * DEPRECATED IE9 Support
+ */
+.uk-dotnav:before,
+.uk-dotnav:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-dotnav:after {
+ clear: both;
+}
+.uk-dotnav > * {
+ float: left;
+}
+/* Items
+ ========================================================================== */
+/*
+ * Items
+ * 1. Hide text if present
+ */
+.uk-dotnav > * > * {
+ display: block;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ width: 20px;
+ height: 20px;
+ border-radius: 50%;
+ background: rgba(50, 50, 50, 0.1);
+ /* 1 */
+ text-indent: 100%;
+ overflow: hidden;
+ white-space: nowrap;
+ -webkit-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-dotnav > * > :hover,
+.uk-dotnav > * > :focus {
+ background: rgba(50, 50, 50, 0.4);
+ /* 2 */
+ outline: none;
+}
+/* OnClick */
+.uk-dotnav > * > :active {
+ background: rgba(50, 50, 50, 0.6);
+}
+/* Active */
+.uk-dotnav > .uk-active > * {
+ background: rgba(50, 50, 50, 0.4);
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3);
+}
+/* Modifier: `uk-dotnav-contrast`
+ ========================================================================== */
+.uk-dotnav-contrast > * > * {
+ background: rgba(255, 255, 255, 0.4);
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ */
+.uk-dotnav-contrast > * > :hover,
+.uk-dotnav-contrast > * > :focus {
+ background: rgba(255, 255, 255, 0.7);
+}
+/* OnClick */
+.uk-dotnav-contrast > * > :active {
+ background: rgba(255, 255, 255, 0.9);
+}
+/* Active */
+.uk-dotnav-contrast > .uk-active > * {
+ background: rgba(255, 255, 255, 0.9);
+}
+/* Modifier: 'uk-dotnav-vertical'
+ ========================================================================== */
+/*
+ * DEPRECATED
+ */
+.uk-dotnav-vertical {
+ -ms-flex-direction: column;
+ -webkit-flex-direction: column;
+ flex-direction: column;
+}
+/*
+ * DEPRECATED IE9 Support
+ */
+.uk-dotnav-vertical > * {
+ float: none;
+}
diff --git a/uikit/static/css/components/dotnav.almost-flat.min.css b/uikit/static/css/components/dotnav.almost-flat.min.css
new file mode 100644
index 0000000..f1410c4
--- /dev/null
+++ b/uikit/static/css/components/dotnav.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:15px;margin-top:15px}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav:after{clear:both}.uk-dotnav>*{float:left}.uk-dotnav>*>*{display:block;-moz-box-sizing:content-box;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;overflow:hidden;white-space:nowrap;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4);-webkit-transform:scale(1.3);transform:scale(1.3)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active{background:rgba(255,255,255,.9)}.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-dotnav-vertical>*{float:none} \ No newline at end of file
diff --git a/uikit/static/css/components/dotnav.css b/uikit/static/css/components/dotnav.css
new file mode 100644
index 0000000..57a1771
--- /dev/null
+++ b/uikit/static/css/components/dotnav.css
@@ -0,0 +1,125 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Dotnav
+ ========================================================================== */
+/*
+ * 1. Gutter
+ * 2. Remove default list style
+ */
+.uk-dotnav {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /* 1 */
+ margin-left: -15px;
+ margin-top: -15px;
+ /* 2 */
+ padding: 0;
+ list-style: none;
+}
+/*
+ * 1. Space is allocated solely based on content dimensions
+ * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
+ */
+.uk-dotnav > * {
+ /* 1 */
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ /* 2 */
+ padding-left: 15px;
+ margin-top: 15px;
+}
+/*
+ * DEPRECATED IE9 Support
+ */
+.uk-dotnav:before,
+.uk-dotnav:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-dotnav:after {
+ clear: both;
+}
+.uk-dotnav > * {
+ float: left;
+}
+/* Items
+ ========================================================================== */
+/*
+ * Items
+ * 1. Hide text if present
+ */
+.uk-dotnav > * > * {
+ display: block;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ width: 20px;
+ height: 20px;
+ border-radius: 50%;
+ background: rgba(50, 50, 50, 0.1);
+ /* 1 */
+ text-indent: 100%;
+ overflow: hidden;
+ white-space: nowrap;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-dotnav > * > :hover,
+.uk-dotnav > * > :focus {
+ background: rgba(50, 50, 50, 0.4);
+ /* 2 */
+ outline: none;
+}
+/* OnClick */
+.uk-dotnav > * > :active {
+ background: rgba(50, 50, 50, 0.6);
+}
+/* Active */
+.uk-dotnav > .uk-active > * {
+ background: rgba(50, 50, 50, 0.4);
+}
+/* Modifier: `uk-dotnav-contrast`
+ ========================================================================== */
+.uk-dotnav-contrast > * > * {
+ background: rgba(255, 255, 255, 0.4);
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ */
+.uk-dotnav-contrast > * > :hover,
+.uk-dotnav-contrast > * > :focus {
+ background: rgba(255, 255, 255, 0.7);
+}
+/* OnClick */
+.uk-dotnav-contrast > * > :active {
+ background: rgba(255, 255, 255, 0.9);
+}
+/* Active */
+.uk-dotnav-contrast > .uk-active > * {
+ background: rgba(255, 255, 255, 0.9);
+}
+/* Modifier: 'uk-dotnav-vertical'
+ ========================================================================== */
+/*
+ * DEPRECATED
+ */
+.uk-dotnav-vertical {
+ -ms-flex-direction: column;
+ -webkit-flex-direction: column;
+ flex-direction: column;
+}
+/*
+ * DEPRECATED IE9 Support
+ */
+.uk-dotnav-vertical > * {
+ float: none;
+}
diff --git a/uikit/static/css/components/dotnav.gradient.css b/uikit/static/css/components/dotnav.gradient.css
new file mode 100644
index 0000000..78bf049
--- /dev/null
+++ b/uikit/static/css/components/dotnav.gradient.css
@@ -0,0 +1,129 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Dotnav
+ ========================================================================== */
+/*
+ * 1. Gutter
+ * 2. Remove default list style
+ */
+.uk-dotnav {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /* 1 */
+ margin-left: -15px;
+ margin-top: -15px;
+ /* 2 */
+ padding: 0;
+ list-style: none;
+}
+/*
+ * 1. Space is allocated solely based on content dimensions
+ * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
+ */
+.uk-dotnav > * {
+ /* 1 */
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ /* 2 */
+ padding-left: 15px;
+ margin-top: 15px;
+}
+/*
+ * DEPRECATED IE9 Support
+ */
+.uk-dotnav:before,
+.uk-dotnav:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-dotnav:after {
+ clear: both;
+}
+.uk-dotnav > * {
+ float: left;
+}
+/* Items
+ ========================================================================== */
+/*
+ * Items
+ * 1. Hide text if present
+ */
+.uk-dotnav > * > * {
+ display: block;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ width: 20px;
+ height: 20px;
+ border-radius: 50%;
+ background: rgba(50, 50, 50, 0.1);
+ /* 1 */
+ text-indent: 100%;
+ overflow: hidden;
+ white-space: nowrap;
+ -webkit-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-dotnav > * > :hover,
+.uk-dotnav > * > :focus {
+ background: rgba(50, 50, 50, 0.4);
+ /* 2 */
+ outline: none;
+}
+/* OnClick */
+.uk-dotnav > * > :active {
+ background: rgba(50, 50, 50, 0.6);
+}
+/* Active */
+.uk-dotnav > .uk-active > * {
+ background: rgba(50, 50, 50, 0.4);
+ -webkit-transform: scale(1.3);
+ transform: scale(1.3);
+}
+/* Modifier: `uk-dotnav-contrast`
+ ========================================================================== */
+.uk-dotnav-contrast > * > * {
+ background: rgba(255, 255, 255, 0.4);
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ */
+.uk-dotnav-contrast > * > :hover,
+.uk-dotnav-contrast > * > :focus {
+ background: rgba(255, 255, 255, 0.7);
+}
+/* OnClick */
+.uk-dotnav-contrast > * > :active {
+ background: rgba(255, 255, 255, 0.9);
+}
+/* Active */
+.uk-dotnav-contrast > .uk-active > * {
+ background: rgba(255, 255, 255, 0.9);
+}
+/* Modifier: 'uk-dotnav-vertical'
+ ========================================================================== */
+/*
+ * DEPRECATED
+ */
+.uk-dotnav-vertical {
+ -ms-flex-direction: column;
+ -webkit-flex-direction: column;
+ flex-direction: column;
+}
+/*
+ * DEPRECATED IE9 Support
+ */
+.uk-dotnav-vertical > * {
+ float: none;
+}
diff --git a/uikit/static/css/components/dotnav.gradient.min.css b/uikit/static/css/components/dotnav.gradient.min.css
new file mode 100644
index 0000000..f1410c4
--- /dev/null
+++ b/uikit/static/css/components/dotnav.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:15px;margin-top:15px}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav:after{clear:both}.uk-dotnav>*{float:left}.uk-dotnav>*>*{display:block;-moz-box-sizing:content-box;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;overflow:hidden;white-space:nowrap;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4);-webkit-transform:scale(1.3);transform:scale(1.3)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active{background:rgba(255,255,255,.9)}.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-dotnav-vertical>*{float:none} \ No newline at end of file
diff --git a/uikit/static/css/components/dotnav.min.css b/uikit/static/css/components/dotnav.min.css
new file mode 100644
index 0000000..8db104c
--- /dev/null
+++ b/uikit/static/css/components/dotnav.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:15px;margin-top:15px}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav:after{clear:both}.uk-dotnav>*{float:left}.uk-dotnav>*>*{display:block;-moz-box-sizing:content-box;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;overflow:hidden;white-space:nowrap}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active{background:rgba(255,255,255,.9)}.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-dotnav-vertical>*{float:none} \ No newline at end of file
diff --git a/uikit/static/css/components/form-advanced.almost-flat.css b/uikit/static/css/components/form-advanced.almost-flat.css
new file mode 100644
index 0000000..4c80760
--- /dev/null
+++ b/uikit/static/css/components/form-advanced.almost-flat.css
@@ -0,0 +1,78 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form advanced
+ Note: Only works in Webkit at the moment
+ ========================================================================== */
+/*
+ * 1. Style
+ * 2. Makes box more robust so it clips the child element
+ * 3. Vertical alignment
+ * 4. Remove default style
+ * 5. Fix black background on iOS
+ */
+.uk-form input[type="radio"],
+.uk-form input[type="checkbox"] {
+ /* 1 */
+ display: inline-block;
+ height: 14px;
+ width: 14px;
+ border: 1px solid #aaaaaa;
+ /* 2 */
+ overflow: hidden;
+ /* 3 */
+ margin-top: -4px;
+ vertical-align: middle;
+ /* 4 */
+ -webkit-appearance: none;
+ outline: 0;
+ /* 5 */
+ background: transparent;
+}
+/* Radio */
+.uk-form input[type="radio"] {
+ border-radius: 50%;
+}
+/*
+ * Checked
+ */
+.uk-form input[type=radio]:before,
+.uk-form input[type=checkbox]:before {
+ display: block;
+}
+/* Radio */
+.uk-form input[type=radio]:checked:before {
+ content: '';
+ width: 8px;
+ height: 8px;
+ margin: 2px auto 0;
+ border-radius: 50%;
+ background: #00a8e6;
+}
+/* Checkbox */
+.uk-form input[type=checkbox]:checked:before,
+.uk-form input[type=checkbox]:indeterminate: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=checkbox]:indeterminate:before {
+ content: "\f068";
+}
+/*
+ * Disabled
+ */
+.uk-form input[type=radio]:disabled,
+.uk-form input[type=checkbox]:disabled {
+ border-color: #dddddd;
+}
+.uk-form input[type=radio]:disabled:checked:before {
+ background-color: #aaaaaa;
+}
+.uk-form input[type=checkbox]:disabled:checked:before,
+.uk-form input[type=checkbox]:disabled:indeterminate:before {
+ color: #aaaaaa;
+}
diff --git a/uikit/static/css/components/form-advanced.almost-flat.min.css b/uikit/static/css/components/form-advanced.almost-flat.min.css
new file mode 100644
index 0000000..03d82f0
--- /dev/null
+++ b/uikit/static/css/components/form-advanced.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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]:before,.uk-form input[type=radio]:before{display:block}.uk-form input[type=radio]:checked:before{content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before,.uk-form input[type=checkbox]:indeterminate: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=checkbox]:indeterminate:before{content:"\f068"}.uk-form input[type=checkbox]:disabled,.uk-form input[type=radio]:disabled{border-color:#ddd}.uk-form input[type=radio]:disabled:checked:before{background-color:#aaa}.uk-form input[type=checkbox]:disabled:checked:before,.uk-form input[type=checkbox]:disabled:indeterminate:before{color:#aaa} \ No newline at end of file
diff --git a/uikit/static/css/components/form-advanced.css b/uikit/static/css/components/form-advanced.css
new file mode 100644
index 0000000..4c80760
--- /dev/null
+++ b/uikit/static/css/components/form-advanced.css
@@ -0,0 +1,78 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form advanced
+ Note: Only works in Webkit at the moment
+ ========================================================================== */
+/*
+ * 1. Style
+ * 2. Makes box more robust so it clips the child element
+ * 3. Vertical alignment
+ * 4. Remove default style
+ * 5. Fix black background on iOS
+ */
+.uk-form input[type="radio"],
+.uk-form input[type="checkbox"] {
+ /* 1 */
+ display: inline-block;
+ height: 14px;
+ width: 14px;
+ border: 1px solid #aaaaaa;
+ /* 2 */
+ overflow: hidden;
+ /* 3 */
+ margin-top: -4px;
+ vertical-align: middle;
+ /* 4 */
+ -webkit-appearance: none;
+ outline: 0;
+ /* 5 */
+ background: transparent;
+}
+/* Radio */
+.uk-form input[type="radio"] {
+ border-radius: 50%;
+}
+/*
+ * Checked
+ */
+.uk-form input[type=radio]:before,
+.uk-form input[type=checkbox]:before {
+ display: block;
+}
+/* Radio */
+.uk-form input[type=radio]:checked:before {
+ content: '';
+ width: 8px;
+ height: 8px;
+ margin: 2px auto 0;
+ border-radius: 50%;
+ background: #00a8e6;
+}
+/* Checkbox */
+.uk-form input[type=checkbox]:checked:before,
+.uk-form input[type=checkbox]:indeterminate: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=checkbox]:indeterminate:before {
+ content: "\f068";
+}
+/*
+ * Disabled
+ */
+.uk-form input[type=radio]:disabled,
+.uk-form input[type=checkbox]:disabled {
+ border-color: #dddddd;
+}
+.uk-form input[type=radio]:disabled:checked:before {
+ background-color: #aaaaaa;
+}
+.uk-form input[type=checkbox]:disabled:checked:before,
+.uk-form input[type=checkbox]:disabled:indeterminate:before {
+ color: #aaaaaa;
+}
diff --git a/uikit/static/css/components/form-advanced.gradient.css b/uikit/static/css/components/form-advanced.gradient.css
new file mode 100644
index 0000000..4c80760
--- /dev/null
+++ b/uikit/static/css/components/form-advanced.gradient.css
@@ -0,0 +1,78 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form advanced
+ Note: Only works in Webkit at the moment
+ ========================================================================== */
+/*
+ * 1. Style
+ * 2. Makes box more robust so it clips the child element
+ * 3. Vertical alignment
+ * 4. Remove default style
+ * 5. Fix black background on iOS
+ */
+.uk-form input[type="radio"],
+.uk-form input[type="checkbox"] {
+ /* 1 */
+ display: inline-block;
+ height: 14px;
+ width: 14px;
+ border: 1px solid #aaaaaa;
+ /* 2 */
+ overflow: hidden;
+ /* 3 */
+ margin-top: -4px;
+ vertical-align: middle;
+ /* 4 */
+ -webkit-appearance: none;
+ outline: 0;
+ /* 5 */
+ background: transparent;
+}
+/* Radio */
+.uk-form input[type="radio"] {
+ border-radius: 50%;
+}
+/*
+ * Checked
+ */
+.uk-form input[type=radio]:before,
+.uk-form input[type=checkbox]:before {
+ display: block;
+}
+/* Radio */
+.uk-form input[type=radio]:checked:before {
+ content: '';
+ width: 8px;
+ height: 8px;
+ margin: 2px auto 0;
+ border-radius: 50%;
+ background: #00a8e6;
+}
+/* Checkbox */
+.uk-form input[type=checkbox]:checked:before,
+.uk-form input[type=checkbox]:indeterminate: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=checkbox]:indeterminate:before {
+ content: "\f068";
+}
+/*
+ * Disabled
+ */
+.uk-form input[type=radio]:disabled,
+.uk-form input[type=checkbox]:disabled {
+ border-color: #dddddd;
+}
+.uk-form input[type=radio]:disabled:checked:before {
+ background-color: #aaaaaa;
+}
+.uk-form input[type=checkbox]:disabled:checked:before,
+.uk-form input[type=checkbox]:disabled:indeterminate:before {
+ color: #aaaaaa;
+}
diff --git a/uikit/static/css/components/form-advanced.gradient.min.css b/uikit/static/css/components/form-advanced.gradient.min.css
new file mode 100644
index 0000000..03d82f0
--- /dev/null
+++ b/uikit/static/css/components/form-advanced.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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]:before,.uk-form input[type=radio]:before{display:block}.uk-form input[type=radio]:checked:before{content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before,.uk-form input[type=checkbox]:indeterminate: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=checkbox]:indeterminate:before{content:"\f068"}.uk-form input[type=checkbox]:disabled,.uk-form input[type=radio]:disabled{border-color:#ddd}.uk-form input[type=radio]:disabled:checked:before{background-color:#aaa}.uk-form input[type=checkbox]:disabled:checked:before,.uk-form input[type=checkbox]:disabled:indeterminate:before{color:#aaa} \ No newline at end of file
diff --git a/uikit/static/css/components/form-advanced.min.css b/uikit/static/css/components/form-advanced.min.css
new file mode 100644
index 0000000..03d82f0
--- /dev/null
+++ b/uikit/static/css/components/form-advanced.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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]:before,.uk-form input[type=radio]:before{display:block}.uk-form input[type=radio]:checked:before{content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before,.uk-form input[type=checkbox]:indeterminate: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=checkbox]:indeterminate:before{content:"\f068"}.uk-form input[type=checkbox]:disabled,.uk-form input[type=radio]:disabled{border-color:#ddd}.uk-form input[type=radio]:disabled:checked:before{background-color:#aaa}.uk-form input[type=checkbox]:disabled:checked:before,.uk-form input[type=checkbox]:disabled:indeterminate:before{color:#aaa} \ No newline at end of file
diff --git a/uikit/static/css/components/form-file.almost-flat.css b/uikit/static/css/components/form-file.almost-flat.css
new file mode 100644
index 0000000..70fe2c4
--- /dev/null
+++ b/uikit/static/css/components/form-file.almost-flat.css
@@ -0,0 +1,34 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form file
+ ========================================================================== */
+/*
+ * 1. Behave like form elements
+ * 2. Create position context for dropdowns
+ * 3. Clip content
+ */
+.uk-form-file {
+ /* 1 */
+ display: inline-block;
+ vertical-align: middle;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ overflow: hidden;
+}
+/*
+ * 1. Required for Firefox
+ * 2. Expand height and required for the cursor
+ */
+.uk-form-file input[type="file"] {
+ position: absolute;
+ top: 0;
+ z-index: 1;
+ width: 100%;
+ opacity: 0;
+ cursor: pointer;
+ /* 1 */
+ left: 0;
+ /* 2 */
+ font-size: 500px;
+}
diff --git a/uikit/static/css/components/form-file.almost-flat.min.css b/uikit/static/css/components/form-file.almost-flat.min.css
new file mode 100644
index 0000000..3da0ea6
--- /dev/null
+++ b/uikit/static/css/components/form-file.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/form-file.css b/uikit/static/css/components/form-file.css
new file mode 100644
index 0000000..70fe2c4
--- /dev/null
+++ b/uikit/static/css/components/form-file.css
@@ -0,0 +1,34 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form file
+ ========================================================================== */
+/*
+ * 1. Behave like form elements
+ * 2. Create position context for dropdowns
+ * 3. Clip content
+ */
+.uk-form-file {
+ /* 1 */
+ display: inline-block;
+ vertical-align: middle;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ overflow: hidden;
+}
+/*
+ * 1. Required for Firefox
+ * 2. Expand height and required for the cursor
+ */
+.uk-form-file input[type="file"] {
+ position: absolute;
+ top: 0;
+ z-index: 1;
+ width: 100%;
+ opacity: 0;
+ cursor: pointer;
+ /* 1 */
+ left: 0;
+ /* 2 */
+ font-size: 500px;
+}
diff --git a/uikit/static/css/components/form-file.gradient.css b/uikit/static/css/components/form-file.gradient.css
new file mode 100644
index 0000000..70fe2c4
--- /dev/null
+++ b/uikit/static/css/components/form-file.gradient.css
@@ -0,0 +1,34 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form file
+ ========================================================================== */
+/*
+ * 1. Behave like form elements
+ * 2. Create position context for dropdowns
+ * 3. Clip content
+ */
+.uk-form-file {
+ /* 1 */
+ display: inline-block;
+ vertical-align: middle;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ overflow: hidden;
+}
+/*
+ * 1. Required for Firefox
+ * 2. Expand height and required for the cursor
+ */
+.uk-form-file input[type="file"] {
+ position: absolute;
+ top: 0;
+ z-index: 1;
+ width: 100%;
+ opacity: 0;
+ cursor: pointer;
+ /* 1 */
+ left: 0;
+ /* 2 */
+ font-size: 500px;
+}
diff --git a/uikit/static/css/components/form-file.gradient.min.css b/uikit/static/css/components/form-file.gradient.min.css
new file mode 100644
index 0000000..3da0ea6
--- /dev/null
+++ b/uikit/static/css/components/form-file.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/form-file.min.css b/uikit/static/css/components/form-file.min.css
new file mode 100644
index 0000000..3da0ea6
--- /dev/null
+++ b/uikit/static/css/components/form-file.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/form-password.almost-flat.css b/uikit/static/css/components/form-password.almost-flat.css
new file mode 100644
index 0000000..b328f60
--- /dev/null
+++ b/uikit/static/css/components/form-password.almost-flat.css
@@ -0,0 +1,34 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form password
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Create position context
+ * 3. Prevent `inline-block` consequences
+ */
+.uk-form-password {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ 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: #999999;
+}
+.uk-form-password-toggle:hover {
+ color: #999999;
+ text-decoration: none;
+}
+.uk-form-password > input {
+ padding-right: 50px !important;
+}
diff --git a/uikit/static/css/components/form-password.almost-flat.min.css b/uikit/static/css/components/form-password.almost-flat.min.css
new file mode 100644
index 0000000..1f55b7c
--- /dev/null
+++ b/uikit/static/css/components/form-password.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/form-password.css b/uikit/static/css/components/form-password.css
new file mode 100644
index 0000000..b328f60
--- /dev/null
+++ b/uikit/static/css/components/form-password.css
@@ -0,0 +1,34 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form password
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Create position context
+ * 3. Prevent `inline-block` consequences
+ */
+.uk-form-password {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ 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: #999999;
+}
+.uk-form-password-toggle:hover {
+ color: #999999;
+ text-decoration: none;
+}
+.uk-form-password > input {
+ padding-right: 50px !important;
+}
diff --git a/uikit/static/css/components/form-password.gradient.css b/uikit/static/css/components/form-password.gradient.css
new file mode 100644
index 0000000..b328f60
--- /dev/null
+++ b/uikit/static/css/components/form-password.gradient.css
@@ -0,0 +1,34 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form password
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Create position context
+ * 3. Prevent `inline-block` consequences
+ */
+.uk-form-password {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ 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: #999999;
+}
+.uk-form-password-toggle:hover {
+ color: #999999;
+ text-decoration: none;
+}
+.uk-form-password > input {
+ padding-right: 50px !important;
+}
diff --git a/uikit/static/css/components/form-password.gradient.min.css b/uikit/static/css/components/form-password.gradient.min.css
new file mode 100644
index 0000000..1f55b7c
--- /dev/null
+++ b/uikit/static/css/components/form-password.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/form-password.min.css b/uikit/static/css/components/form-password.min.css
new file mode 100644
index 0000000..1f55b7c
--- /dev/null
+++ b/uikit/static/css/components/form-password.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/form-select.almost-flat.css b/uikit/static/css/components/form-select.almost-flat.css
new file mode 100644
index 0000000..1783909
--- /dev/null
+++ b/uikit/static/css/components/form-select.almost-flat.css
@@ -0,0 +1,35 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form select
+ ========================================================================== */
+/*
+ * 1. Behave like form elements
+ * 2. Create position context for dropdowns
+ * 3. Clip content
+ */
+.uk-form-select {
+ /* 1 */
+ display: inline-block;
+ vertical-align: middle;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ overflow: hidden;
+}
+/*
+ * 1. Required for Firefox
+ * 1. Required for Webkit to make `height` work
+ */
+.uk-form-select select {
+ position: absolute;
+ top: 0;
+ z-index: 1;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ cursor: pointer;
+ /* 1 */
+ left: 0;
+ /* 2 */
+ -webkit-appearance: none;
+}
diff --git a/uikit/static/css/components/form-select.almost-flat.min.css b/uikit/static/css/components/form-select.almost-flat.min.css
new file mode 100644
index 0000000..5a38b0f
--- /dev/null
+++ b/uikit/static/css/components/form-select.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/form-select.css b/uikit/static/css/components/form-select.css
new file mode 100644
index 0000000..1783909
--- /dev/null
+++ b/uikit/static/css/components/form-select.css
@@ -0,0 +1,35 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form select
+ ========================================================================== */
+/*
+ * 1. Behave like form elements
+ * 2. Create position context for dropdowns
+ * 3. Clip content
+ */
+.uk-form-select {
+ /* 1 */
+ display: inline-block;
+ vertical-align: middle;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ overflow: hidden;
+}
+/*
+ * 1. Required for Firefox
+ * 1. Required for Webkit to make `height` work
+ */
+.uk-form-select select {
+ position: absolute;
+ top: 0;
+ z-index: 1;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ cursor: pointer;
+ /* 1 */
+ left: 0;
+ /* 2 */
+ -webkit-appearance: none;
+}
diff --git a/uikit/static/css/components/form-select.gradient.css b/uikit/static/css/components/form-select.gradient.css
new file mode 100644
index 0000000..1783909
--- /dev/null
+++ b/uikit/static/css/components/form-select.gradient.css
@@ -0,0 +1,35 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Form select
+ ========================================================================== */
+/*
+ * 1. Behave like form elements
+ * 2. Create position context for dropdowns
+ * 3. Clip content
+ */
+.uk-form-select {
+ /* 1 */
+ display: inline-block;
+ vertical-align: middle;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ overflow: hidden;
+}
+/*
+ * 1. Required for Firefox
+ * 1. Required for Webkit to make `height` work
+ */
+.uk-form-select select {
+ position: absolute;
+ top: 0;
+ z-index: 1;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ cursor: pointer;
+ /* 1 */
+ left: 0;
+ /* 2 */
+ -webkit-appearance: none;
+}
diff --git a/uikit/static/css/components/form-select.gradient.min.css b/uikit/static/css/components/form-select.gradient.min.css
new file mode 100644
index 0000000..5a38b0f
--- /dev/null
+++ b/uikit/static/css/components/form-select.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/form-select.min.css b/uikit/static/css/components/form-select.min.css
new file mode 100644
index 0000000..5a38b0f
--- /dev/null
+++ b/uikit/static/css/components/form-select.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/htmleditor.almost-flat.css b/uikit/static/css/components/htmleditor.almost-flat.css
new file mode 100644
index 0000000..c24af88
--- /dev/null
+++ b/uikit/static/css/components/htmleditor.almost-flat.css
@@ -0,0 +1,225 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: HTML editor
+ ========================================================================== */
+/* Sub-object `uk-htmleditor-navbar`
+ ========================================================================== */
+.uk-htmleditor-navbar {
+ background: #f5f5f5;
+ border: 1px solid rgba(0, 0, 0, 0.06);
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+}
+/*
+ * Micro clearfix
+ */
+.uk-htmleditor-navbar:before,
+.uk-htmleditor-navbar:after {
+ content: "";
+ display: table;
+}
+.uk-htmleditor-navbar:after {
+ clear: both;
+}
+/* Sub-object `uk-htmleditor-navbar-nav`
+ ========================================================================== */
+.uk-htmleditor-navbar-nav {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ float: left;
+}
+.uk-htmleditor-navbar-nav > li {
+ float: left;
+}
+/*
+ * 1. Dimensions
+ * 2. Style
+ */
+.uk-htmleditor-navbar-nav > li > a {
+ display: block;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ text-decoration: none;
+ /* 1 */
+ height: 41px;
+ padding: 0 15px;
+ line-height: 40px;
+ /* 2 */
+ color: #444444;
+ font-size: 11px;
+ cursor: pointer;
+ margin-top: -1px;
+ margin-left: -1px;
+ border: 1px solid transparent;
+ border-bottom-width: 0;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-htmleditor-navbar-nav > li:hover > a,
+.uk-htmleditor-navbar-nav > li > a:focus {
+ background-color: #fafafa;
+ color: #444444;
+ outline: none;
+ /* 2 */
+ position: relative;
+ z-index: 1;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.1);
+}
+/* OnClick */
+.uk-htmleditor-navbar-nav > li > a:active {
+ background-color: #eeeeee;
+ color: #444444;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.2);
+}
+/* Active */
+.uk-htmleditor-navbar-nav > li.uk-active > a {
+ background-color: #fafafa;
+ color: #444444;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.1);
+}
+/* Sub-object: `uk-htmleditor-navbar-flip`
+ ========================================================================== */
+.uk-htmleditor-navbar-flip {
+ float: right;
+}
+/* Sub-object for special buttons
+ ========================================================================== */
+[data-mode='split'] .uk-htmleditor-button-code,
+[data-mode='split'] .uk-htmleditor-button-preview {
+ display: none;
+}
+/* Sub-object `uk-htmleditor-content`
+ ========================================================================== */
+.uk-htmleditor-content {
+ border-left: 1px solid #dddddd;
+ border-right: 1px solid #dddddd;
+ border-bottom: 1px solid #dddddd;
+ background: #ffffff;
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+}
+/*
+ * Micro clearfix
+ */
+.uk-htmleditor-content:before,
+.uk-htmleditor-content:after {
+ content: "";
+ display: table;
+}
+.uk-htmleditor-content:after {
+ clear: both;
+}
+/* Modifier `uk-htmleditor-fullscreen`
+ ========================================================================== */
+.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: 41px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
+.uk-htmleditor-fullscreen .uk-icon-expand:before {
+ content: "\f066";
+}
+/* Sub-objects `uk-htmleditor-code` and `uk-htmleditor-preview`
+ ========================================================================== */
+.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;
+}
+/*
+ * Tab view
+ */
+[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview,
+[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code {
+ display: none;
+}
+/*
+ * Split view
+ */
+[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 #eeeeee;
+}
+/* Sub-object `uk-htmleditor-iframe`
+ ========================================================================== */
+.uk-htmleditor-iframe {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+/* CodeMirror modifications
+ ========================================================================== */
+.uk-htmleditor .CodeMirror {
+ padding: 10px;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*
+ * Apply same `border-radius` as `uk-htmleditor-navbar`
+ */
+.uk-htmleditor-navbar-nav:first-child > li:first-child > a {
+ border-top-left-radius: 4px;
+}
+/*
+ * Sub-modifier `uk-htmleditor-navbar-flip`
+ */
+/* Collapse border */
+.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav > li > a {
+ margin-left: 0;
+ margin-right: -1px;
+}
+/* Apply same `border-radius` as `uk-htmleditor-navbar` */
+.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child > li:first-child > a {
+ border-top-left-radius: 0;
+}
+.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child > li:last-child > a {
+ border-top-right-radius: 4px;
+}
+/*
+ * Sub-modifier `uk-htmleditor-fullscreen`
+ */
+.uk-htmleditor-fullscreen .uk-htmleditor-navbar {
+ border-top: none;
+ border-left: none;
+ border-right: none;
+ border-radius: 0;
+}
+.uk-htmleditor-fullscreen .uk-htmleditor-content {
+ border: none;
+ border-radius: 0;
+}
+.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav > li > a {
+ border-radius: 0 !important;
+}
diff --git a/uikit/static/css/components/htmleditor.almost-flat.min.css b/uikit/static/css/components/htmleditor.almost-flat.min.css
new file mode 100644
index 0000000..e50023d
--- /dev/null
+++ b/uikit/static/css/components/htmleditor.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-htmleditor-navbar{background:#f5f5f5;border:1px solid rgba(0,0,0,.06);border-top-left-radius:4px;border-top-right-radius:4px}.uk-htmleditor-navbar:after,.uk-htmleditor-navbar:before{content:"";display:table}.uk-htmleditor-navbar:after{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:41px;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer;margin-top:-1px;margin-left:-1px;border:1px solid transparent;border-bottom-width:0;text-shadow:0 1px 0 #fff}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#fafafa;color:#444;outline:0;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)}.uk-htmleditor-navbar-nav>li>a:active{background-color:#eee;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)}.uk-htmleditor-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,.1)}.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;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.uk-htmleditor-content:after,.uk-htmleditor-content:before{content:"";display:table}.uk-htmleditor-content:after{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:41px;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-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-top:none;border-left:none;border-right:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-content{border:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav>li>a{border-radius:0!important} \ No newline at end of file
diff --git a/uikit/static/css/components/htmleditor.css b/uikit/static/css/components/htmleditor.css
new file mode 100644
index 0000000..3861baa
--- /dev/null
+++ b/uikit/static/css/components/htmleditor.css
@@ -0,0 +1,167 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: HTML editor
+ ========================================================================== */
+/* Sub-object `uk-htmleditor-navbar`
+ ========================================================================== */
+.uk-htmleditor-navbar {
+ background: #eeeeee;
+}
+/*
+ * Micro clearfix
+ */
+.uk-htmleditor-navbar:before,
+.uk-htmleditor-navbar:after {
+ content: "";
+ display: table;
+}
+.uk-htmleditor-navbar:after {
+ clear: both;
+}
+/* Sub-object `uk-htmleditor-navbar-nav`
+ ========================================================================== */
+.uk-htmleditor-navbar-nav {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ float: left;
+}
+.uk-htmleditor-navbar-nav > li {
+ float: left;
+}
+/*
+ * 1. Dimensions
+ * 2. Style
+ */
+.uk-htmleditor-navbar-nav > li > a {
+ display: block;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ text-decoration: none;
+ /* 1 */
+ height: 40px;
+ padding: 0 15px;
+ line-height: 40px;
+ /* 2 */
+ color: #444444;
+ font-size: 11px;
+ cursor: pointer;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-htmleditor-navbar-nav > li:hover > a,
+.uk-htmleditor-navbar-nav > li > a:focus {
+ background-color: #f5f5f5;
+ color: #444444;
+ outline: none;
+ /* 2 */
+}
+/* OnClick */
+.uk-htmleditor-navbar-nav > li > a:active {
+ background-color: #dddddd;
+ color: #444444;
+}
+/* Active */
+.uk-htmleditor-navbar-nav > li.uk-active > a {
+ background-color: #f5f5f5;
+ color: #444444;
+}
+/* Sub-object: `uk-htmleditor-navbar-flip`
+ ========================================================================== */
+.uk-htmleditor-navbar-flip {
+ float: right;
+}
+/* Sub-object for special buttons
+ ========================================================================== */
+[data-mode='split'] .uk-htmleditor-button-code,
+[data-mode='split'] .uk-htmleditor-button-preview {
+ display: none;
+}
+/* Sub-object `uk-htmleditor-content`
+ ========================================================================== */
+.uk-htmleditor-content {
+ border-left: 1px solid #dddddd;
+ border-right: 1px solid #dddddd;
+ border-bottom: 1px solid #dddddd;
+ background: #ffffff;
+}
+/*
+ * Micro clearfix
+ */
+.uk-htmleditor-content:before,
+.uk-htmleditor-content:after {
+ content: "";
+ display: table;
+}
+.uk-htmleditor-content:after {
+ clear: both;
+}
+/* Modifier `uk-htmleditor-fullscreen`
+ ========================================================================== */
+.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";
+}
+/* Sub-objects `uk-htmleditor-code` and `uk-htmleditor-preview`
+ ========================================================================== */
+.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;
+}
+/*
+ * Tab view
+ */
+[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview,
+[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code {
+ display: none;
+}
+/*
+ * Split view
+ */
+[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 #eeeeee;
+}
+/* Sub-object `uk-htmleditor-iframe`
+ ========================================================================== */
+.uk-htmleditor-iframe {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+/* CodeMirror modifications
+ ========================================================================== */
+.uk-htmleditor .CodeMirror {
+ padding: 10px;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
diff --git a/uikit/static/css/components/htmleditor.gradient.css b/uikit/static/css/components/htmleditor.gradient.css
new file mode 100644
index 0000000..9c9624e
--- /dev/null
+++ b/uikit/static/css/components/htmleditor.gradient.css
@@ -0,0 +1,232 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: HTML editor
+ ========================================================================== */
+/* Sub-object `uk-htmleditor-navbar`
+ ========================================================================== */
+.uk-htmleditor-navbar {
+ background: #f7f7f7;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ border-bottom-color: rgba(0, 0, 0, 0.2);
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ background-origin: border-box;
+ background-image: -webkit-linear-gradient(top, #ffffff, #eeeeee);
+ background-image: linear-gradient(to bottom, #ffffff, #eeeeee);
+}
+/*
+ * Micro clearfix
+ */
+.uk-htmleditor-navbar:before,
+.uk-htmleditor-navbar:after {
+ content: "";
+ display: table;
+}
+.uk-htmleditor-navbar:after {
+ clear: both;
+}
+/* Sub-object `uk-htmleditor-navbar-nav`
+ ========================================================================== */
+.uk-htmleditor-navbar-nav {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ float: left;
+}
+.uk-htmleditor-navbar-nav > li {
+ float: left;
+}
+/*
+ * 1. Dimensions
+ * 2. Style
+ */
+.uk-htmleditor-navbar-nav > li > a {
+ display: block;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ text-decoration: none;
+ /* 1 */
+ height: 41px;
+ padding: 0 15px;
+ line-height: 40px;
+ /* 2 */
+ color: #444444;
+ font-size: 11px;
+ cursor: pointer;
+ margin-top: -1px;
+ margin-left: -1px;
+ border: 1px solid transparent;
+ border-bottom-width: 0;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-htmleditor-navbar-nav > li:hover > a,
+.uk-htmleditor-navbar-nav > li > a:focus {
+ background-color: transparent;
+ color: #444444;
+ outline: none;
+ /* 2 */
+ position: relative;
+ z-index: 1;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
+}
+/* OnClick */
+.uk-htmleditor-navbar-nav > li > a:active {
+ background-color: #f5f5f5;
+ color: #444444;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
+}
+/* Active */
+.uk-htmleditor-navbar-nav > li.uk-active > a {
+ background-color: #fafafa;
+ color: #444444;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
+}
+/* Sub-object: `uk-htmleditor-navbar-flip`
+ ========================================================================== */
+.uk-htmleditor-navbar-flip {
+ float: right;
+}
+/* Sub-object for special buttons
+ ========================================================================== */
+[data-mode='split'] .uk-htmleditor-button-code,
+[data-mode='split'] .uk-htmleditor-button-preview {
+ display: none;
+}
+/* Sub-object `uk-htmleditor-content`
+ ========================================================================== */
+.uk-htmleditor-content {
+ border-left: 1px solid #dddddd;
+ border-right: 1px solid #dddddd;
+ border-bottom: 1px solid #dddddd;
+ background: #ffffff;
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+}
+/*
+ * Micro clearfix
+ */
+.uk-htmleditor-content:before,
+.uk-htmleditor-content:after {
+ content: "";
+ display: table;
+}
+.uk-htmleditor-content:after {
+ clear: both;
+}
+/* Modifier `uk-htmleditor-fullscreen`
+ ========================================================================== */
+.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: 41px;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
+.uk-htmleditor-fullscreen .uk-icon-expand:before {
+ content: "\f066";
+}
+/* Sub-objects `uk-htmleditor-code` and `uk-htmleditor-preview`
+ ========================================================================== */
+.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;
+}
+/*
+ * Tab view
+ */
+[data-mode='tab'][data-active-tab='code'] .uk-htmleditor-preview,
+[data-mode='tab'][data-active-tab='preview'] .uk-htmleditor-code {
+ display: none;
+}
+/*
+ * Split view
+ */
+[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 #eeeeee;
+}
+/* Sub-object `uk-htmleditor-iframe`
+ ========================================================================== */
+.uk-htmleditor-iframe {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+/* CodeMirror modifications
+ ========================================================================== */
+.uk-htmleditor .CodeMirror {
+ padding: 10px;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*
+ * Apply same `border-radius` as `uk-htmleditor-navbar`
+ */
+.uk-htmleditor-navbar-nav:first-child > li:first-child > a {
+ border-top-left-radius: 4px;
+}
+/*
+ * Sub-modifier `uk-htmleditor-navbar-flip`
+ */
+/* Collapse border */
+.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav > li > a {
+ margin-left: 0;
+ margin-right: -1px;
+}
+/* Apply same `border-radius` as `uk-htmleditor-navbar` */
+.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child > li:first-child > a {
+ border-top-left-radius: 0;
+}
+.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child > li:last-child > a {
+ border-top-right-radius: 4px;
+}
+/*
+ * Sub-modifier `uk-htmleditor-fullscreen`
+ */
+.uk-htmleditor-fullscreen .uk-htmleditor-navbar {
+ border-top: none;
+ border-left: none;
+ border-right: none;
+ border-radius: 0;
+}
+.uk-htmleditor-fullscreen .uk-htmleditor-content {
+ border: none;
+ border-radius: 0;
+}
+.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav > li > a {
+ border-radius: 0 !important;
+}
diff --git a/uikit/static/css/components/htmleditor.gradient.min.css b/uikit/static/css/components/htmleditor.gradient.min.css
new file mode 100644
index 0000000..f717802
--- /dev/null
+++ b/uikit/static/css/components/htmleditor.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-htmleditor-navbar{background:#f7f7f7;border:1px solid rgba(0,0,0,.1);border-bottom-color:rgba(0,0,0,.2);border-top-left-radius:4px;border-top-right-radius:4px;background-origin:border-box;background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(to bottom,#fff,#eee)}.uk-htmleditor-navbar:after,.uk-htmleditor-navbar:before{content:"";display:table}.uk-htmleditor-navbar:after{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:41px;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer;margin-top:-1px;margin-left:-1px;border:1px solid transparent;border-bottom-width:0;text-shadow:0 1px 0 #fff}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:transparent;color:#444;outline:0;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-htmleditor-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-htmleditor-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-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;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.uk-htmleditor-content:after,.uk-htmleditor-content:before{content:"";display:table}.uk-htmleditor-content:after{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:41px;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-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-top:none;border-left:none;border-right:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-content{border:none;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav>li>a{border-radius:0!important} \ No newline at end of file
diff --git a/uikit/static/css/components/htmleditor.min.css b/uikit/static/css/components/htmleditor.min.css
new file mode 100644
index 0000000..074b3d4
--- /dev/null
+++ b/uikit/static/css/components/htmleditor.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-htmleditor-navbar{background:#eee}.uk-htmleditor-navbar:after,.uk-htmleditor-navbar:before{content:"";display:table}.uk-htmleditor-navbar:after{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:0}.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:after,.uk-htmleditor-content:before{content:"";display:table}.uk-htmleditor-content:after{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} \ No newline at end of file
diff --git a/uikit/static/css/components/nestable.almost-flat.css b/uikit/static/css/components/nestable.almost-flat.css
new file mode 100644
index 0000000..4d6f3d4
--- /dev/null
+++ b/uikit/static/css/components/nestable.almost-flat.css
@@ -0,0 +1,135 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Nestable
+ ========================================================================== */
+.uk-nestable {
+ padding: 0;
+ list-style: none;
+}
+/*
+ * Disables the default callout shown when you touch and hold a touch target
+ * Currently only works in Webkit
+ */
+.uk-nestable a,
+.uk-nestable img {
+ -webkit-touch-callout: none;
+}
+/* Sub-object `uk-nestable-list`
+ ========================================================================== */
+.uk-nestable-list {
+ margin: 0;
+ padding-left: 40px;
+ list-style: none;
+}
+/* Sub-modifier `uk-nestable-item`
+ ========================================================================== */
+/*
+ * 1. Deactivate browser touch actions in IE11
+ */
+.uk-nestable-item {
+ /* 1 */
+ touch-action: none;
+}
+.uk-nestable-item + .uk-nestable-item {
+ margin-top: 10px;
+}
+.uk-nestable-list:not(.uk-nestable-dragged) > .uk-nestable-item:first-child {
+ margin-top: 10px;
+}
+/* Sub-modifier `uk-nestable-dragged`
+ ========================================================================== */
+/*
+ * 1. Reset style
+ */
+.uk-nestable-dragged {
+ position: absolute;
+ z-index: 1050;
+ pointer-events: none;
+ /* 1 */
+ padding-left: 0;
+}
+/* Sub-modifier `uk-nestable-placeholder`
+ ========================================================================== */
+.uk-nestable-placeholder {
+ position: relative;
+}
+.uk-nestable-placeholder > * {
+ opacity: 0;
+}
+.uk-nestable-placeholder:after {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ border: 1px dashed #dddddd;
+ opacity: 1;
+}
+/* Empty List
+ ========================================================================== */
+.uk-nestable:empty {
+ min-height: 30px;
+}
+/* Sub-object `uk-nestable-handle`
+ ========================================================================== */
+/*
+ * Deactivate browser touch actions in IE11
+ */
+.uk-nestable-handle {
+ touch-action: none;
+}
+/* Hover */
+.uk-nestable-handle:hover {
+ cursor: move;
+}
+/* Sub-object `uk-nestable-moving`
+ ========================================================================== */
+.uk-nestable-moving,
+.uk-nestable-moving * {
+ cursor: move;
+}
+/* [data-nestable-action='toggle']
+ ========================================================================== */
+/*
+ * 1. Makes text unselectable. Happens if double clicked by mistake
+ */
+[data-nestable-action='toggle'] {
+ cursor: pointer;
+ /* 1 */
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+/* Sub-object `.uk-nestable-toggle`
+ ========================================================================== */
+.uk-nestable-toggle {
+ display: inline-block;
+ visibility: hidden;
+}
+.uk-nestable-toggle:after {
+ content: "\f147";
+ font-family: FontAwesome;
+}
+.uk-parent > :not(.uk-nestable-list) .uk-nestable-toggle {
+ visibility: visible;
+}
+/*
+ * Collapsed
+ */
+.uk-collapsed .uk-nestable-list {
+ display: none;
+}
+.uk-collapsed .uk-nestable-toggle:after {
+ content: "\f196";
+}
+/* Sub-object `uk-nestable-panel`
+ ========================================================================== */
+.uk-nestable-panel {
+ padding: 5px;
+ background: #f5f5f5;
+ border-radius: 4px;
+ border: 1px solid rgba(0, 0, 0, 0.06);
+ text-shadow: 0 1px 0 #ffffff;
+}
diff --git a/uikit/static/css/components/nestable.almost-flat.min.css b/uikit/static/css/components/nestable.almost-flat.min.css
new file mode 100644
index 0000000..8d651de
--- /dev/null
+++ b/uikit/static/css/components/nestable.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-nestable{padding:0;list-style:none}.uk-nestable a,.uk-nestable img{-webkit-touch-callout:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-item{touch-action:none}.uk-nestable-item+.uk-nestable-item{margin-top:10px}.uk-nestable-list:not(.uk-nestable-dragged)>.uk-nestable-item:first-child{margin-top:10px}.uk-nestable-dragged{position:absolute;z-index:1050;pointer-events:none;padding-left:0}.uk-nestable-placeholder{position:relative}.uk-nestable-placeholder>*{opacity:0}.uk-nestable-placeholder:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:1px dashed #ddd;opacity:1}.uk-nestable:empty{min-height:30px}.uk-nestable-handle{touch-action:none}.uk-nestable-handle:hover{cursor:move}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action=toggle]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-nestable-toggle{display:inline-block;visibility:hidden}.uk-nestable-toggle:after{content:"\f147";font-family:FontAwesome}.uk-parent>:not(.uk-nestable-list) .uk-nestable-toggle{visibility:visible}.uk-collapsed .uk-nestable-list{display:none}.uk-collapsed .uk-nestable-toggle:after{content:"\f196"}.uk-nestable-panel{padding:5px;background:#f5f5f5;border-radius:4px;border:1px solid rgba(0,0,0,.06);text-shadow:0 1px 0 #fff} \ No newline at end of file
diff --git a/uikit/static/css/components/nestable.css b/uikit/static/css/components/nestable.css
new file mode 100644
index 0000000..aa4c644
--- /dev/null
+++ b/uikit/static/css/components/nestable.css
@@ -0,0 +1,132 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Nestable
+ ========================================================================== */
+.uk-nestable {
+ padding: 0;
+ list-style: none;
+}
+/*
+ * Disables the default callout shown when you touch and hold a touch target
+ * Currently only works in Webkit
+ */
+.uk-nestable a,
+.uk-nestable img {
+ -webkit-touch-callout: none;
+}
+/* Sub-object `uk-nestable-list`
+ ========================================================================== */
+.uk-nestable-list {
+ margin: 0;
+ padding-left: 40px;
+ list-style: none;
+}
+/* Sub-modifier `uk-nestable-item`
+ ========================================================================== */
+/*
+ * 1. Deactivate browser touch actions in IE11
+ */
+.uk-nestable-item {
+ /* 1 */
+ touch-action: none;
+}
+.uk-nestable-item + .uk-nestable-item {
+ margin-top: 10px;
+}
+.uk-nestable-list:not(.uk-nestable-dragged) > .uk-nestable-item:first-child {
+ margin-top: 10px;
+}
+/* Sub-modifier `uk-nestable-dragged`
+ ========================================================================== */
+/*
+ * 1. Reset style
+ */
+.uk-nestable-dragged {
+ position: absolute;
+ z-index: 1050;
+ pointer-events: none;
+ /* 1 */
+ padding-left: 0;
+}
+/* Sub-modifier `uk-nestable-placeholder`
+ ========================================================================== */
+.uk-nestable-placeholder {
+ position: relative;
+}
+.uk-nestable-placeholder > * {
+ opacity: 0;
+}
+.uk-nestable-placeholder:after {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ border: 1px dashed #dddddd;
+ opacity: 1;
+}
+/* Empty List
+ ========================================================================== */
+.uk-nestable:empty {
+ min-height: 30px;
+}
+/* Sub-object `uk-nestable-handle`
+ ========================================================================== */
+/*
+ * Deactivate browser touch actions in IE11
+ */
+.uk-nestable-handle {
+ touch-action: none;
+}
+/* Hover */
+.uk-nestable-handle:hover {
+ cursor: move;
+}
+/* Sub-object `uk-nestable-moving`
+ ========================================================================== */
+.uk-nestable-moving,
+.uk-nestable-moving * {
+ cursor: move;
+}
+/* [data-nestable-action='toggle']
+ ========================================================================== */
+/*
+ * 1. Makes text unselectable. Happens if double clicked by mistake
+ */
+[data-nestable-action='toggle'] {
+ cursor: pointer;
+ /* 1 */
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+/* Sub-object `.uk-nestable-toggle`
+ ========================================================================== */
+.uk-nestable-toggle {
+ display: inline-block;
+ visibility: hidden;
+}
+.uk-nestable-toggle:after {
+ content: "\f147";
+ font-family: FontAwesome;
+}
+.uk-parent > :not(.uk-nestable-list) .uk-nestable-toggle {
+ visibility: visible;
+}
+/*
+ * Collapsed
+ */
+.uk-collapsed .uk-nestable-list {
+ display: none;
+}
+.uk-collapsed .uk-nestable-toggle:after {
+ content: "\f196";
+}
+/* Sub-object `uk-nestable-panel`
+ ========================================================================== */
+.uk-nestable-panel {
+ padding: 5px;
+ background: #f5f5f5;
+}
diff --git a/uikit/static/css/components/nestable.gradient.css b/uikit/static/css/components/nestable.gradient.css
new file mode 100644
index 0000000..26c5060
--- /dev/null
+++ b/uikit/static/css/components/nestable.gradient.css
@@ -0,0 +1,139 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Nestable
+ ========================================================================== */
+.uk-nestable {
+ padding: 0;
+ list-style: none;
+}
+/*
+ * Disables the default callout shown when you touch and hold a touch target
+ * Currently only works in Webkit
+ */
+.uk-nestable a,
+.uk-nestable img {
+ -webkit-touch-callout: none;
+}
+/* Sub-object `uk-nestable-list`
+ ========================================================================== */
+.uk-nestable-list {
+ margin: 0;
+ padding-left: 40px;
+ list-style: none;
+}
+/* Sub-modifier `uk-nestable-item`
+ ========================================================================== */
+/*
+ * 1. Deactivate browser touch actions in IE11
+ */
+.uk-nestable-item {
+ /* 1 */
+ touch-action: none;
+}
+.uk-nestable-item + .uk-nestable-item {
+ margin-top: 10px;
+}
+.uk-nestable-list:not(.uk-nestable-dragged) > .uk-nestable-item:first-child {
+ margin-top: 10px;
+}
+/* Sub-modifier `uk-nestable-dragged`
+ ========================================================================== */
+/*
+ * 1. Reset style
+ */
+.uk-nestable-dragged {
+ position: absolute;
+ z-index: 1050;
+ pointer-events: none;
+ /* 1 */
+ padding-left: 0;
+}
+/* Sub-modifier `uk-nestable-placeholder`
+ ========================================================================== */
+.uk-nestable-placeholder {
+ position: relative;
+}
+.uk-nestable-placeholder > * {
+ opacity: 0;
+}
+.uk-nestable-placeholder:after {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ border: 1px dashed #dddddd;
+ opacity: 1;
+}
+/* Empty List
+ ========================================================================== */
+.uk-nestable:empty {
+ min-height: 30px;
+}
+/* Sub-object `uk-nestable-handle`
+ ========================================================================== */
+/*
+ * Deactivate browser touch actions in IE11
+ */
+.uk-nestable-handle {
+ touch-action: none;
+}
+/* Hover */
+.uk-nestable-handle:hover {
+ cursor: move;
+}
+/* Sub-object `uk-nestable-moving`
+ ========================================================================== */
+.uk-nestable-moving,
+.uk-nestable-moving * {
+ cursor: move;
+}
+/* [data-nestable-action='toggle']
+ ========================================================================== */
+/*
+ * 1. Makes text unselectable. Happens if double clicked by mistake
+ */
+[data-nestable-action='toggle'] {
+ cursor: pointer;
+ /* 1 */
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+/* Sub-object `.uk-nestable-toggle`
+ ========================================================================== */
+.uk-nestable-toggle {
+ display: inline-block;
+ visibility: hidden;
+}
+.uk-nestable-toggle:after {
+ content: "\f147";
+ font-family: FontAwesome;
+}
+.uk-parent > :not(.uk-nestable-list) .uk-nestable-toggle {
+ visibility: visible;
+}
+/*
+ * Collapsed
+ */
+.uk-collapsed .uk-nestable-list {
+ display: none;
+}
+.uk-collapsed .uk-nestable-toggle:after {
+ content: "\f196";
+}
+/* Sub-object `uk-nestable-panel`
+ ========================================================================== */
+.uk-nestable-panel {
+ padding: 5px;
+ background: #f7f7f7;
+ border-radius: 4px;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-bottom-color: rgba(0, 0, 0, 0.3);
+ background-origin: border-box;
+ background-image: -webkit-linear-gradient(top, #ffffff, #eeeeee);
+ background-image: linear-gradient(to bottom, #ffffff, #eeeeee);
+ text-shadow: 0 1px 0 #ffffff;
+}
diff --git a/uikit/static/css/components/nestable.gradient.min.css b/uikit/static/css/components/nestable.gradient.min.css
new file mode 100644
index 0000000..58a8f71
--- /dev/null
+++ b/uikit/static/css/components/nestable.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-nestable{padding:0;list-style:none}.uk-nestable a,.uk-nestable img{-webkit-touch-callout:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-item{touch-action:none}.uk-nestable-item+.uk-nestable-item{margin-top:10px}.uk-nestable-list:not(.uk-nestable-dragged)>.uk-nestable-item:first-child{margin-top:10px}.uk-nestable-dragged{position:absolute;z-index:1050;pointer-events:none;padding-left:0}.uk-nestable-placeholder{position:relative}.uk-nestable-placeholder>*{opacity:0}.uk-nestable-placeholder:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:1px dashed #ddd;opacity:1}.uk-nestable:empty{min-height:30px}.uk-nestable-handle{touch-action:none}.uk-nestable-handle:hover{cursor:move}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action=toggle]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-nestable-toggle{display:inline-block;visibility:hidden}.uk-nestable-toggle:after{content:"\f147";font-family:FontAwesome}.uk-parent>:not(.uk-nestable-list) .uk-nestable-toggle{visibility:visible}.uk-collapsed .uk-nestable-list{display:none}.uk-collapsed .uk-nestable-toggle:after{content:"\f196"}.uk-nestable-panel{padding:5px;background:#f7f7f7;border-radius:4px;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} \ No newline at end of file
diff --git a/uikit/static/css/components/nestable.min.css b/uikit/static/css/components/nestable.min.css
new file mode 100644
index 0000000..94941fb
--- /dev/null
+++ b/uikit/static/css/components/nestable.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-nestable{padding:0;list-style:none}.uk-nestable a,.uk-nestable img{-webkit-touch-callout:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-item{touch-action:none}.uk-nestable-item+.uk-nestable-item{margin-top:10px}.uk-nestable-list:not(.uk-nestable-dragged)>.uk-nestable-item:first-child{margin-top:10px}.uk-nestable-dragged{position:absolute;z-index:1050;pointer-events:none;padding-left:0}.uk-nestable-placeholder{position:relative}.uk-nestable-placeholder>*{opacity:0}.uk-nestable-placeholder:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:1px dashed #ddd;opacity:1}.uk-nestable:empty{min-height:30px}.uk-nestable-handle{touch-action:none}.uk-nestable-handle:hover{cursor:move}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action=toggle]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-nestable-toggle{display:inline-block;visibility:hidden}.uk-nestable-toggle:after{content:"\f147";font-family:FontAwesome}.uk-parent>:not(.uk-nestable-list) .uk-nestable-toggle{visibility:visible}.uk-collapsed .uk-nestable-list{display:none}.uk-collapsed .uk-nestable-toggle:after{content:"\f196"}.uk-nestable-panel{padding:5px;background:#f5f5f5} \ No newline at end of file
diff --git a/uikit/static/css/components/notify.almost-flat.css b/uikit/static/css/components/notify.almost-flat.css
new file mode 100644
index 0000000..6421119
--- /dev/null
+++ b/uikit/static/css/components/notify.almost-flat.css
@@ -0,0 +1,99 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Notify
+ ========================================================================== */
+/*
+ * Message container for positioning
+ */
+.uk-notify {
+ position: fixed;
+ top: 10px;
+ left: 10px;
+ z-index: 1040;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 350px;
+}
+/* Position modifiers
+========================================================================== */
+.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;
+}
+/* Responsiveness
+========================================================================== */
+/* Phones portrait and smaller */
+@media (max-width: 479px) {
+ /*
+ * Fit in small screen
+ */
+ .uk-notify {
+ left: 10px;
+ right: 10px;
+ width: auto;
+ margin: 0;
+ }
+}
+/* Sub-object: `uk-notify-message`
+========================================================================== */
+.uk-notify-message {
+ position: relative;
+ margin-bottom: 10px;
+ padding: 15px;
+ background: #444444;
+ color: #ffffff;
+ font-size: 16px;
+ line-height: 22px;
+ cursor: pointer;
+ border: 1px solid #444444;
+ border-radius: 4px;
+}
+/* Close in notify
+ ========================================================================== */
+.uk-notify-message > .uk-close {
+ visibility: hidden;
+ float: right;
+}
+.uk-notify-message:hover > .uk-close {
+ visibility: visible;
+}
+/* Modifier: `uk-alert-info`
+ ========================================================================== */
+.uk-notify-message-primary {
+ background: #ebf7fd;
+ color: #2d7091;
+ border-color: rgba(45, 112, 145, 0.3);
+}
+/* Modifier: `uk-alert-success`
+ ========================================================================== */
+.uk-notify-message-success {
+ background: #f2fae3;
+ color: #659f13;
+ border-color: rgba(101, 159, 19, 0.3);
+}
+/* Modifier: `uk-notify-message-warning`
+ ========================================================================== */
+.uk-notify-message-warning {
+ background: #fffceb;
+ color: #e28327;
+ border-color: rgba(226, 131, 39, 0.3);
+}
+/* Modifier: `uk-notify-message-danger`
+ ========================================================================== */
+.uk-notify-message-danger {
+ background: #fff1f0;
+ color: #d85030;
+ border-color: rgba(216, 80, 48, 0.3);
+}
diff --git a/uikit/static/css/components/notify.almost-flat.min.css b/uikit/static/css/components/notify.almost-flat.min.css
new file mode 100644
index 0000000..4d33bb3
--- /dev/null
+++ b/uikit/static/css/components/notify.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-notify{position:fixed;top:10px;left:10px;z-index:1040;-moz-box-sizing:border-box;box-sizing:border-box;width:350px}.uk-notify-bottom-right,.uk-notify-top-right{left:auto;right:10px}.uk-notify-bottom-center,.uk-notify-top-center{left:50%;margin-left:-175px}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{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;border:1px solid #444;border-radius:4px}.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;border-color:rgba(45,112,145,.3)}.uk-notify-message-success{background:#f2fae3;color:#659f13;border-color:rgba(101,159,19,.3)}.uk-notify-message-warning{background:#fffceb;color:#e28327;border-color:rgba(226,131,39,.3)}.uk-notify-message-danger{background:#fff1f0;color:#d85030;border-color:rgba(216,80,48,.3)} \ No newline at end of file
diff --git a/uikit/static/css/components/notify.css b/uikit/static/css/components/notify.css
new file mode 100644
index 0000000..42d7bce
--- /dev/null
+++ b/uikit/static/css/components/notify.css
@@ -0,0 +1,93 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Notify
+ ========================================================================== */
+/*
+ * Message container for positioning
+ */
+.uk-notify {
+ position: fixed;
+ top: 10px;
+ left: 10px;
+ z-index: 1040;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 350px;
+}
+/* Position modifiers
+========================================================================== */
+.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;
+}
+/* Responsiveness
+========================================================================== */
+/* Phones portrait and smaller */
+@media (max-width: 479px) {
+ /*
+ * Fit in small screen
+ */
+ .uk-notify {
+ left: 10px;
+ right: 10px;
+ width: auto;
+ margin: 0;
+ }
+}
+/* Sub-object: `uk-notify-message`
+========================================================================== */
+.uk-notify-message {
+ position: relative;
+ margin-bottom: 10px;
+ padding: 15px;
+ background: #444444;
+ color: #ffffff;
+ font-size: 16px;
+ line-height: 22px;
+ cursor: pointer;
+}
+/* Close in notify
+ ========================================================================== */
+.uk-notify-message > .uk-close {
+ visibility: hidden;
+ float: right;
+}
+.uk-notify-message:hover > .uk-close {
+ visibility: visible;
+}
+/* Modifier: `uk-alert-info`
+ ========================================================================== */
+.uk-notify-message-primary {
+ background: #ebf7fd;
+ color: #2d7091;
+}
+/* Modifier: `uk-alert-success`
+ ========================================================================== */
+.uk-notify-message-success {
+ background: #f2fae3;
+ color: #659f13;
+}
+/* Modifier: `uk-notify-message-warning`
+ ========================================================================== */
+.uk-notify-message-warning {
+ background: #fffceb;
+ color: #e28327;
+}
+/* Modifier: `uk-notify-message-danger`
+ ========================================================================== */
+.uk-notify-message-danger {
+ background: #fff1f0;
+ color: #d85030;
+}
diff --git a/uikit/static/css/components/notify.gradient.css b/uikit/static/css/components/notify.gradient.css
new file mode 100644
index 0000000..6421119
--- /dev/null
+++ b/uikit/static/css/components/notify.gradient.css
@@ -0,0 +1,99 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Notify
+ ========================================================================== */
+/*
+ * Message container for positioning
+ */
+.uk-notify {
+ position: fixed;
+ top: 10px;
+ left: 10px;
+ z-index: 1040;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 350px;
+}
+/* Position modifiers
+========================================================================== */
+.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;
+}
+/* Responsiveness
+========================================================================== */
+/* Phones portrait and smaller */
+@media (max-width: 479px) {
+ /*
+ * Fit in small screen
+ */
+ .uk-notify {
+ left: 10px;
+ right: 10px;
+ width: auto;
+ margin: 0;
+ }
+}
+/* Sub-object: `uk-notify-message`
+========================================================================== */
+.uk-notify-message {
+ position: relative;
+ margin-bottom: 10px;
+ padding: 15px;
+ background: #444444;
+ color: #ffffff;
+ font-size: 16px;
+ line-height: 22px;
+ cursor: pointer;
+ border: 1px solid #444444;
+ border-radius: 4px;
+}
+/* Close in notify
+ ========================================================================== */
+.uk-notify-message > .uk-close {
+ visibility: hidden;
+ float: right;
+}
+.uk-notify-message:hover > .uk-close {
+ visibility: visible;
+}
+/* Modifier: `uk-alert-info`
+ ========================================================================== */
+.uk-notify-message-primary {
+ background: #ebf7fd;
+ color: #2d7091;
+ border-color: rgba(45, 112, 145, 0.3);
+}
+/* Modifier: `uk-alert-success`
+ ========================================================================== */
+.uk-notify-message-success {
+ background: #f2fae3;
+ color: #659f13;
+ border-color: rgba(101, 159, 19, 0.3);
+}
+/* Modifier: `uk-notify-message-warning`
+ ========================================================================== */
+.uk-notify-message-warning {
+ background: #fffceb;
+ color: #e28327;
+ border-color: rgba(226, 131, 39, 0.3);
+}
+/* Modifier: `uk-notify-message-danger`
+ ========================================================================== */
+.uk-notify-message-danger {
+ background: #fff1f0;
+ color: #d85030;
+ border-color: rgba(216, 80, 48, 0.3);
+}
diff --git a/uikit/static/css/components/notify.gradient.min.css b/uikit/static/css/components/notify.gradient.min.css
new file mode 100644
index 0000000..4d33bb3
--- /dev/null
+++ b/uikit/static/css/components/notify.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-notify{position:fixed;top:10px;left:10px;z-index:1040;-moz-box-sizing:border-box;box-sizing:border-box;width:350px}.uk-notify-bottom-right,.uk-notify-top-right{left:auto;right:10px}.uk-notify-bottom-center,.uk-notify-top-center{left:50%;margin-left:-175px}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{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;border:1px solid #444;border-radius:4px}.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;border-color:rgba(45,112,145,.3)}.uk-notify-message-success{background:#f2fae3;color:#659f13;border-color:rgba(101,159,19,.3)}.uk-notify-message-warning{background:#fffceb;color:#e28327;border-color:rgba(226,131,39,.3)}.uk-notify-message-danger{background:#fff1f0;color:#d85030;border-color:rgba(216,80,48,.3)} \ No newline at end of file
diff --git a/uikit/static/css/components/notify.min.css b/uikit/static/css/components/notify.min.css
new file mode 100644
index 0000000..3aa6b89
--- /dev/null
+++ b/uikit/static/css/components/notify.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-notify{position:fixed;top:10px;left:10px;z-index:1040;-moz-box-sizing:border-box;box-sizing:border-box;width:350px}.uk-notify-bottom-right,.uk-notify-top-right{left:auto;right:10px}.uk-notify-bottom-center,.uk-notify-top-center{left:50%;margin-left:-175px}.uk-notify-bottom-center,.uk-notify-bottom-left,.uk-notify-bottom-right{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} \ No newline at end of file
diff --git a/uikit/static/css/components/placeholder.almost-flat.css b/uikit/static/css/components/placeholder.almost-flat.css
new file mode 100644
index 0000000..7b72cfe
--- /dev/null
+++ b/uikit/static/css/components/placeholder.almost-flat.css
@@ -0,0 +1,29 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Placeholder
+ ========================================================================== */
+.uk-placeholder {
+ margin-bottom: 15px;
+ padding: 20px;
+ border: 1px dashed #dddddd;
+ background: #fafafa;
+ color: #444444;
+}
+/*
+ * Add margin if adjacent element
+ */
+* + .uk-placeholder {
+ margin-top: 15px;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-placeholder > :last-child {
+ margin-bottom: 0;
+}
+/* Modifier: `uk-placeholder-large`
+ ========================================================================== */
+.uk-placeholder-large {
+ padding-top: 80px;
+ padding-bottom: 80px;
+}
diff --git a/uikit/static/css/components/placeholder.almost-flat.min.css b/uikit/static/css/components/placeholder.almost-flat.min.css
new file mode 100644
index 0000000..ba4b565
--- /dev/null
+++ b/uikit/static/css/components/placeholder.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/placeholder.css b/uikit/static/css/components/placeholder.css
new file mode 100644
index 0000000..7b72cfe
--- /dev/null
+++ b/uikit/static/css/components/placeholder.css
@@ -0,0 +1,29 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Placeholder
+ ========================================================================== */
+.uk-placeholder {
+ margin-bottom: 15px;
+ padding: 20px;
+ border: 1px dashed #dddddd;
+ background: #fafafa;
+ color: #444444;
+}
+/*
+ * Add margin if adjacent element
+ */
+* + .uk-placeholder {
+ margin-top: 15px;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-placeholder > :last-child {
+ margin-bottom: 0;
+}
+/* Modifier: `uk-placeholder-large`
+ ========================================================================== */
+.uk-placeholder-large {
+ padding-top: 80px;
+ padding-bottom: 80px;
+}
diff --git a/uikit/static/css/components/placeholder.gradient.css b/uikit/static/css/components/placeholder.gradient.css
new file mode 100644
index 0000000..7b72cfe
--- /dev/null
+++ b/uikit/static/css/components/placeholder.gradient.css
@@ -0,0 +1,29 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Placeholder
+ ========================================================================== */
+.uk-placeholder {
+ margin-bottom: 15px;
+ padding: 20px;
+ border: 1px dashed #dddddd;
+ background: #fafafa;
+ color: #444444;
+}
+/*
+ * Add margin if adjacent element
+ */
+* + .uk-placeholder {
+ margin-top: 15px;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-placeholder > :last-child {
+ margin-bottom: 0;
+}
+/* Modifier: `uk-placeholder-large`
+ ========================================================================== */
+.uk-placeholder-large {
+ padding-top: 80px;
+ padding-bottom: 80px;
+}
diff --git a/uikit/static/css/components/placeholder.gradient.min.css b/uikit/static/css/components/placeholder.gradient.min.css
new file mode 100644
index 0000000..ba4b565
--- /dev/null
+++ b/uikit/static/css/components/placeholder.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/placeholder.min.css b/uikit/static/css/components/placeholder.min.css
new file mode 100644
index 0000000..ba4b565
--- /dev/null
+++ b/uikit/static/css/components/placeholder.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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} \ No newline at end of file
diff --git a/uikit/static/css/components/progress.almost-flat.css b/uikit/static/css/components/progress.almost-flat.css
new file mode 100644
index 0000000..baf0e68
--- /dev/null
+++ b/uikit/static/css/components/progress.almost-flat.css
@@ -0,0 +1,105 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Progress
+ ========================================================================== */
+/*
+ * 1. Clearing
+ * 2. Vertical alignment if text is used
+ */
+.uk-progress {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ height: 20px;
+ margin-bottom: 15px;
+ background: #f5f5f5;
+ /* 1 */
+ overflow: hidden;
+ /* 2 */
+ line-height: 20px;
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
+ border-radius: 4px;
+}
+/*
+ * Add margin if adjacent element
+ */
+* + .uk-progress {
+ margin-top: 15px;
+}
+/* Sub-object: `uk-progress-bar`
+ ========================================================================== */
+/*
+ * 1. Transition
+ * 2. Needed for text
+ */
+.uk-progress-bar {
+ width: 0;
+ height: 100%;
+ background: #00a8e6;
+ float: left;
+ /* 1 */
+ -webkit-transition: width 0.6s ease;
+ transition: width 0.6s ease;
+ /* 2 */
+ font-size: 12px;
+ color: #ffffff;
+ text-align: center;
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+/* Size modifiers
+ ========================================================================== */
+/* Mini */
+.uk-progress-mini {
+ height: 6px;
+}
+/* Small */
+.uk-progress-small {
+ height: 12px;
+}
+/* Color modifiers
+ ========================================================================== */
+.uk-progress-success .uk-progress-bar {
+ background-color: #8cc14c;
+}
+.uk-progress-warning .uk-progress-bar {
+ background-color: #faa732;
+}
+.uk-progress-danger .uk-progress-bar {
+ background-color: #da314b;
+}
+/* Modifier: `uk-progress-striped`
+ ========================================================================== */
+.uk-progress-striped .uk-progress-bar {
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-size: 30px 30px;
+}
+/*
+ * Animation
+ */
+.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;
+ }
+}
+/* Size modifiers
+ ========================================================================== */
+.uk-progress-mini,
+.uk-progress-small {
+ border-radius: 500px;
+}
diff --git a/uikit/static/css/components/progress.almost-flat.min.css b/uikit/static/css/components/progress.almost-flat.min.css
new file mode 100644
index 0000000..33b0604
--- /dev/null
+++ b/uikit/static/css/components/progress.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-progress{-moz-box-sizing:border-box;box-sizing:border-box;height:20px;margin-bottom:15px;background:#f5f5f5;overflow:hidden;line-height:20px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);border-radius:4px}*+.uk-progress{margin-top:15px}.uk-progress-bar{width:0;height:100%;background:#00a8e6;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-success .uk-progress-bar{background-color:#8cc14c}.uk-progress-warning .uk-progress-bar{background-color:#faa732}.uk-progress-danger .uk-progress-bar{background-color:#da314b}.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: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} \ No newline at end of file
diff --git a/uikit/static/css/components/progress.css b/uikit/static/css/components/progress.css
new file mode 100644
index 0000000..8ae61e5
--- /dev/null
+++ b/uikit/static/css/components/progress.css
@@ -0,0 +1,95 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Progress
+ ========================================================================== */
+/*
+ * 1. Clearing
+ * 2. Vertical alignment if text is used
+ */
+.uk-progress {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ height: 20px;
+ margin-bottom: 15px;
+ background: #eeeeee;
+ /* 1 */
+ overflow: hidden;
+ /* 2 */
+ line-height: 20px;
+}
+/*
+ * Add margin if adjacent element
+ */
+* + .uk-progress {
+ margin-top: 15px;
+}
+/* Sub-object: `uk-progress-bar`
+ ========================================================================== */
+/*
+ * 1. Transition
+ * 2. Needed for text
+ */
+.uk-progress-bar {
+ width: 0;
+ height: 100%;
+ background: #00a8e6;
+ float: left;
+ /* 1 */
+ -webkit-transition: width 0.6s ease;
+ transition: width 0.6s ease;
+ /* 2 */
+ font-size: 12px;
+ color: #ffffff;
+ text-align: center;
+}
+/* Size modifiers
+ ========================================================================== */
+/* Mini */
+.uk-progress-mini {
+ height: 6px;
+}
+/* Small */
+.uk-progress-small {
+ height: 12px;
+}
+/* Color modifiers
+ ========================================================================== */
+.uk-progress-success .uk-progress-bar {
+ background-color: #8cc14c;
+}
+.uk-progress-warning .uk-progress-bar {
+ background-color: #faa732;
+}
+.uk-progress-danger .uk-progress-bar {
+ background-color: #da314b;
+}
+/* Modifier: `uk-progress-striped`
+ ========================================================================== */
+.uk-progress-striped .uk-progress-bar {
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-size: 30px 30px;
+}
+/*
+ * Animation
+ */
+.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;
+ }
+}
diff --git a/uikit/static/css/components/progress.gradient.css b/uikit/static/css/components/progress.gradient.css
new file mode 100644
index 0000000..452d8f2
--- /dev/null
+++ b/uikit/static/css/components/progress.gradient.css
@@ -0,0 +1,113 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Progress
+ ========================================================================== */
+/*
+ * 1. Clearing
+ * 2. Vertical alignment if text is used
+ */
+.uk-progress {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ height: 20px;
+ margin-bottom: 15px;
+ background: #f7f7f7;
+ /* 1 */
+ overflow: hidden;
+ /* 2 */
+ line-height: 20px;
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.07), inset 0 2px 2px rgba(0, 0, 0, 0.07);
+ border-radius: 4px;
+}
+/*
+ * Add margin if adjacent element
+ */
+* + .uk-progress {
+ margin-top: 15px;
+}
+/* Sub-object: `uk-progress-bar`
+ ========================================================================== */
+/*
+ * 1. Transition
+ * 2. Needed for text
+ */
+.uk-progress-bar {
+ width: 0;
+ height: 100%;
+ background: #009dd8;
+ float: left;
+ /* 1 */
+ -webkit-transition: width 0.6s ease;
+ transition: width 0.6s ease;
+ /* 2 */
+ font-size: 12px;
+ color: #ffffff;
+ 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, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+}
+/* Size modifiers
+ ========================================================================== */
+/* Mini */
+.uk-progress-mini {
+ height: 6px;
+}
+/* Small */
+.uk-progress-small {
+ height: 12px;
+}
+/* Color modifiers
+ ========================================================================== */
+.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);
+}
+/* Modifier: `uk-progress-striped`
+ ========================================================================== */
+.uk-progress-striped .uk-progress-bar {
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-size: 30px 30px;
+}
+/*
+ * Animation
+ */
+.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;
+ }
+}
+/* Size modifiers
+ ========================================================================== */
+.uk-progress-mini,
+.uk-progress-small {
+ border-radius: 500px;
+}
diff --git a/uikit/static/css/components/progress.gradient.min.css b/uikit/static/css/components/progress.gradient.min.css
new file mode 100644
index 0000000..3913719
--- /dev/null
+++ b/uikit/static/css/components/progress.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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: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} \ No newline at end of file
diff --git a/uikit/static/css/components/progress.min.css b/uikit/static/css/components/progress.min.css
new file mode 100644
index 0000000..fec2675
--- /dev/null
+++ b/uikit/static/css/components/progress.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-progress{-moz-box-sizing:border-box;box-sizing:border-box;height:20px;margin-bottom:15px;background:#eee;overflow:hidden;line-height:20px}*+.uk-progress{margin-top:15px}.uk-progress-bar{width:0;height:100%;background:#00a8e6;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-success .uk-progress-bar{background-color:#8cc14c}.uk-progress-warning .uk-progress-bar{background-color:#faa732}.uk-progress-danger .uk-progress-bar{background-color:#da314b}.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: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}} \ No newline at end of file
diff --git a/uikit/static/css/components/search.almost-flat.css b/uikit/static/css/components/search.almost-flat.css
new file mode 100644
index 0000000..513289b
--- /dev/null
+++ b/uikit/static/css/components/search.almost-flat.css
@@ -0,0 +1,192 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Search
+ ========================================================================== */
+/*
+ * 1. Create position context for dropdowns
+ * 2. Needed for `form` element
+ */
+.uk-search {
+ display: inline-block;
+ /* 1 */
+ position: relative;
+ /* 2 */
+ margin: 0;
+}
+/*
+ * Icon
+ */
+.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, 0.2);
+}
+/* Sub-object `uk-search-field`
+ ========================================================================== */
+/*
+ * Removes inner padding and border in Firefox 4+.
+ */
+.uk-search-field::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+/*
+ * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X.
+ */
+.uk-search-field::-webkit-search-cancel-button,
+.uk-search-field::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+/*
+ * Removes cancel button in IE10
+ */
+.uk-search-field::-ms-clear {
+ display: none;
+}
+/*
+ * Removes placeholder transparency in Firefox.
+ */
+.uk-search-field::-moz-placeholder {
+ opacity: 1;
+}
+/*
+ * 1. Define consistent box sizing.
+ * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
+ * 3. Remove `border-radius` in iOS.
+ * 4. Correct `font` properties and `color` not being inherited.
+ * 5. Remove default style in iOS.
+ * 6. Style
+ */
+.uk-search-field {
+ /* 1 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 2 */
+ margin: 0;
+ /* 3 */
+ border-radius: 0;
+ /* 4 */
+ font: inherit;
+ color: #444444;
+ /* 5 */
+ -webkit-appearance: none;
+ /* 6 */
+ 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 0.2s;
+ transition: all linear 0.2s;
+ vertical-align: middle;
+}
+/* Placeholder */
+.uk-search-field:-ms-input-placeholder {
+ color: #999999 !important;
+}
+.uk-search-field::-moz-placeholder {
+ color: #999999;
+}
+.uk-search-field::-webkit-input-placeholder {
+ color: #999999;
+}
+/* Focus */
+.uk-search-field:focus {
+ outline: 0;
+}
+/* Focus + Active */
+.uk-search-field:focus,
+.uk-search.uk-active .uk-search-field {
+ width: 180px;
+}
+/* Dropdown modifier: `uk-dropdown-search`
+ ========================================================================== */
+.uk-dropdown-search {
+ width: 300px;
+ margin-top: 0;
+ background: #ffffff;
+ color: #444444;
+}
+.uk-open > .uk-dropdown-search {
+ -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out;
+ animation: uk-slide-top-fixed 0.2s ease-in-out;
+}
+/*
+ * Dependency `uk-navbar-flip`
+ */
+.uk-navbar-flip .uk-dropdown-search {
+ margin-top: 12px;
+ margin-right: -16px;
+}
+/* Nav modifier `uk-nav-search`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-search > li > a {
+ color: #444444;
+}
+/*
+ * Active
+ * 1. Remove default focus style
+ */
+.uk-nav-search > li.uk-active > a {
+ background: #00a8e6;
+ color: #ffffff;
+ /* 1 */
+ outline: none;
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-search .uk-nav-header {
+ color: #999999;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-search .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+/*
+ * Nested items
+ */
+.uk-nav-search ul a {
+ color: #0077dd;
+}
+.uk-nav-search ul a:hover {
+ color: #005599;
+}
+/* Search in offcanvas
+ ========================================================================== */
+.uk-offcanvas .uk-search {
+ display: block;
+ margin: 20px 15px;
+}
+.uk-offcanvas .uk-search:before {
+ color: #777777;
+}
+.uk-offcanvas .uk-search-field {
+ width: 100%;
+ border-color: rgba(0, 0, 0, 0);
+ background: #1a1a1a;
+ color: #cccccc;
+}
+.uk-offcanvas .uk-search-field:-ms-input-placeholder {
+ color: #777777 !important;
+}
+.uk-offcanvas .uk-search-field::-moz-placeholder {
+ color: #777777;
+}
+.uk-offcanvas .uk-search-field::-webkit-input-placeholder {
+ color: #777777;
+}
diff --git a/uikit/static/css/components/search.almost-flat.min.css b/uikit/static/css/components/search.almost-flat.min.css
new file mode 100644
index 0000000..bdbc0b7
--- /dev/null
+++ b/uikit/static/css/components/search.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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 transparent;background:transparent;-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:#fff;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:12px;margin-right:-16px}.uk-nav-search>li>a{color:#444}.uk-nav-search>li.uk-active>a{background:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.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:transparent;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} \ No newline at end of file
diff --git a/uikit/static/css/components/search.css b/uikit/static/css/components/search.css
new file mode 100644
index 0000000..5cb3071
--- /dev/null
+++ b/uikit/static/css/components/search.css
@@ -0,0 +1,190 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Search
+ ========================================================================== */
+/*
+ * 1. Create position context for dropdowns
+ * 2. Needed for `form` element
+ */
+.uk-search {
+ display: inline-block;
+ /* 1 */
+ position: relative;
+ /* 2 */
+ margin: 0;
+}
+/*
+ * Icon
+ */
+.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, 0.2);
+}
+/* Sub-object `uk-search-field`
+ ========================================================================== */
+/*
+ * Removes inner padding and border in Firefox 4+.
+ */
+.uk-search-field::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+/*
+ * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X.
+ */
+.uk-search-field::-webkit-search-cancel-button,
+.uk-search-field::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+/*
+ * Removes cancel button in IE10
+ */
+.uk-search-field::-ms-clear {
+ display: none;
+}
+/*
+ * Removes placeholder transparency in Firefox.
+ */
+.uk-search-field::-moz-placeholder {
+ opacity: 1;
+}
+/*
+ * 1. Define consistent box sizing.
+ * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
+ * 3. Remove `border-radius` in iOS.
+ * 4. Correct `font` properties and `color` not being inherited.
+ * 5. Remove default style in iOS.
+ * 6. Style
+ */
+.uk-search-field {
+ /* 1 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 2 */
+ margin: 0;
+ /* 3 */
+ border-radius: 0;
+ /* 4 */
+ font: inherit;
+ color: #444444;
+ /* 5 */
+ -webkit-appearance: none;
+ /* 6 */
+ 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 0.2s;
+ transition: all linear 0.2s;
+ vertical-align: middle;
+}
+/* Placeholder */
+.uk-search-field:-ms-input-placeholder {
+ color: #999999 !important;
+}
+.uk-search-field::-moz-placeholder {
+ color: #999999;
+}
+.uk-search-field::-webkit-input-placeholder {
+ color: #999999;
+}
+/* Focus */
+.uk-search-field:focus {
+ outline: 0;
+}
+/* Focus + Active */
+.uk-search-field:focus,
+.uk-search.uk-active .uk-search-field {
+ width: 180px;
+}
+/* Dropdown modifier: `uk-dropdown-search`
+ ========================================================================== */
+.uk-dropdown-search {
+ width: 300px;
+ margin-top: 0;
+ background: #f5f5f5;
+ color: #444444;
+}
+.uk-open > .uk-dropdown-search {
+ -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out;
+ animation: uk-slide-top-fixed 0.2s ease-in-out;
+}
+/*
+ * Dependency `uk-navbar-flip`
+ */
+.uk-navbar-flip .uk-dropdown-search {
+ margin-top: 5px;
+ margin-right: -15px;
+}
+/* Nav modifier `uk-nav-search`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-search > li > a {
+ color: #444444;
+}
+/*
+ * Active
+ * 1. Remove default focus style
+ */
+.uk-nav-search > li.uk-active > a {
+ background: #00a8e6;
+ color: #ffffff;
+ /* 1 */
+ outline: none;
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-search .uk-nav-header {
+ color: #999999;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-search .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+/*
+ * Nested items
+ */
+.uk-nav-search ul a {
+ color: #0077dd;
+}
+.uk-nav-search ul a:hover {
+ color: #005599;
+}
+/* Search in offcanvas
+ ========================================================================== */
+.uk-offcanvas .uk-search {
+ display: block;
+ margin: 20px 15px;
+}
+.uk-offcanvas .uk-search:before {
+ color: #777777;
+}
+.uk-offcanvas .uk-search-field {
+ width: 100%;
+ border-color: rgba(0, 0, 0, 0);
+ background: #1a1a1a;
+ color: #cccccc;
+}
+.uk-offcanvas .uk-search-field:-ms-input-placeholder {
+ color: #777777 !important;
+}
+.uk-offcanvas .uk-search-field::-moz-placeholder {
+ color: #777777;
+}
+.uk-offcanvas .uk-search-field::-webkit-input-placeholder {
+ color: #777777;
+}
diff --git a/uikit/static/css/components/search.gradient.css b/uikit/static/css/components/search.gradient.css
new file mode 100644
index 0000000..b5853b0
--- /dev/null
+++ b/uikit/static/css/components/search.gradient.css
@@ -0,0 +1,192 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Search
+ ========================================================================== */
+/*
+ * 1. Create position context for dropdowns
+ * 2. Needed for `form` element
+ */
+.uk-search {
+ display: inline-block;
+ /* 1 */
+ position: relative;
+ /* 2 */
+ margin: 0;
+}
+/*
+ * Icon
+ */
+.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, 0.2);
+}
+/* Sub-object `uk-search-field`
+ ========================================================================== */
+/*
+ * Removes inner padding and border in Firefox 4+.
+ */
+.uk-search-field::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+/*
+ * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X.
+ */
+.uk-search-field::-webkit-search-cancel-button,
+.uk-search-field::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+/*
+ * Removes cancel button in IE10
+ */
+.uk-search-field::-ms-clear {
+ display: none;
+}
+/*
+ * Removes placeholder transparency in Firefox.
+ */
+.uk-search-field::-moz-placeholder {
+ opacity: 1;
+}
+/*
+ * 1. Define consistent box sizing.
+ * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
+ * 3. Remove `border-radius` in iOS.
+ * 4. Correct `font` properties and `color` not being inherited.
+ * 5. Remove default style in iOS.
+ * 6. Style
+ */
+.uk-search-field {
+ /* 1 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 2 */
+ margin: 0;
+ /* 3 */
+ border-radius: 0;
+ /* 4 */
+ font: inherit;
+ color: #444444;
+ /* 5 */
+ -webkit-appearance: none;
+ /* 6 */
+ 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 0.2s;
+ transition: all linear 0.2s;
+ vertical-align: middle;
+}
+/* Placeholder */
+.uk-search-field:-ms-input-placeholder {
+ color: #999999 !important;
+}
+.uk-search-field::-moz-placeholder {
+ color: #999999;
+}
+.uk-search-field::-webkit-input-placeholder {
+ color: #999999;
+}
+/* Focus */
+.uk-search-field:focus {
+ outline: 0;
+}
+/* Focus + Active */
+.uk-search-field:focus,
+.uk-search.uk-active .uk-search-field {
+ width: 180px;
+}
+/* Dropdown modifier: `uk-dropdown-search`
+ ========================================================================== */
+.uk-dropdown-search {
+ width: 300px;
+ margin-top: 0;
+ background: #ffffff;
+ color: #444444;
+}
+.uk-open > .uk-dropdown-search {
+ -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out;
+ animation: uk-slide-top-fixed 0.2s ease-in-out;
+}
+/*
+ * Dependency `uk-navbar-flip`
+ */
+.uk-navbar-flip .uk-dropdown-search {
+ margin-top: 12px;
+ margin-right: -16px;
+}
+/* Nav modifier `uk-nav-search`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-search > li > a {
+ color: #444444;
+}
+/*
+ * Active
+ * 1. Remove default focus style
+ */
+.uk-nav-search > li.uk-active > a {
+ background: #009dd8;
+ color: #ffffff;
+ /* 1 */
+ outline: none;
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-search .uk-nav-header {
+ color: #999999;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-search .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+/*
+ * Nested items
+ */
+.uk-nav-search ul a {
+ color: #0077dd;
+}
+.uk-nav-search ul a:hover {
+ color: #005599;
+}
+/* Search in offcanvas
+ ========================================================================== */
+.uk-offcanvas .uk-search {
+ display: block;
+ margin: 20px 15px;
+}
+.uk-offcanvas .uk-search:before {
+ color: #777777;
+}
+.uk-offcanvas .uk-search-field {
+ width: 100%;
+ border-color: rgba(0, 0, 0, 0);
+ background: #1a1a1a;
+ color: #cccccc;
+}
+.uk-offcanvas .uk-search-field:-ms-input-placeholder {
+ color: #777777 !important;
+}
+.uk-offcanvas .uk-search-field::-moz-placeholder {
+ color: #777777;
+}
+.uk-offcanvas .uk-search-field::-webkit-input-placeholder {
+ color: #777777;
+}
diff --git a/uikit/static/css/components/search.gradient.min.css b/uikit/static/css/components/search.gradient.min.css
new file mode 100644
index 0000000..166173b
--- /dev/null
+++ b/uikit/static/css/components/search.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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 transparent;background:transparent;-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:#fff;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:12px;margin-right:-16px}.uk-nav-search>li>a{color:#444}.uk-nav-search>li.uk-active>a{background:#009dd8;color:#fff;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.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:transparent;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} \ No newline at end of file
diff --git a/uikit/static/css/components/search.min.css b/uikit/static/css/components/search.min.css
new file mode 100644
index 0000000..8e826a4
--- /dev/null
+++ b/uikit/static/css/components/search.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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 transparent;background:transparent;-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:0}.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:transparent;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} \ No newline at end of file
diff --git a/uikit/static/css/components/slidenav.almost-flat.css b/uikit/static/css/components/slidenav.almost-flat.css
new file mode 100644
index 0000000..7445f25
--- /dev/null
+++ b/uikit/static/css/components/slidenav.almost-flat.css
@@ -0,0 +1,99 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Slidenav
+ ========================================================================== */
+/*
+ * 1. Required for `a` elements
+ * 2. Dimension
+ * 3. Style
+ */
+.uk-slidenav {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 60px;
+ height: 60px;
+ /* 3 */
+ line-height: 60px;
+ color: rgba(50, 50, 50, 0.4);
+ font-size: 60px;
+ text-align: center;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ * 3. Required for `a` elements
+ * 4. Style
+ */
+.uk-slidenav:hover,
+.uk-slidenav:focus {
+ /* 2 */
+ outline: none;
+ /* 3 */
+ text-decoration: none;
+ /* 4 */
+ color: rgba(50, 50, 50, 0.7);
+ cursor: pointer;
+}
+/* Active */
+.uk-slidenav:active {
+ color: rgba(50, 50, 50, 0.9);
+}
+/*
+ * Icons
+ */
+.uk-slidenav-previous:before {
+ content: "\f104";
+ font-family: FontAwesome;
+}
+.uk-slidenav-next:before {
+ content: "\f105";
+ font-family: FontAwesome;
+}
+/* Sub-object: `uk-slidenav-position`
+ ========================================================================== */
+/*
+ * Create position context
+ */
+.uk-slidenav-position {
+ position: relative;
+}
+/*
+ * Center vertically
+ */
+.uk-slidenav-position .uk-slidenav {
+ display: none;
+ position: absolute;
+ top: 50%;
+ z-index: 1;
+ 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;
+}
+/* Modifier: `uk-slidenav-contrast`
+ ========================================================================== */
+.uk-slidenav-contrast {
+ color: rgba(255, 255, 255, 0.5);
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ */
+.uk-slidenav-contrast:hover,
+.uk-slidenav-contrast:focus {
+ color: rgba(255, 255, 255, 0.7);
+}
+/* Active */
+.uk-slidenav-contrast:active {
+ color: rgba(255, 255, 255, 0.9);
+}
diff --git a/uikit/static/css/components/slidenav.almost-flat.min.css b/uikit/static/css/components/slidenav.almost-flat.min.css
new file mode 100644
index 0000000..31445f0
--- /dev/null
+++ b/uikit/static/css/components/slidenav.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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:focus,.uk-slidenav:hover{outline:0;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{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;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-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)} \ No newline at end of file
diff --git a/uikit/static/css/components/slidenav.css b/uikit/static/css/components/slidenav.css
new file mode 100644
index 0000000..7445f25
--- /dev/null
+++ b/uikit/static/css/components/slidenav.css
@@ -0,0 +1,99 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Slidenav
+ ========================================================================== */
+/*
+ * 1. Required for `a` elements
+ * 2. Dimension
+ * 3. Style
+ */
+.uk-slidenav {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 60px;
+ height: 60px;
+ /* 3 */
+ line-height: 60px;
+ color: rgba(50, 50, 50, 0.4);
+ font-size: 60px;
+ text-align: center;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ * 3. Required for `a` elements
+ * 4. Style
+ */
+.uk-slidenav:hover,
+.uk-slidenav:focus {
+ /* 2 */
+ outline: none;
+ /* 3 */
+ text-decoration: none;
+ /* 4 */
+ color: rgba(50, 50, 50, 0.7);
+ cursor: pointer;
+}
+/* Active */
+.uk-slidenav:active {
+ color: rgba(50, 50, 50, 0.9);
+}
+/*
+ * Icons
+ */
+.uk-slidenav-previous:before {
+ content: "\f104";
+ font-family: FontAwesome;
+}
+.uk-slidenav-next:before {
+ content: "\f105";
+ font-family: FontAwesome;
+}
+/* Sub-object: `uk-slidenav-position`
+ ========================================================================== */
+/*
+ * Create position context
+ */
+.uk-slidenav-position {
+ position: relative;
+}
+/*
+ * Center vertically
+ */
+.uk-slidenav-position .uk-slidenav {
+ display: none;
+ position: absolute;
+ top: 50%;
+ z-index: 1;
+ 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;
+}
+/* Modifier: `uk-slidenav-contrast`
+ ========================================================================== */
+.uk-slidenav-contrast {
+ color: rgba(255, 255, 255, 0.5);
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ */
+.uk-slidenav-contrast:hover,
+.uk-slidenav-contrast:focus {
+ color: rgba(255, 255, 255, 0.7);
+}
+/* Active */
+.uk-slidenav-contrast:active {
+ color: rgba(255, 255, 255, 0.9);
+}
diff --git a/uikit/static/css/components/slidenav.gradient.css b/uikit/static/css/components/slidenav.gradient.css
new file mode 100644
index 0000000..7445f25
--- /dev/null
+++ b/uikit/static/css/components/slidenav.gradient.css
@@ -0,0 +1,99 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Slidenav
+ ========================================================================== */
+/*
+ * 1. Required for `a` elements
+ * 2. Dimension
+ * 3. Style
+ */
+.uk-slidenav {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 60px;
+ height: 60px;
+ /* 3 */
+ line-height: 60px;
+ color: rgba(50, 50, 50, 0.4);
+ font-size: 60px;
+ text-align: center;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ * 3. Required for `a` elements
+ * 4. Style
+ */
+.uk-slidenav:hover,
+.uk-slidenav:focus {
+ /* 2 */
+ outline: none;
+ /* 3 */
+ text-decoration: none;
+ /* 4 */
+ color: rgba(50, 50, 50, 0.7);
+ cursor: pointer;
+}
+/* Active */
+.uk-slidenav:active {
+ color: rgba(50, 50, 50, 0.9);
+}
+/*
+ * Icons
+ */
+.uk-slidenav-previous:before {
+ content: "\f104";
+ font-family: FontAwesome;
+}
+.uk-slidenav-next:before {
+ content: "\f105";
+ font-family: FontAwesome;
+}
+/* Sub-object: `uk-slidenav-position`
+ ========================================================================== */
+/*
+ * Create position context
+ */
+.uk-slidenav-position {
+ position: relative;
+}
+/*
+ * Center vertically
+ */
+.uk-slidenav-position .uk-slidenav {
+ display: none;
+ position: absolute;
+ top: 50%;
+ z-index: 1;
+ 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;
+}
+/* Modifier: `uk-slidenav-contrast`
+ ========================================================================== */
+.uk-slidenav-contrast {
+ color: rgba(255, 255, 255, 0.5);
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ */
+.uk-slidenav-contrast:hover,
+.uk-slidenav-contrast:focus {
+ color: rgba(255, 255, 255, 0.7);
+}
+/* Active */
+.uk-slidenav-contrast:active {
+ color: rgba(255, 255, 255, 0.9);
+}
diff --git a/uikit/static/css/components/slidenav.gradient.min.css b/uikit/static/css/components/slidenav.gradient.min.css
new file mode 100644
index 0000000..31445f0
--- /dev/null
+++ b/uikit/static/css/components/slidenav.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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:focus,.uk-slidenav:hover{outline:0;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{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;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-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)} \ No newline at end of file
diff --git a/uikit/static/css/components/slidenav.min.css b/uikit/static/css/components/slidenav.min.css
new file mode 100644
index 0000000..31445f0
--- /dev/null
+++ b/uikit/static/css/components/slidenav.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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:focus,.uk-slidenav:hover{outline:0;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{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;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-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)} \ No newline at end of file
diff --git a/uikit/static/css/components/slider.almost-flat.css b/uikit/static/css/components/slider.almost-flat.css
new file mode 100644
index 0000000..2f16434
--- /dev/null
+++ b/uikit/static/css/components/slider.almost-flat.css
@@ -0,0 +1,85 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Slider
+ ========================================================================== */
+/*
+ * 1. Create position context
+ * 2. Create stacking context to prevent z-index issues with other components
+ * 3. Deactivate browser history navigation in IE11
+ */
+.uk-slider {
+ /* 1 */
+ position: relative;
+ /* 2 */
+ z-index: 0;
+ /* 3 */
+ touch-action: pan-y;
+}
+/*
+ * 1. Reset list style without interfering with grid
+ */
+.uk-slider:not(.uk-grid) {
+ /* 1 */
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+/*
+ * Sub-object item
+ * 1. Position items above each other
+ */
+.uk-slider > * {
+ /* 1 */
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+/*
+ * Clip child elements
+ */
+.uk-slider-container {
+ overflow: hidden;
+}
+/*
+ * Dragged
+ */
+.uk-slider:not(.uk-drag) {
+ -webkit-transition: -webkit-transform 200ms linear;
+ transition: transform 200ms linear;
+}
+/*
+ * 1. Makes text unselectable
+ */
+.uk-slider.uk-drag {
+ cursor: col-resize;
+ /* 1 */
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+/*
+ * 1. Prevents images and links from being dragged (default browser behavior)
+ * 2. Disables the default callout shown when you touch and hold a touch target
+ * Currently only works in Webkit
+ */
+.uk-slider a,
+.uk-slider img {
+ /* 1 */
+ -webkit-user-drag: none;
+ user-drag: none;
+ /* 2 */
+ -webkit-touch-callout: none;
+}
+/*
+ * 1. Prevents images and links from being dragged in Firefox
+ */
+.uk-slider img {
+ pointer-events: none;
+}
+/* Modifier: `uk-slider-fullscreen`
+ ========================================================================== */
+.uk-slider-fullscreen,
+.uk-slider-fullscreen > li {
+ height: 100vh;
+}
diff --git a/uikit/static/css/components/slider.almost-flat.min.css b/uikit/static/css/components/slider.almost-flat.min.css
new file mode 100644
index 0000000..4b177be
--- /dev/null
+++ b/uikit/static/css/components/slider.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-slider{position:relative;z-index:0;touch-action:pan-y}.uk-slider:not(.uk-grid){margin:0;padding:0;list-style:none}.uk-slider>*{position:absolute;top:0;left:0}.uk-slider-container{overflow:hidden}.uk-slider:not(.uk-drag){-webkit-transition:-webkit-transform 200ms linear;transition:transform 200ms linear}.uk-slider.uk-drag{cursor:col-resize;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-slider a,.uk-slider img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}.uk-slider img{pointer-events:none}.uk-slider-fullscreen,.uk-slider-fullscreen>li{height:100vh} \ No newline at end of file
diff --git a/uikit/static/css/components/slider.css b/uikit/static/css/components/slider.css
new file mode 100644
index 0000000..2f16434
--- /dev/null
+++ b/uikit/static/css/components/slider.css
@@ -0,0 +1,85 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Slider
+ ========================================================================== */
+/*
+ * 1. Create position context
+ * 2. Create stacking context to prevent z-index issues with other components
+ * 3. Deactivate browser history navigation in IE11
+ */
+.uk-slider {
+ /* 1 */
+ position: relative;
+ /* 2 */
+ z-index: 0;
+ /* 3 */
+ touch-action: pan-y;
+}
+/*
+ * 1. Reset list style without interfering with grid
+ */
+.uk-slider:not(.uk-grid) {
+ /* 1 */
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+/*
+ * Sub-object item
+ * 1. Position items above each other
+ */
+.uk-slider > * {
+ /* 1 */
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+/*
+ * Clip child elements
+ */
+.uk-slider-container {
+ overflow: hidden;
+}
+/*
+ * Dragged
+ */
+.uk-slider:not(.uk-drag) {
+ -webkit-transition: -webkit-transform 200ms linear;
+ transition: transform 200ms linear;
+}
+/*
+ * 1. Makes text unselectable
+ */
+.uk-slider.uk-drag {
+ cursor: col-resize;
+ /* 1 */
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+/*
+ * 1. Prevents images and links from being dragged (default browser behavior)
+ * 2. Disables the default callout shown when you touch and hold a touch target
+ * Currently only works in Webkit
+ */
+.uk-slider a,
+.uk-slider img {
+ /* 1 */
+ -webkit-user-drag: none;
+ user-drag: none;
+ /* 2 */
+ -webkit-touch-callout: none;
+}
+/*
+ * 1. Prevents images and links from being dragged in Firefox
+ */
+.uk-slider img {
+ pointer-events: none;
+}
+/* Modifier: `uk-slider-fullscreen`
+ ========================================================================== */
+.uk-slider-fullscreen,
+.uk-slider-fullscreen > li {
+ height: 100vh;
+}
diff --git a/uikit/static/css/components/slider.gradient.css b/uikit/static/css/components/slider.gradient.css
new file mode 100644
index 0000000..2f16434
--- /dev/null
+++ b/uikit/static/css/components/slider.gradient.css
@@ -0,0 +1,85 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Slider
+ ========================================================================== */
+/*
+ * 1. Create position context
+ * 2. Create stacking context to prevent z-index issues with other components
+ * 3. Deactivate browser history navigation in IE11
+ */
+.uk-slider {
+ /* 1 */
+ position: relative;
+ /* 2 */
+ z-index: 0;
+ /* 3 */
+ touch-action: pan-y;
+}
+/*
+ * 1. Reset list style without interfering with grid
+ */
+.uk-slider:not(.uk-grid) {
+ /* 1 */
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+/*
+ * Sub-object item
+ * 1. Position items above each other
+ */
+.uk-slider > * {
+ /* 1 */
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+/*
+ * Clip child elements
+ */
+.uk-slider-container {
+ overflow: hidden;
+}
+/*
+ * Dragged
+ */
+.uk-slider:not(.uk-drag) {
+ -webkit-transition: -webkit-transform 200ms linear;
+ transition: transform 200ms linear;
+}
+/*
+ * 1. Makes text unselectable
+ */
+.uk-slider.uk-drag {
+ cursor: col-resize;
+ /* 1 */
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+/*
+ * 1. Prevents images and links from being dragged (default browser behavior)
+ * 2. Disables the default callout shown when you touch and hold a touch target
+ * Currently only works in Webkit
+ */
+.uk-slider a,
+.uk-slider img {
+ /* 1 */
+ -webkit-user-drag: none;
+ user-drag: none;
+ /* 2 */
+ -webkit-touch-callout: none;
+}
+/*
+ * 1. Prevents images and links from being dragged in Firefox
+ */
+.uk-slider img {
+ pointer-events: none;
+}
+/* Modifier: `uk-slider-fullscreen`
+ ========================================================================== */
+.uk-slider-fullscreen,
+.uk-slider-fullscreen > li {
+ height: 100vh;
+}
diff --git a/uikit/static/css/components/slider.gradient.min.css b/uikit/static/css/components/slider.gradient.min.css
new file mode 100644
index 0000000..4b177be
--- /dev/null
+++ b/uikit/static/css/components/slider.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-slider{position:relative;z-index:0;touch-action:pan-y}.uk-slider:not(.uk-grid){margin:0;padding:0;list-style:none}.uk-slider>*{position:absolute;top:0;left:0}.uk-slider-container{overflow:hidden}.uk-slider:not(.uk-drag){-webkit-transition:-webkit-transform 200ms linear;transition:transform 200ms linear}.uk-slider.uk-drag{cursor:col-resize;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-slider a,.uk-slider img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}.uk-slider img{pointer-events:none}.uk-slider-fullscreen,.uk-slider-fullscreen>li{height:100vh} \ No newline at end of file
diff --git a/uikit/static/css/components/slider.min.css b/uikit/static/css/components/slider.min.css
new file mode 100644
index 0000000..4b177be
--- /dev/null
+++ b/uikit/static/css/components/slider.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-slider{position:relative;z-index:0;touch-action:pan-y}.uk-slider:not(.uk-grid){margin:0;padding:0;list-style:none}.uk-slider>*{position:absolute;top:0;left:0}.uk-slider-container{overflow:hidden}.uk-slider:not(.uk-drag){-webkit-transition:-webkit-transform 200ms linear;transition:transform 200ms linear}.uk-slider.uk-drag{cursor:col-resize;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-slider a,.uk-slider img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}.uk-slider img{pointer-events:none}.uk-slider-fullscreen,.uk-slider-fullscreen>li{height:100vh} \ No newline at end of file
diff --git a/uikit/static/css/components/slideshow.almost-flat.css b/uikit/static/css/components/slideshow.almost-flat.css
new file mode 100644
index 0000000..8b6d69c
--- /dev/null
+++ b/uikit/static/css/components/slideshow.almost-flat.css
@@ -0,0 +1,140 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Slideshow
+ ========================================================================== */
+/*
+ * 1. Create position context
+ * 2. Create stacking context to prevent z-index issues with other components
+ * 3. Set width because child elements are positioned absolute. Height is set via JS
+ * 4. Reset list style
+ * 5. Clip child elements
+ * 6. Deactivate browser history navigation in IE11
+ */
+.uk-slideshow {
+ /* 1 */
+ position: relative;
+ /* 2 */
+ z-index: 0;
+ /* 3 */
+ width: 100%;
+ /* 4 */
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ /* 5 */
+ overflow: hidden;
+ /* 6 */
+ touch-action: pan-y;
+}
+/*
+ * Sub-object item
+ * 1. Position items above each other
+ * 2. Expand to parent container width
+ * 3. Hide by default
+ */
+.uk-slideshow > li {
+ /* 1 */
+ position: absolute;
+ top: 0;
+ left: 0;
+ /* 2 */
+ width: 100%;
+ /* 3 */
+ opacity: 0;
+}
+/*
+ * Active
+ * 1. Stack at first
+ * 2. Show slide
+ */
+.uk-slideshow > .uk-active {
+ /* 1 */
+ z-index: 10;
+ /* 2 */
+ opacity: 1;
+}
+/*
+ * Hide default images which is only relevant to keep existing proportions
+ */
+.uk-slideshow > li > img {
+ visibility: hidden;
+}
+/*
+ * Pointer for controls
+ */
+[data-uk-slideshow-slide] {
+ cursor: pointer;
+}
+/* Modifier: `uk-slideshow-fullscreen`
+ ========================================================================== */
+.uk-slideshow-fullscreen,
+.uk-slideshow-fullscreen > li {
+ height: 100vh;
+}
+/* Animations
+ ========================================================================== */
+/*
+ * Fade
+ */
+.uk-slideshow-fade-out {
+ -webkit-animation: uk-fade 0.5s linear reverse;
+ animation: uk-fade 0.5s linear reverse;
+}
+/*
+ * Scroll
+ */
+.uk-slideshow-scroll-forward-in {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out;
+ animation: uk-slide-right 0.5s ease-in-out;
+}
+.uk-slideshow-scroll-forward-out {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;
+ animation: uk-slide-left 0.5s ease-in-out reverse;
+}
+.uk-slideshow-scroll-backward-in {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out;
+ animation: uk-slide-left 0.5s ease-in-out;
+}
+.uk-slideshow-scroll-backward-out {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;
+ animation: uk-slide-right 0.5s ease-in-out reverse;
+}
+/*
+ * Scale
+ */
+.uk-slideshow-scale-out {
+ -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse;
+ animation: uk-fade-scale-15 0.5s ease-in-out reverse;
+}
+/*
+ * Swipe
+ */
+.uk-slideshow-swipe-forward-in {
+ -webkit-animation: uk-slide-left-33 0.5s ease-in-out;
+ animation: uk-slide-left-33 0.5s ease-in-out;
+}
+.uk-slideshow-swipe-forward-out {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;
+ animation: uk-slide-left 0.5s ease-in-out reverse;
+}
+.uk-slideshow-swipe-backward-in {
+ -webkit-animation: uk-slide-right-33 0.5s ease-in-out;
+ animation: uk-slide-right-33 0.5s ease-in-out;
+}
+.uk-slideshow-swipe-backward-out {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;
+ animation: uk-slide-right 0.5s ease-in-out reverse;
+}
+.uk-slideshow-swipe-forward-in:before,
+.uk-slideshow-swipe-backward-in:before {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 1;
+ background: rgba(0, 0, 0, 0.6);
+ -webkit-animation: uk-fade 0.5s ease-in-out reverse;
+ animation: uk-fade 0.5s ease-in-out reverse;
+}
diff --git a/uikit/static/css/components/slideshow.almost-flat.min.css b/uikit/static/css/components/slideshow.almost-flat.min.css
new file mode 100644
index 0000000..e9348e0
--- /dev/null
+++ b/uikit/static/css/components/slideshow.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in:before,.uk-slideshow-swipe-forward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse} \ No newline at end of file
diff --git a/uikit/static/css/components/slideshow.css b/uikit/static/css/components/slideshow.css
new file mode 100644
index 0000000..8b6d69c
--- /dev/null
+++ b/uikit/static/css/components/slideshow.css
@@ -0,0 +1,140 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Slideshow
+ ========================================================================== */
+/*
+ * 1. Create position context
+ * 2. Create stacking context to prevent z-index issues with other components
+ * 3. Set width because child elements are positioned absolute. Height is set via JS
+ * 4. Reset list style
+ * 5. Clip child elements
+ * 6. Deactivate browser history navigation in IE11
+ */
+.uk-slideshow {
+ /* 1 */
+ position: relative;
+ /* 2 */
+ z-index: 0;
+ /* 3 */
+ width: 100%;
+ /* 4 */
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ /* 5 */
+ overflow: hidden;
+ /* 6 */
+ touch-action: pan-y;
+}
+/*
+ * Sub-object item
+ * 1. Position items above each other
+ * 2. Expand to parent container width
+ * 3. Hide by default
+ */
+.uk-slideshow > li {
+ /* 1 */
+ position: absolute;
+ top: 0;
+ left: 0;
+ /* 2 */
+ width: 100%;
+ /* 3 */
+ opacity: 0;
+}
+/*
+ * Active
+ * 1. Stack at first
+ * 2. Show slide
+ */
+.uk-slideshow > .uk-active {
+ /* 1 */
+ z-index: 10;
+ /* 2 */
+ opacity: 1;
+}
+/*
+ * Hide default images which is only relevant to keep existing proportions
+ */
+.uk-slideshow > li > img {
+ visibility: hidden;
+}
+/*
+ * Pointer for controls
+ */
+[data-uk-slideshow-slide] {
+ cursor: pointer;
+}
+/* Modifier: `uk-slideshow-fullscreen`
+ ========================================================================== */
+.uk-slideshow-fullscreen,
+.uk-slideshow-fullscreen > li {
+ height: 100vh;
+}
+/* Animations
+ ========================================================================== */
+/*
+ * Fade
+ */
+.uk-slideshow-fade-out {
+ -webkit-animation: uk-fade 0.5s linear reverse;
+ animation: uk-fade 0.5s linear reverse;
+}
+/*
+ * Scroll
+ */
+.uk-slideshow-scroll-forward-in {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out;
+ animation: uk-slide-right 0.5s ease-in-out;
+}
+.uk-slideshow-scroll-forward-out {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;
+ animation: uk-slide-left 0.5s ease-in-out reverse;
+}
+.uk-slideshow-scroll-backward-in {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out;
+ animation: uk-slide-left 0.5s ease-in-out;
+}
+.uk-slideshow-scroll-backward-out {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;
+ animation: uk-slide-right 0.5s ease-in-out reverse;
+}
+/*
+ * Scale
+ */
+.uk-slideshow-scale-out {
+ -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse;
+ animation: uk-fade-scale-15 0.5s ease-in-out reverse;
+}
+/*
+ * Swipe
+ */
+.uk-slideshow-swipe-forward-in {
+ -webkit-animation: uk-slide-left-33 0.5s ease-in-out;
+ animation: uk-slide-left-33 0.5s ease-in-out;
+}
+.uk-slideshow-swipe-forward-out {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;
+ animation: uk-slide-left 0.5s ease-in-out reverse;
+}
+.uk-slideshow-swipe-backward-in {
+ -webkit-animation: uk-slide-right-33 0.5s ease-in-out;
+ animation: uk-slide-right-33 0.5s ease-in-out;
+}
+.uk-slideshow-swipe-backward-out {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;
+ animation: uk-slide-right 0.5s ease-in-out reverse;
+}
+.uk-slideshow-swipe-forward-in:before,
+.uk-slideshow-swipe-backward-in:before {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 1;
+ background: rgba(0, 0, 0, 0.6);
+ -webkit-animation: uk-fade 0.5s ease-in-out reverse;
+ animation: uk-fade 0.5s ease-in-out reverse;
+}
diff --git a/uikit/static/css/components/slideshow.gradient.css b/uikit/static/css/components/slideshow.gradient.css
new file mode 100644
index 0000000..8b6d69c
--- /dev/null
+++ b/uikit/static/css/components/slideshow.gradient.css
@@ -0,0 +1,140 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Slideshow
+ ========================================================================== */
+/*
+ * 1. Create position context
+ * 2. Create stacking context to prevent z-index issues with other components
+ * 3. Set width because child elements are positioned absolute. Height is set via JS
+ * 4. Reset list style
+ * 5. Clip child elements
+ * 6. Deactivate browser history navigation in IE11
+ */
+.uk-slideshow {
+ /* 1 */
+ position: relative;
+ /* 2 */
+ z-index: 0;
+ /* 3 */
+ width: 100%;
+ /* 4 */
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ /* 5 */
+ overflow: hidden;
+ /* 6 */
+ touch-action: pan-y;
+}
+/*
+ * Sub-object item
+ * 1. Position items above each other
+ * 2. Expand to parent container width
+ * 3. Hide by default
+ */
+.uk-slideshow > li {
+ /* 1 */
+ position: absolute;
+ top: 0;
+ left: 0;
+ /* 2 */
+ width: 100%;
+ /* 3 */
+ opacity: 0;
+}
+/*
+ * Active
+ * 1. Stack at first
+ * 2. Show slide
+ */
+.uk-slideshow > .uk-active {
+ /* 1 */
+ z-index: 10;
+ /* 2 */
+ opacity: 1;
+}
+/*
+ * Hide default images which is only relevant to keep existing proportions
+ */
+.uk-slideshow > li > img {
+ visibility: hidden;
+}
+/*
+ * Pointer for controls
+ */
+[data-uk-slideshow-slide] {
+ cursor: pointer;
+}
+/* Modifier: `uk-slideshow-fullscreen`
+ ========================================================================== */
+.uk-slideshow-fullscreen,
+.uk-slideshow-fullscreen > li {
+ height: 100vh;
+}
+/* Animations
+ ========================================================================== */
+/*
+ * Fade
+ */
+.uk-slideshow-fade-out {
+ -webkit-animation: uk-fade 0.5s linear reverse;
+ animation: uk-fade 0.5s linear reverse;
+}
+/*
+ * Scroll
+ */
+.uk-slideshow-scroll-forward-in {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out;
+ animation: uk-slide-right 0.5s ease-in-out;
+}
+.uk-slideshow-scroll-forward-out {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;
+ animation: uk-slide-left 0.5s ease-in-out reverse;
+}
+.uk-slideshow-scroll-backward-in {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out;
+ animation: uk-slide-left 0.5s ease-in-out;
+}
+.uk-slideshow-scroll-backward-out {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;
+ animation: uk-slide-right 0.5s ease-in-out reverse;
+}
+/*
+ * Scale
+ */
+.uk-slideshow-scale-out {
+ -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse;
+ animation: uk-fade-scale-15 0.5s ease-in-out reverse;
+}
+/*
+ * Swipe
+ */
+.uk-slideshow-swipe-forward-in {
+ -webkit-animation: uk-slide-left-33 0.5s ease-in-out;
+ animation: uk-slide-left-33 0.5s ease-in-out;
+}
+.uk-slideshow-swipe-forward-out {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;
+ animation: uk-slide-left 0.5s ease-in-out reverse;
+}
+.uk-slideshow-swipe-backward-in {
+ -webkit-animation: uk-slide-right-33 0.5s ease-in-out;
+ animation: uk-slide-right-33 0.5s ease-in-out;
+}
+.uk-slideshow-swipe-backward-out {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;
+ animation: uk-slide-right 0.5s ease-in-out reverse;
+}
+.uk-slideshow-swipe-forward-in:before,
+.uk-slideshow-swipe-backward-in:before {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 1;
+ background: rgba(0, 0, 0, 0.6);
+ -webkit-animation: uk-fade 0.5s ease-in-out reverse;
+ animation: uk-fade 0.5s ease-in-out reverse;
+}
diff --git a/uikit/static/css/components/slideshow.gradient.min.css b/uikit/static/css/components/slideshow.gradient.min.css
new file mode 100644
index 0000000..e9348e0
--- /dev/null
+++ b/uikit/static/css/components/slideshow.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in:before,.uk-slideshow-swipe-forward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse} \ No newline at end of file
diff --git a/uikit/static/css/components/slideshow.min.css b/uikit/static/css/components/slideshow.min.css
new file mode 100644
index 0000000..e9348e0
--- /dev/null
+++ b/uikit/static/css/components/slideshow.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in:before,.uk-slideshow-swipe-forward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse} \ No newline at end of file
diff --git a/uikit/static/css/components/sortable.almost-flat.css b/uikit/static/css/components/sortable.almost-flat.css
new file mode 100644
index 0000000..862682c
--- /dev/null
+++ b/uikit/static/css/components/sortable.almost-flat.css
@@ -0,0 +1,62 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Sortable
+ ========================================================================== */
+.uk-sortable {
+ position: relative;
+}
+/*
+ * Deactivate browser touch actions in IE11
+ */
+.uk-sortable > * {
+ touch-action: none;
+}
+/*
+ * Disables the default callout shown when you touch and hold a touch target
+ * Currently only works in Webkit
+ */
+.uk-sortable a,
+.uk-sortable img {
+ -webkit-touch-callout: none;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-sortable > :last-child {
+ margin-bottom: 0;
+}
+/* Sub-modifier `uk-sortable-dragged`
+ ========================================================================== */
+.uk-sortable-dragged {
+ position: absolute;
+ z-index: 1050;
+ pointer-events: none;
+}
+/* Sub-modifier `uk-sortable-placeholder`
+ ========================================================================== */
+.uk-sortable-placeholder {
+ opacity: 0;
+}
+/* Empty List
+ ========================================================================== */
+.uk-sortable:empty {
+ min-height: 30px;
+}
+/* Sub-object `uk-sortable-handle`
+ ========================================================================== */
+/*
+ * Deactivate browser touch actions in IE11
+ */
+.uk-sortable-handle {
+ touch-action: none;
+}
+/* Hover */
+.uk-sortable-handle:hover {
+ cursor: move;
+}
+/* Sub-object `uk-sortable-moving`
+ ========================================================================== */
+.uk-sortable-moving,
+.uk-sortable-moving * {
+ cursor: move;
+}
diff --git a/uikit/static/css/components/sortable.almost-flat.min.css b/uikit/static/css/components/sortable.almost-flat.min.css
new file mode 100644
index 0000000..d1b6a9d
--- /dev/null
+++ b/uikit/static/css/components/sortable.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-sortable{position:relative}.uk-sortable>*{touch-action:none}.uk-sortable a,.uk-sortable img{-webkit-touch-callout:none}.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable:empty{min-height:30px}.uk-sortable-handle{touch-action:none}.uk-sortable-handle:hover{cursor:move}.uk-sortable-moving,.uk-sortable-moving *{cursor:move} \ No newline at end of file
diff --git a/uikit/static/css/components/sortable.css b/uikit/static/css/components/sortable.css
new file mode 100644
index 0000000..862682c
--- /dev/null
+++ b/uikit/static/css/components/sortable.css
@@ -0,0 +1,62 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Sortable
+ ========================================================================== */
+.uk-sortable {
+ position: relative;
+}
+/*
+ * Deactivate browser touch actions in IE11
+ */
+.uk-sortable > * {
+ touch-action: none;
+}
+/*
+ * Disables the default callout shown when you touch and hold a touch target
+ * Currently only works in Webkit
+ */
+.uk-sortable a,
+.uk-sortable img {
+ -webkit-touch-callout: none;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-sortable > :last-child {
+ margin-bottom: 0;
+}
+/* Sub-modifier `uk-sortable-dragged`
+ ========================================================================== */
+.uk-sortable-dragged {
+ position: absolute;
+ z-index: 1050;
+ pointer-events: none;
+}
+/* Sub-modifier `uk-sortable-placeholder`
+ ========================================================================== */
+.uk-sortable-placeholder {
+ opacity: 0;
+}
+/* Empty List
+ ========================================================================== */
+.uk-sortable:empty {
+ min-height: 30px;
+}
+/* Sub-object `uk-sortable-handle`
+ ========================================================================== */
+/*
+ * Deactivate browser touch actions in IE11
+ */
+.uk-sortable-handle {
+ touch-action: none;
+}
+/* Hover */
+.uk-sortable-handle:hover {
+ cursor: move;
+}
+/* Sub-object `uk-sortable-moving`
+ ========================================================================== */
+.uk-sortable-moving,
+.uk-sortable-moving * {
+ cursor: move;
+}
diff --git a/uikit/static/css/components/sortable.gradient.css b/uikit/static/css/components/sortable.gradient.css
new file mode 100644
index 0000000..862682c
--- /dev/null
+++ b/uikit/static/css/components/sortable.gradient.css
@@ -0,0 +1,62 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Sortable
+ ========================================================================== */
+.uk-sortable {
+ position: relative;
+}
+/*
+ * Deactivate browser touch actions in IE11
+ */
+.uk-sortable > * {
+ touch-action: none;
+}
+/*
+ * Disables the default callout shown when you touch and hold a touch target
+ * Currently only works in Webkit
+ */
+.uk-sortable a,
+.uk-sortable img {
+ -webkit-touch-callout: none;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-sortable > :last-child {
+ margin-bottom: 0;
+}
+/* Sub-modifier `uk-sortable-dragged`
+ ========================================================================== */
+.uk-sortable-dragged {
+ position: absolute;
+ z-index: 1050;
+ pointer-events: none;
+}
+/* Sub-modifier `uk-sortable-placeholder`
+ ========================================================================== */
+.uk-sortable-placeholder {
+ opacity: 0;
+}
+/* Empty List
+ ========================================================================== */
+.uk-sortable:empty {
+ min-height: 30px;
+}
+/* Sub-object `uk-sortable-handle`
+ ========================================================================== */
+/*
+ * Deactivate browser touch actions in IE11
+ */
+.uk-sortable-handle {
+ touch-action: none;
+}
+/* Hover */
+.uk-sortable-handle:hover {
+ cursor: move;
+}
+/* Sub-object `uk-sortable-moving`
+ ========================================================================== */
+.uk-sortable-moving,
+.uk-sortable-moving * {
+ cursor: move;
+}
diff --git a/uikit/static/css/components/sortable.gradient.min.css b/uikit/static/css/components/sortable.gradient.min.css
new file mode 100644
index 0000000..d1b6a9d
--- /dev/null
+++ b/uikit/static/css/components/sortable.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-sortable{position:relative}.uk-sortable>*{touch-action:none}.uk-sortable a,.uk-sortable img{-webkit-touch-callout:none}.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable:empty{min-height:30px}.uk-sortable-handle{touch-action:none}.uk-sortable-handle:hover{cursor:move}.uk-sortable-moving,.uk-sortable-moving *{cursor:move} \ No newline at end of file
diff --git a/uikit/static/css/components/sortable.min.css b/uikit/static/css/components/sortable.min.css
new file mode 100644
index 0000000..d1b6a9d
--- /dev/null
+++ b/uikit/static/css/components/sortable.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-sortable{position:relative}.uk-sortable>*{touch-action:none}.uk-sortable a,.uk-sortable img{-webkit-touch-callout:none}.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable:empty{min-height:30px}.uk-sortable-handle{touch-action:none}.uk-sortable-handle:hover{cursor:move}.uk-sortable-moving,.uk-sortable-moving *{cursor:move} \ No newline at end of file
diff --git a/uikit/static/css/components/sticky.almost-flat.css b/uikit/static/css/components/sticky.almost-flat.css
new file mode 100644
index 0000000..a6dd3c4
--- /dev/null
+++ b/uikit/static/css/components/sticky.almost-flat.css
@@ -0,0 +1,32 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Sticky
+ ========================================================================== */
+/*
+ * 1. More robust if padding and border are used
+ */
+[data-uk-sticky].uk-active {
+ z-index: 980;
+ /* 1 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*
+ * 1. Resolve frame-rate issues on devices with lower frame-rates. Forces hardware acceleration
+ */
+.uk-sticky-placeholder > * {
+ /* 1 */
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+/*
+ * Faster animations
+ */
+[data-uk-sticky][class*='uk-animation-'] {
+ -webkit-animation-duration: 0.15s;
+ animation-duration: 0.15s;
+}
+[data-uk-sticky].uk-animation-reverse {
+ -webkit-animation-duration: 0.04s;
+ animation-duration: 0.04s;
+}
diff --git a/uikit/static/css/components/sticky.almost-flat.min.css b/uikit/static/css/components/sticky.almost-flat.min.css
new file mode 100644
index 0000000..01857ab
--- /dev/null
+++ b/uikit/static/css/components/sticky.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+[data-uk-sticky].uk-active{z-index:980;-moz-box-sizing:border-box;box-sizing:border-box}.uk-sticky-placeholder>*{-webkit-backface-visibility:hidden;backface-visibility:hidden}[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} \ No newline at end of file
diff --git a/uikit/static/css/components/sticky.css b/uikit/static/css/components/sticky.css
new file mode 100644
index 0000000..a6dd3c4
--- /dev/null
+++ b/uikit/static/css/components/sticky.css
@@ -0,0 +1,32 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Sticky
+ ========================================================================== */
+/*
+ * 1. More robust if padding and border are used
+ */
+[data-uk-sticky].uk-active {
+ z-index: 980;
+ /* 1 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*
+ * 1. Resolve frame-rate issues on devices with lower frame-rates. Forces hardware acceleration
+ */
+.uk-sticky-placeholder > * {
+ /* 1 */
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+/*
+ * Faster animations
+ */
+[data-uk-sticky][class*='uk-animation-'] {
+ -webkit-animation-duration: 0.15s;
+ animation-duration: 0.15s;
+}
+[data-uk-sticky].uk-animation-reverse {
+ -webkit-animation-duration: 0.04s;
+ animation-duration: 0.04s;
+}
diff --git a/uikit/static/css/components/sticky.gradient.css b/uikit/static/css/components/sticky.gradient.css
new file mode 100644
index 0000000..a6dd3c4
--- /dev/null
+++ b/uikit/static/css/components/sticky.gradient.css
@@ -0,0 +1,32 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Sticky
+ ========================================================================== */
+/*
+ * 1. More robust if padding and border are used
+ */
+[data-uk-sticky].uk-active {
+ z-index: 980;
+ /* 1 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*
+ * 1. Resolve frame-rate issues on devices with lower frame-rates. Forces hardware acceleration
+ */
+.uk-sticky-placeholder > * {
+ /* 1 */
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+/*
+ * Faster animations
+ */
+[data-uk-sticky][class*='uk-animation-'] {
+ -webkit-animation-duration: 0.15s;
+ animation-duration: 0.15s;
+}
+[data-uk-sticky].uk-animation-reverse {
+ -webkit-animation-duration: 0.04s;
+ animation-duration: 0.04s;
+}
diff --git a/uikit/static/css/components/sticky.gradient.min.css b/uikit/static/css/components/sticky.gradient.min.css
new file mode 100644
index 0000000..01857ab
--- /dev/null
+++ b/uikit/static/css/components/sticky.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+[data-uk-sticky].uk-active{z-index:980;-moz-box-sizing:border-box;box-sizing:border-box}.uk-sticky-placeholder>*{-webkit-backface-visibility:hidden;backface-visibility:hidden}[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} \ No newline at end of file
diff --git a/uikit/static/css/components/sticky.min.css b/uikit/static/css/components/sticky.min.css
new file mode 100644
index 0000000..01857ab
--- /dev/null
+++ b/uikit/static/css/components/sticky.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+[data-uk-sticky].uk-active{z-index:980;-moz-box-sizing:border-box;box-sizing:border-box}.uk-sticky-placeholder>*{-webkit-backface-visibility:hidden;backface-visibility:hidden}[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} \ No newline at end of file
diff --git a/uikit/static/css/components/tooltip.almost-flat.css b/uikit/static/css/components/tooltip.almost-flat.css
new file mode 100644
index 0000000..27d9200
--- /dev/null
+++ b/uikit/static/css/components/tooltip.almost-flat.css
@@ -0,0 +1,120 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Tooltip
+ ========================================================================== */
+/*
+ * 1. Hide by default
+ * 2. Set fixed position
+ * 3. Set dimensions
+ * 4. Set style
+ */
+.uk-tooltip {
+ /* 1 */
+ display: none;
+ /* 2 */
+ position: absolute;
+ z-index: 1030;
+ /* 3 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ max-width: 200px;
+ padding: 5px 8px;
+ /* 4 */
+ background: #333333;
+ color: rgba(255, 255, 255, 0.7);
+ font-size: 12px;
+ line-height: 18px;
+ text-align: center;
+ border-radius: 3px;
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
+}
+/* Triangle
+ ========================================================================== */
+/*
+ * 1. Dashed is less antialised than solid
+ */
+.uk-tooltip:after {
+ content: "";
+ display: block;
+ position: absolute;
+ width: 0;
+ height: 0;
+ /* 1 */
+ border: 5px dashed #333333;
+}
+/* Direction modifiers
+ ========================================================================== */
+/*
+ * Top
+ */
+.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: #333333;
+}
+/*
+ * Bottom
+ */
+.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: #333333;
+}
+/*
+ * Top/Bottom center
+ */
+.uk-tooltip-top:after,
+.uk-tooltip-bottom:after {
+ left: 50%;
+ margin-left: -5px;
+}
+/*
+ * Top/Bottom left
+ */
+.uk-tooltip-top-left:after,
+.uk-tooltip-bottom-left:after {
+ left: 10px;
+}
+/*
+ * Top/Bottom right
+ */
+.uk-tooltip-top-right:after,
+.uk-tooltip-bottom-right:after {
+ right: 10px;
+}
+/*
+ * Left
+ */
+.uk-tooltip-left:after {
+ right: -5px;
+ top: 50%;
+ margin-top: -5px;
+ border-left-style: solid;
+ border-right: none;
+ border-top-color: transparent;
+ border-bottom-color: transparent;
+ border-left-color: #333333;
+}
+/*
+ * Right
+ */
+.uk-tooltip-right:after {
+ left: -5px;
+ top: 50%;
+ margin-top: -5px;
+ border-right-style: solid;
+ border-left: none;
+ border-top-color: transparent;
+ border-bottom-color: transparent;
+ border-right-color: #333333;
+}
diff --git a/uikit/static/css/components/tooltip.almost-flat.min.css b/uikit/static/css/components/tooltip.almost-flat.min.css
new file mode 100644
index 0000000..1660ddc
--- /dev/null
+++ b/uikit/static/css/components/tooltip.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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-left:after,.uk-tooltip-top-right:after,.uk-tooltip-top: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-left:after,.uk-tooltip-bottom-right:after,.uk-tooltip-bottom:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-bottom:after,.uk-tooltip-top:after{left:50%;margin-left:-5px}.uk-tooltip-bottom-left:after,.uk-tooltip-top-left:after{left:10px}.uk-tooltip-bottom-right:after,.uk-tooltip-top-right:after{right:10px}.uk-tooltip-left:after{right:-5px;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent;border-left-color:#333}.uk-tooltip-right:after{left:-5px;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent;border-right-color:#333} \ No newline at end of file
diff --git a/uikit/static/css/components/tooltip.css b/uikit/static/css/components/tooltip.css
new file mode 100644
index 0000000..7ec0df0
--- /dev/null
+++ b/uikit/static/css/components/tooltip.css
@@ -0,0 +1,118 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Tooltip
+ ========================================================================== */
+/*
+ * 1. Hide by default
+ * 2. Set fixed position
+ * 3. Set dimensions
+ * 4. Set style
+ */
+.uk-tooltip {
+ /* 1 */
+ display: none;
+ /* 2 */
+ position: absolute;
+ z-index: 1030;
+ /* 3 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ max-width: 200px;
+ padding: 5px 8px;
+ /* 4 */
+ background: #333333;
+ color: rgba(255, 255, 255, 0.7);
+ font-size: 12px;
+ line-height: 18px;
+ text-align: center;
+}
+/* Triangle
+ ========================================================================== */
+/*
+ * 1. Dashed is less antialised than solid
+ */
+.uk-tooltip:after {
+ content: "";
+ display: block;
+ position: absolute;
+ width: 0;
+ height: 0;
+ /* 1 */
+ border: 5px dashed #333333;
+}
+/* Direction modifiers
+ ========================================================================== */
+/*
+ * Top
+ */
+.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: #333333;
+}
+/*
+ * Bottom
+ */
+.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: #333333;
+}
+/*
+ * Top/Bottom center
+ */
+.uk-tooltip-top:after,
+.uk-tooltip-bottom:after {
+ left: 50%;
+ margin-left: -5px;
+}
+/*
+ * Top/Bottom left
+ */
+.uk-tooltip-top-left:after,
+.uk-tooltip-bottom-left:after {
+ left: 10px;
+}
+/*
+ * Top/Bottom right
+ */
+.uk-tooltip-top-right:after,
+.uk-tooltip-bottom-right:after {
+ right: 10px;
+}
+/*
+ * Left
+ */
+.uk-tooltip-left:after {
+ right: -5px;
+ top: 50%;
+ margin-top: -5px;
+ border-left-style: solid;
+ border-right: none;
+ border-top-color: transparent;
+ border-bottom-color: transparent;
+ border-left-color: #333333;
+}
+/*
+ * Right
+ */
+.uk-tooltip-right:after {
+ left: -5px;
+ top: 50%;
+ margin-top: -5px;
+ border-right-style: solid;
+ border-left: none;
+ border-top-color: transparent;
+ border-bottom-color: transparent;
+ border-right-color: #333333;
+}
diff --git a/uikit/static/css/components/tooltip.gradient.css b/uikit/static/css/components/tooltip.gradient.css
new file mode 100644
index 0000000..27d9200
--- /dev/null
+++ b/uikit/static/css/components/tooltip.gradient.css
@@ -0,0 +1,120 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Tooltip
+ ========================================================================== */
+/*
+ * 1. Hide by default
+ * 2. Set fixed position
+ * 3. Set dimensions
+ * 4. Set style
+ */
+.uk-tooltip {
+ /* 1 */
+ display: none;
+ /* 2 */
+ position: absolute;
+ z-index: 1030;
+ /* 3 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ max-width: 200px;
+ padding: 5px 8px;
+ /* 4 */
+ background: #333333;
+ color: rgba(255, 255, 255, 0.7);
+ font-size: 12px;
+ line-height: 18px;
+ text-align: center;
+ border-radius: 3px;
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
+}
+/* Triangle
+ ========================================================================== */
+/*
+ * 1. Dashed is less antialised than solid
+ */
+.uk-tooltip:after {
+ content: "";
+ display: block;
+ position: absolute;
+ width: 0;
+ height: 0;
+ /* 1 */
+ border: 5px dashed #333333;
+}
+/* Direction modifiers
+ ========================================================================== */
+/*
+ * Top
+ */
+.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: #333333;
+}
+/*
+ * Bottom
+ */
+.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: #333333;
+}
+/*
+ * Top/Bottom center
+ */
+.uk-tooltip-top:after,
+.uk-tooltip-bottom:after {
+ left: 50%;
+ margin-left: -5px;
+}
+/*
+ * Top/Bottom left
+ */
+.uk-tooltip-top-left:after,
+.uk-tooltip-bottom-left:after {
+ left: 10px;
+}
+/*
+ * Top/Bottom right
+ */
+.uk-tooltip-top-right:after,
+.uk-tooltip-bottom-right:after {
+ right: 10px;
+}
+/*
+ * Left
+ */
+.uk-tooltip-left:after {
+ right: -5px;
+ top: 50%;
+ margin-top: -5px;
+ border-left-style: solid;
+ border-right: none;
+ border-top-color: transparent;
+ border-bottom-color: transparent;
+ border-left-color: #333333;
+}
+/*
+ * Right
+ */
+.uk-tooltip-right:after {
+ left: -5px;
+ top: 50%;
+ margin-top: -5px;
+ border-right-style: solid;
+ border-left: none;
+ border-top-color: transparent;
+ border-bottom-color: transparent;
+ border-right-color: #333333;
+}
diff --git a/uikit/static/css/components/tooltip.gradient.min.css b/uikit/static/css/components/tooltip.gradient.min.css
new file mode 100644
index 0000000..1660ddc
--- /dev/null
+++ b/uikit/static/css/components/tooltip.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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-left:after,.uk-tooltip-top-right:after,.uk-tooltip-top: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-left:after,.uk-tooltip-bottom-right:after,.uk-tooltip-bottom:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-bottom:after,.uk-tooltip-top:after{left:50%;margin-left:-5px}.uk-tooltip-bottom-left:after,.uk-tooltip-top-left:after{left:10px}.uk-tooltip-bottom-right:after,.uk-tooltip-top-right:after{right:10px}.uk-tooltip-left:after{right:-5px;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent;border-left-color:#333}.uk-tooltip-right:after{left:-5px;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent;border-right-color:#333} \ No newline at end of file
diff --git a/uikit/static/css/components/tooltip.min.css b/uikit/static/css/components/tooltip.min.css
new file mode 100644
index 0000000..07e31dc
--- /dev/null
+++ b/uikit/static/css/components/tooltip.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.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}.uk-tooltip:after{content:"";display:block;position:absolute;width:0;height:0;border:5px dashed #333}.uk-tooltip-top-left:after,.uk-tooltip-top-right:after,.uk-tooltip-top: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-left:after,.uk-tooltip-bottom-right:after,.uk-tooltip-bottom:after{top:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent;border-bottom-color:#333}.uk-tooltip-bottom:after,.uk-tooltip-top:after{left:50%;margin-left:-5px}.uk-tooltip-bottom-left:after,.uk-tooltip-top-left:after{left:10px}.uk-tooltip-bottom-right:after,.uk-tooltip-top-right:after{right:10px}.uk-tooltip-left:after{right:-5px;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent;border-left-color:#333}.uk-tooltip-right:after{left:-5px;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent;border-right-color:#333} \ No newline at end of file
diff --git a/uikit/static/css/components/upload.almost-flat.css b/uikit/static/css/components/upload.almost-flat.css
new file mode 100644
index 0000000..ab07f2b
--- /dev/null
+++ b/uikit/static/css/components/upload.almost-flat.css
@@ -0,0 +1,10 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Upload
+ ========================================================================== */
+/*
+ * Create a box-shadow when dragging a file over the upload area
+ */
+.uk-dragover {
+ box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
+}
diff --git a/uikit/static/css/components/upload.almost-flat.min.css b/uikit/static/css/components/upload.almost-flat.min.css
new file mode 100644
index 0000000..f1d2c79
--- /dev/null
+++ b/uikit/static/css/components/upload.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)} \ No newline at end of file
diff --git a/uikit/static/css/components/upload.css b/uikit/static/css/components/upload.css
new file mode 100644
index 0000000..ab07f2b
--- /dev/null
+++ b/uikit/static/css/components/upload.css
@@ -0,0 +1,10 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Upload
+ ========================================================================== */
+/*
+ * Create a box-shadow when dragging a file over the upload area
+ */
+.uk-dragover {
+ box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
+}
diff --git a/uikit/static/css/components/upload.gradient.css b/uikit/static/css/components/upload.gradient.css
new file mode 100644
index 0000000..ab07f2b
--- /dev/null
+++ b/uikit/static/css/components/upload.gradient.css
@@ -0,0 +1,10 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Upload
+ ========================================================================== */
+/*
+ * Create a box-shadow when dragging a file over the upload area
+ */
+.uk-dragover {
+ box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
+}
diff --git a/uikit/static/css/components/upload.gradient.min.css b/uikit/static/css/components/upload.gradient.min.css
new file mode 100644
index 0000000..f1d2c79
--- /dev/null
+++ b/uikit/static/css/components/upload.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)} \ No newline at end of file
diff --git a/uikit/static/css/components/upload.min.css b/uikit/static/css/components/upload.min.css
new file mode 100644
index 0000000..f1d2c79
--- /dev/null
+++ b/uikit/static/css/components/upload.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)} \ No newline at end of file
diff --git a/uikit/static/css/custom.css b/uikit/static/css/custom.css
new file mode 100644
index 0000000..572318d
--- /dev/null
+++ b/uikit/static/css/custom.css
@@ -0,0 +1,65 @@
+.capitalize {
+ text-transform: capitalize;
+}
+
+.uk-navbar-nav li {
+ text-transform: capitalize;
+ line-height: 1em;
+ vertical-align: middle;
+}
+
+/*
+ * add vertical spacing to social icons
+*/
+.icons>a {
+ margin-bottom: 0.3em;
+}
+
+/*
+ * add spacing between the icon and the description
+*/
+.uk-icon-tag::before,
+.uk-icon-rss-square::before,
+.uk-icon-external-link::before
+{
+ margin-right: 0.2em;
+}
+
+/*
+ * add additional spacing because the description should be separated from the
+ * next icon more thant the icon from the description
+*/
+/*
+.uk-icon-rss-square,
+*/
+.uk-icon-tag
+{ margin-right: 0.5em; }
+
+/*
+ * add spacing to the license links
+*/
+.license
+{ padding-right: 0.5em; }
+
+/*
+ * the special entity in a heading that
+ * needs to be formatted differently
+.entity {
+ text-transform: none;
+ font-family: italic;
+ font-weight: lighter;
+}
+ */
+
+/*
+ * a heading for small messages
+ * */
+.heading {
+ text-transform: uppercase;
+ text-align: left;
+ font-family: sans-serif;
+ font-style: italic;
+ font-size: 1.0em;
+ opacity: 0.4;
+}
+
diff --git a/uikit/static/css/custom.min.css b/uikit/static/css/custom.min.css
new file mode 100644
index 0000000..0e63380
--- /dev/null
+++ b/uikit/static/css/custom.min.css
@@ -0,0 +1 @@
+.capitalize{text-transform:capitalize}.uk-navbar-nav li{text-transform:capitalize;line-height:1em;vertical-align:middle}.icons>a{margin-bottom:.3em}.uk-icon-tag::before,.uk-icon-rss-square::before,.uk-icon-external-link::before{margin-right:.2em}.uk-icon-tag{margin-right:.5em}.license{padding-right:.5em}.heading{text-transform:uppercase;text-align:left;font-family:sans-serif;font-style:italic;font-size:1em;opacity:.4} \ No newline at end of file
diff --git a/uikit/static/css/index.html b/uikit/static/css/index.html
new file mode 100644
index 0000000..a15d211
--- /dev/null
+++ b/uikit/static/css/index.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width">
+ <title></title>
+ <link rel="stylesheet" href="uikit.css" type="text/css" media="all" />
+ </head>
+ <body>
+ body
+ </body>
+</html>
diff --git a/uikit/static/css/pygment.css b/uikit/static/css/pygment.css
new file mode 100644
index 0000000..fe2d5e0
--- /dev/null
+++ b/uikit/static/css/pygment.css
@@ -0,0 +1,63 @@
+.codehilite .hll { background-color: #ffffcc }
+.codehilite { background: #f8f8f8; }
+.codehilite .c { color: #408080; font-style: italic } /* Comment */
+.codehilite .err { border: 1px solid #FF0000 } /* Error */
+.codehilite .k { color: #008000; font-weight: bold } /* Keyword */
+.codehilite .o { color: #666666 } /* Operator */
+.codehilite .cm { color: #408080; font-style: italic } /* Comment.Multiline */
+.codehilite .cp { color: #BC7A00 } /* Comment.Preproc */
+.codehilite .c1 { color: #408080; font-style: italic } /* Comment.Single */
+.codehilite .cs { color: #408080; font-style: italic } /* Comment.Special */
+.codehilite .gd { color: #A00000 } /* Generic.Deleted */
+.codehilite .ge { font-style: italic } /* Generic.Emph */
+.codehilite .gr { color: #FF0000 } /* Generic.Error */
+.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.codehilite .gi { color: #00A000 } /* Generic.Inserted */
+.codehilite .go { color: #888888 } /* Generic.Output */
+.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.codehilite .gs { font-weight: bold } /* Generic.Strong */
+.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.codehilite .gt { color: #0044DD } /* Generic.Traceback */
+.codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.codehilite .kp { color: #008000 } /* Keyword.Pseudo */
+.codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.codehilite .kt { color: #B00040 } /* Keyword.Type */
+.codehilite .m { color: #666666 } /* Literal.Number */
+.codehilite .s { color: #BA2121 } /* Literal.String */
+.codehilite .na { color: #7D9029 } /* Name.Attribute */
+.codehilite .nb { color: #008000 } /* Name.Builtin */
+.codehilite .nc { color: #0000FF; font-weight: bold } /* Name.Class */
+.codehilite .no { color: #880000 } /* Name.Constant */
+.codehilite .nd { color: #AA22FF } /* Name.Decorator */
+.codehilite .ni { color: #999999; font-weight: bold } /* Name.Entity */
+.codehilite .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
+.codehilite .nf { color: #0000FF } /* Name.Function */
+.codehilite .nl { color: #A0A000 } /* Name.Label */
+.codehilite .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */
+.codehilite .nv { color: #19177C } /* Name.Variable */
+.codehilite .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+.codehilite .w { color: #bbbbbb } /* Text.Whitespace */
+.codehilite .mb { color: #666666 } /* Literal.Number.Bin */
+.codehilite .mf { color: #666666 } /* Literal.Number.Float */
+.codehilite .mh { color: #666666 } /* Literal.Number.Hex */
+.codehilite .mi { color: #666666 } /* Literal.Number.Integer */
+.codehilite .mo { color: #666666 } /* Literal.Number.Oct */
+.codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */
+.codehilite .sc { color: #BA2121 } /* Literal.String.Char */
+.codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.codehilite .s2 { color: #BA2121 } /* Literal.String.Double */
+.codehilite .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
+.codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */
+.codehilite .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
+.codehilite .sx { color: #008000 } /* Literal.String.Other */
+.codehilite .sr { color: #BB6688 } /* Literal.String.Regex */
+.codehilite .s1 { color: #BA2121 } /* Literal.String.Single */
+.codehilite .ss { color: #19177C } /* Literal.String.Symbol */
+.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */
+.codehilite .vc { color: #19177C } /* Name.Variable.Class */
+.codehilite .vg { color: #19177C } /* Name.Variable.Global */
+.codehilite .vi { color: #19177C } /* Name.Variable.Instance */
+.codehilite .il { color: #666666 } /* Literal.Number.Integer.Long */
diff --git a/uikit/static/css/pygment.min.css b/uikit/static/css/pygment.min.css
new file mode 100644
index 0000000..817624b
--- /dev/null
+++ b/uikit/static/css/pygment.min.css
@@ -0,0 +1 @@
+.codehilite .hll{background-color:#ffc}.codehilite{background:#f8f8f8}.codehilite .c{color:#408080;font-style:italic}.codehilite .err{border:1px solid red}.codehilite .k{color:green;font-weight:700}.codehilite .o{color:#666}.codehilite .cm{color:#408080;font-style:italic}.codehilite .cp{color:#BC7A00}.codehilite .c1{color:#408080;font-style:italic}.codehilite .cs{color:#408080;font-style:italic}.codehilite .gd{color:#A00000}.codehilite .ge{font-style:italic}.codehilite .gr{color:red}.codehilite .gh{color:navy;font-weight:700}.codehilite .gi{color:#00A000}.codehilite .go{color:#888}.codehilite .gp{color:navy;font-weight:700}.codehilite .gs{font-weight:700}.codehilite .gu{color:purple;font-weight:700}.codehilite .gt{color:#04D}.codehilite .kc{color:green;font-weight:700}.codehilite .kd{color:green;font-weight:700}.codehilite .kn{color:green;font-weight:700}.codehilite .kp{color:green}.codehilite .kr{color:green;font-weight:700}.codehilite .kt{color:#B00040}.codehilite .m{color:#666}.codehilite .s{color:#BA2121}.codehilite .na{color:#7D9029}.codehilite .nb{color:green}.codehilite .nc{color:#00F;font-weight:700}.codehilite .no{color:#800}.codehilite .nd{color:#A2F}.codehilite .ni{color:#999;font-weight:700}.codehilite .ne{color:#D2413A;font-weight:700}.codehilite .nf{color:#00F}.codehilite .nl{color:#A0A000}.codehilite .nn{color:#00F;font-weight:700}.codehilite .nt{color:green;font-weight:700}.codehilite .nv{color:#19177C}.codehilite .ow{color:#A2F;font-weight:700}.codehilite .w{color:#bbb}.codehilite .mb{color:#666}.codehilite .mf{color:#666}.codehilite .mh{color:#666}.codehilite .mi{color:#666}.codehilite .mo{color:#666}.codehilite .sb{color:#BA2121}.codehilite .sc{color:#BA2121}.codehilite .sd{color:#BA2121;font-style:italic}.codehilite .s2{color:#BA2121}.codehilite .se{color:#B62;font-weight:700}.codehilite .sh{color:#BA2121}.codehilite .si{color:#B68;font-weight:700}.codehilite .sx{color:green}.codehilite .sr{color:#B68}.codehilite .s1{color:#BA2121}.codehilite .ss{color:#19177C}.codehilite .bp{color:green}.codehilite .vc{color:#19177C}.codehilite .vg{color:#19177C}.codehilite .vi{color:#19177C}.codehilite .il{color:#666} \ No newline at end of file
diff --git a/uikit/static/css/uikit.almost-flat.css b/uikit/static/css/uikit.almost-flat.css
new file mode 100644
index 0000000..5dd95df
--- /dev/null
+++ b/uikit/static/css/uikit.almost-flat.css
@@ -0,0 +1,8355 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Base
+ ========================================================================== */
+/*
+ * 1. Normalizes default `font-family` and sets `font-size` here to support `rem` units
+ * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
+ * 3. Style
+ */
+html {
+ /* 1 */
+ font: normal 14px / 20px "Helvetica Neue", Helvetica, Arial, sans-serif;
+ /* 2 */
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ /* 3 */
+ background: #ffffff;
+ color: #444444;
+}
+/*
+ * Removes default margin.
+ */
+body {
+ margin: 0;
+}
+/* Links
+ ========================================================================== */
+/*
+ * Remove the gray background color from active links in IE 10.
+ */
+a {
+ background: transparent;
+}
+/*
+ * Improves readability when focused and also mouse hovered in all browsers.
+ */
+a:active,
+a:hover {
+ outline: 0;
+}
+/*
+ * Style
+ */
+a,
+.uk-link {
+ color: #0077dd;
+ text-decoration: none;
+ cursor: pointer;
+}
+a:hover,
+.uk-link:hover {
+ color: #005599;
+ text-decoration: underline;
+}
+/* Text-level semantics
+ ========================================================================== */
+/*
+ * Addresses styling not present in Chrome, Safari, Opera and IE 8/9/10.
+ */
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+/*
+ * Addresses style set to `bolder` in Firefox
+ */
+b,
+strong {
+ font-weight: bold;
+}
+/*
+ * 1. Address odd `em`-unit font size rendering in all browsers.
+ * 2. Consolas has a better baseline in running text compared to `Courier`
+ */
+:not(pre) > code,
+:not(pre) > kbd,
+:not(pre) > samp {
+ /* 1 */
+ font-size: 12px;
+ /* 2 */
+ font-family: Consolas, monospace, serif;
+ /* 3 */
+ color: #dd0055;
+ white-space: nowrap;
+ padding: 0 4px;
+ border: 1px solid #dddddd;
+ border-radius: 3px;
+ background: #fafafa;
+}
+/*
+ * Emphasize
+ */
+em {
+ color: #dd0055;
+}
+/*
+ * Insert
+ */
+ins {
+ background: #ffffaa;
+ color: #444444;
+ text-decoration: none;
+}
+/*
+ * Mark
+ * Note: Addresses styling not present in IE 8/9.
+ */
+mark {
+ background: #ffffaa;
+ color: #444444;
+}
+/*
+ * Quote
+ */
+q {
+ font-style: italic;
+}
+/*
+ * Addresses inconsistent and variable font size in all browsers.
+ */
+small {
+ font-size: 80%;
+}
+/*
+ * Prevents `sub` and `sup` affecting `line-height` in all browsers.
+ */
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+sup {
+ top: -0.5em;
+}
+sub {
+ bottom: -0.25em;
+}
+/* Images
+ ========================================================================== */
+/*
+ * 1. Responsiveness: Sets a maximum width relative to the parent and auto scales the height
+ * 2. Corrects `max-width` behavior if padding and border are used
+ * 3. Remove border when inside `a` element in IE 8/9/10.
+ * 4. Remove the gap between images and the bottom of their containers
+ */
+img {
+ /* 1 */
+ max-width: 100%;
+ height: auto;
+ /* 2 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 3 */
+ border: 0;
+ /* 4 */
+ vertical-align: middle;
+}
+/*
+ * Preserve original image dimensions
+ */
+.uk-img-preserve,
+.uk-img-preserve img {
+ max-width: none;
+}
+/*
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+svg:not(:root) {
+ overflow: hidden;
+}
+/* Block elements
+ ========================================================================== */
+/*
+ * Reset margin
+ */
+blockquote,
+figure {
+ margin: 0;
+}
+/*
+ * Margins
+ */
+p,
+ul,
+ol,
+dl,
+blockquote,
+pre,
+address,
+fieldset,
+figure {
+ margin: 0 0 15px 0;
+}
+* + p,
+* + ul,
+* + ol,
+* + dl,
+* + blockquote,
+* + pre,
+* + address,
+* + fieldset,
+* + figure {
+ margin-top: 15px;
+}
+/* Headings
+ ========================================================================== */
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin: 0 0 15px 0;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ color: #444444;
+ text-transform: none;
+}
+/*
+ * Margins
+ */
+* + h1,
+* + h2,
+* + h3,
+* + h4,
+* + h5,
+* + h6 {
+ margin-top: 25px;
+}
+/*
+ * Sizes
+ */
+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;
+}
+/* Lists
+ ========================================================================== */
+ul,
+ol {
+ padding-left: 30px;
+}
+/*
+ * Reset margin for nested lists
+ */
+ul > li > ul,
+ul > li > ol,
+ol > li > ol,
+ol > li > ul {
+ margin: 0;
+}
+/* Description lists
+ ========================================================================== */
+dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: 0;
+}
+/* Horizontal rules
+ ========================================================================== */
+/*
+ * 1. Address differences between Firefox and other browsers.
+ * 2. Style
+ */
+hr {
+ /* 1 */
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ /* 2 */
+ margin: 15px 0;
+ border: 0;
+ border-top: 1px solid #dddddd;
+}
+/* Address
+ ========================================================================== */
+address {
+ font-style: normal;
+}
+/* Blockquotes
+ ========================================================================== */
+blockquote {
+ padding-left: 15px;
+ border-left: 5px solid #dddddd;
+ font-size: 16px;
+ line-height: 22px;
+ font-style: italic;
+}
+/* Preformatted text
+ ========================================================================== */
+/*
+ * 1. Contain overflow in all browsers.
+ */
+pre {
+ padding: 10px;
+ background: #fafafa;
+ font: 12px / 18px Consolas, monospace, serif;
+ color: #444444;
+ -moz-tab-size: 4;
+ tab-size: 4;
+ /* 1 */
+ overflow: auto;
+ border: 1px solid #dddddd;
+ border-radius: 3px;
+}
+/* Selection pseudo-element
+ ========================================================================== */
+::-moz-selection {
+ background: #3399ff;
+ color: #ffffff;
+ text-shadow: none;
+}
+::selection {
+ background: #3399ff;
+ color: #ffffff;
+ text-shadow: none;
+}
+/* HTML5 elements
+ ========================================================================== */
+/*
+ * Corrects `block` display not defined in IE 8/9.
+ */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+/*
+ * Addresses inconsistent vertical alignment of `progress` in Chrome, Firefox and Opera.
+ */
+progress {
+ vertical-align: baseline;
+}
+/*
+ * Prevent displaying `audio` without controls in Chrome, Safari and Opera
+ */
+audio:not([controls]) {
+ display: none;
+}
+/*
+ * Address `[hidden]` styling not present in IE 8/9.
+ * Hide the `template` element in IE and Safari
+ */
+[hidden],
+template {
+ display: none;
+}
+/* Iframe
+ ========================================================================== */
+iframe {
+ border: 0;
+}
+/* Fix viewport for IE10 snap mode
+ ========================================================================== */
+@media screen and (max-width: 400px) {
+ @-ms-viewport {
+ width: device-width;
+ }
+}
+/* ========================================================================
+ Component: Grid
+ ========================================================================== */
+/*
+ * 1. Makes grid more robust so that it can be used with other block elements like lists
+ */
+.uk-grid {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /* 1 */
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+/*
+ * DEPRECATED
+ * Micro clearfix
+ * Can't use `table` because it creates a 1px gap when it becomes a flex item, only in Webkit
+ */
+.uk-grid:before,
+.uk-grid:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-grid:after {
+ clear: both;
+}
+/*
+ * Grid cell
+ * 1. Space is allocated solely based on content dimensions
+ * 2. Makes grid more robust so that it can be used with other block elements
+ * 3. DEPRECATED Using `float` to support IE9
+ */
+.uk-grid > * {
+ /* 1 */
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ /* 2 */
+ margin: 0;
+ /* 3 */
+ float: left;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-grid > * > :last-child {
+ margin-bottom: 0;
+}
+/* Grid gutter
+ ========================================================================== */
+/*
+ * Default gutter
+ */
+/* Horizontal */
+.uk-grid {
+ margin-left: -25px;
+}
+.uk-grid > * {
+ padding-left: 25px;
+}
+/* Vertical */
+.uk-grid + .uk-grid,
+.uk-grid-margin,
+.uk-grid > * > .uk-panel + .uk-panel {
+ margin-top: 25px;
+}
+/* Large screen and bigger */
+@media (min-width: 1220px) {
+ /* Horizontal */
+ .uk-grid {
+ margin-left: -35px;
+ }
+ .uk-grid > * {
+ padding-left: 35px;
+ }
+ /* Vertical */
+ .uk-grid + .uk-grid,
+ .uk-grid-margin,
+ .uk-grid > * > .uk-panel + .uk-panel {
+ margin-top: 35px;
+ }
+}
+/*
+ * Collapse gutter
+ */
+/* Horizontal */
+.uk-grid-collapse {
+ margin-left: 0;
+}
+.uk-grid-collapse > * {
+ padding-left: 0;
+}
+/* Vertical */
+.uk-grid-collapse + .uk-grid-collapse,
+.uk-grid-collapse > .uk-grid-margin,
+.uk-grid-collapse > * > .uk-panel + .uk-panel {
+ margin-top: 0;
+}
+/*
+ * Small gutter
+ */
+/* Horizontal */
+.uk-grid-small {
+ margin-left: -10px;
+}
+.uk-grid-small > * {
+ padding-left: 10px;
+}
+/* Vertical */
+.uk-grid-small + .uk-grid-small,
+.uk-grid-small > .uk-grid-margin,
+.uk-grid-small > * > .uk-panel + .uk-panel {
+ margin-top: 10px;
+}
+/*
+ * Medium gutter
+ */
+/* Horizontal */
+.uk-grid-medium {
+ margin-left: -25px;
+}
+.uk-grid-medium > * {
+ padding-left: 25px;
+}
+/* Vertical */
+.uk-grid-medium + .uk-grid-medium,
+.uk-grid-medium > .uk-grid-margin,
+.uk-grid-medium > * > .uk-panel + .uk-panel {
+ margin-top: 25px;
+}
+/* Modifier: `uk-grid-divider`
+ ========================================================================== */
+/*
+ * Horizontal divider
+ * Only works with the default gutter. Does not work with gutter collapse, small or large.
+ * Does not work with `uk-push-*`, `uk-pull-*` and not if the columns float into the next row.
+ */
+.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 #dddddd;
+}
+/* Tablet and bigger */
+@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 #dddddd;
+ }
+}
+/* Desktop and bigger */
+@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 #dddddd;
+ }
+}
+/* Large screen and bigger */
+@media (min-width: 1220px) {
+ /*
+ * Large gutter
+ */
+ .uk-grid-divider:not(:empty) {
+ margin-left: -35px;
+ margin-right: -35px;
+ }
+ .uk-grid-divider > * {
+ padding-left: 35px;
+ padding-right: 35px;
+ }
+ .uk-grid-divider:empty {
+ margin-top: 35px;
+ margin-bottom: 35px;
+ }
+}
+/*
+ * Vertical divider
+ */
+.uk-grid-divider:empty {
+ margin-top: 25px;
+ margin-bottom: 25px;
+ border-top: 1px solid #dddddd;
+}
+/* Match panels in grids
+ ========================================================================== */
+.uk-grid-match > * {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+}
+/*
+ * 1. Behave like a block element
+ */
+.uk-grid-match > * > * {
+ /* 1 */
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 100%;
+}
+/* Even grid cell widths
+ ========================================================================== */
+[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%;
+}
+/* Phone landscape and bigger */
+@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%;
+ }
+}
+/* Tablet and bigger */
+@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%;
+ }
+}
+/* Desktop and bigger */
+@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%;
+ }
+}
+/* Large screen and bigger */
+@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%;
+ }
+}
+/* Sub-objects: `uk-width-*`
+ ========================================================================== */
+[class*='uk-width'] {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 100%;
+}
+/*
+ * Widths
+ */
+/* Whole */
+.uk-width-1-1 {
+ width: 100%;
+}
+/* Halves */
+.uk-width-1-2,
+.uk-width-2-4,
+.uk-width-3-6,
+.uk-width-5-10 {
+ width: 50%;
+}
+/* Thirds */
+.uk-width-1-3,
+.uk-width-2-6 {
+ width: 33.333%;
+}
+.uk-width-2-3,
+.uk-width-4-6 {
+ width: 66.666%;
+}
+/* Quarters */
+.uk-width-1-4 {
+ width: 25%;
+}
+.uk-width-3-4 {
+ width: 75%;
+}
+/* Fifths */
+.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%;
+}
+/* Sixths */
+.uk-width-1-6 {
+ width: 16.666%;
+}
+.uk-width-5-6 {
+ width: 83.333%;
+}
+/* Tenths */
+.uk-width-1-10 {
+ width: 10%;
+}
+.uk-width-3-10 {
+ width: 30%;
+}
+.uk-width-7-10 {
+ width: 70%;
+}
+.uk-width-9-10 {
+ width: 90%;
+}
+/* Phone landscape and bigger */
+@media (min-width: 480px) {
+ /* Whole */
+ .uk-width-small-1-1 {
+ width: 100%;
+ }
+ /* Halves */
+ .uk-width-small-1-2,
+ .uk-width-small-2-4,
+ .uk-width-small-3-6,
+ .uk-width-small-5-10 {
+ width: 50%;
+ }
+ /* Thirds */
+ .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%;
+ }
+ /* Quarters */
+ .uk-width-small-1-4 {
+ width: 25%;
+ }
+ .uk-width-small-3-4 {
+ width: 75%;
+ }
+ /* Fifths */
+ .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%;
+ }
+ /* Sixths */
+ .uk-width-small-1-6 {
+ width: 16.666%;
+ }
+ .uk-width-small-5-6 {
+ width: 83.333%;
+ }
+ /* Tenths */
+ .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%;
+ }
+}
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ /* Whole */
+ .uk-width-medium-1-1 {
+ width: 100%;
+ }
+ /* Halves */
+ .uk-width-medium-1-2,
+ .uk-width-medium-2-4,
+ .uk-width-medium-3-6,
+ .uk-width-medium-5-10 {
+ width: 50%;
+ }
+ /* Thirds */
+ .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%;
+ }
+ /* Quarters */
+ .uk-width-medium-1-4 {
+ width: 25%;
+ }
+ .uk-width-medium-3-4 {
+ width: 75%;
+ }
+ /* Fifths */
+ .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%;
+ }
+ /* Sixths */
+ .uk-width-medium-1-6 {
+ width: 16.666%;
+ }
+ .uk-width-medium-5-6 {
+ width: 83.333%;
+ }
+ /* Tenths */
+ .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%;
+ }
+}
+/* Desktop and bigger */
+@media (min-width: 960px) {
+ /* Whole */
+ .uk-width-large-1-1 {
+ width: 100%;
+ }
+ /* Halves */
+ .uk-width-large-1-2,
+ .uk-width-large-2-4,
+ .uk-width-large-3-6,
+ .uk-width-large-5-10 {
+ width: 50%;
+ }
+ /* Thirds */
+ .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%;
+ }
+ /* Quarters */
+ .uk-width-large-1-4 {
+ width: 25%;
+ }
+ .uk-width-large-3-4 {
+ width: 75%;
+ }
+ /* Fifths */
+ .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%;
+ }
+ /* Sixths */
+ .uk-width-large-1-6 {
+ width: 16.666%;
+ }
+ .uk-width-large-5-6 {
+ width: 83.333%;
+ }
+ /* Tenths */
+ .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%;
+ }
+}
+/* Sub-object: `uk-push-*` and `uk-pull-*`
+ ========================================================================== */
+/*
+ * Source ordering
+ * Works only with `uk-width-medium-*`
+ */
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ [class*='uk-push-'],
+ [class*='uk-pull-'] {
+ position: relative;
+ }
+ /*
+ * Push
+ */
+ /* Halves */
+ .uk-push-1-2,
+ .uk-push-2-4,
+ .uk-push-3-6,
+ .uk-push-5-10 {
+ left: 50%;
+ }
+ /* Thirds */
+ .uk-push-1-3,
+ .uk-push-2-6 {
+ left: 33.333%;
+ }
+ .uk-push-2-3,
+ .uk-push-4-6 {
+ left: 66.666%;
+ }
+ /* Quarters */
+ .uk-push-1-4 {
+ left: 25%;
+ }
+ .uk-push-3-4 {
+ left: 75%;
+ }
+ /* Fifths */
+ .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%;
+ }
+ /* Sixths */
+ .uk-push-1-6 {
+ left: 16.666%;
+ }
+ .uk-push-5-6 {
+ left: 83.333%;
+ }
+ /* Tenths */
+ .uk-push-1-10 {
+ left: 10%;
+ }
+ .uk-push-3-10 {
+ left: 30%;
+ }
+ .uk-push-7-10 {
+ left: 70%;
+ }
+ .uk-push-9-10 {
+ left: 90%;
+ }
+ /*
+ * Pull
+ */
+ /* Halves */
+ .uk-pull-1-2,
+ .uk-pull-2-4,
+ .uk-pull-3-6,
+ .uk-pull-5-10 {
+ left: -50%;
+ }
+ /* Thirds */
+ .uk-pull-1-3,
+ .uk-pull-2-6 {
+ left: -33.333%;
+ }
+ .uk-pull-2-3,
+ .uk-pull-4-6 {
+ left: -66.666%;
+ }
+ /* Quarters */
+ .uk-pull-1-4 {
+ left: -25%;
+ }
+ .uk-pull-3-4 {
+ left: -75%;
+ }
+ /* Fifths */
+ .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%;
+ }
+ /* Sixths */
+ .uk-pull-1-6 {
+ left: -16.666%;
+ }
+ .uk-pull-5-6 {
+ left: -83.333%;
+ }
+ /* Tenths */
+ .uk-pull-1-10 {
+ left: -10%;
+ }
+ .uk-pull-3-10 {
+ left: -30%;
+ }
+ .uk-pull-7-10 {
+ left: -70%;
+ }
+ .uk-pull-9-10 {
+ left: -90%;
+ }
+}
+/* ========================================================================
+ Component: Panel
+ ========================================================================== */
+/*
+ * 1. Needed for `a` elements
+ * 2. Create position context for badges
+ */
+.uk-panel {
+ /* 1 */
+ display: block;
+ /* 2 */
+ position: relative;
+}
+/*
+ * Allow panels to be anchors
+ */
+.uk-panel,
+.uk-panel:hover {
+ text-decoration: none;
+}
+/*
+ * Micro clearfix to make panels more robust
+ */
+.uk-panel:before,
+.uk-panel:after {
+ content: "";
+ display: table;
+}
+.uk-panel:after {
+ clear: both;
+}
+/*
+ * Remove margin from the last-child if not `uk-widget-title`
+ */
+.uk-panel > :not(.uk-panel-title):last-child {
+ margin-bottom: 0;
+}
+/* Sub-object: `uk-panel-title`
+ ========================================================================== */
+.uk-panel-title {
+ margin-top: 0;
+ margin-bottom: 15px;
+ font-size: 18px;
+ line-height: 24px;
+ font-weight: normal;
+ text-transform: none;
+ color: #444444;
+}
+/* Sub-object: `uk-panel-badge`
+ ========================================================================== */
+.uk-panel-badge {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 1;
+}
+/* Sub-object: `uk-panel-teaser`
+ ========================================================================== */
+.uk-panel-teaser {
+ margin-bottom: 15px;
+}
+/* Modifier: `uk-panel-box`
+ ========================================================================== */
+.uk-panel-box {
+ padding: 15px;
+ background: #fafafa;
+ color: #444444;
+ border: 1px solid #dddddd;
+ border-radius: 4px;
+}
+.uk-panel-box-hover:hover {
+ color: #444444;
+}
+.uk-panel-box .uk-panel-title {
+ color: #444444;
+}
+.uk-panel-box .uk-panel-badge {
+ top: 10px;
+ right: 10px;
+}
+.uk-panel-box .uk-panel-teaser {
+ margin-top: -16px;
+ margin-left: -16px;
+ margin-right: -16px;
+}
+/*
+ * Nav in panel
+ */
+.uk-panel-box > .uk-nav-side {
+ margin: 0 -15px;
+}
+/*
+ * Sub-modifier: `uk-panel-box-primary`
+ */
+.uk-panel-box-primary {
+ background-color: #ebf7fd;
+ color: #2d7091;
+ border-color: rgba(45, 112, 145, 0.3);
+}
+.uk-panel-box-primary-hover:hover {
+ color: #2d7091;
+}
+.uk-panel-box-primary .uk-panel-title {
+ color: #2d7091;
+}
+/*
+ * Sub-modifier: `uk-panel-box-secondary`
+ */
+.uk-panel-box-secondary {
+ background-color: #ffffff;
+ color: #444444;
+}
+.uk-panel-box-secondary-hover:hover {
+ color: #444444;
+}
+.uk-panel-box-secondary .uk-panel-title {
+ color: #444444;
+}
+/* Modifier: `uk-panel-hover`
+ ========================================================================== */
+.uk-panel-hover {
+ padding: 15px;
+ color: #444444;
+ border: 1px solid transparent;
+ border-radius: 4px;
+}
+.uk-panel-hover:hover {
+ background: #fafafa;
+ color: #444444;
+ border-color: #dddddd;
+}
+.uk-panel-hover .uk-panel-badge {
+ top: 10px;
+ right: 10px;
+}
+.uk-panel-hover .uk-panel-teaser {
+ margin-top: -16px;
+ margin-left: -16px;
+ margin-right: -16px;
+}
+/* Modifier: `uk-panel-header`
+ ========================================================================== */
+.uk-panel-header .uk-panel-title {
+ padding-bottom: 10px;
+ border-bottom: 1px solid #dddddd;
+ color: #444444;
+}
+/* Modifier: `uk-panel-space`
+ ========================================================================== */
+.uk-panel-space {
+ padding: 30px;
+}
+.uk-panel-space .uk-panel-badge {
+ top: 30px;
+ right: 30px;
+}
+/* Modifier: `uk-panel-divider`
+ ========================================================================== */
+.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 #dddddd;
+}
+/* Large screen and bigger */
+@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;
+ overflow: hidden;
+ -webkit-transform: translateZ(0);
+}
+/* ========================================================================
+ Component: Block
+ ========================================================================== */
+.uk-block {
+ position: relative;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ padding-top: 20px;
+ padding-bottom: 20px;
+}
+/* Phone landscape and bigger */
+@media (min-width: 768px) {
+ .uk-block {
+ padding-top: 50px;
+ padding-bottom: 50px;
+ }
+}
+/*
+ * Micro clearfix to make blocks more robust
+ */
+.uk-block:before,
+.uk-block:after {
+ content: "";
+ display: table;
+}
+.uk-block:after {
+ clear: both;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-block > :last-child {
+ margin-bottom: 0;
+}
+/* Padding Modifier
+ ========================================================================== */
+/*
+ * Large padding
+ */
+.uk-block-large {
+ padding-top: 20px;
+ padding-bottom: 20px;
+}
+/* Tablets and bigger */
+@media (min-width: 768px) {
+ .uk-block-large {
+ padding-top: 50px;
+ padding-bottom: 50px;
+ }
+}
+/* Desktop and bigger */
+@media (min-width: 960px) {
+ .uk-block-large {
+ padding-top: 100px;
+ padding-bottom: 100px;
+ }
+}
+/* Color Modifier
+ ========================================================================== */
+/*
+ * Default
+ */
+.uk-block-default {
+ background: #ffffff;
+}
+/*
+ * Muted
+ */
+.uk-block-muted {
+ background: #f9f9f9;
+}
+/*
+ * Primary
+ */
+.uk-block-primary {
+ background: #00a8e6;
+}
+/*
+ * Secondary
+ */
+.uk-block-secondary {
+ background: #222222;
+}
+/*
+ * Adjust padding between equal colored blocks
+ */
+.uk-block-default + .uk-block-default,
+.uk-block-muted + .uk-block-muted,
+.uk-block-primary + .uk-block-primary,
+.uk-block-secondary + .uk-block-secondary {
+ padding-top: 0;
+}
+/* ========================================================================
+ Component: Article
+ ========================================================================== */
+/*
+ * Micro clearfix to make articles more robust
+ */
+.uk-article:before,
+.uk-article:after {
+ content: "";
+ display: table;
+}
+.uk-article:after {
+ clear: both;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-article > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Vertical gutter for articles
+ */
+.uk-article + .uk-article {
+ margin-top: 25px;
+}
+/* Sub-object `uk-article-title`
+ ========================================================================== */
+.uk-article-title {
+ font-size: 36px;
+ line-height: 42px;
+ font-weight: normal;
+ text-transform: none;
+}
+.uk-article-title a {
+ color: inherit;
+ text-decoration: none;
+}
+/* Sub-object `uk-article-meta`
+ ========================================================================== */
+.uk-article-meta {
+ font-size: 12px;
+ line-height: 18px;
+ color: #999999;
+}
+/* Sub-object `uk-article-lead`
+ ========================================================================== */
+.uk-article-lead {
+ color: #444444;
+ font-size: 18px;
+ line-height: 24px;
+ font-weight: normal;
+}
+/* Sub-object `uk-article-divider`
+ ========================================================================== */
+.uk-article-divider {
+ margin-bottom: 25px;
+ border-color: #dddddd;
+}
+* + .uk-article-divider {
+ margin-top: 25px;
+}
+.uk-article + .uk-article {
+ padding-top: 25px;
+ border-top: 1px solid #dddddd;
+}
+/* ========================================================================
+ Component: Comment
+ ========================================================================== */
+/* Sub-object `uk-comment-header`
+ ========================================================================== */
+.uk-comment-header {
+ margin-bottom: 15px;
+ padding: 10px;
+ border: 1px solid #dddddd;
+ border-radius: 4px;
+ background: #fafafa;
+}
+/*
+ * Micro clearfix
+ */
+.uk-comment-header:before,
+.uk-comment-header:after {
+ content: "";
+ display: table;
+}
+.uk-comment-header:after {
+ clear: both;
+}
+/* Sub-object `uk-comment-avatar`
+ ========================================================================== */
+.uk-comment-avatar {
+ margin-right: 15px;
+ float: left;
+}
+/* Sub-object `uk-comment-title`
+ ========================================================================== */
+.uk-comment-title {
+ margin: 5px 0 0 0;
+ font-size: 16px;
+ line-height: 22px;
+}
+/* Sub-object `uk-comment-meta`
+ ========================================================================== */
+.uk-comment-meta {
+ margin: 2px 0 0 0;
+ font-size: 11px;
+ line-height: 16px;
+ color: #999999;
+}
+/* Sub-object `uk-comment-body`
+ ========================================================================== */
+.uk-comment-body {
+ padding-left: 10px;
+ padding-right: 10px;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-comment-body > :last-child {
+ margin-bottom: 0;
+}
+/* Sub-object `uk-comment-list`
+ ========================================================================== */
+.uk-comment-list {
+ padding: 0;
+ list-style: none;
+}
+.uk-comment-list .uk-comment + ul {
+ margin: 25px 0 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;
+}
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ .uk-comment-list .uk-comment + ul {
+ padding-left: 100px;
+ }
+}
+/* Modifier `uk-comment-primary`
+ ========================================================================== */
+.uk-comment-primary .uk-comment-header {
+ border-color: rgba(45, 112, 145, 0.3);
+ background-color: #ebf7fd;
+ color: #2d7091;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/* ========================================================================
+ Component: Cover
+ ========================================================================== */
+/*
+ * Background image always covers and centers its element
+ */
+.uk-cover-background {
+ background-position: 50% 50%;
+ background-size: cover;
+ background-repeat: no-repeat;
+}
+/*
+ * Emulates image cover, works with video and image elements
+ * 1. Parent container which clips resized object
+ * 2. Resizes the object to always covers its container
+ * 3. Reset the responsive image CSS
+ * 4. Center object
+ */
+/* 1 */
+.uk-cover {
+ overflow: hidden;
+}
+.uk-cover-object {
+ /* 2 */
+ width: auto;
+ height: auto;
+ min-width: 100%;
+ min-height: 100%;
+ /* 3 */
+ max-width: none;
+ /* 4 */
+ position: relative;
+ left: 50%;
+ top: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+}
+/*
+ * To center iframes use `data-uk-cover` JavaScript
+ */
+[data-uk-cover] {
+ position: relative;
+ left: 50%;
+ top: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+}
+/* ========================================================================
+ Component: Nav
+ ========================================================================== */
+.uk-nav,
+.uk-nav ul {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+/*
+ * Items
+ */
+.uk-nav li > a {
+ display: block;
+ text-decoration: none;
+}
+.uk-nav > li > a {
+ padding: 5px 15px;
+}
+/*
+ * Nested items
+ */
+.uk-nav ul {
+ padding-left: 15px;
+}
+.uk-nav ul a {
+ padding: 2px 0;
+}
+/*
+ * Item subtitle
+ */
+.uk-nav li > a > div {
+ font-size: 12px;
+ line-height: 18px;
+}
+/* Sub-object: `uk-nav-header`
+ ========================================================================== */
+.uk-nav-header {
+ padding: 5px 15px;
+ text-transform: uppercase;
+ font-weight: bold;
+ font-size: 12px;
+}
+.uk-nav-header:not(:first-child) {
+ margin-top: 15px;
+}
+/* Sub-object: `uk-nav-divider`
+ ========================================================================== */
+.uk-nav-divider {
+ margin: 9px 15px;
+}
+/* Sub-object: `uk-nav-sub`
+ ========================================================================== */
+/*
+ * `ul` needed for higher specificity to override padding
+ */
+ul.uk-nav-sub {
+ padding: 5px 0 5px 15px;
+}
+/* Modifier: `uk-nav-parent-icon`
+ ========================================================================== */
+.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";
+}
+/* Modifier `uk-nav-side`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-side > li > a {
+ color: #444444;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-nav-side > li > a:hover,
+.uk-nav-side > li > a:focus {
+ background: rgba(0, 0, 0, 0.03);
+ color: #444444;
+ /* 2 */
+ outline: none;
+ box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.06);
+ text-shadow: 0 -1px 0 #ffffff;
+}
+/* Active */
+.uk-nav-side > li.uk-active > a {
+ background: #00a8e6;
+ color: #ffffff;
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-side .uk-nav-header {
+ color: #444444;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-side .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+ box-shadow: 0 1px 0 #ffffff;
+}
+/*
+ * Nested items
+ */
+.uk-nav-side ul a {
+ color: #0077dd;
+}
+.uk-nav-side ul a:hover {
+ color: #005599;
+}
+/* Modifier `uk-nav-dropdown`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-dropdown > li > a {
+ color: #444444;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-nav-dropdown > li > a:hover,
+.uk-nav-dropdown > li > a:focus {
+ background: #00a8e6;
+ color: #ffffff;
+ /* 2 */
+ outline: none;
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-dropdown .uk-nav-header {
+ color: #999999;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-dropdown .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+/*
+ * Nested items
+ */
+.uk-nav-dropdown ul a {
+ color: #0077dd;
+}
+.uk-nav-dropdown ul a:hover {
+ color: #005599;
+}
+/* Modifier `uk-nav-navbar`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-navbar > li > a {
+ color: #444444;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-nav-navbar > li > a:hover,
+.uk-nav-navbar > li > a:focus {
+ background: #00a8e6;
+ color: #ffffff;
+ /* 2 */
+ outline: none;
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-navbar .uk-nav-header {
+ color: #999999;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-navbar .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+/*
+ * Nested items
+ */
+.uk-nav-navbar ul a {
+ color: #0077dd;
+}
+.uk-nav-navbar ul a:hover {
+ color: #005599;
+}
+/* Modifier `uk-nav-offcanvas`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-offcanvas > li > a {
+ color: #cccccc;
+ padding: 10px 15px;
+ border-top: 1px solid rgba(0, 0, 0, 0.3);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
+}
+/*
+ * Hover
+ * No hover on touch devices because it behaves buggy in fixed offcanvas
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.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: #ffffff;
+ /* 2 */
+ outline: none;
+}
+/*
+ * Active
+ * `html .uk-nav` needed for higher specificity to override hover
+ */
+html .uk-nav.uk-nav-offcanvas > li.uk-active > a {
+ background: #1a1a1a;
+ color: #ffffff;
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-offcanvas .uk-nav-header {
+ color: #777777;
+ margin-top: 0;
+ border-top: 1px solid rgba(0, 0, 0, 0.3);
+ background: #404040;
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-offcanvas .uk-nav-divider {
+ border-top: 1px solid rgba(255, 255, 255, 0.01);
+ margin: 0;
+ height: 4px;
+ background: rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
+}
+/*
+ * Nested items
+ * No hover on touch devices because it behaves buggy in fixed offcanvas
+ */
+.uk-nav-offcanvas ul a {
+ color: #cccccc;
+}
+html:not(.uk-touch) .uk-nav-offcanvas ul a:hover {
+ color: #ffffff;
+}
+/*
+ * Modifier `uk-nav-offcanvas`
+ */
+.uk-nav-offcanvas {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.3);
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
+}
+/*
+ * Sub-object: `uk-nav-sub`
+ */
+.uk-nav-offcanvas .uk-nav-sub {
+ border-top: 1px solid rgba(0, 0, 0, 0.3);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
+}
+/* ========================================================================
+ Component: Navbar
+ ========================================================================== */
+.uk-navbar {
+ background: #f5f5f5;
+ color: #444444;
+ border: 1px solid rgba(0, 0, 0, 0.06);
+ border-radius: 4px;
+}
+/*
+ * Micro clearfix
+ */
+.uk-navbar:before,
+.uk-navbar:after {
+ content: "";
+ display: table;
+}
+.uk-navbar:after {
+ clear: both;
+}
+/* Sub-object: `uk-navbar-nav`
+ ========================================================================== */
+.uk-navbar-nav {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ float: left;
+}
+/*
+ * 1. Create position context for dropdowns
+ */
+.uk-navbar-nav > li {
+ float: left;
+ /* 1 */
+ position: relative;
+}
+/*
+ * 1. Dimensions
+ * 2. Style
+ */
+.uk-navbar-nav > li > a {
+ display: block;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ text-decoration: none;
+ /* 1 */
+ height: 41px;
+ padding: 0 15px;
+ line-height: 40px;
+ /* 2 */
+ color: #444444;
+ font-size: 14px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ margin-top: -1px;
+ margin-left: -1px;
+ border: 1px solid transparent;
+ border-bottom-width: 0;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/* Appear not as link */
+.uk-navbar-nav > li > a[href='#'] {
+ cursor: text;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Also apply if dropdown is opened
+ * 3. Remove default focus style
+ */
+.uk-navbar-nav > li:hover > a,
+.uk-navbar-nav > li > a:focus,
+.uk-navbar-nav > li.uk-open > a {
+ background-color: #fafafa;
+ color: #444444;
+ /* 3 */
+ outline: none;
+ position: relative;
+ z-index: 1;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.1);
+}
+/* OnClick */
+.uk-navbar-nav > li > a:active {
+ background-color: #eeeeee;
+ color: #444444;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.2);
+}
+/* Active */
+.uk-navbar-nav > li.uk-active > a {
+ background-color: #fafafa;
+ color: #444444;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.1);
+}
+/* Sub-objects: `uk-navbar-nav-subtitle`
+ ========================================================================== */
+.uk-navbar-nav .uk-navbar-nav-subtitle {
+ line-height: 28px;
+}
+.uk-navbar-nav-subtitle > div {
+ margin-top: -6px;
+ font-size: 10px;
+ line-height: 12px;
+}
+/* Sub-objects: `uk-navbar-content`, `uk-navbar-brand`, `uk-navbar-toggle`
+ ========================================================================== */
+/*
+ * Imitate navbar items
+ */
+.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 #ffffff;
+}
+/*
+ * Helper to center all child elements vertically
+ */
+.uk-navbar-content:before,
+.uk-navbar-brand:before,
+.uk-navbar-toggle:before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+}
+/* Sub-objects: `uk-navbar-content`
+ ========================================================================== */
+/*
+ * Better sibling spacing
+ */
+.uk-navbar-content + .uk-navbar-content:not(.uk-navbar-center) {
+ padding-left: 0;
+}
+/*
+ * Link colors
+ */
+.uk-navbar-content > a:not([class]) {
+ color: #0077dd;
+}
+.uk-navbar-content > a:not([class]):hover {
+ color: #005599;
+}
+/* Sub-objects: `uk-navbar-brand`
+ ========================================================================== */
+.uk-navbar-brand {
+ font-size: 18px;
+ color: #444444;
+ text-decoration: none;
+}
+/*
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-navbar-brand:hover,
+.uk-navbar-brand:focus {
+ color: #444444;
+ text-decoration: none;
+ /* 2 */
+ outline: none;
+}
+/* Sub-object: `uk-navbar-toggle`
+ ========================================================================== */
+.uk-navbar-toggle {
+ font-size: 18px;
+ color: #444444;
+ text-decoration: none;
+}
+/*
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-navbar-toggle:hover,
+.uk-navbar-toggle:focus {
+ color: #444444;
+ text-decoration: none;
+ /* 2 */
+ outline: none;
+}
+/*
+ * 1. Center icon vertically
+ */
+.uk-navbar-toggle:after {
+ content: "\f0c9";
+ font-family: FontAwesome;
+ /* 1 */
+ vertical-align: middle;
+}
+.uk-navbar-toggle-alt:after {
+ content: "\f002";
+}
+/* Sub-object: `uk-navbar-center`
+ ========================================================================== */
+/*
+ * The element with this class needs to be last child in the navbar
+ * 1. This hack is needed because other float elements shift centered text
+ */
+.uk-navbar-center {
+ float: none;
+ text-align: center;
+ /* 1 */
+ max-width: 50%;
+ margin-left: auto;
+ margin-right: auto;
+}
+/* Sub-object: `uk-navbar-flip`
+ ========================================================================== */
+.uk-navbar-flip {
+ float: right;
+}
+/*
+ * Apply same `border-radius` as `uk-navbar`
+ */
+.uk-navbar-nav:first-child > li:first-child > a {
+ border-top-left-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+/*
+ * Sub-modifier `uk-navbar-flip`
+ */
+/* Collapse border */
+.uk-navbar-flip .uk-navbar-nav > li > a {
+ margin-left: 0;
+ margin-right: -1px;
+}
+/* Apply same `border-radius` as `uk-navbar` */
+.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;
+}
+/*
+ * Sub-modifier `uk-navbar-attached`
+ */
+.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;
+}
+/* ========================================================================
+ Component: Subnav
+ ========================================================================== */
+/*
+ * 1. Gutter
+ * 2. Remove default list style
+ */
+.uk-subnav {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /* 1 */
+ margin-left: -10px;
+ margin-top: -10px;
+ /* 2 */
+ padding: 0;
+ list-style: none;
+}
+/*
+ * 1. Space is allocated solely based on content dimensions
+ * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
+ * 3. Create position context for dropdowns
+ */
+.uk-subnav > * {
+ /* 1 */
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ /* 2 */
+ padding-left: 10px;
+ margin-top: 10px;
+ /* 3 */
+ position: relative;
+}
+/*
+ * DEPRECATED IE9 Support
+ */
+.uk-subnav:before,
+.uk-subnav:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-subnav:after {
+ clear: both;
+}
+.uk-subnav > * {
+ float: left;
+}
+/* Items
+ ========================================================================== */
+.uk-subnav > * > * {
+ display: inline-block;
+ color: #444444;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ */
+.uk-subnav > * > :hover,
+.uk-subnav > * > :focus {
+ color: #0077dd;
+ text-decoration: none;
+}
+/*
+ * Active
+ */
+.uk-subnav > .uk-active > * {
+ color: #0077dd;
+}
+/* Modifier: 'subnav-line'
+ ========================================================================== */
+.uk-subnav-line > :before {
+ content: "";
+ display: inline-block;
+ height: 10px;
+ vertical-align: middle;
+}
+.uk-subnav-line > :nth-child(n+2):before {
+ margin-right: 10px;
+ border-left: 1px solid #dddddd;
+}
+/* Modifier: 'subnav-pill'
+ ========================================================================== */
+.uk-subnav-pill > * > * {
+ padding: 3px 9px;
+ border-radius: 4px;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-subnav-pill > * > :hover,
+.uk-subnav-pill > * > :focus {
+ background: #fafafa;
+ color: #444444;
+ text-decoration: none;
+ /* 2 */
+ outline: none;
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
+}
+/*
+ * Active
+ * `li` needed for higher specificity to override hover
+ */
+.uk-subnav-pill > .uk-active > * {
+ background: #00a8e6;
+ color: #ffffff;
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
+}
+/* Disabled state
+ ========================================================================== */
+.uk-subnav > .uk-disabled > * {
+ background: none;
+ color: #999999;
+ text-decoration: none;
+ cursor: text;
+ box-shadow: none;
+}
+/* ========================================================================
+ Component: Breadcrumb
+ ========================================================================== */
+/*
+ * 1. Remove default list style
+ * 2. Remove whitespace between child elements when using `inline-block`
+ */
+.uk-breadcrumb {
+ /* 1 */
+ padding: 0;
+ list-style: none;
+ /* 2 */
+ font-size: 0.001px;
+}
+/* Items
+ ========================================================================== */
+/*
+ * Reset whitespace hack
+ */
+.uk-breadcrumb > li {
+ font-size: 1rem;
+ 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;
+}
+/*
+ * Disabled
+ */
+.uk-breadcrumb > li:not(.uk-active) > span {
+ color: #999999;
+}
+/* ========================================================================
+ Component: Pagination
+ ========================================================================== */
+/*
+ * 1. Remove default list style
+ * 2. Center pagination by default
+ * 3. Remove whitespace between child elements when using `inline-block`
+ */
+.uk-pagination {
+ /* 1 */
+ padding: 0;
+ list-style: none;
+ /* 2 */
+ text-align: center;
+ /* 3 */
+ font-size: 0.001px;
+}
+/*
+ * Micro clearfix
+ * Needed if `uk-pagination-previous` or `uk-pagination-next` sub-objects are used
+ */
+.uk-pagination:before,
+.uk-pagination:after {
+ content: "";
+ display: table;
+}
+.uk-pagination:after {
+ clear: both;
+}
+/* Items
+ ========================================================================== */
+/*
+ * 1. Reset whitespace hack
+ * 2. Remove the gap at the bottom of it container
+ */
+.uk-pagination > li {
+ display: inline-block;
+ /* 1 */
+ font-size: 1rem;
+ /* 2 */
+ vertical-align: top;
+}
+.uk-pagination > li:nth-child(n+2) {
+ margin-left: 5px;
+}
+/*
+ * 1. Makes pagination more robust against different box-sizing use
+ * 2. Reset text-align to center if alignment modifier is used
+ */
+.uk-pagination > li > a,
+.uk-pagination > li > span {
+ display: inline-block;
+ min-width: 16px;
+ padding: 3px 5px;
+ line-height: 20px;
+ text-decoration: none;
+ /* 1 */
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ /* 2 */
+ text-align: center;
+ border: 1px solid rgba(0, 0, 0, 0.06);
+ border-radius: 4px;
+}
+/*
+ * Links
+ */
+.uk-pagination > li > a {
+ background: #f5f5f5;
+ color: #444444;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-pagination > li > a:hover,
+.uk-pagination > li > a:focus {
+ background-color: #fafafa;
+ color: #444444;
+ /* 2 */
+ outline: none;
+ border-color: rgba(0, 0, 0, 0.16);
+}
+/* OnClick */
+.uk-pagination > li > a:active {
+ background-color: #eeeeee;
+ color: #444444;
+}
+/*
+ * Active
+ */
+.uk-pagination > .uk-active > span {
+ background: #00a8e6;
+ color: #ffffff;
+ border-color: transparent;
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+/*
+ * Disabled
+ */
+.uk-pagination > .uk-disabled > span {
+ background-color: #fafafa;
+ color: #999999;
+ border: 1px solid rgba(0, 0, 0, 0.06);
+ text-shadow: 0 1px 0 #ffffff;
+}
+/* Previous and next navigation
+ ========================================================================== */
+.uk-pagination-previous {
+ float: left;
+}
+.uk-pagination-next {
+ float: right;
+}
+/* Alignment modifiers
+ ========================================================================== */
+.uk-pagination-left {
+ text-align: left;
+}
+.uk-pagination-right {
+ text-align: right;
+}
+/* ========================================================================
+ Component: Tab
+ ========================================================================== */
+.uk-tab {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ border-bottom: 1px solid #dddddd;
+}
+/*
+ * Micro clearfix on the deepest container
+ */
+.uk-tab:before,
+.uk-tab:after {
+ content: "";
+ display: table;
+}
+.uk-tab:after {
+ clear: both;
+}
+/*
+ * Items
+ * 1. Create position context for dropdowns
+ */
+.uk-tab > li {
+ margin-bottom: -1px;
+ float: left;
+ /* 1 */
+ position: relative;
+}
+.uk-tab > li > a {
+ display: block;
+ padding: 8px 12px 8px 12px;
+ border: 1px solid transparent;
+ border-bottom-width: 0;
+ color: #0077dd;
+ text-decoration: none;
+ border-radius: 4px 4px 0 0;
+ text-shadow: 0 1px 0 #ffffff;
+}
+.uk-tab > li:nth-child(n+2) > a {
+ margin-left: 5px;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Also apply if dropdown is opened
+ * 3. Remove default focus style
+ */
+.uk-tab > li > a:hover,
+.uk-tab > li > a:focus,
+.uk-tab > li.uk-open > a {
+ border-color: rgba(0, 0, 0, 0.06);
+ background: #f5f5f5;
+ color: #005599;
+ /* 2 */
+ 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;
+}
+/* Active */
+.uk-tab > li.uk-active > a {
+ border-color: #dddddd;
+ border-bottom-color: transparent;
+ background: #ffffff;
+ color: #444444;
+}
+/* Disabled */
+.uk-tab > li.uk-disabled > a {
+ color: #999999;
+ cursor: text;
+}
+.uk-tab > li.uk-disabled > a:hover,
+.uk-tab > li.uk-disabled > a:focus,
+.uk-tab > li.uk-disabled.uk-active > a {
+ background: none;
+ border-color: transparent;
+}
+/* Modifier: 'tab-flip'
+ ========================================================================== */
+.uk-tab-flip > li {
+ float: right;
+}
+.uk-tab-flip > li:nth-child(n+2) > a {
+ margin-left: 0;
+ margin-right: 5px;
+}
+/* Modifier: 'tab-responsive'
+ ========================================================================== */
+.uk-tab > li.uk-tab-responsive > a {
+ margin-left: 0;
+ margin-right: 0;
+}
+/*
+ * Icon
+ */
+.uk-tab-responsive > a:before {
+ content: "\f0c9\00a0";
+ font-family: FontAwesome;
+}
+/* Modifier: 'tab-center'
+ ========================================================================== */
+.uk-tab-center {
+ border-bottom: 1px solid #dddddd;
+}
+.uk-tab-center-bottom {
+ border-bottom: none;
+ border-top: 1px solid #dddddd;
+}
+.uk-tab-center:before,
+.uk-tab-center:after {
+ content: "";
+ display: table;
+}
+.uk-tab-center:after {
+ clear: both;
+}
+/*
+ * 1. Using `right` to prevent vertical scrollbar caused by centering if to many tabs
+ */
+.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;
+}
+/* Modifier: 'tab-bottom'
+ ========================================================================== */
+.uk-tab-bottom {
+ border-top: 1px solid #dddddd;
+ 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: #dddddd;
+}
+/* Modifier: 'tab-grid'
+ ========================================================================== */
+/*
+ * 1. Create position context to prevent hidden border because of negative `z-index`
+ */
+.uk-tab-grid {
+ margin-left: -5px;
+ border-bottom: none;
+ /* 1 */
+ position: relative;
+ z-index: 0;
+}
+.uk-tab-grid:before {
+ display: block;
+ position: absolute;
+ left: 5px;
+ right: 0;
+ bottom: -1px;
+ border-top: 1px solid #dddddd;
+ /* 1 */
+ z-index: -1;
+}
+.uk-tab-grid > li:first-child > a {
+ margin-left: 5px;
+}
+.uk-tab-grid > li > a {
+ text-align: center;
+}
+/*
+ * If `uk-tab-bottom`
+ */
+.uk-tab-grid.uk-tab-bottom {
+ border-top: none;
+}
+.uk-tab-grid.uk-tab-bottom:before {
+ top: -1px;
+ bottom: auto;
+}
+/* Modifier: 'tab-left', 'tab-right'
+ ========================================================================== */
+/* Tablet and bigger */
+@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: #dddddd;
+ }
+ /*
+ * Modifier: 'tab-left'
+ */
+ .uk-tab-left {
+ border-right: 1px solid #dddddd;
+ }
+ .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;
+ }
+ /*
+ * Modifier: 'tab-right'
+ */
+ .uk-tab-right {
+ border-left: 1px solid #dddddd;
+ }
+ .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;
+ }
+}
+/* Modifier: `uk-tab-bottom'
+ ========================================================================== */
+.uk-tab-bottom > li > a {
+ border-radius: 0 0 4px 4px;
+}
+/* Modifier: `uk-tab-left', `uk-tab-right'
+ ========================================================================== */
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ /*
+ * Modifier: `uk-tab-left'
+ */
+ .uk-tab-left > li > a {
+ border-radius: 4px 0 0 4px;
+ }
+ /*
+ * Modifier: `uk-tab-right'
+ */
+ .uk-tab-right > li > a {
+ border-radius: 0 4px 4px 0;
+ }
+}
+/* ========================================================================
+ Component: Thumbnav
+ ========================================================================== */
+/*
+ * 1. Gutter
+ * 2. Remove default list style
+ */
+.uk-thumbnav {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /* 1 */
+ margin-left: -10px;
+ margin-top: -10px;
+ /* 2 */
+ padding: 0;
+ list-style: none;
+}
+/*
+ * 1. Space is allocated solely based on content dimensions
+ * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
+ */
+.uk-thumbnav > * {
+ /* 1 */
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ /* 2 */
+ padding-left: 10px;
+ margin-top: 10px;
+}
+/*
+ * DEPRECATED IE9 Support
+ */
+.uk-thumbnav:before,
+.uk-thumbnav:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-thumbnav:after {
+ clear: both;
+}
+.uk-thumbnav > * {
+ float: left;
+}
+/* Items
+ ========================================================================== */
+.uk-thumbnav > * > * {
+ display: block;
+ background: #ffffff;
+}
+.uk-thumbnav > * > * > img {
+ opacity: 0.7;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+}
+/*
+ * Hover
+ */
+.uk-thumbnav > * > :hover > img,
+.uk-thumbnav > * > :focus > img {
+ opacity: 1;
+}
+/*
+ * Active
+ */
+.uk-thumbnav > .uk-active > * > img {
+ opacity: 1;
+}
+/* ========================================================================
+ Component: List
+ ========================================================================== */
+.uk-list {
+ padding: 0;
+ list-style: none;
+}
+/*
+ * Micro clearfix to make list more robust
+ */
+.uk-list > li:before,
+.uk-list > li:after {
+ content: "";
+ display: table;
+}
+.uk-list > li:after {
+ clear: both;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-list > li > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Nested lists
+ */
+.uk-list ul {
+ margin: 0;
+ padding-left: 20px;
+ list-style: none;
+}
+/* Modifier: `uk-list-line`
+ ========================================================================== */
+.uk-list-line > li:nth-child(n+2) {
+ margin-top: 5px;
+ padding-top: 5px;
+ border-top: 1px solid #dddddd;
+}
+/* Modifier: `uk-list-striped`
+ ========================================================================== */
+.uk-list-striped > li {
+ padding: 5px 5px;
+ border-bottom: 1px solid #dddddd;
+}
+.uk-list-striped > li:nth-of-type(odd) {
+ background: #fafafa;
+}
+/* Modifier: `uk-list-space`
+ ========================================================================== */
+.uk-list-space > li:nth-child(n+2) {
+ margin-top: 10px;
+}
+.uk-list-striped > li:first-child {
+ border-top: 1px solid #dddddd;
+}
+/* ========================================================================
+ Component: Description list
+ ========================================================================== */
+/* Modifier: `uk-description-list-horizontal`
+ ========================================================================== */
+/* Tablet and bigger */
+@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;
+ }
+}
+/* Modifier: `uk-description-list-line`
+ ========================================================================== */
+.uk-description-list-line > dt {
+ font-weight: normal;
+}
+.uk-description-list-line > dt:nth-child(n+2) {
+ margin-top: 5px;
+ padding-top: 5px;
+ border-top: 1px solid #dddddd;
+}
+.uk-description-list-line > dd {
+ color: #999999;
+}
+/* ========================================================================
+ Component: Table
+ ========================================================================== */
+/*
+ * 1. Remove most spacing between table cells.
+ * 2. Block element behavior
+ * 3. Style
+ */
+.uk-table {
+ /* 1 */
+ border-collapse: collapse;
+ border-spacing: 0;
+ /* 2 */
+ width: 100%;
+ /* 3 */
+ margin-bottom: 15px;
+}
+/*
+ * Add margin if adjacent element
+ */
+* + .uk-table {
+ margin-top: 15px;
+}
+.uk-table th,
+.uk-table td {
+ padding: 8px 8px;
+ border-bottom: 1px solid #dddddd;
+}
+/*
+ * Set alignment
+ */
+.uk-table th {
+ text-align: left;
+}
+.uk-table td {
+ vertical-align: top;
+}
+.uk-table thead th {
+ vertical-align: bottom;
+}
+/*
+ * Caption and footer
+ */
+.uk-table caption,
+.uk-table tfoot {
+ font-size: 12px;
+ font-style: italic;
+}
+.uk-table caption {
+ text-align: left;
+ color: #999999;
+}
+/*
+ * Active State
+ */
+.uk-table tbody tr.uk-active {
+ background: #f0f0f0;
+}
+/* Sub-modifier: `uk-table-middle`
+ ========================================================================== */
+.uk-table-middle,
+.uk-table-middle td {
+ vertical-align: middle !important;
+}
+/* Modifier: `uk-table-striped`
+ ========================================================================== */
+.uk-table-striped tbody tr:nth-of-type(odd) {
+ background: #fafafa;
+}
+/* Modifier: `uk-table-condensed`
+ ========================================================================== */
+.uk-table-condensed td {
+ padding: 4px 8px;
+}
+/* Modifier: `uk-table-hover`
+ ========================================================================== */
+.uk-table-hover tbody tr:hover {
+ background: #f0f0f0;
+}
+/* ========================================================================
+ Component: Form
+ ========================================================================== */
+/*
+ * 1. Define consistent box sizing.
+ * Default is `content-box` with following exceptions set to `border-box`
+ * `button`, `select`, `input[type="checkbox"]` and `input[type="radio"]`
+ * `input[type="search"]` in Chrome, Safari and Opera
+ * `input[type="color"]` in Firefox
+ * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
+ * 3. Remove `border-radius` in iOS.
+ * 4. Correct `font` properties and `color` not being inherited.
+ */
+.uk-form input,
+.uk-form select,
+.uk-form textarea {
+ /* 1 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 2 */
+ margin: 0;
+ /* 3 */
+ border-radius: 0;
+ /* 4 */
+ font: inherit;
+ color: inherit;
+}
+/*
+ * Address inconsistent `text-transform` inheritance which is only inherit in Firefox
+ */
+.uk-form select {
+ text-transform: none;
+}
+/*
+ * 1. Correct `font` properties not being inherited.
+ * 2. Don't inherit the `font-weight` and use `bold` instead.
+ * NOTE: Both declarations don't work in Chrome, Safari and Opera.
+ */
+.uk-form optgroup {
+ /* 1 */
+ font: inherit;
+ /* 2 */
+ font-weight: bold;
+}
+/*
+ * Removes inner padding and border in Firefox 4+.
+ */
+.uk-form input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+/*
+ * Removes excess padding in IE 8/9/10.
+ */
+.uk-form input[type="checkbox"],
+.uk-form input[type="radio"] {
+ padding: 0;
+}
+/*
+ * Improves consistency of cursor style for clickable elements
+ */
+.uk-form input[type="checkbox"]:not(:disabled),
+.uk-form input[type="radio"]:not(:disabled) {
+ cursor: pointer;
+}
+/*
+ * Remove default style in iOS.
+ */
+.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;
+}
+/*
+ * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X.
+ */
+.uk-form input[type="search"]::-webkit-search-cancel-button,
+.uk-form input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+/*
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+.uk-form input[type="number"]::-webkit-inner-spin-button,
+.uk-form input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+/*
+ * Define consistent border, margin, and padding.
+ */
+.uk-form fieldset {
+ border: none;
+ margin: 0;
+ padding: 0;
+}
+/*
+ * 1. Remove default vertical scrollbar in IE 8/9/10/11.
+ * 2. Improve readability and alignment in all browsers.
+ */
+.uk-form textarea {
+ /* 1 */
+ overflow: auto;
+ /* 2 */
+ vertical-align: top;
+}
+/*
+ * Removes placeholder transparency in Firefox.
+ */
+.uk-form ::-moz-placeholder {
+ opacity: 1;
+}
+/*
+ * Removes `box-shadow` for invalid controls in Firefox.
+ */
+.uk-form :invalid {
+ box-shadow: none;
+}
+/*
+ * Vertical alignment
+ */
+.uk-form input:not([type="radio"]):not([type="checkbox"]),
+.uk-form select {
+ vertical-align: middle;
+}
+/* Style
+ ========================================================================== */
+/*
+ * Remove margin from the last-child
+ */
+.uk-form > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Controls
+ * Except for `range`, `radio`, `checkbox`, `file`, `submit`, `reset`, `button` and `image`
+ * 1. Must be `height` because `min-height` is not working in OSX
+ * 2. Responsiveness: Sets a maximum width relative to the parent to scale on narrower viewports
+ * 3. Vertical `padding` needed for `select` elements in Firefox
+ * 4. Style
+ */
+.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"] {
+ /* 1 */
+ height: 30px;
+ /* 2 */
+ max-width: 100%;
+ /* 3 */
+ padding: 4px 6px;
+ /* 4 */
+ border: 1px solid #dddddd;
+ background: #ffffff;
+ color: #444444;
+ -webkit-transition: all linear 0.2s;
+ transition: all linear 0.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: #444444;
+}
+.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: #dddddd;
+ background-color: #fafafa;
+ color: #999999;
+}
+/*
+ * Placeholder
+ */
+.uk-form :-ms-input-placeholder {
+ color: #999999 !important;
+}
+.uk-form ::-moz-placeholder {
+ color: #999999;
+}
+.uk-form ::-webkit-input-placeholder {
+ color: #999999;
+}
+.uk-form :disabled:-ms-input-placeholder {
+ color: #999999 !important;
+}
+.uk-form :disabled::-moz-placeholder {
+ color: #999999;
+}
+.uk-form :disabled::-webkit-input-placeholder {
+ color: #999999;
+}
+/*
+ * Legend
+ * 1. Behave like block element
+ * 2. Correct `color` not being inherited in IE 8/9/10/11.
+ * 3. Remove padding
+ * 4. `margin-bottom` is not working in Safari and Opera.
+ * Using `padding` and :after instead to create the border
+ * 5. Style
+ */
+.uk-form legend {
+ /* 1 */
+ width: 100%;
+ /* 2 */
+ border: 0;
+ /* 3 */
+ padding: 0;
+ /* 4 */
+ padding-bottom: 15px;
+ /* 5 */
+ font-size: 18px;
+ line-height: 30px;
+}
+/*
+ * 1. Fixes IE9
+ */
+.uk-form legend:after {
+ content: "";
+ display: block;
+ border-bottom: 1px solid #dddddd;
+ /* 1 */
+ width: 100%;
+}
+/* Size modifiers
+ * Higher specificity needed to override defaults
+ ========================================================================== */
+select.uk-form-small,
+textarea.uk-form-small,
+input[type].uk-form-small,
+input:not([type]).uk-form-small {
+ height: 25px;
+ padding: 3px 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;
+}
+/* Reset height
+ * Must be after size modifiers
+ ========================================================================== */
+.uk-form textarea,
+.uk-form select[multiple],
+.uk-form select[size] {
+ height: auto;
+}
+/* Validation states
+ * Using !important to keep the selector simple
+ ========================================================================== */
+/*
+ * Error state
+ */
+.uk-form-danger {
+ border-color: #dc8d99 !important;
+ background: #fff7f8 !important;
+ color: #d85030 !important;
+}
+/*
+ * Success state
+ */
+.uk-form-success {
+ border-color: #8ec73b !important;
+ background: #fafff2 !important;
+ color: #659f13 !important;
+}
+/* Style modifiers
+ * Using !important to keep the selector simple
+ ========================================================================== */
+/*
+ * Blank form
+ */
+.uk-form-blank {
+ border-color: transparent !important;
+ border-style: dashed !important;
+ background: none !important;
+}
+.uk-form-blank:focus {
+ border-color: #dddddd !important;
+}
+/* Size sub-modifiers
+ ========================================================================== */
+/*
+ * Fixed widths
+ * Different widths for mini sized `input` and `select` elements
+ */
+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;
+}
+/* Sub-objects: `uk-form-row`
+ * Groups labels and controls in rows
+ ========================================================================== */
+/*
+ * Micro clearfix
+ * Needed for `uk-form-horizontal` modifier
+ */
+.uk-form-row:before,
+.uk-form-row:after {
+ content: "";
+ display: table;
+}
+.uk-form-row:after {
+ clear: both;
+}
+/*
+ * Vertical gutter
+ */
+.uk-form-row + .uk-form-row {
+ margin-top: 15px;
+}
+/* Help text
+ * Sub-object: `uk-form-help-inline`, `uk-form-help-block`
+ ========================================================================== */
+.uk-form-help-inline {
+ display: inline-block;
+ margin: 0 0 0 10px;
+}
+.uk-form-help-block {
+ margin: 5px 0 0 0;
+}
+/* Controls content
+ * Sub-object: `uk-form-controls`, `uk-form-controls-condensed`
+ ========================================================================== */
+/*
+ * Remove margins
+ */
+.uk-form-controls > :first-child {
+ margin-top: 0;
+}
+.uk-form-controls > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Group controls and text into blocks with a small spacing between blocks
+ */
+.uk-form-controls-condensed {
+ margin: 5px 0;
+}
+/* Modifier: `uk-form-stacked`
+ * Requires sub-object: `uk-form-label`
+ ========================================================================== */
+.uk-form-stacked .uk-form-label {
+ display: block;
+ margin-bottom: 5px;
+ font-weight: bold;
+}
+/* Modifier: `uk-form-horizontal`
+ * Requires sub-objects: `uk-form-label`, `uk-form-controls`
+ ========================================================================== */
+/* Tablet portrait and smaller */
+@media (max-width: 959px) {
+ /* Behave like `uk-form-stacked` */
+ .uk-form-horizontal .uk-form-label {
+ display: block;
+ margin-bottom: 5px;
+ font-weight: bold;
+ }
+}
+/* Desktop and bigger */
+@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;
+ }
+ /* Better vertical alignment if controls are checkboxes and radio buttons with text */
+ .uk-form-horizontal .uk-form-controls-text {
+ padding-top: 5px;
+ }
+}
+/* Sub-object: `uk-form-icon`
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Create position context
+ * 3. Prevent `inline-block` consequences
+ */
+.uk-form-icon {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ max-width: 100%;
+}
+/*
+ * 1. Make form element clickable through icon
+ */
+.uk-form-icon > [class*='uk-icon-'] {
+ position: absolute;
+ top: 50%;
+ width: 30px;
+ margin-top: -7px;
+ font-size: 14px;
+ color: #999999;
+ text-align: center;
+ /* 1 */
+ pointer-events: none;
+}
+.uk-form-icon:not(.uk-form-icon-flip) > input {
+ padding-left: 30px !important;
+}
+/*
+ * Sub-modifier: `uk-form-icon-flip`
+ */
+.uk-form-icon-flip > [class*='uk-icon-'] {
+ right: 0;
+}
+.uk-form-icon-flip > input {
+ padding-right: 30px !important;
+}
+/* ========================================================================
+ Component: Button
+ ========================================================================== */
+/*
+ * Removes inner padding and border in Firefox 4+.
+ */
+.uk-button::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+/*
+ * 1. Correct inability to style clickable `input` types in iOS.
+ * 2. Remove margins in Chrome, Safari and Opera.
+ * 3. Remove borders for `button`.
+ * 4. Address `overflow` set to `hidden` in IE 8/9/10/11.
+ * 5. Correct `font` properties and `color` not being inherited for `button`.
+ * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE
+ * 7. Style
+ * 8. `line-height` is used to create a height
+ * 9. `min-height` is necessary for `input` elements in Firefox and Opera because `line-height` is not working.
+ * 10. Reset button group whitespace hack
+ * 11. Required for `a`.
+ */
+.uk-button {
+ /* 1 */
+ -webkit-appearance: none;
+ /* 2 */
+ margin: 0;
+ /* 3 */
+ border: none;
+ /* 4 */
+ overflow: visible;
+ /* 5 */
+ font: inherit;
+ color: #444444;
+ /* 6 */
+ text-transform: none;
+ /* 7 */
+ display: inline-block;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0 12px;
+ background: #f5f5f5;
+ vertical-align: middle;
+ /* 8 */
+ line-height: 28px;
+ /* 9 */
+ min-height: 30px;
+ /* 10 */
+ font-size: 1rem;
+ /* 11 */
+ text-decoration: none;
+ text-align: center;
+ border: 1px solid rgba(0, 0, 0, 0.06);
+ border-radius: 4px;
+ text-shadow: 0 1px 0 #ffffff;
+}
+.uk-button:not(:disabled) {
+ cursor: pointer;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ * 3. Required for `a` elements
+ */
+.uk-button:hover,
+.uk-button:focus {
+ background-color: #fafafa;
+ color: #444444;
+ /* 2 */
+ outline: none;
+ /* 3 */
+ text-decoration: none;
+ border-color: rgba(0, 0, 0, 0.16);
+}
+/* Active */
+.uk-button:active,
+.uk-button.uk-active {
+ background-color: #eeeeee;
+ color: #444444;
+}
+/* Color modifiers
+ ========================================================================== */
+/*
+ * Modifier: `uk-button-primary`
+ */
+.uk-button-primary {
+ background-color: #00a8e6;
+ color: #ffffff;
+}
+/* Hover */
+.uk-button-primary:hover,
+.uk-button-primary:focus {
+ background-color: #35b3ee;
+ color: #ffffff;
+}
+/* Active */
+.uk-button-primary:active,
+.uk-button-primary.uk-active {
+ background-color: #0091ca;
+ color: #ffffff;
+}
+/*
+ * Modifier: `uk-button-success`
+ */
+.uk-button-success {
+ background-color: #8cc14c;
+ color: #ffffff;
+}
+/* Hover */
+.uk-button-success:hover,
+.uk-button-success:focus {
+ background-color: #8ec73b;
+ color: #ffffff;
+}
+/* Active */
+.uk-button-success:active,
+.uk-button-success.uk-active {
+ background-color: #72ae41;
+ color: #ffffff;
+}
+/*
+ * Modifier: `uk-button-danger`
+ */
+.uk-button-danger {
+ background-color: #da314b;
+ color: #ffffff;
+}
+/* Hover */
+.uk-button-danger:hover,
+.uk-button-danger:focus {
+ background-color: #e4354f;
+ color: #ffffff;
+}
+/* Active */
+.uk-button-danger:active,
+.uk-button-danger.uk-active {
+ background-color: #c91032;
+ color: #ffffff;
+}
+/* Disabled state
+ * Overrides also the color modifiers
+ ========================================================================== */
+/* Equal for all button types */
+.uk-button:disabled {
+ background-color: #fafafa;
+ color: #999999;
+ border-color: rgba(0, 0, 0, 0.06);
+ box-shadow: none;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/* Modifier: `uk-button-link`
+ ========================================================================== */
+/* Reset */
+.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: none;
+ box-shadow: none;
+ text-shadow: none;
+}
+/* Color */
+.uk-button-link {
+ color: #0077dd;
+}
+.uk-button-link:hover,
+.uk-button-link:focus,
+.uk-button-link:active,
+.uk-button-link.uk-active {
+ color: #005599;
+ text-decoration: underline;
+}
+.uk-button-link:disabled {
+ color: #999999;
+}
+/* Focus */
+.uk-button-link:focus {
+ outline: 1px dotted;
+}
+/* Size modifiers
+ ========================================================================== */
+.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;
+}
+/* Sub-object `uk-button-group`
+ ========================================================================== */
+/*
+ * 1. Behave like buttons
+ * 2. Create position context for dropdowns
+ * 3. Remove whitespace between child elements when using `inline-block`
+ * 4. Prevent buttons from wrapping
+ * 5. Remove whitespace between child elements when using `inline-block`
+ */
+.uk-button-group {
+ /* 1 */
+ display: inline-block;
+ vertical-align: middle;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ font-size: 0.001px;
+ /* 4 */
+ white-space: nowrap;
+}
+.uk-button-group > * {
+ display: inline-block;
+}
+/* 5 */
+.uk-button-group .uk-button {
+ vertical-align: top;
+}
+/* Sub-object: `uk-button-dropdown`
+ ========================================================================== */
+/*
+ * 1. Behave like buttons
+ * 2. Create position context for dropdowns
+ */
+.uk-button-dropdown {
+ /* 1 */
+ display: inline-block;
+ vertical-align: middle;
+ /* 2 */
+ position: relative;
+}
+/* Color modifiers
+ ========================================================================== */
+.uk-button-primary,
+.uk-button-success,
+.uk-button-danger {
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+.uk-button-primary:hover,
+.uk-button-primary:focus,
+.uk-button-success:hover,
+.uk-button-success:focus,
+.uk-button-danger:hover,
+.uk-button-danger:focus {
+ border-color: rgba(0, 0, 0, 0.21);
+}
+/* Sub-object `uk-button-group`
+ ========================================================================== */
+/*
+ * Reset border-radius
+ */
+.uk-button-group > .uk-button:not(:first-child):not(:last-child),
+.uk-button-group > div:not(:first-child):not(:last-child) .uk-button {
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-radius: 0;
+}
+.uk-button-group > .uk-button:first-child,
+.uk-button-group > div:first-child .uk-button {
+ border-right-color: rgba(0, 0, 0, 0.1);
+ 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-left-color: rgba(0, 0, 0, 0.1);
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+/*
+ * Collapse border
+ */
+.uk-button-group > .uk-button:nth-child(n+2),
+.uk-button-group > div:nth-child(n+2) .uk-button {
+ margin-left: -1px;
+}
+/*
+ * Create position context to superimpose the successor elements border
+ * Known issue: If you use an `a` element as button and an icon inside,
+ * the active state will not work if you click the icon inside the button
+ * Workaround: Just use a `button` or `input` element as button
+ */
+.uk-button-group .uk-button:hover,
+.uk-button-group .uk-button:active {
+ position: relative;
+}
+/* ========================================================================
+ Component: Icon
+ ========================================================================== */
+@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.woff2") format('woff2'), url("../fonts/fontawesome-webfont.woff") format("woff"), url("../fonts/fontawesome-webfont.ttf") format("truetype");
+ font-weight: normal;
+ font-style: normal;
+}
+/*
+ * 1. Allow margin
+ * 2. Prevent inherit font style
+ * 4. Correct line-height
+ * 5. Better font rendering
+ * 6. Remove `text-decoration` for anchors
+ */
+[class*='uk-icon-'] {
+ font-family: FontAwesome;
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ font-weight: normal;
+ font-style: normal;
+ /* 4 */
+ line-height: 1;
+ /* 5 */
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+/* 6 */
+[class*='uk-icon-'],
+[class*='uk-icon-']:hover,
+[class*='uk-icon-']:focus {
+ text-decoration: none;
+}
+/* Size modifiers
+ ========================================================================== */
+.uk-icon-small {
+ font-size: 150%;
+ vertical-align: -10%;
+}
+.uk-icon-medium {
+ font-size: 200%;
+ vertical-align: -16%;
+}
+.uk-icon-large {
+ font-size: 250%;
+ vertical-align: -22%;
+}
+/* Modifier: `uk-icon-justify`
+ ========================================================================== */
+.uk-icon-justify {
+ width: 1em;
+ text-align: center;
+}
+/* Modifier: `uk-icon-spin`
+ ========================================================================== */
+.uk-icon-spin {
+ display: inline-block;
+ -webkit-animation: uk-rotate 2s infinite linear;
+ animation: uk-rotate 2s infinite linear;
+}
+/* Modifier: `uk-icon-hover`
+ ========================================================================== */
+.uk-icon-hover {
+ color: #999999;
+}
+/*
+ * Hover
+ */
+.uk-icon-hover:hover {
+ color: #444444;
+}
+/* Modifier: `uk-icon-button`
+ ========================================================================== */
+.uk-icon-button {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ display: inline-block;
+ width: 35px;
+ height: 35px;
+ border-radius: 100%;
+ background: #f5f5f5;
+ line-height: 35px;
+ color: #444444;
+ font-size: 18px;
+ text-align: center;
+ border: 1px solid #e7e7e7;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-icon-button:hover,
+.uk-icon-button:focus {
+ background-color: #fafafa;
+ color: #444444;
+ /* 2 */
+ outline: none;
+ border-color: #d3d3d3;
+}
+/* Active */
+.uk-icon-button:active {
+ background-color: #eeeeee;
+ color: #444444;
+}
+/* Icon mapping
+ ========================================================================== */
+.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-f:before,
+.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,
+.uk-icon-gratipay: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-genderless:before,
+.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-icon-buysellads:before {
+ content: "\f20d";
+}
+.uk-icon-connectdevelop:before {
+ content: "\f20e";
+}
+.uk-icon-dashcube:before {
+ content: "\f210";
+}
+.uk-icon-forumbee:before {
+ content: "\f211";
+}
+.uk-icon-leanpub:before {
+ content: "\f212";
+}
+.uk-icon-sellsy:before {
+ content: "\f213";
+}
+.uk-icon-shirtsinbulk:before {
+ content: "\f214";
+}
+.uk-icon-simplybuilt:before {
+ content: "\f215";
+}
+.uk-icon-skyatlas:before {
+ content: "\f216";
+}
+.uk-icon-cart-plus:before {
+ content: "\f217";
+}
+.uk-icon-cart-arrow-down:before {
+ content: "\f218";
+}
+.uk-icon-diamond:before {
+ content: "\f219";
+}
+.uk-icon-ship:before {
+ content: "\f21a";
+}
+.uk-icon-user-secret:before {
+ content: "\f21b";
+}
+.uk-icon-motorcycle:before {
+ content: "\f21c";
+}
+.uk-icon-street-view:before {
+ content: "\f21d";
+}
+.uk-icon-heartbeat:before {
+ content: "\f21e";
+}
+.uk-icon-venus:before {
+ content: "\f221";
+}
+.uk-icon-mars:before {
+ content: "\f222";
+}
+.uk-icon-mercury:before {
+ content: "\f223";
+}
+.uk-icon-transgender:before {
+ content: "\f224";
+}
+.uk-icon-transgender-alt:before {
+ content: "\f225";
+}
+.uk-icon-venus-double:before {
+ content: "\f226";
+}
+.uk-icon-mars-double:before {
+ content: "\f227";
+}
+.uk-icon-venus-mars:before {
+ content: "\f228";
+}
+.uk-icon-mars-stroke:before {
+ content: "\f229";
+}
+.uk-icon-mars-stroke-v:before {
+ content: "\f22a";
+}
+.uk-icon-mars-stroke-h:before {
+ content: "\f22b";
+}
+.uk-icon-neuter:before {
+ content: "\f22c";
+}
+.uk-icon-facebook-official:before {
+ content: "\f230";
+}
+.uk-icon-pinterest-p:before {
+ content: "\f231";
+}
+.uk-icon-whatsapp:before {
+ content: "\f232";
+}
+.uk-icon-server:before {
+ content: "\f233";
+}
+.uk-icon-user-plus:before {
+ content: "\f234";
+}
+.uk-icon-user-times:before {
+ content: "\f235";
+}
+.uk-icon-hotel:before,
+.uk-icon-bed:before {
+ content: "\f236";
+}
+.uk-icon-viacoin:before {
+ content: "\f237";
+}
+.uk-icon-train:before {
+ content: "\f238";
+}
+.uk-icon-subway:before {
+ content: "\f239";
+}
+.uk-icon-medium-logo:before {
+ content: "\f23a";
+}
+/* ========================================================================
+ Component: Close
+ ========================================================================== */
+/*
+ * Removes inner padding and border in Firefox 4+.
+ */
+.uk-close::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+/*
+ * 1. Correct inability to style clickable `input` types in iOS.
+ * 2. Remove margins in Chrome, Safari and Opera.
+ * 3. Remove borders for `button`.
+ * 4. Address `overflow` set to `hidden` in IE 8/9/10/11.
+ * 5. Correct `font` properties and `color` not being inherited for `button`.
+ * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE
+ * 7. Remove default `button` padding and background color
+ * 8. Style
+ */
+.uk-close {
+ /* 1 */
+ -webkit-appearance: none;
+ /* 2 */
+ margin: 0;
+ /* 3 */
+ border: none;
+ /* 4 */
+ overflow: visible;
+ /* 5 */
+ font: inherit;
+ color: inherit;
+ /* 6 */
+ text-transform: none;
+ /* 7. */
+ padding: 0;
+ background: transparent;
+ /* 8 */
+ display: inline-block;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ width: 20px;
+ line-height: 20px;
+ text-align: center;
+ vertical-align: middle;
+ opacity: 0.3;
+}
+/* Icon */
+.uk-close:after {
+ display: block;
+ content: "\f00d";
+ font-family: FontAwesome;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ * 3. Required for `a` elements
+ */
+.uk-close:hover,
+.uk-close:focus {
+ opacity: 0.5;
+ /* 2 */
+ outline: none;
+ /* 3 */
+ color: inherit;
+ text-decoration: none;
+ cursor: pointer;
+}
+/* Modifier
+ ========================================================================== */
+.uk-close-alt {
+ padding: 2px;
+ border-radius: 50%;
+ background: #ffffff;
+ opacity: 1;
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 6px rgba(0, 0, 0, 0.3);
+}
+/* Hover */
+.uk-close-alt:hover,
+.uk-close-alt:focus {
+ opacity: 1;
+}
+/* Icon */
+.uk-close-alt:after {
+ opacity: 0.5;
+}
+.uk-close-alt:hover:after,
+.uk-close-alt:focus:after {
+ opacity: 0.8;
+}
+/* ========================================================================
+ Component: Badge
+ ========================================================================== */
+.uk-badge {
+ display: inline-block;
+ padding: 0 5px;
+ background: #00a8e6;
+ font-size: 10px;
+ font-weight: bold;
+ line-height: 14px;
+ color: #ffffff;
+ text-align: center;
+ vertical-align: middle;
+ text-transform: none;
+ border: 1px solid rgba(0, 0, 0, 0.06);
+ border-radius: 2px;
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
+}
+/*
+ * Keep color when badge is a link
+ */
+a.uk-badge:hover {
+ color: #ffffff;
+}
+/* Modifier: `uk-badge-notification`;
+ ========================================================================== */
+.uk-badge-notification {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ min-width: 18px;
+ border-radius: 500px;
+ font-size: 12px;
+ line-height: 18px;
+}
+/* Color modifier
+ ========================================================================== */
+/*
+ * Modifier: `uk-badge-success`
+ */
+.uk-badge-success {
+ background-color: #8cc14c;
+}
+/*
+ * Modifier: `uk-badge-warning`
+ */
+.uk-badge-warning {
+ background-color: #faa732;
+}
+/*
+ * Modifier: `uk-badge-danger`
+ */
+.uk-badge-danger {
+ background-color: #da314b;
+}
+/* ========================================================================
+ Component: Alert
+ ========================================================================== */
+.uk-alert {
+ margin-bottom: 15px;
+ padding: 10px;
+ background: #ebf7fd;
+ color: #2d7091;
+ border: 1px solid rgba(45, 112, 145, 0.3);
+ border-radius: 4px;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/*
+ * Add margin if adjacent element
+ */
+* + .uk-alert {
+ margin-top: 15px;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-alert > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Keep color for headings if the default heading color is changed
+ */
+.uk-alert h1,
+.uk-alert h2,
+.uk-alert h3,
+.uk-alert h4,
+.uk-alert h5,
+.uk-alert h6 {
+ color: inherit;
+}
+/* Close in alert
+ ========================================================================== */
+.uk-alert > .uk-close:first-child {
+ float: right;
+}
+/*
+ * Remove margin from adjacent element
+ */
+.uk-alert > .uk-close:first-child + * {
+ margin-top: 0;
+}
+/* Modifier: `uk-alert-success`
+ ========================================================================== */
+.uk-alert-success {
+ background: #f2fae3;
+ color: #659f13;
+ border-color: rgba(101, 159, 19, 0.3);
+}
+/* Modifier: `uk-alert-warning`
+ ========================================================================== */
+.uk-alert-warning {
+ background: #fffceb;
+ color: #e28327;
+ border-color: rgba(226, 131, 39, 0.3);
+}
+/* Modifier: `uk-alert-danger`
+ ========================================================================== */
+.uk-alert-danger {
+ background: #fff1f0;
+ color: #d85030;
+ border-color: rgba(216, 80, 48, 0.3);
+}
+/* Modifier: `uk-alert-large`
+ ========================================================================== */
+.uk-alert-large {
+ padding: 20px;
+}
+.uk-alert-large > .uk-close:first-child {
+ margin: -10px -10px 0 0;
+}
+/* ========================================================================
+ Component: Thumbnail
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Responsive behavior
+ * 3. Corrects `max-width` behavior sed
+ * 4. Required for `figure` element
+ * 5. Style
+ */
+.uk-thumbnail {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ max-width: 100%;
+ /* 3 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 3 */
+ margin: 0;
+ /* 4 */
+ padding: 4px;
+ border: 1px solid #dddddd;
+ background: #ffffff;
+ border-radius: 4px;
+}
+/*
+ * Hover state for `a` elements
+ * 1. Apply hover style also to focus state
+ * 2. Needed for caption
+ * 3. Remove default focus style
+ */
+a.uk-thumbnail:hover,
+a.uk-thumbnail:focus {
+ border-color: #aaaaaa;
+ background-color: #ffffff;
+ /* 2 */
+ text-decoration: none;
+ /* 3 */
+ outline: none;
+}
+/* Caption
+ ========================================================================== */
+.uk-thumbnail-caption {
+ padding-top: 4px;
+ text-align: center;
+ color: #444444;
+}
+/* Sizes
+ ========================================================================== */
+.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%;
+}
+/* ========================================================================
+ Component: Overlay
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Create position context
+ * 3. Set max-width for responsive images to prevent `inline-block` consequences
+ * 4. Remove the gap between the container and its child element
+ * 5. Needed for transitions and to fixed wrong scaling calculation for images in Chrome
+ * 6. Fixed `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit
+ * 7. Reset margin
+ */
+.uk-overlay {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ max-width: 100%;
+ /* 4 */
+ vertical-align: middle;
+ /* 5 */
+ overflow: hidden;
+ /* 6 */
+ -webkit-transform: translateZ(0);
+ /* 7 */
+ margin: 0;
+}
+/* 6 for Safari */
+.uk-overlay.uk-border-circle {
+ -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
+}
+/*
+ * Remove margin from content
+ */
+.uk-overlay > :first-child {
+ margin-bottom: 0;
+}
+/* Sub-object `uk-overlay-panel`
+ ========================================================================== */
+/*
+ * 1. Position cover
+ * 2. Style
+ */
+.uk-overlay-panel {
+ /* 1 */
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ /* 2 */
+ padding: 20px;
+ color: #ffffff;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-overlay-panel > :last-child,
+.uk-overlay-panel.uk-flex > * > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Keep color for headings if the default heading color is changed
+ */
+.uk-overlay-panel h1,
+.uk-overlay-panel h2,
+.uk-overlay-panel h3,
+.uk-overlay-panel h4,
+.uk-overlay-panel h5,
+.uk-overlay-panel h6 {
+ color: inherit;
+}
+.uk-overlay-panel a:not([class]) {
+ color: inherit;
+ text-decoration: underline;
+}
+.uk-overlay-panel a[class*='uk-icon-']:not(.uk-icon-button) {
+ color: inherit;
+}
+/* Sub-object `uk-overlay-hover` and `uk-overlay-active`
+ ========================================================================== */
+.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore) {
+ opacity: 0;
+}
+.uk-overlay-active :not(.uk-active) > .uk-overlay-panel:not(.uk-ignore) {
+ opacity: 0;
+}
+/* Modifier `uk-overlay-background`
+ ========================================================================== */
+.uk-overlay-background {
+ background: rgba(0, 0, 0, 0.5);
+}
+/* Modifier `uk-overlay-image`
+ ========================================================================== */
+/*
+ * Reset panel
+ */
+.uk-overlay-image {
+ padding: 0;
+}
+/* Position modifiers
+ ========================================================================== */
+.uk-overlay-top {
+ bottom: auto;
+}
+.uk-overlay-bottom {
+ top: auto;
+}
+.uk-overlay-left {
+ right: auto;
+}
+.uk-overlay-right {
+ left: auto;
+}
+/* Sub-object `uk-overlay-icon`
+ ========================================================================== */
+.uk-overlay-icon: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: #ffffff;
+}
+/* Transitions
+ ========================================================================== */
+.uk-overlay-fade,
+.uk-overlay-scale,
+.uk-overlay-spin,
+.uk-overlay-grayscale,
+.uk-overlay-blur,
+[class*='uk-overlay-slide'] {
+ transition-duration: 0.3s;
+ transition-timing-function: ease-out;
+ transition-property: opacity transform filter;
+}
+.uk-overlay-active .uk-overlay-fade,
+.uk-overlay-active .uk-overlay-scale,
+.uk-overlay-active .uk-overlay-spin,
+.uk-overlay-active [class*='uk-overlay-slide'] {
+ transition-duration: 0.8s;
+}
+/*
+ * Fade
+ */
+.uk-overlay-fade {
+ opacity: 0.7;
+}
+.uk-overlay-hover:hover .uk-overlay-fade,
+.uk-overlay-active .uk-active > .uk-overlay-fade {
+ opacity: 1;
+}
+/*
+ * Scale
+ */
+.uk-overlay-scale {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+}
+.uk-overlay-hover:hover .uk-overlay-scale,
+.uk-overlay-active .uk-active > .uk-overlay-scale {
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
+}
+/*
+ * Spin
+ */
+.uk-overlay-spin {
+ -webkit-transform: scale(1) rotate(0deg);
+ transform: scale(1) rotate(0deg);
+}
+.uk-overlay-hover:hover .uk-overlay-spin,
+.uk-overlay-active .uk-active > .uk-overlay-spin {
+ -webkit-transform: scale(1.1) rotate(3deg);
+ transform: scale(1.1) rotate(3deg);
+}
+/*
+ * Grayscale
+ */
+.uk-overlay-grayscale {
+ -webkit-filter: grayscale(100%);
+ filter: grayscale(100%);
+}
+.uk-overlay-hover:hover .uk-overlay-grayscale,
+.uk-overlay-active .uk-active > .uk-overlay-grayscale {
+ -webkit-filter: grayscale(0%);
+ filter: grayscale(0%);
+}
+/*
+ * Slide
+ */
+[class*='uk-overlay-slide'] {
+ opacity: 0;
+}
+/* Top */
+.uk-overlay-slide-top {
+ -webkit-transform: translateY(-100%);
+ transform: translateY(-100%);
+}
+/* Bottom */
+.uk-overlay-slide-bottom {
+ -webkit-transform: translateY(100%);
+ transform: translateY(100%);
+}
+/* Left */
+.uk-overlay-slide-left {
+ -webkit-transform: translateX(-100%);
+ transform: translateX(-100%);
+}
+/* Right */
+.uk-overlay-slide-right {
+ -webkit-transform: translateX(100%);
+ transform: translateX(100%);
+}
+/* Hover */
+.uk-overlay-hover:hover [class*='uk-overlay-slide'],
+.uk-overlay-active .uk-active > [class*='uk-overlay-slide'] {
+ opacity: 1;
+ -webkit-transform: translateX(0) translateY(0);
+ transform: translateX(0) translateY(0);
+}
+/* DEPRECATED
+ * Sub-object `uk-overlay-area`
+ ========================================================================== */
+/*
+ * 1. Set position
+ * 2. Set style
+ * 3. Fade-in transition
+ */
+.uk-overlay-area {
+ /* 1 */
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ /* 2 */
+ background: rgba(0, 0, 0, 0.3);
+ /* 3 */
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+ -webkit-transform: translate3d(0, 0, 0);
+}
+/*
+ * Hover
+ * 1. `uk-hover` to support touch devices
+ * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier
+ */
+.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;
+}
+/*
+ * Icon
+ */
+.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: #ffffff;
+}
+/* DEPRECATED
+ * Sub-object `uk-overlay-area-content`
+ ========================================================================== */
+/*
+ * Remove whitespace between child elements when using `inline-block`
+ * Needed for Firefox
+ */
+.uk-overlay-area:not(:empty) {
+ font-size: 0.001px;
+}
+/*
+ * 1. Needed for vertical alignment
+ */
+.uk-overlay-area:not(:empty):before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+}
+/*
+ * 1. Set vertical alignment
+ * 2. Reset whitespace hack
+ * 3. Set horizontal alignment
+ * 4. Set style
+ */
+.uk-overlay-area-content {
+ /* 1 */
+ display: inline-block;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 100%;
+ vertical-align: middle;
+ /* 2 */
+ font-size: 1rem;
+ /* 3 */
+ text-align: center;
+ /* 4 */
+ padding: 0 15px;
+ color: #ffffff;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-overlay-area-content > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Links in overlay area
+ */
+.uk-overlay-area-content a:not([class]),
+.uk-overlay-area-content a:not([class]):hover {
+ color: inherit;
+}
+/* DEPRECATED
+ * Sub-object `uk-overlay-caption`
+ ========================================================================== */
+/*
+ * 1. Set position
+ * 2. Set style
+ * 3. Fade-in transition
+ */
+.uk-overlay-caption {
+ /* 1 */
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ /* 2 */
+ padding: 15px;
+ background: rgba(0, 0, 0, 0.5);
+ color: #ffffff;
+ /* 3 */
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+ -webkit-transform: translate3d(0, 0, 0);
+}
+/*
+ * Hover
+ * 1. `uk-hover` to support touch devices
+ * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier
+ */
+.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;
+}
+/* ========================================================================
+ Component: Animation
+ ========================================================================== */
+[class*='uk-animation-'] {
+ -webkit-animation-duration: 0.5s;
+ animation-duration: 0.5s;
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+}
+/* Hide animated element if scrollspy is used */
+@media screen {
+ [data-uk-scrollspy*='uk-animation-']:not([data-uk-scrollspy*='target']) {
+ opacity: 0;
+ }
+}
+/*
+ * Fade
+ * Higher specificity (!important) needed because of reverse modifier
+ */
+.uk-animation-fade {
+ -webkit-animation-name: uk-fade;
+ animation-name: uk-fade;
+ -webkit-animation-duration: 0.8s;
+ animation-duration: 0.8s;
+ -webkit-animation-timing-function: linear !important;
+ animation-timing-function: linear !important;
+}
+/*
+ * Fade with scale
+ */
+.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;
+}
+/*
+ * Fade with slide
+ */
+.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;
+}
+/*
+ * Scale
+ */
+.uk-animation-scale {
+ -webkit-animation-name: uk-scale-12;
+ animation-name: uk-scale-12;
+}
+/*
+ * Shake
+ */
+.uk-animation-shake {
+ -webkit-animation-name: uk-shake;
+ animation-name: uk-shake;
+}
+/* Direction modifiers
+ ========================================================================== */
+.uk-animation-reverse {
+ -webkit-animation-direction: reverse;
+ animation-direction: reverse;
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+}
+/* Duration modifiers
+========================================================================== */
+.uk-animation-15 {
+ -webkit-animation-duration: 15s;
+ animation-duration: 15s;
+}
+/* Origin modifiers
+========================================================================== */
+.uk-animation-top-left {
+ -webkit-transform-origin: 0 0;
+ transform-origin: 0 0;
+}
+.uk-animation-top-center {
+ -webkit-transform-origin: 50% 0;
+ transform-origin: 50% 0;
+}
+.uk-animation-top-right {
+ -webkit-transform-origin: 100% 0;
+ transform-origin: 100% 0;
+}
+.uk-animation-middle-left {
+ -webkit-transform-origin: 0 50%;
+ transform-origin: 0 50%;
+}
+.uk-animation-middle-right {
+ -webkit-transform-origin: 100% 50%;
+ transform-origin: 100% 50%;
+}
+.uk-animation-bottom-left {
+ -webkit-transform-origin: 0 100%;
+ transform-origin: 0 100%;
+}
+.uk-animation-bottom-center {
+ -webkit-transform-origin: 50% 100%;
+ transform-origin: 50% 100%;
+}
+.uk-animation-bottom-right {
+ -webkit-transform-origin: 100% 100%;
+ transform-origin: 100% 100%;
+}
+/* Sub-object: `uk-animation-hover`
+========================================================================== */
+/*
+ * Enable animation only on hover
+ * Note: Firefox also needs this because animations are not triggered when switching between display `hidden` and `block`
+ */
+.uk-animation-hover:not(:hover),
+.uk-animation-hover:not(:hover) [class*='uk-animation-'],
+.uk-touch .uk-animation-hover:not(.uk-hover),
+.uk-touch .uk-animation-hover:not(.uk-hover) [class*='uk-animation-'] {
+ -webkit-animation-name: none;
+ animation-name: none;
+}
+/* Keyframes: Fade
+ * Used by dropdown, datepicker and slideshow component
+ ========================================================================== */
+@-webkit-keyframes uk-fade {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+@keyframes uk-fade {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+/* Keyframes: Fade with slide
+ ========================================================================== */
+/*
+ * Top
+ */
+@-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;
+ transform: translateY(-100%);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+/*
+ * Bottom
+ */
+@-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;
+ transform: translateY(100%);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+/*
+ * Left
+ */
+@-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;
+ transform: translateX(-100%);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+}
+/*
+ * Right
+ */
+@-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;
+ transform: translateX(100%);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+}
+/* Keyframes: Fade with scale
+ ========================================================================== */
+/*
+ * Scale by 0.2
+ */
+@-webkit-keyframes uk-fade-scale-02 {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(0.2);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ }
+}
+@keyframes uk-fade-scale-02 {
+ 0% {
+ opacity: 0;
+ transform: scale(0.2);
+ }
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+/*
+ * Scale by 1.5
+ * Used by slideshow component
+ */
+@-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;
+ transform: scale(1.5);
+ }
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+/*
+ * Scale by 1.8
+ */
+@-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;
+ transform: scale(1.8);
+ }
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+/* Keyframes: Slide
+ * Used by slideshow component
+ ========================================================================== */
+/*
+ * Left
+ */
+@-webkit-keyframes uk-slide-left {
+ 0% {
+ -webkit-transform: translateX(-100%);
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ }
+}
+@keyframes uk-slide-left {
+ 0% {
+ transform: translateX(-100%);
+ }
+ 100% {
+ transform: translateX(0);
+ }
+}
+/*
+ * Right
+ */
+@-webkit-keyframes uk-slide-right {
+ 0% {
+ -webkit-transform: translateX(100%);
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ }
+}
+@keyframes uk-slide-right {
+ 0% {
+ transform: translateX(100%);
+ }
+ 100% {
+ transform: translateX(0);
+ }
+}
+/*
+ * Left third
+ */
+@-webkit-keyframes uk-slide-left-33 {
+ 0% {
+ -webkit-transform: translateX(33%);
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ }
+}
+@keyframes uk-slide-left-33 {
+ 0% {
+ transform: translateX(33%);
+ }
+ 100% {
+ transform: translateX(0);
+ }
+}
+/*
+ * Right third
+ */
+@-webkit-keyframes uk-slide-right-33 {
+ 0% {
+ -webkit-transform: translateX(-33%);
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ }
+}
+@keyframes uk-slide-right-33 {
+ 0% {
+ transform: translateX(-33%);
+ }
+ 100% {
+ transform: translateX(0);
+ }
+}
+/* Keyframes: Scale
+ ========================================================================== */
+@-webkit-keyframes uk-scale-12 {
+ 0% {
+ -webkit-transform: scale(1.2);
+ }
+ 100% {
+ -webkit-transform: scale(1);
+ }
+}
+@keyframes uk-scale-12 {
+ 0% {
+ transform: scale(1.2);
+ }
+ 100% {
+ transform: scale(1);
+ }
+}
+/* Keyframes: Rotate
+ * Used by icon component
+ ========================================================================== */
+@-webkit-keyframes uk-rotate {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(359deg);
+ }
+}
+@keyframes uk-rotate {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(359deg);
+ }
+}
+/* Keyframes: Shake
+ ========================================================================== */
+@-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% {
+ transform: translateX(0);
+ }
+ 10% {
+ transform: translateX(-9px);
+ }
+ 20% {
+ transform: translateX(8px);
+ }
+ 30% {
+ transform: translateX(-7px);
+ }
+ 40% {
+ transform: translateX(6px);
+ }
+ 50% {
+ transform: translateX(-5px);
+ }
+ 60% {
+ transform: translateX(4px);
+ }
+ 70% {
+ transform: translateX(-3px);
+ }
+ 80% {
+ transform: translateX(2px);
+ }
+ 90% {
+ transform: translateX(-1px);
+ }
+}
+/* Keyframes: Fade with slide fixed
+ * Used by dropdown and search component
+ ========================================================================== */
+/*
+ * Top fixed
+ */
+@-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;
+ transform: translateY(-10px);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+/*
+ * Bottom fixed
+ */
+@-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;
+ transform: translateY(10px);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+/* ========================================================================
+ Component: Dropdown
+ ========================================================================== */
+/*
+ * 1. Hide by default
+ * 2. Set position
+ * 3. Box-sizing is needed for `uk-dropdown-justify`
+ * 4. Set style
+ * 5. Reset button group whitespace hack
+ */
+.uk-dropdown {
+ /* 1 */
+ display: none;
+ /* 2 */
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1020;
+ /* 3 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 4 */
+ width: 200px;
+ margin-top: 5px;
+ padding: 15px;
+ background: #ffffff;
+ color: #444444;
+ /* 5 */
+ font-size: 1rem;
+ vertical-align: top;
+ border: 1px solid #dddddd;
+ border-radius: 4px;
+}
+/*
+ * 1. Show dropdown
+ * 2. Set animation
+ * 3. Needed for scale animation
+ */
+.uk-open > .uk-dropdown {
+ /* 1 */
+ display: block;
+ /* 2 */
+ -webkit-animation: uk-fade 0.2s ease-in-out;
+ animation: uk-fade 0.2s ease-in-out;
+ /* 3 */
+ -webkit-transform-origin: 0 0;
+ transform-origin: 0 0;
+}
+/* Alignment modifiers
+ ========================================================================== */
+/*
+ * Modifier `uk-dropdown-flip`
+ */
+.uk-dropdown-flip {
+ left: auto;
+ right: 0;
+}
+/*
+ * Modifier `uk-dropdown-up`
+ */
+.uk-dropdown-up {
+ top: auto;
+ bottom: 100%;
+ margin-top: auto;
+ margin-bottom: 5px;
+}
+/* Nav in dropdown
+ ========================================================================== */
+.uk-dropdown .uk-nav {
+ margin: 0 -15px;
+}
+/* Grid and panel in dropdown
+ ========================================================================== */
+/*
+* Vertical gutter
+*/
+/*
+ * Grid
+ * Higher specificity to override large gutter
+ */
+.uk-grid .uk-dropdown-grid + .uk-dropdown-grid {
+ margin-top: 15px;
+}
+/* Panels */
+.uk-dropdown-grid > [class*='uk-width-'] > .uk-panel + .uk-panel {
+ margin-top: 15px;
+}
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ /*
+ * Horizontal gutter
+ */
+ .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;
+ }
+ /*
+ * Column divider
+ */
+ .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) {
+ border-left: 1px solid #dddddd;
+ }
+ /*
+ * Width multiplier for dropdown columns
+ */
+ .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;
+ }
+}
+/* Phone landscape and smaller */
+@media (max-width: 767px) {
+ /*
+ * Stack columns and take full width
+ */
+ .uk-dropdown-grid > [class*='uk-width-'] {
+ width: 100%;
+ }
+ /*
+ * Vertical gutter
+ */
+ .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) {
+ margin-top: 15px;
+ }
+}
+/*
+* Stack grid columns
+*/
+.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;
+}
+/* Modifier `uk-dropdown-small`
+ ========================================================================== */
+/*
+ * Set min-width and text expands dropdown if needed
+ */
+.uk-dropdown-small {
+ min-width: 150px;
+ width: auto;
+ padding: 5px;
+ white-space: nowrap;
+}
+/*
+ * Nav in dropdown
+ */
+.uk-dropdown-small .uk-nav {
+ margin: 0 -5px;
+}
+/* Modifier: `uk-dropdown-navbar`
+ ========================================================================== */
+.uk-dropdown-navbar {
+ margin-top: 6px;
+ background: #ffffff;
+ color: #444444;
+ left: -1px;
+}
+.uk-open > .uk-dropdown-navbar {
+ -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out;
+ animation: uk-slide-top-fixed 0.2s ease-in-out;
+}
+/* Modifier `uk-dropdown-scrollable`
+ ========================================================================== */
+/*
+ * Usefull for long lists
+ */
+.uk-dropdown-scrollable {
+ overflow-y: auto;
+ max-height: 200px;
+}
+.uk-dropdown-navbar.uk-dropdown-flip {
+ left: auto;
+}
+/* ========================================================================
+ Component: Modal
+ ========================================================================== */
+/*
+ * This is the modal overlay and modal dialog container
+ * 1. Hide by default
+ * 2. Set fixed position
+ * 3. Allow scrolling for the modal dialog
+ * 4. Mask the background page
+ * 5. Fade-in transition
+ * 6. Deactivate browser history navigation in IE11
+ * 7. force hardware acceleration to prevent browser rendering hiccups
+ */
+.uk-modal {
+ /* 1 */
+ display: none;
+ /* 2 */
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1010;
+ /* 3 */
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ /* 4 */
+ background: rgba(0, 0, 0, 0.6);
+ /* 5 */
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+ /* 6 */
+ touch-action: cross-slide-y pinch-zoom double-tap-zoom;
+ /* 7 */
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+}
+/*
+ * Open state
+ */
+.uk-modal.uk-open {
+ opacity: 1;
+}
+/*
+ * Prevents duplicated scrollbar caused by 4.
+ */
+.uk-modal-page,
+.uk-modal-page body {
+ overflow: hidden;
+}
+/* Sub-object: `uk-modal-dialog`
+ ========================================================================== */
+/*
+ * 1. Create position context for caption, spinner and close button
+ * 2. Set box sizing
+ * 3. Set style
+ * 4. Slide-in transition
+ */
+.uk-modal-dialog {
+ /* 1 */
+ position: relative;
+ /* 2 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ margin: 50px auto;
+ padding: 20px;
+ width: 600px;
+ max-width: 100%;
+ max-width: calc(100% - 20px);
+ /* 3 */
+ background: #ffffff;
+ /* 4 */
+ opacity: 0;
+ -webkit-transform: translateY(-100px);
+ transform: translateY(-100px);
+ -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out;
+ transition: opacity 0.3s linear, transform 0.3s ease-out;
+ border-radius: 4px;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
+}
+/* Phone landscape and smaller */
+@media (max-width: 767px) {
+ /*
+ * Fit in small screen
+ */
+ .uk-modal-dialog {
+ width: auto;
+ margin: 10px auto;
+ }
+}
+/*
+ * Open state
+ */
+.uk-open .uk-modal-dialog {
+ /* 4 */
+ opacity: 1;
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-modal-dialog > :not([class*='uk-modal-']):last-child {
+ margin-bottom: 0;
+}
+/* Close in modal
+ ========================================================================== */
+.uk-modal-dialog > .uk-close:first-child {
+ margin: -10px -10px 0 0;
+ float: right;
+}
+/*
+ * Remove margin from adjacent element
+ */
+.uk-modal-dialog > .uk-close:first-child + :not([class*='uk-modal-']) {
+ margin-top: 0;
+}
+/* Modifier: `uk-modal-dialog-lightbox`
+ ========================================================================== */
+.uk-modal-dialog-lightbox {
+ margin: 15px auto;
+ padding: 0;
+ max-width: 95%;
+ max-width: calc(100% - 30px);
+ border-radius: 0;
+}
+/*
+ * Close button
+ */
+.uk-modal-dialog-lightbox > .uk-close:first-child {
+ position: absolute;
+ top: -12px;
+ right: -12px;
+ margin: 0;
+ float: none;
+}
+/* Phone landscape and smaller */
+@media (max-width: 767px) {
+ .uk-modal-dialog-lightbox > .uk-close:first-child {
+ top: -7px;
+ right: -7px;
+ }
+}
+/* Modifier: `uk-modal-dialog-large`
+ ========================================================================== */
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ .uk-modal-dialog-large {
+ width: 930px;
+ }
+}
+/* Large screen and bigger */
+@media (min-width: 1220px) {
+ .uk-modal-dialog-large {
+ width: 1130px;
+ }
+}
+/* Sub-Object: `uk-modal-header` and `uk-modal-footer`
+ ========================================================================== */
+.uk-modal-header {
+ margin-bottom: 15px;
+ margin: -20px -20px 15px -20px;
+ padding: 20px;
+ border-bottom: 1px solid #dddddd;
+ border-radius: 4px 4px 0 0;
+ background: #fafafa;
+}
+.uk-modal-footer {
+ margin-top: 15px;
+ margin: 15px -20px -20px -20px;
+ padding: 20px;
+ border-top: 1px solid #dddddd;
+ border-radius: 0 0 4px 4px;
+ background: #fafafa;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-modal-header > :last-child,
+.uk-modal-footer > :last-child {
+ margin-bottom: 0;
+}
+/* Sub-Object: `uk-modal-caption`
+ ========================================================================== */
+.uk-modal-caption {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: -20px;
+ margin-bottom: -10px;
+ color: #ffffff;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+/* Sub-Object: `uk-modal-spinner`
+ ========================================================================== */
+.uk-modal-spinner {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ font-size: 25px;
+ color: #ddd;
+}
+.uk-modal-spinner:after {
+ content: "\f110";
+ font-family: FontAwesome;
+ -webkit-animation: uk-rotate 2s infinite linear;
+ animation: uk-rotate 2s infinite linear;
+}
+/* ========================================================================
+ Component: Off-canvas
+ ========================================================================== */
+/*
+ * This is the offcanvas overlay and bar container
+ * 1. Hide by default
+ * 2. Set fixed position
+ * 3. Deactivate browser touch actions in IE11
+ * 4. Mask the background page
+ */
+.uk-offcanvas {
+ /* 1 */
+ display: none;
+ /* 2 */
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1000;
+ /* 3 */
+ touch-action: none;
+ /* 4 */
+ background: rgba(0, 0, 0, 0.1);
+}
+.uk-offcanvas.uk-active {
+ display: block;
+}
+/* Sub-object `uk-offcanvas-page`
+ ========================================================================== */
+/*
+ * Prepares the whole HTML page to slide-out
+ * 1. Fix the main page and disallow scrolling
+ * 2. Side-out transition
+ */
+.uk-offcanvas-page {
+ /* 1 */
+ position: fixed;
+ /* 2 */
+ -webkit-transition: margin-left 0.3s ease-in-out;
+ transition: margin-left 0.3s ease-in-out;
+}
+/* Sub-object `uk-offcanvas-bar`
+ ========================================================================== */
+/*
+ * This is the offcanvas bar
+ * 1. Set fixed position
+ * 2. Size and style
+ * 3. Allow scrolling
+ * 4. Side-out transition
+ * 5. Deavtivate scroll chaining in IE11
+ */
+.uk-offcanvas-bar {
+ /* 1 */
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ -webkit-transform: translateX(-100%);
+ transform: translateX(-100%);
+ z-index: 1001;
+ /* 2 */
+ width: 270px;
+ max-width: 100%;
+ background: #333333;
+ /* 3 */
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ /* 4 */
+ -webkit-transition: -webkit-transform 0.3s ease-in-out;
+ transition: transform 0.3s ease-in-out;
+ /* 5 */
+ -ms-scroll-chaining: none;
+}
+.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show {
+ -webkit-transform: translateX(0%);
+ transform: translateX(0%);
+}
+/* Modifier `uk-offcanvas-bar-flip`
+ ========================================================================== */
+.uk-offcanvas-bar-flip {
+ left: auto;
+ right: 0;
+ -webkit-transform: translateX(100%);
+ transform: translateX(100%);
+}
+/* Panel in offcanvas
+ ========================================================================== */
+.uk-offcanvas .uk-panel {
+ margin: 20px 15px;
+ color: #777777;
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
+}
+.uk-offcanvas .uk-panel-title {
+ color: #cccccc;
+}
+.uk-offcanvas .uk-panel a:not([class]) {
+ color: #cccccc;
+}
+.uk-offcanvas .uk-panel a:not([class]):hover {
+ color: #ffffff;
+}
+.uk-offcanvas-bar:after {
+ content: "";
+ display: block;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ right: 0;
+ width: 1px;
+ background: rgba(0, 0, 0, 0.6);
+ box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.6);
+}
+.uk-offcanvas-bar-flip:after {
+ right: auto;
+ left: 0;
+ width: 1px;
+ background: rgba(0, 0, 0, 0.6);
+ box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.6);
+}
+/* ========================================================================
+ Component: Switcher
+ ========================================================================== */
+/*
+ * 1. Deactivate browser history navigation in IE11
+ */
+.uk-switcher {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ /* 1 */
+ touch-action: cross-slide-y pinch-zoom double-tap-zoom;
+}
+/*
+ * Items
+ */
+.uk-switcher > :not(.uk-active) {
+ display: none;
+}
+/* ========================================================================
+ Component: Text
+ ========================================================================== */
+/* Size modifiers
+ ========================================================================== */
+.uk-text-small {
+ font-size: 11px;
+ line-height: 16px;
+}
+.uk-text-large {
+ font-size: 18px;
+ line-height: 24px;
+ font-weight: normal;
+}
+/* Weight modifiers
+ ========================================================================== */
+.uk-text-bold {
+ font-weight: bold;
+}
+/* Color modifiers
+ ========================================================================== */
+.uk-text-muted {
+ color: #999999 !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-contrast {
+ color: #ffffff !important;
+}
+/* Alignment modifiers
+ ========================================================================== */
+.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;
+}
+/* Only tablets portrait and smaller */
+@media (max-width: 959px) {
+ .uk-text-center-medium {
+ text-align: center !important;
+ }
+ .uk-text-left-medium {
+ text-align: left !important;
+ }
+}
+/* Phone landscape and smaller */
+@media (max-width: 767px) {
+ .uk-text-center-small {
+ text-align: center !important;
+ }
+ .uk-text-left-small {
+ text-align: left !important;
+ }
+}
+/* Wrap modifiers
+ ========================================================================== */
+/*
+ * Prevent text from wrapping onto multiple lines
+ */
+.uk-text-nowrap {
+ white-space: nowrap;
+}
+/*
+ * Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
+ */
+.uk-text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+/*
+ * Break strings if their length exceeds the width of their container
+ */
+.uk-text-break {
+ word-wrap: break-word;
+ -webkit-hyphens: auto;
+ -ms-hyphens: auto;
+ -moz-hyphens: auto;
+ hyphens: auto;
+}
+/* ========================================================================
+ Component: Utility
+ ========================================================================== */
+/* Container
+ ========================================================================== */
+.uk-container {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ max-width: 980px;
+ padding: 0 25px;
+}
+/* Large screen and bigger */
+@media (min-width: 1220px) {
+ .uk-container {
+ max-width: 1200px;
+ padding: 0 35px;
+ }
+}
+/*
+ * Micro clearfix
+ */
+.uk-container:before,
+.uk-container:after {
+ content: "";
+ display: table;
+}
+.uk-container:after {
+ clear: both;
+}
+/*
+ * Center container
+ */
+.uk-container-center {
+ margin-left: auto;
+ margin-right: auto;
+}
+/* Clearing
+ ========================================================================== */
+/*
+ * Micro clearfix
+* `table-cell` is used with `:before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit
+ * `table` is used again with `:after` because `clear` only works with block elements.
+ * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari
+ */
+.uk-clearfix:before {
+ content: "";
+ display: table-cell;
+}
+.uk-clearfix:after {
+ content: "";
+ display: table;
+ clear: both;
+}
+/*
+ * Create a new block formatting context
+ */
+.uk-nbfc {
+ overflow: hidden;
+}
+.uk-nbfc-alt {
+ display: table-cell;
+ width: 10000px;
+}
+/* Alignment of block elements
+ ========================================================================== */
+/*
+ * Float blocks
+ * 1. Prevent content overflow on small devices
+ */
+.uk-float-left {
+ float: left;
+}
+.uk-float-right {
+ float: right;
+}
+/* 1 */
+[class*='uk-float-'] {
+ max-width: 100%;
+}
+/* Alignment of images and objects
+ ========================================================================== */
+/*
+ * Alignment
+ */
+[class*='uk-align-'] {
+ display: block;
+ margin-bottom: 15px;
+}
+.uk-align-left {
+ margin-right: 15px;
+ float: left;
+}
+.uk-align-right {
+ margin-left: 15px;
+ float: right;
+}
+/* Tablet and bigger */
+@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;
+}
+/* Vertical alignment
+ ========================================================================== */
+/*
+ * Remove whitespace between child elements when using `inline-block`
+ */
+.uk-vertical-align {
+ font-size: 0.001px;
+}
+/*
+ * The `uk-vertical-align` container needs a specific height
+ */
+.uk-vertical-align:before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+}
+/*
+ * Sub-object which can have any height
+ * 1. Reset whitespace hack
+ */
+.uk-vertical-align-middle,
+.uk-vertical-align-bottom {
+ display: inline-block;
+ max-width: 100%;
+ /* 1 */
+ font-size: 1rem;
+}
+.uk-vertical-align-middle {
+ vertical-align: middle;
+}
+.uk-vertical-align-bottom {
+ vertical-align: bottom;
+}
+/* Height
+ ========================================================================== */
+/*
+ * More robust if padding and border are used
+ */
+[class*='uk-height'] {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*
+ * Useful to extend the `html` and `body` element to the full height of the page.
+ */
+.uk-height-1-1 {
+ height: 100%;
+}
+/*
+ * Useful to create image teasers
+ */
+.uk-height-viewport {
+ height: 100vh;
+ min-height: 600px;
+}
+/* Responsive objects
+ * Note: Images are already responsive by default, see Base component
+ ========================================================================== */
+/*
+ * 1. Corrects `max-width` and `max-height` behavior if padding and border are used
+ */
+.uk-responsive-width,
+.uk-responsive-height {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*
+ * Responsiveness: Sets a maximum width relative to the parent and auto scales the height
+ * `important` needed to override `uk-img-preserve img`
+ */
+.uk-responsive-width {
+ max-width: 100% !important;
+ height: auto;
+}
+/*
+ * Responsiveness: Sets a maximum height relative to the parent and auto scales the width
+ * Only works if the parent element has a fixed height.
+ */
+.uk-responsive-height {
+ max-height: 100%;
+ width: auto;
+}
+/* Margin
+ ========================================================================== */
+/*
+ * Create a block with the same margin of a paragraph
+ * Add margin if adjacent element
+ */
+.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;
+}
+/*
+ * Larger margins
+ */
+.uk-margin-large {
+ margin-bottom: 50px;
+}
+* + .uk-margin-large {
+ margin-top: 50px;
+}
+.uk-margin-large-top {
+ 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;
+}
+/*
+ * Smaller margins
+ */
+.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;
+}
+/*
+ * Remove margins
+ */
+.uk-margin-remove {
+ margin: 0 !important;
+}
+.uk-margin-top-remove {
+ margin-top: 0 !important;
+}
+.uk-margin-bottom-remove {
+ margin-bottom: 0 !important;
+}
+/* Padding
+ ========================================================================== */
+.uk-padding-remove {
+ padding: 0 !important;
+}
+.uk-padding-top-remove {
+ padding-top: 0 !important;
+}
+.uk-padding-bottom-remove {
+ padding-bottom: 0 !important;
+}
+.uk-padding-vertical-remove {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
+/* Border
+ ========================================================================== */
+.uk-border-circle {
+ border-radius: 50%;
+}
+.uk-border-rounded {
+ border-radius: 5px;
+}
+/* Headings
+ ========================================================================== */
+.uk-heading-large {
+ font-size: 36px;
+ line-height: 42px;
+}
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ .uk-heading-large {
+ font-size: 52px;
+ line-height: 64px;
+ }
+}
+/* Link
+ ========================================================================== */
+/*
+ * Let links appear in default text color
+ */
+.uk-link-muted,
+.uk-link-muted a {
+ color: #444444;
+}
+.uk-link-muted:hover,
+.uk-link-muted a:hover {
+ color: #444444;
+}
+/*
+ * Reset link style
+ */
+.uk-link-reset,
+.uk-link-reset a,
+.uk-link-reset:hover,
+.uk-link-reset a:hover,
+.uk-link-reset:focus,
+.uk-link-reset a:focus {
+ color: inherit;
+ text-decoration: none;
+}
+/* Scrollable
+ ========================================================================== */
+/*
+ * Enable scrolling for preformatted text
+ */
+.uk-scrollable-text {
+ height: 300px;
+ overflow-y: scroll;
+ -webkit-overflow-scrolling: touch;
+ resize: both;
+}
+/*
+ * Box with scrolling enabled
+ */
+.uk-scrollable-box {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ height: 170px;
+ padding: 10px;
+ border: 1px solid #dddddd;
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+ resize: both;
+ border-radius: 3px;
+}
+.uk-scrollable-box > :last-child {
+ margin-bottom: 0;
+}
+/* Overflow
+ ========================================================================== */
+.uk-overflow-hidden {
+ overflow: hidden;
+}
+/*
+ * Enable scrollbars if content is clipped
+ */
+.uk-overflow-container {
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+}
+.uk-overflow-container > :last-child {
+ margin-bottom: 0;
+}
+/* Position
+ ========================================================================== */
+.uk-position-absolute,
+[class*='uk-position-top'],
+[class*='uk-position-bottom'] {
+ position: absolute !important;
+}
+.uk-position-top {
+ top: 0;
+ width: 100%;
+}
+.uk-position-bottom {
+ bottom: 0;
+ width: 100%;
+}
+.uk-position-top-left {
+ top: 0;
+ left: 0;
+}
+.uk-position-top-right {
+ top: 0;
+ right: 0;
+}
+.uk-position-bottom-left {
+ bottom: 0;
+ left: 0;
+}
+.uk-position-bottom-right {
+ bottom: 0;
+ right: 0;
+}
+/*
+ * Cover
+ */
+.uk-position-cover {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+}
+/*
+ * Relative
+ */
+.uk-position-relative {
+ position: relative !important;
+}
+/*
+ * Z-index
+ */
+.uk-position-z-index {
+ z-index: 1;
+}
+/* Display
+ ========================================================================== */
+/*
+ * Display
+ */
+.uk-display-block {
+ display: block !important;
+}
+.uk-display-inline {
+ display: inline !important;
+}
+.uk-display-inline-block {
+ display: inline-block !important;
+}
+/*
+ * Visibility
+ * Avoids setting display to `block` so it works also with `inline-block` and `table`
+ */
+/* Desktop and bigger */
+@media (min-width: 960px) {
+ .uk-visible-small {
+ display: none !important;
+ }
+ .uk-visible-medium {
+ display: none !important;
+ }
+ .uk-hidden-large {
+ display: none !important;
+ }
+}
+/* Tablets portrait */
+@media (min-width: 768px) and (max-width: 959px) {
+ .uk-visible-small {
+ display: none !important;
+ }
+ .uk-visible-large {
+ display: none !important ;
+ }
+ .uk-hidden-medium {
+ display: none !important;
+ }
+}
+/* Phone landscape and smaller*/
+@media (max-width: 767px) {
+ .uk-visible-medium {
+ display: none !important;
+ }
+ .uk-visible-large {
+ display: none !important;
+ }
+ .uk-hidden-small {
+ display: none !important;
+ }
+}
+/* Remove from the flow and screen readers on any device */
+.uk-hidden {
+ display: none !important;
+ visibility: hidden !important;
+}
+/* It's hidden, but still affects layout */
+.uk-invisible {
+ visibility: hidden !important;
+}
+/* Show on hover */
+.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;
+}
+/* Hide on touch */
+.uk-touch .uk-hidden-touch,
+.uk-notouch .uk-hidden-notouch {
+ display: none !important;
+}
+/* ========================================================================
+ Component: Flex
+ ========================================================================== */
+.uk-flex {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+}
+.uk-flex-inline {
+ display: -ms-inline-flexbox;
+ display: -webkit-inline-flex;
+ display: inline-flex;
+}
+/*
+ * Fixes initial flex-shrink value in IE10
+ */
+.uk-flex > *,
+.uk-flex-inline > * {
+ -ms-flex-negative: 1;
+}
+/* Alignment
+ ========================================================================== */
+/*
+ * Vertical alignment
+ * Default value is `stretch`
+ */
+.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;
+}
+/*
+ * Horizontal alignment
+ * Default value is `flex-start`
+ */
+.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-flex-space-between {
+ -ms-flex-pack: justify;
+ -webkit-justify-content: space-between;
+ justify-content: space-between;
+}
+.uk-flex-space-around {
+ -ms-flex-pack: distribute;
+ -webkit-justify-content: space-around;
+ justify-content: space-around;
+}
+/* Direction
+ ========================================================================== */
+.uk-flex-row-reverse {
+ -ms-flex-direction: row-reverse;
+ -webkit-flex-direction: row-reverse;
+ flex-direction: row-reverse;
+}
+.uk-flex-column {
+ -ms-flex-direction: column;
+ -webkit-flex-direction: column;
+ flex-direction: column;
+}
+.uk-flex-column-reverse {
+ -ms-flex-direction: column-reverse;
+ -webkit-flex-direction: column-reverse;
+ flex-direction: column-reverse;
+}
+/* Wrap
+ ========================================================================== */
+.uk-flex-nowrap {
+ -ms-flex-wrap: nowrap;
+ -webkit-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+}
+.uk-flex-wrap {
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+}
+.uk-flex-wrap-reverse {
+ -ms-flex-wrap: wrap-reverse;
+ -webkit-flex-wrap: wrap-reverse;
+ flex-wrap: wrap-reverse;
+}
+/*
+ * Horizontal alignment
+ * Default value is `stretch`
+ */
+.uk-flex-wrap-top {
+ -ms-flex-line-pack: start;
+ -webkit-align-content: flex-start;
+ align-content: flex-start;
+}
+.uk-flex-wrap-middle {
+ -ms-flex-line-pack: center;
+ -webkit-align-content: center;
+ align-content: center;
+}
+.uk-flex-wrap-bottom {
+ -ms-flex-line-pack: end;
+ -webkit-align-content: flex-end;
+ align-content: flex-end;
+}
+.uk-flex-wrap-space-between {
+ -ms-flex-line-pack: justify;
+ -webkit-align-content: space-between;
+ align-content: space-between;
+}
+.uk-flex-wrap-space-around {
+ -ms-flex-line-pack: distribute;
+ -webkit-align-content: space-around;
+ align-content: space-around;
+}
+/* Item ordering
+ ========================================================================== */
+/*
+ * Default is 0
+ */
+.uk-flex-order-first {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+}
+.uk-flex-order-last {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+}
+/* Phone landscape and bigger */
+@media (min-width: 480px) {
+ .uk-flex-order-first-small {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-small {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ .uk-flex-order-first-medium {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-medium {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+/* Desktop and bigger */
+@media (min-width: 960px) {
+ .uk-flex-order-first-large {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-large {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+/* Large screen and bigger */
+@media (min-width: 1220px) {
+ .uk-flex-order-first-xlarge {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-xlarge {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+/* Item dimensions
+ ========================================================================== */
+/*
+ * Initial: 0 1 auto
+ * Content dimensions, but shrinks
+ */
+/*
+ * No Flex: 0 0 auto
+ * Content dimensions
+ */
+.uk-flex-item-none {
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+}
+/*
+ * Relative Flex: 1 1 auto
+ * Space is allocated considering content
+ * 1. Fixes flex-shrink value in IE10
+ */
+.uk-flex-item-auto {
+ -ms-flex: auto;
+ -webkit-flex: auto;
+ flex: auto;
+ /* 1 */
+ -ms-flex-negative: 1;
+}
+/*
+ * Absolute Flex: 1 1 0%
+ * Space is allocated solely based on flex
+ */
+.uk-flex-item-1 {
+ -ms-flex: 1;
+ -webkit-flex: 1;
+ flex: 1;
+}
+/* ========================================================================
+ Component: Contrast
+ ========================================================================== */
+.uk-contrast {
+ color: #ffffff;
+}
+.uk-contrast a:not([class]),
+.uk-contrast .uk-link {
+ color: rgba(255, 255, 255, 0.7);
+ text-decoration: none;
+}
+.uk-contrast a:not([class]):hover,
+.uk-contrast .uk-link:hover {
+ color: #ffffff;
+ text-decoration: underline;
+}
+.uk-contrast :not(pre) > code,
+.uk-contrast :not(pre) > kbd,
+.uk-contrast :not(pre) > samp {
+ color: #ffffff;
+ border-color: rgba(255, 255, 255, 0.2);
+ background: rgba(255, 255, 255, 0.1);
+}
+.uk-contrast em {
+ color: #ffffff;
+}
+.uk-contrast h1,
+.uk-contrast h2,
+.uk-contrast h3,
+.uk-contrast h4,
+.uk-contrast h5,
+.uk-contrast h6 {
+ color: #ffffff;
+}
+.uk-contrast hr {
+ border-top-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-nav li > a,
+.uk-contrast .uk-nav li > a:hover {
+ text-decoration: none;
+}
+.uk-contrast .uk-nav-side > li > a {
+ color: #ffffff;
+}
+.uk-contrast .uk-nav-side > li > a:hover,
+.uk-contrast .uk-nav-side > li > a:focus {
+ background: rgba(255, 255, 255, 0.1);
+ color: #ffffff;
+ text-shadow: none;
+}
+.uk-contrast .uk-nav-side > li.uk-active > a {
+ background: #ffffff;
+ color: #444444;
+ text-shadow: none;
+}
+.uk-contrast .uk-nav-side .uk-nav-header {
+ color: #ffffff;
+}
+.uk-contrast .uk-nav-side .uk-nav-divider {
+ border-top-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-nav-side ul a {
+ color: rgba(255, 255, 255, 0.7);
+}
+.uk-contrast .uk-nav-side ul a:hover {
+ color: #ffffff;
+}
+.uk-contrast .uk-subnav > * > a {
+ color: rgba(255, 255, 255, 0.7);
+ text-decoration: none;
+}
+.uk-contrast .uk-subnav > * > a:hover,
+.uk-contrast .uk-subnav > * > a:focus {
+ color: #ffffff;
+ text-decoration: none;
+}
+.uk-contrast .uk-subnav > .uk-active > a {
+ color: #ffffff;
+}
+.uk-contrast .uk-subnav-line > :nth-child(n+2):before {
+ border-left-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-subnav-pill > * > a:hover,
+.uk-contrast .uk-subnav-pill > * > a:focus {
+ background: rgba(255, 255, 255, 0.7);
+ color: #444444;
+ text-decoration: none;
+}
+.uk-contrast .uk-subnav-pill > .uk-active > a {
+ background: #ffffff;
+ color: #444444;
+}
+.uk-contrast .uk-list-line > li:nth-child(n+2) {
+ border-top-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-form select,
+.uk-contrast .uk-form textarea,
+.uk-contrast .uk-form input:not([type]),
+.uk-contrast .uk-form input[type="text"],
+.uk-contrast .uk-form input[type="password"],
+.uk-contrast .uk-form input[type="datetime"],
+.uk-contrast .uk-form input[type="datetime-local"],
+.uk-contrast .uk-form input[type="date"],
+.uk-contrast .uk-form input[type="month"],
+.uk-contrast .uk-form input[type="time"],
+.uk-contrast .uk-form input[type="week"],
+.uk-contrast .uk-form input[type="number"],
+.uk-contrast .uk-form input[type="email"],
+.uk-contrast .uk-form input[type="url"],
+.uk-contrast .uk-form input[type="search"],
+.uk-contrast .uk-form input[type="tel"],
+.uk-contrast .uk-form input[type="color"] {
+ border-color: rgba(255, 255, 255, 0.8);
+ background: rgba(255, 255, 255, 0.8);
+ color: #444444;
+ background-clip: padding-box;
+}
+.uk-contrast .uk-form select:focus,
+.uk-contrast .uk-form textarea:focus,
+.uk-contrast .uk-form input:not([type]):focus,
+.uk-contrast .uk-form input[type="text"]:focus,
+.uk-contrast .uk-form input[type="password"]:focus,
+.uk-contrast .uk-form input[type="datetime"]:focus,
+.uk-contrast .uk-form input[type="datetime-local"]:focus,
+.uk-contrast .uk-form input[type="date"]:focus,
+.uk-contrast .uk-form input[type="month"]:focus,
+.uk-contrast .uk-form input[type="time"]:focus,
+.uk-contrast .uk-form input[type="week"]:focus,
+.uk-contrast .uk-form input[type="number"]:focus,
+.uk-contrast .uk-form input[type="email"]:focus,
+.uk-contrast .uk-form input[type="url"]:focus,
+.uk-contrast .uk-form input[type="search"]:focus,
+.uk-contrast .uk-form input[type="tel"]:focus,
+.uk-contrast .uk-form input[type="color"]:focus {
+ border-color: #ffffff;
+ background: #ffffff;
+ color: #444444;
+}
+.uk-contrast .uk-form :-ms-input-placeholder {
+ color: rgba(68, 68, 68, 0.7) !important;
+}
+.uk-contrast .uk-form ::-moz-placeholder {
+ color: rgba(68, 68, 68, 0.7);
+}
+.uk-contrast .uk-form ::-webkit-input-placeholder {
+ color: rgba(68, 68, 68, 0.7);
+}
+.uk-contrast .uk-button {
+ color: #444444;
+ background: #ffffff;
+ border-color: transparent;
+}
+.uk-contrast .uk-button:hover,
+.uk-contrast .uk-button:focus {
+ background-color: rgba(255, 255, 255, 0.8);
+ color: #444444;
+ border-color: transparent;
+}
+.uk-contrast .uk-button:active,
+.uk-contrast .uk-button.uk-active {
+ background-color: rgba(255, 255, 255, 0.7);
+ color: #444444;
+}
+.uk-contrast .uk-button-primary {
+ background-color: #00a8e6;
+ color: #ffffff;
+}
+.uk-contrast .uk-button-primary:hover,
+.uk-contrast .uk-button-primary:focus {
+ background-color: #35b3ee;
+ color: #ffffff;
+}
+.uk-contrast .uk-button-primary:active,
+.uk-contrast .uk-button-primary.uk-active {
+ background-color: #0091ca;
+ color: #ffffff;
+}
+.uk-contrast .uk-icon-hover {
+ color: rgba(255, 255, 255, 0.7);
+}
+.uk-contrast .uk-icon-hover:hover {
+ color: #ffffff;
+}
+.uk-contrast .uk-icon-button {
+ background: #ffffff;
+ color: #444444;
+ border-color: transparent;
+}
+.uk-contrast .uk-icon-button:hover,
+.uk-contrast .uk-icon-button:focus {
+ background-color: rgba(255, 255, 255, 0.8);
+ color: #444444;
+ border-color: transparent;
+}
+.uk-contrast .uk-icon-button:active {
+ background-color: rgba(255, 255, 255, 0.7);
+ color: #444444;
+}
+.uk-contrast .uk-text-muted {
+ color: rgba(255, 255, 255, 0.6) !important;
+}
+.uk-contrast .uk-text-primary {
+ color: #2d7091 !important;
+}
+/* ========================================================================
+ Component: Print
+ ========================================================================== */
+@media print {
+ * {
+ background: transparent !important;
+ color: black !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: 0.5cm;
+ }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+}
diff --git a/uikit/static/css/uikit.almost-flat.min.css b/uikit/static/css/uikit.almost-flat.min.css
new file mode 100644
index 0000000..7f70f78
--- /dev/null
+++ b/uikit/static/css/uikit.almost-flat.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+html{font:400 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}.uk-link,a{color:#07d;text-decoration:none;cursor:pointer}.uk-link:hover,a: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{background:#ffa;color:#444;text-decoration:none}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}blockquote,figure{margin:0}address,blockquote,dl,fieldset,figure,ol,p,pre,ul{margin:0 0 15px 0}*+address,*+blockquote,*+dl,*+fieldset,*+figure,*+ol,*+p,*+pre,*+ul{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px 0;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}.uk-h1,h1{font-size:36px;line-height:42px}.uk-h2,h2{font-size:24px;line-height:30px}.uk-h3,h3{font-size:18px;line-height:24px}.uk-h4,h4{font-size:16px;line-height:22px}.uk-h5,h5{font-size:14px;line-height:20px}.uk-h6,h6{font-size:12px;line-height:18px}ol,ul{padding-left:30px}ol>li>ol,ol>li>ul,ul>li>ol,ul>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;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{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.uk-grid:after,.uk-grid:before{content:"";display:block;overflow:hidden}.uk-grid:after{clear:both}.uk-grid>*{-ms-flex:none;-webkit-flex:none;flex:none;margin:0;float:left}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid{margin-left:-25px}.uk-grid>*{padding-left:25px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:25px}@media (min-width:1220px){.uk-grid{margin-left:-35px}.uk-grid>*{padding-left:35px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid-collapse{margin-left:0}.uk-grid-collapse>*{padding-left:0}.uk-grid-collapse+.uk-grid-collapse,.uk-grid-collapse>*>.uk-panel+.uk-panel,.uk-grid-collapse>.uk-grid-margin{margin-top:0}.uk-grid-small{margin-left:-10px}.uk-grid-small>*{padding-left:10px}.uk-grid-small+.uk-grid-small,.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid-small>.uk-grid-margin{margin-top:10px}.uk-grid-medium{margin-left:-25px}.uk-grid-medium>*{padding-left:25px}.uk-grid-medium+.uk-grid-medium,.uk-grid-medium>*>.uk-panel+.uk-panel,.uk-grid-medium>.uk-grid-margin{margin-top:25px}.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-9-]:nth-child(n+2),.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){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(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider>*{padding-left:35px;padding-right:35px}.uk-grid-divider:empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px;border-top:1px solid #ddd}.uk-grid-match>*{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-grid-match>*>*{-ms-flex:none;-webkit-flex:none;flex:none;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;-moz-box-sizing:border-box;box-sizing:border-box;width:100%}[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,.uk-panel:hover{text-decoration:none}.uk-panel:after,.uk-panel:before{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-teaser{margin-bottom:15px}.uk-panel-box{padding:15px;background:#fafafa;color:#444;border:1px solid #ddd;border-radius:4px}.uk-panel-box-hover:hover{color:#444}.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-top:-16px;margin-left:-16px;margin-right:-16px}.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-hover:hover{color:#2d7091}.uk-panel-box-primary .uk-panel-title{color:#2d7091}.uk-panel-box-secondary{background-color:#fff;color:#444}.uk-panel-box-secondary-hover:hover{color:#444}.uk-panel-box-secondary .uk-panel-title{color:#444}.uk-panel-hover{padding:15px;color:#444;border:1px solid transparent;border-radius:4px}.uk-panel-hover:hover{background:#fafafa;color:#444;border-color:#ddd}.uk-panel-hover .uk-panel-badge{top:10px;right:10px}.uk-panel-hover .uk-panel-teaser{margin-top:-16px;margin-left:-16px;margin-right:-16px}.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;overflow:hidden;-webkit-transform:translateZ(0)}.uk-block{position:relative;-moz-box-sizing:border-box;box-sizing:border-box;padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block{padding-top:50px;padding-bottom:50px}}.uk-block:after,.uk-block:before{content:"";display:table}.uk-block:after{clear:both}.uk-block>:last-child{margin-bottom:0}.uk-block-large{padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block-large{padding-top:50px;padding-bottom:50px}}@media (min-width:960px){.uk-block-large{padding-top:100px;padding-bottom:100px}}.uk-block-default{background:#fff}.uk-block-muted{background:#f9f9f9}.uk-block-primary{background:#00a8e6}.uk-block-secondary{background:#222}.uk-block-default+.uk-block-default,.uk-block-muted+.uk-block-muted,.uk-block-primary+.uk-block-primary,.uk-block-secondary+.uk-block-secondary{padding-top:0}.uk-article:after,.uk-article:before{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:after,.uk-comment-header:before{content:"";display:table}.uk-comment-header:after{clear:both}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-title{margin:5px 0 0 0;font-size:16px;line-height:22px}.uk-comment-meta{margin:2px 0 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 0;list-style:none}.uk-comment-list .uk-comment+ul>li:nth-child(n+2),.uk-comment-list>li:nth-child(n+2){margin-top:25px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:100px}}.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-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;position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}[data-uk-cover]{position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.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:focus,.uk-nav-side>li>a:hover{background:rgba(0,0,0,.03);color:#444;outline:0;box-shadow:inset 0 0 1px rgba(0,0,0,.06);text-shadow:0 -1px 0 #fff}.uk-nav-side>li.uk-active>a{background:#00a8e6;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.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:focus,.uk-nav-dropdown>li>a:hover{background:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.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:focus,.uk-nav-navbar>li>a:hover{background:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.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:focus,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover{background:#404040;color:#fff;outline:0}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:#f5f5f5;color:#444;border:1px solid rgba(0,0,0,.06);border-radius:4px}.uk-navbar:after,.uk-navbar:before{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>a[href='#']{cursor:text}.uk-navbar-nav>li.uk-open>a,.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus{background-color:#fafafa;color:#444;outline:0;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)}.uk-navbar-nav>li>a:active{background-color:#eee;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)}.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,.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-brand,.uk-navbar-content,.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-brand:before,.uk-navbar-content: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:focus,.uk-navbar-brand:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle{font-size:18px;color:#444;text-decoration:none}.uk-navbar-toggle:focus,.uk-navbar-toggle:hover{color:#444;text-decoration:none;outline:0}.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{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-subnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;position:relative}.uk-subnav:after,.uk-subnav:before{content:"";display:block;overflow:hidden}.uk-subnav:after{clear:both}.uk-subnav>*{float:left}.uk-subnav>*>*{display:inline-block;color:#444}.uk-subnav>*>:focus,.uk-subnav>*>:hover{color:#07d;text-decoration:none}.uk-subnav>.uk-active>*{color:#07d}.uk-subnav-line>:before{content:"";display:inline-block;height:10px;vertical-align:middle}.uk-subnav-line>:nth-child(n+2):before{margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>*>*{padding:3px 9px;border-radius:4px}.uk-subnav-pill>*>:focus,.uk-subnav-pill>*>:hover{background:#fafafa;color:#444;text-decoration:none;outline:0;box-shadow:0 0 0 1px rgba(0,0,0,.15)}.uk-subnav-pill>.uk-active>*{background:#00a8e6;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05)}.uk-subnav>.uk-disabled>*{background:0 0;color:#999;text-decoration:none;cursor:text;box-shadow:none}.uk-breadcrumb{padding:0;list-style:none;font-size:0}.uk-breadcrumb>li{font-size:1rem;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:0}.uk-pagination:after,.uk-pagination:before{content:"";display:table}.uk-pagination:after{clear:both}.uk-pagination>li{display:inline-block;font-size:1rem;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:1px solid rgba(0,0,0,.06);border-radius:4px}.uk-pagination>li>a{background:#f5f5f5;color:#444;text-shadow:0 1px 0 #fff}.uk-pagination>li>a:focus,.uk-pagination>li>a:hover{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.16)}.uk-pagination>li>a:active{background-color:#eee;color:#444}.uk-pagination>.uk-active>span{background:#00a8e6;color:#fff;border-color:transparent;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-pagination>.uk-disabled>span{background-color:#fafafa;color:#999;border:1px solid rgba(0,0,0,.06);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:after,.uk-tab:before{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 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.uk-open>a,.uk-tab>li>a:focus,.uk-tab>li>a:hover{border-color:rgba(0,0,0,.06);background:#f5f5f5;color:#059;outline:0}.uk-tab>li.uk-open:not(.uk-active)>a,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li:not(.uk-active)>a:hover{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:text}.uk-tab>li.uk-disabled.uk-active>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{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:after,.uk-tab-center:before{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.uk-open:not(.uk-active)>a,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li:not(.uk-active)>a:hover{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:focus,.uk-tab-left>li:not(.uk-active)>a:hover{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:focus,.uk-tab-right>li:not(.uk-active)>a:hover{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-thumbnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-thumbnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px}.uk-thumbnav:after,.uk-thumbnav:before{content:"";display:block;overflow:hidden}.uk-thumbnav:after{clear:both}.uk-thumbnav>*{float:left}.uk-thumbnav>*>*{display:block;background:#fff}.uk-thumbnav>*>*>img{opacity:.7;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-thumbnav>*>:focus>img,.uk-thumbnav>*>:hover>img{opacity:1}.uk-thumbnav>.uk-active>*>img{opacity:1}.uk-list{padding:0;list-style:none}.uk-list>li:after,.uk-list>li:before{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 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 td,.uk-table th{padding:8px 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 tbody tr.uk-active{background:#f0f0f0}.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 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],.uk-form textarea{-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 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],.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=color],.uk-form select,.uk-form textarea{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 input:not([type]):focus,.uk-form input[type=text]:focus,.uk-form input[type=password]: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=number]: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=color]:focus,.uk-form select:focus,.uk-form textarea:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form input:not([type]):disabled,.uk-form input[type=text]:disabled,.uk-form input[type=password]: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=number]: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=color]:disabled,.uk-form select:disabled,.uk-form textarea: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;padding-bottom:15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd;width:100%}input:not([type]).uk-form-small,input[type].uk-form-small,select.uk-form-small,textarea.uk-form-small{height:25px;padding:3px 3px;font-size:12px}input:not([type]).uk-form-large,input[type].uk-form-large,select.uk-form-large,textarea.uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form select[multiple],.uk-form select[size],.uk-form textarea{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#d85030!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#659f13!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:0 0!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:after,.uk-form-row:before{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 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:#f5f5f5;vertical-align:middle;line-height:28px;min-height:30px;font-size:1rem;text-decoration:none;text-align:center;border:1px solid rgba(0,0,0,.06);border-radius:4px;text-shadow:0 1px 0 #fff}.uk-button:not(:disabled){cursor:pointer}.uk-button:focus,.uk-button:hover{background-color:#fafafa;color:#444;outline:0;text-decoration:none;border-color:rgba(0,0,0,.16)}.uk-button.uk-active,.uk-button:active{background-color:#eee;color:#444}.uk-button-primary{background-color:#00a8e6;color:#fff}.uk-button-primary:focus,.uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-button-primary.uk-active,.uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-button-success{background-color:#8cc14c;color:#fff}.uk-button-success:focus,.uk-button-success:hover{background-color:#8ec73b;color:#fff}.uk-button-success.uk-active,.uk-button-success:active{background-color:#72ae41;color:#fff}.uk-button-danger{background-color:#da314b;color:#fff}.uk-button-danger:focus,.uk-button-danger:hover{background-color:#e4354f;color:#fff}.uk-button-danger.uk-active,.uk-button-danger:active{background-color:#c91032;color:#fff}.uk-button:disabled{background-color:#fafafa;color:#999;border-color:rgba(0,0,0,.06);box-shadow:none;text-shadow:0 1px 0 #fff}.uk-button-link,.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:disabled,.uk-button-link:focus,.uk-button-link:hover{border-color:transparent;background:0 0;box-shadow:none;text-shadow:none}.uk-button-link{color:#07d}.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:focus,.uk-button-link:hover{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{display:inline-block;vertical-align:middle;position:relative;font-size:0;white-space:nowrap}.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-danger,.uk-button-primary,.uk-button-success{box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-button-danger:focus,.uk-button-danger:hover,.uk-button-primary:focus,.uk-button-primary:hover,.uk-button-success:focus,.uk-button-success:hover{border-color:rgba(0,0,0,.21)}.uk-button-group>.uk-button:not(:first-child):not(:last-child),.uk-button-group>div:not(:first-child):not(:last-child) .uk-button{border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-radius:0}.uk-button-group>.uk-button:first-child,.uk-button-group>div:first-child .uk-button{border-right-color:rgba(0,0,0,.1);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-left-color:rgba(0,0,0,.1);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,.uk-button-group .uk-button:hover{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.woff2)format('woff2'),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}[class*=uk-icon-],[class*=uk-icon-]:focus,[class*=uk-icon-]:hover{text-decoration:none}.uk-icon-small{font-size:150%;vertical-align:-10%}.uk-icon-medium{font-size:200%;vertical-align:-16%}.uk-icon-large{font-size:250%;vertical-align:-22%}.uk-icon-justify{width:1em;text-align:center}.uk-icon-spin{display:inline-block;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-hover{color:#999}.uk-icon-hover:hover{color:#444}.uk-icon-button{-moz-box-sizing:border-box;box-sizing:border-box;display:inline-block;width:35px;height:35px;border-radius:100%;background:#f5f5f5;line-height:35px;color:#444;font-size:18px;text-align:center;border:1px solid #e7e7e7;text-shadow:0 1px 0 #fff}.uk-icon-button:focus,.uk-icon-button:hover{background-color:#fafafa;color:#444;outline:0;border-color:#d3d3d3}.uk-icon-button:active{background-color:#eee;color:#444}.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-close:before,.uk-icon-remove: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-cog:before,.uk-icon-gear: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-repeat:before,.uk-icon-rotate-right: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-image:before,.uk-icon-photo: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-exclamation-triangle:before,.uk-icon-warning: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-cogs:before,.uk-icon-gears: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-f:before,.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-floppy-o:before,.uk-icon-save:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-bars:before,.uk-icon-navicon:before,.uk-icon-reorder: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-sort:before,.uk-icon-unsorted:before{content:"\f0dc"}.uk-icon-sort-desc:before,.uk-icon-sort-down:before{content:"\f0dd"}.uk-icon-sort-asc:before,.uk-icon-sort-up: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-gavel:before,.uk-icon-legal: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-bolt:before,.uk-icon-flash:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-clipboard:before,.uk-icon-paste: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-chain-broken:before,.uk-icon-unlink: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-caret-square-o-down:before,.uk-icon-toggle-down:before{content:"\f150"}.uk-icon-caret-square-o-up:before,.uk-icon-toggle-up:before{content:"\f151"}.uk-icon-caret-square-o-right:before,.uk-icon-toggle-right:before{content:"\f152"}.uk-icon-eur:before,.uk-icon-euro:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-inr:before,.uk-icon-rupee:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-jpy:before,.uk-icon-rmb:before,.uk-icon-yen:before{content:"\f157"}.uk-icon-rouble:before,.uk-icon-rub:before,.uk-icon-ruble:before{content:"\f158"}.uk-icon-krw:before,.uk-icon-won: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,.uk-icon-gratipay: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-caret-square-o-left:before,.uk-icon-toggle-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-try:before,.uk-icon-turkish-lira: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-bank:before,.uk-icon-institution:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-graduation-cap:before,.uk-icon-mortar-board: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-image-o:before,.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before{content:"\f1c5"}.uk-icon-file-archive-o:before,.uk-icon-file-zip-o:before{content:"\f1c6"}.uk-icon-file-audio-o:before,.uk-icon-file-sound-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-ring:before,.uk-icon-life-saver:before,.uk-icon-support:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-empire:before,.uk-icon-ge: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-paper-plane:before,.uk-icon-send:before{content:"\f1d8"}.uk-icon-paper-plane-o:before,.uk-icon-send-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before,.uk-icon-genderless: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-futbol-o:before,.uk-icon-soccer-ball-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-ils:before,.uk-icon-shekel:before,.uk-icon-sheqel:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-icon-buysellads:before{content:"\f20d"}.uk-icon-connectdevelop:before{content:"\f20e"}.uk-icon-dashcube:before{content:"\f210"}.uk-icon-forumbee:before{content:"\f211"}.uk-icon-leanpub:before{content:"\f212"}.uk-icon-sellsy:before{content:"\f213"}.uk-icon-shirtsinbulk:before{content:"\f214"}.uk-icon-simplybuilt:before{content:"\f215"}.uk-icon-skyatlas:before{content:"\f216"}.uk-icon-cart-plus:before{content:"\f217"}.uk-icon-cart-arrow-down:before{content:"\f218"}.uk-icon-diamond:before{content:"\f219"}.uk-icon-ship:before{content:"\f21a"}.uk-icon-user-secret:before{content:"\f21b"}.uk-icon-motorcycle:before{content:"\f21c"}.uk-icon-street-view:before{content:"\f21d"}.uk-icon-heartbeat:before{content:"\f21e"}.uk-icon-venus:before{content:"\f221"}.uk-icon-mars:before{content:"\f222"}.uk-icon-mercury:before{content:"\f223"}.uk-icon-transgender:before{content:"\f224"}.uk-icon-transgender-alt:before{content:"\f225"}.uk-icon-venus-double:before{content:"\f226"}.uk-icon-mars-double:before{content:"\f227"}.uk-icon-venus-mars:before{content:"\f228"}.uk-icon-mars-stroke:before{content:"\f229"}.uk-icon-mars-stroke-v:before{content:"\f22a"}.uk-icon-mars-stroke-h:before{content:"\f22b"}.uk-icon-neuter:before{content:"\f22c"}.uk-icon-facebook-official:before{content:"\f230"}.uk-icon-pinterest-p:before{content:"\f231"}.uk-icon-whatsapp:before{content:"\f232"}.uk-icon-server:before{content:"\f233"}.uk-icon-user-plus:before{content:"\f234"}.uk-icon-user-times:before{content:"\f235"}.uk-icon-bed:before,.uk-icon-hotel:before{content:"\f236"}.uk-icon-viacoin:before{content:"\f237"}.uk-icon-train:before{content:"\f238"}.uk-icon-subway:before{content:"\f239"}.uk-icon-medium-logo:before{content:"\f23a"}.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:focus,.uk-close:hover{opacity:.5;outline:0;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:focus,.uk-close-alt:hover{opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:focus:after,.uk-close-alt:hover:after{opacity:.8}.uk-badge{display:inline-block;padding:0 5px;background:#00a8e6;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,.06);border-radius:2px;text-shadow:0 1px 0 rgba(0,0,0,.1)}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:#8cc14c}.uk-badge-warning{background-color:#faa732}.uk-badge-danger{background-color:#da314b}.uk-alert{margin-bottom:15px;padding:10px;background:#ebf7fd;color:#2d7091;border:1px solid rgba(45,112,145,.3);border-radius:4px;text-shadow:0 1px 0 #fff}*+.uk-alert{margin-top:15px}.uk-alert>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert>.uk-close:first-child{float:right}.uk-alert>.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{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{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}a.uk-thumbnail:focus,a.uk-thumbnail:hover{border-color:#aaa;background-color:#fff;text-decoration:none;outline:0}.uk-thumbnail-caption{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;-webkit-transform:translateZ(0);margin:0}.uk-overlay.uk-border-circle{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.uk-overlay>:first-child{margin-bottom:0}.uk-overlay-panel{position:absolute;top:0;bottom:0;left:0;right:0;padding:20px;color:#fff}.uk-overlay-panel.uk-flex>*>:last-child,.uk-overlay-panel>:last-child{margin-bottom:0}.uk-overlay-panel h1,.uk-overlay-panel h2,.uk-overlay-panel h3,.uk-overlay-panel h4,.uk-overlay-panel h5,.uk-overlay-panel h6{color:inherit}.uk-overlay-panel a:not([class]){color:inherit;text-decoration:underline}.uk-overlay-panel a[class*=uk-icon-]:not(.uk-icon-button){color:inherit}.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-active :not(.uk-active)>.uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-background{background:rgba(0,0,0,.5)}.uk-overlay-image{padding:0}.uk-overlay-top{bottom:auto}.uk-overlay-bottom{top:auto}.uk-overlay-left{right:auto}.uk-overlay-right{left:auto}.uk-overlay-icon: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-blur,.uk-overlay-fade,.uk-overlay-grayscale,.uk-overlay-scale,.uk-overlay-spin,[class*=uk-overlay-slide]{transition-duration:.3s;transition-timing-function:ease-out;transition-property:opacity transform filter}.uk-overlay-active .uk-overlay-fade,.uk-overlay-active .uk-overlay-scale,.uk-overlay-active .uk-overlay-spin,.uk-overlay-active [class*=uk-overlay-slide]{transition-duration:.8s}.uk-overlay-fade{opacity:.7}.uk-overlay-active .uk-active>.uk-overlay-fade,.uk-overlay-hover:hover .uk-overlay-fade{opacity:1}.uk-overlay-scale{-webkit-transform:scale(1);transform:scale(1)}.uk-overlay-active .uk-active>.uk-overlay-scale,.uk-overlay-hover:hover .uk-overlay-scale{-webkit-transform:scale(1.1);transform:scale(1.1)}.uk-overlay-spin{-webkit-transform:scale(1)rotate(0);transform:scale(1)rotate(0)}.uk-overlay-active .uk-active>.uk-overlay-spin,.uk-overlay-hover:hover .uk-overlay-spin{-webkit-transform:scale(1.1)rotate(3deg);transform:scale(1.1)rotate(3deg)}.uk-overlay-grayscale{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.uk-overlay-active .uk-active>.uk-overlay-grayscale,.uk-overlay-hover:hover .uk-overlay-grayscale{-webkit-filter:grayscale(0);filter:grayscale(0)}[class*=uk-overlay-slide]{opacity:0}.uk-overlay-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.uk-overlay-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.uk-overlay-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.uk-overlay-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-overlay-active .uk-active>[class*=uk-overlay-slide],.uk-overlay-hover:hover [class*=uk-overlay-slide]{opacity:1;-webkit-transform:translateX(0)translateY(0);transform:translateX(0)translateY(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-toggle.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay: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:0}.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:1rem;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-toggle.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay:hover .uk-overlay-caption{opacity:1}[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-]:not([data-uk-scrollspy*=target]){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-in;animation-timing-function:ease-in}.uk-animation-15{-webkit-animation-duration:15s;animation-duration:15s}.uk-animation-top-left{-webkit-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.uk-animation-hover:not(:hover),.uk-animation-hover:not(:hover) [class*=uk-animation-],.uk-touch .uk-animation-hover:not(.uk-hover),.uk-touch .uk-animation-hover:not(.uk-hover) [class*=uk-animation-]{-webkit-animation-name:none;animation-name:none}@-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;transform:translateY(-100%)}100%{opacity:1;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;transform:translateY(100%)}100%{opacity:1;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;transform:translateX(-100%)}100%{opacity:1;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;transform:translateX(100%)}100%{opacity:1;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;transform:scale(.2)}100%{opacity: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;transform:scale(1.5)}100%{opacity: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;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{transform:translateX(100%)}100%{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%{transform:translateX(33%)}100%{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%{transform:translateX(-33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{transform:scale(1.2)}100%{transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{transform:rotate(0)}100%{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%{transform:translateX(0)}10%{transform:translateX(-9px)}20%{transform:translateX(8px)}30%{transform:translateX(-7px)}40%{transform:translateX(6px)}50%{transform:translateX(-5px)}60%{transform:translateX(4px)}70%{transform:translateX(-3px)}80%{transform:translateX(2px)}90%{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;transform:translateY(-10px)}100%{opacity:1;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;transform:translateY(10px)}100%{opacity:1;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:1rem;vertical-align:top;border:1px solid #ddd;border-radius:4px}.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;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{margin-top:15px}.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}.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;touch-action:cross-slide-y pinch-zoom double-tap-zoom;-webkit-transform:translateZ(0);transform:translateZ(0)}.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:100%;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-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 auto}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:not([class*=uk-modal-]):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+:not([class*=uk-modal-]){margin-top:0}.uk-modal-dialog-lightbox{margin:15px auto;padding:0;max-width:95%;max-width:calc(100% - 30px);border-radius:0}.uk-modal-dialog-lightbox>.uk-close:first-child{position:absolute;top:-12px;right:-12px;margin:0;float:none}@media (max-width:767px){.uk-modal-dialog-lightbox>.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-modal-header{margin-bottom:15px;margin:-20px -20px 15px -20px;padding:20px;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0;background:#fafafa}.uk-modal-footer{margin-top:15px;margin:15px -20px -20px -20px;padding:20px;border-top:1px solid #ddd;border-radius:0 0 4px 4px;background:#fafafa}.uk-modal-footer>:last-child,.uk-modal-header>:last-child{margin-bottom:0}.uk-modal-caption{position:absolute;left:0;right:0;bottom:-20px;margin-bottom:-10px;color:#fff;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-modal-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:25px;color:#ddd}.uk-modal-spinner:after{content:"\f110";font-family:FontAwesome;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-offcanvas{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;touch-action:none;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%);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;-ms-scroll-chaining:none}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-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;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;width:1px;background:rgba(0,0,0,.6);box-shadow:0 0 5px 2px rgba(0,0,0,.6)}.uk-switcher{margin:0;padding:0;list-style:none;touch-action:cross-slide-y pinch-zoom double-tap-zoom}.uk-switcher>:not(.uk-active){display:none}.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-contrast{color:#fff!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}.uk-text-left-medium{text-align:left!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}.uk-text-left-small{text-align:left!important}}.uk-text-nowrap{white-space:nowrap}.uk-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:after,.uk-container:before{content:"";display:table}.uk-container:after{clear:both}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before{content:"";display:table-cell}.uk-clearfix:after{content:"";display:table;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:0}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-bottom,.uk-vertical-align-middle{display:inline-block;max-width:100%;font-size:1rem}.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-height,.uk-responsive-width{-moz-box-sizing:border-box;box-sizing:border-box}.uk-responsive-width{max-width:100%!important;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{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-padding-remove{padding:0!important}.uk-padding-top-remove{padding-top:0!important}.uk-padding-bottom-remove{padding-bottom:0!important}.uk-padding-vertical-remove{padding-top:0!important;padding-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}.uk-heading-large{font-size:36px;line-height:42px}@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 a:hover,.uk-link-muted:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset a:focus,.uk-link-reset a:hover,.uk-link-reset:focus,.uk-link-reset:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll;-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;-webkit-overflow-scrolling:touch;resize:both;border-radius:3px}.uk-scrollable-box>:last-child{margin-bottom:0}.uk-overflow-hidden{overflow:hidden}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-overflow-container>:last-child{margin-bottom:0}.uk-position-absolute,[class*=uk-position-top],[class*=uk-position-bottom]{position:absolute!important}.uk-position-top{top:0;width:100%}.uk-position-bottom{bottom:0;width:100%}.uk-position-top-left{top:0;left:0}.uk-position-top-right{top:0;right:0}.uk-position-bottom-left{bottom:0;left:0}.uk-position-bottom-right{bottom:0;right:0}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-position-relative{position:relative!important}.uk-position-z-index{z-index:1}.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{display:none!important}.uk-visible-medium{display:none!important}.uk-hidden-large{display:none!important}}@media (min-width:768px)and (max-width:959px){.uk-visible-small{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-medium{display:none!important}}@media (max-width:767px){.uk-visible-medium{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-small{display:none!important}}.uk-hidden{display:none!important;visibility:hidden!important}.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}.uk-notouch .uk-hidden-notouch,.uk-touch .uk-hidden-touch{display:none!important}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-inline{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.uk-flex-inline>*,.uk-flex>*{-ms-flex-negative:1}.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-flex-space-between{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.uk-flex-space-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.uk-flex-row-reverse{-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.uk-flex-column{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-flex-column-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}.uk-flex-nowrap{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.uk-flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.uk-flex-wrap-top{-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start}.uk-flex-wrap-middle{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.uk-flex-wrap-bottom{-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end}.uk-flex-wrap-space-between{-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between}.uk-flex-wrap-space-around{-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around}.uk-flex-order-first{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last{-ms-flex-order:99;-webkit-order:99;order:99}@media (min-width:480px){.uk-flex-order-first-small{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-small{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:768px){.uk-flex-order-first-medium{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-medium{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:960px){.uk-flex-order-first-large{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-large{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:1220px){.uk-flex-order-first-xlarge{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-xlarge{-ms-flex-order:99;-webkit-order:99;order:99}}.uk-flex-item-none{-ms-flex:none;-webkit-flex:none;flex:none}.uk-flex-item-auto{-ms-flex:auto;-webkit-flex:auto;flex:auto;-ms-flex-negative:1}.uk-flex-item-1{-ms-flex:1;-webkit-flex:1;flex:1}.uk-contrast{color:#fff}.uk-contrast .uk-link,.uk-contrast a:not([class]){color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-link:hover,.uk-contrast a:not([class]):hover{color:#fff;text-decoration:underline}.uk-contrast :not(pre)>code,.uk-contrast :not(pre)>kbd,.uk-contrast :not(pre)>samp{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1)}.uk-contrast em{color:#fff}.uk-contrast h1,.uk-contrast h2,.uk-contrast h3,.uk-contrast h4,.uk-contrast h5,.uk-contrast h6{color:#fff}.uk-contrast hr{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav li>a,.uk-contrast .uk-nav li>a:hover{text-decoration:none}.uk-contrast .uk-nav-side>li>a{color:#fff}.uk-contrast .uk-nav-side>li>a:focus,.uk-contrast .uk-nav-side>li>a:hover{background:rgba(255,255,255,.1);color:#fff;text-shadow:none}.uk-contrast .uk-nav-side>li.uk-active>a{background:#fff;color:#444;text-shadow:none}.uk-contrast .uk-nav-side .uk-nav-header{color:#fff}.uk-contrast .uk-nav-side .uk-nav-divider{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav-side ul a{color:rgba(255,255,255,.7)}.uk-contrast .uk-nav-side ul a:hover{color:#fff}.uk-contrast .uk-subnav>*>a{color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-subnav>*>a:focus,.uk-contrast .uk-subnav>*>a:hover{color:#fff;text-decoration:none}.uk-contrast .uk-subnav>.uk-active>a{color:#fff}.uk-contrast .uk-subnav-line>:nth-child(n+2):before{border-left-color:rgba(255,255,255,.2)}.uk-contrast .uk-subnav-pill>*>a:focus,.uk-contrast .uk-subnav-pill>*>a:hover{background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-subnav-pill>.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-list-line>li:nth-child(n+2){border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-form input:not([type]),.uk-contrast .uk-form input[type=text],.uk-contrast .uk-form input[type=password],.uk-contrast .uk-form input[type=email],.uk-contrast .uk-form input[type=url],.uk-contrast .uk-form input[type=search],.uk-contrast .uk-form input[type=tel],.uk-contrast .uk-form input[type=number],.uk-contrast .uk-form input[type=datetime],.uk-contrast .uk-form input[type=datetime-local],.uk-contrast .uk-form input[type=date],.uk-contrast .uk-form input[type=month],.uk-contrast .uk-form input[type=time],.uk-contrast .uk-form input[type=week],.uk-contrast .uk-form input[type=color],.uk-contrast .uk-form select,.uk-contrast .uk-form textarea{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.8);color:#444;background-clip:padding-box}.uk-contrast .uk-form input:not([type]):focus,.uk-contrast .uk-form input[type=text]:focus,.uk-contrast .uk-form input[type=password]:focus,.uk-contrast .uk-form input[type=email]:focus,.uk-contrast .uk-form input[type=url]:focus,.uk-contrast .uk-form input[type=search]:focus,.uk-contrast .uk-form input[type=tel]:focus,.uk-contrast .uk-form input[type=number]:focus,.uk-contrast .uk-form input[type=datetime]:focus,.uk-contrast .uk-form input[type=datetime-local]:focus,.uk-contrast .uk-form input[type=date]:focus,.uk-contrast .uk-form input[type=month]:focus,.uk-contrast .uk-form input[type=time]:focus,.uk-contrast .uk-form input[type=week]:focus,.uk-contrast .uk-form input[type=color]:focus,.uk-contrast .uk-form select:focus,.uk-contrast .uk-form textarea:focus{border-color:#fff;background:#fff;color:#444}.uk-contrast .uk-form :-ms-input-placeholder{color:rgba(68,68,68,.7)!important}.uk-contrast .uk-form ::-moz-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-form ::-webkit-input-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-button{color:#444;background:#fff;border-color:transparent}.uk-contrast .uk-button:focus,.uk-contrast .uk-button:hover{background-color:rgba(255,255,255,.8);color:#444;border-color:transparent}.uk-contrast .uk-button.uk-active,.uk-contrast .uk-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-button-primary{background-color:#00a8e6;color:#fff}.uk-contrast .uk-button-primary:focus,.uk-contrast .uk-button-primary:hover{background-color:#35b3ee;color:#fff}.uk-contrast .uk-button-primary.uk-active,.uk-contrast .uk-button-primary:active{background-color:#0091ca;color:#fff}.uk-contrast .uk-icon-hover{color:rgba(255,255,255,.7)}.uk-contrast .uk-icon-hover:hover{color:#fff}.uk-contrast .uk-icon-button{background:#fff;color:#444;border-color:transparent}.uk-contrast .uk-icon-button:focus,.uk-contrast .uk-icon-button:hover{background-color:rgba(255,255,255,.8);color:#444;border-color:transparent}.uk-contrast .uk-icon-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-text-muted{color:rgba(255,255,255,.6)!important}.uk-contrast .uk-text-primary{color:#2d7091!important}@media print{*{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}} \ No newline at end of file
diff --git a/uikit/static/css/uikit.css b/uikit/static/css/uikit.css
new file mode 100644
index 0000000..f83bb17
--- /dev/null
+++ b/uikit/static/css/uikit.css
@@ -0,0 +1,7589 @@
+html {
+ font: normal 14px / 20px "Helvetica Neue", Helvetica, Arial, sans-serif;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ background: #ffffff;
+ color: #444444;
+}
+body {
+ margin: 0;
+}
+a {
+ background: transparent;
+}
+a:active,
+a:hover {
+ outline: 0;
+}
+a,
+.uk-link {
+ color: #0077dd;
+ text-decoration: none;
+ cursor: pointer;
+}
+a:hover,
+.uk-link:hover {
+ color: #005599;
+ text-decoration: underline;
+}
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+b,
+strong {
+ font-weight: bold;
+}
+:not(pre) > code,
+:not(pre) > kbd,
+:not(pre) > samp {
+ font-size: 12px;
+ font-family: Consolas, monospace, serif;
+ color: #dd0055;
+ white-space: nowrap;
+}
+em {
+ color: #dd0055;
+}
+ins {
+ background: #ffffaa;
+ color: #444444;
+ text-decoration: none;
+}
+mark {
+ background: #ffffaa;
+ color: #444444;
+}
+q {
+ font-style: italic;
+}
+small {
+ font-size: 80%;
+}
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+sup {
+ top: -0.5em;
+}
+sub {
+ bottom: -0.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;
+}
+blockquote,
+figure {
+ margin: 0;
+}
+p,
+ul,
+ol,
+dl,
+blockquote,
+pre,
+address,
+fieldset,
+figure {
+ margin: 0 0 15px 0;
+}
+* + p,
+* + ul,
+* + ol,
+* + dl,
+* + blockquote,
+* + pre,
+* + address,
+* + fieldset,
+* + figure {
+ margin-top: 15px;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin: 0 0 15px 0;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ color: #444444;
+ 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: bold;
+}
+dd {
+ margin-left: 0;
+}
+hr {
+ box-sizing: content-box;
+ height: 0;
+ margin: 15px 0;
+ border: 0;
+ border-top: 1px solid #dddddd;
+}
+address {
+ font-style: normal;
+}
+blockquote {
+ padding-left: 15px;
+ border-left: 5px solid #dddddd;
+ font-size: 16px;
+ line-height: 22px;
+ font-style: italic;
+}
+pre {
+ padding: 10px;
+ background: #f5f5f5;
+ font: 12px / 18px Consolas, monospace, serif;
+ color: #444444;
+ -moz-tab-size: 4;
+ tab-size: 4;
+ overflow: auto;
+}
+::-moz-selection {
+ background: #3399ff;
+ color: #ffffff;
+ text-shadow: none;
+}
+::selection {
+ background: #3399ff;
+ color: #ffffff;
+ 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 {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+.uk-grid:before,
+.uk-grid:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-grid:after {
+ clear: both;
+}
+.uk-grid > * {
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ margin: 0;
+ float: left;
+}
+.uk-grid > * > :last-child {
+ margin-bottom: 0;
+}
+.uk-grid {
+ margin-left: -25px;
+}
+.uk-grid > * {
+ padding-left: 25px;
+}
+.uk-grid + .uk-grid,
+.uk-grid-margin,
+.uk-grid > * > .uk-panel + .uk-panel {
+ margin-top: 25px;
+}
+@media (min-width: 1220px) {
+ .uk-grid {
+ margin-left: -35px;
+ }
+ .uk-grid > * {
+ padding-left: 35px;
+ }
+ .uk-grid + .uk-grid,
+ .uk-grid-margin,
+ .uk-grid > * > .uk-panel + .uk-panel {
+ margin-top: 35px;
+ }
+}
+.uk-grid-collapse {
+ margin-left: 0;
+}
+.uk-grid-collapse > * {
+ padding-left: 0;
+}
+.uk-grid-collapse + .uk-grid-collapse,
+.uk-grid-collapse > .uk-grid-margin,
+.uk-grid-collapse > * > .uk-panel + .uk-panel {
+ margin-top: 0;
+}
+.uk-grid-small {
+ margin-left: -10px;
+}
+.uk-grid-small > * {
+ padding-left: 10px;
+}
+.uk-grid-small + .uk-grid-small,
+.uk-grid-small > .uk-grid-margin,
+.uk-grid-small > * > .uk-panel + .uk-panel {
+ margin-top: 10px;
+}
+.uk-grid-medium {
+ margin-left: -25px;
+}
+.uk-grid-medium > * {
+ padding-left: 25px;
+}
+.uk-grid-medium + .uk-grid-medium,
+.uk-grid-medium > .uk-grid-margin,
+.uk-grid-medium > * > .uk-panel + .uk-panel {
+ margin-top: 25px;
+}
+.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 #dddddd;
+}
+@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 #dddddd;
+ }
+}
+@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 #dddddd;
+ }
+}
+@media (min-width: 1220px) {
+ .uk-grid-divider:not(:empty) {
+ margin-left: -35px;
+ margin-right: -35px;
+ }
+ .uk-grid-divider > * {
+ padding-left: 35px;
+ padding-right: 35px;
+ }
+ .uk-grid-divider:empty {
+ margin-top: 35px;
+ margin-bottom: 35px;
+ }
+}
+.uk-grid-divider:empty {
+ margin-top: 25px;
+ margin-bottom: 25px;
+ border-top: 1px solid #dddddd;
+}
+.uk-grid-match > * {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+}
+.uk-grid-match > * > * {
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ box-sizing: border-box;
+ width: 100%;
+}
+[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,
+.uk-panel:hover {
+ text-decoration: none;
+}
+.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: normal;
+ text-transform: none;
+ color: #444444;
+}
+.uk-panel-badge {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 1;
+}
+.uk-panel-teaser {
+ margin-bottom: 15px;
+}
+.uk-panel-box {
+ padding: 15px;
+ background: #f5f5f5;
+ color: #444444;
+}
+.uk-panel-box-hover:hover {
+ color: #444444;
+}
+.uk-panel-box .uk-panel-title {
+ color: #444444;
+}
+.uk-panel-box .uk-panel-badge {
+ top: 10px;
+ right: 10px;
+}
+.uk-panel-box > .uk-panel-teaser {
+ margin-top: -15px;
+ margin-left: -15px;
+ margin-right: -15px;
+}
+.uk-panel-box > .uk-nav-side {
+ margin: 0 -15px;
+}
+.uk-panel-box-primary {
+ background-color: #ebf7fd;
+ color: #2d7091;
+}
+.uk-panel-box-primary-hover:hover {
+ color: #2d7091;
+}
+.uk-panel-box-primary .uk-panel-title {
+ color: #2d7091;
+}
+.uk-panel-box-secondary {
+ background-color: #eeeeee;
+ color: #444444;
+}
+.uk-panel-box-secondary-hover:hover {
+ color: #444444;
+}
+.uk-panel-box-secondary .uk-panel-title {
+ color: #444444;
+}
+.uk-panel-hover {
+ padding: 15px;
+ color: #444444;
+}
+.uk-panel-hover:hover {
+ background: #f5f5f5;
+ color: #444444;
+}
+.uk-panel-hover .uk-panel-badge {
+ top: 10px;
+ right: 10px;
+}
+.uk-panel-hover > .uk-panel-teaser {
+ margin-top: -15px;
+ margin-left: -15px;
+ margin-right: -15px;
+}
+.uk-panel-header .uk-panel-title {
+ padding-bottom: 10px;
+ border-bottom: 1px solid #dddddd;
+ color: #444444;
+}
+.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 #dddddd;
+}
+@media (min-width: 1220px) {
+ .uk-panel + .uk-panel-divider {
+ margin-top: 70px !important;
+ }
+ .uk-panel + .uk-panel-divider:before {
+ top: -35px;
+ }
+}
+.uk-block {
+ position: relative;
+ box-sizing: border-box;
+ padding-top: 20px;
+ padding-bottom: 20px;
+}
+@media (min-width: 768px) {
+ .uk-block {
+ padding-top: 50px;
+ padding-bottom: 50px;
+ }
+}
+.uk-block:before,
+.uk-block:after {
+ content: "";
+ display: table;
+}
+.uk-block:after {
+ clear: both;
+}
+.uk-block > :last-child {
+ margin-bottom: 0;
+}
+.uk-block-large {
+ padding-top: 20px;
+ padding-bottom: 20px;
+}
+@media (min-width: 768px) {
+ .uk-block-large {
+ padding-top: 50px;
+ padding-bottom: 50px;
+ }
+}
+@media (min-width: 960px) {
+ .uk-block-large {
+ padding-top: 100px;
+ padding-bottom: 100px;
+ }
+}
+.uk-block-default {
+ background: #ffffff;
+}
+.uk-block-muted {
+ background: #f9f9f9;
+}
+.uk-block-primary {
+ background: #00a8e6;
+}
+.uk-block-secondary {
+ background: #222222;
+}
+.uk-block-default + .uk-block-default,
+.uk-block-muted + .uk-block-muted,
+.uk-block-primary + .uk-block-primary,
+.uk-block-secondary + .uk-block-secondary {
+ padding-top: 0;
+}
+.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: normal;
+ text-transform: none;
+}
+.uk-article-title a {
+ color: inherit;
+ text-decoration: none;
+}
+.uk-article-meta {
+ font-size: 12px;
+ line-height: 18px;
+ color: #999999;
+}
+.uk-article-lead {
+ color: #444444;
+ font-size: 18px;
+ line-height: 24px;
+ font-weight: normal;
+}
+.uk-article-divider {
+ margin-bottom: 25px;
+ border-color: #dddddd;
+}
+* + .uk-article-divider {
+ margin-top: 25px;
+}
+.uk-comment-header {
+ margin-bottom: 15px;
+}
+.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 0;
+ font-size: 16px;
+ line-height: 22px;
+}
+.uk-comment-meta {
+ margin: 2px 0 0 0;
+ font-size: 11px;
+ line-height: 16px;
+ color: #999999;
+}
+.uk-comment-body > :last-child {
+ margin-bottom: 0;
+}
+.uk-comment-list {
+ padding: 0;
+ list-style: none;
+}
+.uk-comment-list .uk-comment + ul {
+ margin: 15px 0 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: 15px;
+}
+@media (min-width: 768px) {
+ .uk-comment-list .uk-comment + ul {
+ padding-left: 100px;
+ }
+}
+.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;
+ position: relative;
+ left: 50%;
+ top: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+}
+[data-uk-cover] {
+ position: relative;
+ left: 50%;
+ top: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+}
+.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: bold;
+ 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: #444444;
+}
+.uk-nav-side > li > a:hover,
+.uk-nav-side > li > a:focus {
+ background: rgba(0, 0, 0, 0.05);
+ color: #444444;
+ outline: none;
+}
+.uk-nav-side > li.uk-active > a {
+ background: #00a8e6;
+ color: #ffffff;
+}
+.uk-nav-side .uk-nav-header {
+ color: #444444;
+}
+.uk-nav-side .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+.uk-nav-side ul a {
+ color: #0077dd;
+}
+.uk-nav-side ul a:hover {
+ color: #005599;
+}
+.uk-nav-dropdown > li > a {
+ color: #444444;
+}
+.uk-nav-dropdown > li > a:hover,
+.uk-nav-dropdown > li > a:focus {
+ background: #00a8e6;
+ color: #ffffff;
+ outline: none;
+}
+.uk-nav-dropdown .uk-nav-header {
+ color: #999999;
+}
+.uk-nav-dropdown .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+.uk-nav-dropdown ul a {
+ color: #0077dd;
+}
+.uk-nav-dropdown ul a:hover {
+ color: #005599;
+}
+.uk-nav-navbar > li > a {
+ color: #444444;
+}
+.uk-nav-navbar > li > a:hover,
+.uk-nav-navbar > li > a:focus {
+ background: #00a8e6;
+ color: #ffffff;
+ outline: none;
+}
+.uk-nav-navbar .uk-nav-header {
+ color: #999999;
+}
+.uk-nav-navbar .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+.uk-nav-navbar ul a {
+ color: #0077dd;
+}
+.uk-nav-navbar ul a:hover {
+ color: #005599;
+}
+.uk-nav-offcanvas > li > a {
+ color: #cccccc;
+ padding: 10px 15px;
+}
+.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: #ffffff;
+ outline: none;
+}
+html .uk-nav.uk-nav-offcanvas > li.uk-active > a {
+ background: #1a1a1a;
+ color: #ffffff;
+}
+.uk-nav-offcanvas .uk-nav-header {
+ color: #777777;
+}
+.uk-nav-offcanvas .uk-nav-divider {
+ border-top: 1px solid #1a1a1a;
+}
+.uk-nav-offcanvas ul a {
+ color: #cccccc;
+}
+html:not(.uk-touch) .uk-nav-offcanvas ul a:hover {
+ color: #ffffff;
+}
+.uk-navbar {
+ background: #eeeeee;
+ color: #444444;
+}
+.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: 40px;
+ padding: 0 15px;
+ line-height: 40px;
+ color: #444444;
+ font-size: 14px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+}
+.uk-navbar-nav > li > a[href='#'] {
+ cursor: text;
+}
+.uk-navbar-nav > li:hover > a,
+.uk-navbar-nav > li > a:focus,
+.uk-navbar-nav > li.uk-open > a {
+ background-color: #f5f5f5;
+ color: #444444;
+ outline: none;
+}
+.uk-navbar-nav > li > a:active {
+ background-color: #dddddd;
+ color: #444444;
+}
+.uk-navbar-nav > li.uk-active > a {
+ background-color: #f5f5f5;
+ color: #444444;
+}
+.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: 40px;
+ padding: 0 15px;
+ float: left;
+}
+.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: #0077dd;
+}
+.uk-navbar-content > a:not([class]):hover {
+ color: #005599;
+}
+.uk-navbar-brand {
+ font-size: 18px;
+ color: #444444;
+ text-decoration: none;
+}
+.uk-navbar-brand:hover,
+.uk-navbar-brand:focus {
+ color: #444444;
+ text-decoration: none;
+ outline: none;
+}
+.uk-navbar-toggle {
+ font-size: 18px;
+ color: #444444;
+ text-decoration: none;
+}
+.uk-navbar-toggle:hover,
+.uk-navbar-toggle:focus {
+ color: #444444;
+ 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-subnav {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ margin-left: -10px;
+ margin-top: -10px;
+ padding: 0;
+ list-style: none;
+}
+.uk-subnav > * {
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ padding-left: 10px;
+ margin-top: 10px;
+ position: relative;
+}
+.uk-subnav:before,
+.uk-subnav:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-subnav:after {
+ clear: both;
+}
+.uk-subnav > * {
+ float: left;
+}
+.uk-subnav > * > * {
+ display: inline-block;
+ color: #444444;
+}
+.uk-subnav > * > :hover,
+.uk-subnav > * > :focus {
+ color: #0077dd;
+ text-decoration: none;
+}
+.uk-subnav > .uk-active > * {
+ color: #0077dd;
+}
+.uk-subnav-line > :before {
+ content: "";
+ display: inline-block;
+ height: 10px;
+ vertical-align: middle;
+}
+.uk-subnav-line > :nth-child(n+2):before {
+ margin-right: 10px;
+ border-left: 1px solid #dddddd;
+}
+.uk-subnav-pill > * > * {
+ padding: 3px 9px;
+}
+.uk-subnav-pill > * > :hover,
+.uk-subnav-pill > * > :focus {
+ background: #eeeeee;
+ color: #444444;
+ text-decoration: none;
+ outline: none;
+}
+.uk-subnav-pill > .uk-active > * {
+ background: #00a8e6;
+ color: #ffffff;
+}
+.uk-subnav > .uk-disabled > * {
+ background: none;
+ color: #999999;
+ text-decoration: none;
+ cursor: text;
+}
+.uk-breadcrumb {
+ padding: 0;
+ list-style: none;
+ font-size: 0.001px;
+}
+.uk-breadcrumb > li {
+ font-size: 1rem;
+ 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: #999999;
+}
+.uk-pagination {
+ padding: 0;
+ list-style: none;
+ text-align: center;
+ font-size: 0.001px;
+}
+.uk-pagination:before,
+.uk-pagination:after {
+ content: "";
+ display: table;
+}
+.uk-pagination:after {
+ clear: both;
+}
+.uk-pagination > li {
+ display: inline-block;
+ font-size: 1rem;
+ 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;
+}
+.uk-pagination > li > a {
+ background: #eeeeee;
+ color: #444444;
+}
+.uk-pagination > li > a:hover,
+.uk-pagination > li > a:focus {
+ background-color: #f5f5f5;
+ color: #444444;
+ outline: none;
+}
+.uk-pagination > li > a:active {
+ background-color: #dddddd;
+ color: #444444;
+}
+.uk-pagination > .uk-active > span {
+ background: #00a8e6;
+ color: #ffffff;
+}
+.uk-pagination > .uk-disabled > span {
+ background-color: #f5f5f5;
+ color: #999999;
+}
+.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 #dddddd;
+}
+.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 8px 12px;
+ border: 1px solid transparent;
+ border-bottom-width: 0;
+ color: #0077dd;
+ text-decoration: none;
+}
+.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: #f5f5f5;
+ background: #f5f5f5;
+ color: #005599;
+ 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: #dddddd;
+ border-bottom-color: transparent;
+ background: #ffffff;
+ color: #444444;
+}
+.uk-tab > li.uk-disabled > a {
+ color: #999999;
+ cursor: text;
+}
+.uk-tab > li.uk-disabled > a:hover,
+.uk-tab > li.uk-disabled > a:focus,
+.uk-tab > li.uk-disabled.uk-active > a {
+ background: none;
+ 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 #dddddd;
+}
+.uk-tab-center-bottom {
+ border-bottom: none;
+ border-top: 1px solid #dddddd;
+}
+.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 #dddddd;
+ 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: #dddddd;
+}
+.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 #dddddd;
+ 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: #dddddd;
+ }
+ .uk-tab-left {
+ border-right: 1px solid #dddddd;
+ }
+ .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 #dddddd;
+ }
+ .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-thumbnav {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ margin-left: -10px;
+ margin-top: -10px;
+ padding: 0;
+ list-style: none;
+}
+.uk-thumbnav > * {
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ padding-left: 10px;
+ margin-top: 10px;
+}
+.uk-thumbnav:before,
+.uk-thumbnav:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-thumbnav:after {
+ clear: both;
+}
+.uk-thumbnav > * {
+ float: left;
+}
+.uk-thumbnav > * > * {
+ display: block;
+ background: #ffffff;
+}
+.uk-thumbnav > * > * > img {
+ opacity: 0.7;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+}
+.uk-thumbnav > * > :hover > img,
+.uk-thumbnav > * > :focus > img {
+ opacity: 1;
+}
+.uk-thumbnav > .uk-active > * > img {
+ opacity: 1;
+}
+.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 #dddddd;
+}
+.uk-list-striped > li {
+ padding: 5px 5px;
+}
+.uk-list-striped > li:nth-of-type(odd) {
+ background: #f5f5f5;
+}
+.uk-list-space > li:nth-child(n+2) {
+ margin-top: 10px;
+}
+@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: normal;
+}
+.uk-description-list-line > dt:nth-child(n+2) {
+ margin-top: 5px;
+ padding-top: 5px;
+ border-top: 1px solid #dddddd;
+}
+.uk-description-list-line > dd {
+ color: #999999;
+}
+.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 8px;
+}
+.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: #999999;
+}
+.uk-table tbody tr.uk-active {
+ background: #eeeeee;
+}
+.uk-table-middle,
+.uk-table-middle td {
+ vertical-align: middle !important;
+}
+.uk-table-striped tbody tr:nth-of-type(odd) {
+ background: #f5f5f5;
+}
+.uk-table-condensed td {
+ padding: 4px 8px;
+}
+.uk-table-hover tbody tr:hover {
+ background: #eeeeee;
+}
+.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: bold;
+}
+.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 #dddddd;
+ background: #ffffff;
+ color: #444444;
+ -webkit-transition: all linear 0.2s;
+ transition: all linear 0.2s;
+}
+.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: #444444;
+}
+.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: #dddddd;
+ background-color: #f5f5f5;
+ color: #999999;
+}
+.uk-form :-ms-input-placeholder {
+ color: #999999 !important;
+}
+.uk-form ::-moz-placeholder {
+ color: #999999;
+}
+.uk-form ::-webkit-input-placeholder {
+ color: #999999;
+}
+.uk-form :disabled:-ms-input-placeholder {
+ color: #999999 !important;
+}
+.uk-form :disabled::-moz-placeholder {
+ color: #999999;
+}
+.uk-form :disabled::-webkit-input-placeholder {
+ color: #999999;
+}
+.uk-form legend {
+ width: 100%;
+ border: 0;
+ padding: 0;
+ padding-bottom: 15px;
+ font-size: 18px;
+ line-height: 30px;
+}
+.uk-form legend:after {
+ content: "";
+ display: block;
+ border-bottom: 1px solid #dddddd;
+ width: 100%;
+}
+select.uk-form-small,
+textarea.uk-form-small,
+input[type].uk-form-small,
+input:not([type]).uk-form-small {
+ height: 25px;
+ padding: 3px 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: #d85030 !important;
+}
+.uk-form-success {
+ border-color: #8ec73b !important;
+ background: #fafff2 !important;
+ color: #659f13 !important;
+}
+.uk-form-blank {
+ border-color: transparent !important;
+ border-style: dashed !important;
+ background: none !important;
+}
+.uk-form-blank:focus {
+ border-color: #dddddd !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 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: bold;
+}
+@media (max-width: 959px) {
+ .uk-form-horizontal .uk-form-label {
+ display: block;
+ margin-bottom: 5px;
+ font-weight: bold;
+ }
+}
+@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: -8px;
+ font-size: 14px;
+ color: #999999;
+ 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: #444444;
+ text-transform: none;
+ display: inline-block;
+ box-sizing: border-box;
+ padding: 0 12px;
+ background: #eeeeee;
+ vertical-align: middle;
+ line-height: 30px;
+ min-height: 30px;
+ font-size: 1rem;
+ text-decoration: none;
+ text-align: center;
+}
+.uk-button:not(:disabled) {
+ cursor: pointer;
+}
+.uk-button:hover,
+.uk-button:focus {
+ background-color: #f5f5f5;
+ color: #444444;
+ outline: none;
+ text-decoration: none;
+}
+.uk-button:active,
+.uk-button.uk-active {
+ background-color: #dddddd;
+ color: #444444;
+}
+.uk-button-primary {
+ background-color: #00a8e6;
+ color: #ffffff;
+}
+.uk-button-primary:hover,
+.uk-button-primary:focus {
+ background-color: #35b3ee;
+ color: #ffffff;
+}
+.uk-button-primary:active,
+.uk-button-primary.uk-active {
+ background-color: #0091ca;
+ color: #ffffff;
+}
+.uk-button-success {
+ background-color: #8cc14c;
+ color: #ffffff;
+}
+.uk-button-success:hover,
+.uk-button-success:focus {
+ background-color: #8ec73b;
+ color: #ffffff;
+}
+.uk-button-success:active,
+.uk-button-success.uk-active {
+ background-color: #72ae41;
+ color: #ffffff;
+}
+.uk-button-danger {
+ background-color: #da314b;
+ color: #ffffff;
+}
+.uk-button-danger:hover,
+.uk-button-danger:focus {
+ background-color: #e4354f;
+ color: #ffffff;
+}
+.uk-button-danger:active,
+.uk-button-danger.uk-active {
+ background-color: #c91032;
+ color: #ffffff;
+}
+.uk-button:disabled {
+ background-color: #f5f5f5;
+ color: #999999;
+}
+.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: none;
+}
+.uk-button-link {
+ color: #0077dd;
+}
+.uk-button-link:hover,
+.uk-button-link:focus,
+.uk-button-link:active,
+.uk-button-link.uk-active {
+ color: #005599;
+ text-decoration: underline;
+}
+.uk-button-link:disabled {
+ color: #999999;
+}
+.uk-button-link:focus {
+ outline: 1px dotted;
+}
+.uk-button-mini {
+ min-height: 20px;
+ padding: 0 6px;
+ line-height: 20px;
+ font-size: 11px;
+}
+.uk-button-small {
+ min-height: 25px;
+ padding: 0 10px;
+ line-height: 25px;
+ font-size: 12px;
+}
+.uk-button-large {
+ min-height: 40px;
+ padding: 0 15px;
+ line-height: 40px;
+ font-size: 16px;
+}
+.uk-button-group {
+ display: inline-block;
+ vertical-align: middle;
+ position: relative;
+ font-size: 0.001px;
+ white-space: nowrap;
+}
+.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;
+}
+@font-face {
+ font-family: 'FontAwesome';
+ src: url("../fonts/fontawesome-webfont.woff2") format('woff2'), url("../fonts/fontawesome-webfont.woff") format("woff"), url("../fonts/fontawesome-webfont.ttf") format("truetype");
+ font-weight: normal;
+ font-style: normal;
+}
+[class*='uk-icon-'] {
+ font-family: FontAwesome;
+ display: inline-block;
+ font-weight: normal;
+ font-style: normal;
+ line-height: 1;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+[class*='uk-icon-'],
+[class*='uk-icon-']:hover,
+[class*='uk-icon-']:focus {
+ text-decoration: none;
+}
+.uk-icon-small {
+ font-size: 150%;
+ vertical-align: -10%;
+}
+.uk-icon-medium {
+ font-size: 200%;
+ vertical-align: -16%;
+}
+.uk-icon-large {
+ font-size: 250%;
+ vertical-align: -22%;
+}
+.uk-icon-justify {
+ width: 1em;
+ text-align: center;
+}
+.uk-icon-spin {
+ display: inline-block;
+ -webkit-animation: uk-rotate 2s infinite linear;
+ animation: uk-rotate 2s infinite linear;
+}
+.uk-icon-hover {
+ color: #999999;
+}
+.uk-icon-hover:hover {
+ color: #444444;
+}
+.uk-icon-button {
+ box-sizing: border-box;
+ display: inline-block;
+ width: 35px;
+ height: 35px;
+ border-radius: 100%;
+ background: #eeeeee;
+ line-height: 35px;
+ color: #444444;
+ font-size: 18px;
+ text-align: center;
+}
+.uk-icon-button:hover,
+.uk-icon-button:focus {
+ background-color: #f5f5f5;
+ color: #444444;
+ outline: none;
+}
+.uk-icon-button:active {
+ background-color: #dddddd;
+ color: #444444;
+}
+.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-f:before,
+.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,
+.uk-icon-gratipay: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-genderless:before,
+.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-icon-buysellads:before {
+ content: "\f20d";
+}
+.uk-icon-connectdevelop:before {
+ content: "\f20e";
+}
+.uk-icon-dashcube:before {
+ content: "\f210";
+}
+.uk-icon-forumbee:before {
+ content: "\f211";
+}
+.uk-icon-leanpub:before {
+ content: "\f212";
+}
+.uk-icon-sellsy:before {
+ content: "\f213";
+}
+.uk-icon-shirtsinbulk:before {
+ content: "\f214";
+}
+.uk-icon-simplybuilt:before {
+ content: "\f215";
+}
+.uk-icon-skyatlas:before {
+ content: "\f216";
+}
+.uk-icon-cart-plus:before {
+ content: "\f217";
+}
+.uk-icon-cart-arrow-down:before {
+ content: "\f218";
+}
+.uk-icon-diamond:before {
+ content: "\f219";
+}
+.uk-icon-ship:before {
+ content: "\f21a";
+}
+.uk-icon-user-secret:before {
+ content: "\f21b";
+}
+.uk-icon-motorcycle:before {
+ content: "\f21c";
+}
+.uk-icon-street-view:before {
+ content: "\f21d";
+}
+.uk-icon-heartbeat:before {
+ content: "\f21e";
+}
+.uk-icon-venus:before {
+ content: "\f221";
+}
+.uk-icon-mars:before {
+ content: "\f222";
+}
+.uk-icon-mercury:before {
+ content: "\f223";
+}
+.uk-icon-transgender:before {
+ content: "\f224";
+}
+.uk-icon-transgender-alt:before {
+ content: "\f225";
+}
+.uk-icon-venus-double:before {
+ content: "\f226";
+}
+.uk-icon-mars-double:before {
+ content: "\f227";
+}
+.uk-icon-venus-mars:before {
+ content: "\f228";
+}
+.uk-icon-mars-stroke:before {
+ content: "\f229";
+}
+.uk-icon-mars-stroke-v:before {
+ content: "\f22a";
+}
+.uk-icon-mars-stroke-h:before {
+ content: "\f22b";
+}
+.uk-icon-neuter:before {
+ content: "\f22c";
+}
+.uk-icon-facebook-official:before {
+ content: "\f230";
+}
+.uk-icon-pinterest-p:before {
+ content: "\f231";
+}
+.uk-icon-whatsapp:before {
+ content: "\f232";
+}
+.uk-icon-server:before {
+ content: "\f233";
+}
+.uk-icon-user-plus:before {
+ content: "\f234";
+}
+.uk-icon-user-times:before {
+ content: "\f235";
+}
+.uk-icon-hotel:before,
+.uk-icon-bed:before {
+ content: "\f236";
+}
+.uk-icon-viacoin:before {
+ content: "\f237";
+}
+.uk-icon-train:before {
+ content: "\f238";
+}
+.uk-icon-subway:before {
+ content: "\f239";
+}
+.uk-icon-medium-logo:before {
+ content: "\f23a";
+}
+.uk-icon-500px:before {
+ content: "\f26e";
+}
+.uk-icon-amazon:before {
+ content: "\f270";
+}
+.uk-icon-balance-scale:before {
+ content: "\f24e";
+}
+.uk-icon-battery-empty:before,
+.uk-icon-battery-0:before {
+ content: "\f244";
+}
+.uk-icon-battery-quarter:before,
+.uk-icon-battery-1:before {
+ content: "\f243";
+}
+.uk-icon-battery-half:before,
+.uk-icon-battery-2:before {
+ content: "\f242";
+}
+.uk-icon-battery-three-quarters:before,
+.uk-icon-battery-3:before {
+ content: "\f241";
+}
+.uk-icon-battery-full:before,
+.uk-icon-battery-4:before {
+ content: "\f240";
+}
+.uk-icon-black-tie:before {
+ content: "\f27e";
+}
+.uk-icon-calendar-check-o:before {
+ content: "\f274";
+}
+.uk-icon-calendar-minus-o:before {
+ content: "\f272";
+}
+.uk-icon-calendar-plus-o:before {
+ content: "\f271";
+}
+.uk-icon-calendar-times-o:before {
+ content: "\f273";
+}
+.uk-icon-cc-diners-club:before {
+ content: "\f24c";
+}
+.uk-icon-cc-jcb:before {
+ content: "\f24b";
+}
+.uk-icon-chrome:before {
+ content: "\f268";
+}
+.uk-icon-clone:before {
+ content: "\f24d";
+}
+.uk-icon-commenting:before {
+ content: "\f27a";
+}
+.uk-icon-commenting-o:before {
+ content: "\f27b";
+}
+.uk-icon-contao:before {
+ content: "\f26d";
+}
+.uk-icon-creative-commons:before {
+ content: "\f25e";
+}
+.uk-icon-expeditedssl:before {
+ content: "\f23e";
+}
+.uk-icon-firefox:before {
+ content: "\f269";
+}
+.uk-icon-fonticons:before {
+ content: "\f280";
+}
+.uk-icon-get-pocket:before {
+ content: "\f265";
+}
+.uk-icon-gg:before {
+ content: "\f260";
+}
+.uk-icon-gg-circle:before {
+ content: "\f261";
+}
+.uk-icon-hand-lizard-o:before {
+ content: "\f258";
+}
+.uk-icon-hand-stop-o:before,
+.uk-icon-hand-paper-o:before {
+ content: "\f256";
+}
+.uk-icon-hand-peace-o:before {
+ content: "\f25b";
+}
+.uk-icon-hand-pointer-o:before {
+ content: "\f25a";
+}
+.uk-icon-hand-grab-o:before,
+.uk-icon-hand-rock-o:before {
+ content: "\f255";
+}
+.uk-icon-hand-scissors-o:before {
+ content: "\f257";
+}
+.uk-icon-hand-spock-o:before {
+ content: "\f259";
+}
+.uk-icon-hourglass:before {
+ content: "\f254";
+}
+.uk-icon-hourglass-o:before {
+ content: "\f250";
+}
+.uk-icon-hourglass-1:before,
+.uk-icon-hourglass-start:before {
+ content: "\f251";
+}
+.uk-icon-hourglass-2:before,
+.uk-icon-hourglass-half:before {
+ content: "\f252";
+}
+.uk-icon-hourglass-3:before,
+.uk-icon-hourglass-end:before {
+ content: "\f253";
+}
+.uk-icon-houzz:before {
+ content: "\f27c";
+}
+.uk-icon-i-cursor:before {
+ content: "\f246";
+}
+.uk-icon-industry:before {
+ content: "\f275";
+}
+.uk-icon-internet-explorer:before {
+ content: "\f26b";
+}
+.uk-icon-map:before {
+ content: "\f279";
+}
+.uk-icon-map-o:before {
+ content: "\f278";
+}
+.uk-icon-map-pin:before {
+ content: "\f276";
+}
+.uk-icon-map-signs:before {
+ content: "\f277";
+}
+.uk-icon-mouse-pointer:before {
+ content: "\f245";
+}
+.uk-icon-object-group:before {
+ content: "\f247";
+}
+.uk-icon-object-ungroup:before {
+ content: "\f248";
+}
+.uk-icon-odnoklassniki:before {
+ content: "\f263";
+}
+.uk-icon-odnoklassniki-square:before {
+ content: "\f264";
+}
+.uk-icon-opencart:before {
+ content: "\f23d";
+}
+.uk-icon-opera:before {
+ content: "\f26a";
+}
+.uk-icon-optin-monster:before {
+ content: "\f23c";
+}
+.uk-icon-registered:before {
+ content: "\f25d";
+}
+.uk-icon-safari:before {
+ content: "\f267";
+}
+.uk-icon-sticky-note:before {
+ content: "\f249";
+}
+.uk-icon-sticky-note-o:before {
+ content: "\f24a";
+}
+.uk-icon-tv:before,
+.uk-icon-television:before {
+ content: "\f26c";
+}
+.uk-icon-trademark:before {
+ content: "\f25c";
+}
+.uk-icon-tripadvisor:before {
+ content: "\f262";
+}
+.uk-icon-vimeo:before {
+ content: "\f27d";
+}
+.uk-icon-wikipedia-w:before {
+ content: "\f266";
+}
+.uk-icon-yc:before,
+.uk-icon-y-combinator:before {
+ content: "\f23b";
+}
+.uk-icon-yc-square:before,
+.uk-icon-y-combinator-square:before {
+ content: "\f1d4";
+}
+.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: transparent;
+ display: inline-block;
+ box-sizing: content-box;
+ width: 20px;
+ line-height: 20px;
+ text-align: center;
+ vertical-align: middle;
+ opacity: 0.3;
+}
+.uk-close:after {
+ display: block;
+ content: "\f00d";
+ font-family: FontAwesome;
+}
+.uk-close:hover,
+.uk-close:focus {
+ opacity: 0.5;
+ outline: none;
+ color: inherit;
+ text-decoration: none;
+ cursor: pointer;
+}
+.uk-close-alt {
+ padding: 2px;
+ border-radius: 50%;
+ background: #eeeeee;
+ opacity: 1;
+}
+.uk-close-alt:hover,
+.uk-close-alt:focus {
+ opacity: 1;
+}
+.uk-close-alt:after {
+ opacity: 0.5;
+}
+.uk-close-alt:hover:after,
+.uk-close-alt:focus:after {
+ opacity: 0.8;
+}
+.uk-badge {
+ display: inline-block;
+ padding: 0 5px;
+ background: #00a8e6;
+ font-size: 10px;
+ font-weight: bold;
+ line-height: 14px;
+ color: #ffffff;
+ text-align: center;
+ vertical-align: middle;
+ text-transform: none;
+}
+a.uk-badge:hover {
+ color: #ffffff;
+}
+.uk-badge-notification {
+ box-sizing: border-box;
+ min-width: 18px;
+ border-radius: 500px;
+ font-size: 12px;
+ line-height: 18px;
+}
+.uk-badge-success {
+ background-color: #8cc14c;
+}
+.uk-badge-warning {
+ background-color: #faa732;
+}
+.uk-badge-danger {
+ background-color: #da314b;
+}
+.uk-alert {
+ margin-bottom: 15px;
+ padding: 10px;
+ background: #ebf7fd;
+ color: #2d7091;
+}
+* + .uk-alert {
+ margin-top: 15px;
+}
+.uk-alert > :last-child {
+ margin-bottom: 0;
+}
+.uk-alert h1,
+.uk-alert h2,
+.uk-alert h3,
+.uk-alert h4,
+.uk-alert h5,
+.uk-alert h6 {
+ color: inherit;
+}
+.uk-alert > .uk-close:first-child {
+ float: right;
+}
+.uk-alert > .uk-close:first-child + * {
+ margin-top: 0;
+}
+.uk-alert-success {
+ background: #f2fae3;
+ color: #659f13;
+}
+.uk-alert-warning {
+ background: #fffceb;
+ color: #e28327;
+}
+.uk-alert-danger {
+ background: #fff1f0;
+ color: #d85030;
+}
+.uk-alert-large {
+ padding: 20px;
+}
+.uk-alert-large > .uk-close:first-child {
+ margin: -10px -10px 0 0;
+}
+.uk-thumbnail {
+ display: inline-block;
+ max-width: 100%;
+ box-sizing: border-box;
+ margin: 0;
+ padding: 4px;
+ border: 1px solid #dddddd;
+ background: #ffffff;
+}
+a.uk-thumbnail:hover,
+a.uk-thumbnail:focus {
+ border-color: #aaaaaa;
+ background-color: #ffffff;
+ text-decoration: none;
+ outline: none;
+}
+.uk-thumbnail-caption {
+ padding-top: 4px;
+ text-align: center;
+ color: #444444;
+}
+.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;
+ -webkit-transform: translateZ(0);
+ margin: 0;
+}
+.uk-overlay.uk-border-circle {
+ -webkit-mask-image: -webkit-radial-gradient(circle, #ffffff 100%, #000000 100%);
+}
+.uk-overlay > :first-child {
+ margin-bottom: 0;
+}
+.uk-overlay-panel {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding: 20px;
+ color: #ffffff;
+}
+.uk-overlay-panel > :last-child,
+.uk-overlay-panel.uk-flex > * > :last-child {
+ margin-bottom: 0;
+}
+.uk-overlay-panel h1,
+.uk-overlay-panel h2,
+.uk-overlay-panel h3,
+.uk-overlay-panel h4,
+.uk-overlay-panel h5,
+.uk-overlay-panel h6 {
+ color: inherit;
+}
+.uk-overlay-panel a:not([class]) {
+ color: inherit;
+ text-decoration: underline;
+}
+.uk-overlay-panel a[class*='uk-icon-']:not(.uk-icon-button) {
+ color: inherit;
+}
+.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore) {
+ opacity: 0;
+}
+.uk-overlay-active :not(.uk-active) > .uk-overlay-panel:not(.uk-ignore) {
+ opacity: 0;
+}
+.uk-overlay-background {
+ background: rgba(0, 0, 0, 0.5);
+}
+.uk-overlay-image {
+ padding: 0;
+}
+.uk-overlay-top {
+ bottom: auto;
+}
+.uk-overlay-bottom {
+ top: auto;
+}
+.uk-overlay-left {
+ right: auto;
+}
+.uk-overlay-right {
+ left: auto;
+}
+.uk-overlay-icon: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: #ffffff;
+}
+.uk-overlay-fade,
+.uk-overlay-scale,
+.uk-overlay-spin,
+.uk-overlay-grayscale,
+.uk-overlay-blur,
+[class*='uk-overlay-slide'] {
+ transition-duration: 0.3s;
+ transition-timing-function: ease-out;
+ transition-property: opacity, transform, filter;
+}
+.uk-overlay-active .uk-overlay-fade,
+.uk-overlay-active .uk-overlay-scale,
+.uk-overlay-active .uk-overlay-spin,
+.uk-overlay-active [class*='uk-overlay-slide'] {
+ transition-duration: 0.8s;
+}
+.uk-overlay-fade {
+ opacity: 0.7;
+}
+.uk-overlay-hover:hover .uk-overlay-fade,
+.uk-overlay-active .uk-active > .uk-overlay-fade {
+ opacity: 1;
+}
+.uk-overlay-scale {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+}
+.uk-overlay-hover:hover .uk-overlay-scale,
+.uk-overlay-active .uk-active > .uk-overlay-scale {
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
+}
+.uk-overlay-spin {
+ -webkit-transform: scale(1) rotate(0deg);
+ transform: scale(1) rotate(0deg);
+}
+.uk-overlay-hover:hover .uk-overlay-spin,
+.uk-overlay-active .uk-active > .uk-overlay-spin {
+ -webkit-transform: scale(1.1) rotate(3deg);
+ transform: scale(1.1) rotate(3deg);
+}
+.uk-overlay-grayscale {
+ -webkit-filter: grayscale(100%);
+ filter: grayscale(100%);
+}
+.uk-overlay-hover:hover .uk-overlay-grayscale,
+.uk-overlay-active .uk-active > .uk-overlay-grayscale {
+ -webkit-filter: grayscale(0%);
+ filter: grayscale(0%);
+}
+[class*='uk-overlay-slide'] {
+ opacity: 0;
+}
+.uk-overlay-slide-top {
+ -webkit-transform: translateY(-100%);
+ transform: translateY(-100%);
+}
+.uk-overlay-slide-bottom {
+ -webkit-transform: translateY(100%);
+ transform: translateY(100%);
+}
+.uk-overlay-slide-left {
+ -webkit-transform: translateX(-100%);
+ transform: translateX(-100%);
+}
+.uk-overlay-slide-right {
+ -webkit-transform: translateX(100%);
+ transform: translateX(100%);
+}
+.uk-overlay-hover:hover [class*='uk-overlay-slide'],
+.uk-overlay-active .uk-active > [class*='uk-overlay-slide'] {
+ opacity: 1;
+ -webkit-transform: translateX(0) translateY(0);
+ transform: translateX(0) translateY(0);
+}
+.uk-overlay-area {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background: rgba(0, 0, 0, 0.3);
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.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: #ffffff;
+}
+.uk-overlay-area:not(:empty) {
+ font-size: 0.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: 1rem;
+ text-align: center;
+ padding: 0 15px;
+ color: #ffffff;
+}
+.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, 0.5);
+ color: #ffffff;
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.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;
+}
+[class*='uk-column-'] {
+ -webkit-column-gap: 25px;
+ -moz-column-gap: 25px;
+ column-gap: 25px;
+}
+.uk-column-1-2 {
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ column-count: 2;
+}
+.uk-column-1-3 {
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ column-count: 3;
+}
+.uk-column-1-4 {
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ column-count: 4;
+}
+.uk-column-1-5 {
+ -webkit-column-count: 5;
+ -moz-column-count: 5;
+ column-count: 5;
+}
+.uk-column-1-6 {
+ -webkit-column-count: 6;
+ -moz-column-count: 6;
+ column-count: 6;
+}
+@media (min-width: 480px) {
+ .uk-column-small-1-2 {
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ column-count: 2;
+ }
+ .uk-column-small-1-3 {
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ column-count: 3;
+ }
+ .uk-column-small-1-4 {
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ column-count: 4;
+ }
+ .uk-column-small-1-5 {
+ -webkit-column-count: 5;
+ -moz-column-count: 5;
+ column-count: 5;
+ }
+ .uk-column-small-1-6 {
+ -webkit-column-count: 6;
+ -moz-column-count: 6;
+ column-count: 6;
+ }
+}
+@media (min-width: 768px) {
+ .uk-column-medium-1-2 {
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ column-count: 2;
+ }
+ .uk-column-medium-1-3 {
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ column-count: 3;
+ }
+ .uk-column-medium-1-4 {
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ column-count: 4;
+ }
+ .uk-column-medium-1-5 {
+ -webkit-column-count: 5;
+ -moz-column-count: 5;
+ column-count: 5;
+ }
+ .uk-column-medium-1-6 {
+ -webkit-column-count: 6;
+ -moz-column-count: 6;
+ column-count: 6;
+ }
+}
+@media (min-width: 960px) {
+ .uk-column-large-1-2 {
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ column-count: 2;
+ }
+ .uk-column-large-1-3 {
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ column-count: 3;
+ }
+ .uk-column-large-1-4 {
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ column-count: 4;
+ }
+ .uk-column-large-1-5 {
+ -webkit-column-count: 5;
+ -moz-column-count: 5;
+ column-count: 5;
+ }
+ .uk-column-large-1-6 {
+ -webkit-column-count: 6;
+ -moz-column-count: 6;
+ column-count: 6;
+ }
+}
+@media (min-width: 1220px) {
+ .uk-column-xlarge-1-2 {
+ -webkit-column-count: 2;
+ -moz-column-count: 2;
+ column-count: 2;
+ }
+ .uk-column-xlarge-1-3 {
+ -webkit-column-count: 3;
+ -moz-column-count: 3;
+ column-count: 3;
+ }
+ .uk-column-xlarge-1-4 {
+ -webkit-column-count: 4;
+ -moz-column-count: 4;
+ column-count: 4;
+ }
+ .uk-column-xlarge-1-5 {
+ -webkit-column-count: 5;
+ -moz-column-count: 5;
+ column-count: 5;
+ }
+ .uk-column-xlarge-1-6 {
+ -webkit-column-count: 6;
+ -moz-column-count: 6;
+ column-count: 6;
+ }
+}
+[class*='uk-animation-'] {
+ -webkit-animation-duration: 0.5s;
+ animation-duration: 0.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-']:not([data-uk-scrollspy*='target']) {
+ opacity: 0;
+ }
+}
+.uk-animation-fade {
+ -webkit-animation-name: uk-fade;
+ animation-name: uk-fade;
+ -webkit-animation-duration: 0.8s;
+ animation-duration: 0.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-in;
+ animation-timing-function: ease-in;
+}
+.uk-animation-15 {
+ -webkit-animation-duration: 15s;
+ animation-duration: 15s;
+}
+.uk-animation-top-left {
+ -webkit-transform-origin: 0 0;
+ transform-origin: 0 0;
+}
+.uk-animation-top-center {
+ -webkit-transform-origin: 50% 0;
+ transform-origin: 50% 0;
+}
+.uk-animation-top-right {
+ -webkit-transform-origin: 100% 0;
+ transform-origin: 100% 0;
+}
+.uk-animation-middle-left {
+ -webkit-transform-origin: 0 50%;
+ transform-origin: 0 50%;
+}
+.uk-animation-middle-right {
+ -webkit-transform-origin: 100% 50%;
+ transform-origin: 100% 50%;
+}
+.uk-animation-bottom-left {
+ -webkit-transform-origin: 0 100%;
+ transform-origin: 0 100%;
+}
+.uk-animation-bottom-center {
+ -webkit-transform-origin: 50% 100%;
+ transform-origin: 50% 100%;
+}
+.uk-animation-bottom-right {
+ -webkit-transform-origin: 100% 100%;
+ transform-origin: 100% 100%;
+}
+.uk-animation-hover:not(:hover),
+.uk-animation-hover:not(:hover) [class*='uk-animation-'],
+.uk-touch .uk-animation-hover:not(.uk-hover),
+.uk-touch .uk-animation-hover:not(.uk-hover) [class*='uk-animation-'] {
+ -webkit-animation-name: none;
+ animation-name: none;
+}
+@-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;
+ transform: translateY(-100%);
+ }
+ 100% {
+ opacity: 1;
+ 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;
+ transform: translateY(100%);
+ }
+ 100% {
+ opacity: 1;
+ 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;
+ transform: translateX(-100%);
+ }
+ 100% {
+ opacity: 1;
+ 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;
+ transform: translateX(100%);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+}
+@-webkit-keyframes uk-fade-scale-02 {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(0.2);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ }
+}
+@keyframes uk-fade-scale-02 {
+ 0% {
+ opacity: 0;
+ transform: scale(0.2);
+ }
+ 100% {
+ opacity: 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;
+ transform: scale(1.5);
+ }
+ 100% {
+ opacity: 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;
+ transform: scale(1.8);
+ }
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+@-webkit-keyframes uk-slide-left {
+ 0% {
+ -webkit-transform: translateX(-100%);
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ }
+}
+@keyframes uk-slide-left {
+ 0% {
+ transform: translateX(-100%);
+ }
+ 100% {
+ transform: translateX(0);
+ }
+}
+@-webkit-keyframes uk-slide-right {
+ 0% {
+ -webkit-transform: translateX(100%);
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ }
+}
+@keyframes uk-slide-right {
+ 0% {
+ transform: translateX(100%);
+ }
+ 100% {
+ 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% {
+ transform: translateX(33%);
+ }
+ 100% {
+ 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% {
+ transform: translateX(-33%);
+ }
+ 100% {
+ transform: translateX(0);
+ }
+}
+@-webkit-keyframes uk-scale-12 {
+ 0% {
+ -webkit-transform: scale(1.2);
+ }
+ 100% {
+ -webkit-transform: scale(1);
+ }
+}
+@keyframes uk-scale-12 {
+ 0% {
+ transform: scale(1.2);
+ }
+ 100% {
+ transform: scale(1);
+ }
+}
+@-webkit-keyframes uk-rotate {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(359deg);
+ }
+}
+@keyframes uk-rotate {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ 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% {
+ transform: translateX(0);
+ }
+ 10% {
+ transform: translateX(-9px);
+ }
+ 20% {
+ transform: translateX(8px);
+ }
+ 30% {
+ transform: translateX(-7px);
+ }
+ 40% {
+ transform: translateX(6px);
+ }
+ 50% {
+ transform: translateX(-5px);
+ }
+ 60% {
+ transform: translateX(4px);
+ }
+ 70% {
+ transform: translateX(-3px);
+ }
+ 80% {
+ transform: translateX(2px);
+ }
+ 90% {
+ 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;
+ transform: translateY(-10px);
+ }
+ 100% {
+ opacity: 1;
+ 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;
+ transform: translateY(10px);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+.uk-dropdown,
+.uk-dropdown-blank {
+ display: none;
+ position: absolute;
+ z-index: 1020;
+ box-sizing: border-box;
+ width: 200px;
+}
+.uk-dropdown {
+ padding: 15px;
+ background: #f5f5f5;
+ color: #444444;
+ font-size: 1rem;
+ vertical-align: top;
+}
+.uk-open > .uk-dropdown,
+.uk-open > .uk-dropdown-blank {
+ display: block;
+ -webkit-animation: uk-fade 0.2s ease-in-out;
+ animation: uk-fade 0.2s ease-in-out;
+ -webkit-transform-origin: 0 0;
+ transform-origin: 0 0;
+}
+.uk-dropdown-top {
+ margin-top: -5px;
+}
+.uk-dropdown-bottom {
+ margin-top: 5px;
+}
+.uk-dropdown-left {
+ margin-left: -5px;
+}
+.uk-dropdown-right {
+ margin-left: 5px;
+}
+.uk-dropdown .uk-nav {
+ margin: 0 -15px;
+}
+.uk-grid .uk-dropdown-grid + .uk-dropdown-grid {
+ margin-top: 15px;
+}
+.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 #dddddd;
+ }
+ .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: 0;
+ background: #f5f5f5;
+ color: #444444;
+}
+.uk-open > .uk-dropdown-navbar {
+ -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out;
+ animation: uk-slide-top-fixed 0.2s ease-in-out;
+}
+.uk-dropdown-scrollable {
+ overflow-y: auto;
+ max-height: 200px;
+}
+.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, 0.6);
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+ touch-action: cross-slide-y pinch-zoom double-tap-zoom;
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+}
+.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: 100%;
+ max-width: calc(100% - 20px);
+ background: #ffffff;
+ opacity: 0;
+ -webkit-transform: translateY(-100px);
+ transform: translateY(-100px);
+ -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out;
+ transition: opacity 0.3s linear, transform 0.3s ease-out;
+}
+@media (max-width: 767px) {
+ .uk-modal-dialog {
+ width: auto;
+ margin: 10px auto;
+ }
+}
+.uk-open .uk-modal-dialog {
+ opacity: 1;
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+}
+.uk-modal-dialog > :not([class*='uk-modal-']):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 + :not([class*='uk-modal-']) {
+ margin-top: 0;
+}
+.uk-modal-dialog-lightbox {
+ margin: 15px auto;
+ padding: 0;
+ max-width: 95%;
+ max-width: calc(100% - 30px);
+}
+.uk-modal-dialog-lightbox > .uk-close:first-child {
+ position: absolute;
+ top: -12px;
+ right: -12px;
+ margin: 0;
+ float: none;
+}
+@media (max-width: 767px) {
+ .uk-modal-dialog-lightbox > .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-modal-header {
+ margin-bottom: 15px;
+}
+.uk-modal-footer {
+ margin-top: 15px;
+}
+.uk-modal-header > :last-child,
+.uk-modal-footer > :last-child {
+ margin-bottom: 0;
+}
+.uk-modal-caption {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: -20px;
+ margin-bottom: -10px;
+ color: #ffffff;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.uk-modal-spinner {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ font-size: 25px;
+ color: #ddd;
+}
+.uk-modal-spinner:after {
+ content: "\f110";
+ font-family: FontAwesome;
+ -webkit-animation: uk-rotate 2s infinite linear;
+ animation: uk-rotate 2s infinite linear;
+}
+.uk-offcanvas {
+ display: none;
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1000;
+ touch-action: none;
+ background: rgba(0, 0, 0, 0.1);
+}
+.uk-offcanvas.uk-active {
+ display: block;
+}
+.uk-offcanvas-page {
+ position: fixed;
+ -webkit-transition: margin-left 0.3s ease-in-out;
+ transition: margin-left 0.3s ease-in-out;
+}
+.uk-offcanvas-bar {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ -webkit-transform: translateX(-100%);
+ transform: translateX(-100%);
+ z-index: 1001;
+ width: 270px;
+ max-width: 100%;
+ background: #333333;
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ -webkit-transition: -webkit-transform 0.3s ease-in-out;
+ transition: transform 0.3s ease-in-out;
+ -ms-scroll-chaining: none;
+}
+.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show {
+ -webkit-transform: translateX(0%);
+ transform: translateX(0%);
+}
+.uk-offcanvas-bar-flip {
+ left: auto;
+ right: 0;
+ -webkit-transform: translateX(100%);
+ transform: translateX(100%);
+}
+.uk-offcanvas .uk-panel {
+ margin: 20px 15px;
+ color: #777777;
+}
+.uk-offcanvas .uk-panel-title {
+ color: #cccccc;
+}
+.uk-offcanvas .uk-panel a:not([class]) {
+ color: #cccccc;
+}
+.uk-offcanvas .uk-panel a:not([class]):hover {
+ color: #ffffff;
+}
+.uk-switcher {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ touch-action: cross-slide-y pinch-zoom double-tap-zoom;
+}
+.uk-switcher > :not(.uk-active) {
+ display: none;
+}
+.uk-text-small {
+ font-size: 11px;
+ line-height: 16px;
+}
+.uk-text-large {
+ font-size: 18px;
+ line-height: 24px;
+ font-weight: normal;
+}
+.uk-text-bold {
+ font-weight: bold;
+}
+.uk-text-muted {
+ color: #999999 !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-contrast {
+ color: #ffffff !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;
+ }
+ .uk-text-left-medium {
+ text-align: left !important;
+ }
+}
+@media (max-width: 767px) {
+ .uk-text-center-small {
+ text-align: center !important;
+ }
+ .uk-text-left-small {
+ text-align: left !important;
+ }
+}
+.uk-text-nowrap {
+ white-space: nowrap;
+}
+.uk-text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.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;
+}
+@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 {
+ content: "";
+ display: table-cell;
+}
+.uk-clearfix:after {
+ content: "";
+ display: table;
+ 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: 0.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: 1rem;
+}
+.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% !important;
+ 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 {
+ 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-padding-remove {
+ padding: 0 !important;
+}
+.uk-padding-top-remove {
+ padding-top: 0 !important;
+}
+.uk-padding-bottom-remove {
+ padding-bottom: 0 !important;
+}
+.uk-padding-vertical-remove {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
+.uk-border-circle {
+ border-radius: 50%;
+}
+.uk-border-rounded {
+ border-radius: 5px;
+}
+.uk-heading-large {
+ font-size: 36px;
+ line-height: 42px;
+}
+@media (min-width: 768px) {
+ .uk-heading-large {
+ font-size: 52px;
+ line-height: 64px;
+ }
+}
+.uk-link-muted,
+.uk-link-muted a {
+ color: #444444;
+}
+.uk-link-muted:hover,
+.uk-link-muted a:hover {
+ color: #444444;
+}
+.uk-link-reset,
+.uk-link-reset a,
+.uk-link-reset:hover,
+.uk-link-reset a:hover,
+.uk-link-reset:focus,
+.uk-link-reset a:focus {
+ color: inherit;
+ text-decoration: none;
+}
+.uk-scrollable-text {
+ height: 300px;
+ overflow-y: scroll;
+ -webkit-overflow-scrolling: touch;
+ resize: both;
+}
+.uk-scrollable-box {
+ box-sizing: border-box;
+ height: 170px;
+ padding: 10px;
+ border: 1px solid #dddddd;
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+ resize: both;
+}
+.uk-scrollable-box > :last-child {
+ margin-bottom: 0;
+}
+.uk-overflow-hidden {
+ overflow: hidden;
+}
+.uk-overflow-container {
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+}
+.uk-overflow-container > :last-child {
+ margin-bottom: 0;
+}
+.uk-position-absolute,
+[class*='uk-position-top'],
+[class*='uk-position-bottom'] {
+ position: absolute !important;
+}
+.uk-position-top {
+ top: 0;
+ left: 0;
+ right: 0;
+}
+.uk-position-bottom {
+ bottom: 0;
+ left: 0;
+ right: 0;
+}
+.uk-position-top-left {
+ top: 0;
+ left: 0;
+}
+.uk-position-top-right {
+ top: 0;
+ right: 0;
+}
+.uk-position-bottom-left {
+ bottom: 0;
+ left: 0;
+}
+.uk-position-bottom-right {
+ bottom: 0;
+ right: 0;
+}
+.uk-position-cover {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+}
+.uk-position-relative {
+ position: relative !important;
+}
+.uk-position-z-index {
+ z-index: 1;
+}
+.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 {
+ display: none !important;
+ }
+ .uk-visible-medium {
+ display: none !important;
+ }
+ .uk-hidden-large {
+ display: none !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 959px) {
+ .uk-visible-small {
+ display: none !important;
+ }
+ .uk-visible-large {
+ display: none !important ;
+ }
+ .uk-hidden-medium {
+ display: none !important;
+ }
+}
+@media (max-width: 767px) {
+ .uk-visible-medium {
+ display: none !important;
+ }
+ .uk-visible-large {
+ display: none !important;
+ }
+ .uk-hidden-small {
+ display: none !important;
+ }
+}
+.uk-hidden {
+ display: none !important;
+ visibility: hidden !important;
+}
+.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;
+}
+.uk-touch .uk-hidden-touch,
+.uk-notouch .uk-hidden-notouch {
+ display: none !important;
+}
+.uk-flex {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+}
+.uk-flex-inline {
+ display: -ms-inline-flexbox;
+ display: -webkit-inline-flex;
+ display: inline-flex;
+}
+.uk-flex > *,
+.uk-flex-inline > * {
+ -ms-flex-negative: 1;
+}
+.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-flex-space-between {
+ -ms-flex-pack: justify;
+ -webkit-justify-content: space-between;
+ justify-content: space-between;
+}
+.uk-flex-space-around {
+ -ms-flex-pack: distribute;
+ -webkit-justify-content: space-around;
+ justify-content: space-around;
+}
+.uk-flex-row-reverse {
+ -ms-flex-direction: row-reverse;
+ -webkit-flex-direction: row-reverse;
+ flex-direction: row-reverse;
+}
+.uk-flex-column {
+ -ms-flex-direction: column;
+ -webkit-flex-direction: column;
+ flex-direction: column;
+}
+.uk-flex-column-reverse {
+ -ms-flex-direction: column-reverse;
+ -webkit-flex-direction: column-reverse;
+ flex-direction: column-reverse;
+}
+.uk-flex-nowrap {
+ -ms-flex-wrap: nowrap;
+ -webkit-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+}
+.uk-flex-wrap {
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+}
+.uk-flex-wrap-reverse {
+ -ms-flex-wrap: wrap-reverse;
+ -webkit-flex-wrap: wrap-reverse;
+ flex-wrap: wrap-reverse;
+}
+.uk-flex-wrap-top {
+ -ms-flex-line-pack: start;
+ -webkit-align-content: flex-start;
+ align-content: flex-start;
+}
+.uk-flex-wrap-middle {
+ -ms-flex-line-pack: center;
+ -webkit-align-content: center;
+ align-content: center;
+}
+.uk-flex-wrap-bottom {
+ -ms-flex-line-pack: end;
+ -webkit-align-content: flex-end;
+ align-content: flex-end;
+}
+.uk-flex-wrap-space-between {
+ -ms-flex-line-pack: justify;
+ -webkit-align-content: space-between;
+ align-content: space-between;
+}
+.uk-flex-wrap-space-around {
+ -ms-flex-line-pack: distribute;
+ -webkit-align-content: space-around;
+ align-content: space-around;
+}
+.uk-flex-order-first {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+}
+.uk-flex-order-last {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+}
+@media (min-width: 480px) {
+ .uk-flex-order-first-small {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-small {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+@media (min-width: 768px) {
+ .uk-flex-order-first-medium {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-medium {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+@media (min-width: 960px) {
+ .uk-flex-order-first-large {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-large {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+@media (min-width: 1220px) {
+ .uk-flex-order-first-xlarge {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-xlarge {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+.uk-flex-item-none {
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+}
+.uk-flex-item-auto {
+ -ms-flex: auto;
+ -webkit-flex: auto;
+ flex: auto;
+ -ms-flex-negative: 1;
+}
+.uk-flex-item-1 {
+ -ms-flex: 1;
+ -webkit-flex: 1;
+ flex: 1;
+}
+.uk-contrast {
+ color: #ffffff;
+}
+.uk-contrast a:not([class]),
+.uk-contrast .uk-link {
+ color: rgba(255, 255, 255, 0.7);
+ text-decoration: none;
+}
+.uk-contrast a:not([class]):hover,
+.uk-contrast .uk-link:hover {
+ color: #ffffff;
+ text-decoration: underline;
+}
+.uk-contrast :not(pre) > code,
+.uk-contrast :not(pre) > kbd,
+.uk-contrast :not(pre) > samp {
+ color: #ffffff;
+}
+.uk-contrast em {
+ color: #ffffff;
+}
+.uk-contrast h1,
+.uk-contrast h2,
+.uk-contrast h3,
+.uk-contrast h4,
+.uk-contrast h5,
+.uk-contrast h6 {
+ color: #ffffff;
+}
+.uk-contrast hr {
+ border-top-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-nav li > a,
+.uk-contrast .uk-nav li > a:hover {
+ text-decoration: none;
+}
+.uk-contrast .uk-nav-side > li > a {
+ color: #ffffff;
+}
+.uk-contrast .uk-nav-side > li > a:hover,
+.uk-contrast .uk-nav-side > li > a:focus {
+ background: rgba(255, 255, 255, 0.1);
+ color: #ffffff;
+}
+.uk-contrast .uk-nav-side > li.uk-active > a {
+ background: #ffffff;
+ color: #444444;
+}
+.uk-contrast .uk-nav-side .uk-nav-header {
+ color: #ffffff;
+}
+.uk-contrast .uk-nav-side .uk-nav-divider {
+ border-top-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-nav-side ul a {
+ color: rgba(255, 255, 255, 0.7);
+}
+.uk-contrast .uk-nav-side ul a:hover {
+ color: #ffffff;
+}
+.uk-contrast .uk-subnav > * > a {
+ color: rgba(255, 255, 255, 0.7);
+ text-decoration: none;
+}
+.uk-contrast .uk-subnav > * > a:hover,
+.uk-contrast .uk-subnav > * > a:focus {
+ color: #ffffff;
+ text-decoration: none;
+}
+.uk-contrast .uk-subnav > .uk-active > a {
+ color: #ffffff;
+}
+.uk-contrast .uk-subnav-line > :nth-child(n+2):before {
+ border-left-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-subnav-pill > * > a:hover,
+.uk-contrast .uk-subnav-pill > * > a:focus {
+ background: rgba(255, 255, 255, 0.7);
+ color: #444444;
+ text-decoration: none;
+}
+.uk-contrast .uk-subnav-pill > .uk-active > a {
+ background: #ffffff;
+ color: #444444;
+}
+.uk-contrast .uk-list-line > li:nth-child(n+2) {
+ border-top-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-form select,
+.uk-contrast .uk-form textarea,
+.uk-contrast .uk-form input:not([type]),
+.uk-contrast .uk-form input[type="text"],
+.uk-contrast .uk-form input[type="password"],
+.uk-contrast .uk-form input[type="datetime"],
+.uk-contrast .uk-form input[type="datetime-local"],
+.uk-contrast .uk-form input[type="date"],
+.uk-contrast .uk-form input[type="month"],
+.uk-contrast .uk-form input[type="time"],
+.uk-contrast .uk-form input[type="week"],
+.uk-contrast .uk-form input[type="number"],
+.uk-contrast .uk-form input[type="email"],
+.uk-contrast .uk-form input[type="url"],
+.uk-contrast .uk-form input[type="search"],
+.uk-contrast .uk-form input[type="tel"],
+.uk-contrast .uk-form input[type="color"] {
+ border-color: rgba(255, 255, 255, 0.8);
+ background: rgba(255, 255, 255, 0.8);
+ color: #444444;
+ background-clip: padding-box;
+}
+.uk-contrast .uk-form select:focus,
+.uk-contrast .uk-form textarea:focus,
+.uk-contrast .uk-form input:not([type]):focus,
+.uk-contrast .uk-form input[type="text"]:focus,
+.uk-contrast .uk-form input[type="password"]:focus,
+.uk-contrast .uk-form input[type="datetime"]:focus,
+.uk-contrast .uk-form input[type="datetime-local"]:focus,
+.uk-contrast .uk-form input[type="date"]:focus,
+.uk-contrast .uk-form input[type="month"]:focus,
+.uk-contrast .uk-form input[type="time"]:focus,
+.uk-contrast .uk-form input[type="week"]:focus,
+.uk-contrast .uk-form input[type="number"]:focus,
+.uk-contrast .uk-form input[type="email"]:focus,
+.uk-contrast .uk-form input[type="url"]:focus,
+.uk-contrast .uk-form input[type="search"]:focus,
+.uk-contrast .uk-form input[type="tel"]:focus,
+.uk-contrast .uk-form input[type="color"]:focus {
+ border-color: #ffffff;
+ background: #ffffff;
+ color: #444444;
+}
+.uk-contrast .uk-form :-ms-input-placeholder {
+ color: rgba(68, 68, 68, 0.7) !important;
+}
+.uk-contrast .uk-form ::-moz-placeholder {
+ color: rgba(68, 68, 68, 0.7);
+}
+.uk-contrast .uk-form ::-webkit-input-placeholder {
+ color: rgba(68, 68, 68, 0.7);
+}
+.uk-contrast .uk-button {
+ color: #444444;
+ background: #ffffff;
+}
+.uk-contrast .uk-button:hover,
+.uk-contrast .uk-button:focus {
+ background-color: rgba(255, 255, 255, 0.8);
+ color: #444444;
+}
+.uk-contrast .uk-button:active,
+.uk-contrast .uk-button.uk-active {
+ background-color: rgba(255, 255, 255, 0.7);
+ color: #444444;
+}
+.uk-contrast .uk-button-primary {
+ background-color: #00a8e6;
+ color: #ffffff;
+}
+.uk-contrast .uk-button-primary:hover,
+.uk-contrast .uk-button-primary:focus {
+ background-color: #35b3ee;
+ color: #ffffff;
+}
+.uk-contrast .uk-button-primary:active,
+.uk-contrast .uk-button-primary.uk-active {
+ background-color: #0091ca;
+ color: #ffffff;
+}
+.uk-contrast .uk-icon-hover {
+ color: rgba(255, 255, 255, 0.7);
+}
+.uk-contrast .uk-icon-hover:hover {
+ color: #ffffff;
+}
+.uk-contrast .uk-icon-button {
+ background: #ffffff;
+ color: #444444;
+}
+.uk-contrast .uk-icon-button:hover,
+.uk-contrast .uk-icon-button:focus {
+ background-color: rgba(255, 255, 255, 0.8);
+ color: #444444;
+}
+.uk-contrast .uk-icon-button:active {
+ background-color: rgba(255, 255, 255, 0.7);
+ color: #444444;
+}
+.uk-contrast .uk-text-muted {
+ color: rgba(255, 255, 255, 0.6) !important;
+}
+.uk-contrast .uk-text-primary {
+ color: #2d7091 !important;
+}
+@media print {
+ * {
+ background: transparent !important;
+ color: black !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: 0.5cm;
+ }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+}
+.uk-dotnav {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ margin-left: -15px;
+ margin-top: -15px;
+ padding: 0;
+ list-style: none;
+}
+.uk-dotnav > * {
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ padding-left: 15px;
+ margin-top: 15px;
+}
+.uk-dotnav:before,
+.uk-dotnav:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-dotnav:after {
+ clear: both;
+}
+.uk-dotnav > * {
+ float: left;
+}
+.uk-dotnav > * > * {
+ display: block;
+ box-sizing: content-box;
+ width: 20px;
+ height: 20px;
+ border-radius: 50%;
+ background: rgba(50, 50, 50, 0.1);
+ text-indent: 100%;
+ overflow: hidden;
+ white-space: nowrap;
+}
+.uk-dotnav > * > :hover,
+.uk-dotnav > * > :focus {
+ background: rgba(50, 50, 50, 0.4);
+ outline: none;
+}
+.uk-dotnav > * > :active {
+ background: rgba(50, 50, 50, 0.6);
+}
+.uk-dotnav > .uk-active > * {
+ background: rgba(50, 50, 50, 0.4);
+}
+.uk-dotnav-contrast > * > * {
+ background: rgba(255, 255, 255, 0.4);
+}
+.uk-dotnav-contrast > * > :hover,
+.uk-dotnav-contrast > * > :focus {
+ background: rgba(255, 255, 255, 0.7);
+}
+.uk-dotnav-contrast > * > :active {
+ background: rgba(255, 255, 255, 0.9);
+}
+.uk-dotnav-contrast > .uk-active > * {
+ background: rgba(255, 255, 255, 0.9);
+}
+.uk-dotnav-vertical {
+ -ms-flex-direction: column;
+ -webkit-flex-direction: column;
+ flex-direction: column;
+}
+.uk-dotnav-vertical > * {
+ float: none;
+}
+.uk-slidenav {
+ display: inline-block;
+ box-sizing: border-box;
+ width: 60px;
+ height: 60px;
+ line-height: 60px;
+ color: rgba(50, 50, 50, 0.4);
+ font-size: 60px;
+ text-align: center;
+}
+.uk-slidenav:hover,
+.uk-slidenav:focus {
+ outline: none;
+ text-decoration: none;
+ color: rgba(50, 50, 50, 0.7);
+ cursor: pointer;
+}
+.uk-slidenav:active {
+ color: rgba(50, 50, 50, 0.9);
+}
+.uk-slidenav-previous:before {
+ content: "\f104";
+ font-family: FontAwesome;
+}
+.uk-slidenav-next:before {
+ content: "\f105";
+ font-family: FontAwesome;
+}
+.uk-slidenav-position {
+ position: relative;
+}
+.uk-slidenav-position .uk-slidenav {
+ display: none;
+ position: absolute;
+ top: 50%;
+ z-index: 1;
+ 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-slidenav-contrast {
+ color: rgba(255, 255, 255, 0.5);
+}
+.uk-slidenav-contrast:hover,
+.uk-slidenav-contrast:focus {
+ color: rgba(255, 255, 255, 0.7);
+}
+.uk-slidenav-contrast:active {
+ color: rgba(255, 255, 255, 0.9);
+}
+.uk-form input[type="radio"],
+.uk-form input[type="checkbox"] {
+ display: inline-block;
+ height: 14px;
+ width: 14px;
+ border: 1px solid #aaaaaa;
+ overflow: hidden;
+ margin-top: -4px;
+ vertical-align: middle;
+ -webkit-appearance: none;
+ outline: 0;
+ background: transparent;
+}
+.uk-form input[type="radio"] {
+ border-radius: 50%;
+}
+.uk-form input[type=radio]:before,
+.uk-form input[type=checkbox]:before {
+ display: block;
+}
+.uk-form input[type=radio]:checked:before {
+ content: '';
+ width: 8px;
+ height: 8px;
+ margin: 2px auto 0;
+ border-radius: 50%;
+ background: #00a8e6;
+}
+.uk-form input[type=checkbox]:checked:before,
+.uk-form input[type=checkbox]:indeterminate: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=checkbox]:indeterminate:before {
+ content: "\f068";
+}
+.uk-form input[type=radio]:disabled,
+.uk-form input[type=checkbox]:disabled {
+ border-color: #dddddd;
+}
+.uk-form input[type=radio]:disabled:checked:before {
+ background-color: #aaaaaa;
+}
+.uk-form input[type=checkbox]:disabled:checked:before,
+.uk-form input[type=checkbox]:disabled:indeterminate:before {
+ color: #aaaaaa;
+}
+.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: #999999;
+}
+.uk-form-password-toggle:hover {
+ color: #999999;
+ 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-placeholder {
+ margin-bottom: 15px;
+ padding: 15px;
+ border: 1px dashed #dddddd;
+ background: #fafafa;
+ color: #444444;
+}
+* + .uk-placeholder {
+ margin-top: 15px;
+}
+.uk-placeholder > :last-child {
+ margin-bottom: 0;
+}
+.uk-placeholder-large {
+ padding-top: 80px;
+ padding-bottom: 80px;
+}
+.uk-progress {
+ box-sizing: border-box;
+ height: 20px;
+ margin-bottom: 15px;
+ background: #eeeeee;
+ overflow: hidden;
+ line-height: 20px;
+}
+* + .uk-progress {
+ margin-top: 15px;
+}
+.uk-progress-bar {
+ width: 0;
+ height: 100%;
+ background: #00a8e6;
+ float: left;
+ -webkit-transition: width 0.6s ease;
+ transition: width 0.6s ease;
+ font-size: 12px;
+ color: #ffffff;
+ text-align: center;
+}
+.uk-progress-mini {
+ height: 6px;
+}
+.uk-progress-small {
+ height: 12px;
+}
+.uk-progress-success .uk-progress-bar {
+ background-color: #8cc14c;
+}
+.uk-progress-warning .uk-progress-bar {
+ background-color: #faa732;
+}
+.uk-progress-danger .uk-progress-bar {
+ background-color: #da314b;
+}
+.uk-progress-striped .uk-progress-bar {
+ background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.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-accordion-title {
+ margin-top: 0;
+ margin-bottom: 15px;
+ padding: 5px 15px;
+ background: #eeeeee;
+ font-size: 18px;
+ line-height: 24px;
+ cursor: pointer;
+}
+.uk-accordion-content {
+ padding: 0 15px 15px 15px;
+}
+.uk-accordion-content:before,
+.uk-accordion-content:after {
+ content: "";
+ display: table;
+}
+.uk-accordion-content:after {
+ clear: both;
+}
+.uk-accordion-content > :last-child {
+ margin-bottom: 0;
+}
+.uk-autocomplete {
+ display: inline-block;
+ position: relative;
+ max-width: 100%;
+ vertical-align: middle;
+}
+.uk-nav-autocomplete > li > a {
+ color: #444444;
+}
+.uk-nav-autocomplete > li.uk-active > a {
+ background: #00a8e6;
+ color: #ffffff;
+ outline: none;
+}
+.uk-nav-autocomplete .uk-nav-header {
+ color: #999999;
+}
+.uk-nav-autocomplete .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+.uk-datepicker {
+ z-index: 1050;
+ width: auto;
+ -webkit-animation: uk-fade 0.2s ease-in-out;
+ animation: uk-fade 0.2s ease-in-out;
+ -webkit-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: #444444;
+ text-decoration: none;
+}
+.uk-datepicker-nav a:hover {
+ color: #444444;
+}
+.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: #444444;
+ text-decoration: none;
+}
+a.uk-datepicker-table-muted {
+ color: #999999;
+}
+.uk-datepicker-table a:hover,
+.uk-datepicker-table a:focus {
+ background-color: #dddddd;
+ color: #444444;
+ outline: none;
+}
+.uk-datepicker-table a:active {
+ background-color: #cccccc;
+ color: #444444;
+}
+.uk-datepicker-table a.uk-active {
+ background: #00a8e6;
+ color: #ffffff;
+}
+.uk-htmleditor-navbar {
+ background: #eeeeee;
+}
+.uk-htmleditor-navbar:before,
+.uk-htmleditor-navbar:after {
+ content: "";
+ display: table;
+}
+.uk-htmleditor-navbar:after {
+ 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: #444444;
+ font-size: 11px;
+ cursor: pointer;
+}
+.uk-htmleditor-navbar-nav > li:hover > a,
+.uk-htmleditor-navbar-nav > li > a:focus {
+ background-color: #f5f5f5;
+ color: #444444;
+ outline: none;
+}
+.uk-htmleditor-navbar-nav > li > a:active {
+ background-color: #dddddd;
+ color: #444444;
+}
+.uk-htmleditor-navbar-nav > li.uk-active > a {
+ background-color: #f5f5f5;
+ color: #444444;
+}
+.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 #dddddd;
+ border-right: 1px solid #dddddd;
+ border-bottom: 1px solid #dddddd;
+ background: #ffffff;
+}
+.uk-htmleditor-content:before,
+.uk-htmleditor-content:after {
+ content: "";
+ display: table;
+}
+.uk-htmleditor-content:after {
+ 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 {
+ 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 #eeeeee;
+}
+.uk-htmleditor-iframe {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+.uk-htmleditor .CodeMirror {
+ padding: 10px;
+ box-sizing: border-box;
+}
+.uk-slider {
+ position: relative;
+ z-index: 0;
+ touch-action: pan-y;
+}
+.uk-slider:not(.uk-grid) {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+.uk-slider > * {
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+.uk-slider-container {
+ overflow: hidden;
+}
+.uk-slider:not(.uk-drag) {
+ -webkit-transition: -webkit-transform 200ms linear;
+ transition: transform 200ms linear;
+}
+.uk-slider.uk-drag {
+ cursor: col-resize;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.uk-slider a,
+.uk-slider img {
+ -webkit-user-drag: none;
+ user-drag: none;
+ -webkit-touch-callout: none;
+}
+.uk-slider img {
+ pointer-events: none;
+}
+.uk-slider-fullscreen,
+.uk-slider-fullscreen > li {
+ height: 100vh;
+}
+.uk-slideshow {
+ position: relative;
+ z-index: 0;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ overflow: hidden;
+ touch-action: pan-y;
+}
+.uk-slideshow > li {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ opacity: 0;
+}
+.uk-slideshow > .uk-active {
+ z-index: 10;
+ opacity: 1;
+}
+.uk-slideshow > li > img {
+ visibility: hidden;
+}
+[data-uk-slideshow-slide] {
+ cursor: pointer;
+}
+.uk-slideshow-fullscreen,
+.uk-slideshow-fullscreen > li {
+ height: 100vh;
+}
+.uk-slideshow-fade-out {
+ -webkit-animation: uk-fade 0.5s linear reverse;
+ animation: uk-fade 0.5s linear reverse;
+}
+.uk-slideshow-scroll-forward-in {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out;
+ animation: uk-slide-right 0.5s ease-in-out;
+}
+.uk-slideshow-scroll-forward-out {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;
+ animation: uk-slide-left 0.5s ease-in-out reverse;
+}
+.uk-slideshow-scroll-backward-in {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out;
+ animation: uk-slide-left 0.5s ease-in-out;
+}
+.uk-slideshow-scroll-backward-out {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;
+ animation: uk-slide-right 0.5s ease-in-out reverse;
+}
+.uk-slideshow-scale-out {
+ -webkit-animation: uk-fade-scale-15 0.5s ease-in-out reverse;
+ animation: uk-fade-scale-15 0.5s ease-in-out reverse;
+}
+.uk-slideshow-swipe-forward-in {
+ -webkit-animation: uk-slide-left-33 0.5s ease-in-out;
+ animation: uk-slide-left-33 0.5s ease-in-out;
+}
+.uk-slideshow-swipe-forward-out {
+ -webkit-animation: uk-slide-left 0.5s ease-in-out reverse;
+ animation: uk-slide-left 0.5s ease-in-out reverse;
+}
+.uk-slideshow-swipe-backward-in {
+ -webkit-animation: uk-slide-right-33 0.5s ease-in-out;
+ animation: uk-slide-right-33 0.5s ease-in-out;
+}
+.uk-slideshow-swipe-backward-out {
+ -webkit-animation: uk-slide-right 0.5s ease-in-out reverse;
+ animation: uk-slide-right 0.5s ease-in-out reverse;
+}
+.uk-slideshow-swipe-forward-in:before,
+.uk-slideshow-swipe-backward-in:before {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 1;
+ background: rgba(0, 0, 0, 0.6);
+ -webkit-animation: uk-fade 0.5s ease-in-out reverse;
+ animation: uk-fade 0.5s ease-in-out reverse;
+}
+.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: #444444;
+ color: #ffffff;
+ 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-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, 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: #444444;
+ -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 0.2s;
+ transition: all linear 0.2s;
+ vertical-align: middle;
+}
+.uk-search-field:-ms-input-placeholder {
+ color: #999999 !important;
+}
+.uk-search-field::-moz-placeholder {
+ color: #999999;
+}
+.uk-search-field::-webkit-input-placeholder {
+ color: #999999;
+}
+.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: #444444;
+}
+.uk-open > .uk-dropdown-search {
+ -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out;
+ animation: uk-slide-top-fixed 0.2s ease-in-out;
+}
+.uk-navbar-flip .uk-dropdown-search {
+ margin-top: 5px;
+ margin-right: -15px;
+}
+.uk-nav-search > li > a {
+ color: #444444;
+}
+.uk-nav-search > li.uk-active > a {
+ background: #00a8e6;
+ color: #ffffff;
+ outline: none;
+}
+.uk-nav-search .uk-nav-header {
+ color: #999999;
+}
+.uk-nav-search .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+.uk-nav-search ul a {
+ color: #0077dd;
+}
+.uk-nav-search ul a:hover {
+ color: #005599;
+}
+.uk-offcanvas .uk-search {
+ display: block;
+ margin: 20px 15px;
+}
+.uk-offcanvas .uk-search:before {
+ color: #777777;
+}
+.uk-offcanvas .uk-search-field {
+ width: 100%;
+ border-color: rgba(0, 0, 0, 0);
+ background: #1a1a1a;
+ color: #cccccc;
+}
+.uk-offcanvas .uk-search-field:-ms-input-placeholder {
+ color: #777777 !important;
+}
+.uk-offcanvas .uk-search-field::-moz-placeholder {
+ color: #777777;
+}
+.uk-offcanvas .uk-search-field::-webkit-input-placeholder {
+ color: #777777;
+}
+.uk-nestable {
+ padding: 0;
+ list-style: none;
+}
+.uk-nestable a,
+.uk-nestable img {
+ -webkit-touch-callout: none;
+}
+.uk-nestable-list {
+ margin: 0;
+ padding-left: 40px;
+ list-style: none;
+}
+.uk-nestable-item {
+ touch-action: none;
+}
+.uk-nestable-item + .uk-nestable-item {
+ margin-top: 10px;
+}
+.uk-nestable-list:not(.uk-nestable-dragged) > .uk-nestable-item:first-child {
+ margin-top: 10px;
+}
+.uk-nestable-dragged {
+ position: absolute;
+ z-index: 1050;
+ pointer-events: none;
+ padding-left: 0;
+}
+.uk-nestable-placeholder {
+ position: relative;
+}
+.uk-nestable-placeholder > * {
+ opacity: 0;
+}
+.uk-nestable-placeholder:after {
+ content: '';
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ border: 1px dashed #dddddd;
+ opacity: 1;
+}
+.uk-nestable-empty {
+ min-height: 30px;
+}
+.uk-nestable-handle {
+ touch-action: none;
+}
+.uk-nestable-handle:hover {
+ cursor: move;
+}
+.uk-nestable-moving,
+.uk-nestable-moving * {
+ cursor: move;
+}
+[data-nestable-action='toggle'] {
+ cursor: pointer;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.uk-nestable-toggle {
+ display: inline-block;
+ visibility: hidden;
+}
+.uk-nestable-toggle:after {
+ content: "\f147";
+ font-family: FontAwesome;
+}
+.uk-parent > :not(.uk-nestable-list) .uk-nestable-toggle {
+ visibility: visible;
+}
+.uk-collapsed .uk-nestable-list {
+ display: none;
+}
+.uk-collapsed .uk-nestable-toggle:after {
+ content: "\f196";
+}
+.uk-nestable-panel {
+ padding: 5px;
+ background: #f5f5f5;
+}
+.uk-slider {
+ position: relative;
+ z-index: 0;
+ touch-action: pan-y;
+}
+.uk-slider:not(.uk-grid) {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+.uk-slider > * {
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+.uk-slider-container {
+ overflow: hidden;
+}
+.uk-slider:not(.uk-drag) {
+ -webkit-transition: -webkit-transform 200ms linear;
+ transition: transform 200ms linear;
+}
+.uk-slider.uk-drag {
+ cursor: col-resize;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.uk-slider a,
+.uk-slider img {
+ -webkit-user-drag: none;
+ user-drag: none;
+ -webkit-touch-callout: none;
+}
+.uk-slider img {
+ pointer-events: none;
+}
+.uk-slider-fullscreen,
+.uk-slider-fullscreen > li {
+ height: 100vh;
+}
+.uk-sortable {
+ position: relative;
+}
+.uk-sortable > * {
+ touch-action: none;
+}
+.uk-sortable a,
+.uk-sortable img {
+ -webkit-touch-callout: none;
+}
+.uk-sortable > :last-child {
+ margin-bottom: 0;
+}
+.uk-sortable-dragged {
+ position: absolute;
+ z-index: 1050;
+ pointer-events: none;
+}
+.uk-sortable-placeholder {
+ opacity: 0;
+}
+.uk-sortable-empty {
+ min-height: 30px;
+}
+.uk-sortable-handle {
+ touch-action: none;
+}
+.uk-sortable-handle:hover {
+ cursor: move;
+}
+.uk-sortable-moving,
+.uk-sortable-moving * {
+ cursor: move;
+}
+[data-uk-sticky].uk-active {
+ z-index: 980;
+ box-sizing: border-box;
+}
+.uk-sticky-placeholder > * {
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+[data-uk-sticky][class*='uk-animation-'] {
+ -webkit-animation-duration: 0.2s;
+ animation-duration: 0.2s;
+}
+[data-uk-sticky].uk-animation-reverse {
+ -webkit-animation-duration: 0.2s;
+ animation-duration: 0.2s;
+}
+.uk-dragover {
+ box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
+}
+.uk-tooltip {
+ display: none;
+ position: absolute;
+ z-index: 1030;
+ box-sizing: border-box;
+ max-width: 200px;
+ padding: 5px 8px;
+ background: #333333;
+ color: rgba(255, 255, 255, 0.7);
+ font-size: 12px;
+ line-height: 18px;
+}
+.uk-tooltip:after {
+ content: "";
+ display: block;
+ position: absolute;
+ width: 0;
+ height: 0;
+ border: 5px dashed #333333;
+}
+.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: #333333;
+}
+.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: #333333;
+}
+.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;
+ top: 50%;
+ margin-top: -5px;
+ border-left-style: solid;
+ border-right: none;
+ border-top-color: transparent;
+ border-bottom-color: transparent;
+ border-left-color: #333333;
+}
+.uk-tooltip-right:after {
+ left: -5px;
+ top: 50%;
+ margin-top: -5px;
+ border-right-style: solid;
+ border-left: none;
+ border-top-color: transparent;
+ border-bottom-color: transparent;
+ border-right-color: #333333;
+}
diff --git a/uikit/static/css/uikit.gradient.css b/uikit/static/css/uikit.gradient.css
new file mode 100644
index 0000000..4284f44
--- /dev/null
+++ b/uikit/static/css/uikit.gradient.css
@@ -0,0 +1,8417 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/* ========================================================================
+ Component: Base
+ ========================================================================== */
+/*
+ * 1. Normalizes default `font-family` and sets `font-size` here to support `rem` units
+ * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
+ * 3. Style
+ */
+html {
+ /* 1 */
+ font: normal 14px / 20px "Helvetica Neue", Helvetica, Arial, sans-serif;
+ /* 2 */
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ /* 3 */
+ background: #ffffff;
+ color: #444444;
+ background-image: -webkit-radial-gradient(100% 100%, center, #ffffff, #ffffff);
+ background-image: radial-gradient(100% 100% at center, #ffffff, #ffffff);
+}
+/*
+ * Removes default margin.
+ */
+body {
+ margin: 0;
+}
+/* Links
+ ========================================================================== */
+/*
+ * Remove the gray background color from active links in IE 10.
+ */
+a {
+ background: transparent;
+}
+/*
+ * Improves readability when focused and also mouse hovered in all browsers.
+ */
+a:active,
+a:hover {
+ outline: 0;
+}
+/*
+ * Style
+ */
+a,
+.uk-link {
+ color: #0077dd;
+ text-decoration: none;
+ cursor: pointer;
+}
+a:hover,
+.uk-link:hover {
+ color: #005599;
+ text-decoration: underline;
+}
+/* Text-level semantics
+ ========================================================================== */
+/*
+ * Addresses styling not present in Chrome, Safari, Opera and IE 8/9/10.
+ */
+abbr[title] {
+ border-bottom: 1px dotted;
+}
+/*
+ * Addresses style set to `bolder` in Firefox
+ */
+b,
+strong {
+ font-weight: bold;
+}
+/*
+ * 1. Address odd `em`-unit font size rendering in all browsers.
+ * 2. Consolas has a better baseline in running text compared to `Courier`
+ */
+:not(pre) > code,
+:not(pre) > kbd,
+:not(pre) > samp {
+ /* 1 */
+ font-size: 12px;
+ /* 2 */
+ font-family: Consolas, monospace, serif;
+ /* 3 */
+ color: #dd0055;
+ white-space: nowrap;
+ padding: 0 4px;
+ border: 1px solid #dddddd;
+ border-radius: 3px;
+ background: #fafafa;
+}
+/*
+ * Emphasize
+ */
+em {
+ color: #dd0055;
+}
+/*
+ * Insert
+ */
+ins {
+ background: #ffffaa;
+ color: #444444;
+ text-decoration: none;
+}
+/*
+ * Mark
+ * Note: Addresses styling not present in IE 8/9.
+ */
+mark {
+ background: #ffffaa;
+ color: #444444;
+}
+/*
+ * Quote
+ */
+q {
+ font-style: italic;
+}
+/*
+ * Addresses inconsistent and variable font size in all browsers.
+ */
+small {
+ font-size: 80%;
+}
+/*
+ * Prevents `sub` and `sup` affecting `line-height` in all browsers.
+ */
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+sup {
+ top: -0.5em;
+}
+sub {
+ bottom: -0.25em;
+}
+/* Images
+ ========================================================================== */
+/*
+ * 1. Responsiveness: Sets a maximum width relative to the parent and auto scales the height
+ * 2. Corrects `max-width` behavior if padding and border are used
+ * 3. Remove border when inside `a` element in IE 8/9/10.
+ * 4. Remove the gap between images and the bottom of their containers
+ */
+img {
+ /* 1 */
+ max-width: 100%;
+ height: auto;
+ /* 2 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 3 */
+ border: 0;
+ /* 4 */
+ vertical-align: middle;
+}
+/*
+ * Preserve original image dimensions
+ */
+.uk-img-preserve,
+.uk-img-preserve img {
+ max-width: none;
+}
+/*
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+svg:not(:root) {
+ overflow: hidden;
+}
+/* Block elements
+ ========================================================================== */
+/*
+ * Reset margin
+ */
+blockquote,
+figure {
+ margin: 0;
+}
+/*
+ * Margins
+ */
+p,
+ul,
+ol,
+dl,
+blockquote,
+pre,
+address,
+fieldset,
+figure {
+ margin: 0 0 15px 0;
+}
+* + p,
+* + ul,
+* + ol,
+* + dl,
+* + blockquote,
+* + pre,
+* + address,
+* + fieldset,
+* + figure {
+ margin-top: 15px;
+}
+/* Headings
+ ========================================================================== */
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin: 0 0 15px 0;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ color: #444444;
+ text-transform: none;
+}
+/*
+ * Margins
+ */
+* + h1,
+* + h2,
+* + h3,
+* + h4,
+* + h5,
+* + h6 {
+ margin-top: 25px;
+}
+/*
+ * Sizes
+ */
+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;
+}
+/* Lists
+ ========================================================================== */
+ul,
+ol {
+ padding-left: 30px;
+}
+/*
+ * Reset margin for nested lists
+ */
+ul > li > ul,
+ul > li > ol,
+ol > li > ol,
+ol > li > ul {
+ margin: 0;
+}
+/* Description lists
+ ========================================================================== */
+dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: 0;
+}
+/* Horizontal rules
+ ========================================================================== */
+/*
+ * 1. Address differences between Firefox and other browsers.
+ * 2. Style
+ */
+hr {
+ /* 1 */
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ /* 2 */
+ margin: 15px 0;
+ border: 0;
+ border-top: 1px solid #dddddd;
+}
+/* Address
+ ========================================================================== */
+address {
+ font-style: normal;
+}
+/* Blockquotes
+ ========================================================================== */
+blockquote {
+ padding-left: 15px;
+ border-left: 5px solid #dddddd;
+ font-size: 16px;
+ line-height: 22px;
+ font-style: italic;
+}
+/* Preformatted text
+ ========================================================================== */
+/*
+ * 1. Contain overflow in all browsers.
+ */
+pre {
+ padding: 10px;
+ background: #fafafa;
+ font: 12px / 18px Consolas, monospace, serif;
+ color: #444444;
+ -moz-tab-size: 4;
+ tab-size: 4;
+ /* 1 */
+ overflow: auto;
+ border: 1px solid #dddddd;
+ border-radius: 3px;
+}
+/* Selection pseudo-element
+ ========================================================================== */
+::-moz-selection {
+ background: #3399ff;
+ color: #ffffff;
+ text-shadow: none;
+}
+::selection {
+ background: #3399ff;
+ color: #ffffff;
+ text-shadow: none;
+}
+/* HTML5 elements
+ ========================================================================== */
+/*
+ * Corrects `block` display not defined in IE 8/9.
+ */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+main,
+nav,
+section,
+summary {
+ display: block;
+}
+/*
+ * Addresses inconsistent vertical alignment of `progress` in Chrome, Firefox and Opera.
+ */
+progress {
+ vertical-align: baseline;
+}
+/*
+ * Prevent displaying `audio` without controls in Chrome, Safari and Opera
+ */
+audio:not([controls]) {
+ display: none;
+}
+/*
+ * Address `[hidden]` styling not present in IE 8/9.
+ * Hide the `template` element in IE and Safari
+ */
+[hidden],
+template {
+ display: none;
+}
+/* Iframe
+ ========================================================================== */
+iframe {
+ border: 0;
+}
+/* Fix viewport for IE10 snap mode
+ ========================================================================== */
+@media screen and (max-width: 400px) {
+ @-ms-viewport {
+ width: device-width;
+ }
+}
+/* ========================================================================
+ Component: Grid
+ ========================================================================== */
+/*
+ * 1. Makes grid more robust so that it can be used with other block elements like lists
+ */
+.uk-grid {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /* 1 */
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+/*
+ * DEPRECATED
+ * Micro clearfix
+ * Can't use `table` because it creates a 1px gap when it becomes a flex item, only in Webkit
+ */
+.uk-grid:before,
+.uk-grid:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-grid:after {
+ clear: both;
+}
+/*
+ * Grid cell
+ * 1. Space is allocated solely based on content dimensions
+ * 2. Makes grid more robust so that it can be used with other block elements
+ * 3. DEPRECATED Using `float` to support IE9
+ */
+.uk-grid > * {
+ /* 1 */
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ /* 2 */
+ margin: 0;
+ /* 3 */
+ float: left;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-grid > * > :last-child {
+ margin-bottom: 0;
+}
+/* Grid gutter
+ ========================================================================== */
+/*
+ * Default gutter
+ */
+/* Horizontal */
+.uk-grid {
+ margin-left: -25px;
+}
+.uk-grid > * {
+ padding-left: 25px;
+}
+/* Vertical */
+.uk-grid + .uk-grid,
+.uk-grid-margin,
+.uk-grid > * > .uk-panel + .uk-panel {
+ margin-top: 25px;
+}
+/* Large screen and bigger */
+@media (min-width: 1220px) {
+ /* Horizontal */
+ .uk-grid {
+ margin-left: -35px;
+ }
+ .uk-grid > * {
+ padding-left: 35px;
+ }
+ /* Vertical */
+ .uk-grid + .uk-grid,
+ .uk-grid-margin,
+ .uk-grid > * > .uk-panel + .uk-panel {
+ margin-top: 35px;
+ }
+}
+/*
+ * Collapse gutter
+ */
+/* Horizontal */
+.uk-grid-collapse {
+ margin-left: 0;
+}
+.uk-grid-collapse > * {
+ padding-left: 0;
+}
+/* Vertical */
+.uk-grid-collapse + .uk-grid-collapse,
+.uk-grid-collapse > .uk-grid-margin,
+.uk-grid-collapse > * > .uk-panel + .uk-panel {
+ margin-top: 0;
+}
+/*
+ * Small gutter
+ */
+/* Horizontal */
+.uk-grid-small {
+ margin-left: -10px;
+}
+.uk-grid-small > * {
+ padding-left: 10px;
+}
+/* Vertical */
+.uk-grid-small + .uk-grid-small,
+.uk-grid-small > .uk-grid-margin,
+.uk-grid-small > * > .uk-panel + .uk-panel {
+ margin-top: 10px;
+}
+/*
+ * Medium gutter
+ */
+/* Horizontal */
+.uk-grid-medium {
+ margin-left: -25px;
+}
+.uk-grid-medium > * {
+ padding-left: 25px;
+}
+/* Vertical */
+.uk-grid-medium + .uk-grid-medium,
+.uk-grid-medium > .uk-grid-margin,
+.uk-grid-medium > * > .uk-panel + .uk-panel {
+ margin-top: 25px;
+}
+/* Modifier: `uk-grid-divider`
+ ========================================================================== */
+/*
+ * Horizontal divider
+ * Only works with the default gutter. Does not work with gutter collapse, small or large.
+ * Does not work with `uk-push-*`, `uk-pull-*` and not if the columns float into the next row.
+ */
+.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 #dddddd;
+}
+/* Tablet and bigger */
+@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 #dddddd;
+ }
+}
+/* Desktop and bigger */
+@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 #dddddd;
+ }
+}
+/* Large screen and bigger */
+@media (min-width: 1220px) {
+ /*
+ * Large gutter
+ */
+ .uk-grid-divider:not(:empty) {
+ margin-left: -35px;
+ margin-right: -35px;
+ }
+ .uk-grid-divider > * {
+ padding-left: 35px;
+ padding-right: 35px;
+ }
+ .uk-grid-divider:empty {
+ margin-top: 35px;
+ margin-bottom: 35px;
+ }
+}
+/*
+ * Vertical divider
+ */
+.uk-grid-divider:empty {
+ margin-top: 25px;
+ margin-bottom: 25px;
+ border-top: 1px solid #dddddd;
+}
+/* Match panels in grids
+ ========================================================================== */
+.uk-grid-match > * {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+}
+/*
+ * 1. Behave like a block element
+ */
+.uk-grid-match > * > * {
+ /* 1 */
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 100%;
+}
+/* Even grid cell widths
+ ========================================================================== */
+[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%;
+}
+/* Phone landscape and bigger */
+@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%;
+ }
+}
+/* Tablet and bigger */
+@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%;
+ }
+}
+/* Desktop and bigger */
+@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%;
+ }
+}
+/* Large screen and bigger */
+@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%;
+ }
+}
+/* Sub-objects: `uk-width-*`
+ ========================================================================== */
+[class*='uk-width'] {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 100%;
+}
+/*
+ * Widths
+ */
+/* Whole */
+.uk-width-1-1 {
+ width: 100%;
+}
+/* Halves */
+.uk-width-1-2,
+.uk-width-2-4,
+.uk-width-3-6,
+.uk-width-5-10 {
+ width: 50%;
+}
+/* Thirds */
+.uk-width-1-3,
+.uk-width-2-6 {
+ width: 33.333%;
+}
+.uk-width-2-3,
+.uk-width-4-6 {
+ width: 66.666%;
+}
+/* Quarters */
+.uk-width-1-4 {
+ width: 25%;
+}
+.uk-width-3-4 {
+ width: 75%;
+}
+/* Fifths */
+.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%;
+}
+/* Sixths */
+.uk-width-1-6 {
+ width: 16.666%;
+}
+.uk-width-5-6 {
+ width: 83.333%;
+}
+/* Tenths */
+.uk-width-1-10 {
+ width: 10%;
+}
+.uk-width-3-10 {
+ width: 30%;
+}
+.uk-width-7-10 {
+ width: 70%;
+}
+.uk-width-9-10 {
+ width: 90%;
+}
+/* Phone landscape and bigger */
+@media (min-width: 480px) {
+ /* Whole */
+ .uk-width-small-1-1 {
+ width: 100%;
+ }
+ /* Halves */
+ .uk-width-small-1-2,
+ .uk-width-small-2-4,
+ .uk-width-small-3-6,
+ .uk-width-small-5-10 {
+ width: 50%;
+ }
+ /* Thirds */
+ .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%;
+ }
+ /* Quarters */
+ .uk-width-small-1-4 {
+ width: 25%;
+ }
+ .uk-width-small-3-4 {
+ width: 75%;
+ }
+ /* Fifths */
+ .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%;
+ }
+ /* Sixths */
+ .uk-width-small-1-6 {
+ width: 16.666%;
+ }
+ .uk-width-small-5-6 {
+ width: 83.333%;
+ }
+ /* Tenths */
+ .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%;
+ }
+}
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ /* Whole */
+ .uk-width-medium-1-1 {
+ width: 100%;
+ }
+ /* Halves */
+ .uk-width-medium-1-2,
+ .uk-width-medium-2-4,
+ .uk-width-medium-3-6,
+ .uk-width-medium-5-10 {
+ width: 50%;
+ }
+ /* Thirds */
+ .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%;
+ }
+ /* Quarters */
+ .uk-width-medium-1-4 {
+ width: 25%;
+ }
+ .uk-width-medium-3-4 {
+ width: 75%;
+ }
+ /* Fifths */
+ .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%;
+ }
+ /* Sixths */
+ .uk-width-medium-1-6 {
+ width: 16.666%;
+ }
+ .uk-width-medium-5-6 {
+ width: 83.333%;
+ }
+ /* Tenths */
+ .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%;
+ }
+}
+/* Desktop and bigger */
+@media (min-width: 960px) {
+ /* Whole */
+ .uk-width-large-1-1 {
+ width: 100%;
+ }
+ /* Halves */
+ .uk-width-large-1-2,
+ .uk-width-large-2-4,
+ .uk-width-large-3-6,
+ .uk-width-large-5-10 {
+ width: 50%;
+ }
+ /* Thirds */
+ .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%;
+ }
+ /* Quarters */
+ .uk-width-large-1-4 {
+ width: 25%;
+ }
+ .uk-width-large-3-4 {
+ width: 75%;
+ }
+ /* Fifths */
+ .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%;
+ }
+ /* Sixths */
+ .uk-width-large-1-6 {
+ width: 16.666%;
+ }
+ .uk-width-large-5-6 {
+ width: 83.333%;
+ }
+ /* Tenths */
+ .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%;
+ }
+}
+/* Sub-object: `uk-push-*` and `uk-pull-*`
+ ========================================================================== */
+/*
+ * Source ordering
+ * Works only with `uk-width-medium-*`
+ */
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ [class*='uk-push-'],
+ [class*='uk-pull-'] {
+ position: relative;
+ }
+ /*
+ * Push
+ */
+ /* Halves */
+ .uk-push-1-2,
+ .uk-push-2-4,
+ .uk-push-3-6,
+ .uk-push-5-10 {
+ left: 50%;
+ }
+ /* Thirds */
+ .uk-push-1-3,
+ .uk-push-2-6 {
+ left: 33.333%;
+ }
+ .uk-push-2-3,
+ .uk-push-4-6 {
+ left: 66.666%;
+ }
+ /* Quarters */
+ .uk-push-1-4 {
+ left: 25%;
+ }
+ .uk-push-3-4 {
+ left: 75%;
+ }
+ /* Fifths */
+ .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%;
+ }
+ /* Sixths */
+ .uk-push-1-6 {
+ left: 16.666%;
+ }
+ .uk-push-5-6 {
+ left: 83.333%;
+ }
+ /* Tenths */
+ .uk-push-1-10 {
+ left: 10%;
+ }
+ .uk-push-3-10 {
+ left: 30%;
+ }
+ .uk-push-7-10 {
+ left: 70%;
+ }
+ .uk-push-9-10 {
+ left: 90%;
+ }
+ /*
+ * Pull
+ */
+ /* Halves */
+ .uk-pull-1-2,
+ .uk-pull-2-4,
+ .uk-pull-3-6,
+ .uk-pull-5-10 {
+ left: -50%;
+ }
+ /* Thirds */
+ .uk-pull-1-3,
+ .uk-pull-2-6 {
+ left: -33.333%;
+ }
+ .uk-pull-2-3,
+ .uk-pull-4-6 {
+ left: -66.666%;
+ }
+ /* Quarters */
+ .uk-pull-1-4 {
+ left: -25%;
+ }
+ .uk-pull-3-4 {
+ left: -75%;
+ }
+ /* Fifths */
+ .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%;
+ }
+ /* Sixths */
+ .uk-pull-1-6 {
+ left: -16.666%;
+ }
+ .uk-pull-5-6 {
+ left: -83.333%;
+ }
+ /* Tenths */
+ .uk-pull-1-10 {
+ left: -10%;
+ }
+ .uk-pull-3-10 {
+ left: -30%;
+ }
+ .uk-pull-7-10 {
+ left: -70%;
+ }
+ .uk-pull-9-10 {
+ left: -90%;
+ }
+}
+/* ========================================================================
+ Component: Panel
+ ========================================================================== */
+/*
+ * 1. Needed for `a` elements
+ * 2. Create position context for badges
+ */
+.uk-panel {
+ /* 1 */
+ display: block;
+ /* 2 */
+ position: relative;
+}
+/*
+ * Allow panels to be anchors
+ */
+.uk-panel,
+.uk-panel:hover {
+ text-decoration: none;
+}
+/*
+ * Micro clearfix to make panels more robust
+ */
+.uk-panel:before,
+.uk-panel:after {
+ content: "";
+ display: table;
+}
+.uk-panel:after {
+ clear: both;
+}
+/*
+ * Remove margin from the last-child if not `uk-widget-title`
+ */
+.uk-panel > :not(.uk-panel-title):last-child {
+ margin-bottom: 0;
+}
+/* Sub-object: `uk-panel-title`
+ ========================================================================== */
+.uk-panel-title {
+ margin-top: 0;
+ margin-bottom: 15px;
+ font-size: 18px;
+ line-height: 24px;
+ font-weight: normal;
+ text-transform: none;
+ color: #444444;
+}
+/* Sub-object: `uk-panel-badge`
+ ========================================================================== */
+.uk-panel-badge {
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 1;
+}
+/* Sub-object: `uk-panel-teaser`
+ ========================================================================== */
+.uk-panel-teaser {
+ margin-bottom: 15px;
+}
+/* Modifier: `uk-panel-box`
+ ========================================================================== */
+.uk-panel-box {
+ padding: 15px;
+ background: #fafafa;
+ color: #444444;
+ border: 1px solid #dddddd;
+ border-radius: 4px;
+}
+.uk-panel-box-hover:hover {
+ color: #444444;
+}
+.uk-panel-box .uk-panel-title {
+ color: #444444;
+}
+.uk-panel-box .uk-panel-badge {
+ top: 10px;
+ right: 10px;
+}
+.uk-panel-box .uk-panel-teaser {
+ margin-top: -16px;
+ margin-left: -16px;
+ margin-right: -16px;
+}
+/*
+ * Nav in panel
+ */
+.uk-panel-box > .uk-nav-side {
+ margin: 0 -15px;
+}
+/*
+ * Sub-modifier: `uk-panel-box-primary`
+ */
+.uk-panel-box-primary {
+ background-color: #ebf7fd;
+ color: #2d7091;
+ border-color: rgba(45, 112, 145, 0.3);
+}
+.uk-panel-box-primary-hover:hover {
+ color: #2d7091;
+}
+.uk-panel-box-primary .uk-panel-title {
+ color: #2d7091;
+}
+/*
+ * Sub-modifier: `uk-panel-box-secondary`
+ */
+.uk-panel-box-secondary {
+ background-color: #ffffff;
+ color: #444444;
+}
+.uk-panel-box-secondary-hover:hover {
+ color: #444444;
+}
+.uk-panel-box-secondary .uk-panel-title {
+ color: #444444;
+}
+/* Modifier: `uk-panel-hover`
+ ========================================================================== */
+.uk-panel-hover {
+ padding: 15px;
+ color: #444444;
+ border: 1px solid transparent;
+ border-radius: 4px;
+}
+.uk-panel-hover:hover {
+ background: #fafafa;
+ color: #444444;
+ border-color: #dddddd;
+}
+.uk-panel-hover .uk-panel-badge {
+ top: 10px;
+ right: 10px;
+}
+.uk-panel-hover .uk-panel-teaser {
+ margin-top: -16px;
+ margin-left: -16px;
+ margin-right: -16px;
+}
+/* Modifier: `uk-panel-header`
+ ========================================================================== */
+.uk-panel-header .uk-panel-title {
+ padding-bottom: 10px;
+ border-bottom: 1px solid #dddddd;
+ color: #444444;
+}
+/* Modifier: `uk-panel-space`
+ ========================================================================== */
+.uk-panel-space {
+ padding: 30px;
+}
+.uk-panel-space .uk-panel-badge {
+ top: 30px;
+ right: 30px;
+}
+/* Modifier: `uk-panel-divider`
+ ========================================================================== */
+.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 #dddddd;
+}
+/* Large screen and bigger */
+@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;
+ overflow: hidden;
+ -webkit-transform: translateZ(0);
+}
+/* ========================================================================
+ Component: Block
+ ========================================================================== */
+.uk-block {
+ position: relative;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ padding-top: 20px;
+ padding-bottom: 20px;
+}
+/* Phone landscape and bigger */
+@media (min-width: 768px) {
+ .uk-block {
+ padding-top: 50px;
+ padding-bottom: 50px;
+ }
+}
+/*
+ * Micro clearfix to make blocks more robust
+ */
+.uk-block:before,
+.uk-block:after {
+ content: "";
+ display: table;
+}
+.uk-block:after {
+ clear: both;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-block > :last-child {
+ margin-bottom: 0;
+}
+/* Padding Modifier
+ ========================================================================== */
+/*
+ * Large padding
+ */
+.uk-block-large {
+ padding-top: 20px;
+ padding-bottom: 20px;
+}
+/* Tablets and bigger */
+@media (min-width: 768px) {
+ .uk-block-large {
+ padding-top: 50px;
+ padding-bottom: 50px;
+ }
+}
+/* Desktop and bigger */
+@media (min-width: 960px) {
+ .uk-block-large {
+ padding-top: 100px;
+ padding-bottom: 100px;
+ }
+}
+/* Color Modifier
+ ========================================================================== */
+/*
+ * Default
+ */
+.uk-block-default {
+ background: #ffffff;
+}
+/*
+ * Muted
+ */
+.uk-block-muted {
+ background: #f9f9f9;
+}
+/*
+ * Primary
+ */
+.uk-block-primary {
+ background: #00a8e6;
+}
+/*
+ * Secondary
+ */
+.uk-block-secondary {
+ background: #222222;
+}
+/*
+ * Adjust padding between equal colored blocks
+ */
+.uk-block-default + .uk-block-default,
+.uk-block-muted + .uk-block-muted,
+.uk-block-primary + .uk-block-primary,
+.uk-block-secondary + .uk-block-secondary {
+ padding-top: 0;
+}
+/* ========================================================================
+ Component: Article
+ ========================================================================== */
+/*
+ * Micro clearfix to make articles more robust
+ */
+.uk-article:before,
+.uk-article:after {
+ content: "";
+ display: table;
+}
+.uk-article:after {
+ clear: both;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-article > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Vertical gutter for articles
+ */
+.uk-article + .uk-article {
+ margin-top: 25px;
+}
+/* Sub-object `uk-article-title`
+ ========================================================================== */
+.uk-article-title {
+ font-size: 36px;
+ line-height: 42px;
+ font-weight: normal;
+ text-transform: none;
+}
+.uk-article-title a {
+ color: inherit;
+ text-decoration: none;
+}
+/* Sub-object `uk-article-meta`
+ ========================================================================== */
+.uk-article-meta {
+ font-size: 12px;
+ line-height: 18px;
+ color: #999999;
+}
+/* Sub-object `uk-article-lead`
+ ========================================================================== */
+.uk-article-lead {
+ color: #444444;
+ font-size: 18px;
+ line-height: 24px;
+ font-weight: normal;
+}
+/* Sub-object `uk-article-divider`
+ ========================================================================== */
+.uk-article-divider {
+ margin-bottom: 25px;
+ border-color: #dddddd;
+}
+* + .uk-article-divider {
+ margin-top: 25px;
+}
+.uk-article + .uk-article {
+ padding-top: 25px;
+ border-top: 1px solid #dddddd;
+}
+/* ========================================================================
+ Component: Comment
+ ========================================================================== */
+/* Sub-object `uk-comment-header`
+ ========================================================================== */
+.uk-comment-header {
+ margin-bottom: 15px;
+ padding: 10px;
+ border: 1px solid #dddddd;
+ border-radius: 4px;
+ background: #fafafa;
+}
+/*
+ * Micro clearfix
+ */
+.uk-comment-header:before,
+.uk-comment-header:after {
+ content: "";
+ display: table;
+}
+.uk-comment-header:after {
+ clear: both;
+}
+/* Sub-object `uk-comment-avatar`
+ ========================================================================== */
+.uk-comment-avatar {
+ margin-right: 15px;
+ float: left;
+}
+/* Sub-object `uk-comment-title`
+ ========================================================================== */
+.uk-comment-title {
+ margin: 5px 0 0 0;
+ font-size: 16px;
+ line-height: 22px;
+}
+/* Sub-object `uk-comment-meta`
+ ========================================================================== */
+.uk-comment-meta {
+ margin: 2px 0 0 0;
+ font-size: 11px;
+ line-height: 16px;
+ color: #999999;
+}
+/* Sub-object `uk-comment-body`
+ ========================================================================== */
+.uk-comment-body {
+ padding-left: 10px;
+ padding-right: 10px;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-comment-body > :last-child {
+ margin-bottom: 0;
+}
+/* Sub-object `uk-comment-list`
+ ========================================================================== */
+.uk-comment-list {
+ padding: 0;
+ list-style: none;
+}
+.uk-comment-list .uk-comment + ul {
+ margin: 25px 0 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;
+}
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ .uk-comment-list .uk-comment + ul {
+ padding-left: 100px;
+ }
+}
+/* Modifier `uk-comment-primary`
+ ========================================================================== */
+.uk-comment-primary .uk-comment-header {
+ border-color: rgba(45, 112, 145, 0.3);
+ background-color: #ebf7fd;
+ color: #2d7091;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/* ========================================================================
+ Component: Cover
+ ========================================================================== */
+/*
+ * Background image always covers and centers its element
+ */
+.uk-cover-background {
+ background-position: 50% 50%;
+ background-size: cover;
+ background-repeat: no-repeat;
+}
+/*
+ * Emulates image cover, works with video and image elements
+ * 1. Parent container which clips resized object
+ * 2. Resizes the object to always covers its container
+ * 3. Reset the responsive image CSS
+ * 4. Center object
+ */
+/* 1 */
+.uk-cover {
+ overflow: hidden;
+}
+.uk-cover-object {
+ /* 2 */
+ width: auto;
+ height: auto;
+ min-width: 100%;
+ min-height: 100%;
+ /* 3 */
+ max-width: none;
+ /* 4 */
+ position: relative;
+ left: 50%;
+ top: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+}
+/*
+ * To center iframes use `data-uk-cover` JavaScript
+ */
+[data-uk-cover] {
+ position: relative;
+ left: 50%;
+ top: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+}
+/* ========================================================================
+ Component: Nav
+ ========================================================================== */
+.uk-nav,
+.uk-nav ul {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+/*
+ * Items
+ */
+.uk-nav li > a {
+ display: block;
+ text-decoration: none;
+}
+.uk-nav > li > a {
+ padding: 5px 15px;
+}
+/*
+ * Nested items
+ */
+.uk-nav ul {
+ padding-left: 15px;
+}
+.uk-nav ul a {
+ padding: 2px 0;
+}
+/*
+ * Item subtitle
+ */
+.uk-nav li > a > div {
+ font-size: 12px;
+ line-height: 18px;
+}
+/* Sub-object: `uk-nav-header`
+ ========================================================================== */
+.uk-nav-header {
+ padding: 5px 15px;
+ text-transform: uppercase;
+ font-weight: bold;
+ font-size: 12px;
+}
+.uk-nav-header:not(:first-child) {
+ margin-top: 15px;
+}
+/* Sub-object: `uk-nav-divider`
+ ========================================================================== */
+.uk-nav-divider {
+ margin: 9px 15px;
+}
+/* Sub-object: `uk-nav-sub`
+ ========================================================================== */
+/*
+ * `ul` needed for higher specificity to override padding
+ */
+ul.uk-nav-sub {
+ padding: 5px 0 5px 15px;
+}
+/* Modifier: `uk-nav-parent-icon`
+ ========================================================================== */
+.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";
+}
+/* Modifier `uk-nav-side`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-side > li > a {
+ color: #444444;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-nav-side > li > a:hover,
+.uk-nav-side > li > a:focus {
+ background: rgba(0, 0, 0, 0.03);
+ color: #444444;
+ /* 2 */
+ outline: none;
+ box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.1);
+ text-shadow: 0 -1px 0 #ffffff;
+}
+/* Active */
+.uk-nav-side > li.uk-active > a {
+ background: #009dd8;
+ color: #ffffff;
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-side .uk-nav-header {
+ color: #444444;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-side .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+ box-shadow: 0 1px 0 #ffffff;
+}
+/*
+ * Nested items
+ */
+.uk-nav-side ul a {
+ color: #0077dd;
+}
+.uk-nav-side ul a:hover {
+ color: #005599;
+}
+/* Modifier `uk-nav-dropdown`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-dropdown > li > a {
+ color: #444444;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-nav-dropdown > li > a:hover,
+.uk-nav-dropdown > li > a:focus {
+ background: #009dd8;
+ color: #ffffff;
+ /* 2 */
+ outline: none;
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-dropdown .uk-nav-header {
+ color: #999999;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-dropdown .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+/*
+ * Nested items
+ */
+.uk-nav-dropdown ul a {
+ color: #0077dd;
+}
+.uk-nav-dropdown ul a:hover {
+ color: #005599;
+}
+/* Modifier `uk-nav-navbar`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-navbar > li > a {
+ color: #444444;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-nav-navbar > li > a:hover,
+.uk-nav-navbar > li > a:focus {
+ background: #009dd8;
+ color: #ffffff;
+ /* 2 */
+ outline: none;
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-navbar .uk-nav-header {
+ color: #999999;
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-navbar .uk-nav-divider {
+ border-top: 1px solid #dddddd;
+}
+/*
+ * Nested items
+ */
+.uk-nav-navbar ul a {
+ color: #0077dd;
+}
+.uk-nav-navbar ul a:hover {
+ color: #005599;
+}
+/* Modifier `uk-nav-offcanvas`
+ ========================================================================== */
+/*
+ * Items
+ */
+.uk-nav-offcanvas > li > a {
+ color: #cccccc;
+ padding: 10px 15px;
+ border-top: 1px solid rgba(0, 0, 0, 0.3);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
+}
+/*
+ * Hover
+ * No hover on touch devices because it behaves buggy in fixed offcanvas
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.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: #ffffff;
+ /* 2 */
+ outline: none;
+}
+/*
+ * Active
+ * `html .uk-nav` needed for higher specificity to override hover
+ */
+html .uk-nav.uk-nav-offcanvas > li.uk-active > a {
+ background: #1a1a1a;
+ color: #ffffff;
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
+}
+/*
+ * Sub-object: `uk-nav-header`
+ */
+.uk-nav-offcanvas .uk-nav-header {
+ color: #777777;
+ margin-top: 0;
+ border-top: 1px solid rgba(0, 0, 0, 0.3);
+ background: #404040;
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
+}
+/*
+ * Sub-object: `uk-nav-divider`
+ */
+.uk-nav-offcanvas .uk-nav-divider {
+ border-top: 1px solid rgba(255, 255, 255, 0.01);
+ margin: 0;
+ height: 4px;
+ background: rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);
+}
+/*
+ * Nested items
+ * No hover on touch devices because it behaves buggy in fixed offcanvas
+ */
+.uk-nav-offcanvas ul a {
+ color: #cccccc;
+}
+html:not(.uk-touch) .uk-nav-offcanvas ul a:hover {
+ color: #ffffff;
+}
+/*
+ * Modifier `uk-nav-offcanvas`
+ */
+.uk-nav-offcanvas {
+ border-bottom: 1px solid rgba(0, 0, 0, 0.3);
+ box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
+}
+/*
+ * Sub-object: `uk-nav-sub`
+ */
+.uk-nav-offcanvas .uk-nav-sub {
+ border-top: 1px solid rgba(0, 0, 0, 0.3);
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
+}
+/* ========================================================================
+ Component: Navbar
+ ========================================================================== */
+.uk-navbar {
+ background: #f7f7f7;
+ color: #444444;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ border-bottom-color: rgba(0, 0, 0, 0.3);
+ border-radius: 4px;
+ background-origin: border-box;
+ background-image: -webkit-linear-gradient(top, #ffffff, #eeeeee);
+ background-image: linear-gradient(to bottom, #ffffff, #eeeeee);
+}
+/*
+ * Micro clearfix
+ */
+.uk-navbar:before,
+.uk-navbar:after {
+ content: "";
+ display: table;
+}
+.uk-navbar:after {
+ clear: both;
+}
+/* Sub-object: `uk-navbar-nav`
+ ========================================================================== */
+.uk-navbar-nav {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ float: left;
+}
+/*
+ * 1. Create position context for dropdowns
+ */
+.uk-navbar-nav > li {
+ float: left;
+ /* 1 */
+ position: relative;
+}
+/*
+ * 1. Dimensions
+ * 2. Style
+ */
+.uk-navbar-nav > li > a {
+ display: block;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ text-decoration: none;
+ /* 1 */
+ height: 41px;
+ padding: 0 15px;
+ line-height: 40px;
+ /* 2 */
+ color: #444444;
+ font-size: 14px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-weight: normal;
+ margin-top: -1px;
+ margin-left: -1px;
+ border: 1px solid transparent;
+ border-bottom-width: 0;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/* Appear not as link */
+.uk-navbar-nav > li > a[href='#'] {
+ cursor: text;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Also apply if dropdown is opened
+ * 3. Remove default focus style
+ */
+.uk-navbar-nav > li:hover > a,
+.uk-navbar-nav > li > a:focus,
+.uk-navbar-nav > li.uk-open > a {
+ background-color: transparent;
+ color: #444444;
+ /* 3 */
+ outline: none;
+ position: relative;
+ z-index: 1;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.1);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
+}
+/* OnClick */
+.uk-navbar-nav > li > a:active {
+ background-color: #f5f5f5;
+ color: #444444;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
+}
+/* Active */
+.uk-navbar-nav > li.uk-active > a {
+ background-color: #fafafa;
+ color: #444444;
+ border-left-color: rgba(0, 0, 0, 0.1);
+ border-right-color: rgba(0, 0, 0, 0.1);
+ border-top-color: rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
+}
+/* Sub-objects: `uk-navbar-nav-subtitle`
+ ========================================================================== */
+.uk-navbar-nav .uk-navbar-nav-subtitle {
+ line-height: 28px;
+}
+.uk-navbar-nav-subtitle > div {
+ margin-top: -6px;
+ font-size: 10px;
+ line-height: 12px;
+}
+/* Sub-objects: `uk-navbar-content`, `uk-navbar-brand`, `uk-navbar-toggle`
+ ========================================================================== */
+/*
+ * Imitate navbar items
+ */
+.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 #ffffff;
+}
+/*
+ * Helper to center all child elements vertically
+ */
+.uk-navbar-content:before,
+.uk-navbar-brand:before,
+.uk-navbar-toggle:before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+}
+/* Sub-objects: `uk-navbar-content`
+ ========================================================================== */
+/*
+ * Better sibling spacing
+ */
+.uk-navbar-content + .uk-navbar-content:not(.uk-navbar-center) {
+ padding-left: 0;
+}
+/*
+ * Link colors
+ */
+.uk-navbar-content > a:not([class]) {
+ color: #0077dd;
+}
+.uk-navbar-content > a:not([class]):hover {
+ color: #005599;
+}
+/* Sub-objects: `uk-navbar-brand`
+ ========================================================================== */
+.uk-navbar-brand {
+ font-size: 18px;
+ color: #444444;
+ text-decoration: none;
+}
+/*
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-navbar-brand:hover,
+.uk-navbar-brand:focus {
+ color: #444444;
+ text-decoration: none;
+ /* 2 */
+ outline: none;
+}
+/* Sub-object: `uk-navbar-toggle`
+ ========================================================================== */
+.uk-navbar-toggle {
+ font-size: 18px;
+ color: #444444;
+ text-decoration: none;
+}
+/*
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-navbar-toggle:hover,
+.uk-navbar-toggle:focus {
+ color: #444444;
+ text-decoration: none;
+ /* 2 */
+ outline: none;
+}
+/*
+ * 1. Center icon vertically
+ */
+.uk-navbar-toggle:after {
+ content: "\f0c9";
+ font-family: FontAwesome;
+ /* 1 */
+ vertical-align: middle;
+}
+.uk-navbar-toggle-alt:after {
+ content: "\f002";
+}
+/* Sub-object: `uk-navbar-center`
+ ========================================================================== */
+/*
+ * The element with this class needs to be last child in the navbar
+ * 1. This hack is needed because other float elements shift centered text
+ */
+.uk-navbar-center {
+ float: none;
+ text-align: center;
+ /* 1 */
+ max-width: 50%;
+ margin-left: auto;
+ margin-right: auto;
+}
+/* Sub-object: `uk-navbar-flip`
+ ========================================================================== */
+.uk-navbar-flip {
+ float: right;
+}
+/*
+ * Apply same `border-radius` as `uk-navbar`
+ */
+.uk-navbar-nav:first-child > li:first-child > a {
+ border-top-left-radius: 4px;
+ border-bottom-left-radius: 4px;
+}
+/*
+ * Sub-modifier `uk-navbar-flip`
+ */
+/* Collapse border */
+.uk-navbar-flip .uk-navbar-nav > li > a {
+ margin-left: 0;
+ margin-right: -1px;
+}
+/* Apply same `border-radius` as `uk-navbar` */
+.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;
+}
+/*
+ * Sub-modifier `uk-navbar-attached`
+ */
+.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;
+}
+/* ========================================================================
+ Component: Subnav
+ ========================================================================== */
+/*
+ * 1. Gutter
+ * 2. Remove default list style
+ */
+.uk-subnav {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /* 1 */
+ margin-left: -10px;
+ margin-top: -10px;
+ /* 2 */
+ padding: 0;
+ list-style: none;
+}
+/*
+ * 1. Space is allocated solely based on content dimensions
+ * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
+ * 3. Create position context for dropdowns
+ */
+.uk-subnav > * {
+ /* 1 */
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ /* 2 */
+ padding-left: 10px;
+ margin-top: 10px;
+ /* 3 */
+ position: relative;
+}
+/*
+ * DEPRECATED IE9 Support
+ */
+.uk-subnav:before,
+.uk-subnav:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-subnav:after {
+ clear: both;
+}
+.uk-subnav > * {
+ float: left;
+}
+/* Items
+ ========================================================================== */
+.uk-subnav > * > * {
+ display: inline-block;
+ color: #444444;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ */
+.uk-subnav > * > :hover,
+.uk-subnav > * > :focus {
+ color: #0077dd;
+ text-decoration: none;
+}
+/*
+ * Active
+ */
+.uk-subnav > .uk-active > * {
+ color: #0077dd;
+}
+/* Modifier: 'subnav-line'
+ ========================================================================== */
+.uk-subnav-line > :before {
+ content: "";
+ display: inline-block;
+ height: 10px;
+ vertical-align: middle;
+}
+.uk-subnav-line > :nth-child(n+2):before {
+ margin-right: 10px;
+ border-left: 1px solid #dddddd;
+}
+/* Modifier: 'subnav-pill'
+ ========================================================================== */
+.uk-subnav-pill > * > * {
+ padding: 3px 9px;
+ border-radius: 4px;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-subnav-pill > * > :hover,
+.uk-subnav-pill > * > :focus {
+ background: #fafafa;
+ color: #444444;
+ text-decoration: none;
+ /* 2 */
+ outline: none;
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
+}
+/*
+ * Active
+ * `li` needed for higher specificity to override hover
+ */
+.uk-subnav-pill > .uk-active > * {
+ background: #009dd8;
+ color: #ffffff;
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
+}
+/* Disabled state
+ ========================================================================== */
+.uk-subnav > .uk-disabled > * {
+ background: none;
+ color: #999999;
+ text-decoration: none;
+ cursor: text;
+ box-shadow: none;
+}
+/* ========================================================================
+ Component: Breadcrumb
+ ========================================================================== */
+/*
+ * 1. Remove default list style
+ * 2. Remove whitespace between child elements when using `inline-block`
+ */
+.uk-breadcrumb {
+ /* 1 */
+ padding: 0;
+ list-style: none;
+ /* 2 */
+ font-size: 0.001px;
+}
+/* Items
+ ========================================================================== */
+/*
+ * Reset whitespace hack
+ */
+.uk-breadcrumb > li {
+ font-size: 1rem;
+ 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;
+}
+/*
+ * Disabled
+ */
+.uk-breadcrumb > li:not(.uk-active) > span {
+ color: #999999;
+}
+/* ========================================================================
+ Component: Pagination
+ ========================================================================== */
+/*
+ * 1. Remove default list style
+ * 2. Center pagination by default
+ * 3. Remove whitespace between child elements when using `inline-block`
+ */
+.uk-pagination {
+ /* 1 */
+ padding: 0;
+ list-style: none;
+ /* 2 */
+ text-align: center;
+ /* 3 */
+ font-size: 0.001px;
+}
+/*
+ * Micro clearfix
+ * Needed if `uk-pagination-previous` or `uk-pagination-next` sub-objects are used
+ */
+.uk-pagination:before,
+.uk-pagination:after {
+ content: "";
+ display: table;
+}
+.uk-pagination:after {
+ clear: both;
+}
+/* Items
+ ========================================================================== */
+/*
+ * 1. Reset whitespace hack
+ * 2. Remove the gap at the bottom of it container
+ */
+.uk-pagination > li {
+ display: inline-block;
+ /* 1 */
+ font-size: 1rem;
+ /* 2 */
+ vertical-align: top;
+}
+.uk-pagination > li:nth-child(n+2) {
+ margin-left: 5px;
+}
+/*
+ * 1. Makes pagination more robust against different box-sizing use
+ * 2. Reset text-align to center if alignment modifier is used
+ */
+.uk-pagination > li > a,
+.uk-pagination > li > span {
+ display: inline-block;
+ min-width: 16px;
+ padding: 3px 5px;
+ line-height: 20px;
+ text-decoration: none;
+ /* 1 */
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ /* 2 */
+ text-align: center;
+ border-radius: 4px;
+}
+/*
+ * Links
+ */
+.uk-pagination > li > a {
+ background: #f7f7f7;
+ color: #444444;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-bottom-color: rgba(0, 0, 0, 0.3);
+ background-origin: border-box;
+ background-image: -webkit-linear-gradient(top, #ffffff, #eeeeee);
+ background-image: linear-gradient(to bottom, #ffffff, #eeeeee);
+ text-shadow: 0 1px 0 #ffffff;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-pagination > li > a:hover,
+.uk-pagination > li > a:focus {
+ background-color: #fafafa;
+ color: #444444;
+ /* 2 */
+ outline: none;
+ background-image: none;
+}
+/* OnClick */
+.uk-pagination > li > a:active {
+ background-color: #f5f5f5;
+ color: #444444;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-top-color: rgba(0, 0, 0, 0.3);
+ background-image: none;
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
+}
+/*
+ * Active
+ */
+.uk-pagination > .uk-active > span {
+ background: #009dd8;
+ color: #ffffff;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-bottom-color: rgba(0, 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, 0.2);
+}
+/*
+ * Disabled
+ */
+.uk-pagination > .uk-disabled > span {
+ background-color: #fafafa;
+ color: #999999;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ text-shadow: 0 1px 0 #ffffff;
+}
+/* Previous and next navigation
+ ========================================================================== */
+.uk-pagination-previous {
+ float: left;
+}
+.uk-pagination-next {
+ float: right;
+}
+/* Alignment modifiers
+ ========================================================================== */
+.uk-pagination-left {
+ text-align: left;
+}
+.uk-pagination-right {
+ text-align: right;
+}
+/* ========================================================================
+ Component: Tab
+ ========================================================================== */
+.uk-tab {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ border-bottom: 1px solid #dddddd;
+}
+/*
+ * Micro clearfix on the deepest container
+ */
+.uk-tab:before,
+.uk-tab:after {
+ content: "";
+ display: table;
+}
+.uk-tab:after {
+ clear: both;
+}
+/*
+ * Items
+ * 1. Create position context for dropdowns
+ */
+.uk-tab > li {
+ margin-bottom: -1px;
+ float: left;
+ /* 1 */
+ position: relative;
+}
+.uk-tab > li > a {
+ display: block;
+ padding: 8px 12px 8px 12px;
+ border: 1px solid transparent;
+ border-bottom-width: 0;
+ color: #0077dd;
+ text-decoration: none;
+ border-radius: 4px 4px 0 0;
+ text-shadow: 0 1px 0 #ffffff;
+}
+.uk-tab > li:nth-child(n+2) > a {
+ margin-left: 5px;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Also apply if dropdown is opened
+ * 3. Remove default focus style
+ */
+.uk-tab > li > a:hover,
+.uk-tab > li > a:focus,
+.uk-tab > li.uk-open > a {
+ border-color: #dddddd;
+ background: #fafafa;
+ color: #005599;
+ /* 2 */
+ 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;
+}
+/* Active */
+.uk-tab > li.uk-active > a {
+ border-color: #dddddd;
+ border-bottom-color: transparent;
+ background: #ffffff;
+ color: #444444;
+}
+/* Disabled */
+.uk-tab > li.uk-disabled > a {
+ color: #999999;
+ cursor: text;
+}
+.uk-tab > li.uk-disabled > a:hover,
+.uk-tab > li.uk-disabled > a:focus,
+.uk-tab > li.uk-disabled.uk-active > a {
+ background: none;
+ border-color: transparent;
+}
+/* Modifier: 'tab-flip'
+ ========================================================================== */
+.uk-tab-flip > li {
+ float: right;
+}
+.uk-tab-flip > li:nth-child(n+2) > a {
+ margin-left: 0;
+ margin-right: 5px;
+}
+/* Modifier: 'tab-responsive'
+ ========================================================================== */
+.uk-tab > li.uk-tab-responsive > a {
+ margin-left: 0;
+ margin-right: 0;
+}
+/*
+ * Icon
+ */
+.uk-tab-responsive > a:before {
+ content: "\f0c9\00a0";
+ font-family: FontAwesome;
+}
+/* Modifier: 'tab-center'
+ ========================================================================== */
+.uk-tab-center {
+ border-bottom: 1px solid #dddddd;
+}
+.uk-tab-center-bottom {
+ border-bottom: none;
+ border-top: 1px solid #dddddd;
+}
+.uk-tab-center:before,
+.uk-tab-center:after {
+ content: "";
+ display: table;
+}
+.uk-tab-center:after {
+ clear: both;
+}
+/*
+ * 1. Using `right` to prevent vertical scrollbar caused by centering if to many tabs
+ */
+.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;
+}
+/* Modifier: 'tab-bottom'
+ ========================================================================== */
+.uk-tab-bottom {
+ border-top: 1px solid #dddddd;
+ 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: #dddddd;
+}
+/* Modifier: 'tab-grid'
+ ========================================================================== */
+/*
+ * 1. Create position context to prevent hidden border because of negative `z-index`
+ */
+.uk-tab-grid {
+ margin-left: -5px;
+ border-bottom: none;
+ /* 1 */
+ position: relative;
+ z-index: 0;
+}
+.uk-tab-grid:before {
+ display: block;
+ position: absolute;
+ left: 5px;
+ right: 0;
+ bottom: -1px;
+ border-top: 1px solid #dddddd;
+ /* 1 */
+ z-index: -1;
+}
+.uk-tab-grid > li:first-child > a {
+ margin-left: 5px;
+}
+.uk-tab-grid > li > a {
+ text-align: center;
+}
+/*
+ * If `uk-tab-bottom`
+ */
+.uk-tab-grid.uk-tab-bottom {
+ border-top: none;
+}
+.uk-tab-grid.uk-tab-bottom:before {
+ top: -1px;
+ bottom: auto;
+}
+/* Modifier: 'tab-left', 'tab-right'
+ ========================================================================== */
+/* Tablet and bigger */
+@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: #dddddd;
+ }
+ /*
+ * Modifier: 'tab-left'
+ */
+ .uk-tab-left {
+ border-right: 1px solid #dddddd;
+ }
+ .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;
+ }
+ /*
+ * Modifier: 'tab-right'
+ */
+ .uk-tab-right {
+ border-left: 1px solid #dddddd;
+ }
+ .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;
+ }
+}
+/* Modifier: `uk-tab-bottom'
+ ========================================================================== */
+.uk-tab-bottom > li > a {
+ border-radius: 0 0 4px 4px;
+}
+/* Modifier: `uk-tab-left', `uk-tab-right'
+ ========================================================================== */
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ /*
+ * Modifier: `uk-tab-left'
+ */
+ .uk-tab-left > li > a {
+ border-radius: 4px 0 0 4px;
+ }
+ /*
+ * Modifier: `uk-tab-right'
+ */
+ .uk-tab-right > li > a {
+ border-radius: 0 4px 4px 0;
+ }
+}
+/* ========================================================================
+ Component: Thumbnav
+ ========================================================================== */
+/*
+ * 1. Gutter
+ * 2. Remove default list style
+ */
+.uk-thumbnav {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /* 1 */
+ margin-left: -10px;
+ margin-top: -10px;
+ /* 2 */
+ padding: 0;
+ list-style: none;
+}
+/*
+ * 1. Space is allocated solely based on content dimensions
+ * 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
+ */
+.uk-thumbnav > * {
+ /* 1 */
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+ /* 2 */
+ padding-left: 10px;
+ margin-top: 10px;
+}
+/*
+ * DEPRECATED IE9 Support
+ */
+.uk-thumbnav:before,
+.uk-thumbnav:after {
+ content: "";
+ display: block;
+ overflow: hidden;
+}
+.uk-thumbnav:after {
+ clear: both;
+}
+.uk-thumbnav > * {
+ float: left;
+}
+/* Items
+ ========================================================================== */
+.uk-thumbnav > * > * {
+ display: block;
+ background: #ffffff;
+}
+.uk-thumbnav > * > * > img {
+ opacity: 0.7;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+}
+/*
+ * Hover
+ */
+.uk-thumbnav > * > :hover > img,
+.uk-thumbnav > * > :focus > img {
+ opacity: 1;
+}
+/*
+ * Active
+ */
+.uk-thumbnav > .uk-active > * > img {
+ opacity: 1;
+}
+/* ========================================================================
+ Component: List
+ ========================================================================== */
+.uk-list {
+ padding: 0;
+ list-style: none;
+}
+/*
+ * Micro clearfix to make list more robust
+ */
+.uk-list > li:before,
+.uk-list > li:after {
+ content: "";
+ display: table;
+}
+.uk-list > li:after {
+ clear: both;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-list > li > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Nested lists
+ */
+.uk-list ul {
+ margin: 0;
+ padding-left: 20px;
+ list-style: none;
+}
+/* Modifier: `uk-list-line`
+ ========================================================================== */
+.uk-list-line > li:nth-child(n+2) {
+ margin-top: 5px;
+ padding-top: 5px;
+ border-top: 1px solid #dddddd;
+}
+/* Modifier: `uk-list-striped`
+ ========================================================================== */
+.uk-list-striped > li {
+ padding: 5px 5px;
+ border-bottom: 1px solid #dddddd;
+}
+.uk-list-striped > li:nth-of-type(odd) {
+ background: #fafafa;
+}
+/* Modifier: `uk-list-space`
+ ========================================================================== */
+.uk-list-space > li:nth-child(n+2) {
+ margin-top: 10px;
+}
+.uk-list-striped > li:first-child {
+ border-top: 1px solid #dddddd;
+}
+/* ========================================================================
+ Component: Description list
+ ========================================================================== */
+/* Modifier: `uk-description-list-horizontal`
+ ========================================================================== */
+/* Tablet and bigger */
+@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;
+ }
+}
+/* Modifier: `uk-description-list-line`
+ ========================================================================== */
+.uk-description-list-line > dt {
+ font-weight: normal;
+}
+.uk-description-list-line > dt:nth-child(n+2) {
+ margin-top: 5px;
+ padding-top: 5px;
+ border-top: 1px solid #dddddd;
+}
+.uk-description-list-line > dd {
+ color: #999999;
+}
+/* ========================================================================
+ Component: Table
+ ========================================================================== */
+/*
+ * 1. Remove most spacing between table cells.
+ * 2. Block element behavior
+ * 3. Style
+ */
+.uk-table {
+ /* 1 */
+ border-collapse: collapse;
+ border-spacing: 0;
+ /* 2 */
+ width: 100%;
+ /* 3 */
+ margin-bottom: 15px;
+}
+/*
+ * Add margin if adjacent element
+ */
+* + .uk-table {
+ margin-top: 15px;
+}
+.uk-table th,
+.uk-table td {
+ padding: 8px 8px;
+ border-bottom: 1px solid #dddddd;
+}
+/*
+ * Set alignment
+ */
+.uk-table th {
+ text-align: left;
+}
+.uk-table td {
+ vertical-align: top;
+}
+.uk-table thead th {
+ vertical-align: bottom;
+}
+/*
+ * Caption and footer
+ */
+.uk-table caption,
+.uk-table tfoot {
+ font-size: 12px;
+ font-style: italic;
+}
+.uk-table caption {
+ text-align: left;
+ color: #999999;
+}
+/*
+ * Active State
+ */
+.uk-table tbody tr.uk-active {
+ background: #f0f0f0;
+}
+/* Sub-modifier: `uk-table-middle`
+ ========================================================================== */
+.uk-table-middle,
+.uk-table-middle td {
+ vertical-align: middle !important;
+}
+/* Modifier: `uk-table-striped`
+ ========================================================================== */
+.uk-table-striped tbody tr:nth-of-type(odd) {
+ background: #fafafa;
+}
+/* Modifier: `uk-table-condensed`
+ ========================================================================== */
+.uk-table-condensed td {
+ padding: 4px 8px;
+}
+/* Modifier: `uk-table-hover`
+ ========================================================================== */
+.uk-table-hover tbody tr:hover {
+ background: #f0f0f0;
+}
+/* ========================================================================
+ Component: Form
+ ========================================================================== */
+/*
+ * 1. Define consistent box sizing.
+ * Default is `content-box` with following exceptions set to `border-box`
+ * `button`, `select`, `input[type="checkbox"]` and `input[type="radio"]`
+ * `input[type="search"]` in Chrome, Safari and Opera
+ * `input[type="color"]` in Firefox
+ * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
+ * 3. Remove `border-radius` in iOS.
+ * 4. Correct `font` properties and `color` not being inherited.
+ */
+.uk-form input,
+.uk-form select,
+.uk-form textarea {
+ /* 1 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 2 */
+ margin: 0;
+ /* 3 */
+ border-radius: 0;
+ /* 4 */
+ font: inherit;
+ color: inherit;
+}
+/*
+ * Address inconsistent `text-transform` inheritance which is only inherit in Firefox
+ */
+.uk-form select {
+ text-transform: none;
+}
+/*
+ * 1. Correct `font` properties not being inherited.
+ * 2. Don't inherit the `font-weight` and use `bold` instead.
+ * NOTE: Both declarations don't work in Chrome, Safari and Opera.
+ */
+.uk-form optgroup {
+ /* 1 */
+ font: inherit;
+ /* 2 */
+ font-weight: bold;
+}
+/*
+ * Removes inner padding and border in Firefox 4+.
+ */
+.uk-form input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+/*
+ * Removes excess padding in IE 8/9/10.
+ */
+.uk-form input[type="checkbox"],
+.uk-form input[type="radio"] {
+ padding: 0;
+}
+/*
+ * Improves consistency of cursor style for clickable elements
+ */
+.uk-form input[type="checkbox"]:not(:disabled),
+.uk-form input[type="radio"]:not(:disabled) {
+ cursor: pointer;
+}
+/*
+ * Remove default style in iOS.
+ */
+.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;
+}
+/*
+ * Remove inner padding and search cancel button in Chrome, Safari and Opera on OS X.
+ */
+.uk-form input[type="search"]::-webkit-search-cancel-button,
+.uk-form input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+/*
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+.uk-form input[type="number"]::-webkit-inner-spin-button,
+.uk-form input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+/*
+ * Define consistent border, margin, and padding.
+ */
+.uk-form fieldset {
+ border: none;
+ margin: 0;
+ padding: 0;
+}
+/*
+ * 1. Remove default vertical scrollbar in IE 8/9/10/11.
+ * 2. Improve readability and alignment in all browsers.
+ */
+.uk-form textarea {
+ /* 1 */
+ overflow: auto;
+ /* 2 */
+ vertical-align: top;
+}
+/*
+ * Removes placeholder transparency in Firefox.
+ */
+.uk-form ::-moz-placeholder {
+ opacity: 1;
+}
+/*
+ * Removes `box-shadow` for invalid controls in Firefox.
+ */
+.uk-form :invalid {
+ box-shadow: none;
+}
+/*
+ * Vertical alignment
+ */
+.uk-form input:not([type="radio"]):not([type="checkbox"]),
+.uk-form select {
+ vertical-align: middle;
+}
+/* Style
+ ========================================================================== */
+/*
+ * Remove margin from the last-child
+ */
+.uk-form > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Controls
+ * Except for `range`, `radio`, `checkbox`, `file`, `submit`, `reset`, `button` and `image`
+ * 1. Must be `height` because `min-height` is not working in OSX
+ * 2. Responsiveness: Sets a maximum width relative to the parent to scale on narrower viewports
+ * 3. Vertical `padding` needed for `select` elements in Firefox
+ * 4. Style
+ */
+.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"] {
+ /* 1 */
+ height: 30px;
+ /* 2 */
+ max-width: 100%;
+ /* 3 */
+ padding: 4px 6px;
+ /* 4 */
+ border: 1px solid #dddddd;
+ background: #ffffff;
+ color: #444444;
+ -webkit-transition: all linear 0.2s;
+ transition: all linear 0.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: #444444;
+}
+.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: #dddddd;
+ background-color: #fafafa;
+ color: #999999;
+}
+/*
+ * Placeholder
+ */
+.uk-form :-ms-input-placeholder {
+ color: #999999 !important;
+}
+.uk-form ::-moz-placeholder {
+ color: #999999;
+}
+.uk-form ::-webkit-input-placeholder {
+ color: #999999;
+}
+.uk-form :disabled:-ms-input-placeholder {
+ color: #999999 !important;
+}
+.uk-form :disabled::-moz-placeholder {
+ color: #999999;
+}
+.uk-form :disabled::-webkit-input-placeholder {
+ color: #999999;
+}
+/*
+ * Legend
+ * 1. Behave like block element
+ * 2. Correct `color` not being inherited in IE 8/9/10/11.
+ * 3. Remove padding
+ * 4. `margin-bottom` is not working in Safari and Opera.
+ * Using `padding` and :after instead to create the border
+ * 5. Style
+ */
+.uk-form legend {
+ /* 1 */
+ width: 100%;
+ /* 2 */
+ border: 0;
+ /* 3 */
+ padding: 0;
+ /* 4 */
+ padding-bottom: 15px;
+ /* 5 */
+ font-size: 18px;
+ line-height: 30px;
+}
+/*
+ * 1. Fixes IE9
+ */
+.uk-form legend:after {
+ content: "";
+ display: block;
+ border-bottom: 1px solid #dddddd;
+ /* 1 */
+ width: 100%;
+}
+/* Size modifiers
+ * Higher specificity needed to override defaults
+ ========================================================================== */
+select.uk-form-small,
+textarea.uk-form-small,
+input[type].uk-form-small,
+input:not([type]).uk-form-small {
+ height: 25px;
+ padding: 3px 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;
+}
+/* Reset height
+ * Must be after size modifiers
+ ========================================================================== */
+.uk-form textarea,
+.uk-form select[multiple],
+.uk-form select[size] {
+ height: auto;
+}
+/* Validation states
+ * Using !important to keep the selector simple
+ ========================================================================== */
+/*
+ * Error state
+ */
+.uk-form-danger {
+ border-color: #dc8d99 !important;
+ background: #fff7f8 !important;
+ color: #d85030 !important;
+}
+/*
+ * Success state
+ */
+.uk-form-success {
+ border-color: #8ec73b !important;
+ background: #fafff2 !important;
+ color: #659f13 !important;
+}
+/* Style modifiers
+ * Using !important to keep the selector simple
+ ========================================================================== */
+/*
+ * Blank form
+ */
+.uk-form-blank {
+ border-color: transparent !important;
+ border-style: dashed !important;
+ background: none !important;
+}
+.uk-form-blank:focus {
+ border-color: #dddddd !important;
+}
+/* Size sub-modifiers
+ ========================================================================== */
+/*
+ * Fixed widths
+ * Different widths for mini sized `input` and `select` elements
+ */
+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;
+}
+/* Sub-objects: `uk-form-row`
+ * Groups labels and controls in rows
+ ========================================================================== */
+/*
+ * Micro clearfix
+ * Needed for `uk-form-horizontal` modifier
+ */
+.uk-form-row:before,
+.uk-form-row:after {
+ content: "";
+ display: table;
+}
+.uk-form-row:after {
+ clear: both;
+}
+/*
+ * Vertical gutter
+ */
+.uk-form-row + .uk-form-row {
+ margin-top: 15px;
+}
+/* Help text
+ * Sub-object: `uk-form-help-inline`, `uk-form-help-block`
+ ========================================================================== */
+.uk-form-help-inline {
+ display: inline-block;
+ margin: 0 0 0 10px;
+}
+.uk-form-help-block {
+ margin: 5px 0 0 0;
+}
+/* Controls content
+ * Sub-object: `uk-form-controls`, `uk-form-controls-condensed`
+ ========================================================================== */
+/*
+ * Remove margins
+ */
+.uk-form-controls > :first-child {
+ margin-top: 0;
+}
+.uk-form-controls > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Group controls and text into blocks with a small spacing between blocks
+ */
+.uk-form-controls-condensed {
+ margin: 5px 0;
+}
+/* Modifier: `uk-form-stacked`
+ * Requires sub-object: `uk-form-label`
+ ========================================================================== */
+.uk-form-stacked .uk-form-label {
+ display: block;
+ margin-bottom: 5px;
+ font-weight: bold;
+}
+/* Modifier: `uk-form-horizontal`
+ * Requires sub-objects: `uk-form-label`, `uk-form-controls`
+ ========================================================================== */
+/* Tablet portrait and smaller */
+@media (max-width: 959px) {
+ /* Behave like `uk-form-stacked` */
+ .uk-form-horizontal .uk-form-label {
+ display: block;
+ margin-bottom: 5px;
+ font-weight: bold;
+ }
+}
+/* Desktop and bigger */
+@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;
+ }
+ /* Better vertical alignment if controls are checkboxes and radio buttons with text */
+ .uk-form-horizontal .uk-form-controls-text {
+ padding-top: 5px;
+ }
+}
+/* Sub-object: `uk-form-icon`
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Create position context
+ * 3. Prevent `inline-block` consequences
+ */
+.uk-form-icon {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ max-width: 100%;
+}
+/*
+ * 1. Make form element clickable through icon
+ */
+.uk-form-icon > [class*='uk-icon-'] {
+ position: absolute;
+ top: 50%;
+ width: 30px;
+ margin-top: -7px;
+ font-size: 14px;
+ color: #999999;
+ text-align: center;
+ /* 1 */
+ pointer-events: none;
+}
+.uk-form-icon:not(.uk-form-icon-flip) > input {
+ padding-left: 30px !important;
+}
+/*
+ * Sub-modifier: `uk-form-icon-flip`
+ */
+.uk-form-icon-flip > [class*='uk-icon-'] {
+ right: 0;
+}
+.uk-form-icon-flip > input {
+ padding-right: 30px !important;
+}
+/* ========================================================================
+ Component: Button
+ ========================================================================== */
+/*
+ * Removes inner padding and border in Firefox 4+.
+ */
+.uk-button::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+/*
+ * 1. Correct inability to style clickable `input` types in iOS.
+ * 2. Remove margins in Chrome, Safari and Opera.
+ * 3. Remove borders for `button`.
+ * 4. Address `overflow` set to `hidden` in IE 8/9/10/11.
+ * 5. Correct `font` properties and `color` not being inherited for `button`.
+ * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE
+ * 7. Style
+ * 8. `line-height` is used to create a height
+ * 9. `min-height` is necessary for `input` elements in Firefox and Opera because `line-height` is not working.
+ * 10. Reset button group whitespace hack
+ * 11. Required for `a`.
+ */
+.uk-button {
+ /* 1 */
+ -webkit-appearance: none;
+ /* 2 */
+ margin: 0;
+ /* 3 */
+ border: none;
+ /* 4 */
+ overflow: visible;
+ /* 5 */
+ font: inherit;
+ color: #444444;
+ /* 6 */
+ text-transform: none;
+ /* 7 */
+ display: inline-block;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0 12px;
+ background: #f7f7f7;
+ vertical-align: middle;
+ /* 8 */
+ line-height: 28px;
+ /* 9 */
+ min-height: 30px;
+ /* 10 */
+ font-size: 1rem;
+ /* 11 */
+ text-decoration: none;
+ text-align: center;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-bottom-color: rgba(0, 0, 0, 0.3);
+ background-origin: border-box;
+ background-image: -webkit-linear-gradient(top, #ffffff, #eeeeee);
+ background-image: linear-gradient(to bottom, #ffffff, #eeeeee);
+ border-radius: 4px;
+ text-shadow: 0 1px 0 #ffffff;
+}
+.uk-button:not(:disabled) {
+ cursor: pointer;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ * 3. Required for `a` elements
+ */
+.uk-button:hover,
+.uk-button:focus {
+ background-color: #fafafa;
+ color: #444444;
+ /* 2 */
+ outline: none;
+ /* 3 */
+ text-decoration: none;
+ background-image: none;
+}
+/* Active */
+.uk-button:active,
+.uk-button.uk-active {
+ background-color: #f5f5f5;
+ color: #444444;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-top-color: rgba(0, 0, 0, 0.3);
+ background-image: none;
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
+}
+/* Color modifiers
+ ========================================================================== */
+/*
+ * Modifier: `uk-button-primary`
+ */
+.uk-button-primary {
+ background-color: #009dd8;
+ color: #ffffff;
+ background-image: -webkit-linear-gradient(top, #00b4f5, #008dc5);
+ background-image: linear-gradient(to bottom, #00b4f5, #008dc5);
+ border-color: rgba(0, 0, 0, 0.2);
+ border-bottom-color: rgba(0, 0, 0, 0.4);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+}
+/* Hover */
+.uk-button-primary:hover,
+.uk-button-primary:focus {
+ background-color: #00aff2;
+ color: #ffffff;
+ background-image: none;
+}
+/* Active */
+.uk-button-primary:active,
+.uk-button-primary.uk-active {
+ background-color: #008abf;
+ color: #ffffff;
+ background-image: none;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-top-color: rgba(0, 0, 0, 0.4);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
+}
+/*
+ * Modifier: `uk-button-success`
+ */
+.uk-button-success {
+ background-color: #82bb42;
+ color: #ffffff;
+ background-image: -webkit-linear-gradient(top, #9fd256, #6fac34);
+ background-image: linear-gradient(to bottom, #9fd256, #6fac34);
+ border-color: rgba(0, 0, 0, 0.2);
+ border-bottom-color: rgba(0, 0, 0, 0.4);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+}
+/* Hover */
+.uk-button-success:hover,
+.uk-button-success:focus {
+ background-color: #8fce48;
+ color: #ffffff;
+ background-image: none;
+}
+/* Active */
+.uk-button-success:active,
+.uk-button-success.uk-active {
+ background-color: #76b430;
+ color: #ffffff;
+ background-image: none;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-top-color: rgba(0, 0, 0, 0.4);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
+}
+/*
+ * Modifier: `uk-button-danger`
+ */
+.uk-button-danger {
+ background-color: #d32c46;
+ color: #ffffff;
+ background-image: -webkit-linear-gradient(top, #ee465a, #c11a39);
+ background-image: linear-gradient(to bottom, #ee465a, #c11a39);
+ border-color: rgba(0, 0, 0, 0.2);
+ border-bottom-color: rgba(0, 0, 0, 0.4);
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+}
+/* Hover */
+.uk-button-danger:hover,
+.uk-button-danger:focus {
+ background-color: #e33551;
+ color: #ffffff;
+ background-image: none;
+}
+/* Active */
+.uk-button-danger:active,
+.uk-button-danger.uk-active {
+ background-color: #c91c37;
+ color: #ffffff;
+ background-image: none;
+ border-color: rgba(0, 0, 0, 0.2);
+ border-top-color: rgba(0, 0, 0, 0.4);
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
+}
+/* Disabled state
+ * Overrides also the color modifiers
+ ========================================================================== */
+/* Equal for all button types */
+.uk-button:disabled {
+ background-color: #fafafa;
+ color: #999999;
+ border-color: rgba(0, 0, 0, 0.2);
+ background-image: none;
+ box-shadow: none;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/* Modifier: `uk-button-link`
+ ========================================================================== */
+/* Reset */
+.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: none;
+ box-shadow: none;
+ text-shadow: none;
+}
+/* Color */
+.uk-button-link {
+ color: #0077dd;
+}
+.uk-button-link:hover,
+.uk-button-link:focus,
+.uk-button-link:active,
+.uk-button-link.uk-active {
+ color: #005599;
+ text-decoration: underline;
+}
+.uk-button-link:disabled {
+ color: #999999;
+}
+/* Focus */
+.uk-button-link:focus {
+ outline: 1px dotted;
+}
+/* Size modifiers
+ ========================================================================== */
+.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;
+}
+/* Sub-object `uk-button-group`
+ ========================================================================== */
+/*
+ * 1. Behave like buttons
+ * 2. Create position context for dropdowns
+ * 3. Remove whitespace between child elements when using `inline-block`
+ * 4. Prevent buttons from wrapping
+ * 5. Remove whitespace between child elements when using `inline-block`
+ */
+.uk-button-group {
+ /* 1 */
+ display: inline-block;
+ vertical-align: middle;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ font-size: 0.001px;
+ /* 4 */
+ white-space: nowrap;
+}
+.uk-button-group > * {
+ display: inline-block;
+}
+/* 5 */
+.uk-button-group .uk-button {
+ vertical-align: top;
+}
+/* Sub-object: `uk-button-dropdown`
+ ========================================================================== */
+/*
+ * 1. Behave like buttons
+ * 2. Create position context for dropdowns
+ */
+.uk-button-dropdown {
+ /* 1 */
+ display: inline-block;
+ vertical-align: middle;
+ /* 2 */
+ position: relative;
+}
+/* Sub-object `uk-button-group`
+ ========================================================================== */
+/*
+ * Reset border-radius
+ */
+.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;
+}
+/*
+ * Collapse border
+ */
+.uk-button-group > .uk-button:nth-child(n+2),
+.uk-button-group > div:nth-child(n+2) .uk-button {
+ margin-left: -1px;
+}
+/*
+ * Create position context to superimpose the successor elements border
+ * Known issue: If you use an `a` element as button and an icon inside,
+ * the active state will not work if you click the icon inside the button
+ * Workaround: Just use a `button` or `input` element as button
+ */
+.uk-button-group .uk-button:active {
+ position: relative;
+}
+/* ========================================================================
+ Component: Icon
+ ========================================================================== */
+@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.woff2") format('woff2'), url("../fonts/fontawesome-webfont.woff") format("woff"), url("../fonts/fontawesome-webfont.ttf") format("truetype");
+ font-weight: normal;
+ font-style: normal;
+}
+/*
+ * 1. Allow margin
+ * 2. Prevent inherit font style
+ * 4. Correct line-height
+ * 5. Better font rendering
+ * 6. Remove `text-decoration` for anchors
+ */
+[class*='uk-icon-'] {
+ font-family: FontAwesome;
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ font-weight: normal;
+ font-style: normal;
+ /* 4 */
+ line-height: 1;
+ /* 5 */
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+/* 6 */
+[class*='uk-icon-'],
+[class*='uk-icon-']:hover,
+[class*='uk-icon-']:focus {
+ text-decoration: none;
+}
+/* Size modifiers
+ ========================================================================== */
+.uk-icon-small {
+ font-size: 150%;
+ vertical-align: -10%;
+}
+.uk-icon-medium {
+ font-size: 200%;
+ vertical-align: -16%;
+}
+.uk-icon-large {
+ font-size: 250%;
+ vertical-align: -22%;
+}
+/* Modifier: `uk-icon-justify`
+ ========================================================================== */
+.uk-icon-justify {
+ width: 1em;
+ text-align: center;
+}
+/* Modifier: `uk-icon-spin`
+ ========================================================================== */
+.uk-icon-spin {
+ display: inline-block;
+ -webkit-animation: uk-rotate 2s infinite linear;
+ animation: uk-rotate 2s infinite linear;
+}
+/* Modifier: `uk-icon-hover`
+ ========================================================================== */
+.uk-icon-hover {
+ color: #999999;
+}
+/*
+ * Hover
+ */
+.uk-icon-hover:hover {
+ color: #444444;
+}
+/* Modifier: `uk-icon-button`
+ ========================================================================== */
+.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: #444444;
+ font-size: 18px;
+ text-align: center;
+ border: 1px solid #cccccc;
+ border-bottom-color: #bbbbbb;
+ background-origin: border-box;
+ background-image: -webkit-linear-gradient(top, #ffffff, #eeeeee);
+ background-image: linear-gradient(to bottom, #ffffff, #eeeeee);
+ text-shadow: 0 1px 0 #ffffff;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ */
+.uk-icon-button:hover,
+.uk-icon-button:focus {
+ background-color: #fafafa;
+ color: #444444;
+ /* 2 */
+ outline: none;
+ background-image: none;
+}
+/* Active */
+.uk-icon-button:active {
+ background-color: #f5f5f5;
+ color: #444444;
+ border-color: #cccccc;
+ border-top-color: #bbbbbb;
+ background-image: none;
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
+}
+/* Icon mapping
+ ========================================================================== */
+.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-f:before,
+.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,
+.uk-icon-gratipay: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-genderless:before,
+.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-icon-buysellads:before {
+ content: "\f20d";
+}
+.uk-icon-connectdevelop:before {
+ content: "\f20e";
+}
+.uk-icon-dashcube:before {
+ content: "\f210";
+}
+.uk-icon-forumbee:before {
+ content: "\f211";
+}
+.uk-icon-leanpub:before {
+ content: "\f212";
+}
+.uk-icon-sellsy:before {
+ content: "\f213";
+}
+.uk-icon-shirtsinbulk:before {
+ content: "\f214";
+}
+.uk-icon-simplybuilt:before {
+ content: "\f215";
+}
+.uk-icon-skyatlas:before {
+ content: "\f216";
+}
+.uk-icon-cart-plus:before {
+ content: "\f217";
+}
+.uk-icon-cart-arrow-down:before {
+ content: "\f218";
+}
+.uk-icon-diamond:before {
+ content: "\f219";
+}
+.uk-icon-ship:before {
+ content: "\f21a";
+}
+.uk-icon-user-secret:before {
+ content: "\f21b";
+}
+.uk-icon-motorcycle:before {
+ content: "\f21c";
+}
+.uk-icon-street-view:before {
+ content: "\f21d";
+}
+.uk-icon-heartbeat:before {
+ content: "\f21e";
+}
+.uk-icon-venus:before {
+ content: "\f221";
+}
+.uk-icon-mars:before {
+ content: "\f222";
+}
+.uk-icon-mercury:before {
+ content: "\f223";
+}
+.uk-icon-transgender:before {
+ content: "\f224";
+}
+.uk-icon-transgender-alt:before {
+ content: "\f225";
+}
+.uk-icon-venus-double:before {
+ content: "\f226";
+}
+.uk-icon-mars-double:before {
+ content: "\f227";
+}
+.uk-icon-venus-mars:before {
+ content: "\f228";
+}
+.uk-icon-mars-stroke:before {
+ content: "\f229";
+}
+.uk-icon-mars-stroke-v:before {
+ content: "\f22a";
+}
+.uk-icon-mars-stroke-h:before {
+ content: "\f22b";
+}
+.uk-icon-neuter:before {
+ content: "\f22c";
+}
+.uk-icon-facebook-official:before {
+ content: "\f230";
+}
+.uk-icon-pinterest-p:before {
+ content: "\f231";
+}
+.uk-icon-whatsapp:before {
+ content: "\f232";
+}
+.uk-icon-server:before {
+ content: "\f233";
+}
+.uk-icon-user-plus:before {
+ content: "\f234";
+}
+.uk-icon-user-times:before {
+ content: "\f235";
+}
+.uk-icon-hotel:before,
+.uk-icon-bed:before {
+ content: "\f236";
+}
+.uk-icon-viacoin:before {
+ content: "\f237";
+}
+.uk-icon-train:before {
+ content: "\f238";
+}
+.uk-icon-subway:before {
+ content: "\f239";
+}
+.uk-icon-medium-logo:before {
+ content: "\f23a";
+}
+/* ========================================================================
+ Component: Close
+ ========================================================================== */
+/*
+ * Removes inner padding and border in Firefox 4+.
+ */
+.uk-close::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+/*
+ * 1. Correct inability to style clickable `input` types in iOS.
+ * 2. Remove margins in Chrome, Safari and Opera.
+ * 3. Remove borders for `button`.
+ * 4. Address `overflow` set to `hidden` in IE 8/9/10/11.
+ * 5. Correct `font` properties and `color` not being inherited for `button`.
+ * 6. Address inconsistent `text-transform` inheritance which is only inherit in Firefox and IE
+ * 7. Remove default `button` padding and background color
+ * 8. Style
+ */
+.uk-close {
+ /* 1 */
+ -webkit-appearance: none;
+ /* 2 */
+ margin: 0;
+ /* 3 */
+ border: none;
+ /* 4 */
+ overflow: visible;
+ /* 5 */
+ font: inherit;
+ color: inherit;
+ /* 6 */
+ text-transform: none;
+ /* 7. */
+ padding: 0;
+ background: transparent;
+ /* 8 */
+ display: inline-block;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ width: 20px;
+ line-height: 20px;
+ text-align: center;
+ vertical-align: middle;
+ opacity: 0.3;
+}
+/* Icon */
+.uk-close:after {
+ display: block;
+ content: "\f00d";
+ font-family: FontAwesome;
+}
+/*
+ * Hover
+ * 1. Apply hover style also to focus state
+ * 2. Remove default focus style
+ * 3. Required for `a` elements
+ */
+.uk-close:hover,
+.uk-close:focus {
+ opacity: 0.5;
+ /* 2 */
+ outline: none;
+ /* 3 */
+ color: inherit;
+ text-decoration: none;
+ cursor: pointer;
+}
+/* Modifier
+ ========================================================================== */
+.uk-close-alt {
+ padding: 2px;
+ border-radius: 50%;
+ background: #ffffff;
+ opacity: 1;
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 0 6px rgba(0, 0, 0, 0.3);
+}
+/* Hover */
+.uk-close-alt:hover,
+.uk-close-alt:focus {
+ opacity: 1;
+}
+/* Icon */
+.uk-close-alt:after {
+ opacity: 0.5;
+}
+.uk-close-alt:hover:after,
+.uk-close-alt:focus:after {
+ opacity: 0.8;
+}
+/* ========================================================================
+ Component: Badge
+ ========================================================================== */
+.uk-badge {
+ display: inline-block;
+ padding: 0 5px;
+ background: #009dd8;
+ font-size: 10px;
+ font-weight: bold;
+ line-height: 14px;
+ color: #ffffff;
+ text-align: center;
+ vertical-align: middle;
+ text-transform: none;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-bottom-color: rgba(0, 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, 0.2);
+}
+/*
+ * Keep color when badge is a link
+ */
+a.uk-badge:hover {
+ color: #ffffff;
+}
+/* Modifier: `uk-badge-notification`;
+ ========================================================================== */
+.uk-badge-notification {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ min-width: 18px;
+ border-radius: 500px;
+ font-size: 12px;
+ line-height: 18px;
+}
+/* Color modifier
+ ========================================================================== */
+/*
+ * Modifier: `uk-badge-success`
+ */
+.uk-badge-success {
+ background-color: #82bb42;
+ background-image: -webkit-linear-gradient(top, #9fd256, #6fac34);
+ background-image: linear-gradient(to bottom, #9fd256, #6fac34);
+}
+/*
+ * Modifier: `uk-badge-warning`
+ */
+.uk-badge-warning {
+ background-color: #f9a124;
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
+ background-image: linear-gradient(to bottom, #fbb450, #f89406);
+}
+/*
+ * Modifier: `uk-badge-danger`
+ */
+.uk-badge-danger {
+ background-color: #d32c46;
+ background-image: -webkit-linear-gradient(top, #ee465a, #c11a39);
+ background-image: linear-gradient(to bottom, #ee465a, #c11a39);
+}
+/* ========================================================================
+ Component: Alert
+ ========================================================================== */
+.uk-alert {
+ margin-bottom: 15px;
+ padding: 10px;
+ background: #ebf7fd;
+ color: #2d7091;
+ border: 1px solid rgba(45, 112, 145, 0.3);
+ border-radius: 4px;
+ text-shadow: 0 1px 0 #ffffff;
+}
+/*
+ * Add margin if adjacent element
+ */
+* + .uk-alert {
+ margin-top: 15px;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-alert > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Keep color for headings if the default heading color is changed
+ */
+.uk-alert h1,
+.uk-alert h2,
+.uk-alert h3,
+.uk-alert h4,
+.uk-alert h5,
+.uk-alert h6 {
+ color: inherit;
+}
+/* Close in alert
+ ========================================================================== */
+.uk-alert > .uk-close:first-child {
+ float: right;
+}
+/*
+ * Remove margin from adjacent element
+ */
+.uk-alert > .uk-close:first-child + * {
+ margin-top: 0;
+}
+/* Modifier: `uk-alert-success`
+ ========================================================================== */
+.uk-alert-success {
+ background: #f2fae3;
+ color: #659f13;
+ border-color: rgba(101, 159, 19, 0.3);
+}
+/* Modifier: `uk-alert-warning`
+ ========================================================================== */
+.uk-alert-warning {
+ background: #fffceb;
+ color: #e28327;
+ border-color: rgba(226, 131, 39, 0.3);
+}
+/* Modifier: `uk-alert-danger`
+ ========================================================================== */
+.uk-alert-danger {
+ background: #fff1f0;
+ color: #d85030;
+ border-color: rgba(216, 80, 48, 0.3);
+}
+/* Modifier: `uk-alert-large`
+ ========================================================================== */
+.uk-alert-large {
+ padding: 20px;
+}
+.uk-alert-large > .uk-close:first-child {
+ margin: -10px -10px 0 0;
+}
+/* ========================================================================
+ Component: Thumbnail
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Responsive behavior
+ * 3. Corrects `max-width` behavior sed
+ * 4. Required for `figure` element
+ * 5. Style
+ */
+.uk-thumbnail {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ max-width: 100%;
+ /* 3 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 3 */
+ margin: 0;
+ /* 4 */
+ padding: 4px;
+ border: 1px solid #dddddd;
+ background: #ffffff;
+ border-radius: 4px;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
+}
+/*
+ * Hover state for `a` elements
+ * 1. Apply hover style also to focus state
+ * 2. Needed for caption
+ * 3. Remove default focus style
+ */
+a.uk-thumbnail:hover,
+a.uk-thumbnail:focus {
+ border-color: #aaaaaa;
+ background-color: #ffffff;
+ /* 2 */
+ text-decoration: none;
+ /* 3 */
+ outline: none;
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
+}
+/* Caption
+ ========================================================================== */
+.uk-thumbnail-caption {
+ padding-top: 4px;
+ text-align: center;
+ color: #444444;
+}
+/* Sizes
+ ========================================================================== */
+.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%;
+}
+/* ========================================================================
+ Component: Overlay
+ ========================================================================== */
+/*
+ * 1. Container width fits its content
+ * 2. Create position context
+ * 3. Set max-width for responsive images to prevent `inline-block` consequences
+ * 4. Remove the gap between the container and its child element
+ * 5. Needed for transitions and to fixed wrong scaling calculation for images in Chrome
+ * 6. Fixed `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit
+ * 7. Reset margin
+ */
+.uk-overlay {
+ /* 1 */
+ display: inline-block;
+ /* 2 */
+ position: relative;
+ /* 3 */
+ max-width: 100%;
+ /* 4 */
+ vertical-align: middle;
+ /* 5 */
+ overflow: hidden;
+ /* 6 */
+ -webkit-transform: translateZ(0);
+ /* 7 */
+ margin: 0;
+}
+/* 6 for Safari */
+.uk-overlay.uk-border-circle {
+ -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
+}
+/*
+ * Remove margin from content
+ */
+.uk-overlay > :first-child {
+ margin-bottom: 0;
+}
+/* Sub-object `uk-overlay-panel`
+ ========================================================================== */
+/*
+ * 1. Position cover
+ * 2. Style
+ */
+.uk-overlay-panel {
+ /* 1 */
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ /* 2 */
+ padding: 20px;
+ color: #ffffff;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-overlay-panel > :last-child,
+.uk-overlay-panel.uk-flex > * > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Keep color for headings if the default heading color is changed
+ */
+.uk-overlay-panel h1,
+.uk-overlay-panel h2,
+.uk-overlay-panel h3,
+.uk-overlay-panel h4,
+.uk-overlay-panel h5,
+.uk-overlay-panel h6 {
+ color: inherit;
+}
+.uk-overlay-panel a:not([class]) {
+ color: inherit;
+ text-decoration: underline;
+}
+.uk-overlay-panel a[class*='uk-icon-']:not(.uk-icon-button) {
+ color: inherit;
+}
+/* Sub-object `uk-overlay-hover` and `uk-overlay-active`
+ ========================================================================== */
+.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore) {
+ opacity: 0;
+}
+.uk-overlay-active :not(.uk-active) > .uk-overlay-panel:not(.uk-ignore) {
+ opacity: 0;
+}
+/* Modifier `uk-overlay-background`
+ ========================================================================== */
+.uk-overlay-background {
+ background: rgba(0, 0, 0, 0.5);
+}
+/* Modifier `uk-overlay-image`
+ ========================================================================== */
+/*
+ * Reset panel
+ */
+.uk-overlay-image {
+ padding: 0;
+}
+/* Position modifiers
+ ========================================================================== */
+.uk-overlay-top {
+ bottom: auto;
+}
+.uk-overlay-bottom {
+ top: auto;
+}
+.uk-overlay-left {
+ right: auto;
+}
+.uk-overlay-right {
+ left: auto;
+}
+/* Sub-object `uk-overlay-icon`
+ ========================================================================== */
+.uk-overlay-icon: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: #ffffff;
+}
+/* Transitions
+ ========================================================================== */
+.uk-overlay-fade,
+.uk-overlay-scale,
+.uk-overlay-spin,
+.uk-overlay-grayscale,
+.uk-overlay-blur,
+[class*='uk-overlay-slide'] {
+ transition-duration: 0.3s;
+ transition-timing-function: ease-out;
+ transition-property: opacity transform filter;
+}
+.uk-overlay-active .uk-overlay-fade,
+.uk-overlay-active .uk-overlay-scale,
+.uk-overlay-active .uk-overlay-spin,
+.uk-overlay-active [class*='uk-overlay-slide'] {
+ transition-duration: 0.8s;
+}
+/*
+ * Fade
+ */
+.uk-overlay-fade {
+ opacity: 0.7;
+}
+.uk-overlay-hover:hover .uk-overlay-fade,
+.uk-overlay-active .uk-active > .uk-overlay-fade {
+ opacity: 1;
+}
+/*
+ * Scale
+ */
+.uk-overlay-scale {
+ -webkit-transform: scale(1);
+ transform: scale(1);
+}
+.uk-overlay-hover:hover .uk-overlay-scale,
+.uk-overlay-active .uk-active > .uk-overlay-scale {
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
+}
+/*
+ * Spin
+ */
+.uk-overlay-spin {
+ -webkit-transform: scale(1) rotate(0deg);
+ transform: scale(1) rotate(0deg);
+}
+.uk-overlay-hover:hover .uk-overlay-spin,
+.uk-overlay-active .uk-active > .uk-overlay-spin {
+ -webkit-transform: scale(1.1) rotate(3deg);
+ transform: scale(1.1) rotate(3deg);
+}
+/*
+ * Grayscale
+ */
+.uk-overlay-grayscale {
+ -webkit-filter: grayscale(100%);
+ filter: grayscale(100%);
+}
+.uk-overlay-hover:hover .uk-overlay-grayscale,
+.uk-overlay-active .uk-active > .uk-overlay-grayscale {
+ -webkit-filter: grayscale(0%);
+ filter: grayscale(0%);
+}
+/*
+ * Slide
+ */
+[class*='uk-overlay-slide'] {
+ opacity: 0;
+}
+/* Top */
+.uk-overlay-slide-top {
+ -webkit-transform: translateY(-100%);
+ transform: translateY(-100%);
+}
+/* Bottom */
+.uk-overlay-slide-bottom {
+ -webkit-transform: translateY(100%);
+ transform: translateY(100%);
+}
+/* Left */
+.uk-overlay-slide-left {
+ -webkit-transform: translateX(-100%);
+ transform: translateX(-100%);
+}
+/* Right */
+.uk-overlay-slide-right {
+ -webkit-transform: translateX(100%);
+ transform: translateX(100%);
+}
+/* Hover */
+.uk-overlay-hover:hover [class*='uk-overlay-slide'],
+.uk-overlay-active .uk-active > [class*='uk-overlay-slide'] {
+ opacity: 1;
+ -webkit-transform: translateX(0) translateY(0);
+ transform: translateX(0) translateY(0);
+}
+/* DEPRECATED
+ * Sub-object `uk-overlay-area`
+ ========================================================================== */
+/*
+ * 1. Set position
+ * 2. Set style
+ * 3. Fade-in transition
+ */
+.uk-overlay-area {
+ /* 1 */
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ /* 2 */
+ background: rgba(0, 0, 0, 0.3);
+ /* 3 */
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+ -webkit-transform: translate3d(0, 0, 0);
+}
+/*
+ * Hover
+ * 1. `uk-hover` to support touch devices
+ * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier
+ */
+.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;
+}
+/*
+ * Icon
+ */
+.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: #ffffff;
+}
+/* DEPRECATED
+ * Sub-object `uk-overlay-area-content`
+ ========================================================================== */
+/*
+ * Remove whitespace between child elements when using `inline-block`
+ * Needed for Firefox
+ */
+.uk-overlay-area:not(:empty) {
+ font-size: 0.001px;
+}
+/*
+ * 1. Needed for vertical alignment
+ */
+.uk-overlay-area:not(:empty):before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+}
+/*
+ * 1. Set vertical alignment
+ * 2. Reset whitespace hack
+ * 3. Set horizontal alignment
+ * 4. Set style
+ */
+.uk-overlay-area-content {
+ /* 1 */
+ display: inline-block;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 100%;
+ vertical-align: middle;
+ /* 2 */
+ font-size: 1rem;
+ /* 3 */
+ text-align: center;
+ /* 4 */
+ padding: 0 15px;
+ color: #ffffff;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-overlay-area-content > :last-child {
+ margin-bottom: 0;
+}
+/*
+ * Links in overlay area
+ */
+.uk-overlay-area-content a:not([class]),
+.uk-overlay-area-content a:not([class]):hover {
+ color: inherit;
+}
+/* DEPRECATED
+ * Sub-object `uk-overlay-caption`
+ ========================================================================== */
+/*
+ * 1. Set position
+ * 2. Set style
+ * 3. Fade-in transition
+ */
+.uk-overlay-caption {
+ /* 1 */
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ /* 2 */
+ padding: 15px;
+ background: rgba(0, 0, 0, 0.5);
+ color: #ffffff;
+ /* 3 */
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+ -webkit-transform: translate3d(0, 0, 0);
+}
+/*
+ * Hover
+ * 1. `uk-hover` to support touch devices
+ * 2. Use optional `uk-overlay-toggle` to trigger the overlay earlier
+ */
+.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;
+}
+/* ========================================================================
+ Component: Animation
+ ========================================================================== */
+[class*='uk-animation-'] {
+ -webkit-animation-duration: 0.5s;
+ animation-duration: 0.5s;
+ -webkit-animation-timing-function: ease-out;
+ animation-timing-function: ease-out;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both;
+}
+/* Hide animated element if scrollspy is used */
+@media screen {
+ [data-uk-scrollspy*='uk-animation-']:not([data-uk-scrollspy*='target']) {
+ opacity: 0;
+ }
+}
+/*
+ * Fade
+ * Higher specificity (!important) needed because of reverse modifier
+ */
+.uk-animation-fade {
+ -webkit-animation-name: uk-fade;
+ animation-name: uk-fade;
+ -webkit-animation-duration: 0.8s;
+ animation-duration: 0.8s;
+ -webkit-animation-timing-function: linear !important;
+ animation-timing-function: linear !important;
+}
+/*
+ * Fade with scale
+ */
+.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;
+}
+/*
+ * Fade with slide
+ */
+.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;
+}
+/*
+ * Scale
+ */
+.uk-animation-scale {
+ -webkit-animation-name: uk-scale-12;
+ animation-name: uk-scale-12;
+}
+/*
+ * Shake
+ */
+.uk-animation-shake {
+ -webkit-animation-name: uk-shake;
+ animation-name: uk-shake;
+}
+/* Direction modifiers
+ ========================================================================== */
+.uk-animation-reverse {
+ -webkit-animation-direction: reverse;
+ animation-direction: reverse;
+ -webkit-animation-timing-function: ease-in;
+ animation-timing-function: ease-in;
+}
+/* Duration modifiers
+========================================================================== */
+.uk-animation-15 {
+ -webkit-animation-duration: 15s;
+ animation-duration: 15s;
+}
+/* Origin modifiers
+========================================================================== */
+.uk-animation-top-left {
+ -webkit-transform-origin: 0 0;
+ transform-origin: 0 0;
+}
+.uk-animation-top-center {
+ -webkit-transform-origin: 50% 0;
+ transform-origin: 50% 0;
+}
+.uk-animation-top-right {
+ -webkit-transform-origin: 100% 0;
+ transform-origin: 100% 0;
+}
+.uk-animation-middle-left {
+ -webkit-transform-origin: 0 50%;
+ transform-origin: 0 50%;
+}
+.uk-animation-middle-right {
+ -webkit-transform-origin: 100% 50%;
+ transform-origin: 100% 50%;
+}
+.uk-animation-bottom-left {
+ -webkit-transform-origin: 0 100%;
+ transform-origin: 0 100%;
+}
+.uk-animation-bottom-center {
+ -webkit-transform-origin: 50% 100%;
+ transform-origin: 50% 100%;
+}
+.uk-animation-bottom-right {
+ -webkit-transform-origin: 100% 100%;
+ transform-origin: 100% 100%;
+}
+/* Sub-object: `uk-animation-hover`
+========================================================================== */
+/*
+ * Enable animation only on hover
+ * Note: Firefox also needs this because animations are not triggered when switching between display `hidden` and `block`
+ */
+.uk-animation-hover:not(:hover),
+.uk-animation-hover:not(:hover) [class*='uk-animation-'],
+.uk-touch .uk-animation-hover:not(.uk-hover),
+.uk-touch .uk-animation-hover:not(.uk-hover) [class*='uk-animation-'] {
+ -webkit-animation-name: none;
+ animation-name: none;
+}
+/* Keyframes: Fade
+ * Used by dropdown, datepicker and slideshow component
+ ========================================================================== */
+@-webkit-keyframes uk-fade {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+@keyframes uk-fade {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+/* Keyframes: Fade with slide
+ ========================================================================== */
+/*
+ * Top
+ */
+@-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;
+ transform: translateY(-100%);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+/*
+ * Bottom
+ */
+@-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;
+ transform: translateY(100%);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+/*
+ * Left
+ */
+@-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;
+ transform: translateX(-100%);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+}
+/*
+ * Right
+ */
+@-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;
+ transform: translateX(100%);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateX(0);
+ }
+}
+/* Keyframes: Fade with scale
+ ========================================================================== */
+/*
+ * Scale by 0.2
+ */
+@-webkit-keyframes uk-fade-scale-02 {
+ 0% {
+ opacity: 0;
+ -webkit-transform: scale(0.2);
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1);
+ }
+}
+@keyframes uk-fade-scale-02 {
+ 0% {
+ opacity: 0;
+ transform: scale(0.2);
+ }
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+/*
+ * Scale by 1.5
+ * Used by slideshow component
+ */
+@-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;
+ transform: scale(1.5);
+ }
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+/*
+ * Scale by 1.8
+ */
+@-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;
+ transform: scale(1.8);
+ }
+ 100% {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+/* Keyframes: Slide
+ * Used by slideshow component
+ ========================================================================== */
+/*
+ * Left
+ */
+@-webkit-keyframes uk-slide-left {
+ 0% {
+ -webkit-transform: translateX(-100%);
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ }
+}
+@keyframes uk-slide-left {
+ 0% {
+ transform: translateX(-100%);
+ }
+ 100% {
+ transform: translateX(0);
+ }
+}
+/*
+ * Right
+ */
+@-webkit-keyframes uk-slide-right {
+ 0% {
+ -webkit-transform: translateX(100%);
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ }
+}
+@keyframes uk-slide-right {
+ 0% {
+ transform: translateX(100%);
+ }
+ 100% {
+ transform: translateX(0);
+ }
+}
+/*
+ * Left third
+ */
+@-webkit-keyframes uk-slide-left-33 {
+ 0% {
+ -webkit-transform: translateX(33%);
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ }
+}
+@keyframes uk-slide-left-33 {
+ 0% {
+ transform: translateX(33%);
+ }
+ 100% {
+ transform: translateX(0);
+ }
+}
+/*
+ * Right third
+ */
+@-webkit-keyframes uk-slide-right-33 {
+ 0% {
+ -webkit-transform: translateX(-33%);
+ }
+ 100% {
+ -webkit-transform: translateX(0);
+ }
+}
+@keyframes uk-slide-right-33 {
+ 0% {
+ transform: translateX(-33%);
+ }
+ 100% {
+ transform: translateX(0);
+ }
+}
+/* Keyframes: Scale
+ ========================================================================== */
+@-webkit-keyframes uk-scale-12 {
+ 0% {
+ -webkit-transform: scale(1.2);
+ }
+ 100% {
+ -webkit-transform: scale(1);
+ }
+}
+@keyframes uk-scale-12 {
+ 0% {
+ transform: scale(1.2);
+ }
+ 100% {
+ transform: scale(1);
+ }
+}
+/* Keyframes: Rotate
+ * Used by icon component
+ ========================================================================== */
+@-webkit-keyframes uk-rotate {
+ 0% {
+ -webkit-transform: rotate(0deg);
+ }
+ 100% {
+ -webkit-transform: rotate(359deg);
+ }
+}
+@keyframes uk-rotate {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(359deg);
+ }
+}
+/* Keyframes: Shake
+ ========================================================================== */
+@-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% {
+ transform: translateX(0);
+ }
+ 10% {
+ transform: translateX(-9px);
+ }
+ 20% {
+ transform: translateX(8px);
+ }
+ 30% {
+ transform: translateX(-7px);
+ }
+ 40% {
+ transform: translateX(6px);
+ }
+ 50% {
+ transform: translateX(-5px);
+ }
+ 60% {
+ transform: translateX(4px);
+ }
+ 70% {
+ transform: translateX(-3px);
+ }
+ 80% {
+ transform: translateX(2px);
+ }
+ 90% {
+ transform: translateX(-1px);
+ }
+}
+/* Keyframes: Fade with slide fixed
+ * Used by dropdown and search component
+ ========================================================================== */
+/*
+ * Top fixed
+ */
+@-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;
+ transform: translateY(-10px);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+/*
+ * Bottom fixed
+ */
+@-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;
+ transform: translateY(10px);
+ }
+ 100% {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
+/* ========================================================================
+ Component: Dropdown
+ ========================================================================== */
+/*
+ * 1. Hide by default
+ * 2. Set position
+ * 3. Box-sizing is needed for `uk-dropdown-justify`
+ * 4. Set style
+ * 5. Reset button group whitespace hack
+ */
+.uk-dropdown {
+ /* 1 */
+ display: none;
+ /* 2 */
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1020;
+ /* 3 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 4 */
+ width: 200px;
+ margin-top: 5px;
+ padding: 15px;
+ background: #ffffff;
+ color: #444444;
+ /* 5 */
+ font-size: 1rem;
+ vertical-align: top;
+ border: 1px solid #cbcbcb;
+ border-radius: 4px;
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
+}
+/*
+ * 1. Show dropdown
+ * 2. Set animation
+ * 3. Needed for scale animation
+ */
+.uk-open > .uk-dropdown {
+ /* 1 */
+ display: block;
+ /* 2 */
+ -webkit-animation: uk-fade 0.2s ease-in-out;
+ animation: uk-fade 0.2s ease-in-out;
+ /* 3 */
+ -webkit-transform-origin: 0 0;
+ transform-origin: 0 0;
+}
+/* Alignment modifiers
+ ========================================================================== */
+/*
+ * Modifier `uk-dropdown-flip`
+ */
+.uk-dropdown-flip {
+ left: auto;
+ right: 0;
+}
+/*
+ * Modifier `uk-dropdown-up`
+ */
+.uk-dropdown-up {
+ top: auto;
+ bottom: 100%;
+ margin-top: auto;
+ margin-bottom: 5px;
+}
+/* Nav in dropdown
+ ========================================================================== */
+.uk-dropdown .uk-nav {
+ margin: 0 -15px;
+}
+/* Grid and panel in dropdown
+ ========================================================================== */
+/*
+* Vertical gutter
+*/
+/*
+ * Grid
+ * Higher specificity to override large gutter
+ */
+.uk-grid .uk-dropdown-grid + .uk-dropdown-grid {
+ margin-top: 15px;
+}
+/* Panels */
+.uk-dropdown-grid > [class*='uk-width-'] > .uk-panel + .uk-panel {
+ margin-top: 15px;
+}
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ /*
+ * Horizontal gutter
+ */
+ .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;
+ }
+ /*
+ * Column divider
+ */
+ .uk-dropdown:not(.uk-dropdown-stack) > .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) {
+ border-left: 1px solid #dddddd;
+ }
+ /*
+ * Width multiplier for dropdown columns
+ */
+ .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;
+ }
+}
+/* Phone landscape and smaller */
+@media (max-width: 767px) {
+ /*
+ * Stack columns and take full width
+ */
+ .uk-dropdown-grid > [class*='uk-width-'] {
+ width: 100%;
+ }
+ /*
+ * Vertical gutter
+ */
+ .uk-dropdown-grid > [class*='uk-width-']:nth-child(n+2) {
+ margin-top: 15px;
+ }
+}
+/*
+* Stack grid columns
+*/
+.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;
+}
+/* Modifier `uk-dropdown-small`
+ ========================================================================== */
+/*
+ * Set min-width and text expands dropdown if needed
+ */
+.uk-dropdown-small {
+ min-width: 150px;
+ width: auto;
+ padding: 5px;
+ white-space: nowrap;
+}
+/*
+ * Nav in dropdown
+ */
+.uk-dropdown-small .uk-nav {
+ margin: 0 -5px;
+}
+/* Modifier: `uk-dropdown-navbar`
+ ========================================================================== */
+.uk-dropdown-navbar {
+ margin-top: 6px;
+ background: #ffffff;
+ color: #444444;
+ left: -1px;
+ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
+}
+.uk-open > .uk-dropdown-navbar {
+ -webkit-animation: uk-slide-top-fixed 0.2s ease-in-out;
+ animation: uk-slide-top-fixed 0.2s ease-in-out;
+}
+/* Modifier `uk-dropdown-scrollable`
+ ========================================================================== */
+/*
+ * Usefull for long lists
+ */
+.uk-dropdown-scrollable {
+ overflow-y: auto;
+ max-height: 200px;
+}
+.uk-dropdown-navbar.uk-dropdown-flip {
+ left: auto;
+}
+/* ========================================================================
+ Component: Modal
+ ========================================================================== */
+/*
+ * This is the modal overlay and modal dialog container
+ * 1. Hide by default
+ * 2. Set fixed position
+ * 3. Allow scrolling for the modal dialog
+ * 4. Mask the background page
+ * 5. Fade-in transition
+ * 6. Deactivate browser history navigation in IE11
+ * 7. force hardware acceleration to prevent browser rendering hiccups
+ */
+.uk-modal {
+ /* 1 */
+ display: none;
+ /* 2 */
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1010;
+ /* 3 */
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ /* 4 */
+ background: rgba(0, 0, 0, 0.6);
+ /* 5 */
+ opacity: 0;
+ -webkit-transition: opacity 0.15s linear;
+ transition: opacity 0.15s linear;
+ /* 6 */
+ touch-action: cross-slide-y pinch-zoom double-tap-zoom;
+ /* 7 */
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+}
+/*
+ * Open state
+ */
+.uk-modal.uk-open {
+ opacity: 1;
+}
+/*
+ * Prevents duplicated scrollbar caused by 4.
+ */
+.uk-modal-page,
+.uk-modal-page body {
+ overflow: hidden;
+}
+/* Sub-object: `uk-modal-dialog`
+ ========================================================================== */
+/*
+ * 1. Create position context for caption, spinner and close button
+ * 2. Set box sizing
+ * 3. Set style
+ * 4. Slide-in transition
+ */
+.uk-modal-dialog {
+ /* 1 */
+ position: relative;
+ /* 2 */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ margin: 50px auto;
+ padding: 20px;
+ width: 600px;
+ max-width: 100%;
+ max-width: calc(100% - 20px);
+ /* 3 */
+ background: #ffffff;
+ /* 4 */
+ opacity: 0;
+ -webkit-transform: translateY(-100px);
+ transform: translateY(-100px);
+ -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out;
+ transition: opacity 0.3s linear, transform 0.3s ease-out;
+ border-radius: 4px;
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
+}
+/* Phone landscape and smaller */
+@media (max-width: 767px) {
+ /*
+ * Fit in small screen
+ */
+ .uk-modal-dialog {
+ width: auto;
+ margin: 10px auto;
+ }
+}
+/*
+ * Open state
+ */
+.uk-open .uk-modal-dialog {
+ /* 4 */
+ opacity: 1;
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-modal-dialog > :not([class*='uk-modal-']):last-child {
+ margin-bottom: 0;
+}
+/* Close in modal
+ ========================================================================== */
+.uk-modal-dialog > .uk-close:first-child {
+ margin: -10px -10px 0 0;
+ float: right;
+}
+/*
+ * Remove margin from adjacent element
+ */
+.uk-modal-dialog > .uk-close:first-child + :not([class*='uk-modal-']) {
+ margin-top: 0;
+}
+/* Modifier: `uk-modal-dialog-lightbox`
+ ========================================================================== */
+.uk-modal-dialog-lightbox {
+ margin: 15px auto;
+ padding: 0;
+ max-width: 95%;
+ max-width: calc(100% - 30px);
+ border-radius: 0;
+}
+/*
+ * Close button
+ */
+.uk-modal-dialog-lightbox > .uk-close:first-child {
+ position: absolute;
+ top: -12px;
+ right: -12px;
+ margin: 0;
+ float: none;
+}
+/* Phone landscape and smaller */
+@media (max-width: 767px) {
+ .uk-modal-dialog-lightbox > .uk-close:first-child {
+ top: -7px;
+ right: -7px;
+ }
+}
+/* Modifier: `uk-modal-dialog-large`
+ ========================================================================== */
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ .uk-modal-dialog-large {
+ width: 930px;
+ }
+}
+/* Large screen and bigger */
+@media (min-width: 1220px) {
+ .uk-modal-dialog-large {
+ width: 1130px;
+ }
+}
+/* Sub-Object: `uk-modal-header` and `uk-modal-footer`
+ ========================================================================== */
+.uk-modal-header {
+ margin-bottom: 15px;
+ margin: -20px -20px 15px -20px;
+ padding: 20px;
+ border-bottom: 1px solid #dddddd;
+ border-radius: 4px 4px 0 0;
+ background: #fafafa;
+}
+.uk-modal-footer {
+ margin-top: 15px;
+ margin: 15px -20px -20px -20px;
+ padding: 20px;
+ border-top: 1px solid #dddddd;
+ border-radius: 0 0 4px 4px;
+ background: #fafafa;
+}
+/*
+ * Remove margin from the last-child
+ */
+.uk-modal-header > :last-child,
+.uk-modal-footer > :last-child {
+ margin-bottom: 0;
+}
+/* Sub-Object: `uk-modal-caption`
+ ========================================================================== */
+.uk-modal-caption {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: -20px;
+ margin-bottom: -10px;
+ color: #ffffff;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+/* Sub-Object: `uk-modal-spinner`
+ ========================================================================== */
+.uk-modal-spinner {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
+ font-size: 25px;
+ color: #ddd;
+}
+.uk-modal-spinner:after {
+ content: "\f110";
+ font-family: FontAwesome;
+ -webkit-animation: uk-rotate 2s infinite linear;
+ animation: uk-rotate 2s infinite linear;
+}
+/* ========================================================================
+ Component: Off-canvas
+ ========================================================================== */
+/*
+ * This is the offcanvas overlay and bar container
+ * 1. Hide by default
+ * 2. Set fixed position
+ * 3. Deactivate browser touch actions in IE11
+ * 4. Mask the background page
+ */
+.uk-offcanvas {
+ /* 1 */
+ display: none;
+ /* 2 */
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1000;
+ /* 3 */
+ touch-action: none;
+ /* 4 */
+ background: rgba(0, 0, 0, 0.1);
+}
+.uk-offcanvas.uk-active {
+ display: block;
+}
+/* Sub-object `uk-offcanvas-page`
+ ========================================================================== */
+/*
+ * Prepares the whole HTML page to slide-out
+ * 1. Fix the main page and disallow scrolling
+ * 2. Side-out transition
+ */
+.uk-offcanvas-page {
+ /* 1 */
+ position: fixed;
+ /* 2 */
+ -webkit-transition: margin-left 0.3s ease-in-out;
+ transition: margin-left 0.3s ease-in-out;
+}
+/* Sub-object `uk-offcanvas-bar`
+ ========================================================================== */
+/*
+ * This is the offcanvas bar
+ * 1. Set fixed position
+ * 2. Size and style
+ * 3. Allow scrolling
+ * 4. Side-out transition
+ * 5. Deavtivate scroll chaining in IE11
+ */
+.uk-offcanvas-bar {
+ /* 1 */
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ -webkit-transform: translateX(-100%);
+ transform: translateX(-100%);
+ z-index: 1001;
+ /* 2 */
+ width: 270px;
+ max-width: 100%;
+ background: #333333;
+ /* 3 */
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ /* 4 */
+ -webkit-transition: -webkit-transform 0.3s ease-in-out;
+ transition: transform 0.3s ease-in-out;
+ /* 5 */
+ -ms-scroll-chaining: none;
+}
+.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show {
+ -webkit-transform: translateX(0%);
+ transform: translateX(0%);
+}
+/* Modifier `uk-offcanvas-bar-flip`
+ ========================================================================== */
+.uk-offcanvas-bar-flip {
+ left: auto;
+ right: 0;
+ -webkit-transform: translateX(100%);
+ transform: translateX(100%);
+}
+/* Panel in offcanvas
+ ========================================================================== */
+.uk-offcanvas .uk-panel {
+ margin: 20px 15px;
+ color: #777777;
+ text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
+}
+.uk-offcanvas .uk-panel-title {
+ color: #cccccc;
+}
+.uk-offcanvas .uk-panel a:not([class]) {
+ color: #cccccc;
+}
+.uk-offcanvas .uk-panel a:not([class]):hover {
+ color: #ffffff;
+}
+.uk-offcanvas-bar:after {
+ content: "";
+ display: block;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ right: 0;
+ width: 1px;
+ background: rgba(0, 0, 0, 0.6);
+ box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.6);
+}
+.uk-offcanvas-bar-flip:after {
+ right: auto;
+ left: 0;
+ width: 1px;
+ background: rgba(0, 0, 0, 0.6);
+ box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.6);
+}
+/* ========================================================================
+ Component: Switcher
+ ========================================================================== */
+/*
+ * 1. Deactivate browser history navigation in IE11
+ */
+.uk-switcher {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ /* 1 */
+ touch-action: cross-slide-y pinch-zoom double-tap-zoom;
+}
+/*
+ * Items
+ */
+.uk-switcher > :not(.uk-active) {
+ display: none;
+}
+/* ========================================================================
+ Component: Text
+ ========================================================================== */
+/* Size modifiers
+ ========================================================================== */
+.uk-text-small {
+ font-size: 11px;
+ line-height: 16px;
+}
+.uk-text-large {
+ font-size: 18px;
+ line-height: 24px;
+ font-weight: normal;
+}
+/* Weight modifiers
+ ========================================================================== */
+.uk-text-bold {
+ font-weight: bold;
+}
+/* Color modifiers
+ ========================================================================== */
+.uk-text-muted {
+ color: #999999 !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-contrast {
+ color: #ffffff !important;
+}
+/* Alignment modifiers
+ ========================================================================== */
+.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;
+}
+/* Only tablets portrait and smaller */
+@media (max-width: 959px) {
+ .uk-text-center-medium {
+ text-align: center !important;
+ }
+ .uk-text-left-medium {
+ text-align: left !important;
+ }
+}
+/* Phone landscape and smaller */
+@media (max-width: 767px) {
+ .uk-text-center-small {
+ text-align: center !important;
+ }
+ .uk-text-left-small {
+ text-align: left !important;
+ }
+}
+/* Wrap modifiers
+ ========================================================================== */
+/*
+ * Prevent text from wrapping onto multiple lines
+ */
+.uk-text-nowrap {
+ white-space: nowrap;
+}
+/*
+ * Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
+ */
+.uk-text-truncate {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+/*
+ * Break strings if their length exceeds the width of their container
+ */
+.uk-text-break {
+ word-wrap: break-word;
+ -webkit-hyphens: auto;
+ -ms-hyphens: auto;
+ -moz-hyphens: auto;
+ hyphens: auto;
+}
+/* ========================================================================
+ Component: Utility
+ ========================================================================== */
+/* Container
+ ========================================================================== */
+.uk-container {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ max-width: 980px;
+ padding: 0 25px;
+}
+/* Large screen and bigger */
+@media (min-width: 1220px) {
+ .uk-container {
+ max-width: 1200px;
+ padding: 0 35px;
+ }
+}
+/*
+ * Micro clearfix
+ */
+.uk-container:before,
+.uk-container:after {
+ content: "";
+ display: table;
+}
+.uk-container:after {
+ clear: both;
+}
+/*
+ * Center container
+ */
+.uk-container-center {
+ margin-left: auto;
+ margin-right: auto;
+}
+/* Clearing
+ ========================================================================== */
+/*
+ * Micro clearfix
+* `table-cell` is used with `:before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit
+ * `table` is used again with `:after` because `clear` only works with block elements.
+ * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari
+ */
+.uk-clearfix:before {
+ content: "";
+ display: table-cell;
+}
+.uk-clearfix:after {
+ content: "";
+ display: table;
+ clear: both;
+}
+/*
+ * Create a new block formatting context
+ */
+.uk-nbfc {
+ overflow: hidden;
+}
+.uk-nbfc-alt {
+ display: table-cell;
+ width: 10000px;
+}
+/* Alignment of block elements
+ ========================================================================== */
+/*
+ * Float blocks
+ * 1. Prevent content overflow on small devices
+ */
+.uk-float-left {
+ float: left;
+}
+.uk-float-right {
+ float: right;
+}
+/* 1 */
+[class*='uk-float-'] {
+ max-width: 100%;
+}
+/* Alignment of images and objects
+ ========================================================================== */
+/*
+ * Alignment
+ */
+[class*='uk-align-'] {
+ display: block;
+ margin-bottom: 15px;
+}
+.uk-align-left {
+ margin-right: 15px;
+ float: left;
+}
+.uk-align-right {
+ margin-left: 15px;
+ float: right;
+}
+/* Tablet and bigger */
+@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;
+}
+/* Vertical alignment
+ ========================================================================== */
+/*
+ * Remove whitespace between child elements when using `inline-block`
+ */
+.uk-vertical-align {
+ font-size: 0.001px;
+}
+/*
+ * The `uk-vertical-align` container needs a specific height
+ */
+.uk-vertical-align:before {
+ content: '';
+ display: inline-block;
+ height: 100%;
+ vertical-align: middle;
+}
+/*
+ * Sub-object which can have any height
+ * 1. Reset whitespace hack
+ */
+.uk-vertical-align-middle,
+.uk-vertical-align-bottom {
+ display: inline-block;
+ max-width: 100%;
+ /* 1 */
+ font-size: 1rem;
+}
+.uk-vertical-align-middle {
+ vertical-align: middle;
+}
+.uk-vertical-align-bottom {
+ vertical-align: bottom;
+}
+/* Height
+ ========================================================================== */
+/*
+ * More robust if padding and border are used
+ */
+[class*='uk-height'] {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*
+ * Useful to extend the `html` and `body` element to the full height of the page.
+ */
+.uk-height-1-1 {
+ height: 100%;
+}
+/*
+ * Useful to create image teasers
+ */
+.uk-height-viewport {
+ height: 100vh;
+ min-height: 600px;
+}
+/* Responsive objects
+ * Note: Images are already responsive by default, see Base component
+ ========================================================================== */
+/*
+ * 1. Corrects `max-width` and `max-height` behavior if padding and border are used
+ */
+.uk-responsive-width,
+.uk-responsive-height {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+/*
+ * Responsiveness: Sets a maximum width relative to the parent and auto scales the height
+ * `important` needed to override `uk-img-preserve img`
+ */
+.uk-responsive-width {
+ max-width: 100% !important;
+ height: auto;
+}
+/*
+ * Responsiveness: Sets a maximum height relative to the parent and auto scales the width
+ * Only works if the parent element has a fixed height.
+ */
+.uk-responsive-height {
+ max-height: 100%;
+ width: auto;
+}
+/* Margin
+ ========================================================================== */
+/*
+ * Create a block with the same margin of a paragraph
+ * Add margin if adjacent element
+ */
+.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;
+}
+/*
+ * Larger margins
+ */
+.uk-margin-large {
+ margin-bottom: 50px;
+}
+* + .uk-margin-large {
+ margin-top: 50px;
+}
+.uk-margin-large-top {
+ 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;
+}
+/*
+ * Smaller margins
+ */
+.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;
+}
+/*
+ * Remove margins
+ */
+.uk-margin-remove {
+ margin: 0 !important;
+}
+.uk-margin-top-remove {
+ margin-top: 0 !important;
+}
+.uk-margin-bottom-remove {
+ margin-bottom: 0 !important;
+}
+/* Padding
+ ========================================================================== */
+.uk-padding-remove {
+ padding: 0 !important;
+}
+.uk-padding-top-remove {
+ padding-top: 0 !important;
+}
+.uk-padding-bottom-remove {
+ padding-bottom: 0 !important;
+}
+.uk-padding-vertical-remove {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+}
+/* Border
+ ========================================================================== */
+.uk-border-circle {
+ border-radius: 50%;
+}
+.uk-border-rounded {
+ border-radius: 5px;
+}
+/* Headings
+ ========================================================================== */
+.uk-heading-large {
+ font-size: 36px;
+ line-height: 42px;
+}
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ .uk-heading-large {
+ font-size: 52px;
+ line-height: 64px;
+ }
+}
+/* Link
+ ========================================================================== */
+/*
+ * Let links appear in default text color
+ */
+.uk-link-muted,
+.uk-link-muted a {
+ color: #444444;
+}
+.uk-link-muted:hover,
+.uk-link-muted a:hover {
+ color: #444444;
+}
+/*
+ * Reset link style
+ */
+.uk-link-reset,
+.uk-link-reset a,
+.uk-link-reset:hover,
+.uk-link-reset a:hover,
+.uk-link-reset:focus,
+.uk-link-reset a:focus {
+ color: inherit;
+ text-decoration: none;
+}
+/* Scrollable
+ ========================================================================== */
+/*
+ * Enable scrolling for preformatted text
+ */
+.uk-scrollable-text {
+ height: 300px;
+ overflow-y: scroll;
+ -webkit-overflow-scrolling: touch;
+ resize: both;
+}
+/*
+ * Box with scrolling enabled
+ */
+.uk-scrollable-box {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ height: 170px;
+ padding: 10px;
+ border: 1px solid #dddddd;
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+ resize: both;
+ border-radius: 3px;
+}
+.uk-scrollable-box > :last-child {
+ margin-bottom: 0;
+}
+/* Overflow
+ ========================================================================== */
+.uk-overflow-hidden {
+ overflow: hidden;
+}
+/*
+ * Enable scrollbars if content is clipped
+ */
+.uk-overflow-container {
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+}
+.uk-overflow-container > :last-child {
+ margin-bottom: 0;
+}
+/* Position
+ ========================================================================== */
+.uk-position-absolute,
+[class*='uk-position-top'],
+[class*='uk-position-bottom'] {
+ position: absolute !important;
+}
+.uk-position-top {
+ top: 0;
+ width: 100%;
+}
+.uk-position-bottom {
+ bottom: 0;
+ width: 100%;
+}
+.uk-position-top-left {
+ top: 0;
+ left: 0;
+}
+.uk-position-top-right {
+ top: 0;
+ right: 0;
+}
+.uk-position-bottom-left {
+ bottom: 0;
+ left: 0;
+}
+.uk-position-bottom-right {
+ bottom: 0;
+ right: 0;
+}
+/*
+ * Cover
+ */
+.uk-position-cover {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+}
+/*
+ * Relative
+ */
+.uk-position-relative {
+ position: relative !important;
+}
+/*
+ * Z-index
+ */
+.uk-position-z-index {
+ z-index: 1;
+}
+/* Display
+ ========================================================================== */
+/*
+ * Display
+ */
+.uk-display-block {
+ display: block !important;
+}
+.uk-display-inline {
+ display: inline !important;
+}
+.uk-display-inline-block {
+ display: inline-block !important;
+}
+/*
+ * Visibility
+ * Avoids setting display to `block` so it works also with `inline-block` and `table`
+ */
+/* Desktop and bigger */
+@media (min-width: 960px) {
+ .uk-visible-small {
+ display: none !important;
+ }
+ .uk-visible-medium {
+ display: none !important;
+ }
+ .uk-hidden-large {
+ display: none !important;
+ }
+}
+/* Tablets portrait */
+@media (min-width: 768px) and (max-width: 959px) {
+ .uk-visible-small {
+ display: none !important;
+ }
+ .uk-visible-large {
+ display: none !important ;
+ }
+ .uk-hidden-medium {
+ display: none !important;
+ }
+}
+/* Phone landscape and smaller*/
+@media (max-width: 767px) {
+ .uk-visible-medium {
+ display: none !important;
+ }
+ .uk-visible-large {
+ display: none !important;
+ }
+ .uk-hidden-small {
+ display: none !important;
+ }
+}
+/* Remove from the flow and screen readers on any device */
+.uk-hidden {
+ display: none !important;
+ visibility: hidden !important;
+}
+/* It's hidden, but still affects layout */
+.uk-invisible {
+ visibility: hidden !important;
+}
+/* Show on hover */
+.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;
+}
+/* Hide on touch */
+.uk-touch .uk-hidden-touch,
+.uk-notouch .uk-hidden-notouch {
+ display: none !important;
+}
+/* ========================================================================
+ Component: Flex
+ ========================================================================== */
+.uk-flex {
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+}
+.uk-flex-inline {
+ display: -ms-inline-flexbox;
+ display: -webkit-inline-flex;
+ display: inline-flex;
+}
+/*
+ * Fixes initial flex-shrink value in IE10
+ */
+.uk-flex > *,
+.uk-flex-inline > * {
+ -ms-flex-negative: 1;
+}
+/* Alignment
+ ========================================================================== */
+/*
+ * Vertical alignment
+ * Default value is `stretch`
+ */
+.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;
+}
+/*
+ * Horizontal alignment
+ * Default value is `flex-start`
+ */
+.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-flex-space-between {
+ -ms-flex-pack: justify;
+ -webkit-justify-content: space-between;
+ justify-content: space-between;
+}
+.uk-flex-space-around {
+ -ms-flex-pack: distribute;
+ -webkit-justify-content: space-around;
+ justify-content: space-around;
+}
+/* Direction
+ ========================================================================== */
+.uk-flex-row-reverse {
+ -ms-flex-direction: row-reverse;
+ -webkit-flex-direction: row-reverse;
+ flex-direction: row-reverse;
+}
+.uk-flex-column {
+ -ms-flex-direction: column;
+ -webkit-flex-direction: column;
+ flex-direction: column;
+}
+.uk-flex-column-reverse {
+ -ms-flex-direction: column-reverse;
+ -webkit-flex-direction: column-reverse;
+ flex-direction: column-reverse;
+}
+/* Wrap
+ ========================================================================== */
+.uk-flex-nowrap {
+ -ms-flex-wrap: nowrap;
+ -webkit-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+}
+.uk-flex-wrap {
+ -ms-flex-wrap: wrap;
+ -webkit-flex-wrap: wrap;
+ flex-wrap: wrap;
+}
+.uk-flex-wrap-reverse {
+ -ms-flex-wrap: wrap-reverse;
+ -webkit-flex-wrap: wrap-reverse;
+ flex-wrap: wrap-reverse;
+}
+/*
+ * Horizontal alignment
+ * Default value is `stretch`
+ */
+.uk-flex-wrap-top {
+ -ms-flex-line-pack: start;
+ -webkit-align-content: flex-start;
+ align-content: flex-start;
+}
+.uk-flex-wrap-middle {
+ -ms-flex-line-pack: center;
+ -webkit-align-content: center;
+ align-content: center;
+}
+.uk-flex-wrap-bottom {
+ -ms-flex-line-pack: end;
+ -webkit-align-content: flex-end;
+ align-content: flex-end;
+}
+.uk-flex-wrap-space-between {
+ -ms-flex-line-pack: justify;
+ -webkit-align-content: space-between;
+ align-content: space-between;
+}
+.uk-flex-wrap-space-around {
+ -ms-flex-line-pack: distribute;
+ -webkit-align-content: space-around;
+ align-content: space-around;
+}
+/* Item ordering
+ ========================================================================== */
+/*
+ * Default is 0
+ */
+.uk-flex-order-first {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+}
+.uk-flex-order-last {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+}
+/* Phone landscape and bigger */
+@media (min-width: 480px) {
+ .uk-flex-order-first-small {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-small {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+/* Tablet and bigger */
+@media (min-width: 768px) {
+ .uk-flex-order-first-medium {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-medium {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+/* Desktop and bigger */
+@media (min-width: 960px) {
+ .uk-flex-order-first-large {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-large {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+/* Large screen and bigger */
+@media (min-width: 1220px) {
+ .uk-flex-order-first-xlarge {
+ -ms-flex-order: -1;
+ -webkit-order: -1;
+ order: -1;
+ }
+ .uk-flex-order-last-xlarge {
+ -ms-flex-order: 99;
+ -webkit-order: 99;
+ order: 99;
+ }
+}
+/* Item dimensions
+ ========================================================================== */
+/*
+ * Initial: 0 1 auto
+ * Content dimensions, but shrinks
+ */
+/*
+ * No Flex: 0 0 auto
+ * Content dimensions
+ */
+.uk-flex-item-none {
+ -ms-flex: none;
+ -webkit-flex: none;
+ flex: none;
+}
+/*
+ * Relative Flex: 1 1 auto
+ * Space is allocated considering content
+ * 1. Fixes flex-shrink value in IE10
+ */
+.uk-flex-item-auto {
+ -ms-flex: auto;
+ -webkit-flex: auto;
+ flex: auto;
+ /* 1 */
+ -ms-flex-negative: 1;
+}
+/*
+ * Absolute Flex: 1 1 0%
+ * Space is allocated solely based on flex
+ */
+.uk-flex-item-1 {
+ -ms-flex: 1;
+ -webkit-flex: 1;
+ flex: 1;
+}
+/* ========================================================================
+ Component: Contrast
+ ========================================================================== */
+.uk-contrast {
+ color: #ffffff;
+}
+.uk-contrast a:not([class]),
+.uk-contrast .uk-link {
+ color: rgba(255, 255, 255, 0.7);
+ text-decoration: none;
+}
+.uk-contrast a:not([class]):hover,
+.uk-contrast .uk-link:hover {
+ color: #ffffff;
+ text-decoration: underline;
+}
+.uk-contrast :not(pre) > code,
+.uk-contrast :not(pre) > kbd,
+.uk-contrast :not(pre) > samp {
+ color: #ffffff;
+ border-color: rgba(255, 255, 255, 0.2);
+ background: rgba(255, 255, 255, 0.1);
+}
+.uk-contrast em {
+ color: #ffffff;
+}
+.uk-contrast h1,
+.uk-contrast h2,
+.uk-contrast h3,
+.uk-contrast h4,
+.uk-contrast h5,
+.uk-contrast h6 {
+ color: #ffffff;
+}
+.uk-contrast hr {
+ border-top-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-nav li > a,
+.uk-contrast .uk-nav li > a:hover {
+ text-decoration: none;
+}
+.uk-contrast .uk-nav-side > li > a {
+ color: #ffffff;
+}
+.uk-contrast .uk-nav-side > li > a:hover,
+.uk-contrast .uk-nav-side > li > a:focus {
+ background: rgba(255, 255, 255, 0.1);
+ color: #ffffff;
+ text-shadow: none;
+}
+.uk-contrast .uk-nav-side > li.uk-active > a {
+ background: #ffffff;
+ color: #444444;
+ text-shadow: none;
+}
+.uk-contrast .uk-nav-side .uk-nav-header {
+ color: #ffffff;
+}
+.uk-contrast .uk-nav-side .uk-nav-divider {
+ border-top-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-nav-side ul a {
+ color: rgba(255, 255, 255, 0.7);
+}
+.uk-contrast .uk-nav-side ul a:hover {
+ color: #ffffff;
+}
+.uk-contrast .uk-subnav > * > a {
+ color: rgba(255, 255, 255, 0.7);
+ text-decoration: none;
+}
+.uk-contrast .uk-subnav > * > a:hover,
+.uk-contrast .uk-subnav > * > a:focus {
+ color: #ffffff;
+ text-decoration: none;
+}
+.uk-contrast .uk-subnav > .uk-active > a {
+ color: #ffffff;
+}
+.uk-contrast .uk-subnav-line > :nth-child(n+2):before {
+ border-left-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-subnav-pill > * > a:hover,
+.uk-contrast .uk-subnav-pill > * > a:focus {
+ background: rgba(255, 255, 255, 0.7);
+ color: #444444;
+ text-decoration: none;
+}
+.uk-contrast .uk-subnav-pill > .uk-active > a {
+ background: #ffffff;
+ color: #444444;
+}
+.uk-contrast .uk-list-line > li:nth-child(n+2) {
+ border-top-color: rgba(255, 255, 255, 0.2);
+}
+.uk-contrast .uk-form select,
+.uk-contrast .uk-form textarea,
+.uk-contrast .uk-form input:not([type]),
+.uk-contrast .uk-form input[type="text"],
+.uk-contrast .uk-form input[type="password"],
+.uk-contrast .uk-form input[type="datetime"],
+.uk-contrast .uk-form input[type="datetime-local"],
+.uk-contrast .uk-form input[type="date"],
+.uk-contrast .uk-form input[type="month"],
+.uk-contrast .uk-form input[type="time"],
+.uk-contrast .uk-form input[type="week"],
+.uk-contrast .uk-form input[type="number"],
+.uk-contrast .uk-form input[type="email"],
+.uk-contrast .uk-form input[type="url"],
+.uk-contrast .uk-form input[type="search"],
+.uk-contrast .uk-form input[type="tel"],
+.uk-contrast .uk-form input[type="color"] {
+ border-color: rgba(255, 255, 255, 0.8);
+ background: rgba(255, 255, 255, 0.8);
+ color: #444444;
+ background-clip: padding-box;
+}
+.uk-contrast .uk-form select:focus,
+.uk-contrast .uk-form textarea:focus,
+.uk-contrast .uk-form input:not([type]):focus,
+.uk-contrast .uk-form input[type="text"]:focus,
+.uk-contrast .uk-form input[type="password"]:focus,
+.uk-contrast .uk-form input[type="datetime"]:focus,
+.uk-contrast .uk-form input[type="datetime-local"]:focus,
+.uk-contrast .uk-form input[type="date"]:focus,
+.uk-contrast .uk-form input[type="month"]:focus,
+.uk-contrast .uk-form input[type="time"]:focus,
+.uk-contrast .uk-form input[type="week"]:focus,
+.uk-contrast .uk-form input[type="number"]:focus,
+.uk-contrast .uk-form input[type="email"]:focus,
+.uk-contrast .uk-form input[type="url"]:focus,
+.uk-contrast .uk-form input[type="search"]:focus,
+.uk-contrast .uk-form input[type="tel"]:focus,
+.uk-contrast .uk-form input[type="color"]:focus {
+ border-color: #ffffff;
+ background: #ffffff;
+ color: #444444;
+}
+.uk-contrast .uk-form :-ms-input-placeholder {
+ color: rgba(68, 68, 68, 0.7) !important;
+}
+.uk-contrast .uk-form ::-moz-placeholder {
+ color: rgba(68, 68, 68, 0.7);
+}
+.uk-contrast .uk-form ::-webkit-input-placeholder {
+ color: rgba(68, 68, 68, 0.7);
+}
+.uk-contrast .uk-button {
+ color: #444444;
+ background: #ffffff;
+ border-color: transparent;
+}
+.uk-contrast .uk-button:hover,
+.uk-contrast .uk-button:focus {
+ background-color: rgba(255, 255, 255, 0.8);
+ color: #444444;
+ border-color: transparent;
+}
+.uk-contrast .uk-button:active,
+.uk-contrast .uk-button.uk-active {
+ background-color: rgba(255, 255, 255, 0.7);
+ color: #444444;
+ box-shadow: none;
+}
+.uk-contrast .uk-button-primary {
+ background-color: #009dd8;
+ color: #ffffff;
+}
+.uk-contrast .uk-button-primary:hover,
+.uk-contrast .uk-button-primary:focus {
+ background-color: #00aff2;
+ color: #ffffff;
+}
+.uk-contrast .uk-button-primary:active,
+.uk-contrast .uk-button-primary.uk-active {
+ background-color: #008abf;
+ color: #ffffff;
+}
+.uk-contrast .uk-icon-hover {
+ color: rgba(255, 255, 255, 0.7);
+}
+.uk-contrast .uk-icon-hover:hover {
+ color: #ffffff;
+}
+.uk-contrast .uk-icon-button {
+ background: #ffffff;
+ color: #444444;
+ border-color: transparent;
+}
+.uk-contrast .uk-icon-button:hover,
+.uk-contrast .uk-icon-button:focus {
+ background-color: rgba(255, 255, 255, 0.8);
+ color: #444444;
+ border-color: transparent;
+}
+.uk-contrast .uk-icon-button:active {
+ background-color: rgba(255, 255, 255, 0.7);
+ color: #444444;
+ box-shadow: none;
+}
+.uk-contrast .uk-text-muted {
+ color: rgba(255, 255, 255, 0.6) !important;
+}
+.uk-contrast .uk-text-primary {
+ color: #2d7091 !important;
+}
+/* ========================================================================
+ Component: Print
+ ========================================================================== */
+@media print {
+ * {
+ background: transparent !important;
+ color: black !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: 0.5cm;
+ }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+}
diff --git a/uikit/static/css/uikit.gradient.min.css b/uikit/static/css/uikit.gradient.min.css
new file mode 100644
index 0000000..219d523
--- /dev/null
+++ b/uikit/static/css/uikit.gradient.min.css
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+html{font:400 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:radial-gradient(100% 100% at center,#fff,#fff)}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}.uk-link,a{color:#07d;text-decoration:none;cursor:pointer}.uk-link:hover,a: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{background:#ffa;color:#444;text-decoration:none}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}blockquote,figure{margin:0}address,blockquote,dl,fieldset,figure,ol,p,pre,ul{margin:0 0 15px 0}*+address,*+blockquote,*+dl,*+fieldset,*+figure,*+ol,*+p,*+pre,*+ul{margin-top:15px}h1,h2,h3,h4,h5,h6{margin:0 0 15px 0;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}.uk-h1,h1{font-size:36px;line-height:42px}.uk-h2,h2{font-size:24px;line-height:30px}.uk-h3,h3{font-size:18px;line-height:24px}.uk-h4,h4{font-size:16px;line-height:22px}.uk-h5,h5{font-size:14px;line-height:20px}.uk-h6,h6{font-size:12px;line-height:18px}ol,ul{padding-left:30px}ol>li>ol,ol>li>ul,ul>li>ol,ul>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;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{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.uk-grid:after,.uk-grid:before{content:"";display:block;overflow:hidden}.uk-grid:after{clear:both}.uk-grid>*{-ms-flex:none;-webkit-flex:none;flex:none;margin:0;float:left}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid{margin-left:-25px}.uk-grid>*{padding-left:25px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:25px}@media (min-width:1220px){.uk-grid{margin-left:-35px}.uk-grid>*{padding-left:35px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid-collapse{margin-left:0}.uk-grid-collapse>*{padding-left:0}.uk-grid-collapse+.uk-grid-collapse,.uk-grid-collapse>*>.uk-panel+.uk-panel,.uk-grid-collapse>.uk-grid-margin{margin-top:0}.uk-grid-small{margin-left:-10px}.uk-grid-small>*{padding-left:10px}.uk-grid-small+.uk-grid-small,.uk-grid-small>*>.uk-panel+.uk-panel,.uk-grid-small>.uk-grid-margin{margin-top:10px}.uk-grid-medium{margin-left:-25px}.uk-grid-medium>*{padding-left:25px}.uk-grid-medium+.uk-grid-medium,.uk-grid-medium>*>.uk-panel+.uk-panel,.uk-grid-medium>.uk-grid-margin{margin-top:25px}.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-9-]:nth-child(n+2),.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){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(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider>*{padding-left:35px;padding-right:35px}.uk-grid-divider:empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px;border-top:1px solid #ddd}.uk-grid-match>*{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-grid-match>*>*{-ms-flex:none;-webkit-flex:none;flex:none;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;-moz-box-sizing:border-box;box-sizing:border-box;width:100%}[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,.uk-panel:hover{text-decoration:none}.uk-panel:after,.uk-panel:before{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-teaser{margin-bottom:15px}.uk-panel-box{padding:15px;background:#fafafa;color:#444;border:1px solid #ddd;border-radius:4px}.uk-panel-box-hover:hover{color:#444}.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-top:-16px;margin-left:-16px;margin-right:-16px}.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-hover:hover{color:#2d7091}.uk-panel-box-primary .uk-panel-title{color:#2d7091}.uk-panel-box-secondary{background-color:#fff;color:#444}.uk-panel-box-secondary-hover:hover{color:#444}.uk-panel-box-secondary .uk-panel-title{color:#444}.uk-panel-hover{padding:15px;color:#444;border:1px solid transparent;border-radius:4px}.uk-panel-hover:hover{background:#fafafa;color:#444;border-color:#ddd}.uk-panel-hover .uk-panel-badge{top:10px;right:10px}.uk-panel-hover .uk-panel-teaser{margin-top:-16px;margin-left:-16px;margin-right:-16px}.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;overflow:hidden;-webkit-transform:translateZ(0)}.uk-block{position:relative;-moz-box-sizing:border-box;box-sizing:border-box;padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block{padding-top:50px;padding-bottom:50px}}.uk-block:after,.uk-block:before{content:"";display:table}.uk-block:after{clear:both}.uk-block>:last-child{margin-bottom:0}.uk-block-large{padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block-large{padding-top:50px;padding-bottom:50px}}@media (min-width:960px){.uk-block-large{padding-top:100px;padding-bottom:100px}}.uk-block-default{background:#fff}.uk-block-muted{background:#f9f9f9}.uk-block-primary{background:#00a8e6}.uk-block-secondary{background:#222}.uk-block-default+.uk-block-default,.uk-block-muted+.uk-block-muted,.uk-block-primary+.uk-block-primary,.uk-block-secondary+.uk-block-secondary{padding-top:0}.uk-article:after,.uk-article:before{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:after,.uk-comment-header:before{content:"";display:table}.uk-comment-header:after{clear:both}.uk-comment-avatar{margin-right:15px;float:left}.uk-comment-title{margin:5px 0 0 0;font-size:16px;line-height:22px}.uk-comment-meta{margin:2px 0 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 0;list-style:none}.uk-comment-list .uk-comment+ul>li:nth-child(n+2),.uk-comment-list>li:nth-child(n+2){margin-top:25px}@media (min-width:768px){.uk-comment-list .uk-comment+ul{padding-left:100px}}.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-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;position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}[data-uk-cover]{position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.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:focus,.uk-nav-side>li>a:hover{background:rgba(0,0,0,.03);color:#444;outline:0;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:focus,.uk-nav-dropdown>li>a:hover{background:#009dd8;color:#fff;outline:0;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:focus,.uk-nav-navbar>li>a:hover{background:#009dd8;color:#fff;outline:0;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:focus,html:not(.uk-touch) .uk-nav-offcanvas>li>a:hover{background:#404040;color:#fff;outline:0}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:after,.uk-navbar:before{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>a[href='#']{cursor:text}.uk-navbar-nav>li.uk-open>a,.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus{background-color:transparent;color:#444;outline:0;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-brand,.uk-navbar-content,.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-brand:before,.uk-navbar-content: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:focus,.uk-navbar-brand:hover{color:#444;text-decoration:none;outline:0}.uk-navbar-toggle{font-size:18px;color:#444;text-decoration:none}.uk-navbar-toggle:focus,.uk-navbar-toggle:hover{color:#444;text-decoration:none;outline:0}.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{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-subnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;position:relative}.uk-subnav:after,.uk-subnav:before{content:"";display:block;overflow:hidden}.uk-subnav:after{clear:both}.uk-subnav>*{float:left}.uk-subnav>*>*{display:inline-block;color:#444}.uk-subnav>*>:focus,.uk-subnav>*>:hover{color:#07d;text-decoration:none}.uk-subnav>.uk-active>*{color:#07d}.uk-subnav-line>:before{content:"";display:inline-block;height:10px;vertical-align:middle}.uk-subnav-line>:nth-child(n+2):before{margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>*>*{padding:3px 9px;border-radius:4px}.uk-subnav-pill>*>:focus,.uk-subnav-pill>*>:hover{background:#fafafa;color:#444;text-decoration:none;outline:0;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.uk-subnav-pill>.uk-active>*{background:#009dd8;color:#fff;box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.uk-subnav>.uk-disabled>*{background:0 0;color:#999;text-decoration:none;cursor:text;box-shadow:none}.uk-breadcrumb{padding:0;list-style:none;font-size:0}.uk-breadcrumb>li{font-size:1rem;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:0}.uk-pagination:after,.uk-pagination:before{content:"";display:table}.uk-pagination:after{clear:both}.uk-pagination>li{display:inline-block;font-size:1rem;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:focus,.uk-pagination>li>a:hover{background-color:#fafafa;color:#444;outline:0;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:after,.uk-tab:before{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 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.uk-open>a,.uk-tab>li>a:focus,.uk-tab>li>a:hover{border-color:#ddd;background:#fafafa;color:#059;outline:0}.uk-tab>li.uk-open:not(.uk-active)>a,.uk-tab>li:not(.uk-active)>a:focus,.uk-tab>li:not(.uk-active)>a:hover{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:text}.uk-tab>li.uk-disabled.uk-active>a,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled>a:hover{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:after,.uk-tab-center:before{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.uk-open:not(.uk-active)>a,.uk-tab-bottom>li:not(.uk-active)>a:focus,.uk-tab-bottom>li:not(.uk-active)>a:hover{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:focus,.uk-tab-left>li:not(.uk-active)>a:hover{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:focus,.uk-tab-right>li:not(.uk-active)>a:hover{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-thumbnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-thumbnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px}.uk-thumbnav:after,.uk-thumbnav:before{content:"";display:block;overflow:hidden}.uk-thumbnav:after{clear:both}.uk-thumbnav>*{float:left}.uk-thumbnav>*>*{display:block;background:#fff}.uk-thumbnav>*>*>img{opacity:.7;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-thumbnav>*>:focus>img,.uk-thumbnav>*>:hover>img{opacity:1}.uk-thumbnav>.uk-active>*>img{opacity:1}.uk-list{padding:0;list-style:none}.uk-list>li:after,.uk-list>li:before{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 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 td,.uk-table th{padding:8px 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 tbody tr.uk-active{background:#f0f0f0}.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 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],.uk-form textarea{-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 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],.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=color],.uk-form select,.uk-form textarea{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 input:not([type]):focus,.uk-form input[type=text]:focus,.uk-form input[type=password]: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=number]: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=color]:focus,.uk-form select:focus,.uk-form textarea:focus{border-color:#99baca;outline:0;background:#f5fbfe;color:#444}.uk-form input:not([type]):disabled,.uk-form input[type=text]:disabled,.uk-form input[type=password]: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=number]: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=color]:disabled,.uk-form select:disabled,.uk-form textarea: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;padding-bottom:15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd;width:100%}input:not([type]).uk-form-small,input[type].uk-form-small,select.uk-form-small,textarea.uk-form-small{height:25px;padding:3px 3px;font-size:12px}input:not([type]).uk-form-large,input[type].uk-form-large,select.uk-form-large,textarea.uk-form-large{height:40px;padding:8px 6px;font-size:16px}.uk-form select[multiple],.uk-form select[size],.uk-form textarea{height:auto}.uk-form-danger{border-color:#dc8d99!important;background:#fff7f8!important;color:#d85030!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#659f13!important}.uk-form-blank{border-color:transparent!important;border-style:dashed!important;background:0 0!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:after,.uk-form-row:before{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 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:1rem;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:focus,.uk-button:hover{background-color:#fafafa;color:#444;outline:0;text-decoration:none;background-image:none}.uk-button.uk-active,.uk-button: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:focus,.uk-button-primary:hover{background-color:#00aff2;color:#fff;background-image:none}.uk-button-primary.uk-active,.uk-button-primary: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:focus,.uk-button-success:hover{background-color:#8fce48;color:#fff;background-image:none}.uk-button-success.uk-active,.uk-button-success: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:focus,.uk-button-danger:hover{background-color:#e33551;color:#fff;background-image:none}.uk-button-danger.uk-active,.uk-button-danger: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.uk-active,.uk-button-link:active,.uk-button-link:disabled,.uk-button-link:focus,.uk-button-link:hover{border-color:transparent;background:0 0;box-shadow:none;text-shadow:none}.uk-button-link{color:#07d}.uk-button-link.uk-active,.uk-button-link:active,.uk-button-link:focus,.uk-button-link:hover{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{display:inline-block;vertical-align:middle;position:relative;font-size:0;white-space:nowrap}.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.woff2)format('woff2'),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}[class*=uk-icon-],[class*=uk-icon-]:focus,[class*=uk-icon-]:hover{text-decoration:none}.uk-icon-small{font-size:150%;vertical-align:-10%}.uk-icon-medium{font-size:200%;vertical-align:-16%}.uk-icon-large{font-size:250%;vertical-align:-22%}.uk-icon-justify{width:1em;text-align:center}.uk-icon-spin{display:inline-block;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-hover{color:#999}.uk-icon-hover:hover{color:#444}.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:focus,.uk-icon-button:hover{background-color:#fafafa;color:#444;outline:0;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-close:before,.uk-icon-remove: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-cog:before,.uk-icon-gear: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-repeat:before,.uk-icon-rotate-right: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-image:before,.uk-icon-photo: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-exclamation-triangle:before,.uk-icon-warning: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-cogs:before,.uk-icon-gears: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-f:before,.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-floppy-o:before,.uk-icon-save:before{content:"\f0c7"}.uk-icon-square:before{content:"\f0c8"}.uk-icon-bars:before,.uk-icon-navicon:before,.uk-icon-reorder: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-sort:before,.uk-icon-unsorted:before{content:"\f0dc"}.uk-icon-sort-desc:before,.uk-icon-sort-down:before{content:"\f0dd"}.uk-icon-sort-asc:before,.uk-icon-sort-up: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-gavel:before,.uk-icon-legal: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-bolt:before,.uk-icon-flash:before{content:"\f0e7"}.uk-icon-sitemap:before{content:"\f0e8"}.uk-icon-umbrella:before{content:"\f0e9"}.uk-icon-clipboard:before,.uk-icon-paste: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-chain-broken:before,.uk-icon-unlink: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-caret-square-o-down:before,.uk-icon-toggle-down:before{content:"\f150"}.uk-icon-caret-square-o-up:before,.uk-icon-toggle-up:before{content:"\f151"}.uk-icon-caret-square-o-right:before,.uk-icon-toggle-right:before{content:"\f152"}.uk-icon-eur:before,.uk-icon-euro:before{content:"\f153"}.uk-icon-gbp:before{content:"\f154"}.uk-icon-dollar:before,.uk-icon-usd:before{content:"\f155"}.uk-icon-inr:before,.uk-icon-rupee:before{content:"\f156"}.uk-icon-cny:before,.uk-icon-jpy:before,.uk-icon-rmb:before,.uk-icon-yen:before{content:"\f157"}.uk-icon-rouble:before,.uk-icon-rub:before,.uk-icon-ruble:before{content:"\f158"}.uk-icon-krw:before,.uk-icon-won: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,.uk-icon-gratipay: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-caret-square-o-left:before,.uk-icon-toggle-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-try:before,.uk-icon-turkish-lira: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-bank:before,.uk-icon-institution:before,.uk-icon-university:before{content:"\f19c"}.uk-icon-graduation-cap:before,.uk-icon-mortar-board: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-image-o:before,.uk-icon-file-photo-o:before,.uk-icon-file-picture-o:before{content:"\f1c5"}.uk-icon-file-archive-o:before,.uk-icon-file-zip-o:before{content:"\f1c6"}.uk-icon-file-audio-o:before,.uk-icon-file-sound-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-ring:before,.uk-icon-life-saver:before,.uk-icon-support:before{content:"\f1cd"}.uk-icon-circle-o-notch:before{content:"\f1ce"}.uk-icon-ra:before,.uk-icon-rebel:before{content:"\f1d0"}.uk-icon-empire:before,.uk-icon-ge: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-paper-plane:before,.uk-icon-send:before{content:"\f1d8"}.uk-icon-paper-plane-o:before,.uk-icon-send-o:before{content:"\f1d9"}.uk-icon-history:before{content:"\f1da"}.uk-icon-circle-thin:before,.uk-icon-genderless: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-futbol-o:before,.uk-icon-soccer-ball-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-ils:before,.uk-icon-shekel:before,.uk-icon-sheqel:before{content:"\f20b"}.uk-icon-meanpath:before{content:"\f20c"}.uk-icon-buysellads:before{content:"\f20d"}.uk-icon-connectdevelop:before{content:"\f20e"}.uk-icon-dashcube:before{content:"\f210"}.uk-icon-forumbee:before{content:"\f211"}.uk-icon-leanpub:before{content:"\f212"}.uk-icon-sellsy:before{content:"\f213"}.uk-icon-shirtsinbulk:before{content:"\f214"}.uk-icon-simplybuilt:before{content:"\f215"}.uk-icon-skyatlas:before{content:"\f216"}.uk-icon-cart-plus:before{content:"\f217"}.uk-icon-cart-arrow-down:before{content:"\f218"}.uk-icon-diamond:before{content:"\f219"}.uk-icon-ship:before{content:"\f21a"}.uk-icon-user-secret:before{content:"\f21b"}.uk-icon-motorcycle:before{content:"\f21c"}.uk-icon-street-view:before{content:"\f21d"}.uk-icon-heartbeat:before{content:"\f21e"}.uk-icon-venus:before{content:"\f221"}.uk-icon-mars:before{content:"\f222"}.uk-icon-mercury:before{content:"\f223"}.uk-icon-transgender:before{content:"\f224"}.uk-icon-transgender-alt:before{content:"\f225"}.uk-icon-venus-double:before{content:"\f226"}.uk-icon-mars-double:before{content:"\f227"}.uk-icon-venus-mars:before{content:"\f228"}.uk-icon-mars-stroke:before{content:"\f229"}.uk-icon-mars-stroke-v:before{content:"\f22a"}.uk-icon-mars-stroke-h:before{content:"\f22b"}.uk-icon-neuter:before{content:"\f22c"}.uk-icon-facebook-official:before{content:"\f230"}.uk-icon-pinterest-p:before{content:"\f231"}.uk-icon-whatsapp:before{content:"\f232"}.uk-icon-server:before{content:"\f233"}.uk-icon-user-plus:before{content:"\f234"}.uk-icon-user-times:before{content:"\f235"}.uk-icon-bed:before,.uk-icon-hotel:before{content:"\f236"}.uk-icon-viacoin:before{content:"\f237"}.uk-icon-train:before{content:"\f238"}.uk-icon-subway:before{content:"\f239"}.uk-icon-medium-logo:before{content:"\f23a"}.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:focus,.uk-close:hover{opacity:.5;outline:0;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:focus,.uk-close-alt:hover{opacity:1}.uk-close-alt:after{opacity:.5}.uk-close-alt:focus:after,.uk-close-alt:hover: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;padding:10px;background:#ebf7fd;color:#2d7091;border:1px solid rgba(45,112,145,.3);border-radius:4px;text-shadow:0 1px 0 #fff}*+.uk-alert{margin-top:15px}.uk-alert>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert>.uk-close:first-child{float:right}.uk-alert>.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{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{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:focus,a.uk-thumbnail:hover{border-color:#aaa;background-color:#fff;text-decoration:none;outline:0;box-shadow:0 1px 4px rgba(0,0,0,.3)}.uk-thumbnail-caption{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;-webkit-transform:translateZ(0);margin:0}.uk-overlay.uk-border-circle{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.uk-overlay>:first-child{margin-bottom:0}.uk-overlay-panel{position:absolute;top:0;bottom:0;left:0;right:0;padding:20px;color:#fff}.uk-overlay-panel.uk-flex>*>:last-child,.uk-overlay-panel>:last-child{margin-bottom:0}.uk-overlay-panel h1,.uk-overlay-panel h2,.uk-overlay-panel h3,.uk-overlay-panel h4,.uk-overlay-panel h5,.uk-overlay-panel h6{color:inherit}.uk-overlay-panel a:not([class]){color:inherit;text-decoration:underline}.uk-overlay-panel a[class*=uk-icon-]:not(.uk-icon-button){color:inherit}.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-active :not(.uk-active)>.uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-background{background:rgba(0,0,0,.5)}.uk-overlay-image{padding:0}.uk-overlay-top{bottom:auto}.uk-overlay-bottom{top:auto}.uk-overlay-left{right:auto}.uk-overlay-right{left:auto}.uk-overlay-icon: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-blur,.uk-overlay-fade,.uk-overlay-grayscale,.uk-overlay-scale,.uk-overlay-spin,[class*=uk-overlay-slide]{transition-duration:.3s;transition-timing-function:ease-out;transition-property:opacity transform filter}.uk-overlay-active .uk-overlay-fade,.uk-overlay-active .uk-overlay-scale,.uk-overlay-active .uk-overlay-spin,.uk-overlay-active [class*=uk-overlay-slide]{transition-duration:.8s}.uk-overlay-fade{opacity:.7}.uk-overlay-active .uk-active>.uk-overlay-fade,.uk-overlay-hover:hover .uk-overlay-fade{opacity:1}.uk-overlay-scale{-webkit-transform:scale(1);transform:scale(1)}.uk-overlay-active .uk-active>.uk-overlay-scale,.uk-overlay-hover:hover .uk-overlay-scale{-webkit-transform:scale(1.1);transform:scale(1.1)}.uk-overlay-spin{-webkit-transform:scale(1)rotate(0);transform:scale(1)rotate(0)}.uk-overlay-active .uk-active>.uk-overlay-spin,.uk-overlay-hover:hover .uk-overlay-spin{-webkit-transform:scale(1.1)rotate(3deg);transform:scale(1.1)rotate(3deg)}.uk-overlay-grayscale{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.uk-overlay-active .uk-active>.uk-overlay-grayscale,.uk-overlay-hover:hover .uk-overlay-grayscale{-webkit-filter:grayscale(0);filter:grayscale(0)}[class*=uk-overlay-slide]{opacity:0}.uk-overlay-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.uk-overlay-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.uk-overlay-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.uk-overlay-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-overlay-active .uk-active>[class*=uk-overlay-slide],.uk-overlay-hover:hover [class*=uk-overlay-slide]{opacity:1;-webkit-transform:translateX(0)translateY(0);transform:translateX(0)translateY(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-toggle.uk-hover .uk-overlay-area,.uk-overlay-toggle:hover .uk-overlay-area,.uk-overlay.uk-hover .uk-overlay-area,.uk-overlay: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:0}.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:1rem;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-toggle.uk-hover .uk-overlay-caption,.uk-overlay-toggle:hover .uk-overlay-caption,.uk-overlay.uk-hover .uk-overlay-caption,.uk-overlay:hover .uk-overlay-caption{opacity:1}[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-]:not([data-uk-scrollspy*=target]){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-in;animation-timing-function:ease-in}.uk-animation-15{-webkit-animation-duration:15s;animation-duration:15s}.uk-animation-top-left{-webkit-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.uk-animation-hover:not(:hover),.uk-animation-hover:not(:hover) [class*=uk-animation-],.uk-touch .uk-animation-hover:not(.uk-hover),.uk-touch .uk-animation-hover:not(.uk-hover) [class*=uk-animation-]{-webkit-animation-name:none;animation-name:none}@-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;transform:translateY(-100%)}100%{opacity:1;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;transform:translateY(100%)}100%{opacity:1;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;transform:translateX(-100%)}100%{opacity:1;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;transform:translateX(100%)}100%{opacity:1;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;transform:scale(.2)}100%{opacity: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;transform:scale(1.5)}100%{opacity: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;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{transform:translateX(100%)}100%{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%{transform:translateX(33%)}100%{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%{transform:translateX(-33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{transform:scale(1.2)}100%{transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{transform:rotate(0)}100%{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%{transform:translateX(0)}10%{transform:translateX(-9px)}20%{transform:translateX(8px)}30%{transform:translateX(-7px)}40%{transform:translateX(6px)}50%{transform:translateX(-5px)}60%{transform:translateX(4px)}70%{transform:translateX(-3px)}80%{transform:translateX(2px)}90%{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;transform:translateY(-10px)}100%{opacity:1;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;transform:translateY(10px)}100%{opacity:1;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:1rem;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;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{margin-top:15px}.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;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;touch-action:cross-slide-y pinch-zoom double-tap-zoom;-webkit-transform:translateZ(0);transform:translateZ(0)}.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:100%;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-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 auto}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:not([class*=uk-modal-]):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+:not([class*=uk-modal-]){margin-top:0}.uk-modal-dialog-lightbox{margin:15px auto;padding:0;max-width:95%;max-width:calc(100% - 30px);border-radius:0}.uk-modal-dialog-lightbox>.uk-close:first-child{position:absolute;top:-12px;right:-12px;margin:0;float:none}@media (max-width:767px){.uk-modal-dialog-lightbox>.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-modal-header{margin-bottom:15px;margin:-20px -20px 15px -20px;padding:20px;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0;background:#fafafa}.uk-modal-footer{margin-top:15px;margin:15px -20px -20px -20px;padding:20px;border-top:1px solid #ddd;border-radius:0 0 4px 4px;background:#fafafa}.uk-modal-footer>:last-child,.uk-modal-header>:last-child{margin-bottom:0}.uk-modal-caption{position:absolute;left:0;right:0;bottom:-20px;margin-bottom:-10px;color:#fff;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-modal-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:25px;color:#ddd}.uk-modal-spinner:after{content:"\f110";font-family:FontAwesome;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-offcanvas{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;touch-action:none;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%);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;-ms-scroll-chaining:none}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0);transform:translateX(0)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-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;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;width:1px;background:rgba(0,0,0,.6);box-shadow:0 0 5px 2px rgba(0,0,0,.6)}.uk-switcher{margin:0;padding:0;list-style:none;touch-action:cross-slide-y pinch-zoom double-tap-zoom}.uk-switcher>:not(.uk-active){display:none}.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-contrast{color:#fff!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}.uk-text-left-medium{text-align:left!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}.uk-text-left-small{text-align:left!important}}.uk-text-nowrap{white-space:nowrap}.uk-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}@media (min-width:1220px){.uk-container{max-width:1200px;padding:0 35px}}.uk-container:after,.uk-container:before{content:"";display:table}.uk-container:after{clear:both}.uk-container-center{margin-left:auto;margin-right:auto}.uk-clearfix:before{content:"";display:table-cell}.uk-clearfix:after{content:"";display:table;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:0}.uk-vertical-align:before{content:'';display:inline-block;height:100%;vertical-align:middle}.uk-vertical-align-bottom,.uk-vertical-align-middle{display:inline-block;max-width:100%;font-size:1rem}.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-height,.uk-responsive-width{-moz-box-sizing:border-box;box-sizing:border-box}.uk-responsive-width{max-width:100%!important;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{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-padding-remove{padding:0!important}.uk-padding-top-remove{padding-top:0!important}.uk-padding-bottom-remove{padding-bottom:0!important}.uk-padding-vertical-remove{padding-top:0!important;padding-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}.uk-heading-large{font-size:36px;line-height:42px}@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 a:hover,.uk-link-muted:hover{color:#444}.uk-link-reset,.uk-link-reset a,.uk-link-reset a:focus,.uk-link-reset a:hover,.uk-link-reset:focus,.uk-link-reset:hover{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll;-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;-webkit-overflow-scrolling:touch;resize:both;border-radius:3px}.uk-scrollable-box>:last-child{margin-bottom:0}.uk-overflow-hidden{overflow:hidden}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-overflow-container>:last-child{margin-bottom:0}.uk-position-absolute,[class*=uk-position-top],[class*=uk-position-bottom]{position:absolute!important}.uk-position-top{top:0;width:100%}.uk-position-bottom{bottom:0;width:100%}.uk-position-top-left{top:0;left:0}.uk-position-top-right{top:0;right:0}.uk-position-bottom-left{bottom:0;left:0}.uk-position-bottom-right{bottom:0;right:0}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-position-relative{position:relative!important}.uk-position-z-index{z-index:1}.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{display:none!important}.uk-visible-medium{display:none!important}.uk-hidden-large{display:none!important}}@media (min-width:768px)and (max-width:959px){.uk-visible-small{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-medium{display:none!important}}@media (max-width:767px){.uk-visible-medium{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-small{display:none!important}}.uk-hidden{display:none!important;visibility:hidden!important}.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}.uk-notouch .uk-hidden-notouch,.uk-touch .uk-hidden-touch{display:none!important}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-inline{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.uk-flex-inline>*,.uk-flex>*{-ms-flex-negative:1}.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-flex-space-between{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.uk-flex-space-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.uk-flex-row-reverse{-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.uk-flex-column{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-flex-column-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}.uk-flex-nowrap{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.uk-flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.uk-flex-wrap-top{-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start}.uk-flex-wrap-middle{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.uk-flex-wrap-bottom{-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end}.uk-flex-wrap-space-between{-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between}.uk-flex-wrap-space-around{-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around}.uk-flex-order-first{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last{-ms-flex-order:99;-webkit-order:99;order:99}@media (min-width:480px){.uk-flex-order-first-small{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-small{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:768px){.uk-flex-order-first-medium{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-medium{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:960px){.uk-flex-order-first-large{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-large{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:1220px){.uk-flex-order-first-xlarge{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-xlarge{-ms-flex-order:99;-webkit-order:99;order:99}}.uk-flex-item-none{-ms-flex:none;-webkit-flex:none;flex:none}.uk-flex-item-auto{-ms-flex:auto;-webkit-flex:auto;flex:auto;-ms-flex-negative:1}.uk-flex-item-1{-ms-flex:1;-webkit-flex:1;flex:1}.uk-contrast{color:#fff}.uk-contrast .uk-link,.uk-contrast a:not([class]){color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-link:hover,.uk-contrast a:not([class]):hover{color:#fff;text-decoration:underline}.uk-contrast :not(pre)>code,.uk-contrast :not(pre)>kbd,.uk-contrast :not(pre)>samp{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1)}.uk-contrast em{color:#fff}.uk-contrast h1,.uk-contrast h2,.uk-contrast h3,.uk-contrast h4,.uk-contrast h5,.uk-contrast h6{color:#fff}.uk-contrast hr{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav li>a,.uk-contrast .uk-nav li>a:hover{text-decoration:none}.uk-contrast .uk-nav-side>li>a{color:#fff}.uk-contrast .uk-nav-side>li>a:focus,.uk-contrast .uk-nav-side>li>a:hover{background:rgba(255,255,255,.1);color:#fff;text-shadow:none}.uk-contrast .uk-nav-side>li.uk-active>a{background:#fff;color:#444;text-shadow:none}.uk-contrast .uk-nav-side .uk-nav-header{color:#fff}.uk-contrast .uk-nav-side .uk-nav-divider{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav-side ul a{color:rgba(255,255,255,.7)}.uk-contrast .uk-nav-side ul a:hover{color:#fff}.uk-contrast .uk-subnav>*>a{color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-subnav>*>a:focus,.uk-contrast .uk-subnav>*>a:hover{color:#fff;text-decoration:none}.uk-contrast .uk-subnav>.uk-active>a{color:#fff}.uk-contrast .uk-subnav-line>:nth-child(n+2):before{border-left-color:rgba(255,255,255,.2)}.uk-contrast .uk-subnav-pill>*>a:focus,.uk-contrast .uk-subnav-pill>*>a:hover{background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-subnav-pill>.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-list-line>li:nth-child(n+2){border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-form input:not([type]),.uk-contrast .uk-form input[type=text],.uk-contrast .uk-form input[type=password],.uk-contrast .uk-form input[type=email],.uk-contrast .uk-form input[type=url],.uk-contrast .uk-form input[type=search],.uk-contrast .uk-form input[type=tel],.uk-contrast .uk-form input[type=number],.uk-contrast .uk-form input[type=datetime],.uk-contrast .uk-form input[type=datetime-local],.uk-contrast .uk-form input[type=date],.uk-contrast .uk-form input[type=month],.uk-contrast .uk-form input[type=time],.uk-contrast .uk-form input[type=week],.uk-contrast .uk-form input[type=color],.uk-contrast .uk-form select,.uk-contrast .uk-form textarea{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.8);color:#444;background-clip:padding-box}.uk-contrast .uk-form input:not([type]):focus,.uk-contrast .uk-form input[type=text]:focus,.uk-contrast .uk-form input[type=password]:focus,.uk-contrast .uk-form input[type=email]:focus,.uk-contrast .uk-form input[type=url]:focus,.uk-contrast .uk-form input[type=search]:focus,.uk-contrast .uk-form input[type=tel]:focus,.uk-contrast .uk-form input[type=number]:focus,.uk-contrast .uk-form input[type=datetime]:focus,.uk-contrast .uk-form input[type=datetime-local]:focus,.uk-contrast .uk-form input[type=date]:focus,.uk-contrast .uk-form input[type=month]:focus,.uk-contrast .uk-form input[type=time]:focus,.uk-contrast .uk-form input[type=week]:focus,.uk-contrast .uk-form input[type=color]:focus,.uk-contrast .uk-form select:focus,.uk-contrast .uk-form textarea:focus{border-color:#fff;background:#fff;color:#444}.uk-contrast .uk-form :-ms-input-placeholder{color:rgba(68,68,68,.7)!important}.uk-contrast .uk-form ::-moz-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-form ::-webkit-input-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-button{color:#444;background:#fff;border-color:transparent}.uk-contrast .uk-button:focus,.uk-contrast .uk-button:hover{background-color:rgba(255,255,255,.8);color:#444;border-color:transparent}.uk-contrast .uk-button.uk-active,.uk-contrast .uk-button:active{background-color:rgba(255,255,255,.7);color:#444;box-shadow:none}.uk-contrast .uk-button-primary{background-color:#009dd8;color:#fff}.uk-contrast .uk-button-primary:focus,.uk-contrast .uk-button-primary:hover{background-color:#00aff2;color:#fff}.uk-contrast .uk-button-primary.uk-active,.uk-contrast .uk-button-primary:active{background-color:#008abf;color:#fff}.uk-contrast .uk-icon-hover{color:rgba(255,255,255,.7)}.uk-contrast .uk-icon-hover:hover{color:#fff}.uk-contrast .uk-icon-button{background:#fff;color:#444;border-color:transparent}.uk-contrast .uk-icon-button:focus,.uk-contrast .uk-icon-button:hover{background-color:rgba(255,255,255,.8);color:#444;border-color:transparent}.uk-contrast .uk-icon-button:active{background-color:rgba(255,255,255,.7);color:#444;box-shadow:none}.uk-contrast .uk-text-muted{color:rgba(255,255,255,.6)!important}.uk-contrast .uk-text-primary{color:#2d7091!important}@media print{*{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}} \ No newline at end of file
diff --git a/uikit/static/css/uikit.min.css b/uikit/static/css/uikit.min.css
new file mode 100644
index 0000000..900b8ae
--- /dev/null
+++ b/uikit/static/css/uikit.min.css
@@ -0,0 +1 @@
+html{font:400 14px / 20px "Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background:#fff;color:#444}body{margin:0}a{background:transparent}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{background:#ffa;color:#444;text-decoration:none}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}blockquote,figure{margin:0}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{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.uk-grid:before,.uk-grid:after{content:"";display:block;overflow:hidden}.uk-grid:after{clear:both}.uk-grid>*{-ms-flex:none;-webkit-flex:none;flex:none;margin:0;float:left}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid{margin-left:-25px}.uk-grid>*{padding-left:25px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:25px}@media (min-width:1220px){.uk-grid{margin-left:-35px}.uk-grid>*{padding-left:35px}.uk-grid+.uk-grid,.uk-grid-margin,.uk-grid>*>.uk-panel+.uk-panel{margin-top:35px}}.uk-grid-collapse{margin-left:0}.uk-grid-collapse>*{padding-left:0}.uk-grid-collapse+.uk-grid-collapse,.uk-grid-collapse>.uk-grid-margin,.uk-grid-collapse>*>.uk-panel+.uk-panel{margin-top:0}.uk-grid-small{margin-left:-10px}.uk-grid-small>*{padding-left:10px}.uk-grid-small+.uk-grid-small,.uk-grid-small>.uk-grid-margin,.uk-grid-small>*>.uk-panel+.uk-panel{margin-top:10px}.uk-grid-medium{margin-left:-25px}.uk-grid-medium>*{padding-left:25px}.uk-grid-medium+.uk-grid-medium,.uk-grid-medium>.uk-grid-margin,.uk-grid-medium>*>.uk-panel+.uk-panel{margin-top:25px}.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(:empty){margin-left:-35px;margin-right:-35px}.uk-grid-divider>*{padding-left:35px;padding-right:35px}.uk-grid-divider:empty{margin-top:35px;margin-bottom:35px}}.uk-grid-divider:empty{margin-top:25px;margin-bottom:25px;border-top:1px solid #ddd}.uk-grid-match>*{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-grid-match>*>*{-ms-flex:none;-webkit-flex:none;flex:none;box-sizing:border-box;width:100%}[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,.uk-panel:hover{text-decoration:none}.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-teaser{margin-bottom:15px}.uk-panel-box{padding:15px;background:#fafafa;color:#444;border:1px solid #ddd;border-radius:4px}.uk-panel-box-hover:hover{color:#444}.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-top:-16px;margin-left:-16px;margin-right:-16px}.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-hover:hover{color:#2d7091}.uk-panel-box-primary .uk-panel-title{color:#2d7091}.uk-panel-box-secondary{background-color:#fff;color:#444}.uk-panel-box-secondary-hover:hover{color:#444}.uk-panel-box-secondary .uk-panel-title{color:#444}.uk-panel-hover{padding:15px;color:#444;border:1px solid transparent;border-radius:4px}.uk-panel-hover:hover{background:#fafafa;color:#444;border-color:#ddd}.uk-panel-hover .uk-panel-badge{top:10px;right:10px}.uk-panel-hover>.uk-panel-teaser{margin-top:-16px;margin-left:-16px;margin-right:-16px}.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;overflow:hidden;-webkit-transform:translateZ(0)}.uk-block{position:relative;box-sizing:border-box;padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block{padding-top:50px;padding-bottom:50px}}.uk-block:before,.uk-block:after{content:"";display:table}.uk-block:after{clear:both}.uk-block>:last-child{margin-bottom:0}.uk-block-large{padding-top:20px;padding-bottom:20px}@media (min-width:768px){.uk-block-large{padding-top:50px;padding-bottom:50px}}@media (min-width:960px){.uk-block-large{padding-top:100px;padding-bottom:100px}}.uk-block-default{background:#fff}.uk-block-muted{background:#f9f9f9}.uk-block-primary{background:#00a8e6}.uk-block-secondary{background:#222}.uk-block-default+.uk-block-default,.uk-block-muted+.uk-block-muted,.uk-block-primary+.uk-block-primary,.uk-block-secondary+.uk-block-secondary{padding-top:0}.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:100px}}.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-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;position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}[data-uk-cover]{position:relative;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.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:0;box-shadow:inset 0 0 1px rgba(0,0,0,.06);text-shadow:0 -1px 0 #fff}.uk-nav-side>li.uk-active>a{background:#00a8e6;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.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:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.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:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.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:0}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:#f5f5f5;color:#444;border:1px solid rgba(0,0,0,.06);border-radius:4px}.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>a[href='#']{cursor:text}.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a:focus,.uk-navbar-nav>li.uk-open>a{background-color:#fafafa;color:#444;outline:0;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)}.uk-navbar-nav>li>a:active{background-color:#eee;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)}.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,.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:0}.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:0}.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{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-subnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px;position:relative}.uk-subnav:before,.uk-subnav:after{content:"";display:block;overflow:hidden}.uk-subnav:after{clear:both}.uk-subnav>*{float:left}.uk-subnav>*>*{display:inline-block;color:#444}.uk-subnav>*>:hover,.uk-subnav>*>:focus{color:#07d;text-decoration:none}.uk-subnav>.uk-active>*{color:#07d}.uk-subnav-line>:before{content:"";display:inline-block;height:10px;vertical-align:middle}.uk-subnav-line>:nth-child(n+2):before{margin-right:10px;border-left:1px solid #ddd}.uk-subnav-pill>*>*{padding:3px 9px;border-radius:4px}.uk-subnav-pill>*>:hover,.uk-subnav-pill>*>:focus{background:#fafafa;color:#444;text-decoration:none;outline:0;box-shadow:0 0 0 1px rgba(0,0,0,.15)}.uk-subnav-pill>.uk-active>*{background:#00a8e6;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05)}.uk-subnav>.uk-disabled>*{background:0;color:#999;text-decoration:none;cursor:text;box-shadow:none}.uk-breadcrumb{padding:0;list-style:none;font-size:.001px}.uk-breadcrumb>li{font-size:1rem;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:1rem;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:1px solid rgba(0,0,0,.06);border-radius:4px}.uk-pagination>li>a{background:#f5f5f5;color:#444;text-shadow:0 1px 0 #fff}.uk-pagination>li>a:hover,.uk-pagination>li>a:focus{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.16)}.uk-pagination>li>a:active{background-color:#eee;color:#444}.uk-pagination>.uk-active>span{background:#00a8e6;color:#fff;border-color:transparent;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-pagination>.uk-disabled>span{background-color:#fafafa;color:#999;border:1px solid rgba(0,0,0,.06);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:rgba(0,0,0,.06);background:#f5f5f5;color:#059;outline:0}.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:text}.uk-tab>li.uk-disabled>a:hover,.uk-tab>li.uk-disabled>a:focus,.uk-tab>li.uk-disabled.uk-active>a{background: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:0;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:0;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:0}.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:0;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:0}.uk-tab-grid.uk-tab-bottom:before{top:-1px;bottom:auto}@media (min-width:768px){.uk-tab-left,.uk-tab-right{border-bottom:0}.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-thumbnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-10px;margin-top:-10px;padding:0;list-style:none}.uk-thumbnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:10px;margin-top:10px}.uk-thumbnav:before,.uk-thumbnav:after{content:"";display:block;overflow:hidden}.uk-thumbnav:after{clear:both}.uk-thumbnav>*{float:left}.uk-thumbnav>*>*{display:block;background:#fff}.uk-thumbnav>*>*>img{opacity:.7;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.uk-thumbnav>*>:hover>img,.uk-thumbnav>*>:focus>img{opacity:1}.uk-thumbnav>.uk-active>*>img{opacity:1}.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:#b87c7c}.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 tbody tr.uk-active{background:#f0f0f0}.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:0;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;padding-bottom:15px;font-size:18px;line-height:30px}.uk-form legend:after{content:"";display:block;border-bottom:1px solid #ddd;width:100%}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:#d85030!important}.uk-form-success{border-color:#8ec73b!important;background:#fafff2!important;color:#659f13!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:-8px;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:0;overflow:visible;font:inherit;color:#444;text-transform:none;display:inline-block;box-sizing:border-box;padding:0 12px;background:#f5f5f5;vertical-align:middle;line-height:28px;min-height:30px;font-size:1rem;text-decoration:none;text-align:center;border:1px solid rgba(0,0,0,.06);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:0;text-decoration:none;border-color:rgba(0,0,0,.16)}.uk-button:active,.uk-button.uk-active{background-color:#eee;color:#444}.uk-button-primary{background-color:#00a8e6;color:#fff}.uk-button-primary:hover,.uk-button-primary:focus{background-color:#35b3ee;color:#fff}.uk-button-primary:active,.uk-button-primary.uk-active{background-color:#0091ca;color:#fff}.uk-button-success{background-color:#8cc14c;color:#fff}.uk-button-success:hover,.uk-button-success:focus{background-color:#8ec73b;color:#fff}.uk-button-success:active,.uk-button-success.uk-active{background-color:#72ae41;color:#fff}.uk-button-danger{background-color:#da314b;color:#fff}.uk-button-danger:hover,.uk-button-danger:focus{background-color:#e4354f;color:#fff}.uk-button-danger:active,.uk-button-danger.uk-active{background-color:#c91032;color:#fff}.uk-button:disabled{background-color:#fafafa;color:#999;border-color:rgba(0,0,0,.06);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;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{display:inline-block;vertical-align:middle;position:relative;font-size:.001px;white-space:nowrap}.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-primary,.uk-button-success,.uk-button-danger{box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-button-primary:hover,.uk-button-primary:focus,.uk-button-success:hover,.uk-button-success:focus,.uk-button-danger:hover,.uk-button-danger:focus{border-color:rgba(0,0,0,.21)}.uk-button-group>.uk-button:not(:first-child):not(:last-child),.uk-button-group>div:not(:first-child):not(:last-child) .uk-button{border-left-color:rgba(0,0,0,.1);border-right-color:rgba(0,0,0,.1);border-radius:0}.uk-button-group>.uk-button:first-child,.uk-button-group>div:first-child .uk-button{border-right-color:rgba(0,0,0,.1);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-left-color:rgba(0,0,0,.1);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:hover,.uk-button-group .uk-button:active,.uk-button-group .uk-button.uk-active{position:relative}@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.woff2) format('woff2'),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}[class*=uk-icon-],[class*=uk-icon-]:hover,[class*=uk-icon-]:focus{text-decoration:none}.uk-icon-small{font-size:150%;vertical-align:-10%}.uk-icon-medium{font-size:200%;vertical-align:-16%}.uk-icon-large{font-size:250%;vertical-align:-22%}.uk-icon-justify{width:1em;text-align:center}.uk-icon-spin{display:inline-block;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-icon-hover{color:#999}.uk-icon-hover:hover{color:#444}.uk-icon-button{box-sizing:border-box;display:inline-block;width:35px;height:35px;border-radius:100%;background:#f5f5f5;line-height:35px;color:#444;font-size:18px;text-align:center;border:1px solid #e7e7e7;text-shadow:0 1px 0 #fff}.uk-icon-button:hover,.uk-icon-button:focus{background-color:#fafafa;color:#444;outline:0;border-color:#d3d3d3}.uk-icon-button:active{background-color:#eee;color:#444}.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-f:before,.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,.uk-icon-gratipay: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-genderless:before,.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-icon-buysellads:before{content:"\f20d"}.uk-icon-connectdevelop:before{content:"\f20e"}.uk-icon-dashcube:before{content:"\f210"}.uk-icon-forumbee:before{content:"\f211"}.uk-icon-leanpub:before{content:"\f212"}.uk-icon-sellsy:before{content:"\f213"}.uk-icon-shirtsinbulk:before{content:"\f214"}.uk-icon-simplybuilt:before{content:"\f215"}.uk-icon-skyatlas:before{content:"\f216"}.uk-icon-cart-plus:before{content:"\f217"}.uk-icon-cart-arrow-down:before{content:"\f218"}.uk-icon-diamond:before{content:"\f219"}.uk-icon-ship:before{content:"\f21a"}.uk-icon-user-secret:before{content:"\f21b"}.uk-icon-motorcycle:before{content:"\f21c"}.uk-icon-street-view:before{content:"\f21d"}.uk-icon-heartbeat:before{content:"\f21e"}.uk-icon-venus:before{content:"\f221"}.uk-icon-mars:before{content:"\f222"}.uk-icon-mercury:before{content:"\f223"}.uk-icon-transgender:before{content:"\f224"}.uk-icon-transgender-alt:before{content:"\f225"}.uk-icon-venus-double:before{content:"\f226"}.uk-icon-mars-double:before{content:"\f227"}.uk-icon-venus-mars:before{content:"\f228"}.uk-icon-mars-stroke:before{content:"\f229"}.uk-icon-mars-stroke-v:before{content:"\f22a"}.uk-icon-mars-stroke-h:before{content:"\f22b"}.uk-icon-neuter:before{content:"\f22c"}.uk-icon-facebook-official:before{content:"\f230"}.uk-icon-pinterest-p:before{content:"\f231"}.uk-icon-whatsapp:before{content:"\f232"}.uk-icon-server:before{content:"\f233"}.uk-icon-user-plus:before{content:"\f234"}.uk-icon-user-times:before{content:"\f235"}.uk-icon-hotel:before,.uk-icon-bed:before{content:"\f236"}.uk-icon-viacoin:before{content:"\f237"}.uk-icon-train:before{content:"\f238"}.uk-icon-subway:before{content:"\f239"}.uk-icon-medium-logo:before{content:"\f23a"}.uk-icon-500px:before{content:"\f26e"}.uk-icon-amazon:before{content:"\f270"}.uk-icon-balance-scale:before{content:"\f24e"}.uk-icon-battery-empty:before,.uk-icon-battery-0:before{content:"\f244"}.uk-icon-battery-quarter:before,.uk-icon-battery-1:before{content:"\f243"}.uk-icon-battery-half:before,.uk-icon-battery-2:before{content:"\f242"}.uk-icon-battery-three-quarters:before,.uk-icon-battery-3:before{content:"\f241"}.uk-icon-battery-full:before,.uk-icon-battery-4:before{content:"\f240"}.uk-icon-black-tie:before{content:"\f27e"}.uk-icon-calendar-check-o:before{content:"\f274"}.uk-icon-calendar-minus-o:before{content:"\f272"}.uk-icon-calendar-plus-o:before{content:"\f271"}.uk-icon-calendar-times-o:before{content:"\f273"}.uk-icon-cc-diners-club:before{content:"\f24c"}.uk-icon-cc-jcb:before{content:"\f24b"}.uk-icon-chrome:before{content:"\f268"}.uk-icon-clone:before{content:"\f24d"}.uk-icon-commenting:before{content:"\f27a"}.uk-icon-commenting-o:before{content:"\f27b"}.uk-icon-contao:before{content:"\f26d"}.uk-icon-creative-commons:before{content:"\f25e"}.uk-icon-expeditedssl:before{content:"\f23e"}.uk-icon-firefox:before{content:"\f269"}.uk-icon-fonticons:before{content:"\f280"}.uk-icon-get-pocket:before{content:"\f265"}.uk-icon-gg:before{content:"\f260"}.uk-icon-gg-circle:before{content:"\f261"}.uk-icon-hand-lizard-o:before{content:"\f258"}.uk-icon-hand-stop-o:before,.uk-icon-hand-paper-o:before{content:"\f256"}.uk-icon-hand-peace-o:before{content:"\f25b"}.uk-icon-hand-pointer-o:before{content:"\f25a"}.uk-icon-hand-grab-o:before,.uk-icon-hand-rock-o:before{content:"\f255"}.uk-icon-hand-scissors-o:before{content:"\f257"}.uk-icon-hand-spock-o:before{content:"\f259"}.uk-icon-hourglass:before{content:"\f254"}.uk-icon-hourglass-o:before{content:"\f250"}.uk-icon-hourglass-1:before,.uk-icon-hourglass-start:before{content:"\f251"}.uk-icon-hourglass-2:before,.uk-icon-hourglass-half:before{content:"\f252"}.uk-icon-hourglass-3:before,.uk-icon-hourglass-end:before{content:"\f253"}.uk-icon-houzz:before{content:"\f27c"}.uk-icon-i-cursor:before{content:"\f246"}.uk-icon-industry:before{content:"\f275"}.uk-icon-internet-explorer:before{content:"\f26b"}.uk-icon-map:before{content:"\f279"}.uk-icon-map-o:before{content:"\f278"}.uk-icon-map-pin:before{content:"\f276"}.uk-icon-map-signs:before{content:"\f277"}.uk-icon-mouse-pointer:before{content:"\f245"}.uk-icon-object-group:before{content:"\f247"}.uk-icon-object-ungroup:before{content:"\f248"}.uk-icon-odnoklassniki:before{content:"\f263"}.uk-icon-odnoklassniki-square:before{content:"\f264"}.uk-icon-opencart:before{content:"\f23d"}.uk-icon-opera:before{content:"\f26a"}.uk-icon-optin-monster:before{content:"\f23c"}.uk-icon-registered:before{content:"\f25d"}.uk-icon-safari:before{content:"\f267"}.uk-icon-sticky-note:before{content:"\f249"}.uk-icon-sticky-note-o:before{content:"\f24a"}.uk-icon-tv:before,.uk-icon-television:before{content:"\f26c"}.uk-icon-trademark:before{content:"\f25c"}.uk-icon-tripadvisor:before{content:"\f262"}.uk-icon-vimeo:before{content:"\f27d"}.uk-icon-wikipedia-w:before{content:"\f266"}.uk-icon-yc:before,.uk-icon-y-combinator:before{content:"\f23b"}.uk-icon-yc-square:before,.uk-icon-y-combinator-square:before{content:"\f1d4"}.uk-close::-moz-focus-inner{border:0;padding:0}.uk-close{-webkit-appearance:none;margin:0;border:0;overflow:visible;font:inherit;color:inherit;text-transform:none;padding:0;background:transparent;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:0;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:#00a8e6;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,.06);border-radius:2px;text-shadow:0 1px 0 rgba(0,0,0,.1)}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:#8cc14c}.uk-badge-warning{background-color:#faa732}.uk-badge-danger{background-color:#da314b}.uk-alert{margin-bottom:15px;padding:10px;background:#ebf7fd;color:#2d7091;border:1px solid rgba(45,112,145,.3);border-radius:4px;text-shadow:0 1px 0 #fff}*+.uk-alert{margin-top:15px}.uk-alert>:last-child{margin-bottom:0}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert>.uk-close:first-child{float:right}.uk-alert>.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{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{display:inline-block;max-width:100%;box-sizing:border-box;margin:0;padding:4px;border:1px solid #ddd;background:#fff;border-radius:4px}a.uk-thumbnail:hover,a.uk-thumbnail:focus{border-color:#aaa;background-color:#fff;text-decoration:none;outline:0}.uk-thumbnail-caption{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;-webkit-transform:translateZ(0);margin:0}.uk-overlay.uk-border-circle{-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.uk-overlay>:first-child{margin-bottom:0}.uk-overlay-panel{position:absolute;top:0;bottom:0;left:0;right:0;padding:20px;color:#fff}.uk-overlay-panel>:last-child,.uk-overlay-panel.uk-flex>*>:last-child{margin-bottom:0}.uk-overlay-panel h1,.uk-overlay-panel h2,.uk-overlay-panel h3,.uk-overlay-panel h4,.uk-overlay-panel h5,.uk-overlay-panel h6{color:inherit}.uk-overlay-panel a:not([class]){color:inherit;text-decoration:underline}.uk-overlay-panel a[class*=uk-icon-]:not(.uk-icon-button){color:inherit}.uk-overlay-hover:not(:hover):not(.uk-hover) .uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-active :not(.uk-active)>.uk-overlay-panel:not(.uk-ignore){opacity:0}.uk-overlay-background{background:rgba(0,0,0,.5)}.uk-overlay-image{padding:0}.uk-overlay-top{bottom:auto}.uk-overlay-bottom{top:auto}.uk-overlay-left{right:auto}.uk-overlay-right{left:auto}.uk-overlay-icon: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-fade,.uk-overlay-scale,.uk-overlay-spin,.uk-overlay-grayscale,.uk-overlay-blur,[class*=uk-overlay-slide]{transition-duration:.3s;transition-timing-function:ease-out;transition-property:opacity,transform,filter}.uk-overlay-active .uk-overlay-fade,.uk-overlay-active .uk-overlay-scale,.uk-overlay-active .uk-overlay-spin,.uk-overlay-active [class*=uk-overlay-slide]{transition-duration:.8s}.uk-overlay-fade{opacity:.7}.uk-overlay-hover:hover .uk-overlay-fade,.uk-overlay-active .uk-active>.uk-overlay-fade{opacity:1}.uk-overlay-scale{-webkit-transform:scale(1);transform:scale(1)}.uk-overlay-hover:hover .uk-overlay-scale,.uk-overlay-active .uk-active>.uk-overlay-scale{-webkit-transform:scale(1.1);transform:scale(1.1)}.uk-overlay-spin{-webkit-transform:scale(1) rotate(0deg);transform:scale(1) rotate(0deg)}.uk-overlay-hover:hover .uk-overlay-spin,.uk-overlay-active .uk-active>.uk-overlay-spin{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}.uk-overlay-grayscale{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.uk-overlay-hover:hover .uk-overlay-grayscale,.uk-overlay-active .uk-active>.uk-overlay-grayscale{-webkit-filter:grayscale(0%);filter:grayscale(0%)}[class*=uk-overlay-slide]{opacity:0}.uk-overlay-slide-top{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.uk-overlay-slide-bottom{-webkit-transform:translateY(100%);transform:translateY(100%)}.uk-overlay-slide-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.uk-overlay-slide-right{-webkit-transform:translateX(100%);transform:translateX(100%)}.uk-overlay-hover:hover [class*=uk-overlay-slide],.uk-overlay-active .uk-active>[class*=uk-overlay-slide]{opacity:1;-webkit-transform:translateX(0) translateY(0);transform:translateX(0) translateY(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:1rem;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}[class*=uk-column-]{-webkit-column-gap:25px;-moz-column-gap:25px;column-gap:25px}.uk-column-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}@media (min-width:480px){.uk-column-small-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-small-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-small-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-small-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-small-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:768px){.uk-column-medium-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-medium-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-medium-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-medium-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-medium-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:960px){.uk-column-large-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-large-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-large-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-large-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-large-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}@media (min-width:1220px){.uk-column-xlarge-1-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.uk-column-xlarge-1-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.uk-column-xlarge-1-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}.uk-column-xlarge-1-5{-webkit-column-count:5;-moz-column-count:5;column-count:5}.uk-column-xlarge-1-6{-webkit-column-count:6;-moz-column-count:6;column-count:6}}[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-]:not([data-uk-scrollspy*=target]){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-in;animation-timing-function:ease-in}.uk-animation-15{-webkit-animation-duration:15s;animation-duration:15s}.uk-animation-top-left{-webkit-transform-origin:0 0;transform-origin:0 0}.uk-animation-top-center{-webkit-transform-origin:50% 0;transform-origin:50% 0}.uk-animation-top-right{-webkit-transform-origin:100% 0;transform-origin:100% 0}.uk-animation-middle-left{-webkit-transform-origin:0 50%;transform-origin:0 50%}.uk-animation-middle-right{-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.uk-animation-bottom-left{-webkit-transform-origin:0 100%;transform-origin:0 100%}.uk-animation-bottom-center{-webkit-transform-origin:50% 100%;transform-origin:50% 100%}.uk-animation-bottom-right{-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.uk-animation-hover:not(:hover),.uk-animation-hover:not(:hover) [class*=uk-animation-],.uk-touch .uk-animation-hover:not(.uk-hover),.uk-touch .uk-animation-hover:not(.uk-hover) [class*=uk-animation-]{-webkit-animation-name:none;animation-name:none}@-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;transform:translateY(-100%)}100%{opacity:1;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;transform:translateY(100%)}100%{opacity:1;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;transform:translateX(-100%)}100%{opacity:1;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;transform:translateX(100%)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes uk-fade-scale-02{0%{opacity:0;-webkit-transform:scale(0.2)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes uk-fade-scale-02{0%{opacity:0;transform:scale(0.2)}100%{opacity: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;transform:scale(1.5)}100%{opacity: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;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}@-webkit-keyframes uk-slide-left{0%{-webkit-transform:translateX(-100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-slide-right{0%{-webkit-transform:translateX(100%)}100%{-webkit-transform:translateX(0)}}@keyframes uk-slide-right{0%{transform:translateX(100%)}100%{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%{transform:translateX(33%)}100%{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%{transform:translateX(-33%)}100%{transform:translateX(0)}}@-webkit-keyframes uk-scale-12{0%{-webkit-transform:scale(1.2)}100%{-webkit-transform:scale(1)}}@keyframes uk-scale-12{0%{transform:scale(1.2)}100%{transform:scale(1)}}@-webkit-keyframes uk-rotate{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@keyframes uk-rotate{0%{transform:rotate(0deg)}100%{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%{transform:translateX(0)}10%{transform:translateX(-9px)}20%{transform:translateX(8px)}30%{transform:translateX(-7px)}40%{transform:translateX(6px)}50%{transform:translateX(-5px)}60%{transform:translateX(4px)}70%{transform:translateX(-3px)}80%{transform:translateX(2px)}90%{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;transform:translateY(-10px)}100%{opacity:1;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;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.uk-dropdown,.uk-dropdown-blank{display:none;position:absolute;z-index:1020;box-sizing:border-box;width:200px}.uk-dropdown{padding:15px;background:#fff;color:#444;font-size:1rem;vertical-align:top;border:1px solid #ddd;border-radius:4px}.uk-open>.uk-dropdown,.uk-open>.uk-dropdown-blank{display:block;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-dropdown-top{margin-top:-5px}.uk-dropdown-bottom{margin-top:5px}.uk-dropdown-left{margin-left:-5px}.uk-dropdown-right{margin-left:5px}.uk-dropdown .uk-nav{margin:0 -15px}.uk-grid .uk-dropdown-grid+.uk-dropdown-grid{margin-top:15px}.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}.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(37,19,19,.6);opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear;touch-action:cross-slide-y pinch-zoom double-tap-zoom;-webkit-transform:translateZ(0);transform:translateZ(0)}.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:100%;max-width:calc(100% - 20px);background:#fff;opacity:0;-webkit-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 auto}}.uk-open .uk-modal-dialog{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.uk-modal-dialog>:not([class*=uk-modal-]):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+:not([class*=uk-modal-]){margin-top:0}.uk-modal-dialog-lightbox{margin:15px auto;padding:0;max-width:95%;max-width:calc(100% - 30px);border-radius:0}.uk-modal-dialog-lightbox>.uk-close:first-child{position:absolute;top:-12px;right:-12px;margin:0;float:none}@media (max-width:767px){.uk-modal-dialog-lightbox>.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-modal-header{margin-bottom:15px;margin:-20px -20px 15px -20px;padding:20px;border-bottom:1px solid #ddd;border-radius:4px 4px 0 0;background:#fafafa}.uk-modal-footer{margin-top:15px;margin:15px -20px -20px -20px;padding:20px;border-top:1px solid #ddd;border-radius:0 0 4px 4px;background:#fafafa}.uk-modal-header>:last-child,.uk-modal-footer>:last-child{margin-bottom:0}.uk-modal-caption{position:absolute;left:0;right:0;bottom:-20px;margin-bottom:-10px;color:#fff;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uk-modal-spinner{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);font-size:25px;color:#ddd}.uk-modal-spinner:after{content:"\f110";font-family:FontAwesome;-webkit-animation:uk-rotate 2s infinite linear;animation:uk-rotate 2s infinite linear}.uk-offcanvas{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;touch-action:none;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%);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;-ms-scroll-chaining:none}.uk-offcanvas.uk-active .uk-offcanvas-bar.uk-offcanvas-bar-show{-webkit-transform:translateX(0%);transform:translateX(0%)}.uk-offcanvas-bar-flip{left:auto;right:0;-webkit-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;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;width:1px;background:rgba(0,0,0,.6);box-shadow:0 0 5px 2px rgba(0,0,0,.6)}.uk-switcher{margin:0;padding:0;list-style:none;touch-action:cross-slide-y pinch-zoom double-tap-zoom}.uk-switcher>:not(.uk-active){display:none}.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-contrast{color:#fff!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}.uk-text-left-medium{text-align:left!important}}@media (max-width:767px){.uk-text-center-small{text-align:center!important}.uk-text-left-small{text-align:left!important}}.uk-text-nowrap{white-space:nowrap}.uk-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}@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{content:"";display:table-cell}.uk-clearfix:after{content:"";display:table;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:1rem}.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%!important;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{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-padding-remove{padding:0!important}.uk-padding-top-remove{padding-top:0!important}.uk-padding-bottom-remove{padding-bottom:0!important}.uk-padding-vertical-remove{padding-top:0!important;padding-bottom:0!important}.uk-border-circle{border-radius:50%}.uk-border-rounded{border-radius:5px}.uk-heading-large{font-size:36px;line-height:42px}@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,.uk-link-reset:focus,.uk-link-reset a:focus{color:inherit;text-decoration:none}.uk-scrollable-text{height:300px;overflow-y:scroll;-webkit-overflow-scrolling:touch;resize:both}.uk-scrollable-box{box-sizing:border-box;height:170px;padding:10px;border:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch;resize:both;border-radius:3px}.uk-scrollable-box>:last-child{margin-bottom:0}.uk-overflow-hidden{overflow:hidden}.uk-overflow-container{overflow:auto;-webkit-overflow-scrolling:touch}.uk-overflow-container>:last-child{margin-bottom:0}.uk-position-absolute,[class*=uk-position-top],[class*=uk-position-bottom]{position:absolute!important}.uk-position-top{top:0;left:0;right:0}.uk-position-bottom{bottom:0;left:0;right:0}.uk-position-top-left{top:0;left:0}.uk-position-top-right{top:0;right:0}.uk-position-bottom-left{bottom:0;left:0}.uk-position-bottom-right{bottom:0;right:0}.uk-position-cover{position:absolute;top:0;bottom:0;left:0;right:0}.uk-position-relative{position:relative!important}.uk-position-z-index{z-index:1}.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{display:none!important}.uk-visible-medium{display:none!important}.uk-hidden-large{display:none!important}}@media (min-width:768px) and (max-width:959px){.uk-visible-small{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-medium{display:none!important}}@media (max-width:767px){.uk-visible-medium{display:none!important}.uk-visible-large{display:none!important}.uk-hidden-small{display:none!important}}.uk-hidden{display:none!important;visibility:hidden!important}.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}.uk-touch .uk-hidden-touch,.uk-notouch .uk-hidden-notouch{display:none!important}.uk-flex{display:-ms-flexbox;display:-webkit-flex;display:flex}.uk-flex-inline{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.uk-flex>*,.uk-flex-inline>*{-ms-flex-negative:1}.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-flex-space-between{-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.uk-flex-space-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.uk-flex-row-reverse{-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.uk-flex-column{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-flex-column-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}.uk-flex-nowrap{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.uk-flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.uk-flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.uk-flex-wrap-top{-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start}.uk-flex-wrap-middle{-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center}.uk-flex-wrap-bottom{-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end}.uk-flex-wrap-space-between{-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between}.uk-flex-wrap-space-around{-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around}.uk-flex-order-first{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last{-ms-flex-order:99;-webkit-order:99;order:99}@media (min-width:480px){.uk-flex-order-first-small{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-small{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:768px){.uk-flex-order-first-medium{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-medium{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:960px){.uk-flex-order-first-large{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-large{-ms-flex-order:99;-webkit-order:99;order:99}}@media (min-width:1220px){.uk-flex-order-first-xlarge{-ms-flex-order:-1;-webkit-order:-1;order:-1}.uk-flex-order-last-xlarge{-ms-flex-order:99;-webkit-order:99;order:99}}.uk-flex-item-none{-ms-flex:none;-webkit-flex:none;flex:none}.uk-flex-item-auto{-ms-flex:auto;-webkit-flex:auto;flex:auto;-ms-flex-negative:1}.uk-flex-item-1{-ms-flex:1;-webkit-flex:1;flex:1}.uk-contrast{color:#fff}.uk-contrast a:not([class]),.uk-contrast .uk-link{color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast a:not([class]):hover,.uk-contrast .uk-link:hover{color:#fff;text-decoration:underline}.uk-contrast :not(pre)>code,.uk-contrast :not(pre)>kbd,.uk-contrast :not(pre)>samp{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.1)}.uk-contrast em{color:#fff}.uk-contrast h1,.uk-contrast h2,.uk-contrast h3,.uk-contrast h4,.uk-contrast h5,.uk-contrast h6{color:#fff}.uk-contrast hr{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav li>a,.uk-contrast .uk-nav li>a:hover{text-decoration:none}.uk-contrast .uk-nav-side>li>a{color:#fff}.uk-contrast .uk-nav-side>li>a:hover,.uk-contrast .uk-nav-side>li>a:focus{background:rgba(255,255,255,.1);color:#fff;text-shadow:none}.uk-contrast .uk-nav-side>li.uk-active>a{background:#fff;color:#444;text-shadow:none}.uk-contrast .uk-nav-side .uk-nav-header{color:#fff}.uk-contrast .uk-nav-side .uk-nav-divider{border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-nav-side ul a{color:rgba(255,255,255,.7)}.uk-contrast .uk-nav-side ul a:hover{color:#fff}.uk-contrast .uk-subnav>*>a{color:rgba(255,255,255,.7);text-decoration:none}.uk-contrast .uk-subnav>*>a:hover,.uk-contrast .uk-subnav>*>a:focus{color:#fff;text-decoration:none}.uk-contrast .uk-subnav>.uk-active>a{color:#fff}.uk-contrast .uk-subnav-line>:nth-child(n+2):before{border-left-color:rgba(255,255,255,.2)}.uk-contrast .uk-subnav-pill>*>a:hover,.uk-contrast .uk-subnav-pill>*>a:focus{background:rgba(255,255,255,.7);color:#444;text-decoration:none}.uk-contrast .uk-subnav-pill>.uk-active>a{background:#fff;color:#444}.uk-contrast .uk-list-line>li:nth-child(n+2){border-top-color:rgba(255,255,255,.2)}.uk-contrast .uk-form select,.uk-contrast .uk-form textarea,.uk-contrast .uk-form input:not([type]),.uk-contrast .uk-form input[type=text],.uk-contrast .uk-form input[type=password],.uk-contrast .uk-form input[type=datetime],.uk-contrast .uk-form input[type=datetime-local],.uk-contrast .uk-form input[type=date],.uk-contrast .uk-form input[type=month],.uk-contrast .uk-form input[type=time],.uk-contrast .uk-form input[type=week],.uk-contrast .uk-form input[type=number],.uk-contrast .uk-form input[type=email],.uk-contrast .uk-form input[type=url],.uk-contrast .uk-form input[type=search],.uk-contrast .uk-form input[type=tel],.uk-contrast .uk-form input[type=color]{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.8);color:#444;background-clip:padding-box}.uk-contrast .uk-form select:focus,.uk-contrast .uk-form textarea:focus,.uk-contrast .uk-form input:not([type]):focus,.uk-contrast .uk-form input[type=text]:focus,.uk-contrast .uk-form input[type=password]:focus,.uk-contrast .uk-form input[type=datetime]:focus,.uk-contrast .uk-form input[type=datetime-local]:focus,.uk-contrast .uk-form input[type=date]:focus,.uk-contrast .uk-form input[type=month]:focus,.uk-contrast .uk-form input[type=time]:focus,.uk-contrast .uk-form input[type=week]:focus,.uk-contrast .uk-form input[type=number]:focus,.uk-contrast .uk-form input[type=email]:focus,.uk-contrast .uk-form input[type=url]:focus,.uk-contrast .uk-form input[type=search]:focus,.uk-contrast .uk-form input[type=tel]:focus,.uk-contrast .uk-form input[type=color]:focus{border-color:#fff;background:#fff;color:#444}.uk-contrast .uk-form :-ms-input-placeholder{color:rgba(68,68,68,.7)!important}.uk-contrast .uk-form ::-moz-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-form ::-webkit-input-placeholder{color:rgba(68,68,68,.7)}.uk-contrast .uk-button{color:#444;background:#fff;border-color:transparent}.uk-contrast .uk-button:hover,.uk-contrast .uk-button:focus{background-color:rgba(255,255,255,.8);color:#444;border-color:transparent}.uk-contrast .uk-button:active,.uk-contrast .uk-button.uk-active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-button-primary{background-color:#00a8e6;color:#fff}.uk-contrast .uk-button-primary:hover,.uk-contrast .uk-button-primary:focus{background-color:#35b3ee;color:#fff}.uk-contrast .uk-button-primary:active,.uk-contrast .uk-button-primary.uk-active{background-color:#0091ca;color:#fff}.uk-contrast .uk-icon-hover{color:rgba(255,255,255,.7)}.uk-contrast .uk-icon-hover:hover{color:#fff}.uk-contrast .uk-icon-button{background:#fff;color:#444;border-color:transparent}.uk-contrast .uk-icon-button:hover,.uk-contrast .uk-icon-button:focus{background-color:rgba(255,255,255,.8);color:#444;border-color:transparent}.uk-contrast .uk-icon-button:active{background-color:rgba(255,255,255,.7);color:#444}.uk-contrast .uk-text-muted{color:rgba(255,255,255,.6)!important}.uk-contrast .uk-text-primary{color:#2d7091!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-dotnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:15px;margin-top:15px}.uk-dotnav:before,.uk-dotnav:after{content:"";display:block;overflow:hidden}.uk-dotnav:after{clear:both}.uk-dotnav>*{float:left}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;overflow:hidden;white-space:nowrap;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.uk-dotnav>*>:hover,.uk-dotnav>*>:focus{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4);-webkit-transform:scale(1.3);transform:scale(1.3)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:hover,.uk-dotnav-contrast>*>:focus{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active{background:rgba(255,255,255,.9)}.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-dotnav-vertical>*{float:none}.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:0;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{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;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-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:hover,.uk-slidenav-contrast:focus{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)}.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:transparent}.uk-form input[type=radio]{border-radius:50%}.uk-form input[type=radio]:before,.uk-form input[type=checkbox]:before{display:block}.uk-form input[type=radio]:checked:before{content:'';width:8px;height:8px;margin:2px auto 0;border-radius:50%;background:#00a8e6}.uk-form input[type=checkbox]:checked:before,.uk-form input[type=checkbox]:indeterminate: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=checkbox]:indeterminate:before{content:"\f068"}.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,.uk-form input[type=checkbox]:disabled:indeterminate: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-placeholder{margin-bottom:15px;padding:15px;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-progress{box-sizing:border-box;height:20px;margin-bottom:15px;background:#f5f5f5;overflow:hidden;line-height:20px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);border-radius:4px}*+.uk-progress{margin-top:15px}.uk-progress-bar{width:0;height:100%;background:#00a8e6;float:left;-webkit-transition:width .6s ease;transition:width .6s ease;font-size:12px;color:#fff;text-align:center;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-progress-mini{height:6px}.uk-progress-small{height:12px}.uk-progress-success .uk-progress-bar{background-color:#8cc14c}.uk-progress-warning .uk-progress-bar{background-color:#faa732}.uk-progress-danger .uk-progress-bar{background-color:#da314b}.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: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}.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#f5f5f5;font-size:18px;line-height:24px;cursor:pointer;border:1px solid #ddd;border-radius:4px}.uk-accordion-content{padding:0 15px 15px}.uk-accordion-content:before,.uk-accordion-content:after{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0}.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:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd}.uk-datepicker{z-index:1050;width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-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;border:1px solid transparent;border-radius:4px}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:hover,.uk-datepicker-table a:focus{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.16);text-shadow:0 1px 0 #fff}.uk-datepicker-table a:active{background-color:#eee;color:#444}.uk-datepicker-table a.uk-active{background:#00a8e6;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-htmleditor-navbar{background:#f5f5f5;border:1px solid rgba(0,0,0,.06);border-top-left-radius:4px;border-top-right-radius:4px}.uk-htmleditor-navbar:before,.uk-htmleditor-navbar:after{content:"";display:table}.uk-htmleditor-navbar:after{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:41px;padding:0 15px;line-height:40px;color:#444;font-size:11px;cursor:pointer;margin-top:-1px;margin-left:-1px;border:1px solid transparent;border-bottom-width:0;text-shadow:0 1px 0 #fff}.uk-htmleditor-navbar-nav>li:hover>a,.uk-htmleditor-navbar-nav>li>a:focus{background-color:#fafafa;color:#444;outline:0;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)}.uk-htmleditor-navbar-nav>li>a:active{background-color:#eee;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)}.uk-htmleditor-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,.1)}.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;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.uk-htmleditor-content:before,.uk-htmleditor-content:after{content:"";display:table}.uk-htmleditor-content:after{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:41px;left:0;right:0;bottom:0}.uk-htmleditor-fullscreen .uk-icon-expand:before{content:"\f066"}.uk-htmleditor-code,.uk-htmleditor-preview{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;box-sizing:border-box}.uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:4px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav>li>a{margin-left:0;margin-right:-1px}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:first-child>li:first-child>a{border-top-left-radius:0}.uk-htmleditor-navbar-flip .uk-htmleditor-navbar-nav:last-child>li:last-child>a{border-top-right-radius:4px}.uk-htmleditor-fullscreen .uk-htmleditor-navbar{border-top:0;border-left:0;border-right:0;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-content{border:0;border-radius:0}.uk-htmleditor-fullscreen .uk-htmleditor-navbar-nav>li>a{border-radius:0!important}.uk-slider{position:relative;z-index:0;touch-action:pan-y}.uk-slider:not(.uk-grid){margin:0;padding:0;list-style:none}.uk-slider>*{position:absolute;top:0;left:0}.uk-slider-container{overflow:hidden}.uk-slider:not(.uk-drag){-webkit-transition:-webkit-transform 200ms linear;transition:transform 200ms linear}.uk-slider.uk-drag{cursor:col-resize;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-slider a,.uk-slider img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}.uk-slider img{pointer-events:none}.uk-slider-fullscreen,.uk-slider-fullscreen>li{height:100vh}.uk-slideshow{position:relative;z-index:0;width:100%;margin:0;padding:0;list-style:none;overflow:hidden;touch-action:pan-y}.uk-slideshow>li{position:absolute;top:0;left:0;width:100%;opacity:0}.uk-slideshow>.uk-active{z-index:10;opacity:1}.uk-slideshow>li>img{visibility:hidden}[data-uk-slideshow-slide]{cursor:pointer}.uk-slideshow-fullscreen,.uk-slideshow-fullscreen>li{height:100vh}.uk-slideshow-fade-out{-webkit-animation:uk-fade .5s linear reverse;animation:uk-fade .5s linear reverse}.uk-slideshow-scroll-forward-in{-webkit-animation:uk-slide-right .5s ease-in-out;animation:uk-slide-right .5s ease-in-out}.uk-slideshow-scroll-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-scroll-backward-in{-webkit-animation:uk-slide-left .5s ease-in-out;animation:uk-slide-left .5s ease-in-out}.uk-slideshow-scroll-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-scale-out{-webkit-animation:uk-fade-scale-15 .5s ease-in-out reverse;animation:uk-fade-scale-15 .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in{-webkit-animation:uk-slide-left-33 .5s ease-in-out;animation:uk-slide-left-33 .5s ease-in-out}.uk-slideshow-swipe-forward-out{-webkit-animation:uk-slide-left .5s ease-in-out reverse;animation:uk-slide-left .5s ease-in-out reverse}.uk-slideshow-swipe-backward-in{-webkit-animation:uk-slide-right-33 .5s ease-in-out;animation:uk-slide-right-33 .5s ease-in-out}.uk-slideshow-swipe-backward-out{-webkit-animation:uk-slide-right .5s ease-in-out reverse;animation:uk-slide-right .5s ease-in-out reverse}.uk-slideshow-swipe-forward-in:before,.uk-slideshow-swipe-backward-in:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;background:rgba(0,0,0,.6);-webkit-animation:uk-fade .5s ease-in-out reverse;animation:uk-fade .5s ease-in-out reverse}.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;border:1px solid #444;border-radius:4px}.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;border-color:rgba(45,112,145,.3)}.uk-notify-message-success{background:#f2fae3;color:#659f13;border-color:rgba(101,159,19,.3)}.uk-notify-message-warning{background:#fffceb;color:#e28327;border-color:rgba(226,131,39,.3)}.uk-notify-message-danger{background:#fff1f0;color:#d85030;border-color:rgba(216,80,48,.3)}.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:#fff;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:12px;margin-right:-16px}.uk-nav-search>li>a{color:#444}.uk-nav-search>li.uk-active>a{background:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.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-nestable{padding:0;list-style:none}.uk-nestable a,.uk-nestable img{-webkit-touch-callout:none}.uk-nestable-list{margin:0;padding-left:40px;list-style:none}.uk-nestable-item{touch-action:none}.uk-nestable-item+.uk-nestable-item{margin-top:10px}.uk-nestable-list:not(.uk-nestable-dragged)>.uk-nestable-item:first-child{margin-top:10px}.uk-nestable-dragged{position:absolute;z-index:1050;pointer-events:none;padding-left:0}.uk-nestable-placeholder{position:relative}.uk-nestable-placeholder>*{opacity:0}.uk-nestable-placeholder:after{content:'';position:absolute;top:0;bottom:0;left:0;right:0;border:1px dashed #ddd;opacity:1}.uk-nestable-empty{min-height:30px}.uk-nestable-handle{touch-action:none}.uk-nestable-handle:hover{cursor:move}.uk-nestable-moving,.uk-nestable-moving *{cursor:move}[data-nestable-action=toggle]{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-nestable-toggle{display:inline-block;visibility:hidden}.uk-nestable-toggle:after{content:"\f147";font-family:FontAwesome}.uk-parent>:not(.uk-nestable-list) .uk-nestable-toggle{visibility:visible}.uk-collapsed .uk-nestable-list{display:none}.uk-collapsed .uk-nestable-toggle:after{content:"\f196"}.uk-nestable-panel{padding:5px;background:#f5f5f5;border-radius:4px;border:1px solid rgba(0,0,0,.06);text-shadow:0 1px 0 #fff}.uk-slider{position:relative;z-index:0;touch-action:pan-y}.uk-slider:not(.uk-grid){margin:0;padding:0;list-style:none}.uk-slider>*{position:absolute;top:0;left:0}.uk-slider-container{overflow:hidden}.uk-slider:not(.uk-drag){-webkit-transition:-webkit-transform 200ms linear;transition:transform 200ms linear}.uk-slider.uk-drag{cursor:col-resize;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.uk-slider a,.uk-slider img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}.uk-slider img{pointer-events:none}.uk-slider-fullscreen,.uk-slider-fullscreen>li{height:100vh}.uk-sortable{position:relative}.uk-sortable>*{touch-action:none}.uk-sortable a,.uk-sortable img{-webkit-touch-callout:none}.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-dragged{position:absolute;z-index:1050;pointer-events:none}.uk-sortable-placeholder{opacity:0}.uk-sortable-empty{min-height:30px}.uk-sortable-handle{touch-action:none}.uk-sortable-handle:hover{cursor:move}.uk-sortable-moving,.uk-sortable-moving *{cursor:move}[data-uk-sticky].uk-active{z-index:980;box-sizing:border-box}.uk-sticky-placeholder>*{-webkit-backface-visibility:hidden;backface-visibility:hidden}[data-uk-sticky][class*=uk-animation-]{-webkit-animation-duration:.2s;animation-duration:.2s}[data-uk-sticky].uk-animation-reverse{-webkit-animation-duration:.2s;animation-duration:.2s}.uk-dragover{box-shadow:0 0 20px rgba(100,100,100,.3)}.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;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:0;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:0;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;top:50%;margin-top:-5px;border-left-style:solid;border-right:0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:#333}.uk-tooltip-right:after{left:-5px;top:50%;margin-top:-5px;border-right-style:solid;border-left:0;border-top-color:transparent;border-bottom-color:transparent;border-right-color:#333} \ No newline at end of file
diff --git a/uikit/static/fonts/FontAwesome.otf b/uikit/static/fonts/FontAwesome.otf
new file mode 100644
index 0000000..f7936cc
--- /dev/null
+++ b/uikit/static/fonts/FontAwesome.otf
Binary files differ
diff --git a/uikit/static/fonts/fontawesome-webfont.eot b/uikit/static/fonts/fontawesome-webfont.eot
new file mode 100644
index 0000000..33b2bb8
--- /dev/null
+++ b/uikit/static/fonts/fontawesome-webfont.eot
Binary files differ
diff --git a/uikit/static/fonts/fontawesome-webfont.ttf b/uikit/static/fonts/fontawesome-webfont.ttf
new file mode 100644
index 0000000..ed9372f
--- /dev/null
+++ b/uikit/static/fonts/fontawesome-webfont.ttf
Binary files differ
diff --git a/uikit/static/fonts/fontawesome-webfont.woff b/uikit/static/fonts/fontawesome-webfont.woff
new file mode 100644
index 0000000..8b280b9
--- /dev/null
+++ b/uikit/static/fonts/fontawesome-webfont.woff
Binary files differ
diff --git a/uikit/static/fonts/fontawesome-webfont.woff2 b/uikit/static/fonts/fontawesome-webfont.woff2
new file mode 100644
index 0000000..3311d58
--- /dev/null
+++ b/uikit/static/fonts/fontawesome-webfont.woff2
Binary files differ
diff --git a/uikit/static/ico/cc/by-nc-nd/4.0/80x15.png b/uikit/static/ico/cc/by-nc-nd/4.0/80x15.png
new file mode 100644
index 0000000..6339e96
--- /dev/null
+++ b/uikit/static/ico/cc/by-nc-nd/4.0/80x15.png
Binary files differ
diff --git a/uikit/static/ico/cc/by-nc-nd/4.0/88x31.png b/uikit/static/ico/cc/by-nc-nd/4.0/88x31.png
new file mode 100644
index 0000000..1ad2522
--- /dev/null
+++ b/uikit/static/ico/cc/by-nc-nd/4.0/88x31.png
Binary files differ
diff --git a/uikit/static/ico/cc/by-nc-sa/4.0/80x15.png b/uikit/static/ico/cc/by-nc-sa/4.0/80x15.png
new file mode 100644
index 0000000..30074ef
--- /dev/null
+++ b/uikit/static/ico/cc/by-nc-sa/4.0/80x15.png
Binary files differ
diff --git a/uikit/static/ico/cc/by-nc-sa/4.0/88x31.png b/uikit/static/ico/cc/by-nc-sa/4.0/88x31.png
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/uikit/static/ico/cc/by-nc-sa/4.0/88x31.png
diff --git a/uikit/static/ico/cc/by-nc/4.0/80x15.png b/uikit/static/ico/cc/by-nc/4.0/80x15.png
new file mode 100644
index 0000000..34dc45b
--- /dev/null
+++ b/uikit/static/ico/cc/by-nc/4.0/80x15.png
Binary files differ
diff --git a/uikit/static/ico/cc/by-nc/4.0/88x31.png b/uikit/static/ico/cc/by-nc/4.0/88x31.png
new file mode 100644
index 0000000..70bbb3b
--- /dev/null
+++ b/uikit/static/ico/cc/by-nc/4.0/88x31.png
Binary files differ
diff --git a/uikit/static/ico/cc/by-nd-nc/4.0/80x15.png b/uikit/static/ico/cc/by-nd-nc/4.0/80x15.png
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/uikit/static/ico/cc/by-nd-nc/4.0/80x15.png
diff --git a/uikit/static/ico/cc/by-nd-nc/4.0/88x31.png b/uikit/static/ico/cc/by-nd-nc/4.0/88x31.png
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/uikit/static/ico/cc/by-nd-nc/4.0/88x31.png
diff --git a/uikit/static/ico/cc/by-nd/4.0/80x15.png b/uikit/static/ico/cc/by-nd/4.0/80x15.png
new file mode 100644
index 0000000..721a364
--- /dev/null
+++ b/uikit/static/ico/cc/by-nd/4.0/80x15.png
Binary files differ
diff --git a/uikit/static/ico/cc/by-nd/4.0/88x31.png b/uikit/static/ico/cc/by-nd/4.0/88x31.png
new file mode 100644
index 0000000..85cab53
--- /dev/null
+++ b/uikit/static/ico/cc/by-nd/4.0/88x31.png
Binary files differ
diff --git a/uikit/static/ico/cc/by-sa/4.0/80x15.png b/uikit/static/ico/cc/by-sa/4.0/80x15.png
new file mode 100644
index 0000000..1d94b77
--- /dev/null
+++ b/uikit/static/ico/cc/by-sa/4.0/80x15.png
Binary files differ
diff --git a/uikit/static/ico/cc/by-sa/4.0/88x31.png b/uikit/static/ico/cc/by-sa/4.0/88x31.png
new file mode 100644
index 0000000..e0bbe34
--- /dev/null
+++ b/uikit/static/ico/cc/by-sa/4.0/88x31.png
Binary files differ
diff --git a/uikit/static/ico/cc/licenses.sh b/uikit/static/ico/cc/licenses.sh
new file mode 100755
index 0000000..e98d58c
--- /dev/null
+++ b/uikit/static/ico/cc/licenses.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+#for i in GPL LGPL by-nc-nd by-nc-sa by-nc by-nd-nc by-nd by-sa; do
+for i in by-nc-nd by-nc-sa by-nc by-nd-nc by-nd by-sa; do
+ mkdir -p $i/4.0
+ wget https://licensebuttons.net/l/$i/4.0/80x15.png -O $i/4.0/80x15.png
+ wget https://licensebuttons.net/l/$i/4.0/88x31.png -O $i/4.0/88x31.png
+done
diff --git a/uikit/static/ico/favicon/android-chrome-144x144.png b/uikit/static/ico/favicon/android-chrome-144x144.png
new file mode 100644
index 0000000..d696312
--- /dev/null
+++ b/uikit/static/ico/favicon/android-chrome-144x144.png
Binary files differ
diff --git a/uikit/static/ico/favicon/android-chrome-192x192.png b/uikit/static/ico/favicon/android-chrome-192x192.png
new file mode 100644
index 0000000..17215d9
--- /dev/null
+++ b/uikit/static/ico/favicon/android-chrome-192x192.png
Binary files differ
diff --git a/uikit/static/ico/favicon/android-chrome-36x36.png b/uikit/static/ico/favicon/android-chrome-36x36.png
new file mode 100644
index 0000000..4d580e1
--- /dev/null
+++ b/uikit/static/ico/favicon/android-chrome-36x36.png
Binary files differ
diff --git a/uikit/static/ico/favicon/android-chrome-48x48.png b/uikit/static/ico/favicon/android-chrome-48x48.png
new file mode 100644
index 0000000..ed26873
--- /dev/null
+++ b/uikit/static/ico/favicon/android-chrome-48x48.png
Binary files differ
diff --git a/uikit/static/ico/favicon/android-chrome-72x72.png b/uikit/static/ico/favicon/android-chrome-72x72.png
new file mode 100644
index 0000000..bbed220
--- /dev/null
+++ b/uikit/static/ico/favicon/android-chrome-72x72.png
Binary files differ
diff --git a/uikit/static/ico/favicon/android-chrome-96x96.png b/uikit/static/ico/favicon/android-chrome-96x96.png
new file mode 100644
index 0000000..903cab2
--- /dev/null
+++ b/uikit/static/ico/favicon/android-chrome-96x96.png
Binary files differ
diff --git a/uikit/static/ico/favicon/apple-touch-icon-114x114.png b/uikit/static/ico/favicon/apple-touch-icon-114x114.png
new file mode 100644
index 0000000..a341a9d
--- /dev/null
+++ b/uikit/static/ico/favicon/apple-touch-icon-114x114.png
Binary files differ
diff --git a/uikit/static/ico/favicon/apple-touch-icon-120x120.png b/uikit/static/ico/favicon/apple-touch-icon-120x120.png
new file mode 100644
index 0000000..aa2976e
--- /dev/null
+++ b/uikit/static/ico/favicon/apple-touch-icon-120x120.png
Binary files differ
diff --git a/uikit/static/ico/favicon/apple-touch-icon-144x144.png b/uikit/static/ico/favicon/apple-touch-icon-144x144.png
new file mode 100644
index 0000000..d696312
--- /dev/null
+++ b/uikit/static/ico/favicon/apple-touch-icon-144x144.png
Binary files differ
diff --git a/uikit/static/ico/favicon/apple-touch-icon-152x152.png b/uikit/static/ico/favicon/apple-touch-icon-152x152.png
new file mode 100644
index 0000000..5392e31
--- /dev/null
+++ b/uikit/static/ico/favicon/apple-touch-icon-152x152.png
Binary files differ
diff --git a/uikit/static/ico/favicon/apple-touch-icon-180x180.png b/uikit/static/ico/favicon/apple-touch-icon-180x180.png
new file mode 100644
index 0000000..12b5d5b
--- /dev/null
+++ b/uikit/static/ico/favicon/apple-touch-icon-180x180.png
Binary files differ
diff --git a/uikit/static/ico/favicon/apple-touch-icon-57x57.png b/uikit/static/ico/favicon/apple-touch-icon-57x57.png
new file mode 100644
index 0000000..0616165
--- /dev/null
+++ b/uikit/static/ico/favicon/apple-touch-icon-57x57.png
Binary files differ
diff --git a/uikit/static/ico/favicon/apple-touch-icon-60x60.png b/uikit/static/ico/favicon/apple-touch-icon-60x60.png
new file mode 100644
index 0000000..968d739
--- /dev/null
+++ b/uikit/static/ico/favicon/apple-touch-icon-60x60.png
Binary files differ
diff --git a/uikit/static/ico/favicon/apple-touch-icon-72x72.png b/uikit/static/ico/favicon/apple-touch-icon-72x72.png
new file mode 100644
index 0000000..bbed220
--- /dev/null
+++ b/uikit/static/ico/favicon/apple-touch-icon-72x72.png
Binary files differ
diff --git a/uikit/static/ico/favicon/apple-touch-icon-76x76.png b/uikit/static/ico/favicon/apple-touch-icon-76x76.png
new file mode 100644
index 0000000..64b8f19
--- /dev/null
+++ b/uikit/static/ico/favicon/apple-touch-icon-76x76.png
Binary files differ
diff --git a/uikit/static/ico/favicon/apple-touch-icon-precomposed.png b/uikit/static/ico/favicon/apple-touch-icon-precomposed.png
new file mode 100644
index 0000000..7f216e2
--- /dev/null
+++ b/uikit/static/ico/favicon/apple-touch-icon-precomposed.png
Binary files differ
diff --git a/uikit/static/ico/favicon/apple-touch-icon.png b/uikit/static/ico/favicon/apple-touch-icon.png
new file mode 100644
index 0000000..12b5d5b
--- /dev/null
+++ b/uikit/static/ico/favicon/apple-touch-icon.png
Binary files differ
diff --git a/uikit/static/ico/favicon/browserconfig.xml b/uikit/static/ico/favicon/browserconfig.xml
new file mode 100644
index 0000000..16b7e1f
--- /dev/null
+++ b/uikit/static/ico/favicon/browserconfig.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<browserconfig>
+ <msapplication>
+ <tile>
+ <square70x70logo src="/theme/ico/favicon/mstile-70x70.png"/>
+ <square150x150logo src="/theme/ico/favicon/mstile-150x150.png"/>
+ <square310x310logo src="/theme/ico/favicon/mstile-310x310.png"/>
+ <wide310x150logo src="/theme/ico/favicon/mstile-310x150.png"/>
+ <TileColor>#da532c</TileColor>
+ </tile>
+ </msapplication>
+</browserconfig>
diff --git a/uikit/static/ico/favicon/favicon-16x16.png b/uikit/static/ico/favicon/favicon-16x16.png
new file mode 100644
index 0000000..fc2e18c
--- /dev/null
+++ b/uikit/static/ico/favicon/favicon-16x16.png
Binary files differ
diff --git a/uikit/static/ico/favicon/favicon-32x32.png b/uikit/static/ico/favicon/favicon-32x32.png
new file mode 100644
index 0000000..d3b635f
--- /dev/null
+++ b/uikit/static/ico/favicon/favicon-32x32.png
Binary files differ
diff --git a/uikit/static/ico/favicon/favicon-96x96.png b/uikit/static/ico/favicon/favicon-96x96.png
new file mode 100644
index 0000000..903cab2
--- /dev/null
+++ b/uikit/static/ico/favicon/favicon-96x96.png
Binary files differ
diff --git a/uikit/static/ico/favicon/favicon.ico b/uikit/static/ico/favicon/favicon.ico
new file mode 100644
index 0000000..338210f
--- /dev/null
+++ b/uikit/static/ico/favicon/favicon.ico
Binary files differ
diff --git a/uikit/static/ico/favicon/manifest.json b/uikit/static/ico/favicon/manifest.json
new file mode 100644
index 0000000..2a094cb
--- /dev/null
+++ b/uikit/static/ico/favicon/manifest.json
@@ -0,0 +1,41 @@
+{
+ "name": "inktrap",
+ "icons": [
+ {
+ "src": "\/theme\/ico\/favicon\/android-chrome-36x36.png",
+ "sizes": "36x36",
+ "type": "image\/png",
+ "density": "0.75"
+ },
+ {
+ "src": "\/theme\/ico\/favicon\/android-chrome-48x48.png",
+ "sizes": "48x48",
+ "type": "image\/png",
+ "density": "1.0"
+ },
+ {
+ "src": "\/theme\/ico\/favicon\/android-chrome-72x72.png",
+ "sizes": "72x72",
+ "type": "image\/png",
+ "density": "1.5"
+ },
+ {
+ "src": "\/theme\/ico\/favicon\/android-chrome-96x96.png",
+ "sizes": "96x96",
+ "type": "image\/png",
+ "density": "2.0"
+ },
+ {
+ "src": "\/theme\/ico\/favicon\/android-chrome-144x144.png",
+ "sizes": "144x144",
+ "type": "image\/png",
+ "density": "3.0"
+ },
+ {
+ "src": "\/theme\/ico\/favicon\/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image\/png",
+ "density": "4.0"
+ }
+ ]
+}
diff --git a/uikit/static/ico/favicon/mstile-144x144.png b/uikit/static/ico/favicon/mstile-144x144.png
new file mode 100644
index 0000000..20ce807
--- /dev/null
+++ b/uikit/static/ico/favicon/mstile-144x144.png
Binary files differ
diff --git a/uikit/static/ico/favicon/mstile-150x150.png b/uikit/static/ico/favicon/mstile-150x150.png
new file mode 100644
index 0000000..60a2d1d
--- /dev/null
+++ b/uikit/static/ico/favicon/mstile-150x150.png
Binary files differ
diff --git a/uikit/static/ico/favicon/mstile-310x150.png b/uikit/static/ico/favicon/mstile-310x150.png
new file mode 100644
index 0000000..c5458f2
--- /dev/null
+++ b/uikit/static/ico/favicon/mstile-310x150.png
Binary files differ
diff --git a/uikit/static/ico/favicon/mstile-310x310.png b/uikit/static/ico/favicon/mstile-310x310.png
new file mode 100644
index 0000000..3c8f24a
--- /dev/null
+++ b/uikit/static/ico/favicon/mstile-310x310.png
Binary files differ
diff --git a/uikit/static/ico/favicon/mstile-70x70.png b/uikit/static/ico/favicon/mstile-70x70.png
new file mode 100644
index 0000000..8cd04a8
--- /dev/null
+++ b/uikit/static/ico/favicon/mstile-70x70.png
Binary files differ
diff --git a/uikit/static/ico/favicon/safari-pinned-tab.svg b/uikit/static/ico/favicon/safari-pinned-tab.svg
new file mode 100644
index 0000000..a072a0b
--- /dev/null
+++ b/uikit/static/ico/favicon/safari-pinned-tab.svg
@@ -0,0 +1,1651 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
+ width="750.000000pt" height="750.000000pt" viewBox="0 0 750.000000 750.000000"
+ preserveAspectRatio="xMidYMid meet">
+<metadata>
+Created by potrace 1.11, written by Peter Selinger 2001-2013
+</metadata>
+<g transform="translate(0.000000,750.000000) scale(0.100000,-0.100000)"
+fill="#000000" stroke="none">
+<path d="M4170 7038 l0 -118 -120 0 -120 0 0 -115 0 -115 -115 0 -115 0 0
+-235 0 -235 -232 -2 -233 -3 0 -110 0 -110 -118 -3 -117 -3 2 -237 3 -237 100
+-1 c55 -1 107 -2 115 -3 13 -1 16 -18 15 -108 l-1 -108 -117 -3 -117 -3 2
+-237 3 -237 105 -1 c58 -1 110 -2 115 -3 7 -1 10 -155 9 -453 -1 -249 -2 -456
+-3 -460 0 -5 -53 -8 -117 -8 l-115 0 2 -127 c0 -71 6 -136 11 -147 6 -10 6
+-16 1 -13 -13 8 -11 -126 2 -135 6 -5 5 -8 -3 -8 -7 0 -10 -5 -7 -10 4 -6 12
+-7 18 -3 7 3 4 -3 -5 -14 -15 -16 -18 -39 -18 -132 l0 -112 -112 3 -113 3 0
+115 0 115 -460 1 c-253 0 -465 -1 -470 -3 -7 -2 -10 -48 -10 -118 l1 -115
+-113 0 -112 0 -3 117 -3 118 -230 0 -230 0 -3 -117 -3 -118 -234 0 -235 0 0
+-235 0 -234 117 -3 118 -3 0 -345 0 -345 118 -3 117 -3 -2 355 c-2 199 1 352
+6 349 5 -3 5 -309 1 -704 l-7 -699 116 0 116 0 0 -115 0 -115 115 0 115 0 0
+-235 0 -235 938 2 937 3 0 230 0 230 350 5 350 5 0 110 0 110 117 3 117 3 -2
+352 -2 352 -115 5 -114 5 -1 98 c-1 54 2 103 6 109 5 7 45 10 118 9 l110 -1 0
+507 c0 280 0 543 1 586 l0 77 115 0 115 0 0 115 0 115 113 0 113 0 -1 -112 0
+-113 353 -3 352 -2 0 115 0 115 350 0 350 0 0 118 0 118 118 -1 117 0 0 118 0
+117 117 0 118 0 0 585 0 584 -117 3 -118 3 -1 215 c-1 118 -2 222 -3 230 -1
+13 -18 15 -103 15 -57 -1 -109 0 -115 3 -10 3 -13 36 -13 118 l0 114 -232 2
+-233 3 0 113 0 112 -352 0 -353 0 0 -115 0 -115 -115 0 -115 0 0 465 0 465
+-115 0 -114 0 -3 117 -3 118 -232 0 -233 1 0 -118z m138 -143 c-3 -3 -9 2 -12
+12 -6 14 -5 15 5 6 7 -7 10 -15 7 -18z m80 0 c-3 -3 -9 2 -12 12 -6 14 -5 15
+5 6 7 -7 10 -15 7 -18z m222 11 c0 -3 -4 -8 -10 -11 -5 -3 -10 -1 -10 4 0 6 5
+11 10 11 6 0 10 -2 10 -4z m-397 -19 c3 -7 -3 -13 -14 -13 -13 0 -15 3 -7 13
+6 7 12 13 13 13 2 0 5 -6 8 -13z m75 0 c8 -10 6 -13 -7 -13 -11 0 -17 6 -14
+13 3 7 6 13 8 13 1 0 7 -6 13 -13z m80 0 c8 -10 6 -13 -7 -13 -11 0 -17 6 -14
+13 3 7 6 13 8 13 1 0 7 -6 13 -13z m-77 -57 c-5 -8 -6 -21 -4 -27 3 -7 0 -13
+-5 -13 -6 0 -9 8 -7 18 1 9 -1 22 -6 27 -5 7 -1 11 11 11 13 0 16 -5 11 -16z
+m109 -15 c0 -2 -6 -5 -13 -8 -8 -3 -14 1 -14 8 0 7 6 11 14 8 7 -3 13 -6 13
+-8z m-177 -35 c3 -11 1 -18 -4 -14 -5 3 -9 12 -9 20 0 20 7 17 13 -6z m-20
+-13 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0 5 -6 8 -13z m94
+-13 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m89 -13 c0 -14 -4
+-17 -16 -12 -8 5 -21 6 -27 4 -7 -3 -13 0 -13 6 0 5 9 8 20 6 11 -2 22 0 25 6
+9 13 11 11 11 -10z m180 -7 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4
+10 3 -4 7 -14 8 -22z m-316 6 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5
+10 10 10 6 0 10 -4 10 -10z m354 2 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8
+9 8 2 0 6 -4 9 -8z m-307 -18 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2
+13 -5z m6 -34 c10 -12 9 -12 -5 -2 -13 10 -17 10 -20 0 -3 -8 -6 -7 -10 4 -8
+20 17 18 35 -2z m107 -11 c0 -5 -5 -9 -12 -9 -6 0 -8 3 -5 7 4 3 1 13 -6 22
+-11 14 -10 14 6 2 9 -7 17 -17 17 -22z m85 11 c4 -6 -6 -10 -22 -9 -25 0 -26
+1 -8 9 11 5 21 9 22 9 1 1 5 -3 8 -9z m-411 -8 c3 -5 -1 -9 -9 -9 -8 0 -12 4
+-9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m469 1 c-7 -2 -21 -2 -30 0 -10 3 -4 5 12 5
+17 0 24 -2 18 -5z m65 0 c-10 -2 -26 -2 -35 0 -10 3 -2 5 17 5 19 0 27 -2 18
+-5z m-651 -9 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m160 0
+c-3 -4 -2 -14 3 -23 6 -13 4 -17 -10 -17 -10 0 -16 5 -12 11 4 5 7 13 8 18 3
+15 4 17 11 17 3 0 3 -3 0 -6z m-117 -14 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10
+10 0 6 5 10 10 10 6 0 10 -4 10 -10z m174 2 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9
+9 3 4 7 8 9 8 2 0 6 -4 9 -8z m224 -28 c0 -17 -3 -22 -8 -13 -5 6 -6 18 -3 26
+8 19 11 16 11 -13z m-445 -1 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14
+8 14 7 0 11 -6 8 -14z m94 11 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2
+13 -5z m110 -49 c0 -7 -8 -17 -17 -23 -12 -7 -17 -7 -17 4 0 7 5 10 10 7 6 -4
+8 0 5 9 -4 8 -1 15 6 15 7 0 13 -6 13 -12z m-181 -14 c0 -15 -4 -17 -17 -11
+-9 5 -20 6 -24 2 -5 -4 -5 -1 -1 6 4 7 11 10 16 7 5 -3 11 -1 15 5 9 14 11 13
+11 -9z m72 6 c6 3 12 0 12 -5 0 -6 -8 -9 -17 -7 -10 1 -23 -1 -28 -6 -7 -5
+-11 -1 -11 11 0 13 5 16 16 11 8 -5 21 -6 28 -4z m352 -27 c0 -5 -5 -10 -11
+-10 -5 0 -7 5 -4 10 3 6 8 10 11 10 2 0 4 -4 4 -10z m-307 -8 c4 9 6 9 6 1 2
+-20 -16 -24 -30 -5 -13 15 -12 16 3 4 13 -10 17 -10 21 0z m-83 -17 c11 -13
+10 -14 -5 -9 -11 5 -16 4 -12 -3 3 -5 0 -10 -7 -10 -11 0 -12 4 -3 19 14 22
+12 21 27 3z m120 0 c11 -13 10 -14 -5 -9 -11 5 -16 4 -12 -3 3 -5 0 -10 -7
+-10 -11 0 -12 4 -3 19 14 22 12 21 27 3z m267 -20 c0 -8 -4 -12 -9 -9 -5 3 -6
+10 -3 15 9 13 12 11 12 -6z m-360 -10 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9
+13 12 11 12 -6z m37 -7 c-3 -4 1 -8 8 -9 10 0 10 -2 0 -6 -6 -2 -10 -9 -7 -13
+3 -5 0 -12 -6 -16 -8 -4 -9 -3 -5 4 4 7 1 12 -6 13 -10 0 -11 2 0 6 9 3 10 9
+3 17 -8 9 -7 13 4 13 8 0 12 -4 9 -9z m87 -1 c-6 -8 -8 -17 -4 -20 3 -4 1 -7
+-5 -7 -15 0 -15 13 0 28 16 16 23 15 9 -1z m-202 -24 c-6 -7 -17 -13 -23 -12
+-7 0 -6 2 2 6 6 2 10 8 8 12 -3 4 1 8 9 8 11 0 12 -4 4 -14z m101 -53 c0 -5
+-2 -10 -4 -10 -3 0 -8 5 -11 10 -3 6 -1 10 4 10 6 0 11 -4 11 -10z m60 -144
+c0 -2 -8 -10 -17 -17 -16 -13 -17 -12 -4 4 13 16 21 21 21 13z m-43 -21 c0 -8
+-4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m-127 -34 c0 -5 -7 -12 -16
+-15 -14 -5 -15 -4 -4 9 14 17 20 19 20 6z m30 -1 c0 -5 -5 -10 -11 -10 -5 0
+-7 5 -4 10 3 6 8 10 11 10 2 0 4 -4 4 -10z m30 0 c0 -5 -5 -10 -11 -10 -5 0
+-7 5 -4 10 3 6 8 10 11 10 2 0 4 -4 4 -10z m30 0 c0 -5 -5 -10 -11 -10 -5 0
+-7 5 -4 10 3 6 8 10 11 10 2 0 4 -4 4 -10z m30 0 c0 -5 -5 -10 -11 -10 -5 0
+-7 5 -4 10 3 6 8 10 11 10 2 0 4 -4 4 -10z m30 0 c0 -5 -5 -10 -11 -10 -5 0
+-7 5 -4 10 3 6 8 10 11 10 2 0 4 -4 4 -10z m568 -237 c-10 -2 -26 -2 -35 0
+-10 3 -2 5 17 5 19 0 27 -2 18 -5z m65 0 c-7 -2 -21 -2 -30 0 -10 3 -4 5 12 5
+17 0 24 -2 18 -5z m60 0 c-7 -2 -21 -2 -30 0 -10 3 -4 5 12 5 17 0 24 -2 18
+-5z m62 -113 c0 -107 -1 -115 -20 -117 -16 -1 -16 -1 -2 3 15 5 17 19 17 114
+0 105 -1 109 -22 113 -20 5 -20 5 2 4 l25 -2 0 -115z m479 104 c3 -8 2 -12 -4
+-9 -6 3 -10 10 -10 16 0 14 7 11 14 -7z m63 9 c-4 -3 -2 -11 3 -18 7 -8 5 -12
+-5 -12 -8 0 -11 5 -8 10 4 7 -1 8 -13 4 -18 -7 -18 -7 0 8 20 15 35 21 23 8z
+m134 -10 c11 -15 11 -16 -1 -6 -9 9 -19 9 -34 2 -20 -10 -20 -10 -2 5 24 19
+21 20 37 -1z m160 0 c11 -15 11 -16 -1 -6 -9 9 -19 9 -34 2 -20 -10 -20 -10
+-2 5 24 19 21 20 37 -1z m-528 -6 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6
+13 8 13 2 0 5 -6 8 -13z m150 0 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6
+13 8 13 2 0 5 -6 8 -13z m468 -10 c-10 -9 -11 -8 -5 6 3 10 9 15 12 12 3 -3 0
+-11 -7 -18z m-2325 -2 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z
+m1786 -7 c-2 -10 -9 -18 -15 -18 -6 0 -7 3 -4 7 4 3 3 11 -3 17 -6 8 -3 12 9
+12 12 0 17 -6 13 -18z m315 -3 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12
+11 12 -6z m160 0 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z
+m-357 -27 c0 -19 -16 -5 -17 14 -2 18 0 20 7 8 5 -8 10 -18 10 -22z m79 15
+c-9 -10 -8 -13 2 -14 10 0 11 -2 1 -6 -6 -2 -10 -9 -7 -13 3 -5 1 -11 -4 -14
+-5 -4 -8 2 -7 11 2 10 -2 21 -8 25 -8 5 -7 8 2 8 7 0 11 4 8 8 -3 5 1 9 9 9
+11 0 12 -4 4 -14z m166 7 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10 19 12 23 12
+15 0z m-2070 -12 c5 4 5 1 1 -6 -6 -10 -11 -10 -22 -1 -8 6 -14 14 -14 16 0 3
+6 0 13 -6 8 -6 18 -7 22 -3z m-199 -10 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8
+-3 4 1 5 10 4 8 -1 18 -5 22 -8z m59 3 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8
+0 13 -3 10 -6z m261 -3 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8
+-1 18 -5 22 -8z m1661 6 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z
+m290 -10 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m-415 -22 c3
+-11 0 -19 -7 -19 -7 0 -10 8 -7 19 2 10 6 18 7 18 1 0 5 -8 7 -18z m120 0 c3
+-11 0 -19 -7 -19 -7 0 -10 8 -7 19 2 10 6 18 7 18 1 0 5 -8 7 -18z m22 2 c3
+-8 2 -12 -4 -9 -6 3 -10 10 -10 16 0 14 7 11 14 -7z m225 1 c3 -3 -7 -4 -23
+-1 -16 3 -31 8 -35 11 -3 3 7 4 23 1 16 -3 31 -8 35 -11z m-2224 -4 c3 -5 2
+-12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m160 -10 c-9 -8 -36 -10 -30 -2 2
+4 11 8 20 8 8 0 13 -3 10 -6z m121 -3 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3
+4 1 5 10 4 8 -1 18 -5 22 -8z m60 0 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4
+1 5 10 4 8 -1 18 -5 22 -8z m1560 -12 c-2 -14 0 -27 5 -30 5 -2 4 -3 -3 -2
+-14 3 -20 56 -6 56 4 0 6 -11 4 -24z m246 2 c-2 -10 -9 -18 -15 -18 -6 0 -7 3
+-4 7 4 3 3 11 -3 17 -6 8 -3 12 9 12 12 0 17 -6 13 -18z m200 15 c-10 -4 -10
+-8 0 -21 11 -13 11 -14 0 -8 -7 4 -19 3 -26 -3 -9 -8 -13 -7 -13 4 0 8 5 11
+10 8 6 -4 8 0 5 8 -4 10 1 15 16 16 11 0 15 -1 8 -4z m-329 -18 c-3 -9 -8 -14
+-10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z m-1937 -10 c-1 -8 -5 -17 -8 -21 -5
+-4 -4 16 1 34 3 9 9 -1 7 -13z m2004 3 c0 -5 -11 -6 -25 -4 -14 3 -25 0 -25
+-6 0 -6 -3 -9 -6 -5 -3 3 -4 10 -1 14 7 11 57 12 57 1z m117 -10 c-3 -8 -6 -5
+-6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m59 -12 c1 -9 -2 -14 -7 -10 -5 3 -6
+10 -3 16 5 7 2 9 -8 6 -8 -4 -15 0 -15 8 0 19 30 1 33 -20z m119 25 c3 -5 2
+-12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m-439 -27 c1 -9 0 -13 -4 -10 -3
+4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m480 1 c-1 -14 -8 -30 -16
+-37 -11 -11 -11 -9 0 6 13 18 13 19 -1 14 -9 -4 -16 -1 -16 7 0 7 7 11 14 8 8
+-3 13 -2 12 3 -2 12 0 24 4 24 2 0 3 -11 3 -25z m-2502 7 c3 -5 -1 -9 -9 -9
+-8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m82 -7 c-1 -8 -5 -17 -8 -21 -5
+-4 -4 16 1 34 3 9 9 -1 7 -13z m220 3 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3
+4 1 5 10 4 8 -1 18 -5 22 -8z m1603 -4 c-6 -7 -7 -19 -3 -26 6 -11 5 -11 -8 0
+-13 10 -17 10 -21 0 -3 -7 -4 -3 -4 8 1 15 6 20 16 16 8 -3 12 -1 8 5 -3 5 0
+10 8 10 11 0 12 -4 4 -13z m458 -16 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4
+-12 1 -19z m-2156 -1 c-6 -8 -7 -18 -3 -22 4 -5 1 -5 -6 -1 -10 6 -10 11 -1
+22 6 8 14 14 16 14 3 0 0 -6 -6 -13z m1913 5 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9
+9 3 4 7 8 9 8 2 0 6 -4 9 -8z m166 2 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0
+15 -2 15 -3z m-104 -13 c-4 -5 -1 -11 5 -13 6 -2 0 -9 -13 -15 -19 -9 -25 -8
+-25 2 0 7 7 11 14 8 8 -3 13 -2 12 3 -2 14 0 24 7 24 3 0 3 -4 0 -9z m-2166
+-7 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m106 -20 c1 -9 0 -13
+-4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m179 16 c3 -5 1
+-10 -4 -10 -6 0 -11 5 -11 10 0 6 2 10 4 10 3 0 8 -4 11 -10z m1822 -22 c-3
+-8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m173 7 c0 -12 -19 -12 -23 0
+-4 9 -1 12 9 8 7 -3 14 -7 14 -8z m-2214 -21 c1 -9 0 -13 -4 -10 -3 4 -7 14
+-8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m1901 11 c0 -8 -4 -12 -9 -9 -5 3 -6
+10 -3 15 9 13 12 11 12 -6z m85 -3 c4 -12 -1 -18 -13 -18 -12 0 -15 4 -9 12 6
+6 7 14 3 17 -3 4 -2 7 4 7 6 0 13 -8 15 -18z m192 2 c3 -8 2 -12 -4 -9 -6 3
+-10 10 -10 16 0 14 7 11 14 -7z m148 -10 c9 -18 8 -18 -5 -2 -8 10 -16 15 -19
+12 -4 -3 -9 -1 -12 4 -3 6 1 9 10 8 9 -1 21 -11 26 -22z m56 14 c-2 -7 8 -13
+24 -13 15 0 30 -3 33 -6 8 -9 -48 -5 -63 4 -7 5 -10 13 -7 18 9 13 15 11 13
+-3z m-2263 -17 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m160 0
+c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m65 -6 c0 -2 -9 -3 -19
+-2 -11 0 -18 5 -15 9 4 6 34 0 34 -7z m1512 -4 c-5 -13 -3 -14 9 -4 12 10 15
+8 16 -10 0 -12 -1 -16 -4 -9 -4 10 -8 10 -21 0 -10 -7 -14 -9 -10 -4 4 5 3 16
+-2 26 -6 12 -5 17 5 17 8 0 11 -7 7 -16z m248 15 c0 -2 -7 -7 -16 -10 -8 -3
+-12 -2 -9 4 6 10 25 14 25 6z m32 -18 c-2 -10 -6 -18 -7 -18 -1 0 -5 8 -7 18
+-3 11 0 19 7 19 7 0 10 -8 7 -19z m163 10 c3 -2 -17 -4 -44 -4 -27 1 -47 4
+-45 7 4 7 82 5 89 -3z m-1662 -5 c-7 -2 -21 -2 -30 0 -10 3 -4 5 12 5 17 0 24
+-2 18 -5z m60 0 c-7 -2 -21 -2 -30 0 -10 3 -4 5 12 5 17 0 24 -2 18 -5z m60 0
+c-7 -2 -21 -2 -30 0 -10 3 -4 5 12 5 17 0 24 -2 18 -5z m31 -9 c3 -8 2 -12 -4
+-9 -6 3 -10 10 -10 16 0 14 7 11 14 -7z m36 12 c0 -3 -4 -8 -10 -11 -5 -3 -10
+-1 -10 4 0 6 5 11 10 11 6 0 10 -2 10 -4z m475 -16 c-1 -11 -4 -22 -7 -25 -4
+-5 -4 34 1 43 4 8 7 -1 6 -18z m58 13 c-7 -2 -21 -2 -30 0 -10 3 -4 5 12 5 17
+0 24 -2 18 -5z m60 0 c-7 -2 -21 -2 -30 0 -10 3 -4 5 12 5 17 0 24 -2 18 -5z
+m50 0 c-7 -2 -19 -2 -25 0 -7 3 -2 5 12 5 14 0 19 -2 13 -5z m693 -8 c-1 -8
+-5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m-2206 1 c0 -2 -8 -10 -17
+-17 -16 -13 -17 -12 -4 4 13 16 21 21 21 13z m1670 0 c0 -3 -4 -8 -10 -11 -5
+-3 -10 -1 -10 4 0 6 5 11 10 11 6 0 10 -2 10 -4z m156 -22 c-3 -15 -8 -29 -11
+-32 -3 -3 -3 5 -1 19 2 13 5 27 5 32 1 4 3 7 6 7 3 0 3 -12 1 -26z m274 16
+c-18 -12 -30 -13 -30 -2 0 4 10 9 22 9 18 2 20 0 8 -7z m132 -8 c3 -11 0 -19
+-7 -19 -7 0 -10 8 -7 19 2 10 6 18 7 18 1 0 5 -8 7 -18z m-2186 -28 c1 -9 0
+-13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m99 17 c-9 -8
+-36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m1250 -1 c3 -6 -1 -7 -9 -4
+-18 7 -21 14 -7 14 6 0 13 -4 16 -10z m191 -6 c-1 -8 -6 -17 -12 -21 -5 -4 -6
+-4 -2 1 4 5 3 14 -2 21 -7 8 -5 12 4 12 8 0 13 -6 12 -13z m40 -7 c1 -9 -1
+-19 -6 -22 -5 -3 -7 3 -6 12 2 10 -2 22 -8 26 -7 6 -6 7 3 5 8 -2 15 -12 17
+-21z m79 6 c-1 -10 1 -23 6 -28 5 -7 1 -11 -11 -11 -13 0 -16 5 -11 16 5 8 6
+21 4 28 -3 6 0 12 5 12 6 0 9 -8 7 -17z m321 -6 c1 -9 -1 -19 -6 -22 -5 -3 -7
+3 -6 12 2 10 -2 22 -8 26 -7 6 -6 7 3 5 8 -2 15 -12 17 -21z m114 4 c7 -15 7
+-19 -5 -17 -8 1 -18 6 -22 11 -5 4 -2 5 6 0 11 -6 13 -4 8 8 -9 23 0 21 13 -2z
+m-1433 -4 c0 -8 -6 -14 -14 -14 -9 0 -10 4 -2 14 6 7 12 13 14 13 1 0 2 -6 2
+-13z m1278 1 c4 4 2 -3 -4 -15 -14 -27 -23 -31 -14 -6 4 10 2 14 -4 10 -5 -3
+-10 0 -10 8 0 10 4 12 12 5 7 -5 15 -6 20 -2z m201 -15 c-2 -9 -9 -19 -17 -21
+-9 -2 -10 -1 -3 5 6 4 10 16 8 26 -1 9 1 15 6 12 5 -3 7 -13 6 -22z m599 18
+c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m-2699 -27 c1 -9 0 -13
+-4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m240 11 c-1 -8 -5
+-17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m415 -2 c13 -16 12 -17 -3 -4
+-10 7 -18 15 -18 17 0 8 8 3 21 -13z m99 13 c0 -2 -8 -10 -17 -17 -16 -13 -17
+-12 -4 4 13 16 21 21 21 13z m515 -6 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10
+19 12 23 12 15 0z m535 -3 c0 -5 -6 -7 -12 -4 -7 2 -21 0 -30 -5 -13 -6 -16
+-5 -12 5 5 14 54 18 54 4z m870 7 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15
+-2 15 -3z m-2770 -8 c0 -2 -6 -9 -14 -15 -11 -9 -16 -9 -22 0 -4 7 -3 9 4 5 6
+-3 13 -2 17 4 6 10 15 14 15 6z m215 -15 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8
+8 0 13 -3 10 -6z m79 0 c3 -5 -2 -15 -12 -22 -15 -12 -16 -12 -5 2 7 9 10 19
+6 22 -3 4 -4 7 0 7 3 0 8 -4 11 -9z m1498 -10 c-5 -13 -3 -14 9 -4 13 10 16
+10 16 -1 0 -18 -27 -14 -38 6 -5 10 -4 15 5 15 9 0 12 -7 8 -16z m485 -4 c1
+-11 1 -18 0 -16 -2 2 -8 11 -15 20 -9 12 -9 16 1 16 7 0 14 -9 14 -20z m-922
+4 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m333 -27 c1 -1 -6 -4
+-17 -7 -15 -3 -18 -1 -14 11 4 9 2 13 -4 9 -5 -3 -10 0 -10 8 0 12 4 12 21 -2
+12 -10 22 -18 24 -19z m368 10 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13
+4 10 3 -4 7 -14 8 -22z m37 5 c-4 -15 -8 -17 -14 -8 -6 11 4 28 18 29 0 0 -1
+-9 -4 -21z m668 4 c13 -16 12 -17 -3 -4 -10 7 -18 15 -18 17 0 8 8 3 21 -13z
+m-2007 -1 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m991
+-2 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10 19 12 23 12 15 0z m287 -8 c3 -11 0
+-19 -7 -19 -7 0 -10 8 -7 19 2 10 6 18 7 18 1 0 5 -8 7 -18z m85 3 c0 -8 -4
+-12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m-234 -8 c3 -8 -1 -14 -8 -14
+-7 0 -11 6 -8 14 3 7 6 13 8 13 2 0 5 -6 8 -13z m-1847 -9 c3 -4 -1 -5 -10 -4
+-8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m179 3 c-9 -8 -36 -10 -30
+-2 2 4 11 8 20 8 8 0 13 -3 10 -6z m121 -17 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8
+22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m1264 17 c0 -5 -8 -15 -17 -22 -16 -12
+-17 -12 -6 2 7 9 10 19 6 22 -3 4 -1 7 5 7 7 0 12 -4 12 -9z m360 -7 c-6 -6
+-7 -14 -3 -17 3 -4 2 -7 -4 -7 -6 0 -13 8 -15 18 -4 12 1 18 13 18 12 0 15 -4
+9 -12z m-142 -6 c-5 -14 -36 -20 -43 -8 -3 5 4 7 15 5 11 -2 20 0 20 6 0 5 3
+9 6 9 3 0 4 -5 2 -12z m-123 -7 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13
+-3 10 -6z m142 -11 c-2 -11 -6 -22 -9 -26 -4 -3 -5 2 -3 13 2 10 4 21 4 26 1
+4 3 7 6 7 3 0 4 -9 2 -20z m243 -12 c0 -19 -16 -5 -17 14 -2 18 0 20 7 8 5 -8
+10 -18 10 -22z m117 17 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z
+m43 5 c0 -5 -2 -10 -4 -10 -3 0 -8 5 -11 10 -3 6 -1 10 4 10 6 0 11 -4 11 -10z
+m-885 -9 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m-1381 -9 c3 -5
+-1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m122 -4 c3 -4 -1 -5
+-10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m59 3 c-9 -8 -36
+-10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m121 -3 c3 -4 -1 -5 -10 -4 -8 1
+-18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m1484 -3 c-5 -7 -6 -15 -2 -20 4
+-4 -3 -2 -15 4 -27 14 -31 23 -6 14 10 -4 14 -2 10 4 -3 5 0 10 8 10 10 0 12
+-4 5 -12z m127 9 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m262
+-16 c-11 -21 -15 -22 -25 -6 -5 7 -3 8 6 3 9 -6 12 -4 8 7 -4 8 0 15 7 15 10
+0 11 -5 4 -19z m128 -1 c1 -11 1 -18 0 -16 -2 2 -8 11 -15 20 -9 12 -9 16 1
+16 7 0 14 -9 14 -20z m488 13 c3 -6 -1 -7 -9 -4 -18 7 -21 14 -7 14 6 0 13 -4
+16 -10z m-2088 -15 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z
+m899 -5 c0 -12 -4 -16 -9 -11 -5 5 -6 14 -3 20 10 15 12 14 12 -9z m48 9 c9 8
+13 7 13 -3 0 -17 -30 -14 -33 3 -2 7 0 7 3 1 3 -7 9 -8 17 -1z m-1529 -18 c3
+-5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m2020 0 c3 -5 2 -12 -3 -15
+-5 -3 -9 1 -9 9 0 17 3 19 12 6z m124 -4 c8 -10 7 -14 -4 -14 -8 0 -11 5 -8
+10 4 6 -1 8 -11 4 -10 -4 -15 -3 -11 3 8 14 20 12 34 -3z m-2223 -9 c3 -4 -1
+-5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m240 0 c3 -4 -1
+-5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m120 0 c3 -4 -1
+-5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m303 -11 c8 -10
+7 -14 -2 -14 -8 0 -14 6 -14 14 0 7 1 13 2 13 2 0 8 -6 14 -13z m856 1 c5 4 5
+1 1 -6 -6 -10 -11 -10 -22 -1 -8 6 -14 14 -14 16 0 3 6 0 13 -6 8 -6 18 -7 22
+-3z m353 -1 c6 3 12 1 12 -4 0 -14 -49 -10 -54 4 -4 10 -1 11 12 5 9 -5 23 -7
+30 -5z m49 -1 c0 -8 -6 -12 -15 -9 -11 5 -11 7 0 14 7 5 13 9 14 9 0 0 1 -6 1
+-14z m30 -8 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m89 3 c0
+-14 -4 -17 -12 -11 -6 6 -14 7 -17 3 -4 -3 -7 -1 -7 5 0 6 8 13 18 15 9 3 17
+5 17 6 1 0 1 -8 1 -18z m-456 -3 c0 -4 -4 -8 -9 -8 -6 0 -12 4 -15 8 -3 5 1 9
+9 9 8 0 15 -4 15 -9z m117 5 c-4 -3 -3 -11 3 -17 6 -8 3 -12 -9 -12 -12 0 -17
+6 -13 18 2 10 9 18 15 18 6 0 7 -3 4 -7z m117 -9 c3 -8 2 -12 -4 -9 -6 3 -10
+10 -10 16 0 14 7 11 14 -7z m336 10 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15
+-2 15 -3z m-1370 -25 c0 -5 -4 -9 -8 -9 -5 0 -9 7 -9 15 0 8 4 12 9 9 4 -3 8
+-9 8 -15z m573 -4 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z m28
+2 c-6 -8 -7 -18 -3 -22 4 -5 1 -5 -6 -1 -10 6 -10 11 -1 22 6 8 14 14 16 14 3
+0 0 -6 -6 -13z m43 5 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4
+9 -8z m199 -9 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14 8 14 7 0 11 -6
+8 -14z m149 -2 c-5 -13 -3 -14 9 -4 13 10 16 10 16 -1 0 -18 -27 -14 -38 6 -5
+10 -4 15 5 15 9 0 12 -7 8 -16z m279 -4 c-10 -9 -11 -8 -5 6 3 10 9 15 12 12
+3 -3 0 -11 -7 -18z m97 9 c-2 -1 -12 -9 -24 -19 -17 -14 -21 -14 -21 -2 0 8 5
+11 10 8 6 -4 8 0 4 9 -4 12 -1 14 14 11 11 -3 18 -6 17 -7z m119 -1 c4 -4 3
+-5 -4 -2 -6 4 -13 2 -15 -5 -3 -8 -6 -6 -10 4 -7 17 15 19 29 3z m533 5 c0 -5
+-4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z m80 0 c0
+-5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z m-1285
+-9 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m815 5 c0 -2 -7 -7
+-16 -10 -8 -3 -12 -2 -9 4 6 10 25 14 25 6z m42 -3 c-12 -2 -20 -9 -17 -14 4
+-5 1 -9 -4 -9 -12 0 -14 13 -4 23 3 4 16 6 27 6 19 -2 19 -2 -2 -6z m280 -18
+c-2 -14 -6 -25 -8 -25 -2 0 -4 11 -4 25 0 14 4 25 9 25 4 0 6 -11 3 -25z m228
+-89 c0 -63 -3 -117 -7 -119 -5 -3 -8 48 -8 114 0 65 3 119 8 119 4 0 7 -51 7
+-114z m-2220 95 c0 -6 -4 -12 -8 -15 -5 -3 -9 1 -9 9 0 8 4 15 9 15 4 0 8 -4
+8 -9z m80 5 c0 -3 -4 -8 -10 -11 -5 -3 -10 -1 -10 4 0 6 5 11 10 11 6 0 10 -2
+10 -4z m727 -18 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m178 12
+c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10 19 12 23 12 15 0z m254 -5 c3 -3 -7 -4
+-23 -1 -16 3 -31 8 -35 11 -3 3 7 4 23 1 16 -3 31 -8 35 -11z m221 5 c0 -5 -4
+-10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z m-1537 -13
+c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0 5 -6 8 -13z m517 9
+c0 -2 -8 -10 -17 -17 -16 -13 -17 -12 -4 4 13 16 21 21 21 13z m236 -21 c1 -8
+-3 -18 -8 -22 -7 -3 -8 -1 -4 5 4 7 1 12 -6 13 -10 0 -10 2 0 6 6 2 9 10 5 16
+-3 7 -2 8 2 4 5 -4 10 -14 11 -22z m486 7 c-7 -2 -10 -8 -7 -12 3 -5 0 -12 -6
+-16 -8 -4 -9 -3 -5 4 4 7 1 12 -6 13 -10 0 -10 2 0 6 6 2 10 9 7 14 -4 5 2 6
+11 2 11 -4 13 -8 6 -11z m479 3 c5 4 6 -2 2 -11 -4 -10 -2 -15 4 -11 5 3 10 0
+10 -8 0 -10 -4 -12 -12 -5 -7 5 -15 7 -19 3 -4 -4 -4 1 0 11 5 13 4 17 -4 12
+-8 -5 -10 -1 -5 10 4 11 8 13 11 6 2 -7 8 -10 13 -7z m-925 -18 c1 -9 -1 -19
+-6 -22 -5 -3 -7 3 -6 12 2 10 -2 22 -8 26 -7 6 -6 7 3 5 8 -2 15 -12 17 -21z
+m160 -1 c-2 -14 0 -27 5 -30 5 -2 4 -3 -3 -2 -14 3 -20 56 -6 56 4 0 6 -11 4
+-24z m47 7 c-4 -10 -2 -14 4 -10 5 3 10 -1 10 -9 0 -13 -2 -13 -15 0 -8 8 -11
+19 -8 25 11 17 16 13 9 -6z m480 0 c-4 -10 -2 -14 4 -10 5 3 10 0 10 -8 0 -12
+-4 -12 -19 2 -14 13 -16 18 -6 25 18 11 18 10 11 -9z m-1203 3 c0 -2 -8 -10
+-17 -17 -16 -13 -17 -12 -4 4 13 16 21 21 21 13z m577 -11 c0 -8 -5 -11 -10
+-8 -6 4 -8 0 -4 -10 4 -11 2 -14 -9 -10 -13 5 -13 8 2 24 21 23 21 23 21 4z
+m281 3 c-5 -14 -58 -19 -58 -6 0 4 11 6 25 4 14 -3 25 0 25 5 0 5 3 9 6 9 3 0
+4 -5 2 -12z m258 -20 c1 -8 -4 -15 -12 -15 -11 0 -11 3 -1 16 10 12 9 14 -4 9
+-9 -4 -16 -1 -16 8 0 18 30 2 33 -18z m40 5 c-2 -9 -9 -19 -17 -21 -9 -2 -10
+-1 -3 5 6 4 10 16 8 26 -1 9 1 15 6 12 5 -3 7 -13 6 -22z m182 15 c-5 -14 -58
+-19 -58 -6 0 4 11 6 25 4 14 -3 25 0 25 5 0 5 3 9 6 9 3 0 4 -5 2 -12z m-1538
+-4 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m90 0 c0 -8 -19 -13
+-24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m270 -8 c-7 -7 -13 -7 -20 0 -6 6 -3 10
+10 10 13 0 16 -4 10 -10z m240 4 c0 -5 -5 -10 -11 -10 -5 0 -7 5 -4 10 3 6 8
+10 11 10 2 0 4 -4 4 -10z m595 1 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3
+19 12 6z m409 1 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z
+m126 4 c0 -2 -8 -10 -17 -17 -16 -13 -17 -12 -4 4 13 16 21 21 21 13z m257
+-73 c-2 -16 -4 -5 -4 22 0 28 2 40 4 28 2 -13 2 -35 0 -50z m-2028 35 c-5 -10
+-13 -18 -16 -18 -3 0 -3 3 0 7 4 3 3 11 -3 17 -6 8 -3 12 10 12 15 0 16 -4 9
+-18z m161 8 c-7 -7 -13 -7 -20 0 -6 6 -3 10 10 10 13 0 16 -4 10 -10z m519 -8
+c-8 -15 -13 -17 -25 -7 -8 6 -14 14 -14 16 0 3 8 -1 17 -8 14 -12 16 -12 11 2
+-4 9 -1 16 7 16 11 0 11 -5 4 -19z m355 1 c-3 -5 -1 -16 5 -23 8 -9 7 -13 -4
+-13 -8 0 -11 5 -8 10 4 6 0 8 -8 5 -10 -4 -15 1 -17 15 -1 17 1 19 8 7 9 -14
+14 -7 11 13 -1 5 3 6 9 2 6 -3 8 -11 4 -16z m125 4 c-8 -9 -8 -17 0 -26 8 -10
+7 -14 -4 -14 -8 0 -11 5 -8 10 4 6 0 8 -8 5 -10 -4 -15 1 -15 12 0 11 5 16 15
+12 8 -3 12 -1 8 5 -3 5 0 10 8 10 11 0 12 -4 4 -14z m-355 -28 c3 3 4 2 1 -2
+-11 -15 -34 -11 -28 5 4 9 2 13 -4 9 -5 -3 -10 1 -10 10 0 13 4 12 17 -5 10
+-12 20 -19 24 -17z m455 21 c9 -10 8 -15 -2 -19 -8 -3 -13 3 -13 14 0 23 0 23
+15 5z m174 -1 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z m75 7
+c14 12 14 11 1 -10 -8 -12 -16 -17 -17 -12 -3 8 -8 8 -16 1 -9 -8 -13 -7 -13
+4 0 8 4 12 9 9 4 -3 8 1 9 8 0 10 2 11 6 0 4 -10 8 -10 21 0z m99 -14 c-3 -8
+-6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m28 -1 c0 -13 -5 -24 -12 -24
+-7 0 -11 3 -9 6 2 3 6 14 9 24 9 23 12 22 12 -6z m92 1 c-3 -8 -6 -5 -6 6 -1
+11 2 17 5 13 3 -3 4 -12 1 -19z m-1694 -6 c14 -15 15 -19 2 -19 -8 0 -11 5 -8
+10 4 6 0 8 -10 4 -11 -4 -14 -2 -10 9 7 18 7 18 26 -4z m47 14 c0 -2 -7 -7
+-16 -10 -8 -3 -12 -2 -9 4 6 10 25 14 25 6z m80 -11 c0 -1 -8 -5 -18 -7 -11
+-3 -19 0 -19 7 0 7 8 10 19 7 10 -2 18 -6 18 -7z m475 -5 c-3 -4 1 -10 7 -13
+7 -3 3 -4 -9 -4 -15 1 -19 5 -13 13 6 6 6 15 2 19 -4 5 -1 5 6 1 7 -4 10 -11
+7 -16z m225 12 c0 -4 -10 -9 -22 -9 -18 -2 -20 0 -8 7 18 12 30 13 30 2z m460
+-2 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z
+m337 -5 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m-937 -12 c0
+-5 -5 -15 -10 -23 -7 -12 -9 -10 -7 8 1 19 17 33 17 15z m202 -15 c-2 -10 -9
+-18 -15 -18 -6 0 -7 3 -4 7 4 3 3 11 -3 17 -6 8 -3 12 9 12 12 0 17 -6 13 -18z
+m438 16 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m35 -27 c1 -15
+-2 -27 -7 -27 -4 0 -6 11 -4 24 2 14 0 27 -5 30 -5 2 -4 3 3 2 7 -1 13 -14 13
+-29z m-1280 14 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m880 0 c3
+-5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m561 -5 c13 2 24 0 24 -4 0
+-14 -53 -8 -56 6 -1 7 0 8 2 3 3 -5 16 -7 30 -5z m117 -1 c-3 -9 -8 -14 -10
+-11 -3 3 -2 9 2 15 9 16 15 13 8 -4z m-1699 -12 c4 -10 1 -11 -13 -4 -10 6
+-22 7 -26 3 -5 -4 -5 -2 -2 4 9 15 35 13 41 -3z m105 1 c-7 -8 -6 -13 3 -16 8
+-3 6 -7 -6 -11 -10 -4 -15 -3 -11 3 3 6 0 10 -7 11 -10 0 -10 2 0 6 6 2 10 8
+8 12 -3 4 1 8 9 8 11 0 12 -4 4 -13z m232 -1 c13 -16 12 -17 -3 -4 -10 7 -18
+15 -18 17 0 8 8 3 21 -13z m254 7 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10 19
+12 23 12 15 0z m252 -4 c0 -8 -8 -11 -21 -8 -19 5 -19 6 0 13 10 4 19 8 20 8
+0 1 1 -5 1 -13z m257 6 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6
+-4 9 -8z m136 2 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m87 -16
+c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m53 7 c0 -2 -6 -5 -13
+-8 -8 -3 -14 1 -14 8 0 7 6 11 14 8 7 -3 13 -6 13 -8z m130 9 c0 -8 -19 -13
+-24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m260 -6 c0 -5 -11 -6 -25 -4 -14 3 -25
+0 -25 -6 0 -6 -3 -9 -6 -5 -3 3 -4 10 -1 14 7 11 57 12 57 1z m-1068 -30 c-2
+-10 -6 -18 -7 -18 -1 0 -5 8 -7 18 -3 11 0 19 7 19 7 0 10 -8 7 -19z m84 -4
+c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m454
+11 c0 -11 -29 -11 -33 -1 -4 10 1 12 14 9 10 -3 19 -7 19 -8z m240 9 c0 -8
+-19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m146 -9 c-1 -8 -5 -17 -8 -21
+-5 -4 -4 16 1 34 3 9 9 -1 7 -13z m-1402 -25 c-6 -6 -10 -3 -10 10 0 13 4 16
+10 10 7 -7 7 -13 0 -20z m502 15 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9
+-1 7 -13z m37 -4 c3 -13 1 -18 -9 -14 -7 2 -10 11 -7 19 7 19 10 18 16 -5z
+m364 0 c-1 -12 -6 -17 -16 -13 -8 3 -12 1 -8 -5 3 -5 0 -10 -7 -10 -11 0 -12
+4 -3 18 6 10 15 15 19 13 4 -3 8 0 8 5 0 6 2 11 4 11 3 0 4 -9 3 -19z m-1120
+-13 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m168 13 c-3 -2 -16
+-6 -28 -8 -15 -2 -18 0 -9 5 14 9 45 12 37 3z m89 -7 c3 -8 2 -12 -4 -9 -6 3
+-10 10 -10 16 0 14 7 11 14 -7z m180 4 c-3 -4 -11 -5 -19 -1 -21 7 -19 12 4
+10 11 0 18 -5 15 -9z m146 8 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4 6 10 25
+14 25 6z m305 -5 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m412
+3 c-2 -3 -17 -7 -33 -10 -17 -2 -24 -1 -17 4 13 8 58 14 50 6z m180 -10 c0 -6
+-9 -9 -19 -6 -27 7 -29 17 -4 17 13 0 23 -5 23 -11z m110 -6 c-3 -8 -6 -5 -6
+6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m138 13 c-9 -8 -36 -10 -30 -2 2 4 11 8
+20 8 8 0 13 -3 10 -6z m-750 -10 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3
+19 12 6z m403 -16 c-3 -3 -9 2 -12 12 -6 14 -5 15 5 6 7 -7 10 -15 7 -18z
+m-1268 9 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m906 -29 c0 -14
+-4 -25 -9 -25 -5 0 -7 6 -4 13 2 6 0 20 -5 29 -6 13 -5 16 5 12 7 -2 13 -16
+13 -29z m214 29 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m817 -26
+c-3 -7 -5 -2 -5 12 0 14 2 19 5 13 2 -7 2 -19 0 -25z m-1351 -5 c-2 -9 -9 -19
+-17 -21 -9 -2 -10 -1 -3 5 6 4 10 16 8 26 -1 9 1 15 6 12 5 -3 7 -13 6 -22z
+m182 15 c-3 -7 -24 -13 -51 -13 -25 -1 -44 2 -42 5 2 4 22 6 45 5 22 -1 40 2
+40 7 0 4 3 8 6 8 3 0 4 -6 2 -12z m69 6 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6
+11 1 17 -2 13 -5z m409 -13 c0 -14 -4 -17 -12 -11 -6 6 -14 7 -17 3 -4 -3 -7
+-1 -7 5 0 6 8 13 18 15 9 3 17 5 17 6 1 0 1 -8 1 -18z m101 13 c-3 -3 -12 -4
+-19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m40 -9 c0 -8 -4 -12 -9 -9 -5 3 -6 10
+-3 15 9 13 12 11 12 -6z m60 0 c0 -8 -5 -11 -10 -8 -6 4 -8 0 -5 -8 4 -10 -1
+-15 -16 -16 -11 0 -15 1 -8 4 10 4 10 8 1 19 -9 12 -9 13 4 9 8 -4 18 -2 22 4
+9 15 12 14 12 -4z m213 0 c0 -2 -6 -5 -13 -8 -8 -3 -14 1 -14 8 0 7 6 11 14 8
+7 -3 13 -6 13 -8z m-1795 -4 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3
+10 -6z m105 -3 c0 -5 -11 -6 -25 -4 -14 3 -25 0 -25 -6 0 -6 -3 -9 -6 -5 -3 3
+-4 10 -1 14 7 11 57 12 57 1z m37 -2 c0 -8 -6 -12 -15 -9 -11 5 -11 7 0 14 7
+5 13 9 14 9 0 0 1 -6 1 -14z m501 -7 c9 -12 9 -16 -1 -16 -7 0 -14 9 -14 20
+-1 11 -1 18 0 16 2 -2 8 -11 15 -20z m37 3 c-3 -3 -11 0 -18 7 -9 10 -8 11 6
+5 10 -3 15 -9 12 -12z m236 -5 c-10 -9 -11 -8 -5 6 3 10 9 15 12 12 3 -3 0
+-11 -7 -18z m309 11 c0 -5 -11 -6 -25 -4 -14 3 -25 0 -25 -6 0 -6 -3 -9 -6 -5
+-3 3 -4 10 -1 14 7 11 57 12 57 1z m37 -2 c0 -8 -6 -12 -15 -9 -11 5 -11 7 0
+14 7 5 13 9 14 9 0 0 1 -6 1 -14z m420 7 c-4 -3 -3 -11 3 -17 6 -8 3 -12 -9
+-12 -12 0 -17 6 -13 18 2 10 9 18 15 18 6 0 7 -3 4 -7z m-1476 -20 c13 -16 12
+-17 -3 -4 -10 7 -18 15 -18 17 0 8 8 3 21 -13z m155 -1 c-3 -3 0 -12 6 -21 10
+-13 10 -14 -2 -4 -16 15 -23 46 -8 37 5 -3 7 -9 4 -12z m1480 0 c-3 -3 -1 -10
+4 -17 7 -8 6 -12 -3 -12 -7 0 -13 11 -13 23 0 12 4 20 9 17 4 -3 6 -8 3 -11z
+m-1556 -7 c-7 -8 -10 -21 -7 -28 3 -8 -1 -14 -8 -14 -8 0 -11 7 -7 16 6 19 22
+41 29 41 3 0 0 -7 -7 -15z m120 11 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4 6
+10 25 14 25 6z m60 0 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4 6 10 25 14 25 6z
+m502 -18 c-2 -10 -6 -18 -7 -18 -1 0 -5 8 -7 18 -3 11 0 19 7 19 7 0 10 -8 7
+-19z m125 16 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m352 -10
+c-6 -7 -7 -19 -3 -26 6 -11 5 -11 -8 0 -13 10 -17 10 -21 0 -3 -7 -4 -3 -4 8
+1 15 6 20 16 16 8 -3 12 -1 8 5 -3 5 0 10 8 10 11 0 12 -4 4 -13z m518 9 c-4
+-3 1 -16 10 -27 17 -20 17 -20 -1 -6 -18 13 -19 13 -14 -1 4 -9 1 -16 -7 -16
+-10 0 -11 5 -4 19 5 10 7 18 4 18 -4 0 -3 5 0 10 3 6 9 10 12 10 4 0 3 -3 0
+-7z m148 -2 c-3 -2 -16 -6 -28 -8 -15 -2 -18 0 -9 5 14 9 45 12 37 3z m115 -1
+c0 -5 -5 -10 -11 -10 -5 0 -7 5 -4 10 3 6 8 10 11 10 2 0 4 -4 4 -10z m-1973
+-22 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m169 2 c0 -12 -4
+-16 -9 -11 -5 5 -6 14 -3 20 10 15 12 14 12 -9z m71 -2 c-3 -8 -6 -5 -6 6 -1
+11 2 17 5 13 3 -3 4 -12 1 -19z m350 16 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6
+11 1 17 -2 13 -5z m-1086 -27 c-10 -9 -11 -8 -5 6 3 10 9 15 12 12 3 -3 0 -11
+-7 -18z m220 0 c-10 -9 -11 -8 -5 6 3 10 9 15 12 12 3 -3 0 -11 -7 -18z m359
+17 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m227 -11 c0 -7 -5 -9
+-11 -5 -6 3 -17 7 -24 8 -27 4 -22 12 6 11 16 -1 29 -7 29 -14z m233 7 c8 -5
+11 -10 5 -10 -5 0 -17 5 -25 10 -8 5 -10 10 -5 10 6 0 17 -5 25 -10z m380 6
+c0 -2 -8 -10 -17 -17 -16 -13 -17 -12 -4 4 13 16 21 21 21 13z m450 -4 c0 -4
+-10 -9 -22 -9 -18 -2 -20 0 -8 7 18 12 30 13 30 2z m130 -2 c-18 -12 -30 -13
+-30 -2 0 4 10 9 22 9 18 2 20 0 8 -7z m446 -16 c1 -9 0 -13 -4 -10 -3 4 -7 14
+-8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m147 11 c-3 -9 -8 -14 -10 -11 -3 3
+-2 9 2 15 9 16 15 13 8 -4z m174 -2 c0 -9 -4 -10 -12 -3 -7 5 -14 7 -17 4 -3
+-3 -8 -1 -11 3 -3 5 5 9 17 9 12 0 23 -6 23 -13z m-2513 -9 c3 -8 2 -12 -4 -9
+-6 3 -10 10 -10 16 0 14 7 11 14 -7z m389 3 c3 -8 -1 -14 -8 -14 -7 0 -11 6
+-8 14 3 7 6 13 8 13 2 0 5 -6 8 -13z m451 -3 c3 -8 2 -12 -4 -9 -6 3 -10 10
+-10 16 0 14 7 11 14 -7z m952 1 c-4 -24 -22 -39 -31 -24 -5 7 -4 10 3 5 6 -3
+13 -2 17 4 3 5 0 10 -7 10 -9 0 -9 3 2 10 19 12 19 13 16 -5z m79 -6 c-3 -12
+-7 -24 -10 -27 -3 -3 -3 5 -1 19 6 30 5 29 10 29 3 0 3 -10 1 -21z m220 11 c4
+-6 -1 -7 -11 -3 -10 4 -15 2 -11 -4 3 -5 0 -10 -8 -10 -11 0 -12 4 -4 14 14
+15 26 17 34 3z m-2759 -12 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4
+8 -1 18 -5 22 -8z m60 0 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8
+-1 18 -5 22 -8z m59 3 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z
+m620 -8 c-1 -10 1 -23 6 -28 5 -7 1 -11 -11 -11 -13 0 -16 5 -11 16 5 8 6 21
+4 28 -3 6 0 12 5 12 6 0 9 -8 7 -17z m125 8 c0 -5 -8 -15 -17 -22 -16 -12 -17
+-12 -6 2 7 9 10 19 6 22 -3 4 -1 7 5 7 7 0 12 -4 12 -9z m397 -6 c0 -7 -8 -17
+-17 -23 -12 -7 -17 -7 -17 4 0 7 5 10 10 7 6 -4 8 0 5 9 -4 8 -1 15 6 15 7 0
+13 -6 13 -12z m127 7 c-6 -4 -10 -19 -9 -34 1 -15 -1 -25 -5 -23 -4 2 -6 17
+-4 32 3 35 2 33 17 33 8 0 8 -3 1 -8z m33 -11 c-10 -12 -9 -14 4 -9 9 4 16 1
+16 -8 0 -9 -5 -10 -15 -5 -20 11 -24 38 -6 38 11 0 11 -3 1 -16z m160 -3 c2
+-18 0 -20 -7 -8 -12 18 -13 30 -2 30 4 0 9 -10 9 -22z m120 10 c-2 -7 -1 -20
+4 -28 5 -11 2 -16 -11 -16 -12 0 -16 4 -11 11 5 5 7 18 6 28 -2 9 1 17 7 17 5
+0 8 -6 5 -12z m484 -8 c-5 -8 -6 -21 -4 -27 3 -7 0 -13 -5 -13 -6 0 -9 8 -7
+18 1 9 -1 22 -6 27 -5 7 -1 11 11 11 13 0 16 -5 11 -16z m115 5 c-1 -8 -5 -17
+-8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m40 -8 c1 -9 -1 -19 -6 -22 -5 -3 -7
+3 -6 12 2 10 -2 22 -8 26 -7 6 -6 7 3 5 8 -2 15 -12 17 -21z m799 -10 c1 -15
+-2 -27 -7 -27 -4 0 -6 11 -4 24 2 14 0 27 -5 30 -5 2 -4 3 3 2 7 -1 13 -14 13
+-29z m-2555 19 c0 -2 -8 -10 -17 -17 -16 -13 -17 -12 -4 4 13 16 21 21 21 13z
+m207 -2 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m189 -11 c-2
+-10 2 -22 8 -26 7 -6 6 -7 -4 -4 -14 3 -21 23 -13 40 7 13 11 8 9 -10z m117 2
+c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z m564 9 c-3 -3 -12 -4
+-19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m120 0 c-3 -3 -12 -4 -19 -1 -8 3 -5
+6 6 6 11 1 17 -2 13 -5z m83 -17 c0 -6 -3 -7 -7 -4 -3 4 -11 3 -17 -3 -8 -6
+-12 -3 -12 9 0 12 6 17 18 13 10 -2 18 -9 18 -15z m110 8 c0 -2 -6 -5 -13 -8
+-8 -3 -14 1 -14 8 0 7 6 11 14 8 7 -3 13 -6 13 -8z m68 3 c-5 -14 -58 -19 -58
+-6 0 4 11 6 25 4 14 -3 25 0 25 5 0 5 3 9 6 9 3 0 4 -5 2 -12z m619 -3 c0 -8
+-4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m277 2 c4 4 4 -1 0 -11 -5
+-13 -4 -17 4 -12 8 5 10 1 5 -10 -4 -10 -2 -15 4 -11 5 3 10 0 10 -8 0 -10 -4
+-12 -12 -5 -7 5 -15 7 -19 3 -4 -4 -4 1 0 11 5 13 4 17 -4 12 -8 -5 -10 -1 -5
+10 4 10 2 15 -4 11 -5 -3 -10 0 -10 8 0 10 4 12 12 5 7 -5 15 -7 19 -3z m134
+0 c6 3 12 1 12 -4 0 -14 -49 -10 -54 4 -4 10 -1 11 12 5 9 -5 23 -7 30 -5z
+m-2418 -1 c0 -2 -7 -9 -15 -16 -13 -11 -14 -10 -9 4 5 14 24 23 24 12z m510
+-9 c0 -5 -6 -7 -12 -4 -7 2 -21 0 -30 -5 -13 -6 -16 -5 -12 5 5 14 54 18 54 4z
+m135 4 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m815 3 c0 -8 -19
+-13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m127 -16 c-3 -8 -6 -5 -6 6 -1 11 2
+17 5 13 3 -3 4 -12 1 -19z m30 0 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4
+-12 1 -19z m428 12 c-3 -5 0 -10 7 -11 10 0 10 -2 0 -6 -6 -2 -10 -9 -7 -14 4
+-5 -1 -6 -10 -2 -13 5 -14 7 -3 14 7 5 9 9 5 9 -9 0 1 20 9 20 3 0 2 -4 -1
+-10z m145 -2 c0 -5 -11 -6 -25 -4 -14 3 -25 0 -25 -6 0 -6 -3 -9 -6 -5 -3 3
+-4 10 -1 14 7 11 57 12 57 1z m140 6 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0
+15 -2 15 -3z m-1958 -22 c-7 -2 -9 -9 -5 -15 3 -7 2 -8 -2 -4 -16 14 -14 36 3
+29 10 -4 12 -7 4 -10z m-1067 -1 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3
+19 12 6z m706 -4 c-6 -8 -9 -16 -6 -19 3 -2 -2 -5 -10 -5 -20 0 -19 7 3 23 22
+17 27 17 13 1z m152 0 c-4 -6 0 -8 9 -5 8 4 15 1 15 -6 0 -18 -23 -15 -35 4
+-7 12 -7 17 4 17 7 0 10 -5 7 -10z m82 -17 c1 -15 -2 -17 -11 -9 -8 7 -14 6
+-17 -3 -3 -7 -4 -3 -4 8 1 15 6 20 16 16 10 -4 12 -1 6 9 -4 8 -4 11 0 6 5 -4
+9 -16 10 -27z m639 18 c-5 -8 -2 -9 10 -5 9 4 15 3 11 -2 -3 -5 0 -11 7 -13 7
+-3 5 -7 -6 -11 -11 -5 -15 -3 -10 5 5 7 2 9 -8 5 -11 -4 -15 -1 -13 11 5 23 4
+22 11 22 3 0 2 -5 -2 -12z m86 -3 c-5 -7 -7 -15 -3 -19 4 -4 -1 -4 -11 0 -15
+6 -17 4 -11 -7 5 -8 4 -11 0 -6 -16 14 -14 36 3 30 9 -4 13 -2 9 4 -3 5 0 10
+8 10 10 0 12 -4 5 -12z m117 0 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12
+11 12 -6z m40 9 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m197
+-2 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m166 2 c0
+-8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m353 -11 c-3 -7 -6 -13 -8
+-13 -2 0 -5 6 -8 13 -3 8 1 14 8 14 7 0 11 -6 8 -14z m-1296 -15 c-3 -8 -6 -5
+-6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m142 6 c5 4 13 1 17 -5 5 -8 3 -9 -6
+-4 -9 6 -12 4 -8 -6 4 -10 -1 -15 -12 -15 -11 0 -16 5 -12 15 3 8 1 12 -5 8
+-5 -3 -10 0 -10 8 0 11 4 12 13 4 7 -6 18 -8 23 -5z m1017 -10 c1 -9 0 -13 -4
+-10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m37 5 c-4 -15 -8 -17
+-14 -8 -6 11 4 28 18 29 0 0 -1 -9 -4 -21z m124 6 c0 -8 -4 -12 -9 -9 -5 3 -6
+10 -3 15 9 13 12 11 12 -6z m36 -4 c3 -13 1 -18 -9 -14 -7 2 -10 11 -7 19 7
+19 10 18 16 -5z m24 4 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z
+m-1463 -3 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m831
+-2 c3 -6 -1 -7 -9 -4 -18 7 -21 14 -7 14 6 0 13 -4 16 -10z m52 -12 c-3 -8 -6
+-5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m147 11 c-7 -12 -41 -16 -41 -5 0
+6 10 11 23 11 12 0 20 -3 18 -6z m188 -7 c3 -11 0 -19 -7 -19 -7 0 -10 8 -7
+19 2 10 6 18 7 18 1 0 5 -8 7 -18z m84 3 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1
+34 3 9 9 -1 7 -13z m242 0 c3 -3 -4 -4 -16 -2 -12 2 -24 6 -28 10 -4 3 4 4 16
+2 12 -2 25 -7 28 -10z m163 -7 c5 -10 4 -15 -5 -15 -9 0 -12 7 -8 16 5 13 3
+14 -9 4 -13 -10 -16 -10 -16 1 0 18 27 14 38 -6z m59 18 c0 -2 -7 -7 -16 -10
+-8 -3 -12 -2 -9 4 6 10 25 14 25 6z m187 -18 c-3 -8 -6 -5 -6 6 -1 11 2 17 5
+13 3 -3 4 -12 1 -19z m90 7 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11
+12 -6z m-1744 -10 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z
+m483 -11 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8
+-22z m1237 13 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0 5 -6 8
+-13z m-3097 -12 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m44 9
+c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m44 -2 c3 -5 -1 -9 -9 -9
+-8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m1811 -25 c1 -15 -2 -27 -7 -27
+-4 0 -6 11 -4 24 2 14 0 27 -5 30 -5 2 -4 3 3 2 7 -1 13 -14 13 -29z m560 6
+c0 -15 -6 -28 -13 -29 -7 -1 -8 0 -3 2 5 3 7 16 5 30 -2 13 0 24 4 24 5 0 8
+-12 7 -27z m407 5 c-2 -10 -9 -18 -15 -18 -6 0 -7 3 -4 7 4 3 3 11 -3 17 -6 8
+-3 12 9 12 12 0 17 -6 13 -18z m-2266 -8 c0 -12 -4 -16 -9 -11 -5 5 -6 14 -3
+20 10 15 12 14 12 -9z m481 -2 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12
+1 -19z m53 7 c0 -2 -6 -5 -13 -8 -8 -3 -14 1 -14 8 0 7 6 11 14 8 7 -3 13 -6
+13 -8z m66 -4 c0 -14 -4 -17 -16 -12 -8 5 -21 6 -27 4 -7 -3 -13 0 -13 6 0 5
+9 8 20 6 11 -2 22 0 25 6 9 13 11 11 11 -10z m217 6 c4 3 7 2 7 -4 0 -6 -8
+-13 -18 -15 -12 -4 -18 1 -18 13 0 12 4 15 12 9 6 -6 14 -7 17 -3z m164 -2 c0
+-8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m179 -4 c0 -12 -4 -17
+-11 -12 -5 5 -18 7 -27 6 -10 -2 -18 1 -18 7 0 6 6 8 13 5 8 -3 20 -1 28 4 8
+5 14 9 14 9 1 0 1 -9 1 -19z m266 5 c11 6 11 5 0 -8 -10 -13 -10 -17 0 -21 7
+-3 3 -4 -8 -4 -15 1 -20 6 -16 16 3 8 1 12 -5 8 -5 -3 -10 0 -10 8 0 11 4 12
+13 4 7 -6 19 -7 26 -3z m33 5 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19
+12 6z m52 3 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m121 -7 c6
+3 12 0 12 -5 0 -6 -8 -9 -17 -7 -10 1 -23 -1 -28 -6 -7 -5 -11 -1 -11 11 0 13
+5 16 16 11 8 -5 21 -6 28 -4z m350 -13 c1 -1 -4 -7 -13 -14 -13 -11 -14 -10
+-9 5 5 11 4 16 -3 12 -5 -3 -10 0 -10 8 0 12 3 12 16 3 9 -7 17 -13 19 -14z
+m160 1 c-3 -3 -9 2 -12 12 -6 14 -5 15 5 6 7 -7 10 -15 7 -18z m199 10 c0 -8
+-4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m60 0 c0 -8 -5 -11 -10 -8
+-6 4 -8 0 -5 -8 4 -10 -1 -15 -15 -17 -17 -1 -19 1 -7 8 8 5 11 10 6 10 -7 0
+19 25 30 30 0 0 1 -7 1 -15z m-2333 -3 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4
+7 8 9 8 2 0 6 -4 9 -8z m116 2 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2
+15 -3z m157 -9 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m85 -3
+c4 -12 -1 -18 -13 -18 -12 0 -15 4 -9 12 6 6 7 14 3 17 -3 4 -2 7 4 7 6 0 13
+-8 15 -18z m615 4 c0 -8 -8 -11 -21 -8 -19 5 -19 6 0 13 10 4 19 8 20 8 0 1 1
+-5 1 -13z m703 -18 c0 -19 -16 -5 -17 14 -2 18 0 20 7 8 5 -8 10 -18 10 -22z
+m257 10 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m53 7 c0 -2 -6
+-5 -13 -8 -8 -3 -14 1 -14 8 0 7 6 11 14 8 7 -3 13 -6 13 -8z m64 -2 c4 -10 1
+-11 -12 -5 -9 5 -23 7 -29 5 -7 -3 -13 -1 -13 4 0 14 49 10 54 -4z m-2797 -18
+c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m822 -1 c-6 -7 -8 -18
+-5 -23 4 -5 1 -13 -5 -17 -8 -5 -9 -3 -4 6 6 9 4 12 -6 8 -10 -4 -15 1 -15 12
+0 11 5 16 15 12 8 -3 12 -1 8 5 -3 5 0 10 8 10 11 0 12 -4 4 -13z m78 -4 c-1
+-11 -5 -20 -9 -20 -3 0 -6 9 -5 20 1 11 5 20 9 20 3 0 6 -9 5 -20z m75 1 c-5
+-13 -3 -14 9 -4 12 10 15 8 16 -10 0 -12 -1 -16 -4 -9 -4 10 -8 10 -21 0 -10
+-7 -14 -9 -10 -4 4 5 3 16 -2 26 -6 12 -5 17 5 17 8 0 11 -7 7 -16z m442 7
+c-5 -8 -1 -9 12 -4 14 5 16 4 7 -5 -13 -13 -37 -3 -28 12 4 5 8 9 11 9 3 0 2
+-5 -2 -12z m486 -8 c-5 -10 -6 -21 -2 -26 4 -5 0 -3 -10 4 -13 10 -17 10 -21
+0 -3 -7 -4 -3 -4 9 1 18 4 20 16 10 12 -10 14 -9 9 4 -4 9 -1 16 7 16 10 0 11
+-5 5 -17z m313 7 c-4 -6 0 -8 9 -4 17 6 19 -16 3 -30 -4 -5 -5 -2 0 6 6 11 4
+13 -11 7 -10 -4 -15 -4 -11 0 4 4 2 12 -3 19 -7 8 -5 12 5 12 8 0 11 -5 8 -10z
+m129 6 c-6 -2 -9 -10 -6 -15 4 -7 2 -8 -5 -4 -13 9 -5 26 12 25 9 0 8 -2 -1
+-6z m158 -8 c0 -1 -8 -9 -18 -18 -15 -14 -19 -15 -19 -2 0 8 5 11 10 8 6 -4 8
+0 4 10 -4 11 -2 14 9 10 7 -3 14 -6 14 -8z m-1763 -1 c-3 -3 -12 -4 -19 -1 -8
+3 -5 6 6 6 11 1 17 -2 13 -5z m1008 -13 c-8 -14 -25 -14 -25 0 0 5 5 7 10 4 6
+-3 10 -1 10 6 0 7 3 10 6 6 3 -3 3 -10 -1 -16z m-1201 1 c3 -5 -1 -9 -9 -9 -8
+0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m626 -2 c-18 -12 -30 -13 -30 -2 0 4
+10 9 22 9 18 2 20 0 8 -7z m114 2 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8
+9 8 2 0 6 -4 9 -8z m336 -2 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10
+10 10 6 0 10 -4 10 -10z m386 -2 c4 -7 3 -8 -4 -4 -7 4 -12 2 -12 -5 0 -7 -3
+-10 -6 -6 -6 5 3 27 11 27 2 0 7 -5 11 -12z m44 2 c8 -5 11 -10 5 -10 -5 0
+-17 5 -25 10 -8 5 -10 10 -5 10 6 0 17 -5 25 -10z m212 -8 c3 -11 0 -19 -7
+-19 -7 0 -10 8 -7 19 2 10 6 18 7 18 1 0 5 -8 7 -18z m117 0 c7 -14 6 -19 -4
+-19 -8 0 -11 7 -7 16 5 14 4 14 -14 1 -18 -14 -18 -14 -5 3 17 21 18 21 30 -1z
+m166 8 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10 19 12 23 12 15 0z m-2509 -22
+c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m54 6
+c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m66 -9 c-1 -8 -5 -17 -8
+-21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m581 9 c-3 -3 -12 -4 -19 -1 -8 3 -5 6
+6 6 11 1 17 -2 13 -5z m359 -17 c1 -9 -1 -19 -6 -22 -5 -3 -7 3 -6 12 2 10 -2
+22 -8 26 -7 6 -6 7 3 5 8 -2 15 -12 17 -21z m121 17 c-3 -3 -12 -4 -19 -1 -8
+3 -5 6 6 6 11 1 17 -2 13 -5z m358 -3 c3 -5 0 -13 -6 -17 -7 -4 -9 -3 -5 4 3
+5 0 13 -6 15 -9 4 -10 6 -1 6 6 1 14 -3 18 -8z m88 -8 c-5 -12 -3 -14 7 -8 9
+5 11 4 6 -4 -6 -9 -11 -9 -22 0 -12 10 -12 14 -2 20 18 12 18 11 11 -8z m362
+7 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10 19 12 23 12 15 0z m115 -6 c-6 -6 -7
+-14 -3 -17 3 -4 2 -7 -4 -7 -6 0 -13 8 -15 18 -4 12 1 18 13 18 12 0 15 -4 9
+-12z m200 -19 c0 -5 -5 -3 -10 5 -5 8 -10 20 -10 25 0 6 5 3 10 -5 5 -8 10
+-19 10 -25z m237 20 c0 -7 -8 -17 -17 -23 -12 -7 -17 -7 -17 4 0 7 5 10 10 7
+6 -4 8 0 5 9 -4 8 -1 15 6 15 7 0 13 -6 13 -12z m406 -2 c-4 -10 -2 -14 4 -10
+5 3 10 0 10 -7 0 -11 -4 -12 -18 -3 -13 8 -15 15 -7 24 14 18 19 16 11 -4z
+m120 11 c-6 -3 -9 -16 -7 -30 2 -13 0 -24 -4 -24 -5 0 -8 12 -6 28 3 34 2 32
+17 31 9 0 9 -2 0 -5z m-2608 -13 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3
+19 12 6z m45 5 c0 -2 -8 -10 -17 -17 -16 -13 -17 -12 -4 4 13 16 21 21 21 13z
+m136 -16 c0 -12 -4 -16 -9 -11 -5 5 -6 14 -3 20 10 15 12 14 12 -9z m267 5 c9
+2 17 -1 17 -7 0 -5 -6 -8 -12 -5 -7 2 -20 1 -28 -4 -11 -5 -16 -2 -16 11 0 12
+4 16 11 11 5 -5 18 -7 28 -6z m112 3 c4 4 2 -3 -4 -15 -14 -27 -23 -31 -14 -6
+4 10 2 14 -4 10 -5 -3 -10 0 -10 8 0 10 4 12 12 5 7 -5 15 -6 20 -2z m182 0
+c0 -7 -11 -13 -24 -13 -29 0 -29 3 0 15 12 5 22 9 23 9 0 1 1 -5 1 -11z m30
+-10 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m89 3 c0 -12 -4 -17
+-11 -12 -5 5 -18 7 -27 6 -10 -2 -18 1 -18 7 0 6 6 8 13 5 8 -3 20 -1 28 4 8
+5 14 9 14 9 1 0 1 -9 1 -19z m72 6 c6 3 12 1 12 -4 0 -14 -49 -10 -54 4 -4 10
+-1 11 12 5 9 -5 23 -7 30 -5z m49 -1 c0 -8 -6 -12 -15 -9 -11 5 -11 7 0 14 7
+5 13 9 14 9 0 0 1 -6 1 -14z m30 -8 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4
+-12 1 -19z m266 9 c4 3 7 1 7 -5 0 -6 -8 -10 -18 -9 -10 0 -19 7 -19 14 0 9 4
+10 12 3 7 -5 15 -7 18 -3z m65 -4 c-2 -10 2 -17 8 -16 6 1 10 -11 10 -27 0
+-16 -3 -27 -7 -24 -4 2 -10 -2 -12 -8 -4 -9 -6 -10 -6 -1 -1 6 4 15 9 18 15 9
+12 27 -2 19 -7 -4 -10 -3 -5 1 4 5 -1 17 -10 28 -10 11 -12 17 -5 13 6 -4 12
+-2 12 3 0 6 2 11 5 11 3 0 5 -8 3 -17z m119 2 c0 -8 -5 -11 -10 -8 -6 4 -8 -1
+-4 -11 4 -9 3 -15 -2 -11 -5 3 -11 0 -13 -7 -3 -7 -7 -5 -11 6 -5 11 -3 15 5
+10 8 -5 9 -2 5 10 -4 9 -3 14 2 11 5 -3 12 -1 16 5 9 14 12 13 12 -5z m258 6
+c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m241 -18 c-2 -9 -9 -19
+-17 -21 -9 -2 -10 -1 -3 5 6 4 10 16 8 26 -1 9 1 15 6 12 5 -3 7 -13 6 -22z
+m400 13 c13 2 24 0 24 -4 0 -14 -53 -8 -56 6 -1 7 0 8 2 3 3 -5 16 -7 30 -5z
+m61 0 c0 -8 -6 -12 -15 -9 -11 5 -11 7 0 14 7 5 13 9 14 9 0 0 1 -6 1 -14z
+m-2306 -13 c13 -16 12 -17 -3 -4 -17 13 -22 21 -14 21 2 0 10 -8 17 -17z m146
+2 c5 -4 2 -5 -6 0 -10 6 -13 4 -9 -7 4 -8 1 -15 -7 -15 -8 0 -11 7 -7 15 4 11
+1 13 -8 7 -8 -5 -11 -4 -7 3 8 12 32 10 44 -3z m121 -5 c2 -10 1 -11 -5 -4 -4
+6 -20 10 -35 9 -15 -1 -25 1 -23 5 8 13 59 4 63 -10z m717 -14 c0 -19 -3 -37
+-6 -40 -4 -5 -4 62 0 72 4 10 7 -4 6 -32z m39 26 c3 -5 -1 -9 -9 -9 -8 0 -12
+4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m276 2 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9
+8 0 15 -2 15 -3z m127 -8 c0 -8 -6 -12 -15 -9 -11 5 -11 7 0 14 7 5 13 9 14 9
+0 0 1 -6 1 -14z m30 -8 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z
+m349 -3 c1 -8 -3 -18 -8 -22 -7 -3 -8 -1 -4 5 4 7 1 12 -6 13 -10 0 -10 2 0 6
+6 2 9 10 5 16 -3 7 -2 8 2 4 5 -4 10 -14 11 -22z m199 16 c3 -5 2 -12 -3 -15
+-5 -3 -9 1 -9 9 0 17 3 19 12 6z m82 2 c-4 -3 -3 -11 3 -17 6 -8 3 -12 -9 -12
+-12 0 -17 6 -13 18 2 10 9 18 15 18 6 0 7 -3 4 -7z m117 -9 c3 -8 2 -12 -4 -9
+-6 3 -10 10 -10 16 0 14 7 11 14 -7z m363 9 c-4 -3 -3 -11 3 -17 6 -8 3 -12
+-9 -12 -12 0 -17 6 -13 18 2 10 9 18 15 18 6 0 7 -3 4 -7z m-3182 -22 c3 -5 2
+-12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m1469 1 c3 -5 -1 -9 -9 -9 -8 0
+-12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m1308 -11 c-5 -13 -3 -14 9 -4 13 10
+16 10 16 -1 0 -18 -27 -14 -38 6 -5 10 -4 15 5 15 9 0 12 -7 8 -16z m132 11
+c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m-1788 -27 c1
+-9 -4 -11 -14 -8 -9 4 -13 2 -9 -4 3 -5 0 -10 -8 -10 -10 0 -12 4 -5 12 5 7 7
+15 3 19 -4 4 1 4 11 0 15 -6 17 -4 11 7 -5 8 -4 11 0 6 5 -4 10 -14 11 -22z
+m37 4 c-4 -15 -8 -17 -14 -8 -6 11 4 28 18 29 0 0 -1 -9 -4 -21z m1160 13 c3
+7 4 3 4 -8 -1 -15 -6 -20 -16 -16 -10 4 -12 1 -6 -9 4 -8 4 -11 0 -6 -5 4 -9
+16 -10 27 -1 15 2 17 11 9 8 -7 14 -6 17 3z m204 -14 c-3 -8 -6 -5 -6 6 -1 11
+2 17 5 13 3 -3 4 -12 1 -19z m147 -10 c4 3 4 -2 0 -12 -6 -15 -4 -17 7 -11 8
+5 11 4 6 0 -14 -16 -36 -14 -30 3 4 10 2 13 -5 8 -8 -5 -10 -1 -5 10 4 10 2
+15 -4 11 -5 -3 -10 1 -10 10 0 13 4 12 17 -5 10 -12 21 -18 24 -14z m377 17
+c5 4 6 -2 2 -11 -4 -12 -8 -14 -11 -6 -3 9 -8 10 -16 3 -9 -8 -13 -7 -13 4 0
+8 4 12 9 9 4 -3 8 1 9 8 0 10 2 10 6 0 2 -6 9 -10 14 -7z m-2925 -10 c-1 -8
+-5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m581 1 c0 -8 -6 -12 -14 -9
+-7 3 -10 9 -7 14 8 14 21 11 21 -5z m108 4 c3 -6 -1 -7 -9 -4 -18 7 -21 14 -7
+14 6 0 13 -4 16 -10z m72 -7 c0 -10 -3 -10 -16 0 -12 10 -14 9 -9 -4 4 -9 1
+-16 -7 -16 -10 0 -11 5 -5 17 11 20 37 22 37 3z m299 2 c-1 -8 -5 -17 -8 -21
+-5 -4 -4 16 1 34 3 9 9 -1 7 -13z m81 9 c-8 -8 -48 -13 -43 -6 2 4 14 8 26 9
+12 1 20 0 17 -3z m269 -7 c4 -3 -4 -4 -16 -2 -12 2 -25 7 -28 10 -3 3 4 4 16
+2 12 -2 24 -6 28 -10z m474 3 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5
+10 10 10 6 0 10 -4 10 -10z m90 4 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15
+-2 15 -3z m407 0 c-2 -3 -17 -7 -33 -10 -17 -2 -24 -1 -17 4 13 8 58 14 50 6z
+m228 -4 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10 19 12 23 12 15 0z m241 -3 c4
+-3 -4 -4 -16 -2 -30 6 -40 16 -12 12 12 -2 24 -6 28 -10z m109 4 c3 -5 2 -12
+-3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m145 5 c0 -3 -4 -8 -10 -11 -5 -3 -10
+-1 -10 4 0 6 5 11 10 11 6 0 10 -2 10 -4z m-1925 -16 c-3 -5 0 -10 7 -11 10 0
+10 -2 0 -6 -6 -2 -9 -10 -6 -15 4 -6 2 -8 -4 -5 -5 4 -9 15 -7 25 5 23 4 22
+11 22 3 0 2 -4 -1 -10z m167 -8 c-7 -2 -10 -8 -7 -12 3 -5 0 -12 -6 -16 -8 -4
+-9 -3 -5 4 4 7 1 12 -6 13 -10 0 -10 2 0 6 6 2 10 9 7 14 -4 5 2 6 11 2 11 -4
+13 -8 6 -11z m99 -5 c-10 -9 -11 -8 -5 6 3 10 9 15 12 12 3 -3 0 -11 -7 -18z
+m615 -3 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z
+m402 1 c-3 -3 -9 2 -12 12 -6 14 -5 15 5 6 7 -7 10 -15 7 -18z m324 7 c-9 -3
+-10 -8 -3 -16 8 -9 7 -13 -4 -13 -8 0 -12 4 -9 9 3 4 -1 8 -8 9 -10 0 -10 2 0
+6 6 2 10 9 7 14 -4 5 2 6 11 2 12 -4 14 -8 6 -11z m201 5 c3 -8 -1 -14 -8 -14
+-7 0 -11 6 -8 14 3 7 6 13 8 13 2 0 5 -6 8 -13z m-3066 -19 c2 -17 0 -19 -7
+-8 -5 8 -6 18 -4 22 8 12 10 10 11 -14z m743 6 c-6 -6 -7 -14 -3 -17 3 -4 2
+-7 -4 -7 -6 0 -13 8 -15 18 -4 12 1 18 13 18 12 0 15 -4 9 -12z m241 1 c-5 -5
+-7 -18 -6 -27 2 -10 -1 -18 -7 -18 -5 0 -8 6 -5 13 2 6 1 19 -4 27 -5 11 -2
+16 11 16 12 0 16 -4 11 -11z m243 7 c-6 -4 -10 -15 -8 -25 1 -9 -1 -15 -6 -12
+-7 4 -7 22 -1 43 1 1 7 2 14 2 8 0 9 -3 1 -8z m116 1 c0 -5 -5 -15 -10 -23 -7
+-12 -9 -10 -7 8 1 19 17 33 17 15z m562 -11 c-3 -9 -1 -13 5 -9 5 3 10 0 10
+-8 0 -10 -4 -12 -12 -5 -7 5 -15 7 -19 3 -4 -4 -4 1 0 11 6 15 4 17 -6 11 -8
+-5 -11 -4 -7 2 10 16 36 11 29 -5z m274 -5 c1 -9 -1 -19 -6 -22 -5 -3 -7 3 -6
+12 2 10 -2 22 -8 26 -7 6 -6 7 3 5 8 -2 15 -12 17 -21z m964 7 c-6 -6 -7 -14
+-3 -17 3 -4 2 -7 -4 -7 -6 0 -13 8 -15 18 -4 12 1 18 13 18 12 0 15 -4 9 -12z
+m-3005 -3 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m530 -29 c-6
+-6 -34 11 -39 24 -4 11 0 10 18 -3 13 -10 23 -19 21 -21z m242 32 c-3 -3 -12
+-4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m1127 -7 c-5 -15 -54 -18 -54 -4 0
+5 6 7 13 4 8 -3 20 -1 28 4 18 12 19 11 13 -4z m309 -2 c9 2 17 -1 17 -7 0 -5
+-6 -8 -12 -5 -7 2 -20 1 -28 -4 -11 -5 -16 -2 -16 11 0 12 4 16 11 11 5 -5 18
+-7 28 -6z m173 -4 c0 -14 -4 -17 -16 -12 -8 5 -21 6 -27 4 -7 -3 -13 0 -13 6
+0 5 9 8 20 6 11 -2 22 0 25 6 9 13 11 11 11 -10z m242 7 c-5 -14 -36 -20 -43
+-8 -3 5 4 7 15 5 11 -2 20 0 20 6 0 5 3 9 6 9 3 0 4 -5 2 -12z m-1898 -8 c0
+-5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z m240
+-22 c0 -19 -16 -5 -17 14 -2 18 0 20 7 8 5 -8 10 -18 10 -22z m355 23 c3 -5 2
+-12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m409 1 c3 -5 -1 -9 -9 -9 -8 0
+-12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m187 -15 c-10 -9 -11 -8 -5 6 3 10 9
+15 12 12 3 -3 0 -11 -7 -18z m346 1 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4
+-12 1 -19z m30 0 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m468
+13 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m85 3 c0 -8 -19 -13
+-24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m37 -11 c-3 -22 -26 -62 -27 -47 0 6 3
+14 8 18 4 4 8 12 8 17 1 5 2 14 3 19 0 6 3 10 6 10 3 0 4 -8 2 -17z m-1463
+-22 c-2 -3 -12 3 -22 13 -16 17 -16 18 5 5 12 -7 20 -15 17 -18z m-1477 4 c0
+-8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m830 9 c-3 -3 -12 -4 -19
+-1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m262 -16 c-6 -10 -15 -15 -21 -12 -7 5 -9
+2 -6 -8 4 -8 0 -15 -7 -15 -10 0 -11 5 -4 19 6 10 15 15 21 12 7 -5 9 -2 6 8
+-4 8 0 15 7 15 10 0 11 -5 4 -19z m123 0 c-2 -10 -6 -18 -7 -18 -1 0 -5 8 -7
+18 -3 11 0 19 7 19 7 0 10 -8 7 -19z m92 10 c-3 -4 -13 -12 -23 -17 -13 -7
+-18 -6 -18 4 0 7 7 11 15 7 9 -3 13 -1 9 5 -3 5 0 10 8 10 8 0 12 -4 9 -9z
+m117 -6 c-11 -20 -38 -24 -38 -6 0 11 3 11 16 1 12 -10 14 -9 9 4 -4 9 -1 16
+8 16 9 0 10 -5 5 -15z m302 3 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15
+13 8 -4z m299 -3 c-3 -10 -1 -13 6 -8 6 3 15 -2 21 -12 7 -14 6 -19 -4 -19 -7
+0 -11 7 -7 15 3 10 1 13 -6 8 -6 -3 -15 2 -21 12 -7 14 -6 19 4 19 7 0 11 -7
+7 -15z m120 0 c-3 -10 -1 -13 6 -8 7 4 12 5 12 2 0 -15 -20 -14 -29 2 -7 14
+-6 19 4 19 7 0 11 -7 7 -15z m478 3 c-5 -7 -6 -15 -2 -20 4 -4 -3 -2 -15 4
+-27 14 -31 23 -6 14 10 -4 14 -2 10 4 -3 5 0 10 8 10 10 0 12 -4 5 -12z m116
+-4 c-13 -12 -18 -13 -28 -2 -11 10 -9 11 6 5 12 -5 17 -4 13 3 -3 5 1 10 9 10
+13 0 13 -2 0 -16z m120 0 c-13 -12 -18 -13 -28 -2 -11 10 -9 11 6 5 12 -5 17
+-4 13 3 -3 5 1 10 9 10 13 0 13 -2 0 -16z m131 13 c-3 -3 -12 -4 -19 -1 -8 3
+-5 6 6 6 11 1 17 -2 13 -5z m-1227 -19 c5 3 13 -3 19 -13 7 -14 6 -19 -4 -19
+-8 0 -11 7 -7 16 5 13 3 14 -9 4 -12 -10 -15 -8 -16 10 0 12 1 16 4 9 3 -6 9
+-10 13 -7z m128 7 c10 7 14 9 10 4 -4 -5 -3 -16 2 -26 6 -12 5 -17 -5 -17 -7
+0 -11 7 -8 14 3 8 0 13 -7 11 -7 -2 -14 3 -15 10 -2 7 -1 8 2 2 3 -7 10 -7 21
+2z m609 -7 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m-2071 -7
+c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m391 -5
+c0 -9 -4 -10 -14 -2 -10 9 -13 8 -13 -1 0 -8 -3 -11 -6 -7 -9 9 3 24 19 24 7
+0 14 -6 14 -14z m118 9 c-3 -3 0 -10 5 -17 7 -8 5 -12 -5 -12 -8 0 -11 5 -8
+10 4 6 0 8 -10 4 -10 -4 -14 -2 -11 7 3 7 11 13 19 13 8 0 13 -3 10 -5z m1329
+-20 c3 -5 -1 -9 -9 -9 -8 0 -11 5 -8 10 4 6 0 8 -9 5 -8 -4 -15 0 -15 7 0 10
+5 11 18 4 10 -5 20 -13 23 -17z m91 19 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0
+17 3 19 12 6z m102 -33 c2 -12 1 -19 -3 -16 -3 3 -6 12 -8 20 -1 7 -5 20 -10
+28 -7 12 -6 13 4 3 8 -7 15 -23 17 -35z m238 10 c-7 -32 -13 -32 -11 1 0 16 4
+27 8 25 4 -2 5 -14 3 -26z m121 20 c4 -7 3 -8 -4 -4 -7 4 -12 2 -12 -5 0 -7
+-3 -10 -6 -6 -6 5 3 27 11 27 2 0 7 -5 11 -12z m-1799 -30 c2 -12 1 -19 -2
+-16 -3 3 -8 16 -10 28 -2 12 -1 20 2 16 4 -4 8 -16 10 -28z m1178 22 c4 -6 -1
+-7 -11 -3 -10 4 -15 2 -11 -4 3 -5 0 -10 -8 -10 -11 0 -12 4 -4 14 14 15 26
+17 34 3z m188 -3 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0 5
+-6 8 -13z m-2467 -9 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1
+18 -5 22 -8z m60 0 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1
+18 -5 22 -8z m59 3 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z
+m1100 -8 c-1 -10 1 -23 6 -28 5 -7 1 -11 -11 -11 -13 0 -16 5 -11 16 5 8 6 21
+4 28 -3 6 0 12 5 12 6 0 9 -8 7 -17z m340 -1 c-3 -3 -11 0 -18 7 -9 10 -8 11
+6 5 10 -3 15 -9 12 -12z m248 3 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15
+13 8 -4z m132 -12 c0 -15 -6 -28 -13 -29 -7 -1 -8 0 -3 2 5 3 7 16 5 30 -2 13
+0 24 4 24 5 0 8 -12 7 -27z m125 17 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0
+6 5 10 10 10 6 0 10 -4 10 -10z m-1605 -9 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9
+0 17 3 19 12 6z m45 5 c0 -2 -8 -10 -17 -17 -16 -13 -17 -12 -4 4 13 16 21 21
+21 13z m169 1 c-2 -1 -13 -10 -25 -20 -17 -14 -21 -14 -21 -2 0 8 4 12 8 9 4
+-2 10 0 14 6 3 5 11 10 17 10 6 0 9 -1 7 -3z m148 -3 c-3 -3 -12 -4 -19 -1 -8
+3 -5 6 6 6 11 1 17 -2 13 -5z m450 0 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1
+17 -2 13 -5z m109 -8 c13 2 24 0 24 -4 0 -14 -53 -8 -56 6 -1 7 0 8 2 3 3 -5
+16 -7 30 -5z m61 0 c0 -8 -6 -12 -15 -9 -11 5 -11 7 0 14 7 5 13 9 14 9 0 0 1
+-6 1 -14z m740 -1 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z
+m238 6 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m322 3 c-3 -3 -12
+-4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m197 -7 c4 4 4 -1 0 -11 -6 -15 -4
+-17 7 -11 8 5 11 4 6 0 -14 -16 -36 -14 -30 3 4 9 2 13 -4 9 -5 -3 -10 0 -10
+8 0 10 4 12 12 5 7 -5 15 -7 19 -3z m122 -1 c13 2 24 0 24 -4 0 -14 -53 -8
+-56 6 -1 7 0 8 2 3 3 -5 16 -7 30 -5z m61 0 c0 -8 -6 -12 -15 -9 -11 5 -11 7
+0 14 7 5 13 9 14 9 0 0 1 -6 1 -14z m-2375 -14 c4 -12 -1 -18 -13 -18 -12 0
+-15 4 -9 12 6 6 7 14 3 17 -3 4 -2 7 4 7 6 0 13 -8 15 -18z m118 -17 c0 -5 -5
+-3 -10 5 -5 8 -10 20 -10 25 0 6 5 3 10 -5 5 -8 10 -19 10 -25z m96 23 c3 -4
+-1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m122 -9 c2 -9
+1 -10 -5 -3 -4 6 -16 10 -26 8 -9 -1 -15 1 -12 6 8 13 38 5 43 -11z m476 -18
+c-5 -6 -34 20 -34 30 0 5 8 1 18 -8 10 -10 17 -20 16 -22z m263 20 c0 -11 -5
+-17 -9 -15 -4 3 -8 0 -8 -7 0 -7 -3 -10 -6 -7 -4 5 16 48 23 48 1 0 1 -9 0
+-19z m398 9 c-3 -5 0 -10 7 -11 10 0 10 -2 0 -6 -6 -2 -9 -10 -6 -15 4 -6 2
+-8 -4 -5 -5 4 -9 15 -7 25 5 23 4 22 11 22 3 0 2 -4 -1 -10z m89 -2 c-3 -4 -9
+-8 -15 -8 -5 0 -9 4 -9 8 0 5 7 9 15 9 8 0 12 -4 9 -9z m72 -13 c1 -8 -3 -18
+-8 -22 -7 -3 -8 -1 -4 5 4 7 1 12 -6 13 -10 0 -10 2 0 6 6 2 9 10 5 16 -3 7
+-2 8 2 4 5 -4 10 -14 11 -22z m286 7 c4 -12 -1 -18 -13 -18 -12 0 -15 4 -9 12
+6 6 7 14 3 17 -3 4 -2 7 4 7 6 0 13 -8 15 -18z m178 6 c0 -5 -11 -6 -25 -4
+-14 3 -25 0 -25 -6 0 -6 -3 -9 -6 -5 -3 3 -4 10 -1 14 7 11 57 12 57 1z m140
+6 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m-1084 -19 c-1 -8 -5
+-17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m-1941 -4 c3 -5 2 -12 -3 -15 -5
+-3 -9 1 -9 9 0 17 3 19 12 6z m858 -8 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13
+-3 8 1 14 8 14 7 0 11 -6 8 -14z m137 2 c0 -11 -29 -11 -33 -1 -4 10 1 12 14
+9 10 -3 19 -7 19 -8z m197 9 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2
+13 -5z m28 -3 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m118 -4
+c-4 -6 0 -8 9 -5 8 4 15 1 15 -6 0 -18 -23 -15 -35 4 -7 12 -7 17 4 17 7 0 10
+-5 7 -10z m131 5 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9
+-8z m78 -10 c-3 -9 -1 -13 5 -9 5 3 10 0 10 -8 0 -8 -5 -11 -11 -7 -6 3 -21 7
+-34 8 -12 0 -25 4 -29 8 -4 4 5 5 21 2 20 -4 26 -1 23 8 -3 7 1 13 8 13 8 0
+11 -7 7 -15z m511 5 c-4 -6 0 -8 9 -4 17 6 19 -16 3 -30 -4 -5 -5 -2 0 6 6 11
+4 13 -11 7 -10 -4 -15 -4 -11 0 4 4 2 12 -3 19 -7 8 -5 12 5 12 8 0 11 -5 8
+-10z m569 -5 c-10 -27 -9 -67 2 -75 7 -5 6 -7 -4 -4 -18 5 -22 94 -3 94 6 0 9
+-7 5 -15z m151 1 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14 8 14 7 0 11
+-6 8 -14z m371 9 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9
+-8z m-2447 -17 c0 -8 -4 -15 -9 -15 -10 0 -11 14 -1 23 9 10 10 9 10 -8z m180
+0 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m1236 -4 c3 -13 1
+-18 -9 -14 -7 2 -10 11 -7 19 7 19 10 18 16 -5z m24 4 c0 -8 -4 -12 -9 -9 -5
+3 -6 10 -3 15 9 13 12 11 12 -6z m398 6 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0
+17 3 19 12 6z m28 -5 c3 -8 0 -17 -7 -19 -10 -4 -12 1 -9 14 6 23 9 24 16 5z
+m32 5 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m202 -6 c0 -8 -4
+-12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m-1757 -3 c0 -4 -10 -9 -22 -9
+-18 -2 -20 0 -8 7 18 12 30 13 30 2z m87 -7 c4 -4 2 -5 -4 -1 -8 4 -13 2 -14
+-6 0 -10 -2 -10 -6 0 -2 6 -10 9 -15 6 -6 -4 -8 -2 -5 4 8 12 32 10 44 -3z
+m858 5 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10 19 12 23 12 15 0z m233 -5 c3
+-3 -4 -4 -16 -2 -12 2 -24 6 -28 10 -4 3 4 4 16 2 12 -2 25 -7 28 -10z m267 6
+c-3 -2 -16 -6 -28 -8 -15 -2 -18 0 -9 5 14 9 45 12 37 3z m350 0 c3 -5 2 -12
+-3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m85 5 c0 -2 -7 -7 -16 -10 -8 -3 -12
+-2 -9 4 6 10 25 14 25 6z m77 -10 c0 -8 -8 -11 -21 -8 -19 5 -19 6 0 13 10 4
+19 8 20 8 0 1 1 -5 1 -13z m110 -8 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4
+-12 1 -19z m113 16 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z
+m-1758 -22 c-9 -3 -10 -8 -3 -16 8 -9 7 -13 -4 -13 -8 0 -12 4 -9 9 3 4 -1 8
+-8 9 -10 0 -10 2 0 6 6 2 10 9 7 14 -4 5 2 6 11 2 12 -4 14 -8 6 -11z m135
+-14 c2 -12 1 -19 -2 -16 -3 3 -8 16 -10 28 -2 12 -1 20 2 16 4 -4 8 -16 10
+-28z m251 12 c-7 -10 -14 -17 -17 -15 -4 4 18 35 25 35 2 0 -1 -9 -8 -20z
+m1015 7 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0 5 -6 8 -13z
+m272 4 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m-3100 -10 c3 -5
+2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m85 3 c0 -8 -19 -13 -24 -6 -3
+5 1 9 9 9 8 0 15 -2 15 -3z m622 -12 c-3 -9 -1 -13 5 -9 5 3 10 0 10 -8 0 -12
+-3 -12 -16 -2 -12 10 -14 9 -9 -4 4 -9 1 -16 -7 -16 -8 0 -11 7 -7 15 4 11 1
+13 -8 7 -9 -5 -11 -4 -6 4 4 6 12 8 18 5 7 -5 9 -2 6 8 -4 8 -1 15 7 15 8 0
+11 -7 7 -15z m240 0 c-3 -9 -1 -13 5 -9 5 3 10 0 10 -8 0 -10 -4 -12 -12 -5
+-7 5 -15 7 -19 3 -4 -4 -4 1 0 11 6 15 4 17 -6 11 -8 -5 -11 -4 -7 2 10 16 36
+11 29 -5z m195 6 c-2 -7 -1 -20 4 -28 5 -11 2 -16 -11 -16 -12 0 -16 4 -11 11
+5 5 7 18 6 28 -2 9 1 17 7 17 5 0 8 -6 5 -12z m843 6 c0 -8 -19 -13 -24 -6 -3
+5 1 9 9 9 8 0 15 -2 15 -3z m643 -11 c-4 -10 -2 -14 4 -10 5 3 10 0 10 -8 0
+-10 -4 -12 -12 -5 -7 5 -15 6 -20 2 -4 -4 -2 3 4 16 14 26 23 30 14 5z m277 1
+c-6 -6 -7 -14 -3 -17 3 -4 2 -7 -4 -7 -6 0 -13 8 -15 18 -4 12 1 18 13 18 12
+0 15 -4 9 -12z m240 0 c-6 -6 -7 -14 -3 -17 3 -4 2 -7 -4 -7 -6 0 -13 8 -15
+18 -4 12 1 18 13 18 12 0 15 -4 9 -12z m-2504 -14 c0 -12 -4 -16 -9 -11 -5 5
+-6 14 -3 20 10 15 12 14 12 -9z m198 7 c-5 -15 -54 -18 -54 -4 0 5 6 7 13 4 8
+-3 20 -1 28 4 18 12 19 11 13 -4z m203 -1 c0 -9 -6 -12 -16 -8 -14 5 -14 4 -1
+-14 14 -18 14 -18 -3 -5 -18 14 -18 16 -1 28 22 16 21 16 21 -1z m1239 -5 c0
+-14 -4 -17 -16 -12 -8 5 -21 6 -27 4 -7 -3 -13 0 -13 6 0 5 9 8 20 6 11 -2 22
+0 25 6 9 13 11 11 11 -10z m67 4 c9 2 17 -1 17 -7 0 -5 -6 -8 -12 -5 -7 2 -20
+1 -28 -4 -11 -5 -16 -2 -16 11 0 12 4 16 11 11 5 -5 18 -7 28 -6z m411 2 c-5
+-15 -54 -18 -54 -4 0 5 6 7 13 4 8 -3 20 -1 28 4 18 12 19 11 13 -4z m223 -2
+c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m60 0 c0 -8 -5 -11
+-10 -8 -6 4 -8 0 -5 -8 4 -10 -1 -15 -16 -16 -11 0 -15 1 -8 4 10 4 10 8 1 19
+-9 12 -9 13 4 9 8 -4 18 -2 22 4 9 15 12 14 12 -4z m-2131 -8 c4 -3 -3 -5 -15
+-2 -11 2 -21 -1 -21 -7 0 -6 -3 -9 -6 -5 -3 3 -3 10 0 15 7 11 31 10 42 -1z
+m394 7 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m155 -3 c3 -5 2
+-12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m685 -6 c0 -1 -7 -8 -15 -15 -13
+-11 -14 -10 -9 5 6 14 4 16 -6 10 -8 -5 -11 -4 -6 3 5 9 36 7 36 -3z m17 -7
+c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m30 0 c-3 -8 -6 -5 -6 6
+-1 11 2 17 5 13 3 -3 4 -12 1 -19z m210 8 c0 -8 -6 -12 -15 -9 -11 5 -11 7 0
+14 7 5 13 9 14 9 0 0 1 -6 1 -14z m30 -8 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3
+-3 4 -12 1 -19z m49 10 c5 -7 3 -8 -6 -3 -10 6 -12 4 -6 -10 5 -15 4 -16 -9
+-5 -13 11 -13 15 -3 21 17 11 16 11 24 -3z m300 -14 c-3 -15 -8 -29 -11 -32
+-3 -3 -3 5 -1 19 2 13 5 27 5 32 1 4 3 7 6 7 3 0 3 -12 1 -26z m-1516 -9 c-5
+-7 -7 -15 -3 -19 4 -4 -1 -4 -11 0 -13 5 -17 4 -12 -4 5 -8 1 -10 -10 -5 -13
+5 -15 3 -9 -8 5 -8 4 -11 0 -6 -16 14 -14 36 3 30 10 -4 13 -2 8 5 -5 8 -1 10
+10 5 10 -4 15 -2 11 4 -3 5 0 10 8 10 10 0 12 -4 5 -12z m118 -4 c-7 -9 -13
+-17 -14 -19 -1 -1 -7 4 -14 13 -11 13 -10 14 5 9 11 -5 16 -4 12 3 -3 5 0 10
+8 10 12 0 12 -3 3 -16z m1449 13 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17
+-2 13 -5z m-2059 -12 c10 7 14 9 10 4 -4 -5 -3 -16 2 -26 6 -12 5 -17 -5 -17
+-8 0 -11 7 -7 16 5 13 3 14 -9 4 -12 -10 -15 -8 -16 10 0 12 1 16 4 9 4 -10 8
+-10 21 0z m234 -6 c7 4 8 2 4 -5 -9 -13 -26 -5 -25 12 0 9 2 8 6 -1 2 -6 10
+-9 15 -6z m498 -6 c0 -4 -8 -14 -17 -21 -17 -13 -17 -13 -3 5 13 18 13 19 -1
+14 -9 -4 -16 -1 -16 7 0 7 8 10 19 7 10 -2 18 -8 18 -12z m1188 12 c10 7 14 9
+10 4 -4 -5 -3 -16 2 -26 6 -12 5 -17 -5 -17 -8 0 -11 7 -7 16 5 13 3 14 -9 4
+-12 -10 -15 -8 -16 10 0 12 1 16 4 9 4 -10 8 -10 21 0z m-2048 -12 c0 -5 -2
+-10 -4 -10 -3 0 -8 5 -11 10 -3 6 -1 10 4 10 6 0 11 -4 11 -10z m216 -26 c3
+-16 2 -26 -1 -23 -3 4 -8 19 -11 35 -3 16 -2 26 1 23 3 -4 8 -19 11 -35z m40
+24 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m154
+2 c-8 -5 -19 -10 -25 -10 -5 0 -3 5 5 10 8 5 20 10 25 10 6 0 3 -5 -5 -10z
+m1030 1 c0 -4 -11 -7 -24 -7 -14 0 -23 3 -21 6 5 9 45 10 45 1z m440 1 c0 -4
+-10 -9 -22 -9 -18 -2 -20 0 -8 7 18 12 30 13 30 2z m295 -1 c-9 -8 -36 -10
+-30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m-1400 -22 c-3 -12 -7 -24 -10 -27 -3
+-3 -3 5 -1 19 6 30 5 29 10 29 3 0 3 -10 1 -21z m840 12 c3 -5 2 -12 -3 -15
+-5 -3 -9 1 -9 9 0 17 3 19 12 6z m82 -6 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15
+9 13 12 11 12 -6z m760 0 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12
+-6z m-2480 -10 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m45 8
+c-6 -2 -9 -10 -6 -15 4 -7 2 -8 -5 -4 -13 9 -5 26 12 25 9 0 8 -2 -1 -6z m313
+-10 c-1 -10 1 -23 6 -28 5 -7 1 -11 -11 -11 -13 0 -16 5 -11 16 5 8 6 21 4 28
+-3 6 0 12 5 12 6 0 9 -8 7 -17z m128 10 c-7 -2 -19 -2 -25 0 -7 3 -2 5 12 5
+14 0 19 -2 13 -5z m1477 -9 c-6 -6 -7 -14 -3 -17 3 -4 2 -7 -4 -7 -6 0 -13 8
+-15 18 -4 12 1 18 13 18 12 0 15 -4 9 -12z m363 -1 c-4 -10 -2 -14 4 -10 5 3
+10 0 10 -7 0 -11 -4 -12 -18 -3 -13 8 -15 15 -7 24 14 18 19 16 11 -4z m118
+-3 c-5 -8 -6 -21 -4 -27 3 -7 0 -13 -5 -13 -6 0 -9 8 -7 18 1 9 -1 22 -6 27
+-5 7 -1 11 11 11 13 0 16 -5 11 -16z m-2326 1 c3 -5 2 -12 -3 -15 -5 -3 -9 1
+-9 9 0 17 3 19 12 6z m172 3 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2
+13 -5z m393 -17 c0 -6 -3 -7 -7 -4 -3 4 -11 3 -17 -3 -8 -6 -12 -3 -12 9 0 12
+6 17 18 13 10 -2 18 -9 18 -15z m77 17 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11
+1 17 -2 13 -5z m819 -13 c0 -12 -4 -17 -11 -12 -5 5 -18 7 -27 6 -10 -2 -18 1
+-18 7 0 6 6 8 13 5 8 -3 20 -1 28 4 8 5 14 9 14 9 1 0 1 -9 1 -19z m232 6 c6
+3 12 0 12 -5 0 -6 -8 -9 -17 -7 -10 1 -23 -1 -28 -6 -7 -5 -11 -1 -11 11 0 13
+5 16 16 11 8 -5 21 -6 28 -4z m227 4 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17
+3 19 12 6z m166 -6 c14 1 33 4 41 7 8 4 15 1 15 -5 0 -19 -89 -15 -94 3 -3 10
+-1 11 4 4 4 -6 20 -10 34 -9z m316 9 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1
+17 -2 13 -5z m-2323 -12 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6
+-4 9 -8z m300 -1 c-8 -8 -43 -8 -38 0 2 4 13 7 24 6 10 -1 17 -3 14 -6z m350
+1 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m92 -42 c1
+-17 -2 -30 -6 -30 -5 0 -7 15 -6 33 1 22 -3 31 -12 29 -8 -1 -11 2 -7 9 11 17
+30 -7 31 -41z m541 35 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z
+m380 1 c0 -8 -6 -12 -15 -9 -11 5 -11 7 0 14 7 5 13 9 14 9 0 0 1 -6 1 -14z
+m257 6 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m-1827
+-18 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m275 -12 c-4 -11
+-1 -13 9 -7 8 4 11 4 6 0 -11 -13 -54 -12 -54 1 0 7 7 10 15 6 9 -3 13 -1 9 5
+-3 5 0 10 7 10 8 0 12 -7 8 -15z m72 2 c3 -8 2 -12 -4 -9 -6 3 -10 10 -10 16
+0 14 7 11 14 -7z m119 -1 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14 8
+14 7 0 11 -6 8 -14z m838 -6 c-10 -9 -11 -8 -5 6 3 10 9 15 12 12 3 -3 0 -11
+-7 -18z m91 4 c-3 -8 -1 -12 5 -8 5 3 10 0 10 -8 0 -11 -4 -12 -14 -4 -9 8
+-17 8 -26 0 -10 -8 -14 -7 -14 4 0 8 5 11 10 8 6 -4 8 0 5 8 -4 10 1 15 12 15
+11 0 16 -5 12 -15z m72 3 c3 -8 2 -12 -4 -9 -6 3 -10 10 -10 16 0 14 7 11 14
+-7z m490 8 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z
+m269 -9 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14 8 14 7 0 11 -6 8 -14z
+m-2300 -1 c3 7 4 3 4 -8 -1 -15 -6 -20 -16 -16 -8 3 -12 1 -8 -5 3 -5 0 -10
+-8 -10 -11 0 -12 4 -4 13 6 7 7 19 3 26 -6 11 -5 11 8 0 13 -10 17 -10 21 0z
+m204 -6 c0 -8 -8 -11 -21 -8 -19 5 -19 6 0 13 10 4 19 8 20 8 0 1 1 -5 1 -13z
+m360 -1 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m47 4 c9 8 13
+7 13 -4 0 -8 -4 -12 -9 -9 -4 3 -8 -1 -9 -8 0 -10 -2 -10 -6 0 -2 6 -9 10 -14
+7 -5 -4 -6 2 -2 11 4 12 8 14 11 6 3 -9 8 -10 16 -3z m73 -4 c0 -8 -5 -11 -10
+-8 -6 4 -8 0 -4 -10 4 -11 2 -14 -9 -10 -13 5 -13 8 2 24 21 23 21 23 21 4z
+m557 3 c-5 -8 -2 -9 12 -4 10 4 15 4 11 0 -4 -4 -2 -12 3 -19 7 -8 5 -12 -5
+-12 -8 0 -11 5 -8 10 4 6 -1 8 -11 4 -10 -4 -15 -3 -11 3 3 6 0 10 -7 10 -9 0
+-9 3 2 10 20 13 23 12 14 -2z m679 4 c3 7 4 3 4 -8 -1 -15 -6 -20 -16 -16 -8
+3 -12 1 -8 -5 3 -5 0 -10 -8 -10 -11 0 -12 4 -4 13 6 7 7 19 3 26 -6 11 -5 11
+8 0 13 -10 17 -10 21 0z m250 -5 c7 3 8 2 4 -2 -12 -13 -36 -15 -44 -3 -3 7
+-1 8 5 4 7 -4 12 -1 13 6 0 10 2 10 6 0 2 -6 10 -9 16 -5z m154 -2 c0 -8 -4
+-12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m-2526 -18 c-10 -9 -11 -8 -5 6
+3 10 9 15 12 12 3 -3 0 -11 -7 -18z m32 3 c3 -11 1 -18 -4 -14 -5 3 -9 12 -9
+20 0 20 7 17 13 -6z m1867 14 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15
+-3z m396 -7 c4 -3 -4 -4 -16 -2 -30 6 -40 16 -12 12 12 -2 24 -6 28 -10z
+m-310 -23 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8
+-22z m254 11 c0 -1 -9 -5 -19 -8 -13 -3 -18 -1 -14 9 4 10 33 10 33 -1z m193
+2 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0 5 -6 8 -13z m-2328
+-30 c1 -15 -2 -27 -7 -27 -4 0 -6 11 -4 24 2 14 0 27 -5 30 -5 2 -4 3 3 2 7
+-1 13 -14 13 -29z m292 18 c5 -4 2 -5 -6 0 -11 6 -13 4 -7 -11 4 -10 4 -15 0
+-11 -4 4 -12 2 -19 -3 -8 -7 -12 -5 -12 5 0 8 5 11 10 8 6 -4 8 0 4 9 -6 17
+16 19 30 3z m147 7 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9
+-8z m42 -16 c-2 -14 0 -27 5 -30 5 -2 4 -3 -3 -2 -14 3 -20 56 -6 56 4 0 6
+-11 4 -24z m159 -3 c0 -15 -6 -28 -13 -29 -7 -1 -8 0 -3 2 5 3 7 16 5 30 -2
+13 0 24 4 24 5 0 8 -12 7 -27z m1280 -6 c1 -15 -2 -27 -7 -27 -4 0 -6 11 -4
+24 2 14 0 27 -5 30 -5 2 -4 3 3 2 7 -1 13 -14 13 -29z m480 6 c0 -15 -6 -28
+-13 -29 -7 -1 -8 0 -3 2 5 3 7 16 5 30 -2 13 0 24 4 24 5 0 8 -12 7 -27z
+m-2227 4 c6 3 12 0 12 -5 0 -6 -8 -9 -17 -7 -10 1 -23 -1 -28 -6 -7 -5 -11 -1
+-11 11 0 13 5 16 16 11 8 -5 21 -6 28 -4z m369 -1 c0 -9 -6 -12 -16 -8 -13 5
+-14 3 -4 -9 10 -13 10 -16 -1 -16 -23 0 -5 42 20 47 0 0 1 -6 1 -14z m227 -18
+c4 3 4 -2 0 -13 -5 -11 -9 -14 -12 -7 -2 7 -8 10 -13 7 -5 -4 -6 2 -2 11 4 10
+2 15 -4 11 -5 -3 -10 1 -10 10 0 13 4 12 17 -5 10 -12 21 -18 24 -14z m712 0
+c1 -8 -4 -15 -12 -15 -11 0 -11 3 -1 16 10 12 9 14 -4 9 -9 -4 -16 -1 -16 8 0
+18 30 2 33 -18z m40 5 c-2 -9 -9 -19 -17 -21 -9 -2 -10 -1 -3 5 6 4 10 16 8
+26 -1 9 1 15 6 12 5 -3 7 -13 6 -22z m80 10 c-2 -10 2 -22 8 -26 7 -6 6 -7 -4
+-4 -14 3 -21 23 -13 40 7 13 11 8 9 -10z m61 3 c0 -9 -6 -12 -16 -8 -13 5 -14
+3 -4 -9 10 -13 10 -16 -1 -16 -23 0 -5 42 20 47 0 0 1 -6 1 -14z m121 2 c-5
+-14 -58 -19 -58 -6 0 4 11 6 25 4 14 -3 25 0 25 5 0 5 3 9 6 9 3 0 4 -5 2 -12z
+m-1873 -8 c3 -5 1 -10 -4 -10 -6 0 -11 5 -11 10 0 6 2 10 4 10 3 0 8 -4 11
+-10z m433 -11 c2 -9 1 -10 -5 -3 -4 6 -16 10 -26 8 -9 -1 -15 1 -12 6 8 13 38
+5 43 -11z m68 8 c4 -3 -3 -5 -15 -2 -11 2 -21 -1 -21 -7 0 -6 -3 -9 -6 -5 -3
+3 -3 10 0 15 7 11 31 10 42 -1z m408 -26 c-5 -6 -34 20 -34 30 0 5 8 1 18 -8
+10 -10 17 -20 16 -22z m506 7 c0 -19 -16 -5 -17 14 -2 18 0 20 7 8 5 -8 10
+-18 10 -22z m471 9 c-10 -9 -11 -8 -5 6 3 10 9 15 12 12 3 -3 0 -11 -7 -18z
+m333 15 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m116 2
+c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m36 -20 c-3 -15 -8 -29
+-11 -32 -3 -3 -3 5 -1 19 2 13 5 27 5 32 1 4 3 7 6 7 3 0 3 -12 1 -26z m-2356
+-14 c-13 -24 -14 -24 -31 -2 -13 15 -12 16 2 4 14 -10 18 -10 23 3 3 8 8 15
+11 15 3 0 1 -9 -5 -20z m127 14 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17
+-2 13 -5z m67 -10 c3 -8 2 -12 -4 -9 -6 3 -10 10 -10 16 0 14 7 11 14 -7z
+m1728 -6 c-7 -27 -17 -29 -17 -4 0 13 5 23 11 23 6 0 9 -9 6 -19z m125 16 c-3
+-3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m109 -19 c1 -8 -1 -13 -6
+-10 -5 3 -10 0 -12 -7 -3 -7 -7 -3 -10 9 -4 17 -2 20 10 16 11 -5 13 -3 7 8
+-5 8 -4 11 0 6 5 -4 10 -14 11 -22z m134 20 c0 -1 -8 -10 -19 -19 -16 -15 -19
+-15 -24 -2 -4 11 -1 13 10 9 10 -4 14 -2 10 4 -3 5 0 10 8 10 8 0 15 -1 15 -2z
+m117 -1 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m28 -3 c3 -5 2
+-12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m-2167 -14 c-1 -2 3 -11 9 -19 10
+-12 10 -15 -2 -15 -8 0 -11 5 -8 10 4 7 -1 8 -13 4 -18 -7 -18 -6 -2 6 10 8
+16 17 13 20 -3 4 -2 5 1 3 3 -2 4 -6 2 -9z m29 -9 c-3 -8 -6 -5 -6 6 -1 11 2
+17 5 13 3 -3 4 -12 1 -19z m-180 -7 c0 -11 -5 -18 -9 -15 -4 3 -5 11 -1 19 7
+21 12 19 10 -4z m20 -3 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z
+m340 7 c4 -4 2 -5 -4 -1 -8 4 -13 2 -14 -6 0 -10 -2 -10 -6 0 -2 6 -10 9 -15
+6 -6 -4 -8 -2 -5 4 8 12 32 10 44 -3z m34 -8 c-10 -9 -11 -8 -5 6 3 10 9 15
+12 12 3 -3 0 -11 -7 -18z m129 13 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6
+5 10 10 10 6 0 10 -4 10 -10z m140 2 c0 -4 -9 -8 -20 -9 -11 -1 -20 2 -20 5 0
+4 9 8 20 9 11 1 20 -2 20 -5z m710 3 c0 -2 -6 -8 -13 -14 -10 -8 -14 -7 -14 2
+0 8 6 14 14 14 7 0 13 -1 13 -2z m115 -5 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3
+10 19 12 23 12 15 0z m155 6 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4 6 10 25
+14 25 6z m57 -18 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m120 0
+c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m103 16 c0 -8 -19 -13
+-24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m474 -10 c3 -8 2 -12 -4 -9 -6 3 -10 10
+-10 16 0 14 7 11 14 -7z m-2479 -15 c-3 -12 -7 -24 -10 -27 -3 -3 -3 5 -1 19
+6 30 5 29 10 29 3 0 3 -10 1 -21z m862 6 c0 -8 -4 -15 -9 -15 -10 0 -11 14 -1
+23 9 10 10 9 10 -8z m498 -6 c-3 -12 -7 -24 -10 -27 -3 -3 -3 5 -1 19 6 30 5
+29 10 29 3 0 3 -10 1 -21z m401 6 c-1 -8 -8 -21 -16 -28 -12 -10 -12 -9 -1 6
+11 14 11 17 0 17 -11 0 -11 2 1 10 19 12 19 13 16 -5z m-1811 -13 c-3 -3 -11
+0 -18 7 -9 10 -8 11 6 5 10 -3 15 -9 12 -12z m577 -4 c-2 -10 -9 -18 -15 -18
+-6 0 -7 3 -4 7 4 3 3 11 -3 17 -6 8 -3 12 9 12 12 0 17 -6 13 -18z m120 15
+c-10 -4 -10 -8 0 -21 7 -10 9 -14 4 -10 -5 4 -16 3 -26 -2 -12 -6 -17 -5 -17
+5 0 8 7 11 16 7 13 -5 14 -3 4 9 -10 12 -8 15 10 16 12 0 16 -1 9 -4z m162 -2
+c4 -5 -3 -7 -14 -4 -23 6 -26 13 -6 13 8 0 17 -4 20 -9z m678 -13 c-2 -10 -9
+-18 -15 -18 -6 0 -7 3 -4 7 4 3 3 11 -3 17 -6 8 -3 12 9 12 12 0 17 -6 13 -18z
+m120 15 c-10 -4 -10 -8 0 -21 7 -10 9 -14 4 -10 -5 4 -16 3 -26 -2 -12 -6 -17
+-5 -17 5 0 8 7 11 16 7 13 -5 14 -3 4 9 -10 12 -8 15 10 16 12 0 16 -1 9 -4z
+m433 -10 c-1 -10 1 -23 6 -28 5 -7 1 -11 -11 -11 -13 0 -16 5 -11 16 5 8 6 21
+4 28 -3 6 0 12 5 12 6 0 9 -8 7 -17z m322 5 c-2 -7 -1 -20 4 -28 5 -11 2 -16
+-11 -16 -12 0 -16 4 -11 11 5 5 7 18 6 28 -2 9 1 17 7 17 5 0 8 -6 5 -12z m78
+-21 c1 -15 -2 -27 -7 -27 -4 0 -6 11 -4 24 2 14 0 27 -5 30 -5 2 -4 3 3 2 7
+-1 13 -14 13 -29z m-2273 9 c11 6 11 5 0 -8 -10 -13 -10 -17 0 -21 7 -3 3 -4
+-8 -4 -15 1 -20 6 -16 16 3 8 1 12 -5 8 -5 -3 -10 0 -10 8 0 11 4 12 13 4 7
+-6 19 -7 26 -3z m33 5 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z
+m168 -6 c9 2 17 -1 17 -7 0 -5 -6 -8 -12 -5 -7 2 -20 1 -28 -4 -11 -5 -16 -2
+-16 11 0 12 4 16 11 11 5 -5 18 -7 28 -6z m107 0 c0 -2 -6 -5 -13 -8 -8 -3
+-14 1 -14 8 0 7 6 11 14 8 7 -3 13 -6 13 -8z m1364 2 c4 4 4 -1 0 -11 -5 -13
+-4 -17 4 -12 8 5 10 1 5 -10 -4 -11 -8 -13 -11 -6 -2 7 -8 10 -13 7 -5 -4 -6
+2 -2 11 4 10 2 15 -4 11 -5 -3 -10 0 -10 8 0 10 4 12 12 5 7 -5 15 -7 19 -3z
+m133 7 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m193 -9 c0 -1
+-8 -5 -18 -7 -11 -3 -19 0 -19 7 0 7 8 10 19 7 10 -2 18 -6 18 -7z m58 3 c-5
+-14 -36 -20 -43 -8 -3 5 4 7 15 5 11 -2 20 0 20 6 0 5 3 9 6 9 3 0 4 -5 2 -12z
+m-2158 -10 c0 -5 -11 -6 -25 -4 -14 3 -25 0 -25 -6 0 -6 -3 -9 -6 -5 -3 3 -4
+10 -1 14 7 11 57 12 57 1z m214 4 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8
+9 8 2 0 6 -4 9 -8z m303 -14 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1
+-19z m98 13 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m82 -6 c0 -8
+-4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m97 -24 c-5 -6 -34 20 -34
+30 0 5 8 1 18 -8 10 -10 17 -20 16 -22z m566 27 c0 -5 -11 -6 -25 -4 -14 3
+-25 0 -25 -6 0 -6 -3 -9 -6 -5 -3 3 -4 10 -1 14 7 11 57 12 57 1z m117 -10
+c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m98 13 c3 -5 2 -12 -3
+-15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m82 -6 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3
+15 9 13 12 11 12 -6z m163 9 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15
+-3z m36 -20 c-3 -15 -8 -29 -11 -32 -3 -3 -3 5 -1 19 2 13 5 27 5 32 1 4 3 7
+6 7 3 0 3 -12 1 -26z m315 3 c-10 -9 -11 -8 -5 6 3 10 9 15 12 12 3 -3 0 -11
+-7 -18z m-2735 -23 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4
+7 -14 8 -22z m457 9 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14 8 14 7 0
+11 -6 8 -14z m850 0 c-4 -10 -2 -14 4 -10 5 3 10 -1 10 -9 0 -13 -2 -13 -15 0
+-8 8 -11 19 -8 25 11 17 16 13 9 -6z m1160 0 c-3 -7 -6 -13 -8 -13 -2 0 -5 6
+-8 13 -3 8 1 14 8 14 7 0 11 -6 8 -14z m202 8 c-9 -8 -36 -10 -30 -2 2 4 11 8
+20 8 8 0 13 -3 10 -6z m116 -9 c-11 -20 -38 -24 -38 -6 0 11 3 11 16 1 12 -10
+14 -9 9 4 -4 9 -1 16 8 16 9 0 10 -5 5 -15z m-1988 0 c3 7 4 3 4 -8 -1 -15 -6
+-20 -16 -16 -8 3 -12 1 -8 -5 3 -5 0 -10 -8 -10 -11 0 -12 4 -4 13 6 7 7 19 3
+26 -6 11 -5 11 8 0 13 -10 17 -10 21 0z m403 -17 c1 -9 -4 -11 -14 -8 -9 4
+-13 2 -9 -4 3 -5 0 -10 -8 -10 -10 0 -12 4 -5 12 5 7 7 15 3 19 -4 4 1 4 11 0
+15 -6 17 -4 11 7 -5 8 -4 11 0 6 5 -4 10 -14 11 -22z m38 13 c-5 -8 -2 -9 12
+-4 10 4 15 4 11 0 -4 -4 -2 -12 3 -19 7 -8 5 -12 -5 -12 -8 0 -11 5 -8 10 4 6
+-1 8 -11 4 -10 -4 -15 -3 -11 3 3 6 0 10 -7 10 -9 0 -9 3 2 10 20 13 23 12 14
+-2z m922 -13 c1 -9 -4 -11 -14 -8 -9 4 -13 2 -9 -4 3 -5 0 -10 -8 -10 -10 0
+-12 4 -5 12 5 7 7 15 3 19 -4 4 1 4 11 0 15 -6 17 -4 11 7 -5 8 -4 11 0 6 5
+-4 10 -14 11 -22z m38 13 c-5 -8 -2 -9 12 -4 10 4 15 4 11 0 -4 -4 -2 -12 3
+-19 7 -8 5 -12 -5 -12 -8 0 -11 5 -8 10 4 6 -1 8 -11 4 -10 -4 -15 -3 -11 3 3
+6 0 10 -7 10 -9 0 -9 3 2 10 20 13 23 12 14 -2z m-1679 -7 c3 -5 2 -12 -3 -15
+-5 -3 -9 1 -9 9 0 17 3 19 12 6z m85 5 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4
+6 10 25 14 25 6z m480 -2 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z
+m805 -3 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m155 3 c0 -8
+-19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m240 -4 c0 -5 -4 -10 -10 -10
+-5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z m330 0 c-18 -12 -30 -13
+-30 -2 0 4 10 9 22 9 18 2 20 0 8 -7z m225 -8 c-3 -3 -11 0 -18 7 -9 10 -8 11
+6 5 10 -3 15 -9 12 -12z m122 3 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12
+11 12 -6z m-2414 -8 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0
+5 -6 8 -13z m352 4 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m462
+-23 c2 -12 1 -19 -2 -16 -3 3 -8 16 -10 28 -2 12 -1 20 2 16 4 -4 8 -16 10
+-28z m579 16 c-3 -21 -33 -39 -33 -20 0 8 7 12 14 9 8 -3 13 -2 12 3 -2 13 0
+24 5 24 2 0 3 -7 2 -16z m727 2 c4 -10 0 -12 -15 -8 -15 4 -17 7 -6 13 17 11
+15 11 21 -5z m270 1 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0
+5 -6 8 -13z m-2857 -9 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8
+-1 18 -5 22 -8z m60 0 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8
+-1 18 -5 22 -8z m484 -4 c-6 -6 -7 -14 -3 -17 3 -4 2 -7 -4 -7 -6 0 -13 8 -15
+18 -4 12 1 18 13 18 12 0 15 -4 9 -12z m75 -17 c1 -15 -2 -27 -7 -27 -4 0 -6
+11 -4 24 2 14 0 27 -5 30 -5 2 -4 3 3 2 7 -1 13 -14 13 -29z m246 18 c-5 -5
+-7 -18 -6 -27 2 -10 -1 -18 -7 -18 -5 0 -8 6 -5 13 2 6 1 19 -4 27 -5 11 -2
+16 11 16 12 0 16 -4 11 -11z m910 -2 c13 -16 12 -17 -3 -4 -10 7 -18 15 -18
+17 0 8 8 3 21 -13z m496 2 c5 -4 2 -5 -6 0 -11 6 -13 4 -7 -11 4 -10 4 -15 0
+-11 -4 4 -12 2 -19 -3 -8 -7 -12 -5 -12 5 0 8 5 11 10 8 6 -4 8 0 4 9 -6 17
+16 19 30 3z m212 -21 c-14 -13 -16 -13 -16 0 0 8 5 12 10 9 7 -4 8 1 3 13 -6
+15 -5 17 5 6 11 -10 10 -15 -2 -28z m335 27 c3 -5 -1 -14 -8 -20 -10 -9 -16
+-9 -21 -1 -4 6 -3 10 2 9 20 -3 27 2 13 11 -9 6 -10 10 -3 10 6 0 14 -4 17 -9z
+m-2418 -20 c0 -15 -4 -17 -17 -11 -9 5 -20 6 -24 2 -5 -4 -5 -1 -1 6 4 7 11
+10 16 7 5 -3 11 -1 15 5 9 14 11 13 11 -9z m391 13 c-3 -3 -12 -4 -19 -1 -8 3
+-5 6 6 6 11 1 17 -2 13 -5z m229 -8 c13 2 24 0 24 -4 0 -14 -53 -8 -56 6 -1 7
+0 8 2 3 3 -5 16 -7 30 -5z m960 0 c13 2 24 0 24 -4 0 -14 -53 -8 -56 6 -1 7 0
+8 2 3 3 -5 16 -7 30 -5z m412 1 c6 3 12 0 12 -5 0 -6 -8 -9 -17 -7 -10 1 -23
+-1 -28 -6 -7 -5 -11 -1 -11 11 0 13 5 16 16 11 8 -5 21 -6 28 -4z m305 -1 c9
+1 15 -1 12 -6 -8 -13 -38 -5 -43 11 -2 9 -1 10 5 3 4 -6 16 -10 26 -8z m-1956
+-16 c-1 -11 -5 -20 -9 -20 -10 0 -10 4 -2 24 8 22 13 20 11 -4z m237 4 c3 -8
+2 -12 -4 -9 -6 3 -10 10 -10 16 0 14 7 11 14 -7z m960 0 c3 -8 2 -12 -4 -9 -6
+3 -10 10 -10 16 0 14 7 11 14 -7z m241 -5 c-4 -5 -12 -9 -18 -8 -9 0 -8 2 1 6
+6 2 9 10 6 15 -4 7 -2 8 5 4 6 -4 9 -12 6 -17z m119 13 c3 -5 -1 -9 -9 -9 -8
+0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m280 0 c3 -5 -1 -9 -9 -9 -8 0 -12 4
+-9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m-1907 -18 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6
+6 11 1 17 -2 13 -5z m116 -11 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14
+8 14 7 0 11 -6 8 -14z m150 0 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14
+8 14 7 0 11 -6 8 -14z m129 10 c-6 -2 -9 -10 -6 -15 4 -7 2 -8 -5 -4 -13 9 -5
+26 12 25 9 0 8 -2 -1 -6z m78 -3 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6
+5 10 10 10 6 0 10 -4 10 -10z m720 6 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4 6
+10 25 14 25 6z m33 -13 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14 8 14
+7 0 11 -6 8 -14z m129 10 c-6 -2 -9 -10 -6 -15 4 -7 2 -8 -5 -4 -13 9 -5 26
+12 25 9 0 8 -2 -1 -6z m78 -3 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5
+10 10 10 6 0 10 -4 10 -10z m394 -2 c-5 -7 -2 -9 8 -6 8 4 15 0 15 -7 0 -10
+-5 -11 -19 -4 -16 9 -17 29 -2 29 3 0 2 -5 -2 -12z m123 -10 c2 -17 0 -19 -7
+-8 -5 8 -6 18 -4 22 8 12 10 10 11 -14z m116 9 c-4 -6 0 -8 9 -4 12 4 14 1 11
+-14 -3 -11 -6 -18 -7 -17 -1 2 -9 12 -19 24 -14 17 -14 21 -2 21 8 0 11 -5 8
+-10z m84 -2 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m-2804
+-10 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z m944 0 c0 -8 -4
+-12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m960 0 c0 -8 -4 -12 -9 -9 -5 3
+-6 10 -3 15 9 13 12 11 12 -6z m280 -7 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3
+-3 4 -12 1 -19z m105 -6 c3 -10 0 -19 -6 -19 -6 0 -11 10 -11 23 0 25 10 23
+17 -4z m15 6 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m114 13 c0
+10 2 11 6 1 2 -6 10 -9 16 -5 7 3 8 2 4 -2 -13 -15 -36 -14 -49 3 -12 15 -11
+16 5 3 14 -11 17 -11 18 0z m206 -13 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3
+4 -12 1 -19z m-2141 -24 c3 -16 2 -26 -1 -23 -3 4 -8 19 -11 35 -3 16 -2 26 1
+23 3 -4 8 -19 11 -35z m141 21 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12
+11 12 -6z m345 -3 c3 -11 0 -19 -7 -19 -7 0 -10 8 -7 19 2 10 6 18 7 18 1 0 5
+-8 7 -18z m117 0 c7 -14 6 -19 -4 -19 -8 0 -11 7 -7 16 5 14 4 14 -14 1 -18
+-14 -18 -14 -5 3 17 21 18 21 30 -1z m121 8 c0 -4 -7 -7 -15 -6 -23 3 -26 12
+-5 13 11 1 20 -2 20 -7z m570 4 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2
+15 -3z m152 -12 c3 -11 0 -19 -7 -19 -7 0 -10 8 -7 19 2 10 6 18 7 18 1 0 5
+-8 7 -18z m117 0 c7 -14 6 -19 -4 -19 -8 0 -11 7 -7 16 5 14 4 14 -14 1 -18
+-14 -18 -14 -5 3 17 21 18 21 30 -1z m121 13 c0 -7 -30 -13 -34 -7 -3 4 4 9
+15 9 10 1 19 0 19 -2z m214 -3 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8
+2 0 6 -4 9 -8z m383 -7 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z
+m-2354 -8 c3 -7 -3 -13 -14 -13 -13 0 -15 3 -7 13 6 7 12 13 13 13 2 0 5 -6 8
+-13z m190 0 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0 5 -6 8
+-13z m130 -1 c4 -10 1 -13 -8 -9 -8 3 -12 9 -9 14 7 12 11 11 17 -5z m1834
+-18 c4 -28 -6 -18 -12 12 -2 12 -1 20 2 16 4 -4 8 -16 10 -28z m-2661 -4 c1
+-9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m159 17
+c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m742 2 c-4 -3 -1 -13 6
+-22 11 -14 10 -14 -5 -2 -21 15 -23 31 -6 31 6 0 8 -3 5 -7z m118 -20 c0 -15
+-6 -28 -13 -29 -7 -1 -8 0 -3 2 5 3 7 16 5 30 -2 13 0 24 4 24 5 0 8 -12 7
+-27z m125 -8 c0 -5 -5 -3 -10 5 -5 8 -10 20 -10 25 0 6 5 3 10 -5 5 -8 10 -19
+10 -25z m115 8 c0 -15 -6 -28 -13 -29 -7 -1 -8 0 -3 2 5 3 7 16 5 30 -2 13 0
+24 4 24 5 0 8 -12 7 -27z m647 5 c-2 -10 -9 -18 -15 -18 -6 0 -7 3 -4 7 4 3 3
+11 -3 17 -6 8 -3 12 9 12 12 0 17 -6 13 -18z m73 -5 c0 -15 -6 -28 -13 -29 -7
+-1 -8 0 -3 2 5 3 7 16 5 30 -2 13 0 24 4 24 5 0 8 -12 7 -27z m125 -8 c0 -5
+-5 -3 -10 5 -5 8 -10 20 -10 25 0 6 5 3 10 -5 5 -8 10 -19 10 -25z m115 8 c0
+-15 -6 -28 -13 -29 -7 -1 -8 0 -3 2 5 3 7 16 5 30 -2 13 0 24 4 24 5 0 8 -12
+7 -27z m-1482 2 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z m1605
+-10 c-3 -3 -9 2 -12 12 -6 14 -5 15 5 6 7 -7 10 -15 7 -18z m140 13 c-5 -14
+-58 -19 -58 -6 0 4 11 6 25 4 14 -3 25 0 25 5 0 5 3 9 6 9 3 0 4 -5 2 -12z
+m229 6 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m89 -13 c0 -12
+-4 -17 -11 -12 -5 5 -18 7 -27 6 -10 -2 -18 1 -18 7 0 6 6 8 13 5 8 -3 20 -1
+28 4 8 5 14 9 14 9 1 0 1 -9 1 -19z m-2720 -6 c-1 -8 -5 -17 -8 -21 -5 -4 -4
+16 1 34 3 9 9 -1 7 -13z m458 7 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9
+8 2 0 6 -4 9 -8z m283 -5 c3 -4 -11 -5 -31 -3 -21 2 -36 -1 -36 -7 0 -6 -3 -8
+-6 -4 -3 3 -3 10 0 15 6 10 63 9 73 -1z m540 -29 c2 -12 1 -19 -3 -16 -3 3 -7
+14 -9 25 -1 10 -8 17 -15 15 -6 -1 -8 3 -5 9 10 15 28 -4 32 -33z m959 24 c1
+-7 0 -8 -2 -3 -3 5 -16 7 -30 5 -13 -2 -24 0 -24 4 0 14 53 8 56 -6z m234 12
+c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m88 -15 c2 -9 1 -10 -5
+-3 -4 6 -16 10 -26 8 -9 -1 -15 1 -12 6 8 13 38 5 43 -11z m299 14 c-4 -3 -3
+-11 3 -17 6 -8 3 -12 -9 -12 -12 0 -17 6 -13 18 2 10 9 18 15 18 6 0 7 -3 4
+-7z m-2476 -27 c-4 -6 -7 -23 -6 -38 1 -15 -2 -25 -6 -23 -4 3 -6 13 -5 23 2
+9 -2 20 -8 24 -8 5 -7 8 2 8 7 0 11 4 8 8 -3 5 1 9 9 9 9 0 11 -5 6 -11z m162
+-3 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14 8 14 7 0 11 -6 8 -14z m74
+11 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m157 -6 c-5 -8 -2
+-9 10 -5 9 4 15 3 11 -2 -3 -5 0 -11 7 -13 7 -3 5 -7 -6 -11 -11 -5 -15 -3
+-10 5 5 7 2 9 -8 5 -11 -4 -15 -1 -13 11 5 23 4 22 11 22 3 0 2 -5 -2 -12z
+m86 -3 c-5 -7 -7 -15 -3 -19 4 -4 -1 -4 -11 0 -15 6 -17 4 -11 -7 5 -8 4 -11
+0 -6 -16 14 -14 36 3 30 9 -4 13 -2 9 4 -3 5 0 10 8 10 10 0 12 -4 5 -12z
+m153 2 c-4 -6 0 -8 8 -5 17 6 24 -28 8 -37 -5 -4 -6 2 -2 12 6 16 5 17 -12 3
+-12 -10 -16 -10 -11 -2 4 7 3 19 -3 26 -8 9 -7 13 4 13 8 0 11 -5 8 -10z m94
+7 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m28 -3 c3 -5 2 -12
+-3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m838 -4 c-4 -7 1 -8 13 -3 15 6 17 5
+6 -5 -10 -11 -15 -10 -28 2 -13 14 -13 16 0 16 8 0 12 -5 9 -10z m122 4 c3 -5
+2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m239 -13 c-5 -7 -2 -9 8 -6 8 4
+15 0 15 -8 0 -19 -30 -1 -33 20 -1 9 2 14 7 10 5 -3 6 -10 3 -16z m293 16 c-3
+-3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m104 -17 c-10 -9 -11 -8 -5
+6 3 10 9 15 12 12 3 -3 0 -11 -7 -18z m87 -1 c-2 -1 -10 -7 -19 -14 -13 -9
+-16 -9 -16 3 0 8 5 11 10 8 7 -4 8 1 3 12 -5 15 -4 16 9 5 9 -7 14 -13 13 -14z
+m-2346 6 c3 8 7 6 11 -6 4 -10 3 -15 -3 -11 -6 3 -10 0 -11 -7 0 -10 -2 -10
+-6 0 -2 6 -8 10 -12 8 -4 -3 -8 1 -8 9 0 11 4 12 13 4 8 -7 13 -6 16 3z m43
+-1 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m710 -14 c-11 -17 -24
+-23 -49 -22 -19 0 -37 3 -41 6 -3 3 13 5 35 4 32 -1 40 1 36 12 -3 8 -2 11 3
+8 5 -3 12 -1 16 5 3 5 8 10 11 10 2 0 -2 -10 -11 -23z m-540 4 c-9 -8 -36 -10
+-30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m410 0 c-9 -8 -36 -10 -30 -2 2 4 11 8
+20 8 8 0 13 -3 10 -6z m829 -3 c-3 -4 -9 -8 -15 -8 -5 0 -9 4 -9 8 0 5 7 9 15
+9 8 0 12 -4 9 -9z m31 2 c3 -5 1 -10 -4 -10 -6 0 -11 5 -11 10 0 6 2 10 4 10
+3 0 8 -4 11 -10z m190 0 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10 19 12 23 12
+15 0z m99 2 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z
+m256 -17 c0 -2 -5 -7 -12 -11 -7 -5 -8 -3 -3 6 6 9 4 12 -7 8 -8 -4 -15 0 -15
+7 0 10 5 11 19 4 10 -5 18 -12 18 -14z m67 10 c4 -4 2 -5 -4 -1 -8 4 -13 2
+-14 -6 0 -10 -2 -10 -6 0 -2 6 -10 9 -15 6 -6 -4 -8 -2 -5 4 8 12 32 10 44 -3z
+m333 11 c0 -3 -4 -8 -10 -11 -5 -3 -10 -1 -10 4 0 6 5 11 10 11 6 0 10 -2 10
+-4z m-2865 -15 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m-79 -27
+c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m580 2
+c-2 -14 0 -27 5 -30 5 -2 4 -3 -3 -2 -14 3 -20 56 -6 56 4 0 6 -11 4 -24z
+m405 9 c-5 -5 -7 -18 -6 -27 2 -10 -1 -18 -7 -18 -5 0 -8 6 -5 13 2 6 1 19 -4
+27 -5 11 -2 16 11 16 12 0 16 -4 11 -11z m179 11 c0 -3 -4 -8 -10 -11 -5 -3
+-10 -1 -10 4 0 6 5 11 10 11 6 0 10 -2 10 -4z m1053 -9 c-4 -6 0 -8 9 -5 8 4
+15 1 15 -7 0 -8 -7 -11 -16 -7 -13 5 -14 3 -4 -9 10 -13 10 -16 -2 -16 -8 0
+-11 5 -8 10 4 6 0 8 -9 5 -8 -4 -15 -1 -15 7 0 8 7 11 16 7 13 -5 14 -3 4 9
+-10 13 -10 16 2 16 8 0 11 -5 8 -10z m444 1 c-2 -7 -1 -20 4 -28 5 -11 2 -16
+-11 -16 -12 0 -16 4 -11 11 5 5 7 18 6 28 -2 9 1 17 7 17 5 0 8 -6 5 -12z
+m243 -4 c-6 -6 -7 -14 -3 -17 3 -4 2 -7 -4 -7 -6 0 -13 8 -15 18 -4 12 1 18
+13 18 12 0 15 -4 9 -12z m-2423 -9 c0 -8 -5 -11 -10 -8 -6 4 -8 0 -5 -8 4 -10
+-1 -15 -16 -16 -11 0 -15 1 -8 4 10 4 10 8 1 19 -9 12 -9 13 4 9 8 -4 18 -2
+22 4 9 15 12 14 12 -4z m309 3 c5 4 3 0 -4 -10 -10 -13 -10 -17 0 -21 7 -3 3
+-4 -9 -4 -18 1 -20 4 -10 16 10 12 9 14 -4 9 -9 -4 -16 -1 -16 7 0 10 5 11 17
+5 10 -5 21 -6 26 -2z m111 -3 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11
+12 -6z m541 8 l-117 -4 -4 -117 -3 -117 -2 123 -2 122 123 -2 122 -2 -117 -3z
+m407 -13 c10 -11 16 -20 13 -20 -3 0 -13 9 -23 20 -10 11 -16 20 -13 20 3 0
+13 -9 23 -20z m255 -3 c0 -6 -3 -7 -7 -4 -3 4 -11 3 -17 -3 -8 -6 -12 -3 -12
+9 0 12 6 17 18 13 10 -2 18 -9 18 -15z m167 1 c-3 -8 -6 -5 -6 6 -1 11 2 17 5
+13 3 -3 4 -12 1 -19z m290 7 c0 -8 -5 -11 -10 -8 -7 4 -8 -1 -3 -13 6 -15 5
+-16 -5 -7 -10 10 -9 15 1 28 15 19 17 19 17 0z m220 -20 c0 -6 -6 -12 -13 -12
+-7 0 -10 7 -6 15 3 9 1 13 -5 9 -5 -3 -10 0 -10 7 0 11 5 11 17 4 9 -6 17 -16
+17 -23z m39 8 c-2 -9 -9 -19 -17 -21 -9 -2 -10 -1 -3 5 6 4 10 16 8 26 -1 9 1
+15 6 12 5 -3 7 -13 6 -22z m-2159 10 c-4 -3 -3 -11 3 -17 6 -8 3 -12 -9 -12
+-12 0 -17 6 -13 18 2 10 9 18 15 18 6 0 7 -3 4 -7z m433 -3 c0 -5 -5 -10 -11
+-10 -5 0 -7 5 -4 10 3 6 8 10 11 10 2 0 4 -4 4 -10z m900 6 c0 -2 -8 -10 -17
+-17 -16 -13 -17 -12 -4 4 13 16 21 21 21 13z m24 -12 c3 -8 2 -12 -4 -9 -6 3
+-10 10 -10 16 0 14 7 11 14 -7z m323 9 c-4 -3 -3 -11 3 -17 6 -8 3 -12 -9 -12
+-12 0 -17 6 -13 18 2 10 9 18 15 18 6 0 7 -3 4 -7z m122 -9 c-7 -8 -6 -14 3
+-17 7 -3 3 -4 -8 -4 -15 1 -20 6 -16 16 4 10 1 12 -8 6 -8 -5 -11 -4 -7 1 3 5
+15 10 26 10 14 0 17 -4 10 -12z m-2382 -11 c-4 -3 -1 -13 6 -22 11 -14 10 -14
+-5 -2 -16 12 -16 31 -1 31 4 0 3 -3 0 -7z m537 -33 c-6 -6 -10 -3 -10 10 0 13
+4 16 10 10 7 -7 7 -13 0 -20z m473 24 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11
+1 17 -2 13 -5z m-567 -14 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10
+10 6 0 10 -4 10 -10z m230 0 c8 -5 11 -10 5 -10 -5 0 -17 5 -25 10 -8 5 -10
+10 -5 10 6 0 17 -5 25 -10z m147 -3 c2 -3 -10 -4 -26 -3 -17 0 -31 4 -31 9 0
+7 48 2 57 -6z m1257 1 c-3 -5 -10 -5 -16 -2 -7 5 -9 2 -6 -8 4 -8 0 -15 -7
+-15 -10 0 -11 5 -5 17 5 9 16 17 24 17 8 0 13 -4 10 -9z m381 -9 c-4 -5 -12
+-9 -18 -8 -9 0 -8 2 1 6 6 2 9 10 6 15 -4 7 -2 8 5 4 6 -4 9 -12 6 -17z m45
+17 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4 6 10 25 14 25 6z m165 -6 c3 -6 -1
+-7 -9 -4 -18 7 -21 14 -7 14 6 0 13 -4 16 -10z m-2730 -19 c-9 -8 -36 -10 -30
+-2 2 4 11 8 20 8 8 0 13 -3 10 -6z m409 -6 c-4 -8 -11 -12 -16 -9 -6 4 -5 10
+3 15 19 12 19 11 13 -6z m38 -3 c-3 -9 -1 -13 5 -9 5 3 10 0 10 -8 0 -17 -14
+-10 -26 14 -7 13 -6 18 4 18 7 0 11 -7 7 -15z m121 12 c-6 -3 -9 -16 -7 -30 2
+-13 0 -24 -4 -24 -5 0 -8 12 -6 28 3 34 2 32 17 31 9 0 9 -2 0 -5z m119 -13
+c-3 -8 -1 -12 5 -8 5 3 10 0 10 -8 0 -11 -4 -12 -13 -4 -7 6 -19 7 -26 3 -11
+-6 -11 -5 0 8 10 13 10 17 0 21 -7 3 -3 4 8 4 15 -1 20 -6 16 -16z m120 -3
+c-2 -10 -9 -18 -15 -18 -6 0 -7 3 -4 7 4 3 3 11 -3 17 -6 8 -3 12 9 12 12 0
+17 -6 13 -18z m114 -13 c-1 -8 -6 -18 -11 -22 -4 -5 -5 -2 0 6 6 10 4 13 -7 9
+-8 -4 -15 -1 -15 7 0 8 7 11 16 7 14 -5 14 -4 1 14 -14 17 -14 18 2 6 9 -7 15
+-19 14 -27z m1124 28 c0 -5 -5 -15 -10 -23 -7 -12 -9 -10 -7 8 1 19 17 33 17
+15z m116 -17 c-2 -14 0 -27 5 -30 5 -2 4 -3 -3 -2 -14 3 -20 56 -6 56 4 0 6
+-11 4 -24z m85 4 c-5 -8 -6 -21 -4 -27 3 -7 0 -13 -5 -13 -6 0 -9 8 -7 18 1 9
+-1 22 -6 27 -5 7 -1 11 11 11 13 0 16 -5 11 -16z m115 5 c-1 -8 -5 -17 -8 -21
+-5 -4 -4 16 1 34 3 9 9 -1 7 -13z m40 -8 c1 -9 -1 -19 -6 -22 -5 -3 -7 3 -6
+12 2 10 -2 22 -8 26 -7 6 -6 7 3 5 8 -2 15 -12 17 -21z m167 17 c-6 -3 -9 -16
+-7 -30 2 -13 0 -24 -4 -24 -5 0 -8 12 -6 28 3 34 2 32 17 31 9 0 9 -2 0 -5z
+m34 -13 c-10 -12 -9 -14 4 -9 9 4 16 1 16 -8 0 -9 -5 -10 -15 -5 -20 11 -24
+38 -6 38 11 0 11 -3 1 -16z m118 -14 c1 -15 -2 -27 -7 -27 -4 0 -6 11 -4 24 2
+14 0 27 -5 30 -5 2 -4 3 3 2 7 -1 13 -14 13 -29z m125 18 c0 -1 -8 -9 -18 -18
+-15 -14 -19 -15 -19 -2 0 8 5 11 10 8 6 -4 8 0 4 10 -4 11 -2 14 9 10 7 -3 14
+-6 14 -8z m-1903 -17 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z
+m53 7 c0 -2 -6 -5 -13 -8 -8 -3 -14 1 -14 8 0 7 6 11 14 8 7 -3 13 -6 13 -8z
+m80 0 c0 -8 -4 -15 -10 -15 -5 0 -7 7 -4 15 4 8 8 15 10 15 2 0 4 -7 4 -15z
+m1807 9 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m-2821 -19 c-1
+-8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m581 0 c0 -8 -4 -12 -9 -9
+-5 3 -6 10 -3 15 9 13 12 11 12 -6z m1660 -7 c-3 -8 -6 -5 -6 6 -1 11 2 17 5
+13 3 -3 4 -12 1 -19z m30 0 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1
+-19z m-1927 -8 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10
+-4 10 -10z m600 -10 c-5 -10 -6 -21 -2 -25 4 -5 0 -4 -8 1 -8 4 -21 9 -28 10
+-8 2 -17 5 -20 9 -4 3 6 4 22 1 20 -4 26 -1 23 8 -3 7 1 13 8 13 10 0 11 -5 5
+-17z m45 10 c3 -6 -1 -7 -9 -4 -18 7 -21 14 -7 14 6 0 13 -4 16 -10z m1034 -6
+c-6 -7 -7 -19 -3 -26 6 -11 5 -11 -8 0 -13 10 -17 10 -21 0 -3 -7 -4 -3 -4 8
+1 15 6 20 16 16 8 -3 12 -1 8 5 -3 5 0 10 8 10 11 0 12 -4 4 -13z m794 -1 c-3
+-7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14 8 14 7 0 11 -6 8 -14z m-2370 -19
+c-7 -19 -10 -18 -16 5 -3 13 -1 18 9 14 7 -2 10 -11 7 -19z m114 12 c0 -8 -6
+-12 -15 -9 -11 5 -11 7 0 14 7 5 13 9 14 9 0 0 1 -6 1 -14z m110 -8 c-3 -8 -6
+-5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m339 -84 c-3 -8 -11 -14 -18 -13
+-10 0 -10 2 0 6 7 3 13 27 14 61 l2 57 3 -49 c2 -27 2 -55 -1 -62z m1350 81
+c1 -9 -4 -11 -14 -8 -9 4 -13 2 -9 -4 3 -5 0 -10 -8 -10 -10 0 -12 4 -5 12 5
+7 7 15 3 19 -4 4 1 4 11 0 15 -6 17 -4 11 7 -5 8 -4 11 0 6 5 -4 10 -14 11
+-22z m37 4 c-4 -15 -8 -17 -14 -8 -6 11 4 28 18 29 0 0 -1 -9 -4 -21z m336 5
+c4 3 8 -1 8 -9 0 -11 -4 -12 -13 -4 -8 7 -13 6 -16 -3 -3 -8 -7 -6 -11 6 -4
+10 -3 15 3 11 6 -3 10 0 11 7 0 10 2 10 6 0 2 -6 8 -10 12 -8z m108 1 c0 -8
+-4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m-2888 -9 c9 -11 9 -16 -1
+-22 -7 -4 -10 -4 -6 1 4 4 3 14 -3 22 -6 7 -9 13 -6 13 2 0 10 -6 16 -14z
+m466 5 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m60 0 c3 -5 2 -12
+-3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m221 -17 c1 -9 0 -13 -4 -10 -3 4 -7
+14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m104 20 c0 -8 -19 -13 -24 -6 -3 5
+1 9 9 9 8 0 15 -2 15 -3z m1340 -9 c-10 -12 -10 -15 1 -16 10 0 11 -2 1 -6 -6
+-2 -9 -10 -6 -15 4 -7 2 -8 -5 -4 -6 4 -9 12 -6 17 4 5 1 9 -6 9 -7 0 -4 7 7
+15 25 19 30 19 14 0z m276 0 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1
+7 -13z m60 3 c5 -7 3 -8 -6 -3 -10 6 -12 4 -6 -11 5 -14 4 -16 -5 -7 -6 6 -8
+16 -5 22 9 14 13 14 22 -1z m201 -3 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13
+12 11 12 -6z m-2334 -8 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2
+0 5 -6 8 -13z m160 0 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0
+5 -6 8 -13z m2030 -2 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z
+m120 2 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0 5 -6 8 -13z
+m-2657 -23 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8
+-22z m548 18 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z
+m432 -8 c-4 -9 -1 -24 6 -33 11 -15 10 -15 -5 0 -16 13 -15 49 0 49 3 0 2 -7
+-1 -16z m1839 -11 c0 -15 -6 -28 -13 -29 -7 -1 -8 0 -3 2 5 3 7 16 5 30 -2 13
+0 24 4 24 5 0 8 -12 7 -27z m-1999 3 c13 2 24 0 24 -4 0 -14 -53 -8 -56 6 -1
+7 0 8 2 3 3 -5 16 -7 30 -5z m1452 1 c6 3 12 0 12 -5 0 -6 -8 -9 -17 -7 -10 1
+-23 -1 -28 -6 -7 -5 -11 -1 -11 11 0 13 5 16 16 11 8 -5 21 -6 28 -4z m305 0
+c4 3 7 2 7 -4 0 -6 -8 -13 -18 -15 -12 -4 -18 1 -18 13 0 12 4 15 12 9 6 -6
+14 -7 17 -3z m-2117 -23 c-3 -15 -8 -29 -11 -32 -3 -3 -3 5 -1 19 2 13 5 27 5
+32 1 4 3 7 6 7 3 0 3 -12 1 -26z m118 18 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3
+4 7 8 9 8 2 0 6 -4 9 -8z m106 -4 c0 -5 -11 -6 -25 -4 -14 3 -25 0 -25 -6 0
+-6 -3 -9 -6 -5 -3 3 -4 10 -1 14 7 11 57 12 57 1z m94 -4 c3 -8 2 -12 -4 -9
+-6 3 -10 10 -10 16 0 14 7 11 14 -7z m1323 1 c0 -8 -4 -12 -9 -9 -5 3 -6 10
+-3 15 9 13 12 11 12 -6z m283 -17 c0 -19 -16 -5 -17 14 -2 18 0 20 7 8 5 -8
+10 -18 10 -22z m314 10 c1 -7 5 -18 8 -24 4 -6 2 -11 -5 -11 -7 0 -13 13 -14
+29 -1 28 7 33 11 6z m56 16 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15
+-3z m-2370 -34 c-4 -8 -6 -26 -3 -39 2 -14 0 -22 -3 -18 -4 4 -8 17 -8 29 -1
+13 -5 28 -8 33 -4 6 2 11 12 11 13 0 16 -5 10 -16z m353 3 c-3 -7 -6 -13 -8
+-13 -2 0 -5 6 -8 13 -3 8 1 14 8 14 7 0 11 -6 8 -14z m203 -2 c-13 -12 -18
+-13 -28 -2 -11 10 -9 11 6 5 12 -5 17 -4 13 3 -3 5 1 10 9 10 13 0 13 -2 0
+-16z m1119 -7 c0 -25 -10 -23 -17 4 -3 10 0 19 6 19 6 0 11 -10 11 -23z m118
+13 c-4 -6 0 -8 9 -4 12 4 14 1 10 -16 -3 -12 -7 -16 -10 -9 -2 7 -9 9 -15 5
+-7 -3 -9 -3 -5 2 4 4 3 13 -2 20 -7 8 -5 12 5 12 8 0 11 -5 8 -10z m129 6 c-6
+-2 -10 -9 -7 -13 3 -5 1 -11 -4 -14 -7 -5 -8 11 -2 32 1 1 7 2 14 1 9 0 9 -2
+-1 -6z m137 -29 c-14 -13 -16 -13 -16 0 0 8 5 12 10 9 7 -4 8 1 3 13 -6 15 -5
+17 5 6 11 -10 10 -15 -2 -28z m54 23 c-4 -6 1 -8 11 -4 11 5 15 3 10 -5 -5 -8
+-1 -9 12 -4 10 4 15 4 11 0 -4 -4 -2 -12 3 -19 7 -8 5 -12 -5 -12 -8 0 -11 5
+-8 10 4 6 -1 8 -11 4 -11 -5 -15 -3 -10 5 5 8 1 9 -12 4 -10 -4 -15 -4 -11 0
+4 4 2 12 -3 19 -7 8 -5 12 5 12 8 0 11 -5 8 -10z m164 7 c-3 -3 -12 -4 -19 -1
+-8 3 -5 6 6 6 11 1 17 -2 13 -5z m118 -12 c-3 -3 -11 0 -18 7 -9 10 -8 11 6 5
+10 -3 15 -9 12 -12z m-785 -12 c8 -5 11 -10 5 -10 -5 0 -17 5 -25 10 -8 5 -10
+10 -5 10 6 0 17 -5 25 -10z m125 -8 c-3 -3 -11 0 -18 7 -9 10 -8 11 6 5 10 -3
+15 -9 12 -12z m102 3 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z
+m122 -3 c7 -14 6 -19 -4 -19 -8 0 -11 7 -7 16 5 14 4 14 -14 1 -18 -14 -18
+-14 -5 3 17 21 18 21 30 -1z m277 -6 c0 -14 -3 -23 -7 -20 -6 3 -6 22 0 42 3
+10 7 -2 7 -22z m-2041 -4 c-3 -3 -11 0 -18 7 -9 10 -8 11 6 5 10 -3 15 -9 12
+-12z m299 10 c2 -4 -7 -8 -22 -9 -24 -2 -24 -1 -7 7 11 5 21 9 22 9 1 1 4 -3
+7 -7z m-447 -18 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m1871
+-19 c-3 -3 -9 2 -12 12 -6 14 -5 15 5 6 7 -7 10 -15 7 -18z m118 -2 c-2 -9 -9
+-19 -17 -21 -9 -2 -10 -1 -3 5 6 4 10 16 8 26 -1 9 1 15 6 12 5 -3 7 -13 6
+-22z m-2062 0 c4 -10 1 -11 -13 -4 -10 6 -22 7 -26 3 -5 -4 -5 -2 -2 4 9 15
+35 13 41 -3z m143 10 c-4 -3 -3 -11 3 -17 6 -8 3 -12 -9 -12 -12 0 -17 6 -13
+18 2 10 9 18 15 18 6 0 7 -3 4 -7z m1483 1 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9
+8 0 15 -2 15 -3z m84 -2 c2 -4 -4 -8 -14 -8 -10 0 -16 4 -14 8 3 4 9 8 14 8 5
+0 11 -4 14 -8z m210 -9 c4 -10 1 -11 -12 -5 -9 5 -23 7 -29 5 -7 -3 -13 -1
+-13 4 0 14 49 10 54 -4z m300 9 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9
+8 2 0 6 -4 9 -8z m-198 -17 c-1 -8 -6 -18 -11 -22 -4 -4 -5 -2 -1 5 4 7 2 12
+-6 12 -9 0 -9 3 2 10 19 12 19 13 16 -5z m-1953 -12 c-3 -7 -6 -13 -8 -13 -2
+0 -5 6 -8 13 -3 8 1 14 8 14 7 0 11 -6 8 -14z m-28 -2 c3 -5 2 -12 -3 -15 -5
+-3 -9 1 -9 9 0 17 3 19 12 6z m2060 -3 c-25 -15 -68 -23 -45 -9 8 5 17 8 21 5
+4 -2 10 0 14 6 3 5 12 10 18 10 7 0 3 -6 -8 -12z m142 -7 c-1 -12 -6 -17 -16
+-13 -8 3 -12 1 -8 -5 3 -5 0 -10 -7 -10 -11 0 -12 4 -3 18 6 10 15 15 19 13 4
+-3 8 0 8 5 0 6 2 11 4 11 3 0 4 -9 3 -19z m-2240 -13 c-3 -8 -6 -5 -6 6 -1 11
+2 17 5 13 3 -3 4 -12 1 -19z m118 4 c-3 -3 -11 0 -18 7 -9 10 -8 11 6 5 10 -3
+15 -9 12 -12z m1705 12 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z
+m73 -17 c3 -8 -1 -14 -8 -14 -7 0 -11 6 -8 14 3 7 6 13 8 13 2 0 5 -6 8 -13z
+m-1722 -19 c6 -13 8 -20 4 -16 -5 4 -13 3 -20 -2 -8 -7 -12 -5 -12 5 0 8 5 11
+10 8 6 -4 8 0 4 10 -9 25 0 21 14 -5z m1652 2 c-3 -12 -8 -19 -11 -16 -5 6 5
+36 12 36 2 0 2 -9 -1 -20z m313 -15 c0 -14 -4 -25 -9 -25 -5 0 -7 6 -4 13 2 6
+0 20 -5 29 -6 13 -5 16 5 12 7 -2 13 -16 13 -29z m-2080 11 c13 2 24 0 24 -4
+0 -14 -53 -8 -56 6 -1 7 0 8 2 3 3 -5 16 -7 30 -5z m1917 1 c4 3 7 2 7 -4 0
+-6 -8 -13 -18 -15 -12 -4 -18 1 -18 13 0 12 4 15 12 9 6 -6 14 -7 17 -3z
+m-1993 -3 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m1804 -2 c3 -5
+-1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m253 -14 c-3 -8 -6
+-5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m53 7 c0 -2 -6 -5 -13 -8 -8 -3
+-14 1 -14 8 0 7 6 11 14 8 7 -3 13 -6 13 -8z m167 -17 c1 -28 -7 -33 -11 -6
+-1 7 -5 18 -8 24 -4 6 -2 11 5 11 7 0 13 -13 14 -29z m-360 6 c-3 -3 -12 -4
+-19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m290 0 c-3 -3 -12 -4 -19 -1 -8 3 -5
+6 6 6 11 1 17 -2 13 -5z m-2074 -12 c4 9 6 9 6 1 2 -20 -16 -24 -30 -5 -13 15
+-12 16 3 4 13 -10 17 -10 21 0z m1547 4 c0 -2 -8 -10 -17 -17 -16 -13 -17 -12
+-4 4 13 16 21 21 21 13z m76 -22 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0
+13 4 10 3 -4 7 -14 8 -22z m-1706 1 c11 -13 10 -14 -5 -9 -11 5 -16 4 -12 -3
+3 -5 0 -10 -8 -10 -10 0 -12 4 -5 12 5 7 7 15 3 18 -3 4 -2 7 4 7 6 0 16 -7
+23 -15z m120 0 c11 -13 10 -14 -5 -9 -11 5 -16 4 -12 -3 3 -5 0 -10 -7 -10
+-11 0 -12 4 -3 19 14 22 12 21 27 3z m1467 0 c0 -8 -4 -12 -9 -9 -5 3 -6 10
+-3 15 9 13 12 11 12 -6z m342 -8 c0 -9 -2 -8 -6 1 -2 6 -10 9 -15 6 -7 -4 -8
+-2 -4 5 9 13 26 5 25 -12z m115 15 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8
+9 8 2 0 6 -4 9 -8z m106 2 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z
+m-347 -45 c-8 -8 -13 -7 -18 2 -5 8 -4 10 3 5 7 -4 12 -2 12 5 0 7 3 9 7 6 4
+-4 2 -12 -4 -18z m70 6 c9 2 17 -1 17 -7 0 -5 -6 -8 -12 -5 -7 2 -20 1 -28 -4
+-11 -5 -16 -2 -16 11 0 12 4 16 11 11 5 -5 18 -7 28 -6z m117 0 c0 -1 -8 -5
+-18 -7 -11 -3 -19 0 -19 7 0 7 8 10 19 7 10 -2 18 -6 18 -7z m58 3 c-5 -14
+-36 -20 -43 -8 -3 5 4 7 15 5 11 -2 20 0 20 6 0 5 3 9 6 9 3 0 4 -5 2 -12z
+m-1978 -4 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m1991 -17 c-10
+-9 -11 -8 -5 6 3 10 9 15 12 12 3 -3 0 -11 -7 -18z m131 5 c4 -12 -1 -18 -13
+-18 -12 0 -15 4 -9 12 6 6 7 14 3 17 -3 4 -2 7 4 7 6 0 13 -8 15 -18z m-2246
+-27 c1 -8 -2 -15 -6 -15 -5 0 -8 9 -7 20 1 21 10 18 13 -5z m128 11 c-3 -9
+-12 -12 -22 -9 -15 6 -9 11 25 22 1 1 0 -5 -3 -13z m1921 5 c-9 -8 -36 -10
+-30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m114 -13 c-8 -15 -13 -17 -25 -7 -8 6
+-14 14 -14 16 0 3 8 -1 17 -8 14 -12 16 -12 11 2 -4 9 -1 16 7 16 11 0 11 -5
+4 -19z m-2081 -13 c3 -3 -4 -4 -16 -2 -12 2 -24 6 -28 10 -4 3 4 4 16 2 12 -2
+25 -7 28 -10z m1887 5 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10 19 12 23 12 15
+0z m35 0 c0 -5 -2 -10 -4 -10 -3 0 -8 5 -11 10 -3 6 -1 10 4 10 6 0 11 -4 11
+-10z m-1880 -16 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m1476
+-22 c1 -18 1 -18 -3 -2 -4 18 -14 20 -119 23 l-114 3 117 -1 c115 0 118 -1
+119 -23z m-1658 -7 c-3 -3 -9 2 -12 12 -6 14 -5 15 5 6 7 -7 10 -15 7 -18z
+m38 5 c0 -12 -4 -16 -9 -11 -5 5 -6 14 -3 20 10 15 12 14 12 -9z m64 -5 c0 -2
+-9 -3 -19 -2 -11 0 -18 5 -15 9 4 6 34 0 34 -7z m70 0 c0 -2 -6 -5 -13 -8 -8
+-3 -14 1 -14 8 0 7 6 11 14 8 7 -3 13 -6 13 -8z m66 -3 c1 -7 0 -8 -2 -3 -3 5
+-16 7 -30 5 -13 -2 -24 0 -24 4 0 14 53 8 56 -6z m-699 -7 c0 -8 -4 -12 -9 -9
+-5 3 -6 10 -3 15 9 13 12 11 12 -6z m-141 -10 c-1 -8 -5 -17 -8 -21 -5 -4 -4
+16 1 34 3 9 9 -1 7 -13z m699 -4 c3 -5 0 -13 -6 -17 -7 -4 -9 -3 -5 4 3 5 0
+13 -6 15 -9 4 -10 6 -1 6 6 1 14 -3 18 -8z m-659 -16 c-1 -8 -5 -17 -8 -21 -5
+-4 -4 16 1 34 3 9 9 -1 7 -13z m799 6 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8
+0 13 -3 10 -6z m1422 -28 c-3 -10 -5 -4 -5 12 0 17 2 24 5 18 2 -7 2 -21 0
+-30z m-1597 1 c-6 -6 -8 -13 -5 -16 3 -2 -1 -5 -8 -5 -7 0 -13 8 -13 17 0 8 8
+16 18 16 11 0 14 -4 8 -12z m82 -22 c4 -12 -1 -18 -13 -18 -12 0 -15 4 -9 12
+6 6 7 14 3 17 -3 4 -2 7 4 7 6 0 13 -8 15 -18z m-788 -10 c3 -5 -1 -9 -9 -9
+-8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m82 -7 c-1 -8 -5 -17 -8 -21 -5
+-4 -4 16 1 34 3 9 9 -1 7 -13z m79 6 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0
+13 -3 10 -6z m698 -8 c-3 -7 -6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14 8 14 7
+0 11 -6 8 -14z m1444 -35 c-2 -13 -4 -5 -4 17 -1 22 1 32 4 23 2 -10 2 -28 0
+-40z m-1420 27 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m-137
+-1 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m65 -4 c-3 -5 -12 -10
+-18 -10 -7 0 -6 4 3 10 19 12 23 12 15 0z m-795 -16 c0 -8 -19 -13 -24 -6 -3
+5 1 9 9 9 8 0 15 -2 15 -3z m733 -11 c-4 -10 -2 -14 4 -10 5 3 10 0 10 -8 0
+-10 -4 -12 -12 -5 -7 5 -16 6 -20 2 -5 -4 -5 -1 -1 6 4 7 2 12 -6 13 -10 0 7
+11 29 18 1 1 -1 -6 -4 -16z m135 -5 c-5 -14 -58 -19 -58 -6 0 4 11 6 25 4 14
+-3 25 0 25 5 0 5 3 9 6 9 3 0 4 -5 2 -12z m-802 -24 c1 -9 0 -13 -4 -10 -3 4
+-7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m40 11 c-1 -8 -5 -17 -8 -21 -5
+-4 -4 16 1 34 3 9 9 -1 7 -13z m697 -30 c-7 -21 -12 -19 -10 4 0 11 5 18 9 15
+4 -3 5 -11 1 -19z m1479 -7 c-8 -8 -9 -4 -5 13 4 13 8 18 11 10 2 -7 -1 -18
+-6 -23z m-1505 0 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m-151
+-10 c4 -7 3 -8 -5 -4 -6 4 -20 2 -29 -6 -15 -12 -16 -11 -3 5 16 20 27 22 37
+5z m-56 -13 c0 -1 -6 -7 -13 -13 -10 -8 -13 -6 -13 7 0 11 6 17 13 14 7 -3 13
+-6 13 -8z m-107 -10 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z
+m235 2 c6 3 12 0 12 -5 0 -6 -8 -9 -17 -7 -10 1 -23 -1 -28 -6 -7 -5 -11 -1
+-11 11 0 13 5 16 16 11 8 -5 21 -6 28 -4z m49 -1 c0 -8 -6 -12 -15 -9 -11 5
+-11 7 0 14 7 5 13 9 14 9 0 0 1 -6 1 -14z m30 -8 c-3 -8 -6 -5 -6 6 -1 11 2
+17 5 13 3 -3 4 -12 1 -19z m89 3 c0 -14 -4 -17 -12 -11 -6 6 -14 7 -17 3 -4
+-3 -7 -1 -7 5 0 6 8 13 18 15 9 3 17 5 17 6 1 0 1 -8 1 -18z m-340 -25 c0 -19
+-3 -33 -7 -31 -7 5 -4 65 4 65 1 0 3 -15 3 -34z m-740 2 c4 -7 4 -10 -1 -6 -4
+4 -15 2 -24 -5 -14 -11 -14 -10 -2 6 16 20 18 21 27 5z m135 -5 c12 -16 12
+-17 -2 -6 -9 7 -20 9 -24 5 -5 -4 -5 -1 -1 6 9 16 11 15 27 -5z m652 0 c-4
+-10 -2 -14 4 -10 5 3 10 0 10 -8 0 -12 -4 -12 -19 2 -14 13 -16 18 -6 25 18
+11 18 10 11 -9z m71 1 c3 -8 2 -12 -4 -9 -6 3 -10 10 -10 16 0 14 7 11 14 -7z
+m90 8 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m-300
+-18 c3 -8 2 -12 -4 -9 -6 3 -10 10 -10 16 0 14 7 11 14 -7z m29 -4 c3 -11 1
+-18 -4 -14 -5 3 -9 12 -9 20 0 20 7 17 13 -6z m34 -12 c-3 -8 -6 -5 -6 6 -1
+11 2 17 5 13 3 -3 4 -12 1 -19z m273 18 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9
+4 6 10 25 14 25 6z m36 -21 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7
+-13z m-33 -1 c-6 -3 -9 -16 -7 -30 2 -13 0 -24 -4 -24 -5 0 -8 12 -6 28 3 34
+2 32 17 31 9 0 9 -2 0 -5z m-1006 -17 c0 -8 -6 -14 -14 -14 -9 0 -10 4 -2 14
+6 7 12 13 14 13 1 0 2 -6 2 -13z m158 4 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0
+17 3 19 12 6z m681 -8 c-2 -10 2 -22 8 -26 7 -6 6 -7 -4 -4 -14 3 -21 23 -13
+40 7 13 11 8 9 -10z m61 2 c0 -8 -5 -11 -10 -8 -6 4 -8 0 -5 -9 4 -8 0 -15 -7
+-15 -17 0 -15 18 5 34 8 7 15 13 16 13 0 0 1 -7 1 -15z m-182 -25 c2 -12 1
+-20 -2 -16 -4 4 -8 16 -10 28 -2 12 -1 19 2 16 3 -3 8 -16 10 -28z m-659 -2
+c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m59 3
+c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m702 -17 c8 -2 18 -5
+21 -9 4 -3 -7 -4 -23 -1 -16 3 -34 1 -40 -4 -8 -7 -12 -5 -12 5 0 8 5 11 10 8
+7 -4 8 1 3 12 -6 15 -4 16 10 4 9 -7 23 -14 31 -15z m255 7 c-5 -13 -3 -14 9
+-4 12 10 15 8 16 -10 0 -12 -1 -16 -4 -9 -4 10 -8 10 -21 0 -10 -7 -14 -9 -10
+-4 4 5 3 16 -2 26 -6 12 -5 17 5 17 8 0 11 -7 7 -16z m-1077 -10 c3 -5 2 -12
+-3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m685 -16 c14 -19 14 -19 -2 -6 -10 7
+-18 18 -18 24 0 6 1 8 3 6 1 -2 9 -13 17 -24z m295 7 c3 -7 1 -11 -3 -8 -5 3
+-21 7 -36 10 -41 7 -42 14 -2 12 20 0 38 -7 41 -14z m-879 -14 c3 -4 -1 -5
+-10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m78 4 c3 -5 -1 -9
+-9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m708 1 c-10 -4 -10 -8 0
+-21 11 -13 11 -14 0 -8 -7 4 -19 3 -26 -3 -9 -8 -13 -7 -13 4 0 8 5 11 10 8 6
+-4 8 0 5 8 -4 10 1 15 16 16 11 0 15 -1 8 -4z m-127 -12 c3 -5 2 -12 -3 -15
+-5 -3 -9 1 -9 9 0 17 3 19 12 6z m279 -4 c4 4 4 -1 0 -11 -5 -13 -4 -17 4 -12
+8 5 10 1 5 -10 -4 -11 -8 -13 -11 -6 -2 7 -8 10 -13 7 -5 -4 -6 2 -2 11 4 10
+2 15 -4 11 -5 -3 -10 0 -10 8 0 10 4 12 12 5 7 -5 15 -7 19 -3z m-898 -12 c-1
+-8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m579 5 c3 -5 1 -10 -4 -10
+-6 0 -11 5 -11 10 0 6 2 10 4 10 3 0 8 -4 11 -10z m200 1 c3 -5 2 -12 -3 -15
+-5 -3 -9 1 -9 9 0 17 3 19 12 6z m-879 -23 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22
+8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m639 -8 c-4 -6 -1 -18 7 -27 12 -15 11 -15
+-9 -3 -16 11 -19 17 -11 27 13 16 22 17 13 3z m142 -12 c-3 -8 -6 -5 -6 6 -1
+11 2 17 5 13 3 -3 4 -12 1 -19z m-52 2 c-3 -5 -12 -10 -18 -10 -7 0 -6 4 3 10
+19 12 23 12 15 0z m122 -92 c-2 -18 -4 -4 -4 32 0 36 2 50 4 33 2 -18 2 -48 0
+-65z m-87 76 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m56 -23 c0
+-14 -4 -17 -16 -12 -8 5 -21 6 -27 4 -7 -3 -13 0 -13 6 0 5 9 8 20 6 11 -2 22
+0 25 6 9 13 11 11 11 -10z m-299 -6 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13
+12 11 12 -6z m157 7 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4
+9 -8z m76 -7 c0 -2 -6 -5 -13 -8 -8 -3 -14 1 -14 8 0 7 6 11 14 8 7 -3 13 -6
+13 -8z m-117 -10 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z m70
+-19 c6 -15 -17 -16 -30 -1 -4 4 -2 5 5 1 6 -4 12 -2 12 3 0 15 7 14 13 -3z
+m121 -4 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m-199
+-37 c11 0 24 4 28 10 5 6 7 4 5 -5 -6 -19 -55 -21 -71 -2 -10 13 -9 14 3 7 8
+-6 24 -10 35 -10z m88 1 c9 1 15 -1 12 -6 -8 -13 -38 -5 -43 11 -2 9 -1 10 5
+3 4 -6 16 -10 26 -8z m64 -8 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1
+-19z m30 0 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m-47 -14 c0
+-8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m90 -6 c0 -4 -4 -8 -9 -8 -6
+0 -12 4 -15 8 -3 5 1 9 9 9 8 0 15 -4 15 -9z m-233 -23 c0 -8 -4 -12 -9 -9 -4
+3 -8 9 -8 15 0 5 4 9 8 9 5 0 9 -7 9 -15z m63 5 c0 -5 -2 -10 -4 -10 -3 0 -8
+5 -11 10 -3 6 -1 10 4 10 6 0 11 -4 11 -10z m116 3 c-2 -2 -16 -6 -32 -9 -15
+-3 -31 -7 -34 -9 -4 -2 -7 1 -7 8 0 7 16 12 39 13 21 1 37 -1 34 -3z m44 -13
+c-10 -6 -11 -10 -2 -10 6 0 12 -5 12 -12 0 -6 -3 -8 -7 -5 -3 4 -13 1 -22 -6
+-14 -11 -14 -10 -2 6 11 14 11 17 0 17 -11 0 -11 2 1 10 8 5 20 10 25 10 6 0
+3 -5 -5 -10z m-320 -24 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4 6 10 25 14 25
+6z m135 -14 c-3 -3 -11 0 -18 7 -9 10 -8 11 6 5 10 -3 15 -9 12 -12z m66 5
+c-6 -8 -7 -18 -3 -22 4 -5 1 -5 -6 -1 -10 6 -10 11 -1 22 6 8 14 14 16 14 3 0
+0 -6 -6 -13z m129 -17 c0 -5 -5 -10 -11 -10 -5 0 -7 5 -4 10 3 6 8 10 11 10 2
+0 4 -4 4 -10z m-374 -12 c5 4 5 3 1 -2 -12 -15 -34 -15 -34 0 0 9 4 11 12 4 7
+-5 16 -6 21 -2z m119 0 c5 4 5 1 1 -6 -4 -7 -11 -10 -16 -7 -4 3 -10 -1 -13
+-7 -3 -7 -4 -3 -4 9 1 15 5 19 13 13 6 -6 15 -6 19 -2z m-2308 -170 c-2 -35
+-3 -9 -3 57 0 66 1 94 3 63 2 -32 2 -86 0 -120z m2136 157 c-3 -9 -8 -14 -10
+-11 -3 3 -2 9 2 15 9 16 15 13 8 -4z m-1088 -4 c3 -5 2 -12 -3 -15 -5 -3 -9 1
+-9 9 0 17 3 19 12 6z m-219 -13 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5
+10 4 8 -1 18 -5 22 -8z m1484 -3 c-10 -12 -10 -15 0 -15 8 0 11 -3 7 -6 -3 -3
+-11 -3 -17 1 -8 5 -8 11 1 21 6 8 14 14 16 14 3 0 0 -7 -7 -15z m-1444 -10
+c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m240 -11 c1 -9 0 -13
+-4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m1077 12 c9 1 15
+-1 12 -6 -8 -13 -38 -5 -43 11 -2 9 -1 10 5 3 4 -6 16 -10 26 -8z m64 0 c0 -8
+-8 -11 -21 -8 -19 5 -19 6 0 13 10 4 19 8 20 8 0 1 1 -5 1 -13z m-1482 -25
+c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m161 -3 c3 -4 -1 -5
+-10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m59 3 c-9 -8 -36
+-10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m61 -6 c-1 -8 -5 -17 -8 -21 -5 -4
+-4 16 1 34 3 9 9 -1 7 -13z m1190 3 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4
+1 5 10 4 8 -1 18 -5 22 -8z m-98 -22 c-7 -8 -15 -12 -17 -11 -5 6 10 25 20 25
+5 0 4 -6 -3 -14z m152 2 c0 -11 -12 -10 -30 2 -12 7 -10 9 8 7 12 0 22 -5 22
+-9z m-1420 -2 c0 -2 -6 -9 -14 -15 -11 -9 -16 -9 -22 0 -4 7 -3 9 4 5 6 -3 13
+-2 17 4 6 10 15 14 15 6z m1370 -11 c0 -1 -9 -5 -19 -8 -13 -3 -18 -1 -14 9 4
+10 33 10 33 -1z m-1430 -1 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z
+m156 -6 c4 -7 4 -10 -1 -6 -4 4 -15 2 -24 -5 -14 -11 -14 -10 -2 6 16 20 18
+21 27 5z m-240 -23 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z
+m160 -11 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8
+-22z m199 16 c3 -5 1 -10 -4 -10 -6 0 -11 5 -11 10 0 6 2 10 4 10 3 0 8 -4 11
+-10z m41 -16 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14
+8 -22z m1119 17 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m-60
+-20 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m135 4 c0 -1 -8 -10
+-19 -19 -16 -15 -19 -15 -24 -2 -4 11 -1 13 10 9 10 -4 14 -2 10 4 -3 5 0 10
+8 10 8 0 15 -1 15 -2z m-1377 -20 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16
+15 13 8 -4z m1220 -4 c3 -15 1 -18 -11 -14 -9 4 -13 2 -9 -4 3 -5 0 -10 -8
+-10 -10 0 -12 4 -5 12 5 7 6 16 2 20 -4 5 -1 5 6 1 6 -4 12 -2 12 3 0 18 7 13
+13 -8z m-1437 -37 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7
+-14 8 -22z m120 11 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z
+m40 0 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m80 -11 c1 -9 0
+-13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m80 0 c1 -9 0
+-13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m1078 -13 c-2
+-3 -12 3 -22 13 -16 17 -16 18 5 5 12 -7 20 -15 17 -18z m91 11 c-3 -3 -11 0
+-18 7 -9 10 -8 11 6 5 10 -3 15 -9 12 -12z m69 5 c-5 -15 -54 -18 -54 -4 0 5
+6 7 13 4 8 -3 20 -1 28 4 18 12 19 11 13 -4z m23 -17 c-1 -12 -8 -20 -19 -20
+-17 0 -17 1 0 19 22 25 21 25 19 1z m-113 -5 c3 -9 0 -15 -9 -15 -9 0 -12 6
+-9 15 4 8 7 15 9 15 2 0 5 -7 9 -15z m-34 -5 c0 -5 -5 -10 -11 -10 -5 0 -7 5
+-4 10 3 6 8 10 11 10 2 0 4 -4 4 -10z m-33 -6 c-3 -3 -12 -4 -19 -1 -8 3 -5 6
+6 6 11 1 17 -2 13 -5z m116 -1 c-7 -2 -19 -2 -25 0 -7 3 -2 5 12 5 14 0 19 -2
+13 -5z m-2653 -18 c0 -2 -9 -3 -19 -2 -11 0 -18 5 -15 9 4 6 34 0 34 -7z m17
+-7 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m133 18 c0 -2 -8 -10
+-17 -17 -16 -13 -17 -12 -4 4 13 16 21 21 21 13z m257 -168 c-2 -35 -3 -9 -3
+57 0 66 1 94 3 63 2 -32 2 -86 0 -120z m-330 107 c0 -6 -6 -12 -13 -12 -7 0
+-10 7 -6 15 3 9 1 13 -5 9 -5 -3 -10 0 -10 7 0 11 5 11 17 4 9 -6 17 -16 17
+-23z m38 26 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m1545 -5 c0
+-3 -4 -8 -10 -11 -5 -3 -10 -1 -10 4 0 6 5 11 10 11 6 0 10 -2 10 -4z m75 -25
+c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m49 1 c3 -5 -1 -9 -9
+-9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m-1803 -44 c-10 -11 -11 -9 -5
+6 5 12 4 17 -3 13 -5 -3 -10 1 -10 9 0 13 2 13 16 0 12 -13 13 -18 2 -28z m49
+22 c-18 -12 -30 -13 -30 -2 0 4 10 9 22 9 18 2 20 0 8 -7z m130 6 c0 -3 -4 -8
+-10 -11 -5 -3 -10 -1 -10 4 0 6 5 11 10 11 6 0 10 -2 10 -4z m1456 -22 c1 -9
+0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m-1534 -1
+c-10 -4 -10 -8 0 -21 11 -13 11 -14 0 -8 -7 4 -19 3 -26 -3 -9 -8 -13 -7 -13
+4 0 8 5 11 10 8 6 -4 8 0 5 8 -4 10 1 15 16 16 11 0 15 -1 8 -4z m1634 -5 c3
+-4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m-100 -54
+c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m-1659
+1 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m60 -7 c-3 -8 -6 -5
+-6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m133 7 c0 -2 -6 -5 -13 -8 -8 -3 -14
+1 -14 8 0 7 6 11 14 8 7 -3 13 -6 13 -8z m1610 -9 c0 -2 -6 -9 -14 -15 -11 -9
+-16 -9 -22 0 -4 7 -3 9 4 5 6 -3 13 -2 17 4 6 10 15 14 15 6z m-1600 -10 c0
+-2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4 6 10 25 14 25 6z m1510 -2 c0 -8 -19 -13
+-24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m-1679 -31 c12 -16 12 -17 -2 -6 -9 7
+-20 9 -24 5 -5 -4 -5 -1 -1 6 9 16 11 15 27 -5z m65 -2 c1 -6 0 -7 -3 -1 -2 5
+-9 8 -13 5 -5 -3 -11 -1 -14 4 -4 5 2 8 11 7 9 -2 18 -8 19 -15z m61 4 c0 -8
+-4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m1690 -187 c-2 -35 -3 -9 -3
+57 0 66 1 94 3 63 2 -32 2 -86 0 -120z m-1380 -294 c-3 -3 -12 -4 -19 -1 -8 3
+-5 6 6 6 11 1 17 -2 13 -5z m61 -1 c-10 -2 -26 -2 -35 0 -10 3 -2 5 17 5 19 0
+27 -2 18 -5z m115 0 c-13 -2 -33 -2 -45 0 -13 2 -3 4 22 4 25 0 35 -2 23 -4z
+m1532 -12 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m89 1 c3 -5 -1
+-9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m-34 -38 c0 -8 -19 -13
+-24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m-55 -43 c-9 -8 -36 -10 -30 -2 2 4 11
+8 20 8 8 0 13 -3 10 -6z m121 -3 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1
+5 10 4 8 -1 18 -5 22 -8z m-80 -40 c4 -7 4 -10 -1 -6 -4 4 -15 2 -24 -5 -14
+-11 -14 -10 -2 6 16 20 18 21 27 5z m60 0 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22
+8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m-140 -34 c1 -9 0 -13 -4 -10 -3 4 -7 14
+-8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m60 -19 c-1 -8 -5 -17 -8 -21 -5 -4
+-4 16 1 34 3 9 9 -1 7 -13z m-60 -30 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3
+9 9 -1 7 -13z m120 -11 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3
+-4 7 -14 8 -22z m38 18 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6
+-4 9 -8z m-2006 -19 c-10 -2 -28 -2 -40 0 -13 2 -5 4 17 4 22 1 32 -1 23 -4z
+m65 0 c-7 -2 -21 -2 -30 0 -10 3 -4 5 12 5 17 0 24 -2 18 -5z m92 -231 l1
+-232 -3 229 c-3 228 -3 230 -26 234 -19 5 -19 5 3 4 l25 -2 0 -233z m1755 224
+c0 -2 -6 -9 -14 -15 -11 -9 -16 -9 -22 0 -4 7 -3 9 4 5 6 -3 13 -2 17 4 6 10
+15 14 15 6z m697 -11 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z
+m-1506 -18 c-10 -9 -11 -8 -5 6 3 10 9 15 12 12 3 -3 0 -11 -7 -18z m96 8 c5
+-4 2 -5 -6 0 -11 6 -13 4 -7 -11 4 -10 4 -15 0 -11 -4 4 -12 2 -19 -3 -8 -7
+-12 -5 -12 5 0 8 5 11 10 8 6 -4 8 0 4 9 -6 17 16 19 30 3z m200 9 c-3 -3 -12
+-4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m38 -4 c3 -6 -1 -7 -9 -4 -18 7
+-21 14 -7 14 6 0 13 -4 16 -10z m77 -8 c-3 -9 -1 -13 5 -9 5 3 10 0 10 -8 0
+-17 -14 -10 -26 14 -7 13 -6 18 4 18 7 0 11 -7 7 -15z m573 9 c3 -5 2 -12 -3
+-15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m122 -6 c0 -8 -4 -12 -9 -9 -5 3 -6 10
+-3 15 9 13 12 11 12 -6z m493 9 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2
+15 -3z m160 0 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m-1873 -19
+c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m359 0 c-1 -8 -5 -17
+-8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m641 0 c0 -8 -4 -12 -9 -9 -5 3 -6
+10 -3 15 9 13 12 11 12 -6z m-1077 -4 c0 -6 -4 -12 -8 -15 -5 -3 -9 1 -9 9 0
+8 4 15 9 15 4 0 8 -4 8 -9z m137 -13 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3
+4 -12 1 -19z m183 18 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4 6 10 25 14 25 6z
+m240 -6 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10
+-10z m1176 -16 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7
+-14 8 -22z m160 0 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7
+-14 8 -22z m120 11 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z
+m-1661 -5 c-3 -5 0 -10 7 -11 10 0 10 -2 0 -6 -6 -2 -9 -10 -6 -15 4 -6 2 -8
+-4 -5 -5 4 -9 15 -7 25 5 23 4 22 11 22 3 0 2 -4 -1 -10z m1262 -5 c0 -8 -4
+-12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m-1293 -3 c-6 -4 -10 -15 -8
+-25 1 -9 -1 -15 -6 -12 -7 4 -7 22 -1 43 1 1 7 2 14 2 8 0 9 -3 1 -8z m271
+-10 c-3 -3 -11 0 -18 7 -9 10 -8 11 6 5 10 -3 15 -9 12 -12z m380 9 c-9 -8
+-36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m61 -3 c3 -4 -1 -5 -10 -4 -8
+1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m100 -14 c1 -9 0 -13 -4 -10
+-3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m700 14 c3 -4 -1 -5 -10
+-4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m-1639 -33 c0 -6 -6 -12
+-13 -12 -7 0 -10 7 -6 15 3 9 1 13 -5 9 -5 -3 -10 0 -10 7 0 11 5 11 17 4 9
+-6 17 -16 17 -23z m38 26 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z
+m245 -14 c0 -6 -3 -7 -7 -4 -3 4 -11 3 -17 -3 -8 -6 -12 -3 -12 9 0 12 6 17
+18 13 10 -2 18 -9 18 -15z m-480 7 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15
+-2 15 -3z m31 -17 c-10 -9 -11 -8 -5 6 3 10 9 15 12 12 3 -3 0 -11 -7 -18z
+m559 8 c0 -2 -6 -5 -13 -8 -8 -3 -14 1 -14 8 0 7 6 11 14 8 7 -3 13 -6 13 -8z
+m485 6 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m-1112 -28 c-3 -7
+-6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14 8 14 7 0 11 -6 8 -14z m120 0 c-3 -7
+-6 -13 -8 -13 -2 0 -5 6 -8 13 -3 8 1 14 8 14 7 0 11 -6 8 -14z m310 4 c-4 -6
+0 -8 8 -5 10 4 15 -1 17 -15 1 -17 -1 -19 -8 -7 -9 14 -14 7 -11 -13 1 -5 -3
+-6 -9 -2 -6 3 -8 11 -4 16 3 5 1 16 -5 23 -8 9 -7 13 4 13 8 0 11 -5 8 -10z
+m823 1 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z
+m59 3 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m380 0 c-9 -8
+-36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m49 1 c3 -5 -1 -9 -9 -9 -8 0
+-12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m32 -18 c1 -9 0 -13 -4 -10 -3 4 -7 14
+-8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m159 17 c3 -5 2 -12 -3 -15 -5 -3 -9
+1 -9 9 0 17 3 19 12 6z m121 -6 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9
+-1 7 -13z m-1961 -4 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m241
+-10 c0 -16 -4 -17 -18 -10 -10 5 -18 12 -18 15 0 3 4 3 9 -1 5 -3 12 -1 16 5
+9 14 11 13 11 -9z m317 6 c4 3 7 1 7 -5 0 -17 -16 -15 -31 6 -12 15 -12 16 2
+5 9 -7 19 -10 22 -6z m-581 -15 c3 -11 0 -19 -7 -19 -7 0 -10 8 -7 19 2 10 6
+18 7 18 1 0 5 -8 7 -18z m133 8 c3 -6 -1 -7 -9 -4 -18 7 -21 14 -7 14 6 0 13
+-4 16 -10z m369 -2 c-3 -5 -10 -5 -16 -2 -7 5 -9 2 -6 -8 4 -8 0 -15 -7 -15
+-10 0 -11 5 -5 17 5 9 16 17 24 17 8 0 13 -4 10 -9z m790 4 c3 -5 -1 -9 -9 -9
+-8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m-109 -11 c3 -5 2 -12 -3 -15 -5
+-3 -9 1 -9 9 0 17 3 19 12 6z m-1255 -10 c0 -6 -4 -12 -8 -15 -5 -3 -9 1 -9 9
+0 8 4 15 9 15 4 0 8 -4 8 -9z m116 -15 c-2 -14 0 -27 5 -30 5 -2 4 -3 -3 -2
+-14 3 -20 56 -6 56 4 0 6 -11 4 -24z m79 -9 c1 -15 -2 -27 -7 -27 -4 0 -6 11
+-4 24 2 14 0 27 -5 30 -5 2 -4 3 3 2 7 -1 13 -14 13 -29z m125 18 c0 -1 -8 -9
+-18 -18 -15 -14 -19 -15 -19 -2 0 8 5 11 10 8 6 -4 8 0 4 10 -4 11 -2 14 9 10
+7 -3 14 -6 14 -8z m276 -9 c-2 -14 0 -27 5 -30 5 -2 4 -3 -3 -2 -14 3 -20 56
+-6 56 4 0 6 -11 4 -24z m459 15 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13
+-3 10 -6z m65 4 c0 -7 -30 -13 -34 -7 -3 4 4 9 15 9 10 1 19 0 19 -2z m596 -7
+c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m-1316
+-14 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m1355 -3 c3 -5 2 -12
+-3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m61 -17 c1 -9 0 -13 -4 -10 -3 4 -7
+14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m200 11 c-1 -8 -5 -17 -8 -21 -5
+-4 -4 16 1 34 3 9 9 -1 7 -13z m-1382 -17 c-5 -8 -1 -9 12 -5 18 7 18 6 2 -6
+-10 -8 -16 -17 -13 -20 3 -4 2 -5 -2 -2 -10 8 -12 55 -1 49 4 -3 5 -10 2 -16z
+m-594 -3 c-5 -7 -6 -15 -2 -20 4 -4 -3 -2 -15 4 -27 14 -31 23 -6 14 10 -4 14
+-2 10 4 -3 5 0 10 8 10 10 0 12 -4 5 -12z m361 -4 c-6 -10 -7 -22 -3 -26 4 -5
+1 -5 -6 -1 -7 4 -10 12 -7 17 4 5 0 9 -7 10 -10 0 12 14 30 18 1 1 -2 -7 -7
+-18z m119 4 c-5 -7 -6 -15 -2 -20 4 -4 -3 -2 -15 4 -27 14 -31 23 -6 14 10 -4
+14 -2 10 4 -3 5 0 10 8 10 10 0 12 -4 5 -12z m475 6 c-9 -8 -36 -10 -30 -2 2
+4 11 8 20 8 8 0 13 -3 10 -6z m180 0 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0
+13 -3 10 -6z m81 -6 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z
+m79 6 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m522 2 c-4 -3 -1
+-13 6 -22 11 -14 10 -14 -5 -2 -16 12 -16 31 -1 31 4 0 3 -3 0 -7z m117 -2 c3
+-5 -2 -15 -12 -22 -15 -12 -16 -12 -5 2 7 9 10 19 6 22 -3 4 -4 7 0 7 3 0 8
+-4 11 -9z m-1726 -15 c-10 -7 -15 -16 -11 -19 3 -4 4 -7 1 -7 -3 0 -12 8 -19
+17 -8 9 -9 14 -4 11 6 -4 17 -3 25 3 22 13 27 10 8 -5z m-142 -8 c3 -4 -1 -5
+-10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m238 4 c3 -5 -1 -9
+-9 -9 -8 0 -15 4 -15 9 0 4 4 8 9 8 6 0 12 -4 15 -8z m242 -4 c3 -4 -1 -5 -10
+-4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m1334 -2 c-7 -7 -13 -7
+-20 0 -6 6 -3 10 10 10 13 0 16 -4 10 -10z m-1930 -16 c-8 -5 -67 -9 -130 -8
+l-115 2 120 6 c66 3 125 7 130 8 6 1 3 -3 -5 -8z m1200 4 c0 -8 -19 -13 -24
+-6 -3 5 1 9 9 9 8 0 15 -2 15 -3z m506 -6 c4 -7 4 -10 -1 -6 -4 4 -15 2 -24
+-5 -14 -11 -14 -10 -2 6 16 20 18 21 27 5z m54 6 c0 -8 -19 -13 -24 -6 -3 5 1
+9 9 9 8 0 15 -2 15 -3z m66 -9 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9
+-1 7 -13z m200 -11 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4
+7 -14 8 -22z m-389 -2 c-10 -10 -14 -22 -10 -27 5 -4 2 -5 -5 -1 -11 6 -10 12
+4 27 9 10 19 19 22 19 3 0 -2 -8 -11 -18z m-371 -18 c1 -9 0 -13 -4 -10 -3 4
+-7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m40 11 c-1 -8 -5 -17 -8 -21 -5
+-4 -4 16 1 34 3 9 9 -1 7 -13z m80 -11 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22
+-1 9 0 13 4 10 3 -4 7 -14 8 -22z m79 7 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0
+17 3 19 12 6z m80 0 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m360
+-10 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m61 -3 c3 -4 -1 -5
+-10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m-276 -2 c0 -2 -8
+-10 -17 -17 -16 -13 -17 -12 -4 4 13 16 21 21 21 13z m96 -21 c-1 -8 -5 -17
+-8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m239 -4 c3 -5 2 -12 -3 -15 -5 -3 -9
+1 -9 9 0 17 3 19 12 6z m-639 -27 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0
+13 4 10 3 -4 7 -14 8 -22z m200 11 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9
+9 -1 7 -13z m40 -11 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4
+7 -14 8 -22z m259 17 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z
+m61 -26 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m-722 -13 c3
+-5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m80 -1 c-9 -9 -34
+-9 -34 -1 0 5 9 8 20 7 10 -1 17 -3 14 -6z m166 3 c0 -8 -19 -13 -24 -6 -3 5
+1 9 9 9 8 0 15 -2 15 -3z m44 -2 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9
+8 2 0 6 -4 9 -8z m196 2 c0 -8 -19 -13 -24 -6 -3 5 1 9 9 9 8 0 15 -2 15 -3z
+m44 -2 c3 -5 -1 -9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m32 -18
+c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m120 0
+c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m121
+11 c0 -8 -4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m-601 -31 c1 -9 0
+-13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m161 1 c0 -8
+-4 -12 -9 -9 -5 3 -6 10 -3 15 9 13 12 11 12 -6z m79 -7 c3 -4 -1 -5 -10 -4
+-8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m320 -14 c1 -9 0 -13 -4
+-10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m-160 -20 c1 -9 0 -13
+-4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m40 0 c1 -9 0 -13
+-4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8 -22z m-682 -2 c3 -5 -1
+-9 -9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m61 -1 c-9 -8 -36 -10
+-30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m100 0 c-9 -8 -36 -10 -30 -2 2 4 11 8
+20 8 8 0 13 -3 10 -6z m81 -17 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13
+4 10 3 -4 7 -14 8 -22z m79 17 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3
+10 -6z m81 -17 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7
+-14 8 -22z m139 17 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z
+m341 -3 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z
+m-520 -34 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8
+-22z m-2244 -161 c2 -44 0 -79 -4 -76 -5 2 -7 55 -6 116 1 116 6 101 10 -40z
+m2164 121 c1 -9 0 -13 -4 -10 -3 4 -7 14 -8 22 -1 9 0 13 4 10 3 -4 7 -14 8
+-22z m280 11 c-1 -8 -5 -17 -8 -21 -5 -4 -4 16 1 34 3 9 9 -1 7 -13z m-201
+-14 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z m101 -3 c3 -4 -1 -5
+-10 -4 -8 1 -18 5 -22 8 -3 4 1 5 10 4 8 -1 18 -5 22 -8z m138 4 c3 -5 -1 -9
+-9 -9 -8 0 -12 4 -9 9 3 4 7 8 9 8 2 0 6 -4 9 -8z m56 2 c0 -8 -19 -13 -24 -6
+-3 5 1 9 9 9 8 0 15 -2 15 -3z m-396 -30 c3 -8 2 -12 -4 -9 -6 3 -10 10 -10
+16 0 14 7 11 14 -7z m202 -16 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8 -3 4 1 5
+10 4 8 -1 18 -5 22 -8z m-181 -30 c5 4 5 1 1 -6 -6 -10 -11 -10 -22 -1 -8 6
+-14 14 -14 16 0 3 6 0 13 -6 8 -6 18 -7 22 -3z m60 -7 c-9 -8 -36 -10 -30 -2
+2 4 11 8 20 8 8 0 13 -3 10 -6z m61 -3 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8
+-3 4 1 5 10 4 8 -1 18 -5 22 -8z m120 0 c3 -4 -1 -5 -10 -4 -8 1 -18 5 -22 8
+-3 4 1 5 10 4 8 -1 18 -5 22 -8z m59 3 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8
+0 13 -3 10 -6z m-140 -30 c3 -5 2 -12 -3 -15 -5 -3 -9 1 -9 9 0 17 3 19 12 6z
+m-140 -10 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m300 0 c-9
+-8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z m65 -6 c0 -2 -9 -3 -19 -2
+-11 0 -18 5 -15 9 4 6 34 0 34 -7z m-304 -20 c-1 -8 -5 -17 -8 -21 -5 -4 -4
+16 1 34 3 9 9 -1 7 -13z m81 -27 c2 -17 0 -19 -7 -8 -5 8 -6 18 -4 22 8 12 10
+10 11 -14z m98 13 c-9 -8 -36 -10 -30 -2 2 4 11 8 20 8 8 0 13 -3 10 -6z
+m-775 -35 c0 -2 -7 -7 -16 -10 -8 -3 -12 -2 -9 4 6 10 25 14 25 6z m-23 -158
+c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z"/>
+</g>
+</svg>
diff --git a/uikit/static/img/author.svg b/uikit/static/img/author.svg
new file mode 100644
index 0000000..de67ca0
--- /dev/null
+++ b/uikit/static/img/author.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="120px" height="120px" viewBox="0 0 120 120" enable-background="new 0 0 120 120" xml:space="preserve">
+<rect fill="#FFFFFF" width="120" height="120"/>
+<g>
+ <path fill="#E0E0E0" d="M109.354,99.478c-0.502-2.806-1.138-5.404-1.903-7.801c-0.767-2.397-1.797-4.732-3.093-7.011
+ c-1.294-2.276-2.778-4.217-4.455-5.823c-1.681-1.604-3.729-2.887-6.148-3.846c-2.421-0.958-5.094-1.438-8.017-1.438
+ c-0.431,0-1.437,0.516-3.02,1.545c-1.581,1.032-3.367,2.182-5.355,3.45c-1.99,1.271-4.578,2.421-7.765,3.451
+ C66.41,83.037,63.21,83.552,60,83.552c-3.211,0-6.41-0.515-9.598-1.546c-3.188-1.03-5.777-2.181-7.765-3.451
+ c-1.991-1.269-3.774-2.418-5.355-3.45c-1.582-1.029-2.588-1.545-3.02-1.545c-2.926,0-5.598,0.479-8.017,1.438
+ c-2.42,0.959-4.471,2.241-6.146,3.846c-1.681,1.606-3.164,3.547-4.458,5.823c-1.294,2.278-2.326,4.613-3.092,7.011
+ c-0.767,2.396-1.402,4.995-1.906,7.801c-0.502,2.803-0.839,5.415-1.006,7.835c-0.168,2.421-0.252,4.902-0.252,7.44
+ c0,1.884,0.207,3.624,0.582,5.247h100.063c0.375-1.623,0.582-3.363,0.582-5.247c0-2.538-0.084-5.02-0.253-7.44
+ C110.192,104.893,109.857,102.28,109.354,99.478z"/>
+ <path fill="#E0E0E0" d="M60,78.16c7.62,0,14.126-2.696,19.52-8.088c5.392-5.393,8.088-11.898,8.088-19.519
+ s-2.696-14.126-8.088-19.519C74.126,25.643,67.62,22.946,60,22.946s-14.128,2.697-19.519,8.089
+ c-5.394,5.392-8.089,11.897-8.089,19.519s2.695,14.126,8.089,19.519C45.872,75.464,52.38,78.16,60,78.16z"/>
+</g>
+</svg>
diff --git a/uikit/static/img/yoshi.png b/uikit/static/img/yoshi.png
new file mode 100644
index 0000000..0355365
--- /dev/null
+++ b/uikit/static/img/yoshi.png
Binary files differ
diff --git a/uikit/static/img/yoshi.png.bak b/uikit/static/img/yoshi.png.bak
new file mode 100644
index 0000000..4bd14ae
--- /dev/null
+++ b/uikit/static/img/yoshi.png.bak
Binary files differ
diff --git a/uikit/static/js/components/accordion.js b/uikit/static/js/components/accordion.js
new file mode 100644
index 0000000..d8a62c6
--- /dev/null
+++ b/uikit/static/js/components/accordion.js
@@ -0,0 +1,172 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-accordion", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+})(function(UI){
+
+ "use strict";
+
+ UI.component('accordion', {
+
+ defaults: {
+ showfirst : true,
+ collapse : true,
+ animate : true,
+ easing : 'swing',
+ duration : 300,
+ toggle : '.uk-accordion-title',
+ containers : '.uk-accordion-content',
+ clsactive : 'uk-active'
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ setTimeout(function(){
+
+ UI.$("[data-uk-accordion]", context).each(function(){
+
+ var ele = UI.$(this);
+
+ if(!ele.data("accordion")) {
+ UI.accordion(ele, UI.Utils.options(ele.attr('data-uk-accordion')));
+ }
+ });
+
+ }, 0);
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.element.on('click.uikit.accordion', this.options.toggle, function(e) {
+
+ e.preventDefault();
+
+ $this.toggleItem(UI.$(this).data('wrapper'), $this.options.animate, $this.options.collapse);
+ });
+
+ this.update();
+
+ if (this.options.showfirst) {
+ this.toggleItem(this.toggle.eq(0).data('wrapper'), false, false);
+ }
+ },
+
+ toggleItem: function(wrapper, animated, collapse) {
+
+ var $this = this;
+
+ wrapper.data('toggle').toggleClass(this.options.clsactive);
+
+ var active = wrapper.data('toggle').hasClass(this.options.clsactive);
+
+ if (collapse) {
+ this.toggle.not(wrapper.data('toggle')).removeClass(this.options.clsactive);
+ this.content.not(wrapper.data('content')).parent().stop().css('overflow', 'hidden').animate({ height: 0 }, {easing: this.options.easing, duration: animated ? this.options.duration : 0}).attr('aria-expanded', 'false');
+ }
+
+ wrapper.stop().css('overflow', 'hidden');
+
+ if (animated) {
+
+ wrapper.animate({ height: active ? getHeight(wrapper.data('content')) : 0 }, {easing: this.options.easing, duration: this.options.duration, complete: function() {
+
+ if (active) {
+ wrapper.css({'overflow': '', 'height': 'auto'});
+ UI.Utils.checkDisplay(wrapper.data('content'));
+ }
+
+ $this.trigger('display.uk.check');
+ }});
+
+ } else {
+
+ wrapper.height(active ? 'auto' : 0);
+
+ if (active) {
+ wrapper.css({'overflow': ''});
+ UI.Utils.checkDisplay(wrapper.data('content'));
+ }
+
+ this.trigger('display.uk.check');
+ }
+
+ // Update ARIA
+ wrapper.attr('aria-expanded', active);
+
+ this.element.trigger('toggle.uk.accordion', [active, wrapper.data('toggle'), wrapper.data('content')]);
+ },
+
+ update: function() {
+
+ var $this = this, $content, $wrapper, $toggle;
+
+ this.toggle = this.find(this.options.toggle);
+ this.content = this.find(this.options.containers);
+
+ this.content.each(function(index) {
+
+ $content = UI.$(this);
+
+ if ($content.parent().data('wrapper')) {
+ $wrapper = $content.parent();
+ } else {
+ $wrapper = UI.$(this).wrap('<div data-wrapper="true" style="overflow:hidden;height:0;position:relative;"></div>').parent();
+
+ // Init ARIA
+ $wrapper.attr('aria-expanded', 'false');
+ }
+
+ $toggle = $this.toggle.eq(index);
+
+ $wrapper.data('toggle', $toggle);
+ $wrapper.data('content', $content);
+ $toggle.data('wrapper', $wrapper);
+ $content.data('wrapper', $wrapper);
+ });
+
+ this.element.trigger('update.uk.accordion', [this]);
+ }
+
+ });
+
+ // helper
+
+ function getHeight(ele) {
+
+ var $ele = UI.$(ele), height = "auto";
+
+ if ($ele.is(":visible")) {
+ height = $ele.outerHeight();
+ } else {
+
+ var tmp = {
+ position : $ele.css("position"),
+ visibility : $ele.css("visibility"),
+ display : $ele.css("display")
+ };
+
+ height = $ele.css({position: 'absolute', visibility: 'hidden', display: 'block'}).outerHeight();
+
+ $ele.css(tmp); // reset element
+ }
+
+ return height;
+ }
+
+ return UI.accordion;
+});
diff --git a/uikit/static/js/components/accordion.min.js b/uikit/static/js/components/accordion.min.js
new file mode 100644
index 0000000..7da0724
--- /dev/null
+++ b/uikit/static/js/components/accordion.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var i;window.UIkit&&(i=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-accordion",["uikit"],function(){return i||t(UIkit)})}(function(t){"use strict";function i(i){var o=t.$(i),e="auto";if(o.is(":visible"))e=o.outerHeight();else{var a={position:o.css("position"),visibility:o.css("visibility"),display:o.css("display")};e=o.css({position:"absolute",visibility:"hidden",display:"block"}).outerHeight(),o.css(a)}return e}return t.component("accordion",{defaults:{showfirst:!0,collapse:!0,animate:!0,easing:"swing",duration:300,toggle:".uk-accordion-title",containers:".uk-accordion-content",clsactive:"uk-active"},boot:function(){t.ready(function(i){setTimeout(function(){t.$("[data-uk-accordion]",i).each(function(){var i=t.$(this);i.data("accordion")||t.accordion(i,t.Utils.options(i.attr("data-uk-accordion")))})},0)})},init:function(){var i=this;this.element.on("click.uikit.accordion",this.options.toggle,function(o){o.preventDefault(),i.toggleItem(t.$(this).data("wrapper"),i.options.animate,i.options.collapse)}),this.update(),this.options.showfirst&&this.toggleItem(this.toggle.eq(0).data("wrapper"),!1,!1)},toggleItem:function(o,e,a){var n=this;o.data("toggle").toggleClass(this.options.clsactive);var s=o.data("toggle").hasClass(this.options.clsactive);a&&(this.toggle.not(o.data("toggle")).removeClass(this.options.clsactive),this.content.not(o.data("content")).parent().stop().css("overflow","hidden").animate({height:0},{easing:this.options.easing,duration:e?this.options.duration:0}).attr("aria-expanded","false")),o.stop().css("overflow","hidden"),e?o.animate({height:s?i(o.data("content")):0},{easing:this.options.easing,duration:this.options.duration,complete:function(){s&&(o.css({overflow:"",height:"auto"}),t.Utils.checkDisplay(o.data("content"))),n.trigger("display.uk.check")}}):(o.height(s?"auto":0),s&&(o.css({overflow:""}),t.Utils.checkDisplay(o.data("content"))),this.trigger("display.uk.check")),o.attr("aria-expanded",s),this.element.trigger("toggle.uk.accordion",[s,o.data("toggle"),o.data("content")])},update:function(){var i,o,e,a=this;this.toggle=this.find(this.options.toggle),this.content=this.find(this.options.containers),this.content.each(function(n){i=t.$(this),i.parent().data("wrapper")?o=i.parent():(o=t.$(this).wrap('<div data-wrapper="true" style="overflow:hidden;height:0;position:relative;"></div>').parent(),o.attr("aria-expanded","false")),e=a.toggle.eq(n),o.data("toggle",e),o.data("content",i),e.data("wrapper",o),i.data("wrapper",o)}),this.element.trigger("update.uk.accordion",[this])}}),t.accordion}); \ No newline at end of file
diff --git a/uikit/static/js/components/autocomplete.js b/uikit/static/js/components/autocomplete.js
new file mode 100644
index 0000000..7031f94
--- /dev/null
+++ b/uikit/static/js/components/autocomplete.js
@@ -0,0 +1,336 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-autocomplete", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ var active;
+
+ UI.component('autocomplete', {
+
+ defaults: {
+ minLength: 3,
+ param: 'search',
+ method: 'post',
+ delay: 300,
+ loadingClass: 'uk-loading',
+ flipDropdown: false,
+ skipClass: 'uk-skip',
+ hoverClass: 'uk-active',
+ source: null,
+ renderer: null,
+
+ // template
+
+ template: '<ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results">{{~items}}<li data-value="{{$item.value}}"><a>{{$item.value}}</a></li>{{/items}}</ul>'
+ },
+
+ visible : false,
+ value : null,
+ selected : null,
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("focus.autocomplete.uikit", "[data-uk-autocomplete]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (!ele.data("autocomplete")) {
+ var obj = UI.autocomplete(ele, UI.Utils.options(ele.attr("data-uk-autocomplete")));
+ }
+ });
+
+ // register outer click for autocompletes
+ UI.$html.on("click.autocomplete.uikit", function(e) {
+ if (active && e.target!=active.input[0]) active.hide();
+ });
+ },
+
+ init: function() {
+
+ var $this = this,
+ select = false,
+ trigger = UI.Utils.debounce(function(e) {
+ if(select) {
+ return (select = false);
+ }
+ $this.handle();
+ }, this.options.delay);
+
+
+ this.dropdown = this.find('.uk-dropdown');
+ this.template = this.find('script[type="text/autocomplete"]').html();
+ this.template = UI.Utils.template(this.template || this.options.template);
+ this.input = this.find("input:first").attr("autocomplete", "off");
+
+ if (!this.dropdown.length) {
+ this.dropdown = UI.$('<div class="uk-dropdown"></div>').appendTo(this.element);
+ }
+
+ if (this.options.flipDropdown) {
+ this.dropdown.addClass('uk-dropdown-flip');
+ }
+
+ this.dropdown.attr('aria-expanded', 'false');
+
+ this.input.on({
+ "keydown": function(e) {
+
+ if (e && e.which && !e.shiftKey) {
+
+ switch (e.which) {
+ case 13: // enter
+ select = true;
+
+ if ($this.selected) {
+ e.preventDefault();
+ $this.select();
+ }
+ break;
+ case 38: // up
+ e.preventDefault();
+ $this.pick('prev', true);
+ break;
+ case 40: // down
+ e.preventDefault();
+ $this.pick('next', true);
+ break;
+ case 27:
+ case 9: // esc, tab
+ $this.hide();
+ break;
+ default:
+ break;
+ }
+ }
+
+ },
+ "keyup": trigger
+ });
+
+ this.dropdown.on("click", ".uk-autocomplete-results > *", function(){
+ $this.select();
+ });
+
+ this.dropdown.on("mouseover", ".uk-autocomplete-results > *", function(){
+ $this.pick(UI.$(this));
+ });
+
+ this.triggercomplete = trigger;
+ },
+
+ handle: function() {
+
+ var $this = this, old = this.value;
+
+ this.value = this.input.val();
+
+ if (this.value.length < this.options.minLength) return this.hide();
+
+ if (this.value != old) {
+ $this.request();
+ }
+
+ return this;
+ },
+
+ pick: function(item, scrollinview) {
+
+ var $this = this,
+ items = UI.$(this.dropdown.find('.uk-autocomplete-results').children(':not(.'+this.options.skipClass+')')),
+ selected = false;
+
+ if (typeof item !== "string" && !item.hasClass(this.options.skipClass)) {
+ selected = item;
+ } else if (item == 'next' || item == 'prev') {
+
+ if (this.selected) {
+ var index = items.index(this.selected);
+
+ if (item == 'next') {
+ selected = items.eq(index + 1 < items.length ? index + 1 : 0);
+ } else {
+ selected = items.eq(index - 1 < 0 ? items.length - 1 : index - 1);
+ }
+
+ } else {
+ selected = items[(item == 'next') ? 'first' : 'last']();
+ }
+
+ selected = UI.$(selected);
+ }
+
+ if (selected && selected.length) {
+ this.selected = selected;
+ items.removeClass(this.options.hoverClass);
+ this.selected.addClass(this.options.hoverClass);
+
+ // jump to selected if not in view
+ if (scrollinview) {
+
+ var top = selected.position().top,
+ scrollTop = $this.dropdown.scrollTop(),
+ dpheight = $this.dropdown.height();
+
+ if (top > dpheight || top < 0) {
+ $this.dropdown.scrollTop(scrollTop + top);
+ }
+ }
+ }
+ },
+
+ select: function() {
+
+ if(!this.selected) return;
+
+ var data = this.selected.data();
+
+ this.trigger("selectitem.uk.autocomplete", [data, this]);
+
+ if (data.value) {
+ this.input.val(data.value).trigger('change');
+ }
+
+ this.hide();
+ },
+
+ show: function() {
+ if (this.visible) return;
+ this.visible = true;
+ this.element.addClass("uk-open");
+
+ if (active && active!==this) {
+ active.hide();
+ }
+
+ active = this;
+
+ // Update aria
+ this.dropdown.attr('aria-expanded', 'true');
+
+ return this;
+ },
+
+ hide: function() {
+ if (!this.visible) return;
+ this.visible = false;
+ this.element.removeClass("uk-open");
+
+ if (active === this) {
+ active = false;
+ }
+
+ // Update aria
+ this.dropdown.attr('aria-expanded', 'false');
+
+ return this;
+ },
+
+ request: function() {
+
+ var $this = this,
+ release = function(data) {
+
+ if(data) {
+ $this.render(data);
+ }
+
+ $this.element.removeClass($this.options.loadingClass);
+ };
+
+ this.element.addClass(this.options.loadingClass);
+
+ if (this.options.source) {
+
+ var source = this.options.source;
+
+ switch(typeof(this.options.source)) {
+ case 'function':
+
+ this.options.source.apply(this, [release]);
+
+ break;
+
+ case 'object':
+
+ if(source.length) {
+
+ var items = [];
+
+ source.forEach(function(item){
+ if(item.value && item.value.toLowerCase().indexOf($this.value.toLowerCase())!=-1) {
+ items.push(item);
+ }
+ });
+
+ release(items);
+ }
+
+ break;
+
+ case 'string':
+
+ var params ={};
+
+ params[this.options.param] = this.value;
+
+ UI.$.ajax({
+ url: this.options.source,
+ data: params,
+ type: this.options.method,
+ dataType: 'json'
+ }).done(function(json) {
+ release(json || []);
+ });
+
+ break;
+
+ default:
+ release(null);
+ }
+
+ } else {
+ this.element.removeClass($this.options.loadingClass);
+ }
+ },
+
+ render: function(data) {
+
+ var $this = this;
+
+ this.dropdown.empty();
+
+ this.selected = false;
+
+ if (this.options.renderer) {
+
+ this.options.renderer.apply(this, [data]);
+
+ } else if(data && data.length) {
+
+ this.dropdown.append(this.template({"items":data}));
+ this.show();
+
+ this.trigger('show.uk.autocomplete');
+ }
+
+ return this;
+ }
+ });
+
+ return UI.autocomplete;
+});
diff --git a/uikit/static/js/components/autocomplete.min.js b/uikit/static/js/components/autocomplete.min.js
new file mode 100644
index 0000000..2752df4
--- /dev/null
+++ b/uikit/static/js/components/autocomplete.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var e;window.UIkit&&(e=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-autocomplete",["uikit"],function(){return e||t(UIkit)})}(function(t){"use strict";var e;return t.component("autocomplete",{defaults:{minLength:3,param:"search",method:"post",delay:300,loadingClass:"uk-loading",flipDropdown:!1,skipClass:"uk-skip",hoverClass:"uk-active",source:null,renderer:null,template:'<ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results">{{~items}}<li data-value="{{$item.value}}"><a>{{$item.value}}</a></li>{{/items}}</ul>'},visible:!1,value:null,selected:null,boot:function(){t.$html.on("focus.autocomplete.uikit","[data-uk-autocomplete]",function(){var e=t.$(this);if(!e.data("autocomplete")){t.autocomplete(e,t.Utils.options(e.attr("data-uk-autocomplete")))}}),t.$html.on("click.autocomplete.uikit",function(t){e&&t.target!=e.input[0]&&e.hide()})},init:function(){var e=this,i=!1,s=t.Utils.debounce(function(){return i?i=!1:(e.handle(),void 0)},this.options.delay);this.dropdown=this.find(".uk-dropdown"),this.template=this.find('script[type="text/autocomplete"]').html(),this.template=t.Utils.template(this.template||this.options.template),this.input=this.find("input:first").attr("autocomplete","off"),this.dropdown.length||(this.dropdown=t.$('<div class="uk-dropdown"></div>').appendTo(this.element)),this.options.flipDropdown&&this.dropdown.addClass("uk-dropdown-flip"),this.dropdown.attr("aria-expanded","false"),this.input.on({keydown:function(t){if(t&&t.which&&!t.shiftKey)switch(t.which){case 13:i=!0,e.selected&&(t.preventDefault(),e.select());break;case 38:t.preventDefault(),e.pick("prev",!0);break;case 40:t.preventDefault(),e.pick("next",!0);break;case 27:case 9:e.hide()}},keyup:s}),this.dropdown.on("click",".uk-autocomplete-results > *",function(){e.select()}),this.dropdown.on("mouseover",".uk-autocomplete-results > *",function(){e.pick(t.$(this))}),this.triggercomplete=s},handle:function(){var t=this,e=this.value;return this.value=this.input.val(),this.value.length<this.options.minLength?this.hide():(this.value!=e&&t.request(),this)},pick:function(e,i){var s=this,o=t.$(this.dropdown.find(".uk-autocomplete-results").children(":not(."+this.options.skipClass+")")),n=!1;if("string"==typeof e||e.hasClass(this.options.skipClass)){if("next"==e||"prev"==e){if(this.selected){var a=o.index(this.selected);n="next"==e?o.eq(a+1<o.length?a+1:0):o.eq(0>a-1?o.length-1:a-1)}else n=o["next"==e?"first":"last"]();n=t.$(n)}}else n=e;if(n&&n.length&&(this.selected=n,o.removeClass(this.options.hoverClass),this.selected.addClass(this.options.hoverClass),i)){var l=n.position().top,h=s.dropdown.scrollTop(),r=s.dropdown.height();(l>r||0>l)&&s.dropdown.scrollTop(h+l)}},select:function(){if(this.selected){var t=this.selected.data();this.trigger("selectitem.uk.autocomplete",[t,this]),t.value&&this.input.val(t.value).trigger("change"),this.hide()}},show:function(){return this.visible?void 0:(this.visible=!0,this.element.addClass("uk-open"),e&&e!==this&&e.hide(),e=this,this.dropdown.attr("aria-expanded","true"),this)},hide:function(){return this.visible?(this.visible=!1,this.element.removeClass("uk-open"),e===this&&(e=!1),this.dropdown.attr("aria-expanded","false"),this):void 0},request:function(){var e=this,i=function(t){t&&e.render(t),e.element.removeClass(e.options.loadingClass)};if(this.element.addClass(this.options.loadingClass),this.options.source){var s=this.options.source;switch(typeof this.options.source){case"function":this.options.source.apply(this,[i]);break;case"object":if(s.length){var o=[];s.forEach(function(t){t.value&&-1!=t.value.toLowerCase().indexOf(e.value.toLowerCase())&&o.push(t)}),i(o)}break;case"string":var n={};n[this.options.param]=this.value,t.$.ajax({url:this.options.source,data:n,type:this.options.method,dataType:"json"}).done(function(t){i(t||[])});break;default:i(null)}}else this.element.removeClass(e.options.loadingClass)},render:function(t){return this.dropdown.empty(),this.selected=!1,this.options.renderer?this.options.renderer.apply(this,[t]):t&&t.length&&(this.dropdown.append(this.template({items:t})),this.show(),this.trigger("show.uk.autocomplete")),this}}),t.autocomplete}); \ No newline at end of file
diff --git a/uikit/static/js/components/datepicker.js b/uikit/static/js/components/datepicker.js
new file mode 100644
index 0000000..6a260e1
--- /dev/null
+++ b/uikit/static/js/components/datepicker.js
@@ -0,0 +1,3168 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-datepicker", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ // Datepicker
+
+ var active = false, dropdown, moment;
+
+ UI.component('datepicker', {
+
+ defaults: {
+ mobile: false,
+ weekstart: 1,
+ i18n: {
+ months : ['January','February','March','April','May','June','July','August','September','October','November','December'],
+ weekdays : ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']
+ },
+ format: "DD.MM.YYYY",
+ offsettop: 5,
+ maxDate: false,
+ minDate: false,
+ pos: 'auto',
+ template: function(data, opts) {
+
+ var content = '', maxDate, minDate, i;
+
+ if (opts.maxDate!==false){
+ maxDate = isNaN(opts.maxDate) ? moment(opts.maxDate, opts.format) : moment().add(opts.maxDate, 'days');
+ }
+
+ if (opts.minDate!==false){
+ minDate = isNaN(opts.minDate) ? moment(opts.minDate, opts.format) : moment().add(opts.minDate-1, 'days');
+ }
+
+ content += '<div class="uk-datepicker-nav">';
+ content += '<a href="" class="uk-datepicker-previous"></a>';
+ content += '<a href="" class="uk-datepicker-next"></a>';
+
+ if (UI.formSelect) {
+
+ var currentyear = (new Date()).getFullYear(), options = [], months, years, minYear, maxYear;
+
+ for (i=0;i<opts.i18n.months.length;i++) {
+ if(i==data.month) {
+ options.push('<option value="'+i+'" selected>'+opts.i18n.months[i]+'</option>');
+ } else {
+ options.push('<option value="'+i+'">'+opts.i18n.months[i]+'</option>');
+ }
+ }
+
+ months = '<span class="uk-form-select">'+ opts.i18n.months[data.month] + '<select class="update-picker-month">'+options.join('')+'</select></span>';
+
+ // --
+
+ options = [];
+
+ minYear = minDate ? minDate.year() : currentyear - 50;
+ maxYear = maxDate ? maxDate.year() : currentyear + 20;
+
+ for (i=minYear;i<=maxYear;i++) {
+ if (i == data.year) {
+ options.push('<option value="'+i+'" selected>'+i+'</option>');
+ } else {
+ options.push('<option value="'+i+'">'+i+'</option>');
+ }
+ }
+
+ years = '<span class="uk-form-select">'+ data.year + '<select class="update-picker-year">'+options.join('')+'</select></span>';
+
+ content += '<div class="uk-datepicker-heading">'+ months + ' ' + years +'</div>';
+
+ } else {
+ content += '<div class="uk-datepicker-heading">'+ opts.i18n.months[data.month] +' '+ data.year+'</div>';
+ }
+
+ content += '</div>';
+
+ content += '<table class="uk-datepicker-table">';
+ content += '<thead>';
+ for(i = 0; i < data.weekdays.length; i++) {
+ if (data.weekdays[i]) {
+ content += '<th>'+data.weekdays[i]+'</th>';
+ }
+ }
+ content += '</thead>';
+
+ content += '<tbody>';
+ for(i = 0; i < data.days.length; i++) {
+ if (data.days[i] && data.days[i].length){
+ content += '<tr>';
+ for(var d = 0; d < data.days[i].length; d++) {
+ if (data.days[i][d]) {
+ var day = data.days[i][d],
+ cls = [];
+
+ if(!day.inmonth) cls.push("uk-datepicker-table-muted");
+ if(day.selected) cls.push("uk-active");
+
+ if (maxDate && day.day > maxDate) cls.push('uk-datepicker-date-disabled uk-datepicker-table-muted');
+ if (minDate && minDate > day.day) cls.push('uk-datepicker-date-disabled uk-datepicker-table-muted');
+
+ content += '<td><a href="" class="'+cls.join(" ")+'" data-date="'+day.day.format()+'">'+day.day.format("D")+'</a></td>';
+ }
+ }
+ content += '</tr>';
+ }
+ }
+ content += '</tbody>';
+
+ content += '</table>';
+
+ return content;
+ }
+ },
+
+ boot: function() {
+
+ UI.$win.on("resize orientationchange", function() {
+
+ if (active) {
+ active.hide();
+ }
+ });
+
+ // init code
+ UI.$html.on("focus.datepicker.uikit", "[data-uk-datepicker]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (!ele.data("datepicker")) {
+ e.preventDefault();
+ var obj = UI.datepicker(ele, UI.Utils.options(ele.attr("data-uk-datepicker")));
+ ele.trigger("focus");
+ }
+ });
+
+ UI.$html.on("click.datepicker.uikit", function(e) {
+
+ var target = UI.$(e.target);
+
+ if (active && target[0] != dropdown[0] && !target.data("datepicker") && !target.parents(".uk-datepicker:first").length) {
+ active.hide();
+ }
+ });
+ },
+
+ init: function() {
+
+ // use native datepicker on touch devices
+ if (UI.support.touch && this.element.attr('type')=='date' && !this.options.mobile) {
+ return;
+ }
+
+ var $this = this;
+
+ this.current = this.element.val() ? moment(this.element.val(), this.options.format) : moment();
+
+ this.on("click focus", function(){
+ if (active!==$this) $this.pick(this.value ? this.value:($this.options.minDate ? $this.options.minDate :''));
+ }).on("change", function(){
+
+ if ($this.element.val() && !moment($this.element.val(), $this.options.format).isValid()) {
+ $this.element.val(moment().format($this.options.format));
+ }
+ });
+
+ // init dropdown
+ if (!dropdown) {
+
+ dropdown = UI.$('<div class="uk-dropdown uk-datepicker"></div>');
+
+ dropdown.on("click", ".uk-datepicker-next, .uk-datepicker-previous, [data-date]", function(e){
+
+ e.stopPropagation();
+ e.preventDefault();
+
+ var ele = UI.$(this);
+
+ if (ele.hasClass('uk-datepicker-date-disabled')) return false;
+
+ if (ele.is('[data-date]')) {
+ active.element.val(moment(ele.data("date")).format(active.options.format)).trigger("change");
+ dropdown.hide();
+ active = false;
+ } else {
+ active.add(1 * (ele.hasClass("uk-datepicker-next") ? 1:-1), "months");
+ }
+ });
+
+ dropdown.on('change', '.update-picker-month, .update-picker-year', function(){
+
+ var select = UI.$(this);
+ active[select.is('.update-picker-year') ? 'setYear':'setMonth'](Number(select.val()));
+ });
+
+ dropdown.appendTo("body");
+ }
+ },
+
+ pick: function(initdate) {
+
+ var offset = this.element.offset(),
+ css = {"left": offset.left, "right":""};
+
+ this.current = initdate ? moment(initdate, this.options.format):moment();
+ this.initdate = this.current.format("YYYY-MM-DD");
+
+ this.update();
+
+ if (UI.langdirection == 'right') {
+ css.right = window.innerWidth - (css.left + this.element.outerWidth());
+ css.left = "";
+ }
+
+ var posTop = (offset.top - this.element.outerHeight() + this.element.height()) - this.options.offsettop - dropdown.outerHeight(),
+ posBottom = offset.top + this.element.outerHeight() + this.options.offsettop;
+
+ css.top = posBottom;
+
+ if (this.options.pos == 'top') {
+ css.top = posTop;
+ } else if(this.options.pos == 'auto' && (window.innerHeight - posBottom - dropdown.outerHeight() < 0 && posTop >= 0) ) {
+ css.top = posTop;
+ }
+
+ dropdown.css(css).show();
+ this.trigger('show.uk.datepicker');
+
+ active = this;
+ },
+
+ add: function(unit, value) {
+ this.current.add(unit, value);
+ this.update();
+ },
+
+ setMonth: function(month) {
+ this.current.month(month);
+ this.update();
+ },
+
+ setYear: function(year) {
+ this.current.year(year);
+ this.update();
+ },
+
+ update: function() {
+
+ var data = this.getRows(this.current.year(), this.current.month()),
+ tpl = this.options.template(data, this.options);
+
+ dropdown.html(tpl);
+
+ this.trigger('update.uk.datepicker');
+ },
+
+ getRows: function(year, month) {
+
+ var opts = this.options,
+ now = moment().format('YYYY-MM-DD'),
+ days = [31, (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month],
+ before = new Date(year, month, 1).getDay(),
+ data = {"month":month, "year":year,"weekdays":[],"days":[]},
+ row = [];
+
+ data.weekdays = (function(){
+
+ for (var i=0, arr=[]; i < 7; i++) {
+
+ var day = i + (opts.weekstart || 0);
+
+ while (day >= 7) {
+ day -= 7;
+ }
+
+ arr.push(opts.i18n.weekdays[day]);
+ }
+
+ return arr;
+ })();
+
+ if (opts.weekstart && opts.weekstart > 0) {
+ before -= opts.weekstart;
+ if (before < 0) {
+ before += 7;
+ }
+ }
+
+ var cells = days + before, after = cells;
+
+ while(after > 7) { after -= 7; }
+
+ cells += 7 - after;
+
+ var day, isDisabled, isSelected, isToday, isInMonth;
+
+ for (var i = 0, r = 0; i < cells; i++) {
+
+ day = new Date(year, month, 1 + (i - before));
+ isDisabled = (opts.mindate && day < opts.mindate) || (opts.maxdate && day > opts.maxdate);
+ isInMonth = !(i < before || i >= (days + before));
+
+ day = moment(day);
+
+ isSelected = this.initdate == day.format("YYYY-MM-DD");
+ isToday = now == day.format("YYYY-MM-DD");
+
+ row.push({"selected": isSelected, "today": isToday, "disabled": isDisabled, "day":day, "inmonth":isInMonth});
+
+ if (++r === 7) {
+ data.days.push(row);
+ row = [];
+ r = 0;
+ }
+ }
+
+ return data;
+ },
+
+ hide: function() {
+
+ if (active && active === this) {
+ dropdown.hide();
+ active = false;
+
+ this.trigger('hide.uk.datepicker');
+ }
+ }
+ });
+
+ //! moment.js
+ //! version : 2.8.3
+ //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+ //! license : MIT
+ //! momentjs.com
+
+ moment = (function (undefined) {
+ /************************************
+ Constants
+ ************************************/
+ var moment,
+ VERSION = '2.8.3',
+ // the global-scope this is NOT the global object in Node.js
+ globalScope = typeof global !== 'undefined' ? global : this,
+ oldGlobalMoment,
+ round = Math.round,
+ hasOwnProperty = Object.prototype.hasOwnProperty,
+ i,
+
+ YEAR = 0,
+ MONTH = 1,
+ DATE = 2,
+ HOUR = 3,
+ MINUTE = 4,
+ SECOND = 5,
+ MILLISECOND = 6,
+
+ // internal storage for locale config files
+ locales = {},
+
+ // extra moment internal properties (plugins register props here)
+ momentProperties = [],
+
+ // check for nodeJS
+ hasModule = (typeof module !== 'undefined' && module.exports),
+
+ // ASP.NET json date format regex
+ aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
+ aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
+
+ // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
+ // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
+ isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
+
+ // format tokens
+ formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,
+ localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,
+
+ // parsing token regexes
+ parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
+ parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
+ parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999
+ parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
+ parseTokenDigits = /\d+/, // nonzero number of digits
+ parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic.
+ parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z
+ parseTokenT = /T/i, // T (ISO separator)
+ parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
+ parseTokenOrdinal = /\d{1,2}/,
+
+ //strict parsing regexes
+ parseTokenOneDigit = /\d/, // 0 - 9
+ parseTokenTwoDigits = /\d\d/, // 00 - 99
+ parseTokenThreeDigits = /\d{3}/, // 000 - 999
+ parseTokenFourDigits = /\d{4}/, // 0000 - 9999
+ parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999
+ parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf
+
+ // iso 8601 regex
+ // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
+ isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
+
+ isoFormat = 'YYYY-MM-DDTHH:mm:ssZ',
+
+ isoDates = [
+ ['YYYYYY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
+ ['YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/],
+ ['GGGG-[W]WW-E', /\d{4}-W\d{2}-\d/],
+ ['GGGG-[W]WW', /\d{4}-W\d{2}/],
+ ['YYYY-DDD', /\d{4}-\d{3}/]
+ ],
+
+ // iso time formats and regexes
+ isoTimes = [
+ ['HH:mm:ss.SSSS', /(T| )\d\d:\d\d:\d\d\.\d+/],
+ ['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
+ ['HH:mm', /(T| )\d\d:\d\d/],
+ ['HH', /(T| )\d\d/]
+ ],
+
+ // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-15', '30']
+ parseTimezoneChunker = /([\+\-]|\d\d)/gi,
+
+ // getter and setter names
+ proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
+ unitMillisecondFactors = {
+ 'Milliseconds' : 1,
+ 'Seconds' : 1e3,
+ 'Minutes' : 6e4,
+ 'Hours' : 36e5,
+ 'Days' : 864e5,
+ 'Months' : 2592e6,
+ 'Years' : 31536e6
+ },
+
+ unitAliases = {
+ ms : 'millisecond',
+ s : 'second',
+ m : 'minute',
+ h : 'hour',
+ d : 'day',
+ D : 'date',
+ w : 'week',
+ W : 'isoWeek',
+ M : 'month',
+ Q : 'quarter',
+ y : 'year',
+ DDD : 'dayOfYear',
+ e : 'weekday',
+ E : 'isoWeekday',
+ gg: 'weekYear',
+ GG: 'isoWeekYear'
+ },
+
+ camelFunctions = {
+ dayofyear : 'dayOfYear',
+ isoweekday : 'isoWeekday',
+ isoweek : 'isoWeek',
+ weekyear : 'weekYear',
+ isoweekyear : 'isoWeekYear'
+ },
+
+ // format function strings
+ formatFunctions = {},
+
+ // default relative time thresholds
+ relativeTimeThresholds = {
+ s: 45, // seconds to minute
+ m: 45, // minutes to hour
+ h: 22, // hours to day
+ d: 26, // days to month
+ M: 11 // months to year
+ },
+
+ // tokens to ordinalize and pad
+ ordinalizeTokens = 'DDD w W M D d'.split(' '),
+ paddedTokens = 'M D H h m s w W'.split(' '),
+
+ formatTokenFunctions = {
+ M : function () {
+ return this.month() + 1;
+ },
+ MMM : function (format) {
+ return this.localeData().monthsShort(this, format);
+ },
+ MMMM : function (format) {
+ return this.localeData().months(this, format);
+ },
+ D : function () {
+ return this.date();
+ },
+ DDD : function () {
+ return this.dayOfYear();
+ },
+ d : function () {
+ return this.day();
+ },
+ dd : function (format) {
+ return this.localeData().weekdaysMin(this, format);
+ },
+ ddd : function (format) {
+ return this.localeData().weekdaysShort(this, format);
+ },
+ dddd : function (format) {
+ return this.localeData().weekdays(this, format);
+ },
+ w : function () {
+ return this.week();
+ },
+ W : function () {
+ return this.isoWeek();
+ },
+ YY : function () {
+ return leftZeroFill(this.year() % 100, 2);
+ },
+ YYYY : function () {
+ return leftZeroFill(this.year(), 4);
+ },
+ YYYYY : function () {
+ return leftZeroFill(this.year(), 5);
+ },
+ YYYYYY : function () {
+ var y = this.year(), sign = y >= 0 ? '+' : '-';
+ return sign + leftZeroFill(Math.abs(y), 6);
+ },
+ gg : function () {
+ return leftZeroFill(this.weekYear() % 100, 2);
+ },
+ gggg : function () {
+ return leftZeroFill(this.weekYear(), 4);
+ },
+ ggggg : function () {
+ return leftZeroFill(this.weekYear(), 5);
+ },
+ GG : function () {
+ return leftZeroFill(this.isoWeekYear() % 100, 2);
+ },
+ GGGG : function () {
+ return leftZeroFill(this.isoWeekYear(), 4);
+ },
+ GGGGG : function () {
+ return leftZeroFill(this.isoWeekYear(), 5);
+ },
+ e : function () {
+ return this.weekday();
+ },
+ E : function () {
+ return this.isoWeekday();
+ },
+ a : function () {
+ return this.localeData().meridiem(this.hours(), this.minutes(), true);
+ },
+ A : function () {
+ return this.localeData().meridiem(this.hours(), this.minutes(), false);
+ },
+ H : function () {
+ return this.hours();
+ },
+ h : function () {
+ return this.hours() % 12 || 12;
+ },
+ m : function () {
+ return this.minutes();
+ },
+ s : function () {
+ return this.seconds();
+ },
+ S : function () {
+ return toInt(this.milliseconds() / 100);
+ },
+ SS : function () {
+ return leftZeroFill(toInt(this.milliseconds() / 10), 2);
+ },
+ SSS : function () {
+ return leftZeroFill(this.milliseconds(), 3);
+ },
+ SSSS : function () {
+ return leftZeroFill(this.milliseconds(), 3);
+ },
+ Z : function () {
+ var a = -this.zone(),
+ b = '+';
+ if (a < 0) {
+ a = -a;
+ b = '-';
+ }
+ return b + leftZeroFill(toInt(a / 60), 2) + ':' + leftZeroFill(toInt(a) % 60, 2);
+ },
+ ZZ : function () {
+ var a = -this.zone(),
+ b = '+';
+ if (a < 0) {
+ a = -a;
+ b = '-';
+ }
+ return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2);
+ },
+ z : function () {
+ return this.zoneAbbr();
+ },
+ zz : function () {
+ return this.zoneName();
+ },
+ X : function () {
+ return this.unix();
+ },
+ Q : function () {
+ return this.quarter();
+ }
+ },
+
+ deprecations = {},
+
+ lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin'];
+
+ // Pick the first defined of two or three arguments. dfl comes from
+ // default.
+ function dfl(a, b, c) {
+ switch (arguments.length) {
+ case 2: return a != null ? a : b;
+ case 3: return a != null ? a : b != null ? b : c;
+ default: throw new Error('Implement me');
+ }
+ }
+
+ function hasOwnProp(a, b) {
+ return hasOwnProperty.call(a, b);
+ }
+
+ function defaultParsingFlags() {
+ // We need to deep clone this object, and es5 standard is not very
+ // helpful.
+ return {
+ empty : false,
+ unusedTokens : [],
+ unusedInput : [],
+ overflow : -2,
+ charsLeftOver : 0,
+ nullInput : false,
+ invalidMonth : null,
+ invalidFormat : false,
+ userInvalidated : false,
+ iso: false
+ };
+ }
+
+ function printMsg(msg) {
+ if (moment.suppressDeprecationWarnings === false &&
+ typeof console !== 'undefined' && console.warn) {
+ console.warn('Deprecation warning: ' + msg);
+ }
+ }
+
+ function deprecate(msg, fn) {
+ var firstTime = true;
+ return extend(function () {
+ if (firstTime) {
+ printMsg(msg);
+ firstTime = false;
+ }
+ return fn.apply(this, arguments);
+ }, fn);
+ }
+
+ function deprecateSimple(name, msg) {
+ if (!deprecations[name]) {
+ printMsg(msg);
+ deprecations[name] = true;
+ }
+ }
+
+ function padToken(func, count) {
+ return function (a) {
+ return leftZeroFill(func.call(this, a), count);
+ };
+ }
+ function ordinalizeToken(func, period) {
+ return function (a) {
+ return this.localeData().ordinal(func.call(this, a), period);
+ };
+ }
+
+ while (ordinalizeTokens.length) {
+ i = ordinalizeTokens.pop();
+ formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i);
+ }
+ while (paddedTokens.length) {
+ i = paddedTokens.pop();
+ formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2);
+ }
+ formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3);
+
+
+ /************************************
+ Constructors
+ ************************************/
+
+ function Locale() {
+ }
+
+ // Moment prototype object
+ function Moment(config, skipOverflow) {
+ if (skipOverflow !== false) {
+ checkOverflow(config);
+ }
+ copyConfig(this, config);
+ this._d = new Date(+config._d);
+ }
+
+ // Duration Constructor
+ function Duration(duration) {
+ var normalizedInput = normalizeObjectUnits(duration),
+ years = normalizedInput.year || 0,
+ quarters = normalizedInput.quarter || 0,
+ months = normalizedInput.month || 0,
+ weeks = normalizedInput.week || 0,
+ days = normalizedInput.day || 0,
+ hours = normalizedInput.hour || 0,
+ minutes = normalizedInput.minute || 0,
+ seconds = normalizedInput.second || 0,
+ milliseconds = normalizedInput.millisecond || 0;
+
+ // representation for dateAddRemove
+ this._milliseconds = +milliseconds +
+ seconds * 1e3 + // 1000
+ minutes * 6e4 + // 1000 * 60
+ hours * 36e5; // 1000 * 60 * 60
+ // Because of dateAddRemove treats 24 hours as different from a
+ // day when working around DST, we need to store them separately
+ this._days = +days +
+ weeks * 7;
+ // It is impossible translate months into days without knowing
+ // which months you are are talking about, so we have to store
+ // it separately.
+ this._months = +months +
+ quarters * 3 +
+ years * 12;
+
+ this._data = {};
+
+ this._locale = moment.localeData();
+
+ this._bubble();
+ }
+
+ /************************************
+ Helpers
+ ************************************/
+
+
+ function extend(a, b) {
+ for (var i in b) {
+ if (hasOwnProp(b, i)) {
+ a[i] = b[i];
+ }
+ }
+
+ if (hasOwnProp(b, 'toString')) {
+ a.toString = b.toString;
+ }
+
+ if (hasOwnProp(b, 'valueOf')) {
+ a.valueOf = b.valueOf;
+ }
+
+ return a;
+ }
+
+ function copyConfig(to, from) {
+ var i, prop, val;
+
+ if (typeof from._isAMomentObject !== 'undefined') {
+ to._isAMomentObject = from._isAMomentObject;
+ }
+ if (typeof from._i !== 'undefined') {
+ to._i = from._i;
+ }
+ if (typeof from._f !== 'undefined') {
+ to._f = from._f;
+ }
+ if (typeof from._l !== 'undefined') {
+ to._l = from._l;
+ }
+ if (typeof from._strict !== 'undefined') {
+ to._strict = from._strict;
+ }
+ if (typeof from._tzm !== 'undefined') {
+ to._tzm = from._tzm;
+ }
+ if (typeof from._isUTC !== 'undefined') {
+ to._isUTC = from._isUTC;
+ }
+ if (typeof from._offset !== 'undefined') {
+ to._offset = from._offset;
+ }
+ if (typeof from._pf !== 'undefined') {
+ to._pf = from._pf;
+ }
+ if (typeof from._locale !== 'undefined') {
+ to._locale = from._locale;
+ }
+
+ if (momentProperties.length > 0) {
+ for (i in momentProperties) {
+ prop = momentProperties[i];
+ val = from[prop];
+ if (typeof val !== 'undefined') {
+ to[prop] = val;
+ }
+ }
+ }
+
+ return to;
+ }
+
+ function absRound(number) {
+ if (number < 0) {
+ return Math.ceil(number);
+ } else {
+ return Math.floor(number);
+ }
+ }
+
+ // left zero fill a number
+ // see http://jsperf.com/left-zero-filling for performance comparison
+ function leftZeroFill(number, targetLength, forceSign) {
+ var output = '' + Math.abs(number),
+ sign = number >= 0;
+
+ while (output.length < targetLength) {
+ output = '0' + output;
+ }
+ return (sign ? (forceSign ? '+' : '') : '-') + output;
+ }
+
+ function positiveMomentsDifference(base, other) {
+ var res = {milliseconds: 0, months: 0};
+
+ res.months = other.month() - base.month() +
+ (other.year() - base.year()) * 12;
+ if (base.clone().add(res.months, 'M').isAfter(other)) {
+ --res.months;
+ }
+
+ res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
+
+ return res;
+ }
+
+ function momentsDifference(base, other) {
+ var res;
+ other = makeAs(other, base);
+ if (base.isBefore(other)) {
+ res = positiveMomentsDifference(base, other);
+ } else {
+ res = positiveMomentsDifference(other, base);
+ res.milliseconds = -res.milliseconds;
+ res.months = -res.months;
+ }
+
+ return res;
+ }
+
+ // TODO: remove 'name' arg after deprecation is removed
+ function createAdder(direction, name) {
+ return function (val, period) {
+ var dur, tmp;
+ //invert the arguments, but complain about it
+ if (period !== null && !isNaN(+period)) {
+ deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).');
+ tmp = val; val = period; period = tmp;
+ }
+
+ val = typeof val === 'string' ? +val : val;
+ dur = moment.duration(val, period);
+ addOrSubtractDurationFromMoment(this, dur, direction);
+ return this;
+ };
+ }
+
+ function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) {
+ var milliseconds = duration._milliseconds,
+ days = duration._days,
+ months = duration._months;
+ updateOffset = updateOffset == null ? true : updateOffset;
+
+ if (milliseconds) {
+ mom._d.setTime(+mom._d + milliseconds * isAdding);
+ }
+ if (days) {
+ rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding);
+ }
+ if (months) {
+ rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding);
+ }
+ if (updateOffset) {
+ moment.updateOffset(mom, days || months);
+ }
+ }
+
+ // check if is an array
+ function isArray(input) {
+ return Object.prototype.toString.call(input) === '[object Array]';
+ }
+
+ function isDate(input) {
+ return Object.prototype.toString.call(input) === '[object Date]' ||
+ input instanceof Date;
+ }
+
+ // compare two arrays, return the number of differences
+ function compareArrays(array1, array2, dontConvert) {
+ var len = Math.min(array1.length, array2.length),
+ lengthDiff = Math.abs(array1.length - array2.length),
+ diffs = 0,
+ i;
+ for (i = 0; i < len; i++) {
+ if ((dontConvert && array1[i] !== array2[i]) ||
+ (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
+ diffs++;
+ }
+ }
+ return diffs + lengthDiff;
+ }
+
+ function normalizeUnits(units) {
+ if (units) {
+ var lowered = units.toLowerCase().replace(/(.)s$/, '$1');
+ units = unitAliases[units] || camelFunctions[lowered] || lowered;
+ }
+ return units;
+ }
+
+ function normalizeObjectUnits(inputObject) {
+ var normalizedInput = {},
+ normalizedProp,
+ prop;
+
+ for (prop in inputObject) {
+ if (hasOwnProp(inputObject, prop)) {
+ normalizedProp = normalizeUnits(prop);
+ if (normalizedProp) {
+ normalizedInput[normalizedProp] = inputObject[prop];
+ }
+ }
+ }
+
+ return normalizedInput;
+ }
+
+ function makeList(field) {
+ var count, setter;
+
+ if (field.indexOf('week') === 0) {
+ count = 7;
+ setter = 'day';
+ }
+ else if (field.indexOf('month') === 0) {
+ count = 12;
+ setter = 'month';
+ }
+ else {
+ return;
+ }
+
+ moment[field] = function (format, index) {
+ var i, getter,
+ method = moment._locale[field],
+ results = [];
+
+ if (typeof format === 'number') {
+ index = format;
+ format = undefined;
+ }
+
+ getter = function (i) {
+ var m = moment().utc().set(setter, i);
+ return method.call(moment._locale, m, format || '');
+ };
+
+ if (index != null) {
+ return getter(index);
+ }
+ else {
+ for (i = 0; i < count; i++) {
+ results.push(getter(i));
+ }
+ return results;
+ }
+ };
+ }
+
+ function toInt(argumentForCoercion) {
+ var coercedNumber = +argumentForCoercion,
+ value = 0;
+
+ if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+ if (coercedNumber >= 0) {
+ value = Math.floor(coercedNumber);
+ } else {
+ value = Math.ceil(coercedNumber);
+ }
+ }
+
+ return value;
+ }
+
+ function daysInMonth(year, month) {
+ return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
+ }
+
+ function weeksInYear(year, dow, doy) {
+ return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week;
+ }
+
+ function daysInYear(year) {
+ return isLeapYear(year) ? 366 : 365;
+ }
+
+ function isLeapYear(year) {
+ return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+ }
+
+ function checkOverflow(m) {
+ var overflow;
+ if (m._a && m._pf.overflow === -2) {
+ overflow =
+ m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH :
+ m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE :
+ m._a[HOUR] < 0 || m._a[HOUR] > 23 ? HOUR :
+ m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE :
+ m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND :
+ m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND :
+ -1;
+
+ if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
+ overflow = DATE;
+ }
+
+ m._pf.overflow = overflow;
+ }
+ }
+
+ function isValid(m) {
+ if (m._isValid == null) {
+ m._isValid = !isNaN(m._d.getTime()) &&
+ m._pf.overflow < 0 &&
+ !m._pf.empty &&
+ !m._pf.invalidMonth &&
+ !m._pf.nullInput &&
+ !m._pf.invalidFormat &&
+ !m._pf.userInvalidated;
+
+ if (m._strict) {
+ m._isValid = m._isValid &&
+ m._pf.charsLeftOver === 0 &&
+ m._pf.unusedTokens.length === 0;
+ }
+ }
+ return m._isValid;
+ }
+
+ function normalizeLocale(key) {
+ return key ? key.toLowerCase().replace('_', '-') : key;
+ }
+
+ // pick the locale from the array
+ // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
+ // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
+ function chooseLocale(names) {
+ var i = 0, j, next, locale, split;
+
+ while (i < names.length) {
+ split = normalizeLocale(names[i]).split('-');
+ j = split.length;
+ next = normalizeLocale(names[i + 1]);
+ next = next ? next.split('-') : null;
+ while (j > 0) {
+ locale = loadLocale(split.slice(0, j).join('-'));
+ if (locale) {
+ return locale;
+ }
+ if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
+ //the next array item is better than a shallower substring of this one
+ break;
+ }
+ j--;
+ }
+ i++;
+ }
+ return null;
+ }
+
+ function loadLocale(name) {
+ var oldLocale = null;
+ if (!locales[name] && hasModule) {
+ try {
+ oldLocale = moment.locale();
+ require('./locale/' + name);
+ // because defineLocale currently also sets the global locale, we want to undo that for lazy loaded locales
+ moment.locale(oldLocale);
+ } catch (e) { }
+ }
+ return locales[name];
+ }
+
+ // Return a moment from input, that is local/utc/zone equivalent to model.
+ function makeAs(input, model) {
+ return model._isUTC ? moment(input).zone(model._offset || 0) :
+ moment(input).local();
+ }
+
+ /************************************
+ Locale
+ ************************************/
+
+
+ extend(Locale.prototype, {
+
+ set : function (config) {
+ var prop, i;
+ for (i in config) {
+ prop = config[i];
+ if (typeof prop === 'function') {
+ this[i] = prop;
+ } else {
+ this['_' + i] = prop;
+ }
+ }
+ },
+
+ _months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+ months : function (m) {
+ return this._months[m.month()];
+ },
+
+ _monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+ monthsShort : function (m) {
+ return this._monthsShort[m.month()];
+ },
+
+ monthsParse : function (monthName) {
+ var i, mom, regex;
+
+ if (!this._monthsParse) {
+ this._monthsParse = [];
+ }
+
+ for (i = 0; i < 12; i++) {
+ // make the regex if we don't have it already
+ if (!this._monthsParse[i]) {
+ mom = moment.utc([2000, i]);
+ regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
+ this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
+ }
+ // test the regex
+ if (this._monthsParse[i].test(monthName)) {
+ return i;
+ }
+ }
+ },
+
+ _weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+ weekdays : function (m) {
+ return this._weekdays[m.day()];
+ },
+
+ _weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+ weekdaysShort : function (m) {
+ return this._weekdaysShort[m.day()];
+ },
+
+ _weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+ weekdaysMin : function (m) {
+ return this._weekdaysMin[m.day()];
+ },
+
+ weekdaysParse : function (weekdayName) {
+ var i, mom, regex;
+
+ if (!this._weekdaysParse) {
+ this._weekdaysParse = [];
+ }
+
+ for (i = 0; i < 7; i++) {
+ // make the regex if we don't have it already
+ if (!this._weekdaysParse[i]) {
+ mom = moment([2000, 1]).day(i);
+ regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
+ this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
+ }
+ // test the regex
+ if (this._weekdaysParse[i].test(weekdayName)) {
+ return i;
+ }
+ }
+ },
+
+ _longDateFormat : {
+ LT : 'h:mm A',
+ L : 'MM/DD/YYYY',
+ LL : 'MMMM D, YYYY',
+ LLL : 'MMMM D, YYYY LT',
+ LLLL : 'dddd, MMMM D, YYYY LT'
+ },
+ longDateFormat : function (key) {
+ var output = this._longDateFormat[key];
+ if (!output && this._longDateFormat[key.toUpperCase()]) {
+ output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) {
+ return val.slice(1);
+ });
+ this._longDateFormat[key] = output;
+ }
+ return output;
+ },
+
+ isPM : function (input) {
+ // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
+ // Using charAt should be more compatible.
+ return ((input + '').toLowerCase().charAt(0) === 'p');
+ },
+
+ _meridiemParse : /[ap]\.?m?\.?/i,
+ meridiem : function (hours, minutes, isLower) {
+ if (hours > 11) {
+ return isLower ? 'pm' : 'PM';
+ } else {
+ return isLower ? 'am' : 'AM';
+ }
+ },
+
+ _calendar : {
+ sameDay : '[Today at] LT',
+ nextDay : '[Tomorrow at] LT',
+ nextWeek : 'dddd [at] LT',
+ lastDay : '[Yesterday at] LT',
+ lastWeek : '[Last] dddd [at] LT',
+ sameElse : 'L'
+ },
+ calendar : function (key, mom) {
+ var output = this._calendar[key];
+ return typeof output === 'function' ? output.apply(mom) : output;
+ },
+
+ _relativeTime : {
+ future : 'in %s',
+ past : '%s ago',
+ s : 'a few seconds',
+ m : 'a minute',
+ mm : '%d minutes',
+ h : 'an hour',
+ hh : '%d hours',
+ d : 'a day',
+ dd : '%d days',
+ M : 'a month',
+ MM : '%d months',
+ y : 'a year',
+ yy : '%d years'
+ },
+
+ relativeTime : function (number, withoutSuffix, string, isFuture) {
+ var output = this._relativeTime[string];
+ return (typeof output === 'function') ?
+ output(number, withoutSuffix, string, isFuture) :
+ output.replace(/%d/i, number);
+ },
+
+ pastFuture : function (diff, output) {
+ var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
+ return typeof format === 'function' ? format(output) : format.replace(/%s/i, output);
+ },
+
+ ordinal : function (number) {
+ return this._ordinal.replace('%d', number);
+ },
+ _ordinal : '%d',
+
+ preparse : function (string) {
+ return string;
+ },
+
+ postformat : function (string) {
+ return string;
+ },
+
+ week : function (mom) {
+ return weekOfYear(mom, this._week.dow, this._week.doy).week;
+ },
+
+ _week : {
+ dow : 0, // Sunday is the first day of the week.
+ doy : 6 // The week that contains Jan 1st is the first week of the year.
+ },
+
+ _invalidDate: 'Invalid date',
+ invalidDate: function () {
+ return this._invalidDate;
+ }
+ });
+
+ /************************************
+ Formatting
+ ************************************/
+
+
+ function removeFormattingTokens(input) {
+ if (input.match(/\[[\s\S]/)) {
+ return input.replace(/^\[|\]$/g, '');
+ }
+ return input.replace(/\\/g, '');
+ }
+
+ function makeFormatFunction(format) {
+ var array = format.match(formattingTokens), i, length;
+
+ for (i = 0, length = array.length; i < length; i++) {
+ if (formatTokenFunctions[array[i]]) {
+ array[i] = formatTokenFunctions[array[i]];
+ } else {
+ array[i] = removeFormattingTokens(array[i]);
+ }
+ }
+
+ return function (mom) {
+ var output = '';
+ for (i = 0; i < length; i++) {
+ output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];
+ }
+ return output;
+ };
+ }
+
+ // format date using native date object
+ function formatMoment(m, format) {
+ if (!m.isValid()) {
+ return m.localeData().invalidDate();
+ }
+
+ format = expandFormat(format, m.localeData());
+
+ if (!formatFunctions[format]) {
+ formatFunctions[format] = makeFormatFunction(format);
+ }
+
+ return formatFunctions[format](m);
+ }
+
+ function expandFormat(format, locale) {
+ var i = 5;
+
+ function replaceLongDateFormatTokens(input) {
+ return locale.longDateFormat(input) || input;
+ }
+
+ localFormattingTokens.lastIndex = 0;
+ while (i >= 0 && localFormattingTokens.test(format)) {
+ format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
+ localFormattingTokens.lastIndex = 0;
+ i -= 1;
+ }
+
+ return format;
+ }
+
+
+ /************************************
+ Parsing
+ ************************************/
+
+
+ // get the regex to find the next token
+ function getParseRegexForToken(token, config) {
+ var a, strict = config._strict;
+ switch (token) {
+ case 'Q':
+ return parseTokenOneDigit;
+ case 'DDDD':
+ return parseTokenThreeDigits;
+ case 'YYYY':
+ case 'GGGG':
+ case 'gggg':
+ return strict ? parseTokenFourDigits : parseTokenOneToFourDigits;
+ case 'Y':
+ case 'G':
+ case 'g':
+ return parseTokenSignedNumber;
+ case 'YYYYYY':
+ case 'YYYYY':
+ case 'GGGGG':
+ case 'ggggg':
+ return strict ? parseTokenSixDigits : parseTokenOneToSixDigits;
+ case 'S':
+ if (strict) {
+ return parseTokenOneDigit;
+ }
+ /* falls through */
+ case 'SS':
+ if (strict) {
+ return parseTokenTwoDigits;
+ }
+ /* falls through */
+ case 'SSS':
+ if (strict) {
+ return parseTokenThreeDigits;
+ }
+ /* falls through */
+ case 'DDD':
+ return parseTokenOneToThreeDigits;
+ case 'MMM':
+ case 'MMMM':
+ case 'dd':
+ case 'ddd':
+ case 'dddd':
+ return parseTokenWord;
+ case 'a':
+ case 'A':
+ return config._locale._meridiemParse;
+ case 'X':
+ return parseTokenTimestampMs;
+ case 'Z':
+ case 'ZZ':
+ return parseTokenTimezone;
+ case 'T':
+ return parseTokenT;
+ case 'SSSS':
+ return parseTokenDigits;
+ case 'MM':
+ case 'DD':
+ case 'YY':
+ case 'GG':
+ case 'gg':
+ case 'HH':
+ case 'hh':
+ case 'mm':
+ case 'ss':
+ case 'ww':
+ case 'WW':
+ return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits;
+ case 'M':
+ case 'D':
+ case 'd':
+ case 'H':
+ case 'h':
+ case 'm':
+ case 's':
+ case 'w':
+ case 'W':
+ case 'e':
+ case 'E':
+ return parseTokenOneOrTwoDigits;
+ case 'Do':
+ return parseTokenOrdinal;
+ default :
+ a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), 'i'));
+ return a;
+ }
+ }
+
+ function timezoneMinutesFromString(string) {
+ string = string || '';
+ var possibleTzMatches = (string.match(parseTokenTimezone) || []),
+ tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [],
+ parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0],
+ minutes = +(parts[1] * 60) + toInt(parts[2]);
+
+ return parts[0] === '+' ? -minutes : minutes;
+ }
+
+ // function to convert string input to date
+ function addTimeToArrayFromToken(token, input, config) {
+ var a, datePartArray = config._a;
+
+ switch (token) {
+ // QUARTER
+ case 'Q':
+ if (input != null) {
+ datePartArray[MONTH] = (toInt(input) - 1) * 3;
+ }
+ break;
+ // MONTH
+ case 'M' : // fall through to MM
+ case 'MM' :
+ if (input != null) {
+ datePartArray[MONTH] = toInt(input) - 1;
+ }
+ break;
+ case 'MMM' : // fall through to MMMM
+ case 'MMMM' :
+ a = config._locale.monthsParse(input);
+ // if we didn't find a month name, mark the date as invalid.
+ if (a != null) {
+ datePartArray[MONTH] = a;
+ } else {
+ config._pf.invalidMonth = input;
+ }
+ break;
+ // DAY OF MONTH
+ case 'D' : // fall through to DD
+ case 'DD' :
+ if (input != null) {
+ datePartArray[DATE] = toInt(input);
+ }
+ break;
+ case 'Do' :
+ if (input != null) {
+ datePartArray[DATE] = toInt(parseInt(input, 10));
+ }
+ break;
+ // DAY OF YEAR
+ case 'DDD' : // fall through to DDDD
+ case 'DDDD' :
+ if (input != null) {
+ config._dayOfYear = toInt(input);
+ }
+
+ break;
+ // YEAR
+ case 'YY' :
+ datePartArray[YEAR] = moment.parseTwoDigitYear(input);
+ break;
+ case 'YYYY' :
+ case 'YYYYY' :
+ case 'YYYYYY' :
+ datePartArray[YEAR] = toInt(input);
+ break;
+ // AM / PM
+ case 'a' : // fall through to A
+ case 'A' :
+ config._isPm = config._locale.isPM(input);
+ break;
+ // 24 HOUR
+ case 'H' : // fall through to hh
+ case 'HH' : // fall through to hh
+ case 'h' : // fall through to hh
+ case 'hh' :
+ datePartArray[HOUR] = toInt(input);
+ break;
+ // MINUTE
+ case 'm' : // fall through to mm
+ case 'mm' :
+ datePartArray[MINUTE] = toInt(input);
+ break;
+ // SECOND
+ case 's' : // fall through to ss
+ case 'ss' :
+ datePartArray[SECOND] = toInt(input);
+ break;
+ // MILLISECOND
+ case 'S' :
+ case 'SS' :
+ case 'SSS' :
+ case 'SSSS' :
+ datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000);
+ break;
+ // UNIX TIMESTAMP WITH MS
+ case 'X':
+ config._d = new Date(parseFloat(input) * 1000);
+ break;
+ // TIMEZONE
+ case 'Z' : // fall through to ZZ
+ case 'ZZ' :
+ config._useUTC = true;
+ config._tzm = timezoneMinutesFromString(input);
+ break;
+ // WEEKDAY - human
+ case 'dd':
+ case 'ddd':
+ case 'dddd':
+ a = config._locale.weekdaysParse(input);
+ // if we didn't get a weekday name, mark the date as invalid
+ if (a != null) {
+ config._w = config._w || {};
+ config._w['d'] = a;
+ } else {
+ config._pf.invalidWeekday = input;
+ }
+ break;
+ // WEEK, WEEK DAY - numeric
+ case 'w':
+ case 'ww':
+ case 'W':
+ case 'WW':
+ case 'd':
+ case 'e':
+ case 'E':
+ token = token.substr(0, 1);
+ /* falls through */
+ case 'gggg':
+ case 'GGGG':
+ case 'GGGGG':
+ token = token.substr(0, 2);
+ if (input) {
+ config._w = config._w || {};
+ config._w[token] = toInt(input);
+ }
+ break;
+ case 'gg':
+ case 'GG':
+ config._w = config._w || {};
+ config._w[token] = moment.parseTwoDigitYear(input);
+ }
+ }
+
+ function dayOfYearFromWeekInfo(config) {
+ var w, weekYear, week, weekday, dow, doy, temp;
+
+ w = config._w;
+ if (w.GG != null || w.W != null || w.E != null) {
+ dow = 1;
+ doy = 4;
+
+ // TODO: We need to take the current isoWeekYear, but that depends on
+ // how we interpret now (local, utc, fixed offset). So create
+ // a now version of current config (take local/utc/offset flags, and
+ // create now).
+ weekYear = dfl(w.GG, config._a[YEAR], weekOfYear(moment(), 1, 4).year);
+ week = dfl(w.W, 1);
+ weekday = dfl(w.E, 1);
+ } else {
+ dow = config._locale._week.dow;
+ doy = config._locale._week.doy;
+
+ weekYear = dfl(w.gg, config._a[YEAR], weekOfYear(moment(), dow, doy).year);
+ week = dfl(w.w, 1);
+
+ if (w.d != null) {
+ // weekday -- low day numbers are considered next week
+ weekday = w.d;
+ if (weekday < dow) {
+ ++week;
+ }
+ } else if (w.e != null) {
+ // local weekday -- counting starts from begining of week
+ weekday = w.e + dow;
+ } else {
+ // default to begining of week
+ weekday = dow;
+ }
+ }
+ temp = dayOfYearFromWeeks(weekYear, week, weekday, doy, dow);
+
+ config._a[YEAR] = temp.year;
+ config._dayOfYear = temp.dayOfYear;
+ }
+
+ // convert an array to a date.
+ // the array should mirror the parameters below
+ // note: all values past the year are optional and will default to the lowest possible value.
+ // [year, month, day , hour, minute, second, millisecond]
+ function dateFromConfig(config) {
+ var i, date, input = [], currentDate, yearToUse;
+
+ if (config._d) {
+ return;
+ }
+
+ currentDate = currentDateArray(config);
+
+ //compute day of the year from weeks and weekdays
+ if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
+ dayOfYearFromWeekInfo(config);
+ }
+
+ //if the day of the year is set, figure out what it is
+ if (config._dayOfYear) {
+ yearToUse = dfl(config._a[YEAR], currentDate[YEAR]);
+
+ if (config._dayOfYear > daysInYear(yearToUse)) {
+ config._pf._overflowDayOfYear = true;
+ }
+
+ date = makeUTCDate(yearToUse, 0, config._dayOfYear);
+ config._a[MONTH] = date.getUTCMonth();
+ config._a[DATE] = date.getUTCDate();
+ }
+
+ // Default to current date.
+ // * if no year, month, day of month are given, default to today
+ // * if day of month is given, default month and year
+ // * if month is given, default only year
+ // * if year is given, don't default anything
+ for (i = 0; i < 3 && config._a[i] == null; ++i) {
+ config._a[i] = input[i] = currentDate[i];
+ }
+
+ // Zero out whatever was not defaulted, including time
+ for (; i < 7; i++) {
+ config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
+ }
+
+ config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input);
+ // Apply timezone offset from input. The actual zone can be changed
+ // with parseZone.
+ if (config._tzm != null) {
+ config._d.setUTCMinutes(config._d.getUTCMinutes() + config._tzm);
+ }
+ }
+
+ function dateFromObject(config) {
+ var normalizedInput;
+
+ if (config._d) {
+ return;
+ }
+
+ normalizedInput = normalizeObjectUnits(config._i);
+ config._a = [
+ normalizedInput.year,
+ normalizedInput.month,
+ normalizedInput.day,
+ normalizedInput.hour,
+ normalizedInput.minute,
+ normalizedInput.second,
+ normalizedInput.millisecond
+ ];
+
+ dateFromConfig(config);
+ }
+
+ function currentDateArray(config) {
+ var now = new Date();
+ if (config._useUTC) {
+ return [
+ now.getUTCFullYear(),
+ now.getUTCMonth(),
+ now.getUTCDate()
+ ];
+ } else {
+ return [now.getFullYear(), now.getMonth(), now.getDate()];
+ }
+ }
+
+ // date from string and format string
+ function makeDateFromStringAndFormat(config) {
+ if (config._f === moment.ISO_8601) {
+ parseISO(config);
+ return;
+ }
+
+ config._a = [];
+ config._pf.empty = true;
+
+ // This array is used to make a Date, either with `new Date` or `Date.UTC`
+ var string = '' + config._i,
+ i, parsedInput, tokens, token, skipped,
+ stringLength = string.length,
+ totalParsedInputLength = 0;
+
+ tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
+
+ for (i = 0; i < tokens.length; i++) {
+ token = tokens[i];
+ parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
+ if (parsedInput) {
+ skipped = string.substr(0, string.indexOf(parsedInput));
+ if (skipped.length > 0) {
+ config._pf.unusedInput.push(skipped);
+ }
+ string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
+ totalParsedInputLength += parsedInput.length;
+ }
+ // don't parse if it's not a known token
+ if (formatTokenFunctions[token]) {
+ if (parsedInput) {
+ config._pf.empty = false;
+ }
+ else {
+ config._pf.unusedTokens.push(token);
+ }
+ addTimeToArrayFromToken(token, parsedInput, config);
+ }
+ else if (config._strict && !parsedInput) {
+ config._pf.unusedTokens.push(token);
+ }
+ }
+
+ // add remaining unparsed input length to the string
+ config._pf.charsLeftOver = stringLength - totalParsedInputLength;
+ if (string.length > 0) {
+ config._pf.unusedInput.push(string);
+ }
+
+ // handle am pm
+ if (config._isPm && config._a[HOUR] < 12) {
+ config._a[HOUR] += 12;
+ }
+ // if is 12 am, change hours to 0
+ if (config._isPm === false && config._a[HOUR] === 12) {
+ config._a[HOUR] = 0;
+ }
+
+ dateFromConfig(config);
+ checkOverflow(config);
+ }
+
+ function unescapeFormat(s) {
+ return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
+ return p1 || p2 || p3 || p4;
+ });
+ }
+
+ // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
+ function regexpEscape(s) {
+ return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
+ }
+
+ // date from string and array of format strings
+ function makeDateFromStringAndArray(config) {
+ var tempConfig,
+ bestMoment,
+
+ scoreToBeat,
+ i,
+ currentScore;
+
+ if (config._f.length === 0) {
+ config._pf.invalidFormat = true;
+ config._d = new Date(NaN);
+ return;
+ }
+
+ for (i = 0; i < config._f.length; i++) {
+ currentScore = 0;
+ tempConfig = copyConfig({}, config);
+ if (config._useUTC != null) {
+ tempConfig._useUTC = config._useUTC;
+ }
+ tempConfig._pf = defaultParsingFlags();
+ tempConfig._f = config._f[i];
+ makeDateFromStringAndFormat(tempConfig);
+
+ if (!isValid(tempConfig)) {
+ continue;
+ }
+
+ // if there is any input that was not parsed add a penalty for that format
+ currentScore += tempConfig._pf.charsLeftOver;
+
+ //or tokens
+ currentScore += tempConfig._pf.unusedTokens.length * 10;
+
+ tempConfig._pf.score = currentScore;
+
+ if (scoreToBeat == null || currentScore < scoreToBeat) {
+ scoreToBeat = currentScore;
+ bestMoment = tempConfig;
+ }
+ }
+
+ extend(config, bestMoment || tempConfig);
+ }
+
+ // date from iso format
+ function parseISO(config) {
+ var i, l,
+ string = config._i,
+ match = isoRegex.exec(string);
+
+ if (match) {
+ config._pf.iso = true;
+ for (i = 0, l = isoDates.length; i < l; i++) {
+ if (isoDates[i][1].exec(string)) {
+ // match[5] should be 'T' or undefined
+ config._f = isoDates[i][0] + (match[6] || ' ');
+ break;
+ }
+ }
+ for (i = 0, l = isoTimes.length; i < l; i++) {
+ if (isoTimes[i][1].exec(string)) {
+ config._f += isoTimes[i][0];
+ break;
+ }
+ }
+ if (string.match(parseTokenTimezone)) {
+ config._f += 'Z';
+ }
+ makeDateFromStringAndFormat(config);
+ } else {
+ config._isValid = false;
+ }
+ }
+
+ // date from iso format or fallback
+ function makeDateFromString(config) {
+ parseISO(config);
+ if (config._isValid === false) {
+ delete config._isValid;
+ moment.createFromInputFallback(config);
+ }
+ }
+
+ function map(arr, fn) {
+ var res = [], i;
+ for (i = 0; i < arr.length; ++i) {
+ res.push(fn(arr[i], i));
+ }
+ return res;
+ }
+
+ function makeDateFromInput(config) {
+ var input = config._i, matched;
+ if (input === undefined) {
+ config._d = new Date();
+ } else if (isDate(input)) {
+ config._d = new Date(+input);
+ } else if ((matched = aspNetJsonRegex.exec(input)) !== null) {
+ config._d = new Date(+matched[1]);
+ } else if (typeof input === 'string') {
+ makeDateFromString(config);
+ } else if (isArray(input)) {
+ config._a = map(input.slice(0), function (obj) {
+ return parseInt(obj, 10);
+ });
+ dateFromConfig(config);
+ } else if (typeof(input) === 'object') {
+ dateFromObject(config);
+ } else if (typeof(input) === 'number') {
+ // from milliseconds
+ config._d = new Date(input);
+ } else {
+ moment.createFromInputFallback(config);
+ }
+ }
+
+ function makeDate(y, m, d, h, M, s, ms) {
+ //can't just apply() to create a date:
+ //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
+ var date = new Date(y, m, d, h, M, s, ms);
+
+ //the date constructor doesn't accept years < 1970
+ if (y < 1970) {
+ date.setFullYear(y);
+ }
+ return date;
+ }
+
+ function makeUTCDate(y) {
+ var date = new Date(Date.UTC.apply(null, arguments));
+ if (y < 1970) {
+ date.setUTCFullYear(y);
+ }
+ return date;
+ }
+
+ function parseWeekday(input, locale) {
+ if (typeof input === 'string') {
+ if (!isNaN(input)) {
+ input = parseInt(input, 10);
+ }
+ else {
+ input = locale.weekdaysParse(input);
+ if (typeof input !== 'number') {
+ return null;
+ }
+ }
+ }
+ return input;
+ }
+
+ /************************************
+ Relative Time
+ ************************************/
+
+
+ // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
+ function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
+ return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
+ }
+
+ function relativeTime(posNegDuration, withoutSuffix, locale) {
+ var duration = moment.duration(posNegDuration).abs(),
+ seconds = round(duration.as('s')),
+ minutes = round(duration.as('m')),
+ hours = round(duration.as('h')),
+ days = round(duration.as('d')),
+ months = round(duration.as('M')),
+ years = round(duration.as('y')),
+
+ args = seconds < relativeTimeThresholds.s && ['s', seconds] ||
+ minutes === 1 && ['m'] ||
+ minutes < relativeTimeThresholds.m && ['mm', minutes] ||
+ hours === 1 && ['h'] ||
+ hours < relativeTimeThresholds.h && ['hh', hours] ||
+ days === 1 && ['d'] ||
+ days < relativeTimeThresholds.d && ['dd', days] ||
+ months === 1 && ['M'] ||
+ months < relativeTimeThresholds.M && ['MM', months] ||
+ years === 1 && ['y'] || ['yy', years];
+
+ args[2] = withoutSuffix;
+ args[3] = +posNegDuration > 0;
+ args[4] = locale;
+ return substituteTimeAgo.apply({}, args);
+ }
+
+
+ /************************************
+ Week of Year
+ ************************************/
+
+
+ // firstDayOfWeek 0 = sun, 6 = sat
+ // the day of the week that starts the week
+ // (usually sunday or monday)
+ // firstDayOfWeekOfYear 0 = sun, 6 = sat
+ // the first week is the week that contains the first
+ // of this day of the week
+ // (eg. ISO weeks use thursday (4))
+ function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) {
+ var end = firstDayOfWeekOfYear - firstDayOfWeek,
+ daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(),
+ adjustedMoment;
+
+
+ if (daysToDayOfWeek > end) {
+ daysToDayOfWeek -= 7;
+ }
+
+ if (daysToDayOfWeek < end - 7) {
+ daysToDayOfWeek += 7;
+ }
+
+ adjustedMoment = moment(mom).add(daysToDayOfWeek, 'd');
+ return {
+ week: Math.ceil(adjustedMoment.dayOfYear() / 7),
+ year: adjustedMoment.year()
+ };
+ }
+
+ //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
+ function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) {
+ var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear;
+
+ d = d === 0 ? 7 : d;
+ weekday = weekday != null ? weekday : firstDayOfWeek;
+ daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0);
+ dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1;
+
+ return {
+ year: dayOfYear > 0 ? year : year - 1,
+ dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear
+ };
+ }
+
+ /************************************
+ Top Level Functions
+ ************************************/
+
+ function makeMoment(config) {
+ var input = config._i,
+ format = config._f;
+
+ config._locale = config._locale || moment.localeData(config._l);
+
+ if (input === null || (format === undefined && input === '')) {
+ return moment.invalid({nullInput: true});
+ }
+
+ if (typeof input === 'string') {
+ config._i = input = config._locale.preparse(input);
+ }
+
+ if (moment.isMoment(input)) {
+ return new Moment(input, true);
+ } else if (format) {
+ if (isArray(format)) {
+ makeDateFromStringAndArray(config);
+ } else {
+ makeDateFromStringAndFormat(config);
+ }
+ } else {
+ makeDateFromInput(config);
+ }
+
+ return new Moment(config);
+ }
+
+ moment = function (input, format, locale, strict) {
+ var c;
+
+ if (typeof(locale) === 'boolean') {
+ strict = locale;
+ locale = undefined;
+ }
+ // object construction must be done this way.
+ // https://github.com/moment/moment/issues/1423
+ c = {};
+ c._isAMomentObject = true;
+ c._i = input;
+ c._f = format;
+ c._l = locale;
+ c._strict = strict;
+ c._isUTC = false;
+ c._pf = defaultParsingFlags();
+
+ return makeMoment(c);
+ };
+
+ moment.suppressDeprecationWarnings = false;
+
+ moment.createFromInputFallback = deprecate(
+ 'moment construction falls back to js Date. This is ' +
+ 'discouraged and will be removed in upcoming major ' +
+ 'release. Please refer to ' +
+ 'https://github.com/moment/moment/issues/1407 for more info.',
+ function (config) {
+ config._d = new Date(config._i);
+ }
+ );
+
+ // Pick a moment m from moments so that m[fn](other) is true for all
+ // other. This relies on the function fn to be transitive.
+ //
+ // moments should either be an array of moment objects or an array, whose
+ // first element is an array of moment objects.
+ function pickBy(fn, moments) {
+ var res, i;
+ if (moments.length === 1 && isArray(moments[0])) {
+ moments = moments[0];
+ }
+ if (!moments.length) {
+ return moment();
+ }
+ res = moments[0];
+ for (i = 1; i < moments.length; ++i) {
+ if (moments[i][fn](res)) {
+ res = moments[i];
+ }
+ }
+ return res;
+ }
+
+ moment.min = function () {
+ var args = [].slice.call(arguments, 0);
+
+ return pickBy('isBefore', args);
+ };
+
+ moment.max = function () {
+ var args = [].slice.call(arguments, 0);
+
+ return pickBy('isAfter', args);
+ };
+
+ // creating with utc
+ moment.utc = function (input, format, locale, strict) {
+ var c;
+
+ if (typeof(locale) === 'boolean') {
+ strict = locale;
+ locale = undefined;
+ }
+ // object construction must be done this way.
+ // https://github.com/moment/moment/issues/1423
+ c = {};
+ c._isAMomentObject = true;
+ c._useUTC = true;
+ c._isUTC = true;
+ c._l = locale;
+ c._i = input;
+ c._f = format;
+ c._strict = strict;
+ c._pf = defaultParsingFlags();
+
+ return makeMoment(c).utc();
+ };
+
+ // creating with unix timestamp (in seconds)
+ moment.unix = function (input) {
+ return moment(input * 1000);
+ };
+
+ // duration
+ moment.duration = function (input, key) {
+ var duration = input,
+ // matching against regexp is expensive, do it on demand
+ match = null,
+ sign,
+ ret,
+ parseIso,
+ diffRes;
+
+ if (moment.isDuration(input)) {
+ duration = {
+ ms: input._milliseconds,
+ d: input._days,
+ M: input._months
+ };
+ } else if (typeof input === 'number') {
+ duration = {};
+ if (key) {
+ duration[key] = input;
+ } else {
+ duration.milliseconds = input;
+ }
+ } else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) {
+ sign = (match[1] === '-') ? -1 : 1;
+ duration = {
+ y: 0,
+ d: toInt(match[DATE]) * sign,
+ h: toInt(match[HOUR]) * sign,
+ m: toInt(match[MINUTE]) * sign,
+ s: toInt(match[SECOND]) * sign,
+ ms: toInt(match[MILLISECOND]) * sign
+ };
+ } else if (!!(match = isoDurationRegex.exec(input))) {
+ sign = (match[1] === '-') ? -1 : 1;
+ parseIso = function (inp) {
+ // We'd normally use ~~inp for this, but unfortunately it also
+ // converts floats to ints.
+ // inp may be undefined, so careful calling replace on it.
+ var res = inp && parseFloat(inp.replace(',', '.'));
+ // apply sign while we're at it
+ return (isNaN(res) ? 0 : res) * sign;
+ };
+ duration = {
+ y: parseIso(match[2]),
+ M: parseIso(match[3]),
+ d: parseIso(match[4]),
+ h: parseIso(match[5]),
+ m: parseIso(match[6]),
+ s: parseIso(match[7]),
+ w: parseIso(match[8])
+ };
+ } else if (typeof duration === 'object' &&
+ ('from' in duration || 'to' in duration)) {
+ diffRes = momentsDifference(moment(duration.from), moment(duration.to));
+
+ duration = {};
+ duration.ms = diffRes.milliseconds;
+ duration.M = diffRes.months;
+ }
+
+ ret = new Duration(duration);
+
+ if (moment.isDuration(input) && hasOwnProp(input, '_locale')) {
+ ret._locale = input._locale;
+ }
+
+ return ret;
+ };
+
+ // version number
+ moment.version = VERSION;
+
+ // default format
+ moment.defaultFormat = isoFormat;
+
+ // constant that refers to the ISO standard
+ moment.ISO_8601 = function () {};
+
+ // Plugins that add properties should also add the key here (null value),
+ // so we can properly clone ourselves.
+ moment.momentProperties = momentProperties;
+
+ // This function will be called whenever a moment is mutated.
+ // It is intended to keep the offset in sync with the timezone.
+ moment.updateOffset = function () {};
+
+ // This function allows you to set a threshold for relative time strings
+ moment.relativeTimeThreshold = function (threshold, limit) {
+ if (relativeTimeThresholds[threshold] === undefined) {
+ return false;
+ }
+ if (limit === undefined) {
+ return relativeTimeThresholds[threshold];
+ }
+ relativeTimeThresholds[threshold] = limit;
+ return true;
+ };
+
+ moment.lang = deprecate(
+ 'moment.lang is deprecated. Use moment.locale instead.',
+ function (key, value) {
+ return moment.locale(key, value);
+ }
+ );
+
+ // This function will load locale and then set the global locale. If
+ // no arguments are passed in, it will simply return the current global
+ // locale key.
+ moment.locale = function (key, values) {
+ var data;
+ if (key) {
+ if (typeof(values) !== 'undefined') {
+ data = moment.defineLocale(key, values);
+ }
+ else {
+ data = moment.localeData(key);
+ }
+
+ if (data) {
+ moment.duration._locale = moment._locale = data;
+ }
+ }
+
+ return moment._locale._abbr;
+ };
+
+ moment.defineLocale = function (name, values) {
+ if (values !== null) {
+ values.abbr = name;
+ if (!locales[name]) {
+ locales[name] = new Locale();
+ }
+ locales[name].set(values);
+
+ // backwards compat for now: also set the locale
+ moment.locale(name);
+
+ return locales[name];
+ } else {
+ // useful for testing
+ delete locales[name];
+ return null;
+ }
+ };
+
+ moment.langData = deprecate(
+ 'moment.langData is deprecated. Use moment.localeData instead.',
+ function (key) {
+ return moment.localeData(key);
+ }
+ );
+
+ // returns locale data
+ moment.localeData = function (key) {
+ var locale;
+
+ if (key && key._locale && key._locale._abbr) {
+ key = key._locale._abbr;
+ }
+
+ if (!key) {
+ return moment._locale;
+ }
+
+ if (!isArray(key)) {
+ //short-circuit everything else
+ locale = loadLocale(key);
+ if (locale) {
+ return locale;
+ }
+ key = [key];
+ }
+
+ return chooseLocale(key);
+ };
+
+ // compare moment object
+ moment.isMoment = function (obj) {
+ return obj instanceof Moment ||
+ (obj != null && hasOwnProp(obj, '_isAMomentObject'));
+ };
+
+ // for typechecking Duration objects
+ moment.isDuration = function (obj) {
+ return obj instanceof Duration;
+ };
+
+ for (i = lists.length - 1; i >= 0; --i) {
+ makeList(lists[i]);
+ }
+
+ moment.normalizeUnits = function (units) {
+ return normalizeUnits(units);
+ };
+
+ moment.invalid = function (flags) {
+ var m = moment.utc(NaN);
+ if (flags != null) {
+ extend(m._pf, flags);
+ }
+ else {
+ m._pf.userInvalidated = true;
+ }
+
+ return m;
+ };
+
+ moment.parseZone = function () {
+ return moment.apply(null, arguments).parseZone();
+ };
+
+ moment.parseTwoDigitYear = function (input) {
+ return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+ };
+
+ /************************************
+ Moment Prototype
+ ************************************/
+
+
+ extend(moment.fn = Moment.prototype, {
+
+ clone : function () {
+ return moment(this);
+ },
+
+ valueOf : function () {
+ return +this._d + ((this._offset || 0) * 60000);
+ },
+
+ unix : function () {
+ return Math.floor(+this / 1000);
+ },
+
+ toString : function () {
+ return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
+ },
+
+ toDate : function () {
+ return this._offset ? new Date(+this) : this._d;
+ },
+
+ toISOString : function () {
+ var m = moment(this).utc();
+ if (0 < m.year() && m.year() <= 9999) {
+ return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
+ } else {
+ return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
+ }
+ },
+
+ toArray : function () {
+ var m = this;
+ return [
+ m.year(),
+ m.month(),
+ m.date(),
+ m.hours(),
+ m.minutes(),
+ m.seconds(),
+ m.milliseconds()
+ ];
+ },
+
+ isValid : function () {
+ return isValid(this);
+ },
+
+ isDSTShifted : function () {
+ if (this._a) {
+ return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0;
+ }
+
+ return false;
+ },
+
+ parsingFlags : function () {
+ return extend({}, this._pf);
+ },
+
+ invalidAt: function () {
+ return this._pf.overflow;
+ },
+
+ utc : function (keepLocalTime) {
+ return this.zone(0, keepLocalTime);
+ },
+
+ local : function (keepLocalTime) {
+ if (this._isUTC) {
+ this.zone(0, keepLocalTime);
+ this._isUTC = false;
+
+ if (keepLocalTime) {
+ this.add(this._dateTzOffset(), 'm');
+ }
+ }
+ return this;
+ },
+
+ format : function (inputString) {
+ var output = formatMoment(this, inputString || moment.defaultFormat);
+ return this.localeData().postformat(output);
+ },
+
+ add : createAdder(1, 'add'),
+
+ subtract : createAdder(-1, 'subtract'),
+
+ diff : function (input, units, asFloat) {
+ var that = makeAs(input, this),
+ zoneDiff = (this.zone() - that.zone()) * 6e4,
+ diff, output, daysAdjust;
+
+ units = normalizeUnits(units);
+
+ if (units === 'year' || units === 'month') {
+ // average number of days in the months in the given dates
+ diff = (this.daysInMonth() + that.daysInMonth()) * 432e5; // 24 * 60 * 60 * 1000 / 2
+ // difference in months
+ output = ((this.year() - that.year()) * 12) + (this.month() - that.month());
+ // adjust by taking difference in days, average number of days
+ // and dst in the given months.
+ daysAdjust = (this - moment(this).startOf('month')) -
+ (that - moment(that).startOf('month'));
+ // same as above but with zones, to negate all dst
+ daysAdjust -= ((this.zone() - moment(this).startOf('month').zone()) -
+ (that.zone() - moment(that).startOf('month').zone())) * 6e4;
+ output += daysAdjust / diff;
+ if (units === 'year') {
+ output = output / 12;
+ }
+ } else {
+ diff = (this - that);
+ output = units === 'second' ? diff / 1e3 : // 1000
+ units === 'minute' ? diff / 6e4 : // 1000 * 60
+ units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60
+ units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst
+ units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst
+ diff;
+ }
+ return asFloat ? output : absRound(output);
+ },
+
+ from : function (time, withoutSuffix) {
+ return moment.duration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
+ },
+
+ fromNow : function (withoutSuffix) {
+ return this.from(moment(), withoutSuffix);
+ },
+
+ calendar : function (time) {
+ // We want to compare the start of today, vs this.
+ // Getting start-of-today depends on whether we're zone'd or not.
+ var now = time || moment(),
+ sod = makeAs(now, this).startOf('day'),
+ diff = this.diff(sod, 'days', true),
+ format = diff < -6 ? 'sameElse' :
+ diff < -1 ? 'lastWeek' :
+ diff < 0 ? 'lastDay' :
+ diff < 1 ? 'sameDay' :
+ diff < 2 ? 'nextDay' :
+ diff < 7 ? 'nextWeek' : 'sameElse';
+ return this.format(this.localeData().calendar(format, this));
+ },
+
+ isLeapYear : function () {
+ return isLeapYear(this.year());
+ },
+
+ isDST : function () {
+ return (this.zone() < this.clone().month(0).zone() ||
+ this.zone() < this.clone().month(5).zone());
+ },
+
+ day : function (input) {
+ var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+ if (input != null) {
+ input = parseWeekday(input, this.localeData());
+ return this.add(input - day, 'd');
+ } else {
+ return day;
+ }
+ },
+
+ month : makeAccessor('Month', true),
+
+ startOf : function (units) {
+ units = normalizeUnits(units);
+ // the following switch intentionally omits break keywords
+ // to utilize falling through the cases.
+ switch (units) {
+ case 'year':
+ this.month(0);
+ /* falls through */
+ case 'quarter':
+ case 'month':
+ this.date(1);
+ /* falls through */
+ case 'week':
+ case 'isoWeek':
+ case 'day':
+ this.hours(0);
+ /* falls through */
+ case 'hour':
+ this.minutes(0);
+ /* falls through */
+ case 'minute':
+ this.seconds(0);
+ /* falls through */
+ case 'second':
+ this.milliseconds(0);
+ /* falls through */
+ }
+
+ // weeks are a special case
+ if (units === 'week') {
+ this.weekday(0);
+ } else if (units === 'isoWeek') {
+ this.isoWeekday(1);
+ }
+
+ // quarters are also special
+ if (units === 'quarter') {
+ this.month(Math.floor(this.month() / 3) * 3);
+ }
+
+ return this;
+ },
+
+ endOf: function (units) {
+ units = normalizeUnits(units);
+ return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');
+ },
+
+ isAfter: function (input, units) {
+ units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
+ if (units === 'millisecond') {
+ input = moment.isMoment(input) ? input : moment(input);
+ return +this > +input;
+ } else {
+ return +this.clone().startOf(units) > +moment(input).startOf(units);
+ }
+ },
+
+ isBefore: function (input, units) {
+ units = normalizeUnits(typeof units !== 'undefined' ? units : 'millisecond');
+ if (units === 'millisecond') {
+ input = moment.isMoment(input) ? input : moment(input);
+ return +this < +input;
+ } else {
+ return +this.clone().startOf(units) < +moment(input).startOf(units);
+ }
+ },
+
+ isSame: function (input, units) {
+ units = normalizeUnits(units || 'millisecond');
+ if (units === 'millisecond') {
+ input = moment.isMoment(input) ? input : moment(input);
+ return +this === +input;
+ } else {
+ return +this.clone().startOf(units) === +makeAs(input, this).startOf(units);
+ }
+ },
+
+ min: deprecate(
+ 'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548',
+ function (other) {
+ other = moment.apply(null, arguments);
+ return other < this ? this : other;
+ }
+ ),
+
+ max: deprecate(
+ 'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548',
+ function (other) {
+ other = moment.apply(null, arguments);
+ return other > this ? this : other;
+ }
+ ),
+
+ // keepLocalTime = true means only change the timezone, without
+ // affecting the local hour. So 5:31:26 +0300 --[zone(2, true)]-->
+ // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist int zone
+ // +0200, so we adjust the time as needed, to be valid.
+ //
+ // Keeping the time actually adds/subtracts (one hour)
+ // from the actual represented time. That is why we call updateOffset
+ // a second time. In case it wants us to change the offset again
+ // _changeInProgress == true case, then we have to adjust, because
+ // there is no such time in the given timezone.
+ zone : function (input, keepLocalTime) {
+ var offset = this._offset || 0,
+ localAdjust;
+ if (input != null) {
+ if (typeof input === 'string') {
+ input = timezoneMinutesFromString(input);
+ }
+ if (Math.abs(input) < 16) {
+ input = input * 60;
+ }
+ if (!this._isUTC && keepLocalTime) {
+ localAdjust = this._dateTzOffset();
+ }
+ this._offset = input;
+ this._isUTC = true;
+ if (localAdjust != null) {
+ this.subtract(localAdjust, 'm');
+ }
+ if (offset !== input) {
+ if (!keepLocalTime || this._changeInProgress) {
+ addOrSubtractDurationFromMoment(this,
+ moment.duration(offset - input, 'm'), 1, false);
+ } else if (!this._changeInProgress) {
+ this._changeInProgress = true;
+ moment.updateOffset(this, true);
+ this._changeInProgress = null;
+ }
+ }
+ } else {
+ return this._isUTC ? offset : this._dateTzOffset();
+ }
+ return this;
+ },
+
+ zoneAbbr : function () {
+ return this._isUTC ? 'UTC' : '';
+ },
+
+ zoneName : function () {
+ return this._isUTC ? 'Coordinated Universal Time' : '';
+ },
+
+ parseZone : function () {
+ if (this._tzm) {
+ this.zone(this._tzm);
+ } else if (typeof this._i === 'string') {
+ this.zone(this._i);
+ }
+ return this;
+ },
+
+ hasAlignedHourOffset : function (input) {
+ if (!input) {
+ input = 0;
+ }
+ else {
+ input = moment(input).zone();
+ }
+
+ return (this.zone() - input) % 60 === 0;
+ },
+
+ daysInMonth : function () {
+ return daysInMonth(this.year(), this.month());
+ },
+
+ dayOfYear : function (input) {
+ var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1;
+ return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
+ },
+
+ quarter : function (input) {
+ return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
+ },
+
+ weekYear : function (input) {
+ var year = weekOfYear(this, this.localeData()._week.dow, this.localeData()._week.doy).year;
+ return input == null ? year : this.add((input - year), 'y');
+ },
+
+ isoWeekYear : function (input) {
+ var year = weekOfYear(this, 1, 4).year;
+ return input == null ? year : this.add((input - year), 'y');
+ },
+
+ week : function (input) {
+ var week = this.localeData().week(this);
+ return input == null ? week : this.add((input - week) * 7, 'd');
+ },
+
+ isoWeek : function (input) {
+ var week = weekOfYear(this, 1, 4).week;
+ return input == null ? week : this.add((input - week) * 7, 'd');
+ },
+
+ weekday : function (input) {
+ var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
+ return input == null ? weekday : this.add(input - weekday, 'd');
+ },
+
+ isoWeekday : function (input) {
+ // behaves the same as moment#day except
+ // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
+ // as a setter, sunday should belong to the previous week.
+ return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7);
+ },
+
+ isoWeeksInYear : function () {
+ return weeksInYear(this.year(), 1, 4);
+ },
+
+ weeksInYear : function () {
+ var weekInfo = this.localeData()._week;
+ return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
+ },
+
+ get : function (units) {
+ units = normalizeUnits(units);
+ return this[units]();
+ },
+
+ set : function (units, value) {
+ units = normalizeUnits(units);
+ if (typeof this[units] === 'function') {
+ this[units](value);
+ }
+ return this;
+ },
+
+ // If passed a locale key, it will set the locale for this
+ // instance. Otherwise, it will return the locale configuration
+ // variables for this instance.
+ locale : function (key) {
+ var newLocaleData;
+
+ if (key === undefined) {
+ return this._locale._abbr;
+ } else {
+ newLocaleData = moment.localeData(key);
+ if (newLocaleData != null) {
+ this._locale = newLocaleData;
+ }
+ return this;
+ }
+ },
+
+ lang : deprecate(
+ 'moment().lang() is deprecated. Use moment().localeData() instead.',
+ function (key) {
+ if (key === undefined) {
+ return this.localeData();
+ } else {
+ return this.locale(key);
+ }
+ }
+ ),
+
+ localeData : function () {
+ return this._locale;
+ },
+
+ _dateTzOffset : function () {
+ // On Firefox.24 Date#getTimezoneOffset returns a floating point.
+ // https://github.com/moment/moment/pull/1871
+ return Math.round(this._d.getTimezoneOffset() / 15) * 15;
+ }
+ });
+
+ function rawMonthSetter(mom, value) {
+ var dayOfMonth;
+
+ // TODO: Move this out of here!
+ if (typeof value === 'string') {
+ value = mom.localeData().monthsParse(value);
+ // TODO: Another silent failure?
+ if (typeof value !== 'number') {
+ return mom;
+ }
+ }
+
+ dayOfMonth = Math.min(mom.date(),
+ daysInMonth(mom.year(), value));
+ mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
+ return mom;
+ }
+
+ function rawGetter(mom, unit) {
+ return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]();
+ }
+
+ function rawSetter(mom, unit, value) {
+ if (unit === 'Month') {
+ return rawMonthSetter(mom, value);
+ } else {
+ return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
+ }
+ }
+
+ function makeAccessor(unit, keepTime) {
+ return function (value) {
+ if (value != null) {
+ rawSetter(this, unit, value);
+ moment.updateOffset(this, keepTime);
+ return this;
+ } else {
+ return rawGetter(this, unit);
+ }
+ };
+ }
+
+ moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false);
+ moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false);
+ moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false);
+ // Setting the hour should keep the time, because the user explicitly
+ // specified which hour he wants. So trying to maintain the same hour (in
+ // a new timezone) makes sense. Adding/subtracting hours does not follow
+ // this rule.
+ moment.fn.hour = moment.fn.hours = makeAccessor('Hours', true);
+ // moment.fn.month is defined separately
+ moment.fn.date = makeAccessor('Date', true);
+ moment.fn.dates = deprecate('dates accessor is deprecated. Use date instead.', makeAccessor('Date', true));
+ moment.fn.year = makeAccessor('FullYear', true);
+ moment.fn.years = deprecate('years accessor is deprecated. Use year instead.', makeAccessor('FullYear', true));
+
+ // add plural methods
+ moment.fn.days = moment.fn.day;
+ moment.fn.months = moment.fn.month;
+ moment.fn.weeks = moment.fn.week;
+ moment.fn.isoWeeks = moment.fn.isoWeek;
+ moment.fn.quarters = moment.fn.quarter;
+
+ // add aliased format methods
+ moment.fn.toJSON = moment.fn.toISOString;
+
+ /************************************
+ Duration Prototype
+ ************************************/
+
+
+ function daysToYears (days) {
+ // 400 years have 146097 days (taking into account leap year rules)
+ return days * 400 / 146097;
+ }
+
+ function yearsToDays (years) {
+ // years * 365 + absRound(years / 4) -
+ // absRound(years / 100) + absRound(years / 400);
+ return years * 146097 / 400;
+ }
+
+ extend(moment.duration.fn = Duration.prototype, {
+
+ _bubble : function () {
+ var milliseconds = this._milliseconds,
+ days = this._days,
+ months = this._months,
+ data = this._data,
+ seconds, minutes, hours, years = 0;
+
+ // The following code bubbles up values, see the tests for
+ // examples of what that means.
+ data.milliseconds = milliseconds % 1000;
+
+ seconds = absRound(milliseconds / 1000);
+ data.seconds = seconds % 60;
+
+ minutes = absRound(seconds / 60);
+ data.minutes = minutes % 60;
+
+ hours = absRound(minutes / 60);
+ data.hours = hours % 24;
+
+ days += absRound(hours / 24);
+
+ // Accurately convert days to years, assume start from year 0.
+ years = absRound(daysToYears(days));
+ days -= absRound(yearsToDays(years));
+
+ // 30 days to a month
+ // TODO (iskren): Use anchor date (like 1st Jan) to compute this.
+ months += absRound(days / 30);
+ days %= 30;
+
+ // 12 months -> 1 year
+ years += absRound(months / 12);
+ months %= 12;
+
+ data.days = days;
+ data.months = months;
+ data.years = years;
+ },
+
+ abs : function () {
+ this._milliseconds = Math.abs(this._milliseconds);
+ this._days = Math.abs(this._days);
+ this._months = Math.abs(this._months);
+
+ this._data.milliseconds = Math.abs(this._data.milliseconds);
+ this._data.seconds = Math.abs(this._data.seconds);
+ this._data.minutes = Math.abs(this._data.minutes);
+ this._data.hours = Math.abs(this._data.hours);
+ this._data.months = Math.abs(this._data.months);
+ this._data.years = Math.abs(this._data.years);
+
+ return this;
+ },
+
+ weeks : function () {
+ return absRound(this.days() / 7);
+ },
+
+ valueOf : function () {
+ return this._milliseconds +
+ this._days * 864e5 +
+ (this._months % 12) * 2592e6 +
+ toInt(this._months / 12) * 31536e6;
+ },
+
+ humanize : function (withSuffix) {
+ var output = relativeTime(this, !withSuffix, this.localeData());
+
+ if (withSuffix) {
+ output = this.localeData().pastFuture(+this, output);
+ }
+
+ return this.localeData().postformat(output);
+ },
+
+ add : function (input, val) {
+ // supports only 2.0-style add(1, 's') or add(moment)
+ var dur = moment.duration(input, val);
+
+ this._milliseconds += dur._milliseconds;
+ this._days += dur._days;
+ this._months += dur._months;
+
+ this._bubble();
+
+ return this;
+ },
+
+ subtract : function (input, val) {
+ var dur = moment.duration(input, val);
+
+ this._milliseconds -= dur._milliseconds;
+ this._days -= dur._days;
+ this._months -= dur._months;
+
+ this._bubble();
+
+ return this;
+ },
+
+ get : function (units) {
+ units = normalizeUnits(units);
+ return this[units.toLowerCase() + 's']();
+ },
+
+ as : function (units) {
+ var days, months;
+ units = normalizeUnits(units);
+
+ if (units === 'month' || units === 'year') {
+ days = this._days + this._milliseconds / 864e5;
+ months = this._months + daysToYears(days) * 12;
+ return units === 'month' ? months : months / 12;
+ } else {
+ // handle milliseconds separately because of floating point math errors (issue #1867)
+ days = this._days + yearsToDays(this._months / 12);
+ switch (units) {
+ case 'week': return days / 7 + this._milliseconds / 6048e5;
+ case 'day': return days + this._milliseconds / 864e5;
+ case 'hour': return days * 24 + this._milliseconds / 36e5;
+ case 'minute': return days * 24 * 60 + this._milliseconds / 6e4;
+ case 'second': return days * 24 * 60 * 60 + this._milliseconds / 1000;
+ // Math.floor prevents floating point math errors here
+ case 'millisecond': return Math.floor(days * 24 * 60 * 60 * 1000) + this._milliseconds;
+ default: throw new Error('Unknown unit ' + units);
+ }
+ }
+ },
+
+ lang : moment.fn.lang,
+ locale : moment.fn.locale,
+
+ toIsoString : deprecate(
+ 'toIsoString() is deprecated. Please use toISOString() instead ' +
+ '(notice the capitals)',
+ function () {
+ return this.toISOString();
+ }
+ ),
+
+ toISOString : function () {
+ // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
+ var years = Math.abs(this.years()),
+ months = Math.abs(this.months()),
+ days = Math.abs(this.days()),
+ hours = Math.abs(this.hours()),
+ minutes = Math.abs(this.minutes()),
+ seconds = Math.abs(this.seconds() + this.milliseconds() / 1000);
+
+ if (!this.asSeconds()) {
+ // this is the same as C#'s (Noda) and python (isodate)...
+ // but not other JS (goog.date)
+ return 'P0D';
+ }
+
+ return (this.asSeconds() < 0 ? '-' : '') +
+ 'P' +
+ (years ? years + 'Y' : '') +
+ (months ? months + 'M' : '') +
+ (days ? days + 'D' : '') +
+ ((hours || minutes || seconds) ? 'T' : '') +
+ (hours ? hours + 'H' : '') +
+ (minutes ? minutes + 'M' : '') +
+ (seconds ? seconds + 'S' : '');
+ },
+
+ localeData : function () {
+ return this._locale;
+ }
+ });
+
+ moment.duration.fn.toString = moment.duration.fn.toISOString;
+
+ function makeDurationGetter(name) {
+ moment.duration.fn[name] = function () {
+ return this._data[name];
+ };
+ }
+
+ for (i in unitMillisecondFactors) {
+ if (hasOwnProp(unitMillisecondFactors, i)) {
+ makeDurationGetter(i.toLowerCase());
+ }
+ }
+
+ moment.duration.fn.asMilliseconds = function () {
+ return this.as('ms');
+ };
+ moment.duration.fn.asSeconds = function () {
+ return this.as('s');
+ };
+ moment.duration.fn.asMinutes = function () {
+ return this.as('m');
+ };
+ moment.duration.fn.asHours = function () {
+ return this.as('h');
+ };
+ moment.duration.fn.asDays = function () {
+ return this.as('d');
+ };
+ moment.duration.fn.asWeeks = function () {
+ return this.as('weeks');
+ };
+ moment.duration.fn.asMonths = function () {
+ return this.as('M');
+ };
+ moment.duration.fn.asYears = function () {
+ return this.as('y');
+ };
+
+ /************************************
+ Default Locale
+ ************************************/
+
+
+ // Set default locale, other locale will inherit from English.
+ moment.locale('en', {
+ ordinal : function (number) {
+ var b = number % 10,
+ output = (toInt(number % 100 / 10) === 1) ? 'th' :
+ (b === 1) ? 'st' :
+ (b === 2) ? 'nd' :
+ (b === 3) ? 'rd' : 'th';
+ return number + output;
+ }
+ });
+
+ return moment;
+
+ }).call(this);
+
+ UI.Utils.moment = moment;
+
+ return UI.datepicker;
+});
diff --git a/uikit/static/js/components/datepicker.min.js b/uikit/static/js/components/datepicker.min.js
new file mode 100644
index 0000000..9a30a1f
--- /dev/null
+++ b/uikit/static/js/components/datepicker.min.js
@@ -0,0 +1,3 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var e;window.UIkit&&(e=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-datepicker",["uikit"],function(){return e||t(UIkit)})}(function(t){"use strict";var e,n,a=!1;return t.component("datepicker",{defaults:{mobile:!1,weekstart:1,i18n:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},format:"DD.MM.YYYY",offsettop:5,maxDate:!1,minDate:!1,pos:"auto",template:function(e,a){var s,i,r,o="";if(a.maxDate!==!1&&(s=isNaN(a.maxDate)?n(a.maxDate,a.format):n().add(a.maxDate,"days")),a.minDate!==!1&&(i=isNaN(a.minDate)?n(a.minDate,a.format):n().add(a.minDate-1,"days")),o+='<div class="uk-datepicker-nav">',o+='<a href="" class="uk-datepicker-previous"></a>',o+='<a href="" class="uk-datepicker-next"></a>',t.formSelect){var u,c,d,l,h=(new Date).getFullYear(),f=[];for(r=0;r<a.i18n.months.length;r++)r==e.month?f.push('<option value="'+r+'" selected>'+a.i18n.months[r]+"</option>"):f.push('<option value="'+r+'">'+a.i18n.months[r]+"</option>");for(u='<span class="uk-form-select">'+a.i18n.months[e.month]+'<select class="update-picker-month">'+f.join("")+"</select></span>",f=[],d=i?i.year():h-50,l=s?s.year():h+20,r=d;l>=r;r++)r==e.year?f.push('<option value="'+r+'" selected>'+r+"</option>"):f.push('<option value="'+r+'">'+r+"</option>");c='<span class="uk-form-select">'+e.year+'<select class="update-picker-year">'+f.join("")+"</select></span>",o+='<div class="uk-datepicker-heading">'+u+" "+c+"</div>"}else o+='<div class="uk-datepicker-heading">'+a.i18n.months[e.month]+" "+e.year+"</div>";for(o+="</div>",o+='<table class="uk-datepicker-table">',o+="<thead>",r=0;r<e.weekdays.length;r++)e.weekdays[r]&&(o+="<th>"+e.weekdays[r]+"</th>");for(o+="</thead>",o+="<tbody>",r=0;r<e.days.length;r++)if(e.days[r]&&e.days[r].length){o+="<tr>";for(var m=0;m<e.days[r].length;m++)if(e.days[r][m]){var _=e.days[r][m],p=[];_.inmonth||p.push("uk-datepicker-table-muted"),_.selected&&p.push("uk-active"),s&&_.day>s&&p.push("uk-datepicker-date-disabled uk-datepicker-table-muted"),i&&i>_.day&&p.push("uk-datepicker-date-disabled uk-datepicker-table-muted"),o+='<td><a href="" class="'+p.join(" ")+'" data-date="'+_.day.format()+'">'+_.day.format("D")+"</a></td>"}o+="</tr>"}return o+="</tbody>",o+="</table>"}},boot:function(){t.$win.on("resize orientationchange",function(){a&&a.hide()}),t.$html.on("focus.datepicker.uikit","[data-uk-datepicker]",function(e){var n=t.$(this);if(!n.data("datepicker")){e.preventDefault();{t.datepicker(n,t.Utils.options(n.attr("data-uk-datepicker")))}n.trigger("focus")}}),t.$html.on("click.datepicker.uikit",function(n){var s=t.$(n.target);!a||s[0]==e[0]||s.data("datepicker")||s.parents(".uk-datepicker:first").length||a.hide()})},init:function(){if(!t.support.touch||"date"!=this.element.attr("type")||this.options.mobile){var s=this;this.current=this.element.val()?n(this.element.val(),this.options.format):n(),this.on("click focus",function(){a!==s&&s.pick(this.value?this.value:s.options.minDate?s.options.minDate:"")}).on("change",function(){s.element.val()&&!n(s.element.val(),s.options.format).isValid()&&s.element.val(n().format(s.options.format))}),e||(e=t.$('<div class="uk-dropdown uk-datepicker"></div>'),e.on("click",".uk-datepicker-next, .uk-datepicker-previous, [data-date]",function(s){s.stopPropagation(),s.preventDefault();var i=t.$(this);return i.hasClass("uk-datepicker-date-disabled")?!1:(i.is("[data-date]")?(a.element.val(n(i.data("date")).format(a.options.format)).trigger("change"),e.hide(),a=!1):a.add(1*(i.hasClass("uk-datepicker-next")?1:-1),"months"),void 0)}),e.on("change",".update-picker-month, .update-picker-year",function(){var e=t.$(this);a[e.is(".update-picker-year")?"setYear":"setMonth"](Number(e.val()))}),e.appendTo("body"))}},pick:function(s){var i=this.element.offset(),r={left:i.left,right:""};this.current=s?n(s,this.options.format):n(),this.initdate=this.current.format("YYYY-MM-DD"),this.update(),"right"==t.langdirection&&(r.right=window.innerWidth-(r.left+this.element.outerWidth()),r.left="");var o=i.top-this.element.outerHeight()+this.element.height()-this.options.offsettop-e.outerHeight(),u=i.top+this.element.outerHeight()+this.options.offsettop;r.top=u,"top"==this.options.pos?r.top=o:"auto"==this.options.pos&&window.innerHeight-u-e.outerHeight()<0&&o>=0&&(r.top=o),e.css(r).show(),this.trigger("show.uk.datepicker"),a=this},add:function(t,e){this.current.add(t,e),this.update()},setMonth:function(t){this.current.month(t),this.update()},setYear:function(t){this.current.year(t),this.update()},update:function(){var t=this.getRows(this.current.year(),this.current.month()),n=this.options.template(t,this.options);e.html(n),this.trigger("update.uk.datepicker")},getRows:function(t,e){var a=this.options,s=n().format("YYYY-MM-DD"),i=[31,t%4===0&&t%100!==0||t%400===0?29:28,31,30,31,30,31,31,30,31,30,31][e],r=new Date(t,e,1).getDay(),o={month:e,year:t,weekdays:[],days:[]},u=[];o.weekdays=function(){for(var t=0,e=[];7>t;t++){for(var n=t+(a.weekstart||0);n>=7;)n-=7;e.push(a.i18n.weekdays[n])}return e}(),a.weekstart&&a.weekstart>0&&(r-=a.weekstart,0>r&&(r+=7));for(var c=i+r,d=c;d>7;)d-=7;c+=7-d;for(var l,h,f,m,_,p=0,y=0;c>p;p++)l=new Date(t,e,1+(p-r)),h=a.mindate&&l<a.mindate||a.maxdate&&l>a.maxdate,_=!(r>p||p>=i+r),l=n(l),f=this.initdate==l.format("YYYY-MM-DD"),m=s==l.format("YYYY-MM-DD"),u.push({selected:f,today:m,disabled:h,day:l,inmonth:_}),7===++y&&(o.days.push(u),u=[],y=0);return o},hide:function(){a&&a===this&&(e.hide(),a=!1,this.trigger("hide.uk.datepicker"))}}),n=function(t){function e(t,e,n){switch(arguments.length){case 2:return null!=t?t:e;case 3:return null!=t?t:null!=e?e:n;default:throw new Error("Implement me")}}function n(t,e){return Ye.call(t,e)}function a(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function s(t){ke.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function i(t,e){var n=!0;return h(function(){return n&&(s(t),n=!1),e.apply(this,arguments)},e)}function r(t,e){mn[t]||(s(e),mn[t]=!0)}function o(t,e){return function(n){return _(t.call(this,n),e)}}function u(t,e){return function(n){return this.localeData().ordinal(t.call(this,n),e)}}function c(){}function d(t,e){e!==!1&&F(t),f(this,t),this._d=new Date(+t._d)}function l(t){var e=v(t),n=e.year||0,a=e.quarter||0,s=e.month||0,i=e.week||0,r=e.day||0,o=e.hour||0,u=e.minute||0,c=e.second||0,d=e.millisecond||0;this._milliseconds=+d+1e3*c+6e4*u+36e5*o,this._days=+r+7*i,this._months=+s+3*a+12*n,this._data={},this._locale=ke.localeData(),this._bubble()}function h(t,e){for(var a in e)n(e,a)&&(t[a]=e[a]);return n(e,"toString")&&(t.toString=e.toString),n(e,"valueOf")&&(t.valueOf=e.valueOf),t}function f(t,e){var n,a,s;if("undefined"!=typeof e._isAMomentObject&&(t._isAMomentObject=e._isAMomentObject),"undefined"!=typeof e._i&&(t._i=e._i),"undefined"!=typeof e._f&&(t._f=e._f),"undefined"!=typeof e._l&&(t._l=e._l),"undefined"!=typeof e._strict&&(t._strict=e._strict),"undefined"!=typeof e._tzm&&(t._tzm=e._tzm),"undefined"!=typeof e._isUTC&&(t._isUTC=e._isUTC),"undefined"!=typeof e._offset&&(t._offset=e._offset),"undefined"!=typeof e._pf&&(t._pf=e._pf),"undefined"!=typeof e._locale&&(t._locale=e._locale),Fe.length>0)for(n in Fe)a=Fe[n],s=e[a],"undefined"!=typeof s&&(t[a]=s);return t}function m(t){return 0>t?Math.ceil(t):Math.floor(t)}function _(t,e,n){for(var a=""+Math.abs(t),s=t>=0;a.length<e;)a="0"+a;return(s?n?"+":"":"-")+a}function p(t,e){var n={milliseconds:0,months:0};return n.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(n.months,"M").isAfter(e)&&--n.months,n.milliseconds=+e-+t.clone().add(n.months,"M"),n}function y(t,e){var n;return e=H(e,t),t.isBefore(e)?n=p(t,e):(n=p(e,t),n.milliseconds=-n.milliseconds,n.months=-n.months),n}function k(t,e){return function(n,a){var s,i;return null===a||isNaN(+a)||(r(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period)."),i=n,n=a,a=i),n="string"==typeof n?+n:n,s=ke.duration(n,a),D(this,s,t),this}}function D(t,e,n,a){var s=e._milliseconds,i=e._days,r=e._months;a=null==a?!0:a,s&&t._d.setTime(+t._d+s*n),i&&fe(t,"Date",he(t,"Date")+i*n),r&&le(t,he(t,"Month")+r*n),a&&ke.updateOffset(t,i||r)}function g(t){return"[object Array]"===Object.prototype.toString.call(t)}function M(t){return"[object Date]"===Object.prototype.toString.call(t)||t instanceof Date}function Y(t,e,n){var a,s=Math.min(t.length,e.length),i=Math.abs(t.length-e.length),r=0;for(a=0;s>a;a++)(n&&t[a]!==e[a]||!n&&S(t[a])!==S(e[a]))&&r++;return r+i}function w(t){if(t){var e=t.toLowerCase().replace(/(.)s$/,"$1");t=on[t]||un[e]||e}return t}function v(t){var e,a,s={};for(a in t)n(t,a)&&(e=w(a),e&&(s[e]=t[a]));return s}function b(e){var n,a;if(0===e.indexOf("week"))n=7,a="day";else{if(0!==e.indexOf("month"))return;n=12,a="month"}ke[e]=function(s,i){var r,o,u=ke._locale[e],c=[];if("number"==typeof s&&(i=s,s=t),o=function(t){var e=ke().utc().set(a,t);return u.call(ke._locale,e,s||"")},null!=i)return o(i);for(r=0;n>r;r++)c.push(o(r));return c}}function S(t){var e=+t,n=0;return 0!==e&&isFinite(e)&&(n=e>=0?Math.floor(e):Math.ceil(e)),n}function T(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}function O(t,e,n){return oe(ke([t,11,31+e-n]),e,n).week}function W(t){return U(t)?366:365}function U(t){return t%4===0&&t%100!==0||t%400===0}function F(t){var e;t._a&&-2===t._pf.overflow&&(e=t._a[ve]<0||t._a[ve]>11?ve:t._a[be]<1||t._a[be]>T(t._a[we],t._a[ve])?be:t._a[Se]<0||t._a[Se]>23?Se:t._a[Te]<0||t._a[Te]>59?Te:t._a[Oe]<0||t._a[Oe]>59?Oe:t._a[We]<0||t._a[We]>999?We:-1,t._pf._overflowDayOfYear&&(we>e||e>be)&&(e=be),t._pf.overflow=e)}function G(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length)),t._isValid}function C(t){return t?t.toLowerCase().replace("_","-"):t}function z(t){for(var e,n,a,s,i=0;i<t.length;){for(s=C(t[i]).split("-"),e=s.length,n=C(t[i+1]),n=n?n.split("-"):null;e>0;){if(a=I(s.slice(0,e).join("-")))return a;if(n&&n.length>=e&&Y(s,n,!0)>=e-1)break;e--}i++}return null}function I(t){var e=null;if(!Ue[t]&&Ge)try{e=ke.locale(),require("./locale/"+t),ke.locale(e)}catch(n){}return Ue[t]}function H(t,e){return e._isUTC?ke(t).zone(e._offset||0):ke(t).local()}function x(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function L(t){var e,n,a=t.match(He);for(e=0,n=a.length;n>e;e++)a[e]=fn[a[e]]?fn[a[e]]:x(a[e]);return function(s){var i="";for(e=0;n>e;e++)i+=a[e]instanceof Function?a[e].call(s,t):a[e];return i}}function P(t,e){return t.isValid()?(e=A(e,t.localeData()),cn[e]||(cn[e]=L(e)),cn[e](t)):t.localeData().invalidDate()}function A(t,e){function n(t){return e.longDateFormat(t)||t}var a=5;for(xe.lastIndex=0;a>=0&&xe.test(t);)t=t.replace(xe,n),xe.lastIndex=0,a-=1;return t}function Z(t,e){var n,a=e._strict;switch(t){case"Q":return qe;case"DDDD":return Re;case"YYYY":case"GGGG":case"gggg":return a?Xe:Ae;case"Y":case"G":case"g":return Ke;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return a?Be:Ze;case"S":if(a)return qe;case"SS":if(a)return Qe;case"SSS":if(a)return Re;case"DDD":return Pe;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return je;case"a":case"A":return e._locale._meridiemParse;case"X":return Ve;case"Z":case"ZZ":return Ee;case"T":return $e;case"SSSS":return Ne;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return a?Qe:Le;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Le;case"Do":return Je;default:return n=new RegExp(R(Q(t.replace("\\","")),"i"))}}function N(t){t=t||"";var e=t.match(Ee)||[],n=e[e.length-1]||[],a=(n+"").match(sn)||["-",0,0],s=+(60*a[1])+S(a[2]);return"+"===a[0]?-s:s}function j(t,e,n){var a,s=n._a;switch(t){case"Q":null!=e&&(s[ve]=3*(S(e)-1));break;case"M":case"MM":null!=e&&(s[ve]=S(e)-1);break;case"MMM":case"MMMM":a=n._locale.monthsParse(e),null!=a?s[ve]=a:n._pf.invalidMonth=e;break;case"D":case"DD":null!=e&&(s[be]=S(e));break;case"Do":null!=e&&(s[be]=S(parseInt(e,10)));break;case"DDD":case"DDDD":null!=e&&(n._dayOfYear=S(e));break;case"YY":s[we]=ke.parseTwoDigitYear(e);break;case"YYYY":case"YYYYY":case"YYYYYY":s[we]=S(e);break;case"a":case"A":n._isPm=n._locale.isPM(e);break;case"H":case"HH":case"h":case"hh":s[Se]=S(e);break;case"m":case"mm":s[Te]=S(e);break;case"s":case"ss":s[Oe]=S(e);break;case"S":case"SS":case"SSS":case"SSSS":s[We]=S(1e3*("0."+e));break;case"X":n._d=new Date(1e3*parseFloat(e));break;case"Z":case"ZZ":n._useUTC=!0,n._tzm=N(e);break;case"dd":case"ddd":case"dddd":a=n._locale.weekdaysParse(e),null!=a?(n._w=n._w||{},n._w.d=a):n._pf.invalidWeekday=e;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":t=t.substr(0,1);case"gggg":case"GGGG":case"GGGGG":t=t.substr(0,2),e&&(n._w=n._w||{},n._w[t]=S(e));break;case"gg":case"GG":n._w=n._w||{},n._w[t]=ke.parseTwoDigitYear(e)}}function E(t){var n,a,s,i,r,o,u;n=t._w,null!=n.GG||null!=n.W||null!=n.E?(r=1,o=4,a=e(n.GG,t._a[we],oe(ke(),1,4).year),s=e(n.W,1),i=e(n.E,1)):(r=t._locale._week.dow,o=t._locale._week.doy,a=e(n.gg,t._a[we],oe(ke(),r,o).year),s=e(n.w,1),null!=n.d?(i=n.d,r>i&&++s):i=null!=n.e?n.e+r:r),u=ue(a,s,i,o,r),t._a[we]=u.year,t._dayOfYear=u.dayOfYear}function $(t){var n,a,s,i,r=[];if(!t._d){for(s=J(t),t._w&&null==t._a[be]&&null==t._a[ve]&&E(t),t._dayOfYear&&(i=e(t._a[we],s[we]),t._dayOfYear>W(i)&&(t._pf._overflowDayOfYear=!0),a=ae(i,0,t._dayOfYear),t._a[ve]=a.getUTCMonth(),t._a[be]=a.getUTCDate()),n=0;3>n&&null==t._a[n];++n)t._a[n]=r[n]=s[n];for(;7>n;n++)t._a[n]=r[n]=null==t._a[n]?2===n?1:0:t._a[n];t._d=(t._useUTC?ae:ne).apply(null,r),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()+t._tzm)}}function V(t){var e;t._d||(e=v(t._i),t._a=[e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond],$(t))}function J(t){var e=new Date;return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}function q(t){if(t._f===ke.ISO_8601)return B(t),void 0;t._a=[],t._pf.empty=!0;var e,n,a,s,i,r=""+t._i,o=r.length,u=0;for(a=A(t._f,t._locale).match(He)||[],e=0;e<a.length;e++)s=a[e],n=(r.match(Z(s,t))||[])[0],n&&(i=r.substr(0,r.indexOf(n)),i.length>0&&t._pf.unusedInput.push(i),r=r.slice(r.indexOf(n)+n.length),u+=n.length),fn[s]?(n?t._pf.empty=!1:t._pf.unusedTokens.push(s),j(s,n,t)):t._strict&&!n&&t._pf.unusedTokens.push(s);t._pf.charsLeftOver=o-u,r.length>0&&t._pf.unusedInput.push(r),t._isPm&&t._a[Se]<12&&(t._a[Se]+=12),t._isPm===!1&&12===t._a[Se]&&(t._a[Se]=0),$(t),F(t)}function Q(t){return t.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,e,n,a,s){return e||n||a||s})}function R(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function X(t){var e,n,s,i,r;if(0===t._f.length)return t._pf.invalidFormat=!0,t._d=new Date(0/0),void 0;for(i=0;i<t._f.length;i++)r=0,e=f({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._pf=a(),e._f=t._f[i],q(e),G(e)&&(r+=e._pf.charsLeftOver,r+=10*e._pf.unusedTokens.length,e._pf.score=r,(null==s||s>r)&&(s=r,n=e));h(t,n||e)}function B(t){var e,n,a=t._i,s=tn.exec(a);if(s){for(t._pf.iso=!0,e=0,n=nn.length;n>e;e++)if(nn[e][1].exec(a)){t._f=nn[e][0]+(s[6]||" ");break}for(e=0,n=an.length;n>e;e++)if(an[e][1].exec(a)){t._f+=an[e][0];break}a.match(Ee)&&(t._f+="Z"),q(t)}else t._isValid=!1}function K(t){B(t),t._isValid===!1&&(delete t._isValid,ke.createFromInputFallback(t))}function te(t,e){var n,a=[];for(n=0;n<t.length;++n)a.push(e(t[n],n));return a}function ee(e){var n,a=e._i;a===t?e._d=new Date:M(a)?e._d=new Date(+a):null!==(n=Ce.exec(a))?e._d=new Date(+n[1]):"string"==typeof a?K(e):g(a)?(e._a=te(a.slice(0),function(t){return parseInt(t,10)}),$(e)):"object"==typeof a?V(e):"number"==typeof a?e._d=new Date(a):ke.createFromInputFallback(e)}function ne(t,e,n,a,s,i,r){var o=new Date(t,e,n,a,s,i,r);return 1970>t&&o.setFullYear(t),o}function ae(t){var e=new Date(Date.UTC.apply(null,arguments));return 1970>t&&e.setUTCFullYear(t),e}function se(t,e){if("string"==typeof t)if(isNaN(t)){if(t=e.weekdaysParse(t),"number"!=typeof t)return null}else t=parseInt(t,10);return t}function ie(t,e,n,a,s){return s.relativeTime(e||1,!!n,t,a)}function re(t,e,n){var a=ke.duration(t).abs(),s=Me(a.as("s")),i=Me(a.as("m")),r=Me(a.as("h")),o=Me(a.as("d")),u=Me(a.as("M")),c=Me(a.as("y")),d=s<dn.s&&["s",s]||1===i&&["m"]||i<dn.m&&["mm",i]||1===r&&["h"]||r<dn.h&&["hh",r]||1===o&&["d"]||o<dn.d&&["dd",o]||1===u&&["M"]||u<dn.M&&["MM",u]||1===c&&["y"]||["yy",c];return d[2]=e,d[3]=+t>0,d[4]=n,ie.apply({},d)}function oe(t,e,n){var a,s=n-e,i=n-t.day();return i>s&&(i-=7),s-7>i&&(i+=7),a=ke(t).add(i,"d"),{week:Math.ceil(a.dayOfYear()/7),year:a.year()}}function ue(t,e,n,a,s){var i,r,o=ae(t,0,1).getUTCDay();return o=0===o?7:o,n=null!=n?n:s,i=s-o+(o>a?7:0)-(s>o?7:0),r=7*(e-1)+(n-s)+i+1,{year:r>0?t:t-1,dayOfYear:r>0?r:W(t-1)+r}}function ce(e){var n=e._i,a=e._f;return e._locale=e._locale||ke.localeData(e._l),null===n||a===t&&""===n?ke.invalid({nullInput:!0}):("string"==typeof n&&(e._i=n=e._locale.preparse(n)),ke.isMoment(n)?new d(n,!0):(a?g(a)?X(e):q(e):ee(e),new d(e)))}function de(t,e){var n,a;if(1===e.length&&g(e[0])&&(e=e[0]),!e.length)return ke();for(n=e[0],a=1;a<e.length;++a)e[a][t](n)&&(n=e[a]);return n}function le(t,e){var n;return"string"==typeof e&&(e=t.localeData().monthsParse(e),"number"!=typeof e)?t:(n=Math.min(t.date(),T(t.year(),e)),t._d["set"+(t._isUTC?"UTC":"")+"Month"](e,n),t)}function he(t,e){return t._d["get"+(t._isUTC?"UTC":"")+e]()}function fe(t,e,n){return"Month"===e?le(t,n):t._d["set"+(t._isUTC?"UTC":"")+e](n)}function me(t,e){return function(n){return null!=n?(fe(this,t,n),ke.updateOffset(this,e),this):he(this,t)}}function _e(t){return 400*t/146097}function pe(t){return 146097*t/400}function ye(t){ke.duration.fn[t]=function(){return this._data[t]}}for(var ke,De,ge="2.8.3",Me=Math.round,Ye=Object.prototype.hasOwnProperty,we=0,ve=1,be=2,Se=3,Te=4,Oe=5,We=6,Ue={},Fe=[],Ge="undefined"!=typeof module&&module.exports,Ce=/^\/?Date\((\-?\d+)/i,ze=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Ie=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,He=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,xe=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,Le=/\d\d?/,Pe=/\d{1,3}/,Ae=/\d{1,4}/,Ze=/[+\-]?\d{1,6}/,Ne=/\d+/,je=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Ee=/Z|[\+\-]\d\d:?\d\d/gi,$e=/T/i,Ve=/[\+\-]?\d+(\.\d{1,3})?/,Je=/\d{1,2}/,qe=/\d/,Qe=/\d\d/,Re=/\d{3}/,Xe=/\d{4}/,Be=/[+-]?\d{6}/,Ke=/[+-]?\d+/,tn=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,en="YYYY-MM-DDTHH:mm:ssZ",nn=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],an=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],sn=/([\+\-]|\d\d)/gi,rn=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),on={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},un={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},cn={},dn={s:45,m:45,h:22,d:26,M:11},ln="DDD w W M D d".split(" "),hn="M D H h m s w W".split(" "),fn={M:function(){return this.month()+1},MMM:function(t){return this.localeData().monthsShort(this,t)},MMMM:function(t){return this.localeData().months(this,t)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(t){return this.localeData().weekdaysMin(this,t)},ddd:function(t){return this.localeData().weekdaysShort(this,t)},dddd:function(t){return this.localeData().weekdays(this,t)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return _(this.year()%100,2)},YYYY:function(){return _(this.year(),4)},YYYYY:function(){return _(this.year(),5)},YYYYYY:function(){var t=this.year(),e=t>=0?"+":"-";return e+_(Math.abs(t),6)},gg:function(){return _(this.weekYear()%100,2)},gggg:function(){return _(this.weekYear(),4)},ggggg:function(){return _(this.weekYear(),5)},GG:function(){return _(this.isoWeekYear()%100,2)},GGGG:function(){return _(this.isoWeekYear(),4)},GGGGG:function(){return _(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return S(this.milliseconds()/100)},SS:function(){return _(S(this.milliseconds()/10),2)},SSS:function(){return _(this.milliseconds(),3)},SSSS:function(){return _(this.milliseconds(),3)},Z:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(S(t/60),2)+":"+_(S(t)%60,2)},ZZ:function(){var t=-this.zone(),e="+";return 0>t&&(t=-t,e="-"),e+_(S(t/60),2)+_(S(t)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},mn={},_n=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];ln.length;)De=ln.pop(),fn[De+"o"]=u(fn[De],De);for(;hn.length;)De=hn.pop(),fn[De+De]=o(fn[De],2);fn.DDDD=o(fn.DDD,3),h(c.prototype,{set:function(t){var e,n;for(n in t)e=t[n],"function"==typeof e?this[n]=e:this["_"+n]=e},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(t){return this._months[t.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(t){return this._monthsShort[t.month()]},monthsParse:function(t){var e,n,a;for(this._monthsParse||(this._monthsParse=[]),e=0;12>e;e++)if(this._monthsParse[e]||(n=ke.utc([2e3,e]),a="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[e]=new RegExp(a.replace(".",""),"i")),this._monthsParse[e].test(t))return e},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(t){return this._weekdays[t.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(t){return this._weekdaysShort[t.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(t){return this._weekdaysMin[t.day()]},weekdaysParse:function(t){var e,n,a;for(this._weekdaysParse||(this._weekdaysParse=[]),e=0;7>e;e++)if(this._weekdaysParse[e]||(n=ke([2e3,1]).day(e),a="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[e]=new RegExp(a.replace(".",""),"i")),this._weekdaysParse[e].test(t))return e},_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(t){var e=this._longDateFormat[t];return!e&&this._longDateFormat[t.toUpperCase()]&&(e=this._longDateFormat[t.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t]=e),e},isPM:function(t){return"p"===(t+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(t,e,n){return t>11?n?"pm":"PM":n?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(t,e){var n=this._calendar[t];return"function"==typeof n?n.apply(e):n},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(t,e,n,a){var s=this._relativeTime[n];return"function"==typeof s?s(t,e,n,a):s.replace(/%d/i,t)},pastFuture:function(t,e){var n=this._relativeTime[t>0?"future":"past"];return"function"==typeof n?n(e):n.replace(/%s/i,e)},ordinal:function(t){return this._ordinal.replace("%d",t)},_ordinal:"%d",preparse:function(t){return t},postformat:function(t){return t},week:function(t){return oe(t,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),ke=function(e,n,s,i){var r;return"boolean"==typeof s&&(i=s,s=t),r={},r._isAMomentObject=!0,r._i=e,r._f=n,r._l=s,r._strict=i,r._isUTC=!1,r._pf=a(),ce(r)},ke.suppressDeprecationWarnings=!1,ke.createFromInputFallback=i("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(t){t._d=new Date(t._i)}),ke.min=function(){var t=[].slice.call(arguments,0);return de("isBefore",t)},ke.max=function(){var t=[].slice.call(arguments,0);return de("isAfter",t)},ke.utc=function(e,n,s,i){var r;return"boolean"==typeof s&&(i=s,s=t),r={},r._isAMomentObject=!0,r._useUTC=!0,r._isUTC=!0,r._l=s,r._i=e,r._f=n,r._strict=i,r._pf=a(),ce(r).utc()},ke.unix=function(t){return ke(1e3*t)},ke.duration=function(t,e){var a,s,i,r,o=t,u=null;return ke.isDuration(t)?o={ms:t._milliseconds,d:t._days,M:t._months}:"number"==typeof t?(o={},e?o[e]=t:o.milliseconds=t):(u=ze.exec(t))?(a="-"===u[1]?-1:1,o={y:0,d:S(u[be])*a,h:S(u[Se])*a,m:S(u[Te])*a,s:S(u[Oe])*a,ms:S(u[We])*a}):(u=Ie.exec(t))?(a="-"===u[1]?-1:1,i=function(t){var e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*a},o={y:i(u[2]),M:i(u[3]),d:i(u[4]),h:i(u[5]),m:i(u[6]),s:i(u[7]),w:i(u[8])}):"object"==typeof o&&("from"in o||"to"in o)&&(r=y(ke(o.from),ke(o.to)),o={},o.ms=r.milliseconds,o.M=r.months),s=new l(o),ke.isDuration(t)&&n(t,"_locale")&&(s._locale=t._locale),s},ke.version=ge,ke.defaultFormat=en,ke.ISO_8601=function(){},ke.momentProperties=Fe,ke.updateOffset=function(){},ke.relativeTimeThreshold=function(e,n){return dn[e]===t?!1:n===t?dn[e]:(dn[e]=n,!0)},ke.lang=i("moment.lang is deprecated. Use moment.locale instead.",function(t,e){return ke.locale(t,e)}),ke.locale=function(t,e){var n;return t&&(n="undefined"!=typeof e?ke.defineLocale(t,e):ke.localeData(t),n&&(ke.duration._locale=ke._locale=n)),ke._locale._abbr},ke.defineLocale=function(t,e){return null!==e?(e.abbr=t,Ue[t]||(Ue[t]=new c),Ue[t].set(e),ke.locale(t),Ue[t]):(delete Ue[t],null)},ke.langData=i("moment.langData is deprecated. Use moment.localeData instead.",function(t){return ke.localeData(t)}),ke.localeData=function(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return ke._locale;if(!g(t)){if(e=I(t))return e;t=[t]}return z(t)},ke.isMoment=function(t){return t instanceof d||null!=t&&n(t,"_isAMomentObject")},ke.isDuration=function(t){return t instanceof l};for(De=_n.length-1;De>=0;--De)b(_n[De]);ke.normalizeUnits=function(t){return w(t)},ke.invalid=function(t){var e=ke.utc(0/0);return null!=t?h(e._pf,t):e._pf.userInvalidated=!0,e},ke.parseZone=function(){return ke.apply(null,arguments).parseZone()},ke.parseTwoDigitYear=function(t){return S(t)+(S(t)>68?1900:2e3)},h(ke.fn=d.prototype,{clone:function(){return ke(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var t=ke(this).utc();return 0<t.year()&&t.year()<=9999?P(t,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):P(t,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var t=this;return[t.year(),t.month(),t.date(),t.hours(),t.minutes(),t.seconds(),t.milliseconds()]},isValid:function(){return G(this)},isDSTShifted:function(){return this._a?this.isValid()&&Y(this._a,(this._isUTC?ke.utc(this._a):ke(this._a)).toArray())>0:!1},parsingFlags:function(){return h({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(t){return this.zone(0,t)},local:function(t){return this._isUTC&&(this.zone(0,t),this._isUTC=!1,t&&this.add(this._dateTzOffset(),"m")),this},format:function(t){var e=P(this,t||ke.defaultFormat);return this.localeData().postformat(e)},add:k(1,"add"),subtract:k(-1,"subtract"),diff:function(t,e,n){var a,s,i,r=H(t,this),o=6e4*(this.zone()-r.zone());return e=w(e),"year"===e||"month"===e?(a=432e5*(this.daysInMonth()+r.daysInMonth()),s=12*(this.year()-r.year())+(this.month()-r.month()),i=this-ke(this).startOf("month")-(r-ke(r).startOf("month")),i-=6e4*(this.zone()-ke(this).startOf("month").zone()-(r.zone()-ke(r).startOf("month").zone())),s+=i/a,"year"===e&&(s/=12)):(a=this-r,s="second"===e?a/1e3:"minute"===e?a/6e4:"hour"===e?a/36e5:"day"===e?(a-o)/864e5:"week"===e?(a-o)/6048e5:a),n?s:m(s)},from:function(t,e){return ke.duration({to:this,from:t}).locale(this.locale()).humanize(!e)},fromNow:function(t){return this.from(ke(),t)},calendar:function(t){var e=t||ke(),n=H(e,this).startOf("day"),a=this.diff(n,"days",!0),s=-6>a?"sameElse":-1>a?"lastWeek":0>a?"lastDay":1>a?"sameDay":2>a?"nextDay":7>a?"nextWeek":"sameElse";return this.format(this.localeData().calendar(s,this))},isLeapYear:function(){return U(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(t){var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=se(t,this.localeData()),this.add(t-e,"d")):e},month:me("Month",!0),startOf:function(t){switch(t=w(t)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===t?this.weekday(0):"isoWeek"===t&&this.isoWeekday(1),"quarter"===t&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(t){return t=w(t),this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms")},isAfter:function(t,e){return e=w("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=ke.isMoment(t)?t:ke(t),+this>+t):+this.clone().startOf(e)>+ke(t).startOf(e)},isBefore:function(t,e){return e=w("undefined"!=typeof e?e:"millisecond"),"millisecond"===e?(t=ke.isMoment(t)?t:ke(t),+t>+this):+this.clone().startOf(e)<+ke(t).startOf(e)},isSame:function(t,e){return e=w(e||"millisecond"),"millisecond"===e?(t=ke.isMoment(t)?t:ke(t),+this===+t):+this.clone().startOf(e)===+H(t,this).startOf(e)},min:i("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(t){return t=ke.apply(null,arguments),this>t?this:t}),max:i("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(t){return t=ke.apply(null,arguments),t>this?this:t}),zone:function(t,e){var n,a=this._offset||0;return null==t?this._isUTC?a:this._dateTzOffset():("string"==typeof t&&(t=N(t)),Math.abs(t)<16&&(t=60*t),!this._isUTC&&e&&(n=this._dateTzOffset()),this._offset=t,this._isUTC=!0,null!=n&&this.subtract(n,"m"),a!==t&&(!e||this._changeInProgress?D(this,ke.duration(a-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,ke.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this
+},hasAlignedHourOffset:function(t){return t=t?ke(t).zone():0,(this.zone()-t)%60===0},daysInMonth:function(){return T(this.year(),this.month())},dayOfYear:function(t){var e=Me((ke(this).startOf("day")-ke(this).startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")},quarter:function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},weekYear:function(t){var e=oe(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==t?e:this.add(t-e,"y")},isoWeekYear:function(t){var e=oe(this,1,4).year;return null==t?e:this.add(t-e,"y")},week:function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")},isoWeek:function(t){var e=oe(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")},weekday:function(t){var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")},isoWeekday:function(t){return null==t?this.day()||7:this.day(this.day()%7?t:t-7)},isoWeeksInYear:function(){return O(this.year(),1,4)},weeksInYear:function(){var t=this.localeData()._week;return O(this.year(),t.dow,t.doy)},get:function(t){return t=w(t),this[t]()},set:function(t,e){return t=w(t),"function"==typeof this[t]&&this[t](e),this},locale:function(e){var n;return e===t?this._locale._abbr:(n=ke.localeData(e),null!=n&&(this._locale=n),this)},lang:i("moment().lang() is deprecated. Use moment().localeData() instead.",function(e){return e===t?this.localeData():this.locale(e)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),ke.fn.millisecond=ke.fn.milliseconds=me("Milliseconds",!1),ke.fn.second=ke.fn.seconds=me("Seconds",!1),ke.fn.minute=ke.fn.minutes=me("Minutes",!1),ke.fn.hour=ke.fn.hours=me("Hours",!0),ke.fn.date=me("Date",!0),ke.fn.dates=i("dates accessor is deprecated. Use date instead.",me("Date",!0)),ke.fn.year=me("FullYear",!0),ke.fn.years=i("years accessor is deprecated. Use year instead.",me("FullYear",!0)),ke.fn.days=ke.fn.day,ke.fn.months=ke.fn.month,ke.fn.weeks=ke.fn.week,ke.fn.isoWeeks=ke.fn.isoWeek,ke.fn.quarters=ke.fn.quarter,ke.fn.toJSON=ke.fn.toISOString,h(ke.duration.fn=l.prototype,{_bubble:function(){var t,e,n,a=this._milliseconds,s=this._days,i=this._months,r=this._data,o=0;r.milliseconds=a%1e3,t=m(a/1e3),r.seconds=t%60,e=m(t/60),r.minutes=e%60,n=m(e/60),r.hours=n%24,s+=m(n/24),o=m(_e(s)),s-=m(pe(o)),i+=m(s/30),s%=30,o+=m(i/12),i%=12,r.days=s,r.months=i,r.years=o},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return m(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*S(this._months/12)},humanize:function(t){var e=re(this,!t,this.localeData());return t&&(e=this.localeData().pastFuture(+this,e)),this.localeData().postformat(e)},add:function(t,e){var n=ke.duration(t,e);return this._milliseconds+=n._milliseconds,this._days+=n._days,this._months+=n._months,this._bubble(),this},subtract:function(t,e){var n=ke.duration(t,e);return this._milliseconds-=n._milliseconds,this._days-=n._days,this._months-=n._months,this._bubble(),this},get:function(t){return t=w(t),this[t.toLowerCase()+"s"]()},as:function(t){var e,n;if(t=w(t),"month"===t||"year"===t)return e=this._days+this._milliseconds/864e5,n=this._months+12*_e(e),"month"===t?n:n/12;switch(e=this._days+pe(this._months/12),t){case"week":return e/7+this._milliseconds/6048e5;case"day":return e+this._milliseconds/864e5;case"hour":return 24*e+this._milliseconds/36e5;case"minute":return 24*e*60+this._milliseconds/6e4;case"second":return 24*e*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*e*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+t)}},lang:ke.fn.lang,locale:ke.fn.locale,toIsoString:i("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var t=Math.abs(this.years()),e=Math.abs(this.months()),n=Math.abs(this.days()),a=Math.abs(this.hours()),s=Math.abs(this.minutes()),i=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(t?t+"Y":"")+(e?e+"M":"")+(n?n+"D":"")+(a||s||i?"T":"")+(a?a+"H":"")+(s?s+"M":"")+(i?i+"S":""):"P0D"},localeData:function(){return this._locale}}),ke.duration.fn.toString=ke.duration.fn.toISOString;for(De in rn)n(rn,De)&&ye(De.toLowerCase());return ke.duration.fn.asMilliseconds=function(){return this.as("ms")},ke.duration.fn.asSeconds=function(){return this.as("s")},ke.duration.fn.asMinutes=function(){return this.as("m")},ke.duration.fn.asHours=function(){return this.as("h")},ke.duration.fn.asDays=function(){return this.as("d")},ke.duration.fn.asWeeks=function(){return this.as("weeks")},ke.duration.fn.asMonths=function(){return this.as("M")},ke.duration.fn.asYears=function(){return this.as("y")},ke.locale("en",{ordinal:function(t){var e=t%10,n=1===S(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th";return t+n}}),ke}.call(this),t.Utils.moment=n,t.datepicker}); \ No newline at end of file
diff --git a/uikit/static/js/components/form-password.js b/uikit/static/js/components/form-password.js
new file mode 100644
index 0000000..38d0549
--- /dev/null
+++ b/uikit/static/js/components/form-password.js
@@ -0,0 +1,66 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-form-password", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ UI.component('formPassword', {
+
+ defaults: {
+ "lblShow": "Show",
+ "lblHide": "Hide"
+ },
+
+ boot: function() {
+ // init code
+ UI.$html.on("click.formpassword.uikit", "[data-uk-form-password]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (!ele.data("formPassword")) {
+
+ e.preventDefault();
+
+ var obj = UI.formPassword(ele, UI.Utils.options(ele.attr("data-uk-form-password")));
+ ele.trigger("click");
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.on("click", function(e) {
+
+ e.preventDefault();
+
+ if($this.input.length) {
+ var type = $this.input.attr("type");
+ $this.input.attr("type", type=="text" ? "password":"text");
+ $this.element.text($this.options[type=="text" ? "lblShow":"lblHide"]);
+ }
+ });
+
+ this.input = this.element.next("input").length ? this.element.next("input") : this.element.prev("input");
+ this.element.text(this.options[this.input.is("[type='password']") ? "lblShow":"lblHide"]);
+
+ this.element.data("formPassword", this);
+ }
+ });
+
+ return UI.formPassword;
+});
diff --git a/uikit/static/js/components/form-password.min.js b/uikit/static/js/components/form-password.min.js
new file mode 100644
index 0000000..a57ba50
--- /dev/null
+++ b/uikit/static/js/components/form-password.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var i;window.UIkit&&(i=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-form-password",["uikit"],function(){return i||t(UIkit)})}(function(t){"use strict";return t.component("formPassword",{defaults:{lblShow:"Show",lblHide:"Hide"},boot:function(){t.$html.on("click.formpassword.uikit","[data-uk-form-password]",function(i){var e=t.$(this);if(!e.data("formPassword")){i.preventDefault();{t.formPassword(e,t.Utils.options(e.attr("data-uk-form-password")))}e.trigger("click")}})},init:function(){var t=this;this.on("click",function(i){if(i.preventDefault(),t.input.length){var e=t.input.attr("type");t.input.attr("type","text"==e?"password":"text"),t.element.text(t.options["text"==e?"lblShow":"lblHide"])}}),this.input=this.element.next("input").length?this.element.next("input"):this.element.prev("input"),this.element.text(this.options[this.input.is("[type='password']")?"lblShow":"lblHide"]),this.element.data("formPassword",this)}}),t.formPassword}); \ No newline at end of file
diff --git a/uikit/static/js/components/form-select.js b/uikit/static/js/components/form-select.js
new file mode 100644
index 0000000..ddafff8
--- /dev/null
+++ b/uikit/static/js/components/form-select.js
@@ -0,0 +1,70 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-form-select", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ UI.component('formSelect', {
+
+ defaults: {
+ 'target': '>span:first',
+ 'activeClass': 'uk-active'
+ },
+
+ boot: function() {
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-form-select]", context).each(function(){
+
+ var ele = UI.$(this);
+
+ if (!ele.data("formSelect")) {
+ var obj = UI.formSelect(ele, UI.Utils.options(ele.attr("data-uk-form-select")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+ var $this = this;
+
+ this.target = this.find(this.options.target);
+ this.select = this.find('select');
+
+ // init + on change event
+ this.select.on("change", (function(){
+
+ var select = $this.select[0], fn = function(){
+
+ try {
+ $this.target.text(select.options[select.selectedIndex].text);
+ } catch(e) {}
+
+ $this.element[$this.select.val() ? 'addClass':'removeClass']($this.options.activeClass);
+
+ return fn;
+ };
+
+ return fn();
+ })());
+
+ this.element.data("formSelect", this);
+ }
+ });
+
+ return UI.formSelect;
+});
diff --git a/uikit/static/js/components/form-select.min.js b/uikit/static/js/components/form-select.min.js
new file mode 100644
index 0000000..fc09bfb
--- /dev/null
+++ b/uikit/static/js/components/form-select.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var e;window.UIkit&&(e=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-form-select",["uikit"],function(){return e||t(UIkit)})}(function(t){"use strict";return t.component("formSelect",{defaults:{target:">span:first",activeClass:"uk-active"},boot:function(){t.ready(function(e){t.$("[data-uk-form-select]",e).each(function(){var e=t.$(this);if(!e.data("formSelect")){t.formSelect(e,t.Utils.options(e.attr("data-uk-form-select")))}})})},init:function(){var t=this;this.target=this.find(this.options.target),this.select=this.find("select"),this.select.on("change",function(){var e=t.select[0],i=function(){try{t.target.text(e.options[e.selectedIndex].text)}catch(n){}return t.element[t.select.val()?"addClass":"removeClass"](t.options.activeClass),i};return i()}()),this.element.data("formSelect",this)}}),t.formSelect}); \ No newline at end of file
diff --git a/uikit/static/js/components/grid.js b/uikit/static/js/components/grid.js
new file mode 100644
index 0000000..3a7ae7a
--- /dev/null
+++ b/uikit/static/js/components/grid.js
@@ -0,0 +1,524 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-grid", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ UI.component('grid', {
+
+ defaults: {
+ colwidth : 'auto',
+ animation : true,
+ duration : 300,
+ gutter : 0,
+ controls : false,
+ filter : false
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$('[data-uk-grid]', context).each(function(){
+
+ var ele = UI.$(this);
+
+ if(!ele.data("grid")) {
+ var plugin = UI.grid(ele, UI.Utils.options(ele.attr('data-uk-grid')));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this, gutter = String(this.options.gutter).trim().split(' ');
+
+ this.gutterv = parseInt(gutter[0], 10);
+ this.gutterh = parseInt((gutter[1] || gutter[0]), 10);
+
+ // make sure parent element has the right position property
+ this.element.css({'position': 'relative'});
+
+ this.controls = null;
+
+ if (this.options.controls) {
+
+ this.controls = UI.$(this.options.controls);
+
+ // filter
+ this.controls.on('click', '[data-uk-filter]', function(e){
+ e.preventDefault();
+ $this.filter(UI.$(this).data('ukFilter'));
+ });
+
+ // sort
+ this.controls.on('click', '[data-uk-sort]', function(e){
+ e.preventDefault();
+ var cmd = UI.$(this).attr('data-uk-sort').split(':');
+ $this.sort(cmd[0], cmd[1]);
+ });
+ }
+
+ UI.$win.on('load resize orientationchange', UI.Utils.debounce(function(){
+
+ if ($this.currentfilter) {
+ $this.filter($this.currentfilter);
+ } else {
+ this.updateLayout();
+ }
+
+ }.bind(this), 100));
+
+ this.on('display.uk.check', function(){
+ if ($this.element.is(":visible")) $this.updateLayout();
+ });
+
+ UI.$html.on("changed.uk.dom", function(e) {
+ $this.updateLayout();
+ });
+
+ if (this.options.filter !== false) {
+ this.filter(this.options.filter);
+ } else {
+ this.updateLayout();
+ }
+ },
+
+ _prepareElements: function() {
+
+ var children = this.element.children(':not([data-grid-prepared])'), css;
+
+ // exit if no already prepared elements found
+ if (!children.length) {
+ return;
+ }
+
+ css = {
+ 'position' : 'absolute',
+ 'box-sizing' : 'border-box',
+ 'width' : this.options.colwidth == 'auto' ? '' : this.options.colwidth
+ };
+
+ if (this.options.gutter) {
+
+ css['padding-left'] = this.gutterh;
+ css['padding-bottom'] = this.gutterv;
+
+ this.element.css('margin-left', this.gutterh * -1);
+ }
+
+ children.attr('data-grid-prepared', 'true').css(css);
+ },
+
+ updateLayout: function(elements) {
+
+ this._prepareElements();
+
+ elements = elements || this.element.children(':visible');
+
+ var $this = this,
+ children = elements,
+ maxwidth = this.element.width() + (2*this.gutterh) + 2,
+ left = 0,
+ top = 0,
+ positions = [],
+
+ item, width, height, pos, aX, aY, i, z, max, size;
+
+ this.trigger('beforeupdate.uk.grid', [children]);
+
+ children.each(function(index){
+
+ size = getElementSize(this);
+
+ item = UI.$(this);
+ width = size.outerWidth;
+ height = size.outerHeight;
+ left = 0;
+ top = 0;
+
+ for (i=0,max=positions.length;i<max;i++) {
+
+ pos = positions[i];
+
+ if (left <= pos.aX) { left = pos.aX; }
+ if (maxwidth < (left + width)) { left = 0; }
+ if (top <= pos.aY) { top = pos.aY; }
+ }
+
+ positions.push({
+ "ele" : item,
+ "top" : top,
+ "left" : left,
+ "width" : width,
+ "height" : height,
+ "aY" : (top + height),
+ "aX" : (left + width)
+ });
+ });
+
+ var posPrev, maxHeight = 0;
+
+ // fix top
+ for (i=0,max=positions.length;i<max;i++) {
+
+ pos = positions[i];
+ top = 0;
+
+ for (z=0;z<i;z++) {
+
+ posPrev = positions[z];
+
+ // (posPrev.left + 1) fixex 1px bug when using % based widths
+ if (pos.left < posPrev.aX && (posPrev.left +1) < pos.aX) {
+ top = posPrev.aY;
+ }
+ }
+
+ pos.top = top;
+ pos.aY = top + pos.height;
+
+ maxHeight = Math.max(maxHeight, pos.aY);
+ }
+
+ maxHeight = maxHeight - this.gutterv;
+
+ if (this.options.animation) {
+
+ this.element.stop().animate({'height': maxHeight}, 100);
+
+ positions.forEach(function(pos){
+ pos.ele.stop().animate({"top": pos.top, "left": pos.left, opacity: 1}, this.options.duration);
+ }.bind(this));
+
+ } else {
+
+ this.element.css('height', maxHeight);
+
+ positions.forEach(function(pos){
+ pos.ele.css({"top": pos.top, "left": pos.left, opacity: 1});
+ }.bind(this));
+ }
+
+ // make sure to trigger possible scrollpies etc.
+ setTimeout(function() {
+ UI.$doc.trigger('scrolling.uk.document');
+ }, 2 * this.options.duration * (this.options.animation ? 1:0));
+
+ this.trigger('afterupdate.uk.grid', [children]);
+ },
+
+ filter: function(filter) {
+
+ this.currentfilter = filter;
+
+ filter = filter || [];
+
+ if (typeof(filter) === 'string') {
+ filter = filter.split(/,/).map(function(item){ return item.trim(); });
+ }
+
+ var $this = this, children = this.element.children(), elements = {"visible": [], "hidden": []}, visible, hidden;
+
+ children.each(function(index){
+
+ var ele = UI.$(this), f = ele.attr('data-uk-filter'), infilter = filter.length ? false : true;
+
+ if (f) {
+
+ f = f.split(/,/).map(function(item){ return item.trim(); });
+
+ filter.forEach(function(item){
+ if (f.indexOf(item) > -1) infilter = true;
+ });
+ }
+
+ elements[infilter ? "visible":"hidden"].push(ele);
+ });
+
+ // convert to jQuery collections
+ elements.hidden = UI.$(elements.hidden).map(function () {return this[0];});
+ elements.visible = UI.$(elements.visible).map(function () {return this[0];});
+
+ elements.hidden.attr('aria-hidden', 'true').filter(':visible').fadeOut(this.options.duration);
+ elements.visible.attr('aria-hidden', 'false').filter(':hidden').css('opacity', 0).show();
+
+ $this.updateLayout(elements.visible);
+
+ if (this.controls && this.controls.length) {
+ this.controls.find('[data-uk-filter]').removeClass('uk-active').filter('[data-uk-filter="'+filter+'"]').addClass('uk-active');
+ }
+ },
+
+ sort: function(by, order){
+
+ order = order || 1;
+
+ // covert from string (asc|desc) to number
+ if (typeof(order) === 'string') {
+ order = order.toLowerCase() == 'desc' ? -1 : 1;
+ }
+
+ var elements = this.element.children();
+
+ elements.sort(function(a, b){
+
+ a = UI.$(a);
+ b = UI.$(b);
+
+ return (b.data(by) || '') < (a.data(by) || '') ? order : (order*-1);
+
+ }).appendTo(this.element);
+
+ this.updateLayout(elements.filter(':visible'));
+
+ if (this.controls && this.controls.length) {
+ this.controls.find('[data-uk-sort]').removeClass('uk-active').filter('[data-uk-sort="'+by+':'+(order == -1 ? 'desc':'asc')+'"]').addClass('uk-active');
+ }
+ }
+ });
+
+
+ /*!
+ * getSize v1.2.2
+ * measure size of elements
+ * MIT license
+ * https://github.com/desandro/get-size
+ */
+ var _getSize = (function(){
+
+ var prefixes = 'Webkit Moz ms Ms O'.split(' ');
+ var docElemStyle = document.documentElement.style;
+
+ function getStyleProperty( propName ) {
+ if ( !propName ) {
+ return;
+ }
+
+ // test standard property first
+ if ( typeof docElemStyle[ propName ] === 'string' ) {
+ return propName;
+ }
+
+ // capitalize
+ propName = propName.charAt(0).toUpperCase() + propName.slice(1);
+
+ // test vendor specific properties
+ var prefixed;
+ for ( var i=0, len = prefixes.length; i < len; i++ ) {
+ prefixed = prefixes[i] + propName;
+ if ( typeof docElemStyle[ prefixed ] === 'string' ) {
+ return prefixed;
+ }
+ }
+ }
+
+ // -------------------------- helpers -------------------------- //
+
+ // get a number from a string, not a percentage
+ function getStyleSize( value ) {
+ var num = parseFloat( value );
+ // not a percent like '100%', and a number
+ var isValid = value.indexOf('%') === -1 && !isNaN( num );
+ return isValid && num;
+ }
+
+ function noop() {}
+
+ var logError = typeof console === 'undefined' ? noop : function( message ) {
+ console.error( message );
+ };
+
+ // -------------------------- measurements -------------------------- //
+
+ var measurements = [
+ 'paddingLeft',
+ 'paddingRight',
+ 'paddingTop',
+ 'paddingBottom',
+ 'marginLeft',
+ 'marginRight',
+ 'marginTop',
+ 'marginBottom',
+ 'borderLeftWidth',
+ 'borderRightWidth',
+ 'borderTopWidth',
+ 'borderBottomWidth'
+ ];
+
+ function getZeroSize() {
+ var size = {
+ width: 0,
+ height: 0,
+ innerWidth: 0,
+ innerHeight: 0,
+ outerWidth: 0,
+ outerHeight: 0
+ };
+ for ( var i=0, len = measurements.length; i < len; i++ ) {
+ var measurement = measurements[i];
+ size[ measurement ] = 0;
+ }
+ return size;
+ }
+
+
+ // -------------------------- setup -------------------------- //
+
+ var isSetup = false;
+ var getStyle, boxSizingProp, isBoxSizeOuter;
+
+ /**
+ * setup vars and functions
+ * do it on initial getSize(), rather than on script load
+ * For Firefox bug https://bugzilla.mozilla.org/show_bug.cgi?id=548397
+ */
+ function setup() {
+ // setup once
+ if ( isSetup ) {
+ return;
+ }
+ isSetup = true;
+
+ var getComputedStyle = window.getComputedStyle;
+ getStyle = ( function() {
+ var getStyleFn = getComputedStyle ?
+ function( elem ) {
+ return getComputedStyle( elem, null );
+ } :
+ function( elem ) {
+ return elem.currentStyle;
+ };
+
+ return function getStyle( elem ) {
+ var style = getStyleFn( elem );
+ if ( !style ) {
+ logError( 'Style returned ' + style +
+ '. Are you running this code in a hidden iframe on Firefox? ' +
+ 'See http://bit.ly/getsizebug1' );
+ }
+ return style;
+ };
+ })();
+
+ // -------------------------- box sizing -------------------------- //
+
+ boxSizingProp = getStyleProperty('boxSizing');
+
+ /**
+ * WebKit measures the outer-width on style.width on border-box elems
+ * IE & Firefox measures the inner-width
+ */
+ if ( boxSizingProp ) {
+ var div = document.createElement('div');
+ div.style.width = '200px';
+ div.style.padding = '1px 2px 3px 4px';
+ div.style.borderStyle = 'solid';
+ div.style.borderWidth = '1px 2px 3px 4px';
+ div.style[ boxSizingProp ] = 'border-box';
+
+ var body = document.body || document.documentElement;
+ body.appendChild( div );
+ var style = getStyle( div );
+
+ isBoxSizeOuter = getStyleSize( style.width ) === 200;
+ body.removeChild( div );
+ }
+
+ }
+
+ // -------------------------- getSize -------------------------- //
+
+ function getSize( elem ) {
+ setup();
+
+ // use querySeletor if elem is string
+ if ( typeof elem === 'string' ) {
+ elem = document.querySelector( elem );
+ }
+
+ // do not proceed on non-objects
+ if ( !elem || typeof elem !== 'object' || !elem.nodeType ) {
+ return;
+ }
+
+ var style = getStyle( elem );
+
+ // if hidden, everything is 0
+ if ( style.display === 'none' ) {
+ return getZeroSize();
+ }
+
+ var size = {};
+ size.width = elem.offsetWidth;
+ size.height = elem.offsetHeight;
+
+ var isBorderBox = size.isBorderBox = !!( boxSizingProp &&
+ style[ boxSizingProp ] && style[ boxSizingProp ] === 'border-box' );
+
+ // get all measurements
+ for ( var i=0, len = measurements.length; i < len; i++ ) {
+ var measurement = measurements[i];
+ var value = style[ measurement ];
+
+ var num = parseFloat( value );
+ // any 'auto', 'medium' value will be 0
+ size[ measurement ] = !isNaN( num ) ? num : 0;
+ }
+
+ var paddingWidth = size.paddingLeft + size.paddingRight;
+ var paddingHeight = size.paddingTop + size.paddingBottom;
+ var marginWidth = size.marginLeft + size.marginRight;
+ var marginHeight = size.marginTop + size.marginBottom;
+ var borderWidth = size.borderLeftWidth + size.borderRightWidth;
+ var borderHeight = size.borderTopWidth + size.borderBottomWidth;
+
+ var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
+
+ // overwrite width and height if we can get it from style
+ var styleWidth = getStyleSize( style.width );
+ if ( styleWidth !== false ) {
+ size.width = styleWidth +
+ // add padding and border unless it's already including it
+ ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
+ }
+
+ var styleHeight = getStyleSize( style.height );
+ if ( styleHeight !== false ) {
+ size.height = styleHeight +
+ // add padding and border unless it's already including it
+ ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
+ }
+
+ size.innerWidth = size.width - ( paddingWidth + borderWidth );
+ size.innerHeight = size.height - ( paddingHeight + borderHeight );
+
+ size.outerWidth = size.width + marginWidth;
+ size.outerHeight = size.height + marginHeight;
+
+ return size;
+ }
+
+ return getSize;
+
+ })();
+
+ function getElementSize(ele) {
+ return _getSize(ele);
+ }
+});
diff --git a/uikit/static/js/components/grid.min.js b/uikit/static/js/components/grid.min.js
new file mode 100644
index 0000000..ce3bbde
--- /dev/null
+++ b/uikit/static/js/components/grid.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var i;window.UIkit&&(i=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-grid",["uikit"],function(){return i||t(UIkit)})}(function(t){"use strict";function i(t){return e(t)}t.component("grid",{defaults:{colwidth:"auto",animation:!0,duration:300,gutter:0,controls:!1,filter:!1},boot:function(){t.ready(function(i){t.$("[data-uk-grid]",i).each(function(){var i=t.$(this);if(!i.data("grid")){t.grid(i,t.Utils.options(i.attr("data-uk-grid")))}})})},init:function(){var i=this,e=String(this.options.gutter).trim().split(" ");this.gutterv=parseInt(e[0],10),this.gutterh=parseInt(e[1]||e[0],10),this.element.css({position:"relative"}),this.controls=null,this.options.controls&&(this.controls=t.$(this.options.controls),this.controls.on("click","[data-uk-filter]",function(e){e.preventDefault(),i.filter(t.$(this).data("ukFilter"))}),this.controls.on("click","[data-uk-sort]",function(e){e.preventDefault();var n=t.$(this).attr("data-uk-sort").split(":");i.sort(n[0],n[1])})),t.$win.on("load resize orientationchange",t.Utils.debounce(function(){i.currentfilter?i.filter(i.currentfilter):this.updateLayout()}.bind(this),100)),this.on("display.uk.check",function(){i.element.is(":visible")&&i.updateLayout()}),t.$html.on("changed.uk.dom",function(){i.updateLayout()}),this.options.filter!==!1?this.filter(this.options.filter):this.updateLayout()},_prepareElements:function(){var t,i=this.element.children(":not([data-grid-prepared])");i.length&&(t={position:"absolute","box-sizing":"border-box",width:"auto"==this.options.colwidth?"":this.options.colwidth},this.options.gutter&&(t["padding-left"]=this.gutterh,t["padding-bottom"]=this.gutterv,this.element.css("margin-left",-1*this.gutterh)),i.attr("data-grid-prepared","true").css(t))},updateLayout:function(e){this._prepareElements(),e=e||this.element.children(":visible");var n,r,o,a,s,d,h,u,l=e,f=this.element.width()+2*this.gutterh+2,c=0,p=0,g=[];this.trigger("beforeupdate.uk.grid",[l]),l.each(function(){for(u=i(this),n=t.$(this),r=u.outerWidth,o=u.outerHeight,c=0,p=0,s=0,h=g.length;h>s;s++)a=g[s],c<=a.aX&&(c=a.aX),c+r>f&&(c=0),p<=a.aY&&(p=a.aY);g.push({ele:n,top:p,left:c,width:r,height:o,aY:p+o,aX:c+r})});var m,v=0;for(s=0,h=g.length;h>s;s++){for(a=g[s],p=0,d=0;s>d;d++)m=g[d],a.left<m.aX&&m.left+1<a.aX&&(p=m.aY);a.top=p,a.aY=p+a.height,v=Math.max(v,a.aY)}v-=this.gutterv,this.options.animation?(this.element.stop().animate({height:v},100),g.forEach(function(t){t.ele.stop().animate({top:t.top,left:t.left,opacity:1},this.options.duration)}.bind(this))):(this.element.css("height",v),g.forEach(function(t){t.ele.css({top:t.top,left:t.left,opacity:1})}.bind(this))),setTimeout(function(){t.$doc.trigger("scrolling.uk.document")},2*this.options.duration*(this.options.animation?1:0)),this.trigger("afterupdate.uk.grid",[l])},filter:function(i){this.currentfilter=i,i=i||[],"string"==typeof i&&(i=i.split(/,/).map(function(t){return t.trim()}));var e=this,n=this.element.children(),r={visible:[],hidden:[]};n.each(function(){var e=t.$(this),n=e.attr("data-uk-filter"),o=i.length?!1:!0;n&&(n=n.split(/,/).map(function(t){return t.trim()}),i.forEach(function(t){n.indexOf(t)>-1&&(o=!0)})),r[o?"visible":"hidden"].push(e)}),r.hidden=t.$(r.hidden).map(function(){return this[0]}),r.visible=t.$(r.visible).map(function(){return this[0]}),r.hidden.attr("aria-hidden","true").filter(":visible").fadeOut(this.options.duration),r.visible.attr("aria-hidden","false").filter(":hidden").css("opacity",0).show(),e.updateLayout(r.visible),this.controls&&this.controls.length&&this.controls.find("[data-uk-filter]").removeClass("uk-active").filter('[data-uk-filter="'+i+'"]').addClass("uk-active")},sort:function(i,e){e=e||1,"string"==typeof e&&(e="desc"==e.toLowerCase()?-1:1);var n=this.element.children();n.sort(function(n,r){return n=t.$(n),r=t.$(r),(r.data(i)||"")<(n.data(i)||"")?e:-1*e}).appendTo(this.element),this.updateLayout(n.filter(":visible")),this.controls&&this.controls.length&&this.controls.find("[data-uk-sort]").removeClass("uk-active").filter('[data-uk-sort="'+i+":"+(-1==e?"desc":"asc")+'"]').addClass("uk-active")}});var e=function(){function t(t){if(t){if("string"==typeof u[t])return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var i,e=0,n=h.length;n>e;e++)if(i=h[e]+t,"string"==typeof u[i])return i}}function i(t){var i=parseFloat(t),e=-1===t.indexOf("%")&&!isNaN(i);return e&&i}function e(){}function n(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},i=0,e=f.length;e>i;i++){var n=f[i];t[n]=0}return t}function r(){if(!c){c=!0;var e=window.getComputedStyle;if(a=function(){var t=e?function(t){return e(t,null)}:function(t){return t.currentStyle};return function(i){var e=t(i);return e||l("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}}(),s=t("boxSizing")){var n=document.createElement("div");n.style.width="200px",n.style.padding="1px 2px 3px 4px",n.style.borderStyle="solid",n.style.borderWidth="1px 2px 3px 4px",n.style[s]="border-box";var r=document.body||document.documentElement;r.appendChild(n);var o=a(n);d=200===i(o.width),r.removeChild(n)}}}function o(t){if(r(),"string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var e=a(t);if("none"===e.display)return n();var o={};o.width=t.offsetWidth,o.height=t.offsetHeight;for(var h=o.isBorderBox=!(!s||!e[s]||"border-box"!==e[s]),u=0,l=f.length;l>u;u++){var c=f[u],p=e[c],g=parseFloat(p);o[c]=isNaN(g)?0:g}var m=o.paddingLeft+o.paddingRight,v=o.paddingTop+o.paddingBottom,b=o.marginLeft+o.marginRight,y=o.marginTop+o.marginBottom,k=o.borderLeftWidth+o.borderRightWidth,w=o.borderTopWidth+o.borderBottomWidth,x=h&&d,W=i(e.width);W!==!1&&(o.width=W+(x?0:m+k));var L=i(e.height);return L!==!1&&(o.height=L+(x?0:v+w)),o.innerWidth=o.width-(m+k),o.innerHeight=o.height-(v+w),o.outerWidth=o.width+b,o.outerHeight=o.height+y,o}}var a,s,d,h="Webkit Moz ms Ms O".split(" "),u=document.documentElement.style,l="undefined"==typeof console?e:function(t){console.error(t)},f=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],c=!1;return o}()}); \ No newline at end of file
diff --git a/uikit/static/js/components/htmleditor.js b/uikit/static/js/components/htmleditor.js
new file mode 100644
index 0000000..08586bd
--- /dev/null
+++ b/uikit/static/js/components/htmleditor.js
@@ -0,0 +1,621 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-htmleditor", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI) {
+
+ "use strict";
+
+ var editors = [];
+
+ UI.component('htmleditor', {
+
+ defaults: {
+ iframe : false,
+ mode : 'split',
+ markdown : false,
+ autocomplete : true,
+ height : 500,
+ maxsplitsize : 1000,
+ codemirror : { mode: 'htmlmixed', lineWrapping: true, dragDrop: false, autoCloseTags: true, matchTags: true, autoCloseBrackets: true, matchBrackets: true, indentUnit: 4, indentWithTabs: false, tabSize: 4, hintOptions: {completionSingle:false} },
+ toolbar : [ 'bold', 'italic', 'strike', 'link', 'image', 'blockquote', 'listUl', 'listOl' ],
+ lblPreview : 'Preview',
+ lblCodeview : 'HTML',
+ lblMarkedview: 'Markdown'
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$('textarea[data-uk-htmleditor]', context).each(function() {
+
+ var editor = UI.$(this), obj;
+
+ if (!editor.data('htmleditor')) {
+ obj = UI.htmleditor(editor, UI.Utils.options(editor.attr('data-uk-htmleditor')));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this, tpl = UI.components.htmleditor.template;
+
+ this.CodeMirror = this.options.CodeMirror || CodeMirror;
+ this.buttons = {};
+
+ tpl = tpl.replace(/\{:lblPreview\}/g, this.options.lblPreview);
+ tpl = tpl.replace(/\{:lblCodeview\}/g, this.options.lblCodeview);
+
+ this.htmleditor = UI.$(tpl);
+ this.content = this.htmleditor.find('.uk-htmleditor-content');
+ this.toolbar = this.htmleditor.find('.uk-htmleditor-toolbar');
+ this.preview = this.htmleditor.find('.uk-htmleditor-preview').children().eq(0);
+ this.code = this.htmleditor.find('.uk-htmleditor-code');
+
+ this.element.before(this.htmleditor).appendTo(this.code);
+ this.editor = this.CodeMirror.fromTextArea(this.element[0], this.options.codemirror);
+ this.editor.htmleditor = this;
+ this.editor.on('change', UI.Utils.debounce(function() { $this.render(); }, 150));
+ this.editor.on('change', function() {
+ $this.editor.save();
+ $this.element.trigger('input');
+ });
+ this.code.find('.CodeMirror').css('height', this.options.height);
+
+ // iframe mode?
+ if (this.options.iframe) {
+
+ this.iframe = UI.$('<iframe class="uk-htmleditor-iframe" frameborder="0" scrolling="auto" height="100" width="100%"></iframe>');
+ this.preview.append(this.iframe);
+
+ // must open and close document object to start using it!
+ this.iframe[0].contentWindow.document.open();
+ this.iframe[0].contentWindow.document.close();
+
+ this.preview.container = UI.$(this.iframe[0].contentWindow.document).find('body');
+
+ // append custom stylesheet
+ if (typeof(this.options.iframe) === 'string') {
+ this.preview.container.parent().append('<link rel="stylesheet" href="'+this.options.iframe+'">');
+ }
+
+ } else {
+ this.preview.container = this.preview;
+ }
+
+ UI.$win.on('resize load', UI.Utils.debounce(function() { $this.fit(); }, 200));
+
+ var previewContainer = this.iframe ? this.preview.container:$this.preview.parent(),
+ codeContent = this.code.find('.CodeMirror-sizer'),
+ codeScroll = this.code.find('.CodeMirror-scroll').on('scroll', UI.Utils.debounce(function() {
+
+ if ($this.htmleditor.attr('data-mode') == 'tab') return;
+
+ // calc position
+ var codeHeight = codeContent.height() - codeScroll.height(),
+ previewHeight = previewContainer[0].scrollHeight - ($this.iframe ? $this.iframe.height() : previewContainer.height()),
+ ratio = previewHeight / codeHeight,
+ previewPostition = codeScroll.scrollTop() * ratio;
+
+ // apply new scroll
+ previewContainer.scrollTop(previewPostition);
+
+ }, 10));
+
+ this.htmleditor.on('click', '.uk-htmleditor-button-code, .uk-htmleditor-button-preview', function(e) {
+
+ e.preventDefault();
+
+ if ($this.htmleditor.attr('data-mode') == 'tab') {
+
+ $this.htmleditor.find('.uk-htmleditor-button-code, .uk-htmleditor-button-preview').removeClass('uk-active').filter(this).addClass('uk-active');
+
+ $this.activetab = UI.$(this).hasClass('uk-htmleditor-button-code') ? 'code' : 'preview';
+ $this.htmleditor.attr('data-active-tab', $this.activetab);
+ $this.editor.refresh();
+ }
+ });
+
+ // toolbar actions
+ this.htmleditor.on('click', 'a[data-htmleditor-button]', function() {
+
+ if (!$this.code.is(':visible')) return;
+
+ $this.trigger('action.' + UI.$(this).data('htmleditor-button'), [$this.editor]);
+ });
+
+ this.preview.parent().css('height', this.code.height());
+
+ // autocomplete
+ if (this.options.autocomplete && this.CodeMirror.showHint && this.CodeMirror.hint && this.CodeMirror.hint.html) {
+
+ this.editor.on('inputRead', UI.Utils.debounce(function() {
+ var doc = $this.editor.getDoc(), POS = doc.getCursor(), mode = $this.CodeMirror.innerMode($this.editor.getMode(), $this.editor.getTokenAt(POS).state).mode.name;
+
+ if (mode == 'xml') { //html depends on xml
+
+ var cur = $this.editor.getCursor(), token = $this.editor.getTokenAt(cur);
+
+ if (token.string.charAt(0) == '<' || token.type == 'attribute') {
+ $this.CodeMirror.showHint($this.editor, $this.CodeMirror.hint.html, { completeSingle: false });
+ }
+ }
+ }, 100));
+ }
+
+ this.debouncedRedraw = UI.Utils.debounce(function () { $this.redraw(); }, 5);
+
+ this.on('init.uk.component', function() {
+ $this.redraw();
+ });
+
+ this.element.attr('data-uk-check-display', 1).on('display.uk.check', function(e) {
+ if (this.htmleditor.is(":visible")) this.fit();
+ }.bind(this));
+
+ editors.push(this);
+ },
+
+ addButton: function(name, button) {
+ this.buttons[name] = button;
+ },
+
+ addButtons: function(buttons) {
+ UI.$.extend(this.buttons, buttons);
+ },
+
+ replaceInPreview: function(regexp, callback) {
+
+ var editor = this.editor, results = [], value = editor.getValue(), offset = -1;
+
+ this.currentvalue = this.currentvalue.replace(regexp, function() {
+
+ offset = value.indexOf(arguments[0], ++offset);
+
+ var match = {
+ matches: arguments,
+ from : translateOffset(offset),
+ to : translateOffset(offset + arguments[0].length),
+ replace: function(value) {
+ editor.replaceRange(value, match.from, match.to);
+ },
+ inRange: function(cursor) {
+
+ if (cursor.line === match.from.line && cursor.line === match.to.line) {
+ return cursor.ch >= match.from.ch && cursor.ch < match.to.ch;
+ }
+
+ return (cursor.line === match.from.line && cursor.ch >= match.from.ch) ||
+ (cursor.line > match.from.line && cursor.line < match.to.line) ||
+ (cursor.line === match.to.line && cursor.ch < match.to.ch);
+ }
+ };
+
+ var result = callback(match);
+
+ if (!result) {
+ return arguments[0];
+ }
+
+ results.push(match);
+ return result;
+ });
+
+ function translateOffset(offset) {
+ var result = editor.getValue().substring(0, offset).split('\n');
+ return { line: result.length - 1, ch: result[result.length - 1].length }
+ }
+
+ return results;
+ },
+
+ _buildtoolbar: function() {
+
+ if (!(this.options.toolbar && this.options.toolbar.length)) return;
+
+ var $this = this, bar = [];
+
+ this.toolbar.empty();
+
+ this.options.toolbar.forEach(function(button) {
+ if (!$this.buttons[button]) return;
+
+ var title = $this.buttons[button].title ? $this.buttons[button].title : button;
+
+ bar.push('<li><a data-htmleditor-button="'+button+'" title="'+title+'" data-uk-tooltip>'+$this.buttons[button].label+'</a></li>');
+ });
+
+ this.toolbar.html(bar.join('\n'));
+ },
+
+ fit: function() {
+
+ var mode = this.options.mode;
+
+ if (mode == 'split' && this.htmleditor.width() < this.options.maxsplitsize) {
+ mode = 'tab';
+ }
+
+ if (mode == 'tab') {
+ if (!this.activetab) {
+ this.activetab = 'code';
+ this.htmleditor.attr('data-active-tab', this.activetab);
+ }
+
+ this.htmleditor.find('.uk-htmleditor-button-code, .uk-htmleditor-button-preview').removeClass('uk-active')
+ .filter(this.activetab == 'code' ? '.uk-htmleditor-button-code' : '.uk-htmleditor-button-preview')
+ .addClass('uk-active');
+ }
+
+ this.editor.refresh();
+ this.preview.parent().css('height', this.code.height());
+
+ this.htmleditor.attr('data-mode', mode);
+ },
+
+ redraw: function() {
+ this._buildtoolbar();
+ this.render();
+ this.fit();
+ },
+
+ getMode: function() {
+ return this.editor.getOption('mode');
+ },
+
+ getCursorMode: function() {
+ var param = { mode: 'html'};
+ this.trigger('cursorMode', [param]);
+ return param.mode;
+ },
+
+ render: function() {
+
+ this.currentvalue = this.editor.getValue();
+
+ // empty code
+ if (!this.currentvalue) {
+
+ this.element.val('');
+ this.preview.container.html('');
+
+ return;
+ }
+
+ this.trigger('render', [this]);
+ this.trigger('renderLate', [this]);
+
+ this.preview.container.html(this.currentvalue);
+ },
+
+ addShortcut: function(name, callback) {
+ var map = {};
+ if (!UI.$.isArray(name)) {
+ name = [name];
+ }
+
+ name.forEach(function(key) {
+ map[key] = callback;
+ });
+
+ this.editor.addKeyMap(map);
+
+ return map;
+ },
+
+ addShortcutAction: function(action, shortcuts) {
+ var editor = this;
+ this.addShortcut(shortcuts, function() {
+ editor.element.trigger('action.' + action, [editor.editor]);
+ });
+ },
+
+ replaceSelection: function(replace) {
+
+ var text = this.editor.getSelection();
+
+ if (!text.length) {
+
+ var cur = this.editor.getCursor(),
+ curLine = this.editor.getLine(cur.line),
+ start = cur.ch,
+ end = start;
+
+ while (end < curLine.length && /[\w$]+/.test(curLine.charAt(end))) ++end;
+ while (start && /[\w$]+/.test(curLine.charAt(start - 1))) --start;
+
+ var curWord = start != end && curLine.slice(start, end);
+
+ if (curWord) {
+ this.editor.setSelection({ line: cur.line, ch: start}, { line: cur.line, ch: end });
+ text = curWord;
+ }
+ }
+
+ var html = replace.replace('$1', text);
+
+ this.editor.replaceSelection(html, 'end');
+ this.editor.focus();
+ },
+
+ replaceLine: function(replace) {
+ var pos = this.editor.getDoc().getCursor(),
+ text = this.editor.getLine(pos.line),
+ html = replace.replace('$1', text);
+
+ this.editor.replaceRange(html , { line: pos.line, ch: 0 }, { line: pos.line, ch: text.length });
+ this.editor.setCursor({ line: pos.line, ch: html.length });
+ this.editor.focus();
+ },
+
+ save: function() {
+ this.editor.save();
+ }
+ });
+
+
+ UI.components.htmleditor.template = [
+ '<div class="uk-htmleditor uk-clearfix" data-mode="split">',
+ '<div class="uk-htmleditor-navbar">',
+ '<ul class="uk-htmleditor-navbar-nav uk-htmleditor-toolbar"></ul>',
+ '<div class="uk-htmleditor-navbar-flip">',
+ '<ul class="uk-htmleditor-navbar-nav">',
+ '<li class="uk-htmleditor-button-code"><a>{:lblCodeview}</a></li>',
+ '<li class="uk-htmleditor-button-preview"><a>{:lblPreview}</a></li>',
+ '<li><a data-htmleditor-button="fullscreen"><i class="uk-icon-expand"></i></a></li>',
+ '</ul>',
+ '</div>',
+ '</div>',
+ '<div class="uk-htmleditor-content">',
+ '<div class="uk-htmleditor-code"></div>',
+ '<div class="uk-htmleditor-preview"><div></div></div>',
+ '</div>',
+ '</div>'
+ ].join('');
+
+
+ UI.plugin('htmleditor', 'base', {
+
+ init: function(editor) {
+
+ editor.addButtons({
+
+ fullscreen: {
+ title : 'Fullscreen',
+ label : '<i class="uk-icon-expand"></i>'
+ },
+ bold : {
+ title : 'Bold',
+ label : '<i class="uk-icon-bold"></i>'
+ },
+ italic : {
+ title : 'Italic',
+ label : '<i class="uk-icon-italic"></i>'
+ },
+ strike : {
+ title : 'Strikethrough',
+ label : '<i class="uk-icon-strikethrough"></i>'
+ },
+ blockquote : {
+ title : 'Blockquote',
+ label : '<i class="uk-icon-quote-right"></i>'
+ },
+ link : {
+ title : 'Link',
+ label : '<i class="uk-icon-link"></i>'
+ },
+ image : {
+ title : 'Image',
+ label : '<i class="uk-icon-picture-o"></i>'
+ },
+ listUl : {
+ title : 'Unordered List',
+ label : '<i class="uk-icon-list-ul"></i>'
+ },
+ listOl : {
+ title : 'Ordered List',
+ label : '<i class="uk-icon-list-ol"></i>'
+ }
+
+ });
+
+ addAction('bold', '<strong>$1</strong>');
+ addAction('italic', '<em>$1</em>');
+ addAction('strike', '<del>$1</del>');
+ addAction('blockquote', '<blockquote><p>$1</p></blockquote>', 'replaceLine');
+ addAction('link', '<a href="http://">$1</a>');
+ addAction('image', '<img src="http://" alt="$1">');
+
+ var listfn = function() {
+ if (editor.getCursorMode() == 'html') {
+
+ var cm = editor.editor,
+ pos = cm.getDoc().getCursor(true),
+ posend = cm.getDoc().getCursor(false);
+
+ for (var i=pos.line; i<(posend.line+1);i++) {
+ cm.replaceRange('<li>'+cm.getLine(i)+'</li>', { line: i, ch: 0 }, { line: i, ch: cm.getLine(i).length });
+ }
+
+ cm.setCursor({ line: posend.line, ch: cm.getLine(posend.line).length });
+ cm.focus();
+ }
+ }
+
+ editor.on('action.listUl', function() {
+ listfn();
+ });
+
+ editor.on('action.listOl', function() {
+ listfn();
+ });
+
+ editor.htmleditor.on('click', 'a[data-htmleditor-button="fullscreen"]', function() {
+ editor.htmleditor.toggleClass('uk-htmleditor-fullscreen');
+
+ var wrap = editor.editor.getWrapperElement();
+
+ if (editor.htmleditor.hasClass('uk-htmleditor-fullscreen')) {
+
+ editor.editor.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset, width: wrap.style.width, height: wrap.style.height};
+ wrap.style.width = '';
+ wrap.style.height = editor.content.height()+'px';
+ document.documentElement.style.overflow = 'hidden';
+
+ } else {
+
+ document.documentElement.style.overflow = '';
+ var info = editor.editor.state.fullScreenRestore;
+ wrap.style.width = info.width; wrap.style.height = info.height;
+ window.scrollTo(info.scrollLeft, info.scrollTop);
+ }
+
+ setTimeout(function() {
+ editor.fit();
+ UI.$win.trigger('resize');
+ }, 50);
+ });
+
+ editor.addShortcut(['Ctrl-S', 'Cmd-S'], function() { editor.element.trigger('htmleditor-save', [editor]); });
+ editor.addShortcutAction('bold', ['Ctrl-B', 'Cmd-B']);
+
+ function addAction(name, replace, mode) {
+ editor.on('action.'+name, function() {
+ if (editor.getCursorMode() == 'html') {
+ editor[mode == 'replaceLine' ? 'replaceLine' : 'replaceSelection'](replace);
+ }
+ });
+ }
+ }
+ });
+
+ UI.plugin('htmleditor', 'markdown', {
+
+ init: function(editor) {
+
+ var parser = editor.options.mdparser || marked || null;
+
+ if (!parser) return;
+
+ if (editor.options.markdown) {
+ enableMarkdown();
+ }
+
+ addAction('bold', '**$1**');
+ addAction('italic', '*$1*');
+ addAction('strike', '~~$1~~');
+ addAction('blockquote', '> $1', 'replaceLine');
+ addAction('link', '[$1](http://)');
+ addAction('image', '![$1](http://)');
+
+ editor.on('action.listUl', function() {
+
+ if (editor.getCursorMode() == 'markdown') {
+
+ var cm = editor.editor,
+ pos = cm.getDoc().getCursor(true),
+ posend = cm.getDoc().getCursor(false);
+
+ for (var i=pos.line; i<(posend.line+1);i++) {
+ cm.replaceRange('* '+cm.getLine(i), { line: i, ch: 0 }, { line: i, ch: cm.getLine(i).length });
+ }
+
+ cm.setCursor({ line: posend.line, ch: cm.getLine(posend.line).length });
+ cm.focus();
+ }
+ });
+
+ editor.on('action.listOl', function() {
+
+ if (editor.getCursorMode() == 'markdown') {
+
+ var cm = editor.editor,
+ pos = cm.getDoc().getCursor(true),
+ posend = cm.getDoc().getCursor(false),
+ prefix = 1;
+
+ if (pos.line > 0) {
+ var prevline = cm.getLine(pos.line-1), matches;
+
+ if(matches = prevline.match(/^(\d+)\./)) {
+ prefix = Number(matches[1])+1;
+ }
+ }
+
+ for (var i=pos.line; i<(posend.line+1);i++) {
+ cm.replaceRange(prefix+'. '+cm.getLine(i), { line: i, ch: 0 }, { line: i, ch: cm.getLine(i).length });
+ prefix++;
+ }
+
+ cm.setCursor({ line: posend.line, ch: cm.getLine(posend.line).length });
+ cm.focus();
+ }
+ });
+
+ editor.on('renderLate', function() {
+ if (editor.editor.options.mode == 'gfm') {
+ editor.currentvalue = parser(editor.currentvalue);
+ }
+ });
+
+ editor.on('cursorMode', function(e, param) {
+ if (editor.editor.options.mode == 'gfm') {
+ var pos = editor.editor.getDoc().getCursor();
+ if (!editor.editor.getTokenAt(pos).state.base.htmlState) {
+ param.mode = 'markdown';
+ }
+ }
+ });
+
+ UI.$.extend(editor, {
+
+ enableMarkdown: function() {
+ enableMarkdown()
+ this.render();
+ },
+ disableMarkdown: function() {
+ this.editor.setOption('mode', 'htmlmixed');
+ this.htmleditor.find('.uk-htmleditor-button-code a').html(this.options.lblCodeview);
+ this.render();
+ }
+
+ });
+
+ // switch markdown mode on event
+ editor.on({
+ enableMarkdown : function() { editor.enableMarkdown(); },
+ disableMarkdown : function() { editor.disableMarkdown(); }
+ });
+
+ function enableMarkdown() {
+ editor.editor.setOption('mode', 'gfm');
+ editor.htmleditor.find('.uk-htmleditor-button-code a').html(editor.options.lblMarkedview);
+ }
+
+ function addAction(name, replace, mode) {
+ editor.on('action.'+name, function() {
+ if (editor.getCursorMode() == 'markdown') {
+ editor[mode == 'replaceLine' ? 'replaceLine' : 'replaceSelection'](replace);
+ }
+ });
+ }
+ }
+ });
+
+ return UI.htmleditor;
+});
diff --git a/uikit/static/js/components/htmleditor.min.js b/uikit/static/js/components/htmleditor.min.js
new file mode 100644
index 0000000..a33d65f
--- /dev/null
+++ b/uikit/static/js/components/htmleditor.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var e;window.UIkit&&(e=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-htmleditor",["uikit"],function(){return e||t(UIkit)})}(function(t){"use strict";var e=[];return t.component("htmleditor",{defaults:{iframe:!1,mode:"split",markdown:!1,autocomplete:!0,height:500,maxsplitsize:1e3,codemirror:{mode:"htmlmixed",lineWrapping:!0,dragDrop:!1,autoCloseTags:!0,matchTags:!0,autoCloseBrackets:!0,matchBrackets:!0,indentUnit:4,indentWithTabs:!1,tabSize:4,hintOptions:{completionSingle:!1}},toolbar:["bold","italic","strike","link","image","blockquote","listUl","listOl"],lblPreview:"Preview",lblCodeview:"HTML",lblMarkedview:"Markdown"},boot:function(){t.ready(function(e){t.$("textarea[data-uk-htmleditor]",e).each(function(){var e,i=t.$(this);i.data("htmleditor")||(e=t.htmleditor(i,t.Utils.options(i.attr("data-uk-htmleditor"))))})})},init:function(){var i=this,o=t.components.htmleditor.template;this.CodeMirror=this.options.CodeMirror||CodeMirror,this.buttons={},o=o.replace(/\{:lblPreview\}/g,this.options.lblPreview),o=o.replace(/\{:lblCodeview\}/g,this.options.lblCodeview),this.htmleditor=t.$(o),this.content=this.htmleditor.find(".uk-htmleditor-content"),this.toolbar=this.htmleditor.find(".uk-htmleditor-toolbar"),this.preview=this.htmleditor.find(".uk-htmleditor-preview").children().eq(0),this.code=this.htmleditor.find(".uk-htmleditor-code"),this.element.before(this.htmleditor).appendTo(this.code),this.editor=this.CodeMirror.fromTextArea(this.element[0],this.options.codemirror),this.editor.htmleditor=this,this.editor.on("change",t.Utils.debounce(function(){i.render()},150)),this.editor.on("change",function(){i.editor.save(),i.element.trigger("input")}),this.code.find(".CodeMirror").css("height",this.options.height),this.options.iframe?(this.iframe=t.$('<iframe class="uk-htmleditor-iframe" frameborder="0" scrolling="auto" height="100" width="100%"></iframe>'),this.preview.append(this.iframe),this.iframe[0].contentWindow.document.open(),this.iframe[0].contentWindow.document.close(),this.preview.container=t.$(this.iframe[0].contentWindow.document).find("body"),"string"==typeof this.options.iframe&&this.preview.container.parent().append('<link rel="stylesheet" href="'+this.options.iframe+'">')):this.preview.container=this.preview,t.$win.on("resize load",t.Utils.debounce(function(){i.fit()},200));var r=this.iframe?this.preview.container:i.preview.parent(),n=this.code.find(".CodeMirror-sizer"),l=this.code.find(".CodeMirror-scroll").on("scroll",t.Utils.debounce(function(){if("tab"!=i.htmleditor.attr("data-mode")){var t=n.height()-l.height(),e=r[0].scrollHeight-(i.iframe?i.iframe.height():r.height()),o=e/t,s=l.scrollTop()*o;r.scrollTop(s)}},10));this.htmleditor.on("click",".uk-htmleditor-button-code, .uk-htmleditor-button-preview",function(e){e.preventDefault(),"tab"==i.htmleditor.attr("data-mode")&&(i.htmleditor.find(".uk-htmleditor-button-code, .uk-htmleditor-button-preview").removeClass("uk-active").filter(this).addClass("uk-active"),i.activetab=t.$(this).hasClass("uk-htmleditor-button-code")?"code":"preview",i.htmleditor.attr("data-active-tab",i.activetab),i.editor.refresh())}),this.htmleditor.on("click","a[data-htmleditor-button]",function(){i.code.is(":visible")&&i.trigger("action."+t.$(this).data("htmleditor-button"),[i.editor])}),this.preview.parent().css("height",this.code.height()),this.options.autocomplete&&this.CodeMirror.showHint&&this.CodeMirror.hint&&this.CodeMirror.hint.html&&this.editor.on("inputRead",t.Utils.debounce(function(){var t=i.editor.getDoc(),e=t.getCursor(),o=i.CodeMirror.innerMode(i.editor.getMode(),i.editor.getTokenAt(e).state).mode.name;if("xml"==o){var r=i.editor.getCursor(),n=i.editor.getTokenAt(r);("<"==n.string.charAt(0)||"attribute"==n.type)&&i.CodeMirror.showHint(i.editor,i.CodeMirror.hint.html,{completeSingle:!1})}},100)),this.debouncedRedraw=t.Utils.debounce(function(){i.redraw()},5),this.on("init.uk.component",function(){i.redraw()}),this.element.attr("data-uk-check-display",1).on("display.uk.check",function(){this.htmleditor.is(":visible")&&this.fit()}.bind(this)),e.push(this)},addButton:function(t,e){this.buttons[t]=e},addButtons:function(e){t.$.extend(this.buttons,e)},replaceInPreview:function(t,e){function i(t){var e=o.getValue().substring(0,t).split("\n");return{line:e.length-1,ch:e[e.length-1].length}}var o=this.editor,r=[],n=o.getValue(),l=-1;return this.currentvalue=this.currentvalue.replace(t,function(){l=n.indexOf(arguments[0],++l);var t={matches:arguments,from:i(l),to:i(l+arguments[0].length),replace:function(e){o.replaceRange(e,t.from,t.to)},inRange:function(e){return e.line===t.from.line&&e.line===t.to.line?e.ch>=t.from.ch&&e.ch<t.to.ch:e.line===t.from.line&&e.ch>=t.from.ch||e.line>t.from.line&&e.line<t.to.line||e.line===t.to.line&&e.ch<t.to.ch}},s=e(t);return s?(r.push(t),s):arguments[0]}),r},_buildtoolbar:function(){if(this.options.toolbar&&this.options.toolbar.length){var t=this,e=[];this.toolbar.empty(),this.options.toolbar.forEach(function(i){if(t.buttons[i]){var o=t.buttons[i].title?t.buttons[i].title:i;e.push('<li><a data-htmleditor-button="'+i+'" title="'+o+'" data-uk-tooltip>'+t.buttons[i].label+"</a></li>")}}),this.toolbar.html(e.join("\n"))}},fit:function(){var t=this.options.mode;"split"==t&&this.htmleditor.width()<this.options.maxsplitsize&&(t="tab"),"tab"==t&&(this.activetab||(this.activetab="code",this.htmleditor.attr("data-active-tab",this.activetab)),this.htmleditor.find(".uk-htmleditor-button-code, .uk-htmleditor-button-preview").removeClass("uk-active").filter("code"==this.activetab?".uk-htmleditor-button-code":".uk-htmleditor-button-preview").addClass("uk-active")),this.editor.refresh(),this.preview.parent().css("height",this.code.height()),this.htmleditor.attr("data-mode",t)},redraw:function(){this._buildtoolbar(),this.render(),this.fit()},getMode:function(){return this.editor.getOption("mode")},getCursorMode:function(){var t={mode:"html"};return this.trigger("cursorMode",[t]),t.mode},render:function(){return this.currentvalue=this.editor.getValue(),this.currentvalue?(this.trigger("render",[this]),this.trigger("renderLate",[this]),this.preview.container.html(this.currentvalue),void 0):(this.element.val(""),this.preview.container.html(""),void 0)},addShortcut:function(e,i){var o={};return t.$.isArray(e)||(e=[e]),e.forEach(function(t){o[t]=i}),this.editor.addKeyMap(o),o},addShortcutAction:function(t,e){var i=this;this.addShortcut(e,function(){i.element.trigger("action."+t,[i.editor])})},replaceSelection:function(t){var e=this.editor.getSelection();if(!e.length){for(var i=this.editor.getCursor(),o=this.editor.getLine(i.line),r=i.ch,n=r;n<o.length&&/[\w$]+/.test(o.charAt(n));)++n;for(;r&&/[\w$]+/.test(o.charAt(r-1));)--r;var l=r!=n&&o.slice(r,n);l&&(this.editor.setSelection({line:i.line,ch:r},{line:i.line,ch:n}),e=l)}var s=t.replace("$1",e);this.editor.replaceSelection(s,"end"),this.editor.focus()},replaceLine:function(t){var e=this.editor.getDoc().getCursor(),i=this.editor.getLine(e.line),o=t.replace("$1",i);this.editor.replaceRange(o,{line:e.line,ch:0},{line:e.line,ch:i.length}),this.editor.setCursor({line:e.line,ch:o.length}),this.editor.focus()},save:function(){this.editor.save()}}),t.components.htmleditor.template=['<div class="uk-htmleditor uk-clearfix" data-mode="split">','<div class="uk-htmleditor-navbar">','<ul class="uk-htmleditor-navbar-nav uk-htmleditor-toolbar"></ul>','<div class="uk-htmleditor-navbar-flip">','<ul class="uk-htmleditor-navbar-nav">','<li class="uk-htmleditor-button-code"><a>{:lblCodeview}</a></li>','<li class="uk-htmleditor-button-preview"><a>{:lblPreview}</a></li>','<li><a data-htmleditor-button="fullscreen"><i class="uk-icon-expand"></i></a></li>',"</ul>","</div>","</div>",'<div class="uk-htmleditor-content">','<div class="uk-htmleditor-code"></div>','<div class="uk-htmleditor-preview"><div></div></div>',"</div>","</div>"].join(""),t.plugin("htmleditor","base",{init:function(e){function i(t,i,o){e.on("action."+t,function(){"html"==e.getCursorMode()&&e["replaceLine"==o?"replaceLine":"replaceSelection"](i)})}e.addButtons({fullscreen:{title:"Fullscreen",label:'<i class="uk-icon-expand"></i>'},bold:{title:"Bold",label:'<i class="uk-icon-bold"></i>'},italic:{title:"Italic",label:'<i class="uk-icon-italic"></i>'},strike:{title:"Strikethrough",label:'<i class="uk-icon-strikethrough"></i>'},blockquote:{title:"Blockquote",label:'<i class="uk-icon-quote-right"></i>'},link:{title:"Link",label:'<i class="uk-icon-link"></i>'},image:{title:"Image",label:'<i class="uk-icon-picture-o"></i>'},listUl:{title:"Unordered List",label:'<i class="uk-icon-list-ul"></i>'},listOl:{title:"Ordered List",label:'<i class="uk-icon-list-ol"></i>'}}),i("bold","<strong>$1</strong>"),i("italic","<em>$1</em>"),i("strike","<del>$1</del>"),i("blockquote","<blockquote><p>$1</p></blockquote>","replaceLine"),i("link",'<a href="http://">$1</a>'),i("image",'<img src="http://" alt="$1">');var o=function(){if("html"==e.getCursorMode()){for(var t=e.editor,i=t.getDoc().getCursor(!0),o=t.getDoc().getCursor(!1),r=i.line;r<o.line+1;r++)t.replaceRange("<li>"+t.getLine(r)+"</li>",{line:r,ch:0},{line:r,ch:t.getLine(r).length});t.setCursor({line:o.line,ch:t.getLine(o.line).length}),t.focus()}};e.on("action.listUl",function(){o()}),e.on("action.listOl",function(){o()}),e.htmleditor.on("click",'a[data-htmleditor-button="fullscreen"]',function(){e.htmleditor.toggleClass("uk-htmleditor-fullscreen");var i=e.editor.getWrapperElement();if(e.htmleditor.hasClass("uk-htmleditor-fullscreen"))e.editor.state.fullScreenRestore={scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,width:i.style.width,height:i.style.height},i.style.width="",i.style.height=e.content.height()+"px",document.documentElement.style.overflow="hidden";else{document.documentElement.style.overflow="";var o=e.editor.state.fullScreenRestore;i.style.width=o.width,i.style.height=o.height,window.scrollTo(o.scrollLeft,o.scrollTop)}setTimeout(function(){e.fit(),t.$win.trigger("resize")},50)}),e.addShortcut(["Ctrl-S","Cmd-S"],function(){e.element.trigger("htmleditor-save",[e])}),e.addShortcutAction("bold",["Ctrl-B","Cmd-B"])}}),t.plugin("htmleditor","markdown",{init:function(e){function i(){e.editor.setOption("mode","gfm"),e.htmleditor.find(".uk-htmleditor-button-code a").html(e.options.lblMarkedview)}function o(t,i,o){e.on("action."+t,function(){"markdown"==e.getCursorMode()&&e["replaceLine"==o?"replaceLine":"replaceSelection"](i)})}var r=e.options.mdparser||marked||null;r&&(e.options.markdown&&i(),o("bold","**$1**"),o("italic","*$1*"),o("strike","~~$1~~"),o("blockquote","> $1","replaceLine"),o("link","[$1](http://)"),o("image","![$1](http://)"),e.on("action.listUl",function(){if("markdown"==e.getCursorMode()){for(var t=e.editor,i=t.getDoc().getCursor(!0),o=t.getDoc().getCursor(!1),r=i.line;r<o.line+1;r++)t.replaceRange("* "+t.getLine(r),{line:r,ch:0},{line:r,ch:t.getLine(r).length});t.setCursor({line:o.line,ch:t.getLine(o.line).length}),t.focus()}}),e.on("action.listOl",function(){if("markdown"==e.getCursorMode()){var t=e.editor,i=t.getDoc().getCursor(!0),o=t.getDoc().getCursor(!1),r=1;if(i.line>0){var n,l=t.getLine(i.line-1);(n=l.match(/^(\d+)\./))&&(r=Number(n[1])+1)}for(var s=i.line;s<o.line+1;s++)t.replaceRange(r+". "+t.getLine(s),{line:s,ch:0},{line:s,ch:t.getLine(s).length}),r++;t.setCursor({line:o.line,ch:t.getLine(o.line).length}),t.focus()}}),e.on("renderLate",function(){"gfm"==e.editor.options.mode&&(e.currentvalue=r(e.currentvalue))}),e.on("cursorMode",function(t,i){if("gfm"==e.editor.options.mode){var o=e.editor.getDoc().getCursor();e.editor.getTokenAt(o).state.base.htmlState||(i.mode="markdown")}}),t.$.extend(e,{enableMarkdown:function(){i(),this.render()},disableMarkdown:function(){this.editor.setOption("mode","htmlmixed"),this.htmleditor.find(".uk-htmleditor-button-code a").html(this.options.lblCodeview),this.render()}}),e.on({enableMarkdown:function(){e.enableMarkdown()},disableMarkdown:function(){e.disableMarkdown()}}))}}),t.htmleditor}); \ No newline at end of file
diff --git a/uikit/static/js/components/lightbox.js b/uikit/static/js/components/lightbox.js
new file mode 100644
index 0000000..1abb1a5
--- /dev/null
+++ b/uikit/static/js/components/lightbox.js
@@ -0,0 +1,544 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) { // AMD
+ define("uikit-lightbox", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ var modal, cache = {};
+
+ UI.component('lightbox', {
+
+ defaults: {
+ "group" : false,
+ "duration" : 400,
+ "keyboard" : true
+ },
+
+ index : 0,
+ items : false,
+
+ boot: function() {
+
+ UI.$html.on('click', '[data-uk-lightbox]', function(e){
+
+ e.preventDefault();
+
+ var link = UI.$(this);
+
+ if (!link.data("lightbox")) {
+
+ UI.lightbox(link, UI.Utils.options(link.attr("data-uk-lightbox")));
+ }
+
+ link.data("lightbox").show(link);
+ });
+
+ // keyboard navigation
+ UI.$doc.on('keyup', function(e) {
+
+ if (modal && modal.is(':visible') && modal.lightbox.options.keyboard) {
+
+ e.preventDefault();
+
+ switch(e.keyCode) {
+ case 37:
+ modal.lightbox.previous();
+ break;
+ case 39:
+ modal.lightbox.next();
+ break;
+ }
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this, siblings = [];
+
+ this.index = 0;
+ this.siblings = [];
+
+ if (this.element && this.element.length) {
+
+ var domSiblings = this.options.group ? UI.$([
+ '[data-uk-lightbox*="'+this.options.group+'"]',
+ "[data-uk-lightbox*='"+this.options.group+"']"
+ ].join(',')) : this.element;
+
+ domSiblings.each(function() {
+
+ var ele = UI.$(this);
+
+ siblings.push({
+ 'source': ele.attr('href'),
+ 'title' : ele.attr('title'),
+ 'type' : ele.attr("data-lightbox-type") || 'auto',
+ 'link' : ele
+ });
+ });
+
+ this.index = domSiblings.index(this.element);
+ this.siblings = siblings;
+
+ } else if (this.options.group && this.options.group.length) {
+ this.siblings = this.options.group;
+ }
+
+ this.trigger('lightbox-init', [this]);
+ },
+
+ show: function(index) {
+
+ this.modal = getModal(this);
+
+ // stop previous animation
+ this.modal.dialog.stop();
+ this.modal.content.stop();
+
+ var $this = this, promise = UI.$.Deferred(), data, item;
+
+ index = index || 0;
+
+ // index is a jQuery object or DOM element
+ if (typeof(index) == 'object') {
+
+ this.siblings.forEach(function(s, idx){
+
+ if (index[0] === s.link[0]) {
+ index = idx;
+ }
+ });
+ }
+
+ // fix index if needed
+ if ( index < 0 ) {
+ index = this.siblings.length - index;
+ } else if (!this.siblings[index]) {
+ index = 0;
+ }
+
+ item = this.siblings[index];
+
+ data = {
+ "lightbox" : $this,
+ "source" : item.source,
+ "type" : item.type,
+ "index" : index,
+ "promise" : promise,
+ "title" : item.title,
+ "item" : item,
+ "meta" : {
+ "content" : '',
+ "width" : null,
+ "height" : null
+ }
+ };
+
+ this.index = index;
+
+ this.modal.content.empty();
+
+ if (!this.modal.is(':visible')) {
+ this.modal.content.css({width:'', height:''}).empty();
+ this.modal.modal.show();
+ }
+
+ this.modal.loader.removeClass('uk-hidden');
+
+ promise.promise().done(function() {
+
+ $this.data = data;
+ $this.fitSize(data);
+
+ }).fail(function(){
+
+ data.meta.content = '<div class="uk-position-cover uk-flex uk-flex-middle uk-flex-center"><strong>Loading resource failed!</strong></div>';
+ data.meta.width = 400;
+ data.meta.height = 300;
+
+ $this.data = data;
+ $this.fitSize(data);
+ });
+
+ $this.trigger('showitem.uk.lightbox', [data]);
+ },
+
+ fitSize: function() {
+
+ var $this = this,
+ data = this.data,
+ pad = this.modal.dialog.outerWidth() - this.modal.dialog.width(),
+ dpadTop = parseInt(this.modal.dialog.css('margin-top'), 10),
+ dpadBot = parseInt(this.modal.dialog.css('margin-bottom'), 10),
+ dpad = dpadTop + dpadBot,
+ content = data.meta.content,
+ duration = $this.options.duration;
+
+ if (this.siblings.length > 1) {
+
+ content = [
+ content,
+ '<a href="#" class="uk-slidenav uk-slidenav-contrast uk-slidenav-previous uk-hidden-touch" data-lightbox-previous></a>',
+ '<a href="#" class="uk-slidenav uk-slidenav-contrast uk-slidenav-next uk-hidden-touch" data-lightbox-next></a>'
+ ].join('');
+ }
+
+ // calculate width
+ var tmp = UI.$('<div>&nbsp;</div>').css({
+ 'opacity' : 0,
+ 'position' : 'absolute',
+ 'top' : 0,
+ 'left' : 0,
+ 'width' : '100%',
+ 'max-width' : $this.modal.dialog.css('max-width'),
+ 'padding' : $this.modal.dialog.css('padding'),
+ 'margin' : $this.modal.dialog.css('margin')
+ }), maxwidth, maxheight, w = data.meta.width, h = data.meta.height;
+
+ tmp.appendTo('body').width();
+
+ maxwidth = tmp.width();
+ maxheight = window.innerHeight - dpad;
+
+ tmp.remove();
+
+ this.modal.dialog.find('.uk-modal-caption').remove();
+
+ if (data.title) {
+ this.modal.dialog.append('<div class="uk-modal-caption">'+data.title+'</div>');
+ maxheight -= this.modal.dialog.find('.uk-modal-caption').outerHeight();
+ }
+
+ if (maxwidth < data.meta.width) {
+
+ h = Math.floor( h * (maxwidth / w) );
+ w = maxwidth;
+ }
+
+ if (maxheight < h) {
+
+ h = Math.floor(maxheight);
+ w = Math.ceil(data.meta.width * (maxheight/data.meta.height));
+ }
+
+ this.modal.content.css('opacity', 0).width(w).html(content);
+
+ if (data.type == 'iframe') {
+ this.modal.content.find('iframe:first').height(h);
+ }
+
+ var dh = h + pad,
+ t = Math.floor(window.innerHeight/2 - dh/2) - dpad;
+
+ if (t < 0) { t = 0; }
+
+ this.modal.closer.addClass('uk-hidden');
+
+ if ($this.modal.data('mwidth') == w && $this.modal.data('mheight') == h) {
+ duration = 0;
+ }
+
+ this.modal.dialog.animate({width: w + pad, height: h + pad, top: t }, duration, 'swing', function() {
+ $this.modal.loader.addClass('uk-hidden');
+ $this.modal.content.css({width:''}).animate({'opacity': 1}, function() {
+ $this.modal.closer.removeClass('uk-hidden');
+ });
+
+ $this.modal.data({'mwidth': w, 'mheight': h});
+ });
+ },
+
+ next: function() {
+ this.show(this.siblings[(this.index+1)] ? (this.index+1) : 0);
+ },
+
+ previous: function() {
+ this.show(this.siblings[(this.index-1)] ? (this.index-1) : this.siblings.length-1);
+ }
+ });
+
+
+ // Plugins
+
+ UI.plugin('lightbox', 'image', {
+
+ init: function(lightbox) {
+
+ lightbox.on("showitem.uk.lightbox", function(e, data){
+
+ if (data.type == 'image' || data.source && data.source.match(/\.(jpg|jpeg|png|gif|svg)$/i)) {
+
+ var resolve = function(source, width, height) {
+
+ data.meta = {
+ "content" : '<img class="uk-responsive-width" width="'+width+'" height="'+height+'" src ="'+source+'">',
+ "width" : width,
+ "height" : height
+ };
+
+ data.type = 'image';
+
+ data.promise.resolve();
+ };
+
+ if (!cache[data.source]) {
+
+ var img = new Image();
+
+ img.onerror = function(){
+ data.promise.reject('Loading image failed');
+ };
+
+ img.onload = function(){
+ cache[data.source] = {width: img.width, height: img.height};
+ resolve(data.source, cache[data.source].width, cache[data.source].height);
+ };
+
+ img.src = data.source;
+
+ } else {
+ resolve(data.source, cache[data.source].width, cache[data.source].height);
+ }
+ }
+ });
+ }
+ });
+
+ UI.plugin("lightbox", "youtube", {
+
+ init: function(lightbox) {
+
+ var youtubeRegExp = /(\/\/.*?youtube\.[a-z]+)\/watch\?v=([^&]+)&?(.*)/,
+ youtubeRegExpShort = /youtu\.be\/(.*)/;
+
+
+ lightbox.on("showitem.uk.lightbox", function(e, data){
+
+ var id, matches, resolve = function(id, width, height) {
+
+ data.meta = {
+ 'content': '<iframe src="//www.youtube.com/embed/'+id+'" width="'+width+'" height="'+height+'" style="max-width:100%;"></iframe>',
+ 'width': width,
+ 'height': height
+ };
+
+ data.type = 'iframe';
+
+ data.promise.resolve();
+ };
+
+ if (matches = data.source.match(youtubeRegExp)) {
+ id = matches[2];
+ }
+
+ if (matches = data.source.match(youtubeRegExpShort)) {
+ id = matches[1];
+ }
+
+ if (id) {
+
+ if(!cache[id]) {
+
+ var img = new Image();
+
+ img.onerror = function(){
+ cache[id] = {width:640, height:320};
+ resolve(id, cache[id].width, cache[id].height);
+ };
+
+ img.onload = function(){
+ cache[id] = {width:img.width, height:img.height};
+ resolve(id, img.width, img.height);
+ };
+
+ img.src = '//img.youtube.com/vi/'+id+'/0.jpg';
+
+ } else {
+ resolve(id, cache[id].width, cache[id].height);
+ }
+
+ e.stopImmediatePropagation();
+ }
+ });
+ }
+ });
+
+
+ UI.plugin("lightbox", "vimeo", {
+
+ init: function(lightbox) {
+
+ var regex = /(\/\/.*?)vimeo\.[a-z]+\/([0-9]+).*?/, matches;
+
+
+ lightbox.on("showitem.uk.lightbox", function(e, data){
+
+ var id, resolve = function(id, width, height) {
+
+ data.meta = {
+ 'content': '<iframe src="//player.vimeo.com/video/'+id+'" width="'+width+'" height="'+height+'" style="width:100%;box-sizing:border-box;"></iframe>',
+ 'width': width,
+ 'height': height
+ };
+
+ data.type = 'iframe';
+
+ data.promise.resolve();
+ };
+
+ if (matches = data.source.match(regex)) {
+
+ id = matches[2];
+
+ if(!cache[id]) {
+
+ UI.$.ajax({
+ type : 'GET',
+ url : 'http://vimeo.com/api/oembed.json?url=' + encodeURI(data.source),
+ jsonp : 'callback',
+ dataType : 'jsonp',
+ success : function(data) {
+ cache[id] = {width:data.width, height:data.height};
+ resolve(id, cache[id].width, cache[id].height);
+ }
+ });
+
+ } else {
+ resolve(id, cache[id].width, cache[id].height);
+ }
+
+ e.stopImmediatePropagation();
+ }
+ });
+ }
+ });
+
+ UI.plugin("lightbox", "video", {
+
+ init: function(lightbox) {
+
+ lightbox.on("showitem.uk.lightbox", function(e, data){
+
+
+ var resolve = function(source, width, height) {
+
+ data.meta = {
+ 'content': '<video class="uk-responsive-width" src="'+source+'" width="'+width+'" height="'+height+'" controls></video>',
+ 'width': width,
+ 'height': height
+ };
+
+ data.type = 'video';
+
+ data.promise.resolve();
+ };
+
+ if (data.type == 'video' || data.source.match(/\.(mp4|webm|ogv)$/i)) {
+
+ if (!cache[data.source]) {
+
+ var vid = UI.$('<video style="position:fixed;visibility:hidden;top:-10000px;"></video>').attr('src', data.source).appendTo('body');
+
+ var idle = setInterval(function() {
+
+ if (vid[0].videoWidth) {
+ clearInterval(idle);
+ cache[data.source] = {width: vid[0].videoWidth, height: vid[0].videoHeight};
+ resolve(data.source, cache[data.source].width, cache[data.source].height);
+ vid.remove();
+ }
+
+ }, 20);
+
+ } else {
+ resolve(data.source, cache[data.source].width, cache[data.source].height);
+ }
+ }
+ });
+ }
+ });
+
+
+ function getModal(lightbox) {
+
+ if (modal) {
+ modal.lightbox = lightbox;
+ return modal;
+ }
+
+ // init lightbox container
+ modal = UI.$([
+ '<div class="uk-modal">',
+ '<div class="uk-modal-dialog uk-modal-dialog-lightbox uk-slidenav-position" style="margin-left:auto;margin-right:auto;width:200px;height:200px;top:'+Math.abs(window.innerHeight/2 - 200)+'px;">',
+ '<a href="#" class="uk-modal-close uk-close uk-close-alt"></a>',
+ '<div class="uk-lightbox-content"></div>',
+ '<div class="uk-modal-spinner uk-hidden"></div>',
+ '</div>',
+ '</div>'
+ ].join('')).appendTo('body');
+
+ modal.dialog = modal.find('.uk-modal-dialog:first');
+ modal.content = modal.find('.uk-lightbox-content:first');
+ modal.loader = modal.find('.uk-modal-spinner:first');
+ modal.closer = modal.find('.uk-close.uk-close-alt');
+ modal.modal = UI.modal(modal, {modal:false});
+
+ // next / previous
+ modal.on("swipeRight swipeLeft", function(e) {
+ modal.lightbox[e.type=='swipeLeft' ? 'next':'previous']();
+ }).on("click", "[data-lightbox-previous], [data-lightbox-next]", function(e){
+ e.preventDefault();
+ modal.lightbox[UI.$(this).is('[data-lightbox-next]') ? 'next':'previous']();
+ });
+
+ // destroy content on modal hide
+ modal.on("hide.uk.modal", function(e) {
+ modal.content.html('');
+ });
+
+ UI.$win.on('load resize orientationchange', UI.Utils.debounce(function(e){
+ if (modal.is(':visible') && !UI.Utils.isFullscreen()) modal.lightbox.fitSize();
+ }.bind(this), 100));
+
+ modal.lightbox = lightbox;
+
+ return modal;
+ }
+
+ UI.lightbox.create = function(items, options) {
+
+ if (!items) return;
+
+ var group = [], o;
+
+ items.forEach(function(item) {
+
+ group.push(UI.$.extend({
+ 'source' : '',
+ 'title' : '',
+ 'type' : 'auto',
+ 'link' : false
+ }, (typeof(item) == 'string' ? {'source': item} : item)));
+ });
+
+ o = UI.lightbox(UI.$.extend({}, options, {'group':group}));
+
+ return o;
+ };
+
+ return UI.lightbox;
+});
diff --git a/uikit/static/js/components/lightbox.min.js b/uikit/static/js/components/lightbox.min.js
new file mode 100644
index 0000000..a6aeeb4
--- /dev/null
+++ b/uikit/static/js/components/lightbox.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(i){var t;window.UIkit&&(t=i(UIkit)),"function"==typeof define&&define.amd&&define("uikit-lightbox",["uikit"],function(){return t||i(UIkit)})}(function(i){"use strict";function t(t){return e?(e.lightbox=t,e):(e=i.$(['<div class="uk-modal">','<div class="uk-modal-dialog uk-modal-dialog-lightbox uk-slidenav-position" style="margin-left:auto;margin-right:auto;width:200px;height:200px;top:'+Math.abs(window.innerHeight/2-200)+'px;">','<a href="#" class="uk-modal-close uk-close uk-close-alt"></a>','<div class="uk-lightbox-content"></div>','<div class="uk-modal-spinner uk-hidden"></div>',"</div>","</div>"].join("")).appendTo("body"),e.dialog=e.find(".uk-modal-dialog:first"),e.content=e.find(".uk-lightbox-content:first"),e.loader=e.find(".uk-modal-spinner:first"),e.closer=e.find(".uk-close.uk-close-alt"),e.modal=i.modal(e,{modal:!1}),e.on("swipeRight swipeLeft",function(i){e.lightbox["swipeLeft"==i.type?"next":"previous"]()}).on("click","[data-lightbox-previous], [data-lightbox-next]",function(t){t.preventDefault(),e.lightbox[i.$(this).is("[data-lightbox-next]")?"next":"previous"]()}),e.on("hide.uk.modal",function(){e.content.html("")}),i.$win.on("load resize orientationchange",i.Utils.debounce(function(){e.is(":visible")&&!i.Utils.isFullscreen()&&e.lightbox.fitSize()}.bind(this),100)),e.lightbox=t,e)}var e,o={};return i.component("lightbox",{defaults:{group:!1,duration:400,keyboard:!0},index:0,items:!1,boot:function(){i.$html.on("click","[data-uk-lightbox]",function(t){t.preventDefault();var e=i.$(this);e.data("lightbox")||i.lightbox(e,i.Utils.options(e.attr("data-uk-lightbox"))),e.data("lightbox").show(e)}),i.$doc.on("keyup",function(i){if(e&&e.is(":visible")&&e.lightbox.options.keyboard)switch(i.preventDefault(),i.keyCode){case 37:e.lightbox.previous();break;case 39:e.lightbox.next()}})},init:function(){var t=[];if(this.index=0,this.siblings=[],this.element&&this.element.length){var e=this.options.group?i.$(['[data-uk-lightbox*="'+this.options.group+'"]',"[data-uk-lightbox*='"+this.options.group+"']"].join(",")):this.element;e.each(function(){var e=i.$(this);t.push({source:e.attr("href"),title:e.attr("title"),type:e.attr("data-lightbox-type")||"auto",link:e})}),this.index=e.index(this.element),this.siblings=t}else this.options.group&&this.options.group.length&&(this.siblings=this.options.group);this.trigger("lightbox-init",[this])},show:function(e){this.modal=t(this),this.modal.dialog.stop(),this.modal.content.stop();var o,n,s=this,h=i.$.Deferred();e=e||0,"object"==typeof e&&this.siblings.forEach(function(i,t){e[0]===i.link[0]&&(e=t)}),0>e?e=this.siblings.length-e:this.siblings[e]||(e=0),n=this.siblings[e],o={lightbox:s,source:n.source,type:n.type,index:e,promise:h,title:n.title,item:n,meta:{content:"",width:null,height:null}},this.index=e,this.modal.content.empty(),this.modal.is(":visible")||(this.modal.content.css({width:"",height:""}).empty(),this.modal.modal.show()),this.modal.loader.removeClass("uk-hidden"),h.promise().done(function(){s.data=o,s.fitSize(o)}).fail(function(){o.meta.content='<div class="uk-position-cover uk-flex uk-flex-middle uk-flex-center"><strong>Loading resource failed!</strong></div>',o.meta.width=400,o.meta.height=300,s.data=o,s.fitSize(o)}),s.trigger("showitem.uk.lightbox",[o])},fitSize:function(){var t=this,e=this.data,o=this.modal.dialog.outerWidth()-this.modal.dialog.width(),n=parseInt(this.modal.dialog.css("margin-top"),10),s=parseInt(this.modal.dialog.css("margin-bottom"),10),h=n+s,a=e.meta.content,d=t.options.duration;this.siblings.length>1&&(a=[a,'<a href="#" class="uk-slidenav uk-slidenav-contrast uk-slidenav-previous uk-hidden-touch" data-lightbox-previous></a>','<a href="#" class="uk-slidenav uk-slidenav-contrast uk-slidenav-next uk-hidden-touch" data-lightbox-next></a>'].join(""));var l,r,u=i.$("<div>&nbsp;</div>").css({opacity:0,position:"absolute",top:0,left:0,width:"100%","max-width":t.modal.dialog.css("max-width"),padding:t.modal.dialog.css("padding"),margin:t.modal.dialog.css("margin")}),c=e.meta.width,g=e.meta.height;u.appendTo("body").width(),l=u.width(),r=window.innerHeight-h,u.remove(),this.modal.dialog.find(".uk-modal-caption").remove(),e.title&&(this.modal.dialog.append('<div class="uk-modal-caption">'+e.title+"</div>"),r-=this.modal.dialog.find(".uk-modal-caption").outerHeight()),l<e.meta.width&&(g=Math.floor(g*(l/c)),c=l),g>r&&(g=Math.floor(r),c=Math.ceil(e.meta.width*(r/e.meta.height))),this.modal.content.css("opacity",0).width(c).html(a),"iframe"==e.type&&this.modal.content.find("iframe:first").height(g);var m=g+o,p=Math.floor(window.innerHeight/2-m/2)-h;0>p&&(p=0),this.modal.closer.addClass("uk-hidden"),t.modal.data("mwidth")==c&&t.modal.data("mheight")==g&&(d=0),this.modal.dialog.animate({width:c+o,height:g+o,top:p},d,"swing",function(){t.modal.loader.addClass("uk-hidden"),t.modal.content.css({width:""}).animate({opacity:1},function(){t.modal.closer.removeClass("uk-hidden")}),t.modal.data({mwidth:c,mheight:g})})},next:function(){this.show(this.siblings[this.index+1]?this.index+1:0)},previous:function(){this.show(this.siblings[this.index-1]?this.index-1:this.siblings.length-1)}}),i.plugin("lightbox","image",{init:function(i){i.on("showitem.uk.lightbox",function(i,t){if("image"==t.type||t.source&&t.source.match(/\.(jpg|jpeg|png|gif|svg)$/i)){var e=function(i,e,o){t.meta={content:'<img class="uk-responsive-width" width="'+e+'" height="'+o+'" src ="'+i+'">',width:e,height:o},t.type="image",t.promise.resolve()};if(o[t.source])e(t.source,o[t.source].width,o[t.source].height);else{var n=new Image;n.onerror=function(){t.promise.reject("Loading image failed")},n.onload=function(){o[t.source]={width:n.width,height:n.height},e(t.source,o[t.source].width,o[t.source].height)},n.src=t.source}}})}}),i.plugin("lightbox","youtube",{init:function(i){var t=/(\/\/.*?youtube\.[a-z]+)\/watch\?v=([^&]+)&?(.*)/,e=/youtu\.be\/(.*)/;i.on("showitem.uk.lightbox",function(i,n){var s,h,a=function(i,t,e){n.meta={content:'<iframe src="//www.youtube.com/embed/'+i+'" width="'+t+'" height="'+e+'" style="max-width:100%;"></iframe>',width:t,height:e},n.type="iframe",n.promise.resolve()};if((h=n.source.match(t))&&(s=h[2]),(h=n.source.match(e))&&(s=h[1]),s){if(o[s])a(s,o[s].width,o[s].height);else{var d=new Image;d.onerror=function(){o[s]={width:640,height:320},a(s,o[s].width,o[s].height)},d.onload=function(){o[s]={width:d.width,height:d.height},a(s,d.width,d.height)},d.src="//img.youtube.com/vi/"+s+"/0.jpg"}i.stopImmediatePropagation()}})}}),i.plugin("lightbox","vimeo",{init:function(t){var e,n=/(\/\/.*?)vimeo\.[a-z]+\/([0-9]+).*?/;t.on("showitem.uk.lightbox",function(t,s){var h,a=function(i,t,e){s.meta={content:'<iframe src="//player.vimeo.com/video/'+i+'" width="'+t+'" height="'+e+'" style="width:100%;box-sizing:border-box;"></iframe>',width:t,height:e},s.type="iframe",s.promise.resolve()};(e=s.source.match(n))&&(h=e[2],o[h]?a(h,o[h].width,o[h].height):i.$.ajax({type:"GET",url:"http://vimeo.com/api/oembed.json?url="+encodeURI(s.source),jsonp:"callback",dataType:"jsonp",success:function(i){o[h]={width:i.width,height:i.height},a(h,o[h].width,o[h].height)}}),t.stopImmediatePropagation())})}}),i.plugin("lightbox","video",{init:function(t){t.on("showitem.uk.lightbox",function(t,e){var n=function(i,t,o){e.meta={content:'<video class="uk-responsive-width" src="'+i+'" width="'+t+'" height="'+o+'" controls></video>',width:t,height:o},e.type="video",e.promise.resolve()};if("video"==e.type||e.source.match(/\.(mp4|webm|ogv)$/i))if(o[e.source])n(e.source,o[e.source].width,o[e.source].height);else var s=i.$('<video style="position:fixed;visibility:hidden;top:-10000px;"></video>').attr("src",e.source).appendTo("body"),h=setInterval(function(){s[0].videoWidth&&(clearInterval(h),o[e.source]={width:s[0].videoWidth,height:s[0].videoHeight},n(e.source,o[e.source].width,o[e.source].height),s.remove())},20)})}}),i.lightbox.create=function(t,e){if(t){var o,n=[];return t.forEach(function(t){n.push(i.$.extend({source:"",title:"",type:"auto",link:!1},"string"==typeof t?{source:t}:t))}),o=i.lightbox(i.$.extend({},e,{group:n}))}},i.lightbox}); \ No newline at end of file
diff --git a/uikit/static/js/components/nestable.js b/uikit/static/js/components/nestable.js
new file mode 100644
index 0000000..a7f423f
--- /dev/null
+++ b/uikit/static/js/components/nestable.js
@@ -0,0 +1,625 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/*
+ * Based on Nestable jQuery Plugin - Copyright (c) 2012 David Bushell - http://dbushell.com/
+ */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-nestable", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI) {
+
+ "use strict";
+
+ var hasTouch = 'ontouchstart' in window,
+ html = UI.$html,
+ touchedlists = [],
+ $win = UI.$win,
+ draggingElement, dragSource;
+
+ var eStart = hasTouch ? 'touchstart' : 'mousedown',
+ eMove = hasTouch ? 'touchmove' : 'mousemove',
+ eEnd = hasTouch ? 'touchend' : 'mouseup',
+ eCancel = hasTouch ? 'touchcancel' : 'mouseup';
+
+
+ UI.component('nestable', {
+
+ defaults: {
+ listBaseClass : 'uk-nestable',
+ listClass : 'uk-nestable-list',
+ listItemClass : 'uk-nestable-item',
+ dragClass : 'uk-nestable-dragged',
+ movingClass : 'uk-nestable-moving',
+ handleClass : '',
+ collapsedClass : 'uk-collapsed',
+ placeholderClass: 'uk-nestable-placeholder',
+ noDragClass : 'uk-nestable-nodrag',
+ group : false,
+ maxDepth : 10,
+ threshold : 20,
+ idlethreshold : 10
+ },
+
+ boot: function() {
+
+ // adjust document scrolling
+ UI.$html.on('mousemove touchmove', function(e) {
+
+ if (draggingElement) {
+
+ var top = draggingElement.offset().top;
+
+ if (top < UI.$win.scrollTop()) {
+ UI.$win.scrollTop(UI.$win.scrollTop() - Math.ceil(draggingElement.height()/2));
+ } else if ( (top + draggingElement.height()) > (window.innerHeight + UI.$win.scrollTop()) ) {
+ UI.$win.scrollTop(UI.$win.scrollTop() + Math.ceil(draggingElement.height()/2));
+ }
+ }
+ });
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-nestable]", context).each(function(){
+
+ var ele = UI.$(this);
+
+ if (!ele.data("nestable")) {
+ UI.nestable(ele, UI.Utils.options(ele.attr("data-uk-nestable")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ Object.keys(this.options).forEach(function(key){
+
+ if(String(key).indexOf('Class')!=-1) {
+ $this.options['_'+key] = '.' + $this.options[key];
+ }
+ });
+
+ this.find(this.options._listItemClass).find(">ul").addClass(this.options.listClass);
+
+ this.checkEmptyList();
+
+ this.reset();
+ this.element.data('nestable-group', this.options.group || UI.Utils.uid('nestable-group'));
+
+ this.find(this.options._listItemClass).each(function() {
+ $this.setParent(UI.$(this));
+ });
+
+ this.on('click', '[data-nestable-action]', function(e) {
+
+ if ($this.dragEl || (!hasTouch && e.button !== 0)) {
+ return;
+ }
+
+ e.preventDefault();
+
+ var target = UI.$(e.currentTarget),
+ action = target.data('nestableAction'),
+ item = target.closest($this.options._listItemClass);
+
+ if (action === 'collapse') {
+ $this.collapseItem(item);
+ }
+ if (action === 'expand') {
+ $this.expandItem(item);
+ }
+ if (action === 'toggle') {
+ $this.toggleItem(item);
+ }
+ });
+
+ var onStartEvent = function(e) {
+
+ var handle = UI.$(e.target);
+
+ if (e.target === $this.element[0]) {
+ return;
+ }
+
+ if (handle.is($this.options._noDragClass) || handle.closest($this.options._noDragClass).length) {
+ return;
+ }
+
+ if (handle.is('[data-nestable-action]') || handle.closest('[data-nestable-action]').length) {
+ return;
+ }
+
+ if ($this.options.handleClass && !handle.hasClass($this.options.handleClass)) {
+
+ if ($this.options.handleClass) {
+ handle = handle.closest($this.options._handleClass);
+ }
+ }
+
+ if (!handle.length || $this.dragEl || (!hasTouch && e.button !== 0) || (hasTouch && e.touches.length !== 1)) {
+ return;
+ }
+
+ if (e.originalEvent && e.originalEvent.touches) {
+ e = evt.originalEvent.touches[0];
+ }
+
+ $this.delayMove = function(evt) {
+
+ evt.preventDefault();
+ $this.dragStart(e);
+ $this.trigger('start.uk.nestable', [$this]);
+
+ $this.delayMove = false;
+ };
+
+ $this.delayMove.x = parseInt(e.pageX, 10);
+ $this.delayMove.y = parseInt(e.pageY, 10);
+ $this.delayMove.threshold = $this.options.idlethreshold;
+
+ e.preventDefault();
+ };
+
+ var onMoveEvent = function(e) {
+
+ if (e.originalEvent && e.originalEvent.touches) {
+ e = e.originalEvent.touches[0];
+ }
+
+ if ($this.delayMove && (Math.abs(e.pageX - $this.delayMove.x) > $this.delayMove.threshold || Math.abs(e.pageY - $this.delayMove.y) > $this.delayMove.threshold)) {
+
+ if (!window.getSelection().toString()) {
+ $this.delayMove(e);
+ } else {
+ $this.delayMove = false;
+ }
+ }
+
+ if ($this.dragEl) {
+ e.preventDefault();
+ $this.dragMove(e);
+ $this.trigger('move.uk.nestable', [$this]);
+ }
+ };
+
+ var onEndEvent = function(e) {
+
+ if ($this.dragEl) {
+ e.preventDefault();
+ $this.dragStop(hasTouch ? e.touches[0] : e);
+ }
+
+ draggingElement = false;
+ $this.delayMove = false;
+ };
+
+ if (hasTouch) {
+ this.element[0].addEventListener(eStart, onStartEvent, false);
+ window.addEventListener(eMove, onMoveEvent, false);
+ window.addEventListener(eEnd, onEndEvent, false);
+ window.addEventListener(eCancel, onEndEvent, false);
+ } else {
+ this.on(eStart, onStartEvent);
+ $win.on(eMove, onMoveEvent);
+ $win.on(eEnd, onEndEvent);
+ }
+
+ },
+
+ serialize: function() {
+
+ var data,
+ depth = 0,
+ list = this,
+ step = function(level, depth) {
+
+ var array = [ ], items = level.children(list.options._listItemClass);
+
+ items.each(function() {
+
+ var li = UI.$(this),
+ item = {}, attribute,
+ sub = li.children(list.options._listClass);
+
+ for (var i = 0; i < li[0].attributes.length; i++) {
+ attribute = li[0].attributes[i];
+ if (attribute.name.indexOf('data-') === 0) {
+ item[attribute.name.substr(5)] = UI.Utils.str2json(attribute.value);
+ }
+ }
+
+ if (sub.length) {
+ item.children = step(sub, depth + 1);
+ }
+
+ array.push(item);
+
+ });
+ return array;
+ };
+
+ data = step(list.element, depth);
+
+ return data;
+ },
+
+ list: function(options) {
+
+ var data = [],
+ list = this,
+ depth = 0,
+ step = function(level, depth, parent) {
+
+ var items = level.children(options._listItemClass);
+
+ items.each(function(index) {
+ var li = UI.$(this),
+ item = UI.$.extend({parent_id: (parent ? parent : null), depth: depth, order: index}, li.data()),
+ sub = li.children(options._listClass);
+
+ data.push(item);
+
+ if (sub.length) {
+ step(sub, depth + 1, li.data(options.idProperty || 'id'));
+ }
+ });
+ };
+
+ options = UI.$.extend({}, list.options, options);
+
+ step(list.element, depth);
+
+ return data;
+ },
+
+ reset: function() {
+
+ this.mouse = {
+ offsetX : 0,
+ offsetY : 0,
+ startX : 0,
+ startY : 0,
+ lastX : 0,
+ lastY : 0,
+ nowX : 0,
+ nowY : 0,
+ distX : 0,
+ distY : 0,
+ dirAx : 0,
+ dirX : 0,
+ dirY : 0,
+ lastDirX : 0,
+ lastDirY : 0,
+ distAxX : 0,
+ distAxY : 0
+ };
+ this.moving = false;
+ this.dragEl = null;
+ this.dragRootEl = null;
+ this.dragDepth = 0;
+ this.hasNewRoot = false;
+ this.pointEl = null;
+
+ for (var i=0; i<touchedlists.length; i++) {
+ this.checkEmptyList(touchedlists[i]);
+ }
+
+ touchedlists = [];
+ },
+
+ toggleItem: function(li) {
+ this[li.hasClass(this.options.collapsedClass) ? "expandItem":"collapseItem"](li);
+ },
+
+ expandItem: function(li) {
+ li.removeClass(this.options.collapsedClass);
+ },
+
+ collapseItem: function(li) {
+ var lists = li.children(this.options._listClass);
+ if (lists.length) {
+ li.addClass(this.options.collapsedClass);
+ }
+ },
+
+ expandAll: function() {
+ var list = this;
+ this.find(list.options._listItemClass).each(function() {
+ list.expandItem(UI.$(this));
+ });
+ },
+
+ collapseAll: function() {
+ var list = this;
+ this.find(list.options._listItemClass).each(function() {
+ list.collapseItem(UI.$(this));
+ });
+ },
+
+ setParent: function(li) {
+
+ if (li.children(this.options._listClass).length) {
+ li.addClass("uk-parent");
+ }
+ },
+
+ unsetParent: function(li) {
+ li.removeClass('uk-parent '+this.options.collapsedClass);
+ li.children(this.options._listClass).remove();
+ },
+
+ dragStart: function(e) {
+
+ var mouse = this.mouse,
+ target = UI.$(e.target),
+ dragItem = target.closest(this.options._listItemClass),
+ offset = dragItem.offset();
+
+ this.placeEl = dragItem;
+
+ mouse.offsetX = e.pageX - offset.left;
+ mouse.offsetY = e.pageY - offset.top;
+
+ mouse.startX = mouse.lastX = offset.left;
+ mouse.startY = mouse.lastY = offset.top;
+
+ this.dragRootEl = this.element;
+
+ this.dragEl = UI.$('<ul></ul>').addClass(this.options.listClass + ' ' + this.options.dragClass).append(dragItem.clone());
+ this.dragEl.css('width', dragItem.width());
+ this.placeEl.addClass(this.options.placeholderClass);
+
+ draggingElement = this.dragEl;
+
+ this.tmpDragOnSiblings = [dragItem[0].previousSibling, dragItem[0].nextSibling];
+
+ UI.$body.append(this.dragEl);
+
+ this.dragEl.css({
+ left : offset.left,
+ top : offset.top
+ });
+
+ // total depth of dragging item
+ var i, depth, items = this.dragEl.find(this.options._listItemClass);
+
+ for (i = 0; i < items.length; i++) {
+ depth = UI.$(items[i]).parents(this.options._listClass+','+this.options._listBaseClass).length;
+ if (depth > this.dragDepth) {
+ this.dragDepth = depth;
+ }
+ }
+
+ html.addClass(this.options.movingClass);
+ },
+
+ dragStop: function(e) {
+
+ var el = this.placeEl,
+ root = this.placeEl.parents(this.options._listBaseClass+':first');
+
+ this.placeEl.removeClass(this.options.placeholderClass);
+ this.dragEl.remove();
+
+ if (this.element[0] !== root[0]) {
+
+ root.trigger('change.uk.nestable',[el, "added", root, root.data('nestable')]);
+ this.element.trigger('change.uk.nestable', [el, "removed", this.element, this]);
+
+ } else {
+ this.element.trigger('change.uk.nestable',[el, "moved", this.element, this]);
+ }
+
+ this.trigger('stop.uk.nestable', [this, el]);
+
+ this.reset();
+
+ html.removeClass(this.options.movingClass);
+ },
+
+ dragMove: function(e) {
+ var list, parent, prev, next, depth,
+ opt = this.options,
+ mouse = this.mouse,
+ maxDepth = this.dragRootEl ? this.dragRootEl.data('nestable').options.maxDepth : opt.maxDepth;
+
+ this.dragEl.css({
+ left : e.pageX - mouse.offsetX,
+ top : e.pageY - mouse.offsetY
+ });
+
+ // mouse position last events
+ mouse.lastX = mouse.nowX;
+ mouse.lastY = mouse.nowY;
+ // mouse position this events
+ mouse.nowX = e.pageX;
+ mouse.nowY = e.pageY;
+ // distance mouse moved between events
+ mouse.distX = mouse.nowX - mouse.lastX;
+ mouse.distY = mouse.nowY - mouse.lastY;
+ // direction mouse was moving
+ mouse.lastDirX = mouse.dirX;
+ mouse.lastDirY = mouse.dirY;
+ // direction mouse is now moving (on both axis)
+ mouse.dirX = mouse.distX === 0 ? 0 : mouse.distX > 0 ? 1 : -1;
+ mouse.dirY = mouse.distY === 0 ? 0 : mouse.distY > 0 ? 1 : -1;
+ // axis mouse is now moving on
+ var newAx = Math.abs(mouse.distX) > Math.abs(mouse.distY) ? 1 : 0;
+
+ // do nothing on first move
+ if (!mouse.moving) {
+ mouse.dirAx = newAx;
+ mouse.moving = true;
+ return;
+ }
+
+ // calc distance moved on this axis (and direction)
+ if (mouse.dirAx !== newAx) {
+ mouse.distAxX = 0;
+ mouse.distAxY = 0;
+ } else {
+ mouse.distAxX += Math.abs(mouse.distX);
+ if (mouse.dirX !== 0 && mouse.dirX !== mouse.lastDirX) {
+ mouse.distAxX = 0;
+ }
+ mouse.distAxY += Math.abs(mouse.distY);
+ if (mouse.dirY !== 0 && mouse.dirY !== mouse.lastDirY) {
+ mouse.distAxY = 0;
+ }
+ }
+ mouse.dirAx = newAx;
+
+ /**
+ * move horizontal
+ */
+ if (mouse.dirAx && mouse.distAxX >= opt.threshold) {
+ // reset move distance on x-axis for new phase
+ mouse.distAxX = 0;
+ prev = this.placeEl.prev('li');
+
+ // increase horizontal level if previous sibling exists and is not collapsed
+ if (mouse.distX > 0 && prev.length && !prev.hasClass(opt.collapsedClass)) {
+
+ // cannot increase level when item above is collapsed
+ list = prev.find(opt._listClass).last();
+
+ // check if depth limit has reached
+ depth = this.placeEl.parents(opt._listClass+','+opt._listBaseClass).length;
+
+ if (depth + this.dragDepth <= maxDepth) {
+
+ // create new sub-level if one doesn't exist
+ if (!list.length) {
+ list = UI.$('<ul/>').addClass(opt.listClass);
+ list.append(this.placeEl);
+ prev.append(list);
+ this.setParent(prev);
+ } else {
+ // else append to next level up
+ list = prev.children(opt._listClass).last();
+ list.append(this.placeEl);
+ }
+ }
+ }
+ // decrease horizontal level
+ if (mouse.distX < 0) {
+ // we can't decrease a level if an item preceeds the current one
+ next = this.placeEl.next('li');
+ if (!next.length) {
+ parent = this.placeEl.parent();
+ this.placeEl.closest(opt._listItemClass).after(this.placeEl);
+ if (!parent.children().length) {
+ this.unsetParent(parent.parent());
+ }
+ }
+ }
+ }
+
+ var isEmpty = false;
+
+ // find list item under cursor
+ var pointX = this.dragEl.offset().left - (window.pageXOffset || document.scrollLeft || 0),
+ pointY = e.pageY - (window.pageYOffset || document.documentElement.scrollTop);
+ this.pointEl = UI.$(document.elementFromPoint(pointX, pointY));
+
+ if (opt.handleClass && this.pointEl.hasClass(opt.handleClass)) {
+
+ this.pointEl = this.pointEl.closest(opt._listItemClass);
+
+ } else {
+
+ var nestableitem = this.pointEl.closest(opt._listItemClass);
+
+ if (nestableitem.length) {
+ this.pointEl = nestableitem;
+ }
+ }
+
+ if (this.placeEl.find(this.pointEl).length) {
+ return;
+ }
+
+ if (this.pointEl.data('nestable') && !this.pointEl.children().length) {
+ isEmpty = true;
+ this.checkEmptyList(this.pointEl);
+ } else if (!this.pointEl.length || !this.pointEl.hasClass(opt.listItemClass)) {
+ return;
+ }
+
+ // find parent list of item under cursor
+ var pointElRoot = this.element,
+ tmpRoot = this.pointEl.closest(this.options._listBaseClass),
+ isNewRoot = pointElRoot[0] !== this.pointEl.closest(this.options._listBaseClass)[0];
+
+ /**
+ * move vertical
+ */
+ if (!mouse.dirAx || isNewRoot || isEmpty) {
+
+ // check if groups match if dragging over new root
+ if (isNewRoot && opt.group !== tmpRoot.data('nestable-group')) {
+ return;
+ } else {
+ touchedlists.push(pointElRoot);
+ }
+
+ // check depth limit
+ depth = this.dragDepth - 1 + this.pointEl.parents(opt._listClass+','+opt._listBaseClass).length;
+
+ if (depth > maxDepth) {
+ return;
+ }
+
+ var before = e.pageY < (this.pointEl.offset().top + this.pointEl.height() / 2);
+
+ parent = this.placeEl.parent();
+
+ if (isEmpty) {
+ this.pointEl.append(this.placeEl);
+ } else if (before) {
+ this.pointEl.before(this.placeEl);
+ } else {
+ this.pointEl.after(this.placeEl);
+ }
+
+ if (!parent.children().length) {
+ if (!parent.data("nestable")) this.unsetParent(parent.parent());
+ }
+
+ this.checkEmptyList(this.dragRootEl);
+ this.checkEmptyList(pointElRoot);
+
+ // parent root list has changed
+ if (isNewRoot) {
+ this.dragRootEl = tmpRoot;
+ this.hasNewRoot = this.element[0] !== this.dragRootEl[0];
+ }
+ }
+ },
+
+ checkEmptyList: function(list) {
+
+ list = list ? UI.$(list) : this.element;
+
+ if (!list.children().length) {
+ list.html('');
+ }
+ }
+
+ });
+
+ return UI.nestable;
+});
diff --git a/uikit/static/js/components/nestable.min.js b/uikit/static/js/components/nestable.min.js
new file mode 100644
index 0000000..30629de
--- /dev/null
+++ b/uikit/static/js/components/nestable.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var s;window.UIkit&&(s=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-nestable",["uikit"],function(){return s||t(UIkit)})}(function(t){"use strict";var s,e="ontouchstart"in window,i=t.$html,l=[],a=t.$win,n=e?"touchstart":"mousedown",o=e?"touchmove":"mousemove",h=e?"touchend":"mouseup",r=e?"touchcancel":"mouseup";return t.component("nestable",{defaults:{listBaseClass:"uk-nestable",listClass:"uk-nestable-list",listItemClass:"uk-nestable-item",dragClass:"uk-nestable-dragged",movingClass:"uk-nestable-moving",handleClass:"",collapsedClass:"uk-collapsed",placeholderClass:"uk-nestable-placeholder",noDragClass:"uk-nestable-nodrag",group:!1,maxDepth:10,threshold:20,idlethreshold:10},boot:function(){t.$html.on("mousemove touchmove",function(){if(s){var e=s.offset().top;e<t.$win.scrollTop()?t.$win.scrollTop(t.$win.scrollTop()-Math.ceil(s.height()/2)):e+s.height()>window.innerHeight+t.$win.scrollTop()&&t.$win.scrollTop(t.$win.scrollTop()+Math.ceil(s.height()/2))}}),t.ready(function(s){t.$("[data-uk-nestable]",s).each(function(){var s=t.$(this);s.data("nestable")||t.nestable(s,t.Utils.options(s.attr("data-uk-nestable")))})})},init:function(){var i=this;Object.keys(this.options).forEach(function(t){-1!=String(t).indexOf("Class")&&(i.options["_"+t]="."+i.options[t])}),this.find(this.options._listItemClass).find(">ul").addClass(this.options.listClass),this.checkEmptyList(),this.reset(),this.element.data("nestable-group",this.options.group||t.Utils.uid("nestable-group")),this.find(this.options._listItemClass).each(function(){i.setParent(t.$(this))}),this.on("click","[data-nestable-action]",function(s){if(!i.dragEl&&(e||0===s.button)){s.preventDefault();var l=t.$(s.currentTarget),a=l.data("nestableAction"),n=l.closest(i.options._listItemClass);"collapse"===a&&i.collapseItem(n),"expand"===a&&i.expandItem(n),"toggle"===a&&i.toggleItem(n)}});var l=function(s){var l=t.$(s.target);s.target!==i.element[0]&&(l.is(i.options._noDragClass)||l.closest(i.options._noDragClass).length||l.is("[data-nestable-action]")||l.closest("[data-nestable-action]").length||(i.options.handleClass&&!l.hasClass(i.options.handleClass)&&i.options.handleClass&&(l=l.closest(i.options._handleClass)),!l.length||i.dragEl||!e&&0!==s.button||e&&1!==s.touches.length||(s.originalEvent&&s.originalEvent.touches&&(s=evt.originalEvent.touches[0]),i.delayMove=function(t){t.preventDefault(),i.dragStart(s),i.trigger("start.uk.nestable",[i]),i.delayMove=!1},i.delayMove.x=parseInt(s.pageX,10),i.delayMove.y=parseInt(s.pageY,10),i.delayMove.threshold=i.options.idlethreshold,s.preventDefault())))},d=function(t){t.originalEvent&&t.originalEvent.touches&&(t=t.originalEvent.touches[0]),i.delayMove&&(Math.abs(t.pageX-i.delayMove.x)>i.delayMove.threshold||Math.abs(t.pageY-i.delayMove.y)>i.delayMove.threshold)&&(window.getSelection().toString()?i.delayMove=!1:i.delayMove(t)),i.dragEl&&(t.preventDefault(),i.dragMove(t),i.trigger("move.uk.nestable",[i]))},p=function(t){i.dragEl&&(t.preventDefault(),i.dragStop(e?t.touches[0]:t)),s=!1,i.delayMove=!1};e?(this.element[0].addEventListener(n,l,!1),window.addEventListener(o,d,!1),window.addEventListener(h,p,!1),window.addEventListener(r,p,!1)):(this.on(n,l),a.on(o,d),a.on(h,p))},serialize:function(){var s,e=0,i=this,l=function(s,e){var a=[],n=s.children(i.options._listItemClass);return n.each(function(){for(var s,n=t.$(this),o={},h=n.children(i.options._listClass),r=0;r<n[0].attributes.length;r++)s=n[0].attributes[r],0===s.name.indexOf("data-")&&(o[s.name.substr(5)]=t.Utils.str2json(s.value));h.length&&(o.children=l(h,e+1)),a.push(o)}),a};return s=l(i.element,e)},list:function(s){var e=[],i=this,l=0,a=function(i,l,n){var o=i.children(s._listItemClass);o.each(function(i){var o=t.$(this),h=t.$.extend({parent_id:n?n:null,depth:l,order:i},o.data()),r=o.children(s._listClass);e.push(h),r.length&&a(r,l+1,o.data(s.idProperty||"id"))})};return s=t.$.extend({},i.options,s),a(i.element,l),e},reset:function(){this.mouse={offsetX:0,offsetY:0,startX:0,startY:0,lastX:0,lastY:0,nowX:0,nowY:0,distX:0,distY:0,dirAx:0,dirX:0,dirY:0,lastDirX:0,lastDirY:0,distAxX:0,distAxY:0},this.moving=!1,this.dragEl=null,this.dragRootEl=null,this.dragDepth=0,this.hasNewRoot=!1,this.pointEl=null;for(var t=0;t<l.length;t++)this.checkEmptyList(l[t]);l=[]},toggleItem:function(t){this[t.hasClass(this.options.collapsedClass)?"expandItem":"collapseItem"](t)},expandItem:function(t){t.removeClass(this.options.collapsedClass)},collapseItem:function(t){var s=t.children(this.options._listClass);s.length&&t.addClass(this.options.collapsedClass)},expandAll:function(){var s=this;this.find(s.options._listItemClass).each(function(){s.expandItem(t.$(this))})},collapseAll:function(){var s=this;this.find(s.options._listItemClass).each(function(){s.collapseItem(t.$(this))})},setParent:function(t){t.children(this.options._listClass).length&&t.addClass("uk-parent")},unsetParent:function(t){t.removeClass("uk-parent "+this.options.collapsedClass),t.children(this.options._listClass).remove()},dragStart:function(e){var l=this.mouse,a=t.$(e.target),n=a.closest(this.options._listItemClass),o=n.offset();this.placeEl=n,l.offsetX=e.pageX-o.left,l.offsetY=e.pageY-o.top,l.startX=l.lastX=o.left,l.startY=l.lastY=o.top,this.dragRootEl=this.element,this.dragEl=t.$("<ul></ul>").addClass(this.options.listClass+" "+this.options.dragClass).append(n.clone()),this.dragEl.css("width",n.width()),this.placeEl.addClass(this.options.placeholderClass),s=this.dragEl,this.tmpDragOnSiblings=[n[0].previousSibling,n[0].nextSibling],t.$body.append(this.dragEl),this.dragEl.css({left:o.left,top:o.top});var h,r,d=this.dragEl.find(this.options._listItemClass);for(h=0;h<d.length;h++)r=t.$(d[h]).parents(this.options._listClass+","+this.options._listBaseClass).length,r>this.dragDepth&&(this.dragDepth=r);i.addClass(this.options.movingClass)},dragStop:function(){var t=this.placeEl,s=this.placeEl.parents(this.options._listBaseClass+":first");this.placeEl.removeClass(this.options.placeholderClass),this.dragEl.remove(),this.element[0]!==s[0]?(s.trigger("change.uk.nestable",[t,"added",s,s.data("nestable")]),this.element.trigger("change.uk.nestable",[t,"removed",this.element,this])):this.element.trigger("change.uk.nestable",[t,"moved",this.element,this]),this.trigger("stop.uk.nestable",[this,t]),this.reset(),i.removeClass(this.options.movingClass)},dragMove:function(s){var e,i,a,n,o,h=this.options,r=this.mouse,d=this.dragRootEl?this.dragRootEl.data("nestable").options.maxDepth:h.maxDepth;this.dragEl.css({left:s.pageX-r.offsetX,top:s.pageY-r.offsetY}),r.lastX=r.nowX,r.lastY=r.nowY,r.nowX=s.pageX,r.nowY=s.pageY,r.distX=r.nowX-r.lastX,r.distY=r.nowY-r.lastY,r.lastDirX=r.dirX,r.lastDirY=r.dirY,r.dirX=0===r.distX?0:r.distX>0?1:-1,r.dirY=0===r.distY?0:r.distY>0?1:-1;var p=Math.abs(r.distX)>Math.abs(r.distY)?1:0;if(!r.moving)return r.dirAx=p,r.moving=!0,void 0;r.dirAx!==p?(r.distAxX=0,r.distAxY=0):(r.distAxX+=Math.abs(r.distX),0!==r.dirX&&r.dirX!==r.lastDirX&&(r.distAxX=0),r.distAxY+=Math.abs(r.distY),0!==r.dirY&&r.dirY!==r.lastDirY&&(r.distAxY=0)),r.dirAx=p,r.dirAx&&r.distAxX>=h.threshold&&(r.distAxX=0,a=this.placeEl.prev("li"),r.distX>0&&a.length&&!a.hasClass(h.collapsedClass)&&(e=a.find(h._listClass).last(),o=this.placeEl.parents(h._listClass+","+h._listBaseClass).length,o+this.dragDepth<=d&&(e.length?(e=a.children(h._listClass).last(),e.append(this.placeEl)):(e=t.$("<ul/>").addClass(h.listClass),e.append(this.placeEl),a.append(e),this.setParent(a)))),r.distX<0&&(n=this.placeEl.next("li"),n.length||(i=this.placeEl.parent(),this.placeEl.closest(h._listItemClass).after(this.placeEl),i.children().length||this.unsetParent(i.parent()))));var c=!1,g=this.dragEl.offset().left-(window.pageXOffset||document.scrollLeft||0),u=s.pageY-(window.pageYOffset||document.documentElement.scrollTop);if(this.pointEl=t.$(document.elementFromPoint(g,u)),h.handleClass&&this.pointEl.hasClass(h.handleClass))this.pointEl=this.pointEl.closest(h._listItemClass);else{var f=this.pointEl.closest(h._listItemClass);f.length&&(this.pointEl=f)}if(!this.placeEl.find(this.pointEl).length){if(this.pointEl.data("nestable")&&!this.pointEl.children().length)c=!0,this.checkEmptyList(this.pointEl);else if(!this.pointEl.length||!this.pointEl.hasClass(h.listItemClass))return;var m=this.element,v=this.pointEl.closest(this.options._listBaseClass),E=m[0]!==this.pointEl.closest(this.options._listBaseClass)[0];if(!r.dirAx||E||c){if(E&&h.group!==v.data("nestable-group"))return;if(l.push(m),o=this.dragDepth-1+this.pointEl.parents(h._listClass+","+h._listBaseClass).length,o>d)return;var C=s.pageY<this.pointEl.offset().top+this.pointEl.height()/2;i=this.placeEl.parent(),c?this.pointEl.append(this.placeEl):C?this.pointEl.before(this.placeEl):this.pointEl.after(this.placeEl),i.children().length||i.data("nestable")||this.unsetParent(i.parent()),this.checkEmptyList(this.dragRootEl),this.checkEmptyList(m),E&&(this.dragRootEl=v,this.hasNewRoot=this.element[0]!==this.dragRootEl[0])}}},checkEmptyList:function(s){s=s?t.$(s):this.element,s.children().length||s.html("")}}),t.nestable}); \ No newline at end of file
diff --git a/uikit/static/js/components/notify.js b/uikit/static/js/components/notify.js
new file mode 100644
index 0000000..b4fba05
--- /dev/null
+++ b/uikit/static/js/components/notify.js
@@ -0,0 +1,191 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-notify", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ var containers = {},
+ messages = {},
+
+ notify = function(options){
+
+ if (UI.$.type(options) == 'string') {
+ options = { message: options };
+ }
+
+ if (arguments[1]) {
+ options = UI.$.extend(options, UI.$.type(arguments[1]) == 'string' ? {status:arguments[1]} : arguments[1]);
+ }
+
+ return (new Message(options)).show();
+ },
+ closeAll = function(group, instantly){
+
+ var id;
+
+ if (group) {
+ for(id in messages) { if(group===messages[id].group) messages[id].close(instantly); }
+ } else {
+ for(id in messages) { messages[id].close(instantly); }
+ }
+ };
+
+ var Message = function(options){
+
+ var $this = this;
+
+ this.options = UI.$.extend({}, Message.defaults, options);
+
+ this.uuid = UI.Utils.uid("notifymsg");
+ this.element = UI.$([
+
+ '<div class="uk-notify-message">',
+ '<a class="uk-close"></a>',
+ '<div></div>',
+ '</div>'
+
+ ].join('')).data("notifyMessage", this);
+
+ this.content(this.options.message);
+
+ // status
+ if (this.options.status) {
+ this.element.addClass('uk-notify-message-'+this.options.status);
+ this.currentstatus = this.options.status;
+ }
+
+ this.group = this.options.group;
+
+ messages[this.uuid] = this;
+
+ if(!containers[this.options.pos]) {
+ containers[this.options.pos] = UI.$('<div class="uk-notify uk-notify-'+this.options.pos+'"></div>').appendTo('body').on("click", ".uk-notify-message", function(){
+
+ var message = UI.$(this).data("notifyMessage");
+
+ message.element.trigger('manualclose.uk.notify', [message]);
+ message.close();
+ });
+ }
+ };
+
+
+ UI.$.extend(Message.prototype, {
+
+ uuid: false,
+ element: false,
+ timout: false,
+ currentstatus: "",
+ group: false,
+
+ show: function() {
+
+ if (this.element.is(":visible")) return;
+
+ var $this = this;
+
+ containers[this.options.pos].show().prepend(this.element);
+
+ var marginbottom = parseInt(this.element.css("margin-bottom"), 10);
+
+ this.element.css({"opacity":0, "margin-top": -1*this.element.outerHeight(), "margin-bottom":0}).animate({"opacity":1, "margin-top": 0, "margin-bottom":marginbottom}, function(){
+
+ if ($this.options.timeout) {
+
+ var closefn = function(){ $this.close(); };
+
+ $this.timeout = setTimeout(closefn, $this.options.timeout);
+
+ $this.element.hover(
+ function() { clearTimeout($this.timeout); },
+ function() { $this.timeout = setTimeout(closefn, $this.options.timeout); }
+ );
+ }
+
+ });
+
+ return this;
+ },
+
+ close: function(instantly) {
+
+ var $this = this,
+ finalize = function(){
+ $this.element.remove();
+
+ if (!containers[$this.options.pos].children().length) {
+ containers[$this.options.pos].hide();
+ }
+
+ $this.options.onClose.apply($this, []);
+ $this.element.trigger('close.uk.notify', [$this]);
+
+ delete messages[$this.uuid];
+ };
+
+ if (this.timeout) clearTimeout(this.timeout);
+
+ if (instantly) {
+ finalize();
+ } else {
+ this.element.animate({"opacity":0, "margin-top": -1* this.element.outerHeight(), "margin-bottom":0}, function(){
+ finalize();
+ });
+ }
+ },
+
+ content: function(html){
+
+ var container = this.element.find(">div");
+
+ if(!html) {
+ return container.html();
+ }
+
+ container.html(html);
+
+ return this;
+ },
+
+ status: function(status) {
+
+ if (!status) {
+ return this.currentstatus;
+ }
+
+ this.element.removeClass('uk-notify-message-'+this.currentstatus).addClass('uk-notify-message-'+status);
+
+ this.currentstatus = status;
+
+ return this;
+ }
+ });
+
+ Message.defaults = {
+ message: "",
+ status: "",
+ timeout: 5000,
+ group: null,
+ pos: 'top-center',
+ onClose: function() {}
+ };
+
+ UI.notify = notify;
+ UI.notify.message = Message;
+ UI.notify.closeAll = closeAll;
+
+ return notify;
+});
diff --git a/uikit/static/js/components/notify.min.js b/uikit/static/js/components/notify.min.js
new file mode 100644
index 0000000..1289116
--- /dev/null
+++ b/uikit/static/js/components/notify.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var e;window.UIkit&&(e=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-notify",["uikit"],function(){return e||t(UIkit)})}(function(t){"use strict";var e={},i={},s=function(e){return"string"==t.$.type(e)&&(e={message:e}),arguments[1]&&(e=t.$.extend(e,"string"==t.$.type(arguments[1])?{status:arguments[1]}:arguments[1])),new n(e).show()},o=function(t,e){var s;if(t)for(s in i)t===i[s].group&&i[s].close(e);else for(s in i)i[s].close(e)},n=function(s){this.options=t.$.extend({},n.defaults,s),this.uuid=t.Utils.uid("notifymsg"),this.element=t.$(['<div class="uk-notify-message">','<a class="uk-close"></a>',"<div></div>","</div>"].join("")).data("notifyMessage",this),this.content(this.options.message),this.options.status&&(this.element.addClass("uk-notify-message-"+this.options.status),this.currentstatus=this.options.status),this.group=this.options.group,i[this.uuid]=this,e[this.options.pos]||(e[this.options.pos]=t.$('<div class="uk-notify uk-notify-'+this.options.pos+'"></div>').appendTo("body").on("click",".uk-notify-message",function(){var e=t.$(this).data("notifyMessage");e.element.trigger("manualclose.uk.notify",[e]),e.close()}))};return t.$.extend(n.prototype,{uuid:!1,element:!1,timout:!1,currentstatus:"",group:!1,show:function(){if(!this.element.is(":visible")){var t=this;e[this.options.pos].show().prepend(this.element);var i=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":i},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 s=this,o=function(){s.element.remove(),e[s.options.pos].children().length||e[s.options.pos].hide(),s.options.onClose.apply(s,[]),s.element.trigger("close.uk.notify",[s]),delete i[s.uuid]};this.timeout&&clearTimeout(this.timeout),t?o():this.element.animate({opacity:0,"margin-top":-1*this.element.outerHeight(),"margin-bottom":0},function(){o()})},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}}),n.defaults={message:"",status:"",timeout:5e3,group:null,pos:"top-center",onClose:function(){}},t.notify=s,t.notify.message=n,t.notify.closeAll=o,s}); \ No newline at end of file
diff --git a/uikit/static/js/components/pagination.js b/uikit/static/js/components/pagination.js
new file mode 100644
index 0000000..fa01908
--- /dev/null
+++ b/uikit/static/js/components/pagination.js
@@ -0,0 +1,148 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/*
+ * Based on simplePagination - Copyright (c) 2012 Flavius Matis - http://flaviusmatis.github.com/simplePagination.js/ (MIT)
+ */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-pagination", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ UI.component('pagination', {
+
+ defaults: {
+ items : 1,
+ itemsOnPage : 1,
+ pages : 0,
+ displayedPages : 3,
+ edges : 3,
+ currentPage : 1,
+ lblPrev : false,
+ lblNext : false,
+ onSelectPage : function() {}
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-pagination]", context).each(function(){
+ var ele = UI.$(this);
+
+ if (!ele.data("pagination")) {
+ var obj = UI.pagination(ele, UI.Utils.options(ele.attr("data-uk-pagination")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.pages = this.options.pages ? this.options.pages : Math.ceil(this.options.items / this.options.itemsOnPage) ? Math.ceil(this.options.items / this.options.itemsOnPage) : 1;
+ this.currentPage = this.options.currentPage - 1;
+ this.halfDisplayed = this.options.displayedPages / 2;
+
+ this.on("click", "a[data-page]", function(e){
+ e.preventDefault();
+ $this.selectPage(UI.$(this).data("page"));
+ });
+
+ this._render();
+ },
+
+ _getInterval: function() {
+
+ return {
+ start: Math.ceil(this.currentPage > this.halfDisplayed ? Math.max(Math.min(this.currentPage - this.halfDisplayed, (this.pages - this.options.displayedPages)), 0) : 0),
+ end : Math.ceil(this.currentPage > this.halfDisplayed ? Math.min(this.currentPage + this.halfDisplayed, this.pages) : Math.min(this.options.displayedPages, this.pages))
+ };
+ },
+
+ render: function(pages) {
+ this.pages = pages ? pages : this.pages;
+ this._render();
+ },
+
+ selectPage: function(pageIndex, pages) {
+ this.currentPage = pageIndex;
+ this.render(pages);
+
+ this.options.onSelectPage.apply(this, [pageIndex]);
+ this.trigger('select.uk.pagination', [pageIndex, this]);
+ },
+
+ _render: function() {
+
+ var o = this.options, interval = this._getInterval(), i;
+
+ this.element.empty();
+
+ // Generate Prev link
+ if (o.lblPrev) this._append(o.currentPage - 1, {text: o.lblPrev});
+
+ // Generate start edges
+ if (interval.start > 0 && o.edges > 0) {
+
+ var end = Math.min(o.edges, interval.start);
+
+ for (i = 0; i < end; i++) this._append(i);
+
+ if (o.edges < interval.start && (interval.start - o.edges != 1)) {
+ this.element.append('<li><span>...</span></li>');
+ } else if (interval.start - o.edges == 1) {
+ this._append(o.edges);
+ }
+ }
+
+ // Generate interval links
+ for (i = interval.start; i < interval.end; i++) this._append(i);
+
+ // Generate end edges
+ if (interval.end < this.pages && o.edges > 0) {
+
+ if (this.pages - o.edges > interval.end && (this.pages - o.edges - interval.end != 1)) {
+ this.element.append('<li><span>...</span></li>');
+ } else if (this.pages - o.edges - interval.end == 1) {
+ this._append(interval.end++);
+ }
+
+ var begin = Math.max(this.pages - o.edges, interval.end);
+
+ for (i = begin; i < this.pages; i++) this._append(i);
+ }
+
+ // Generate Next link (unless option is set for at front)
+ if (o.lblNext) this._append(o.currentPage + 1, {text: o.lblNext});
+ },
+
+ _append: function(pageIndex, opts) {
+
+ var $this = this, item, link, options;
+
+ pageIndex = pageIndex < 0 ? 0 : (pageIndex < this.pages ? pageIndex : this.pages - 1);
+ options = UI.$.extend({ text: pageIndex + 1 }, opts);
+
+ item = (pageIndex == this.currentPage) ? '<li class="uk-active"><span>' + (options.text) + '</span></li>'
+ : '<li><a href="#page-'+(pageIndex+1)+'" data-page="'+pageIndex+'">'+options.text+'</a></li>';
+
+ this.element.append(item);
+ }
+ });
+
+ return UI.pagination;
+});
diff --git a/uikit/static/js/components/pagination.min.js b/uikit/static/js/components/pagination.min.js
new file mode 100644
index 0000000..220310b
--- /dev/null
+++ b/uikit/static/js/components/pagination.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var e;window.UIkit&&(e=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-pagination",["uikit"],function(){return e||t(UIkit)})}(function(t){"use strict";return t.component("pagination",{defaults:{items:1,itemsOnPage:1,pages:0,displayedPages:3,edges:3,currentPage:1,lblPrev:!1,lblNext:!1,onSelectPage:function(){}},boot:function(){t.ready(function(e){t.$("[data-uk-pagination]",e).each(function(){var e=t.$(this);if(!e.data("pagination")){t.pagination(e,t.Utils.options(e.attr("data-uk-pagination")))}})})},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("select.uk.pagination",[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 s=Math.min(e.edges,i.start);for(t=0;s>t;t++)this._append(t);e.edges<i.start&&i.start-e.edges!=1?this.element.append("<li><span>...</span></li>"):i.start-e.edges==1&&this._append(e.edges)}for(t=i.start;t<i.end;t++)this._append(t);if(i.end<this.pages&&e.edges>0){this.pages-e.edges>i.end&&this.pages-e.edges-i.end!=1?this.element.append("<li><span>...</span></li>"):this.pages-e.edges-i.end==1&&this._append(i.end++);var a=Math.max(this.pages-e.edges,i.end);for(t=a;t<this.pages;t++)this._append(t)}e.lblNext&&this._append(e.currentPage+1,{text:e.lblNext})},_append:function(e,i){var s,a;e=0>e?0:e<this.pages?e:this.pages-1,a=t.$.extend({text:e+1},i),s=e==this.currentPage?'<li class="uk-active"><span>'+a.text+"</span></li>":'<li><a href="#page-'+(e+1)+'" data-page="'+e+'">'+a.text+"</a></li>",this.element.append(s)}}),t.pagination}); \ No newline at end of file
diff --git a/uikit/static/js/components/parallax.js b/uikit/static/js/components/parallax.js
new file mode 100644
index 0000000..3175027
--- /dev/null
+++ b/uikit/static/js/components/parallax.js
@@ -0,0 +1,417 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-parallax", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ var parallaxes = [],
+ supports3d = false,
+ scrolltop = 0,
+ wh = window.innerHeight,
+ checkParallaxes = function() {
+
+ scrolltop = UI.$win.scrollTop();
+
+ window.requestAnimationFrame.apply(window, [function(){
+ for (var i=0; i < parallaxes.length; i++) {
+ parallaxes[i].process();
+ }
+ }]);
+ };
+
+
+ UI.component('parallax', {
+
+ defaults: {
+ velocity : 0.5,
+ target : false,
+ viewport : false,
+ media : false
+ },
+
+ boot: function() {
+
+ supports3d = (function(){
+
+ var el = document.createElement('div'),
+ has3d,
+ transforms = {
+ 'WebkitTransform':'-webkit-transform',
+ 'MSTransform':'-ms-transform',
+ 'MozTransform':'-moz-transform',
+ 'Transform':'transform'
+ };
+
+ // Add it to the body to get the computed style.
+ document.body.insertBefore(el, null);
+
+ for (var t in transforms) {
+ if (el.style[t] !== undefined) {
+ el.style[t] = "translate3d(1px,1px,1px)";
+ has3d = window.getComputedStyle(el).getPropertyValue(transforms[t]);
+ }
+ }
+
+ document.body.removeChild(el);
+
+ return (has3d !== undefined && has3d.length > 0 && has3d !== "none");
+ })();
+
+ // listen to scroll and resize
+ UI.$doc.on("scrolling.uk.document", checkParallaxes);
+ UI.$win.on("load resize orientationchange", UI.Utils.debounce(function(){
+ wh = window.innerHeight;
+ checkParallaxes();
+ }, 50));
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$('[data-uk-parallax]', context).each(function() {
+
+ var parallax = UI.$(this);
+
+ if (!parallax.data("parallax")) {
+ var obj = UI.parallax(parallax, UI.Utils.options(parallax.attr("data-uk-parallax")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ this.base = this.options.target ? UI.$(this.options.target) : this.element;
+ this.props = {};
+ this.velocity = (this.options.velocity || 1);
+
+ var reserved = ['target','velocity','viewport','plugins','media'];
+
+ Object.keys(this.options).forEach(function(prop){
+
+ if (reserved.indexOf(prop) !== -1) {
+ return;
+ }
+
+ var start, end, dir, diff, startend = String(this.options[prop]).split(',');
+
+ if (prop.match(/color/i)) {
+ start = startend[1] ? startend[0] : this._getStartValue(prop),
+ end = startend[1] ? startend[1] : startend[0];
+
+ if (!start) {
+ start = 'rgba(255,255,255,0)';
+ }
+
+ } else {
+ start = parseFloat(startend[1] ? startend[0] : this._getStartValue(prop)),
+ end = parseFloat(startend[1] ? startend[1] : startend[0]);
+ diff = (start < end ? (end-start):(start-end));
+ dir = (start < end ? 1:-1);
+ }
+
+ this.props[prop] = { 'start': start, 'end': end, 'dir': dir, 'diff': diff };
+
+ }.bind(this));
+
+ parallaxes.push(this);
+ },
+
+ process: function() {
+
+ if (this.options.media) {
+
+ switch(typeof(this.options.media)) {
+ case 'number':
+ if (window.innerWidth < this.options.media) {
+ return false;
+ }
+ break;
+ case 'string':
+ if (window.matchMedia && !window.matchMedia(this.options.media).matches) {
+ return false;
+ }
+ break;
+ }
+ }
+
+ var percent = this.percentageInViewport();
+
+ if (this.options.viewport !== false) {
+ percent = (this.options.viewport === 0) ? 1 : percent / this.options.viewport;
+ }
+
+ this.update(percent);
+ },
+
+ percentageInViewport: function() {
+
+ var top = this.base.offset().top,
+ height = this.base.outerHeight(),
+ distance, percentage, percent;
+
+ if (top > (scrolltop + wh)) {
+ percent = 0;
+ } else if ((top + height) < scrolltop) {
+ percent = 1;
+ } else {
+
+ if ((top + height) < wh) {
+
+ percent = (scrolltop < wh ? scrolltop : scrolltop - wh) / (top+height);
+
+ } else {
+
+ distance = (scrolltop + wh) - top;
+ percentage = Math.round(distance / ((wh + height) / 100));
+ percent = percentage/100;
+ }
+ }
+
+ return percent;
+ },
+
+ update: function(percent) {
+
+ var css = {'transform':''},
+ compercent = percent * (1 - (this.velocity - (this.velocity * percent))),
+ opts, val;
+
+ if (compercent < 0) compercent = 0;
+ if (compercent > 1) compercent = 1;
+
+ if (this._percent !== undefined && this._percent == compercent) {
+ return;
+ }
+
+ Object.keys(this.props).forEach(function(prop) {
+
+ opts = this.props[prop];
+
+ if (percent === 0) {
+ val = opts.start;
+ } else if(percent === 1) {
+ val = opts.end;
+ } else if(opts.diff !== undefined) {
+ val = opts.start + (opts.diff * compercent * opts.dir);
+ }
+
+ if ((prop == 'bg' || prop == 'bgp') && !this._bgcover) {
+ this._bgcover = initBgImageParallax(this, prop, opts);
+ }
+
+ switch(prop) {
+
+ // transforms
+ case "x":
+ css.transform += supports3d ? ' translate3d('+val+'px, 0, 0)':' translateX('+val+'px)';
+ break;
+ case "xp":
+ css.transform += supports3d ? ' translate3d('+val+'%, 0, 0)':' translateX('+val+'%)';
+ break;
+ case "y":
+ css.transform += supports3d ? ' translate3d(0, '+val+'px, 0)':' translateY('+val+'px)';
+ break;
+ case "yp":
+ css.transform += supports3d ? ' translate3d(0, '+val+'%, 0)':' translateY('+val+'%)';
+ break;
+ case "rotate":
+ css.transform += ' rotate('+val+'deg)';
+ break;
+ case "scale":
+ css.transform += ' scale('+val+')';
+ break;
+
+ // bg image
+ case "bg":
+ css['background-position'] = '50% '+val+'px';
+ break;
+ case "bgp":
+ css['background-position'] = '50% '+val+'%';
+ break;
+
+ // color
+ case "color":
+ case "background-color":
+ case "border-color":
+ css[prop] = calcColor(opts.start, opts.end, compercent);
+ break;
+
+ default:
+ css[prop] = val;
+ break;
+ }
+
+ }.bind(this));
+
+ this.element.css(css);
+
+ this._percent = compercent;
+ },
+
+ _getStartValue: function(prop) {
+
+ var value = 0;
+
+ switch(prop) {
+ case 'scale':
+ value = 1;
+ break;
+ default:
+ value = this.element.css(prop);
+ }
+
+ return (value || 0);
+ }
+
+ });
+
+
+ // helper
+
+ function initBgImageParallax(obj, prop, opts) {
+
+ var img = new Image(), url, loaded, element, size, check, ratio, width, height;
+
+ element = obj.element.css({'background-size': 'cover', 'background-repeat': 'no-repeat'});
+ url = element.css('background-image').replace(/^url\(/g, '').replace(/\)$/g, '').replace(/("|')/g, '');
+ check = function() {
+
+ var w = element.width(), h = element.height(), extra = (prop=='bg') ? opts.diff : (opts.diff/100) * h;
+
+ h += extra;
+ w += Math.ceil(extra * ratio);
+
+ // if element height < parent height (gap underneath)
+ if ((w / ratio) < h) {
+ width = Math.ceil(h * ratio);
+ height = h;
+
+ // element width < parent width (gap to right)
+ } else {
+ width = w;
+ height = Math.ceil(w / ratio);
+ }
+
+ obj.element.css({'background-size': (width+'px '+height+'px')});
+ };
+
+ img.onerror = function(){
+ // image url doesn't exist
+ };
+
+ img.onload = function(){
+ size = {w:img.width, height:img.height};
+ ratio = img.width / img.height;
+
+ UI.$win.on("load resize orientationchange", UI.Utils.debounce(function(){
+ check();
+ }, 50));
+
+ check();
+ };
+
+ img.src = url;
+
+ return true;
+ }
+
+
+ // Some named colors to work with, added by Bradley Ayers
+ // From Interface by Stefan Petre
+ // http://interface.eyecon.ro/
+ var colors = {
+ 'black': [0,0,0,1],
+ 'blue': [0,0,255,1],
+ 'brown': [165,42,42,1],
+ 'cyan': [0,255,255,1],
+ 'fuchsia': [255,0,255,1],
+ 'gold': [255,215,0,1],
+ 'green': [0,128,0,1],
+ 'indigo': [75,0,130,1],
+ 'khaki': [240,230,140,1],
+ 'lime': [0,255,0,1],
+ 'magenta': [255,0,255,1],
+ 'maroon': [128,0,0,1],
+ 'navy': [0,0,128,1],
+ 'olive': [128,128,0,1],
+ 'orange': [255,165,0,1],
+ 'pink': [255,192,203,1],
+ 'purple': [128,0,128,1],
+ 'violet': [128,0,128,1],
+ 'red': [255,0,0,1],
+ 'silver': [192,192,192,1],
+ 'white': [255,255,255,1],
+ 'yellow': [255,255,0,1],
+ 'transparent': [255,255,255,0]
+ };
+
+ function calcColor(start, end, pos) {
+
+ start = parseColor(start);
+ end = parseColor(end);
+ pos = pos || 0;
+
+ return calculateColor(start, end, pos);
+ }
+
+ /**!
+ * @preserve Color animation 1.6.0
+ * http://www.bitstorm.org/jquery/color-animation/
+ * Copyright 2011, 2013 Edwin Martin <edwin@bitstorm.org>
+ * Released under the MIT and GPL licenses.
+ */
+
+ // Calculate an in-between color. Returns "#aabbcc"-like string.
+ function calculateColor(begin, end, pos) {
+ var color = 'rgba('
+ + parseInt((begin[0] + pos * (end[0] - begin[0])), 10) + ','
+ + parseInt((begin[1] + pos * (end[1] - begin[1])), 10) + ','
+ + parseInt((begin[2] + pos * (end[2] - begin[2])), 10) + ','
+ + (begin && end ? parseFloat(begin[3] + pos * (end[3] - begin[3])) : 1);
+
+ color += ')';
+ return color;
+ }
+
+ // Parse an CSS-syntax color. Outputs an array [r, g, b]
+ function parseColor(color) {
+
+ var match, quadruplet;
+
+ // Match #aabbcc
+ if (match = /#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/.exec(color)) {
+ quadruplet = [parseInt(match[1], 16), parseInt(match[2], 16), parseInt(match[3], 16), 1];
+
+ // Match #abc
+ } else if (match = /#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/.exec(color)) {
+ quadruplet = [parseInt(match[1], 16) * 17, parseInt(match[2], 16) * 17, parseInt(match[3], 16) * 17, 1];
+
+ // Match rgb(n, n, n)
+ } else if (match = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)) {
+ quadruplet = [parseInt(match[1]), parseInt(match[2]), parseInt(match[3]), 1];
+
+ } else if (match = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9\.]*)\s*\)/.exec(color)) {
+ quadruplet = [parseInt(match[1], 10), parseInt(match[2], 10), parseInt(match[3], 10),parseFloat(match[4])];
+
+ // No browser returns rgb(n%, n%, n%), so little reason to support this format.
+ } else {
+ quadruplet = colors[color] || [255,255,255,0];
+ }
+ return quadruplet;
+ }
+
+ return UI.parallax;
+});
diff --git a/uikit/static/js/components/parallax.min.js b/uikit/static/js/components/parallax.min.js
new file mode 100644
index 0000000..9964ffa
--- /dev/null
+++ b/uikit/static/js/components/parallax.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var e;window.UIkit&&(e=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-parallax",["uikit"],function(){return e||t(UIkit)})}(function(t){"use strict";function e(e,a,r){var n,i,o,s,c,p,l,d=new Image;return i=e.element.css({"background-size":"cover","background-repeat":"no-repeat"}),n=i.css("background-image").replace(/^url\(/g,"").replace(/\)$/g,"").replace(/("|')/g,""),s=function(){var t=i.width(),n=i.height(),o="bg"==a?r.diff:r.diff/100*n;n+=o,t+=Math.ceil(o*c),n>t/c?(p=Math.ceil(n*c),l=n):(p=t,l=Math.ceil(t/c)),e.element.css({"background-size":p+"px "+l+"px"})},d.onerror=function(){},d.onload=function(){o={w:d.width,height:d.height},c=d.width/d.height,t.$win.on("load resize orientationchange",t.Utils.debounce(function(){s()},50)),s()},d.src=n,!0}function a(t,e,a){return t=n(t),e=n(e),a=a||0,r(t,e,a)}function r(t,e,a){var r="rgba("+parseInt(t[0]+a*(e[0]-t[0]),10)+","+parseInt(t[1]+a*(e[1]-t[1]),10)+","+parseInt(t[2]+a*(e[2]-t[2]),10)+","+(t&&e?parseFloat(t[3]+a*(e[3]-t[3])):1);return r+=")"}function n(t){var e,a;return a=(e=/#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/.exec(t))?[parseInt(e[1],16),parseInt(e[2],16),parseInt(e[3],16),1]:(e=/#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/.exec(t))?[17*parseInt(e[1],16),17*parseInt(e[2],16),17*parseInt(e[3],16),1]:(e=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(t))?[parseInt(e[1]),parseInt(e[2]),parseInt(e[3]),1]:(e=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9\.]*)\s*\)/.exec(t))?[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10),parseFloat(e[4])]:l[t]||[255,255,255,0]}var i=[],o=!1,s=0,c=window.innerHeight,p=function(){s=t.$win.scrollTop(),window.requestAnimationFrame.apply(window,[function(){for(var t=0;t<i.length;t++)i[t].process()}])};t.component("parallax",{defaults:{velocity:.5,target:!1,viewport:!1,media:!1},boot:function(){o=function(){var t,e=document.createElement("div"),a={WebkitTransform:"-webkit-transform",MSTransform:"-ms-transform",MozTransform:"-moz-transform",Transform:"transform"};document.body.insertBefore(e,null);for(var r in a)void 0!==e.style[r]&&(e.style[r]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(a[r]));return document.body.removeChild(e),void 0!==t&&t.length>0&&"none"!==t}(),t.$doc.on("scrolling.uk.document",p),t.$win.on("load resize orientationchange",t.Utils.debounce(function(){c=window.innerHeight,p()},50)),t.ready(function(e){t.$("[data-uk-parallax]",e).each(function(){var e=t.$(this);if(!e.data("parallax")){t.parallax(e,t.Utils.options(e.attr("data-uk-parallax")))}})})},init:function(){this.base=this.options.target?t.$(this.options.target):this.element,this.props={},this.velocity=this.options.velocity||1;var e=["target","velocity","viewport","plugins","media"];Object.keys(this.options).forEach(function(t){if(-1===e.indexOf(t)){var a,r,n,i,o=String(this.options[t]).split(",");t.match(/color/i)?(a=o[1]?o[0]:this._getStartValue(t),r=o[1]?o[1]:o[0],a||(a="rgba(255,255,255,0)")):(a=parseFloat(o[1]?o[0]:this._getStartValue(t)),r=parseFloat(o[1]?o[1]:o[0]),i=r>a?r-a:a-r,n=r>a?1:-1),this.props[t]={start:a,end:r,dir:n,diff:i}}}.bind(this)),i.push(this)},process:function(){if(this.options.media)switch(typeof this.options.media){case"number":if(window.innerWidth<this.options.media)return!1;break;case"string":if(window.matchMedia&&!window.matchMedia(this.options.media).matches)return!1}var t=this.percentageInViewport();this.options.viewport!==!1&&(t=0===this.options.viewport?1:t/this.options.viewport),this.update(t)},percentageInViewport:function(){var t,e,a,r=this.base.offset().top,n=this.base.outerHeight();return r>s+c?a=0:s>r+n?a=1:c>r+n?a=(c>s?s:s-c)/(r+n):(t=s+c-r,e=Math.round(t/((c+n)/100)),a=e/100),a},update:function(t){var r,n,i={transform:""},s=t*(1-(this.velocity-this.velocity*t));0>s&&(s=0),s>1&&(s=1),(void 0===this._percent||this._percent!=s)&&(Object.keys(this.props).forEach(function(c){switch(r=this.props[c],0===t?n=r.start:1===t?n=r.end:void 0!==r.diff&&(n=r.start+r.diff*s*r.dir),"bg"!=c&&"bgp"!=c||this._bgcover||(this._bgcover=e(this,c,r)),c){case"x":i.transform+=o?" translate3d("+n+"px, 0, 0)":" translateX("+n+"px)";break;case"xp":i.transform+=o?" translate3d("+n+"%, 0, 0)":" translateX("+n+"%)";break;case"y":i.transform+=o?" translate3d(0, "+n+"px, 0)":" translateY("+n+"px)";break;case"yp":i.transform+=o?" translate3d(0, "+n+"%, 0)":" translateY("+n+"%)";break;case"rotate":i.transform+=" rotate("+n+"deg)";break;case"scale":i.transform+=" scale("+n+")";break;case"bg":i["background-position"]="50% "+n+"px";break;case"bgp":i["background-position"]="50% "+n+"%";break;case"color":case"background-color":case"border-color":i[c]=a(r.start,r.end,s);break;default:i[c]=n}}.bind(this)),this.element.css(i),this._percent=s)},_getStartValue:function(t){var e=0;switch(t){case"scale":e=1;break;default:e=this.element.css(t)}return e||0}});var l={black:[0,0,0,1],blue:[0,0,255,1],brown:[165,42,42,1],cyan:[0,255,255,1],fuchsia:[255,0,255,1],gold:[255,215,0,1],green:[0,128,0,1],indigo:[75,0,130,1],khaki:[240,230,140,1],lime:[0,255,0,1],magenta:[255,0,255,1],maroon:[128,0,0,1],navy:[0,0,128,1],olive:[128,128,0,1],orange:[255,165,0,1],pink:[255,192,203,1],purple:[128,0,128,1],violet:[128,0,128,1],red:[255,0,0,1],silver:[192,192,192,1],white:[255,255,255,1],yellow:[255,255,0,1],transparent:[255,255,255,0]};return t.parallax}); \ No newline at end of file
diff --git a/uikit/static/js/components/search.js b/uikit/static/js/components/search.js
new file mode 100644
index 0000000..8de251c
--- /dev/null
+++ b/uikit/static/js/components/search.js
@@ -0,0 +1,92 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-search", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ UI.component('search', {
+ defaults: {
+ msgResultsHeader : 'Search Results',
+ msgMoreResults : 'More Results',
+ msgNoResults : 'No results found',
+ template : '<ul class="uk-nav uk-nav-search uk-autocomplete-results">\
+ {{#msgResultsHeader}}<li class="uk-nav-header uk-skip">{{msgResultsHeader}}</li>{{/msgResultsHeader}}\
+ {{#items && items.length}}\
+ {{~items}}\
+ <li data-url="{{!$item.url}}">\
+ <a href="{{!$item.url}}">\
+ {{{$item.title}}}\
+ {{#$item.text}}<div>{{{$item.text}}}</div>{{/$item.text}}\
+ </a>\
+ </li>\
+ {{/items}}\
+ {{#msgMoreResults}}\
+ <li class="uk-nav-divider uk-skip"></li>\
+ <li class="uk-search-moreresults" data-moreresults="true"><a href="#" onclick="jQuery(this).closest(\'form\').submit();">{{msgMoreResults}}</a></li>\
+ {{/msgMoreResults}}\
+ {{/end}}\
+ {{^items.length}}\
+ {{#msgNoResults}}<li class="uk-skip"><a>{{msgNoResults}}</a></li>{{/msgNoResults}}\
+ {{/end}}\
+ </ul>',
+
+ renderer: function(data) {
+
+ var $this = this, opts = this.options;
+
+ this.dropdown.append(this.template({"items":data.results || [], "msgResultsHeader":opts.msgResultsHeader, "msgMoreResults": opts.msgMoreResults, "msgNoResults": opts.msgNoResults}));
+ this.show();
+ }
+ },
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("focus.search.uikit", "[data-uk-search]", function(e) {
+ var ele =UI.$(this);
+
+ if (!ele.data("search")) {
+ var obj = UI.search(ele, UI.Utils.options(ele.attr("data-uk-search")));
+ }
+ });
+ },
+
+ init: function() {
+ var $this = this;
+
+ this.autocomplete = UI.autocomplete(this.element, this.options);
+
+ this.autocomplete.dropdown.addClass('uk-dropdown-search');
+
+ this.autocomplete.input.on("keyup", function(){
+ $this.element[$this.autocomplete.input.val() ? "addClass":"removeClass"]("uk-active");
+ }).closest("form").on("reset", function(){
+ $this.value="";
+ $this.element.removeClass("uk-active");
+ });
+
+ this.on('selectitem.uk.autocomplete', function(e, data) {
+ if (data.url) {
+ location.href = data.url;
+ } else if(data.moreresults) {
+ $this.autocomplete.input.closest('form').submit();
+ }
+ });
+
+ this.element.data("search", this);
+ }
+ });
+});
diff --git a/uikit/static/js/components/search.min.js b/uikit/static/js/components/search.min.js
new file mode 100644
index 0000000..09fedd7
--- /dev/null
+++ b/uikit/static/js/components/search.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(e){var s;window.UIkit&&(s=e(UIkit)),"function"==typeof define&&define.amd&&define("uikit-search",["uikit"],function(){return s||e(UIkit)})}(function(e){"use strict";e.component("search",{defaults:{msgResultsHeader:"Search Results",msgMoreResults:"More Results",msgNoResults:"No results found",template:'<ul class="uk-nav uk-nav-search uk-autocomplete-results"> {{#msgResultsHeader}}<li class="uk-nav-header uk-skip">{{msgResultsHeader}}</li>{{/msgResultsHeader}} {{#items && items.length}} {{~items}} <li data-url="{{!$item.url}}"> <a href="{{!$item.url}}"> {{{$item.title}}} {{#$item.text}}<div>{{{$item.text}}}</div>{{/$item.text}} </a> </li> {{/items}} {{#msgMoreResults}} <li class="uk-nav-divider uk-skip"></li> <li class="uk-search-moreresults" data-moreresults="true"><a href="#" onclick="jQuery(this).closest(\'form\').submit();">{{msgMoreResults}}</a></li> {{/msgMoreResults}} {{/end}} {{^items.length}} {{#msgNoResults}}<li class="uk-skip"><a>{{msgNoResults}}</a></li>{{/msgNoResults}} {{/end}} </ul>',renderer:function(e){var s=this.options;this.dropdown.append(this.template({items:e.results||[],msgResultsHeader:s.msgResultsHeader,msgMoreResults:s.msgMoreResults,msgNoResults:s.msgNoResults})),this.show()}},boot:function(){e.$html.on("focus.search.uikit","[data-uk-search]",function(){var s=e.$(this);if(!s.data("search")){e.search(s,e.Utils.options(s.attr("data-uk-search")))}})},init:function(){var s=this;this.autocomplete=e.autocomplete(this.element,this.options),this.autocomplete.dropdown.addClass("uk-dropdown-search"),this.autocomplete.input.on("keyup",function(){s.element[s.autocomplete.input.val()?"addClass":"removeClass"]("uk-active")}).closest("form").on("reset",function(){s.value="",s.element.removeClass("uk-active")}),this.on("selectitem.uk.autocomplete",function(e,t){t.url?location.href=t.url:t.moreresults&&s.autocomplete.input.closest("form").submit()}),this.element.data("search",this)}})}); \ No newline at end of file
diff --git a/uikit/static/js/components/slider.js b/uikit/static/js/components/slider.js
new file mode 100644
index 0000000..dc77cd4
--- /dev/null
+++ b/uikit/static/js/components/slider.js
@@ -0,0 +1,482 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-slider", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ var dragging, delayIdle, anchor, dragged, store = {};
+
+ UI.component('slider', {
+
+ defaults: {
+ center : false,
+ threshold : 10,
+ infinite : true,
+ activecls : 'uk-active'
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ setTimeout(function(){
+
+ UI.$("[data-uk-slider]", context).each(function(){
+
+ var ele = UI.$(this);
+
+ if (!ele.data("slider")) {
+ UI.slider(ele, UI.Utils.options(ele.attr('data-uk-slider')));
+ }
+ });
+
+ }, 0);
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.container = this.element.find('.uk-slider');
+ this.focus = 0;
+
+ UI.$win.on("resize load", UI.Utils.debounce(function() {
+ $this.resize(true);
+ }, 100));
+
+ this.on("click.uikit.slider", '[data-uk-slider-item]', function(e) {
+
+ e.preventDefault();
+
+ var item = UI.$(this).attr('data-uk-slider-item');
+
+ if ($this.focus == item) return;
+
+ switch(item) {
+ case 'next':
+ case 'previous':
+ $this[item=='next' ? 'next':'previous']();
+ break;
+ default:
+ $this.updateFocus(parseInt(slide, 10));
+ }
+ });
+
+ this.container.on('touchstart mousedown', function(evt) {
+
+ if (evt.originalEvent && evt.originalEvent.touches) {
+ evt = evt.originalEvent.touches[0];
+ }
+
+ // ignore right click button
+ if (evt.button && evt.button==2 || !$this.active) {
+ return;
+ }
+
+ anchor = UI.$(evt.target).is('a') ? UI.$(evt.target) : UI.$(evt.target).parents('a:first');
+ dragged = false;
+
+ if (anchor.length) {
+
+ anchor.one('click', function(e){
+ if (dragged) e.preventDefault();
+ });
+ }
+
+ delayIdle = function(e) {
+
+ dragged = true;
+ dragging = $this;
+ store = {
+ touchx : parseInt(e.pageX, 10),
+ dir : 1,
+ focus : $this.focus,
+ base : $this.options.center ? 'center':'area'
+ };
+
+ if (e.originalEvent && e.originalEvent.touches) {
+ e = e.originalEvent.touches[0];
+ }
+
+ dragging.element.data({
+ 'pointer-start': {x: parseInt(e.pageX, 10), y: parseInt(e.pageY, 10)},
+ 'pointer-pos-start': $this.pos
+ });
+
+ $this.container.addClass('uk-drag');
+
+ delayIdle = false;
+ };
+
+ delayIdle.x = parseInt(evt.pageX, 10);
+ delayIdle.threshold = $this.options.threshold;
+
+ });
+
+ this.resize(true);
+
+ this.on('display.uk.check', function(){
+ if ($this.element.is(":visible")) {
+ $this.resize(true);
+ }
+ });
+
+ // prevent dragging links + images
+ this.element.find('a,img').attr('draggable', 'false');
+ },
+
+ resize: function(focus) {
+
+ var $this = this, pos = 0, maxheight = 0, item, width, cwidth, size;
+
+ this.items = this.container.children().filter(':visible');
+ this.vp = this.element[0].getBoundingClientRect().width;
+
+ this.container.css({'min-width': '', 'min-height': ''});
+
+ this.items.each(function(idx){
+
+ item = UI.$(this);
+ size = item.css({'left': '', 'width':''})[0].getBoundingClientRect();
+ width = size.width;
+ cwidth = item.width();
+ maxheight = Math.max(maxheight, size.height);
+
+ item.css({'left': pos, 'width':width}).data({'idx':idx, 'left': pos, 'width': width, 'cwidth':cwidth, 'area': (pos+width), 'center':(pos - ($this.vp/2 - cwidth/2))});
+
+ pos += width;
+ });
+
+ this.container.css({'min-width': pos, 'min-height': maxheight});
+
+ if (this.options.infinite && pos <= (2*this.vp) && !this.itemsResized) {
+
+ // fill with cloned items
+ this.container.children().each(function(idx){
+ $this.container.append($this.items.eq(idx).clone(true).attr('id', ''));
+ }).each(function(idx){
+ $this.container.append($this.items.eq(idx).clone(true).attr('id', ''));
+ });
+
+ this.itemsResized = true;
+
+ return this.resize();
+ }
+
+ this.cw = pos;
+ this.pos = 0;
+ this.active = pos >= this.vp;
+
+ this.container.css({
+ '-ms-transform': '',
+ '-webkit-transform': '',
+ 'transform': ''
+ });
+
+ this.updateFocus(0);
+ },
+
+ updatePos: function(pos) {
+ this.pos = pos;
+ this.container.css({
+ '-ms-transform': 'translateX('+pos+'px)',
+ '-webkit-transform': 'translateX('+pos+'px)',
+ 'transform': 'translateX('+pos+'px)'
+ });
+ },
+
+ updateFocus: function(idx, dir) {
+
+ if (!this.active) {
+ return;
+ }
+
+ dir = dir || (idx > this.focus ? 1:-1);
+
+ var $this = this, item = this.items.eq(idx), area, i;
+
+ if (this.options.infinite) {
+ this.infinite(idx, dir);
+ }
+
+ if (this.options.center) {
+
+ this.updatePos(item.data('center')*-1);
+
+ this.items.filter('.'+this.options.activecls).removeClass(this.options.activecls);
+ item.addClass(this.options.activecls);
+
+ } else {
+
+ if (this.options.infinite) {
+
+ this.updatePos(item.data('left')*-1);
+
+ } else {
+
+ area = 0;
+
+ for (i=idx;i<this.items.length;i++) {
+ area += this.items.eq(i).data('width');
+ }
+
+
+ if (area > this.vp) {
+
+ this.updatePos(item.data('left')*-1);
+
+ } else {
+
+ if (dir == 1) {
+
+ area = 0;
+
+ for (i=this.items.length-1;i>=0;i--) {
+
+ area += this.items.eq(i).data('width');
+
+ if (area >= this.vp) {
+ idx = i;
+ break;
+ }
+ }
+
+ this.updatePos(this.items.eq(idx).data('left')*-1);
+ }
+ }
+ }
+ }
+
+ this.focus = idx;
+
+ this.trigger('focusitem.uk.slider', [idx,this.items.eq(idx),this]);
+ },
+
+ next: function() {
+
+ var focus = this.items[this.focus + 1] ? (this.focus + 1) : (this.options.infinite ? 0:this.focus);
+
+ this.updateFocus(focus, 1);
+ },
+
+ previous: function() {
+
+ var focus = this.items[this.focus - 1] ? (this.focus - 1) : (this.options.infinite ? (this.items[this.focus - 1] ? this.items-1:this.items.length-1):this.focus);
+
+ this.updateFocus(focus, -1);
+ },
+
+ infinite: function(baseidx, direction) {
+
+ var $this = this, item = this.items.eq(baseidx), i, z = baseidx, move = [], lastvisible, area = 0;
+
+ if (direction == 1) {
+
+
+ for (i=0;i<this.items.length;i++) {
+
+ if (z != baseidx) {
+ area += this.items.eq(z).data('width');
+ move.push(this.items.eq(z));
+ }
+
+ if (area > this.vp) {
+ break;
+ }
+
+ z = z+1 == this.items.length ? 0:z+1;
+ }
+
+ if (move.length) {
+
+ move.forEach(function(itm){
+
+ var left = item.data('area');
+
+ itm.css({'left': left}).data({
+ 'left' : left,
+ 'area' : (left+itm.data('width')),
+ 'center': (left - ($this.vp/2 - itm.data('cwidth')/2))
+ });
+
+ item = itm;
+ });
+ }
+
+
+ } else {
+
+ for (i=this.items.length-1;i >-1 ;i--) {
+
+ area += this.items.eq(z).data('width');
+
+ if (z != baseidx) {
+ move.push(this.items.eq(z));
+ }
+
+ if (area > this.vp) {
+ break;
+ }
+
+ z = z-1 == -1 ? this.items.length-1:z-1;
+ }
+
+ if (move.length) {
+
+ move.forEach(function(itm){
+
+ var left = item.data('left') - itm.data('width');
+
+ itm.css({'left': left}).data({
+ 'left' : left,
+ 'area' : (left+itm.data('width')),
+ 'center': (left - ($this.vp/2 - itm.data('cwidth')/2))
+ });
+
+ item = itm;
+ });
+ }
+ }
+ }
+ });
+
+ // handle dragging
+ UI.$doc.on('mousemove.uikit.slider touchmove.uikit.slider', function(e) {
+
+ if (e.originalEvent && e.originalEvent.touches) {
+ e = e.originalEvent.touches[0];
+ }
+
+ if (delayIdle && Math.abs(e.pageX - delayIdle.x) > delayIdle.threshold) {
+
+ if (!window.getSelection().toString()) {
+ delayIdle(e);
+ } else {
+ dragging = delayIdle = false;
+ }
+ }
+
+ if (!dragging) {
+ return;
+ }
+
+ var x, xDiff, pos, dir, focus, item, next, diff, i, z, itm;
+
+ if (e.clientX || e.clientY) {
+ x = e.clientX;
+ } else if (e.pageX || e.pageY) {
+ x = e.pageX - document.body.scrollLeft - document.documentElement.scrollLeft;
+ }
+
+ focus = store.focus;
+ xDiff = x - dragging.element.data('pointer-start').x;
+ pos = dragging.element.data('pointer-pos-start') + xDiff;
+ dir = x > dragging.element.data('pointer-start').x ? -1:1;
+ item = dragging.items.eq(store.focus);
+
+ if (dir == 1) {
+
+ diff = item.data('left') + Math.abs(xDiff);
+
+ for (i=0,z=store.focus;i<dragging.items.length;i++) {
+
+ itm = dragging.items.eq(z);
+
+ if (z != store.focus && itm.data('left') < diff && itm.data('area') > diff) {
+ focus = z;
+ break;
+ }
+
+ z = z+1 == dragging.items.length ? 0:z+1;
+ }
+
+ } else {
+
+ diff = item.data('left') - Math.abs(xDiff);
+
+ for (i=0,z=store.focus;i<dragging.items.length;i++) {
+
+ itm = dragging.items.eq(z);
+
+ if (z != store.focus && itm.data('area') <= item.data('left') && itm.data('center') < diff) {
+ focus = z;
+ break;
+ }
+
+ z = z-1 == -1 ? dragging.items.length-1:z-1;
+ }
+ }
+
+ if (dragging.options.infinite && focus!=store._focus) {
+ dragging.infinite(focus, dir);
+ }
+
+ dragging.updatePos(pos);
+
+ store.dir = dir;
+ store._focus = focus;
+ store.touchx = parseInt(e.pageX, 10);
+ store.diff = diff;
+ });
+
+ UI.$doc.on('mouseup.uikit.slider touchend.uikit.slider', function(e) {
+
+ if (dragging) {
+
+ dragging.container.removeClass('uk-drag');
+
+ var item = dragging.items.eq(store.focus), itm, focus = false, i, z;
+
+ if (store.dir == 1) {
+
+ for (i=0,z=store.focus;i<dragging.items.length;i++) {
+
+ itm = dragging.items.eq(z);
+
+ if (z != store.focus && itm.data('left') > store.diff) {
+ focus = z;
+ break;
+ }
+
+ z = z+1 == dragging.items.length ? 0:z+1;
+ }
+
+ } else {
+
+ for (i=0,z=store.focus;i<dragging.items.length;i++) {
+
+ itm = dragging.items.eq(z);
+
+ if (z != store.focus && itm.data('left') < store.diff) {
+ focus = z;
+ break;
+ }
+
+ z = z-1 == -1 ? dragging.items.length-1:z-1;
+ }
+ }
+
+ dragging.updateFocus(focus!==false ? focus:store._focus);
+
+ }
+
+ dragging = delayIdle = false;
+ });
+
+ return UI.slider;
+});
diff --git a/uikit/static/js/components/slider.min.js b/uikit/static/js/components/slider.min.js
new file mode 100644
index 0000000..5159096
--- /dev/null
+++ b/uikit/static/js/components/slider.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var i;window.UIkit&&(i=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-slider",["uikit"],function(){return i||t(UIkit)})}(function(t){"use strict";var i,e,s,n,a={};return t.component("slider",{defaults:{center:!1,threshold:10,infinite:!0,activecls:"uk-active"},boot:function(){t.ready(function(i){setTimeout(function(){t.$("[data-uk-slider]",i).each(function(){var i=t.$(this);i.data("slider")||t.slider(i,t.Utils.options(i.attr("data-uk-slider")))})},0)})},init:function(){var o=this;this.container=this.element.find(".uk-slider"),this.focus=0,t.$win.on("resize load",t.Utils.debounce(function(){o.resize(!0)},100)),this.on("click.uikit.slider","[data-uk-slider-item]",function(i){i.preventDefault();var e=t.$(this).attr("data-uk-slider-item");if(o.focus!=e)switch(e){case"next":case"previous":o["next"==e?"next":"previous"]();break;default:o.updateFocus(parseInt(slide,10))}}),this.container.on("touchstart mousedown",function(h){h.originalEvent&&h.originalEvent.touches&&(h=h.originalEvent.touches[0]),h.button&&2==h.button||!o.active||(s=t.$(h.target).is("a")?t.$(h.target):t.$(h.target).parents("a:first"),n=!1,s.length&&s.one("click",function(t){n&&t.preventDefault()}),e=function(t){n=!0,i=o,a={touchx:parseInt(t.pageX,10),dir:1,focus:o.focus,base:o.options.center?"center":"area"},t.originalEvent&&t.originalEvent.touches&&(t=t.originalEvent.touches[0]),i.element.data({"pointer-start":{x:parseInt(t.pageX,10),y:parseInt(t.pageY,10)},"pointer-pos-start":o.pos}),o.container.addClass("uk-drag"),e=!1},e.x=parseInt(h.pageX,10),e.threshold=o.options.threshold)}),this.resize(!0),this.on("display.uk.check",function(){o.element.is(":visible")&&o.resize(!0)}),this.element.find("a,img").attr("draggable","false")},resize:function(){var i,e,s,n,a=this,o=0,h=0;return this.items=this.container.children().filter(":visible"),this.vp=this.element[0].getBoundingClientRect().width,this.container.css({"min-width":"","min-height":""}),this.items.each(function(r){i=t.$(this),n=i.css({left:"",width:""})[0].getBoundingClientRect(),e=n.width,s=i.width(),h=Math.max(h,n.height),i.css({left:o,width:e}).data({idx:r,left:o,width:e,cwidth:s,area:o+e,center:o-(a.vp/2-s/2)}),o+=e}),this.container.css({"min-width":o,"min-height":h}),this.options.infinite&&o<=2*this.vp&&!this.itemsResized?(this.container.children().each(function(t){a.container.append(a.items.eq(t).clone(!0).attr("id",""))}).each(function(t){a.container.append(a.items.eq(t).clone(!0).attr("id",""))}),this.itemsResized=!0,this.resize()):(this.cw=o,this.pos=0,this.active=o>=this.vp,this.container.css({"-ms-transform":"","-webkit-transform":"",transform:""}),this.updateFocus(0),void 0)},updatePos:function(t){this.pos=t,this.container.css({"-ms-transform":"translateX("+t+"px)","-webkit-transform":"translateX("+t+"px)",transform:"translateX("+t+"px)"})},updateFocus:function(t,i){if(this.active){i=i||(t>this.focus?1:-1);var e,s,n=this.items.eq(t);if(this.options.infinite&&this.infinite(t,i),this.options.center)this.updatePos(-1*n.data("center")),this.items.filter("."+this.options.activecls).removeClass(this.options.activecls),n.addClass(this.options.activecls);else if(this.options.infinite)this.updatePos(-1*n.data("left"));else{for(e=0,s=t;s<this.items.length;s++)e+=this.items.eq(s).data("width");if(e>this.vp)this.updatePos(-1*n.data("left"));else if(1==i){for(e=0,s=this.items.length-1;s>=0;s--)if(e+=this.items.eq(s).data("width"),e>=this.vp){t=s;break}this.updatePos(-1*this.items.eq(t).data("left"))}}this.focus=t,this.trigger("focusitem.uk.slider",[t,this.items.eq(t),this])}},next:function(){var t=this.items[this.focus+1]?this.focus+1:this.options.infinite?0:this.focus;this.updateFocus(t,1)},previous:function(){var t=this.items[this.focus-1]?this.focus-1:this.options.infinite?this.items[this.focus-1]?this.items-1:this.items.length-1:this.focus;this.updateFocus(t,-1)},infinite:function(t,i){var e,s=this,n=this.items.eq(t),a=t,o=[],h=0;if(1==i){for(e=0;e<this.items.length&&(a!=t&&(h+=this.items.eq(a).data("width"),o.push(this.items.eq(a))),!(h>this.vp));e++)a=a+1==this.items.length?0:a+1;o.length&&o.forEach(function(t){var i=n.data("area");t.css({left:i}).data({left:i,area:i+t.data("width"),center:i-(s.vp/2-t.data("cwidth")/2)}),n=t})}else{for(e=this.items.length-1;e>-1&&(h+=this.items.eq(a).data("width"),a!=t&&o.push(this.items.eq(a)),!(h>this.vp));e--)a=a-1==-1?this.items.length-1:a-1;o.length&&o.forEach(function(t){var i=n.data("left")-t.data("width");t.css({left:i}).data({left:i,area:i+t.data("width"),center:i-(s.vp/2-t.data("cwidth")/2)}),n=t})}}}),t.$doc.on("mousemove.uikit.slider touchmove.uikit.slider",function(t){if(t.originalEvent&&t.originalEvent.touches&&(t=t.originalEvent.touches[0]),e&&Math.abs(t.pageX-e.x)>e.threshold&&(window.getSelection().toString()?i=e=!1:e(t)),i){var s,n,o,h,r,c,f,d,u,l;if(t.clientX||t.clientY?s=t.clientX:(t.pageX||t.pageY)&&(s=t.pageX-document.body.scrollLeft-document.documentElement.scrollLeft),r=a.focus,n=s-i.element.data("pointer-start").x,o=i.element.data("pointer-pos-start")+n,h=s>i.element.data("pointer-start").x?-1:1,c=i.items.eq(a.focus),1==h)for(f=c.data("left")+Math.abs(n),d=0,u=a.focus;d<i.items.length;d++){if(l=i.items.eq(u),u!=a.focus&&l.data("left")<f&&l.data("area")>f){r=u;break}u=u+1==i.items.length?0:u+1}else for(f=c.data("left")-Math.abs(n),d=0,u=a.focus;d<i.items.length;d++){if(l=i.items.eq(u),u!=a.focus&&l.data("area")<=c.data("left")&&l.data("center")<f){r=u;break}u=u-1==-1?i.items.length-1:u-1}i.options.infinite&&r!=a._focus&&i.infinite(r,h),i.updatePos(o),a.dir=h,a._focus=r,a.touchx=parseInt(t.pageX,10),a.diff=f}}),t.$doc.on("mouseup.uikit.slider touchend.uikit.slider",function(){if(i){i.container.removeClass("uk-drag");var t,s,n,o=(i.items.eq(a.focus),!1);if(1==a.dir)for(s=0,n=a.focus;s<i.items.length;s++){if(t=i.items.eq(n),n!=a.focus&&t.data("left")>a.diff){o=n;break}n=n+1==i.items.length?0:n+1}else for(s=0,n=a.focus;s<i.items.length;s++){if(t=i.items.eq(n),n!=a.focus&&t.data("left")<a.diff){o=n;break}n=n-1==-1?i.items.length-1:n-1}i.updateFocus(o!==!1?o:a._focus)}i=e=!1}),t.slider}); \ No newline at end of file
diff --git a/uikit/static/js/components/slideset.js b/uikit/static/js/components/slideset.js
new file mode 100644
index 0000000..b6693d7
--- /dev/null
+++ b/uikit/static/js/components/slideset.js
@@ -0,0 +1,503 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-slideset", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ var Animations;
+
+ UI.component('slideset', {
+
+ defaults: {
+ default : 1,
+ animation : 'fade',
+ duration : 200,
+ filter : '',
+ delay : false,
+ controls : false,
+ autoplay : false,
+ autoplayInterval : 7000,
+ pauseOnHover : true
+ },
+
+ sets: [],
+
+ boot: function() {
+
+ // auto init
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-slideset]", context).each(function(){
+
+ var ele = UI.$(this);
+
+ if(!ele.data("slideset")) {
+ var plugin = UI.slideset(ele, UI.Utils.options(ele.attr("data-uk-slideset")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.activeSet = false;
+ this.list = this.element.find('.uk-slideset');
+ this.nav = this.element.find('.uk-slideset-nav');
+ this.controls = this.options.controls ? UI.$(this.options.controls) : this.element;
+
+ UI.$win.on("resize load", UI.Utils.debounce(function() {
+ $this.updateSets();
+ }, 100));
+
+ $this.list.addClass('uk-grid-width-1-'+$this.options.default);
+
+ ['xlarge', 'large', 'medium', 'small'].forEach(function(bp) {
+
+ if (!$this.options[bp]) {
+ return;
+ }
+
+ $this.list.addClass('uk-grid-width-'+bp+'-1-'+$this.options[bp]);
+ });
+
+ this.on("click.uikit.slideset", '[data-uk-slideset-item]', function(e) {
+
+ e.preventDefault();
+
+ if ($this.animating) {
+ return;
+ }
+
+ var set = UI.$(this).attr('data-uk-slideset-item');
+
+ if ($this.activeSet === set) return;
+
+ switch(set) {
+ case 'next':
+ case 'previous':
+ $this[set=='next' ? 'next':'previous']();
+ break;
+ default:
+ $this.show(parseInt(set, 10));
+ }
+
+ });
+
+ this.controls.on('click.uikit.slideset', '[data-uk-filter]', function(e) {
+
+ var ele = UI.$(this);
+
+ if (ele.parent().hasClass('uk-slideset')) {
+ return;
+ }
+
+ e.preventDefault();
+
+ if ($this.animating || $this.currentFilter == ele.attr('data-uk-filter')) {
+ return;
+ }
+
+ $this.updateFilter(ele.attr('data-uk-filter'));
+
+ $this._hide().then(function(){
+
+ $this.updateSets(true, true);
+ });
+ });
+
+ this.on('swipeRight swipeLeft', function(e) {
+ $this[e.type=='swipeLeft' ? 'next' : 'previous']();
+ });
+
+ this.updateFilter(this.options.filter);
+ this.updateSets();
+
+ this.element.on({
+ mouseenter: function() { if ($this.options.pauseOnHover) $this.hovering = true; },
+ mouseleave: function() { $this.hovering = false; }
+ });
+
+ // Set autoplay
+ if (this.options.autoplay) {
+ this.start();
+ }
+ },
+
+ updateSets: function(animate, force) {
+
+ var $this = this, visible = this.visible, i;
+
+ this.visible = this.getVisibleOnCurrenBreakpoint();
+
+ if (visible == this.visible && !force) {
+ return;
+ }
+
+ this.children = this.list.children().hide();
+ this.items = this.getItems();
+ this.sets = array_chunk(this.items, this.visible);
+
+ for (i=0;i<this.sets.length;i++) {
+ this.sets[i].css({'display': 'none'});
+ }
+
+ // update nav
+ if (this.nav.length && this.nav.empty()) {
+
+ for (i=0;i<this.sets.length;i++) {
+ this.nav.append('<li data-uk-slideset-item="'+i+'"><a></a></li>');
+ }
+
+ this.nav[this.nav.children().length==1 ? 'addClass':'removeClass']('uk-invisible');
+ }
+
+ this.activeSet = false;
+ this.show(0, !animate);
+ },
+
+ updateFilter: function(currentfilter) {
+
+ var $this = this, filter;
+
+ this.currentFilter = currentfilter;
+
+ this.controls.find('[data-uk-filter]').each(function(){
+
+ filter = UI.$(this);
+
+ if (!filter.parent().hasClass('uk-slideset')) {
+
+ if (filter.attr('data-uk-filter') == $this.currentFilter) {
+ filter.addClass('uk-active');
+ } else {
+ filter.removeClass('uk-active');
+ }
+ }
+ });
+ },
+
+ getVisibleOnCurrenBreakpoint: function() {
+
+ var breakpoint = null,
+ tmp = UI.$('<div style="position:absolute;height:1px;top:-1000px;width:100px"><div></div></div>').appendTo('body'),
+ testdiv = tmp.children().eq(0),
+ breakpoints = this.options;
+
+ ['xlarge', 'large', 'medium', 'small'].forEach(function(bp) {
+
+ if (!breakpoints[bp] || breakpoint) {
+ return;
+ }
+
+ tmp.attr('class', 'uk-grid-width-'+bp+'-1-2').width();
+
+ if (testdiv.width() == 50) {
+ breakpoint = bp;
+ }
+ });
+
+ tmp.remove();
+
+ return this.options[breakpoint] || this.options['default'];
+ },
+
+ getItems: function() {
+
+ var items = [], filter;
+
+ if (this.currentFilter) {
+
+ filter = this.currentFilter || [];
+
+ if (typeof(filter) === 'string') {
+ filter = filter.split(/,/).map(function(item){ return item.trim(); });
+ }
+
+ this.children.each(function(index){
+
+ var ele = UI.$(this), f = ele.attr('data-uk-filter'), infilter = filter.length ? false : true;
+
+ if (f) {
+
+ f = f.split(/,/).map(function(item){ return item.trim(); });
+
+ filter.forEach(function(item){
+ if (f.indexOf(item) > -1) infilter = true;
+ });
+ }
+
+ if(infilter) items.push(ele[0]);
+ });
+
+ items = UI.$(items);
+
+ } else {
+ items = this.list.children();
+ }
+
+ return items;
+ },
+
+ show: function(setIndex, noanimate, dir) {
+
+ var $this = this;
+
+ if (this.activeSet === setIndex || this.animating) {
+ return;
+ }
+
+ dir = dir || (setIndex < this.activeSet ? -1:1);
+
+ var current = this.sets[this.activeSet] || [],
+ next = this.sets[setIndex],
+ animation = this._getAnimation();
+
+ if (noanimate || !UI.support.animation) {
+ animation = Animations.none;
+ }
+
+ this.animating = true;
+
+ if (this.nav.length) {
+ this.nav.children().removeClass('uk-active').eq(setIndex).addClass('uk-active');
+ }
+
+ animation.apply($this, [current, next, dir]).then(function(){
+
+ UI.Utils.checkDisplay(next, true);
+
+ $this.children.hide().removeClass('uk-active');
+ next.addClass('uk-active').css({'display': '', 'opacity':''});
+
+ $this.animating = false;
+ $this.activeSet = setIndex;
+
+ UI.Utils.checkDisplay(next, true);
+
+ $this.trigger('show.uk.slideset', [next]);
+ });
+
+ },
+
+ _getAnimation: function() {
+
+ var $this = this,
+ animation = Animations[this.options.animation] || Animations.none;
+
+ if (!UI.support.animation) {
+ animation = Animations.none;
+ }
+
+ return animation;
+ },
+
+ _hide: function() {
+
+ var $this = this,
+ current = this.sets[this.activeSet] || [],
+ animation = this._getAnimation();
+
+ this.animating = true;
+
+ return animation.apply($this, [current, [], 1]).then(function(){
+ $this.animating = false;
+ });
+ },
+
+ next: function() {
+ this.show(this.sets[this.activeSet + 1] ? (this.activeSet + 1) : 0, false, 1);
+ },
+
+ previous: function() {
+ this.show(this.sets[this.activeSet - 1] ? (this.activeSet - 1) : (this.sets.length - 1), false, -1);
+ },
+
+ start: function() {
+
+ this.stop();
+
+ var $this = this;
+
+ this.interval = setInterval(function() {
+ if (!$this.hovering && !$this.animating) $this.next();
+ }, this.options.autoplayInterval);
+
+ },
+
+ stop: function() {
+ if (this.interval) clearInterval(this.interval);
+ }
+ });
+
+ Animations = {
+
+ 'none': function() {
+ var d = UI.$.Deferred();
+ d.resolve();
+ return d.promise();
+ },
+
+ 'fade': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-fade', current, next]);
+ },
+
+ 'slide-bottom': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-slide-bottom', current, next]);
+ },
+
+ 'slide-top': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-slide-top', current, next]);
+ },
+
+ 'slide-vertical': function(current, next, dir) {
+
+ var anim = ['uk-animation-slide-top', 'uk-animation-slide-bottom'];
+
+ if (dir == -1) {
+ anim.reverse();
+ }
+
+ return coreAnimation.apply(this, [anim, current, next]);
+ },
+
+ 'slide-horizontal': function(current, next, dir) {
+
+ var anim = ['uk-animation-slide-right', 'uk-animation-slide-left'];
+
+ if (dir == -1) {
+ anim.reverse();
+ }
+
+ return coreAnimation.apply(this, [anim, current, next, dir]);
+ },
+
+ 'scale': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-scale-up', current, next]);
+ }
+ };
+
+ UI.slideset.animations = Animations;
+
+ // helpers
+
+ function coreAnimation(cls, current, next, dir) {
+
+ var d = UI.$.Deferred(),
+ delay = (this.options.delay === false) ? Math.floor(this.options.duration/2) : this.options.delay,
+ $this = this, clsIn, clsOut, release, i;
+
+ dir = dir || 1;
+
+ this.element.css('min-height', this.element.height());
+
+ if (next[0]===current[0]) {
+ d.resolve();
+ return d.promise();
+ }
+
+ if (typeof(cls) == 'object') {
+ clsIn = cls[0];
+ clsOut = cls[1] || cls[0];
+ } else {
+ clsIn = cls;
+ clsOut = clsIn;
+ }
+
+ release = function() {
+
+ if (current && current.length) {
+ current.hide().removeClass(clsOut+' uk-animation-reverse').css({'opacity':'', 'animation-delay': '', 'animation':''});
+ }
+
+ if (!next.length) {
+ d.resolve();
+ return;
+ }
+
+ for (i=0;i<next.length;i++) {
+ next.eq(dir == 1 ? i:(next.length - i)-1).css('animation-delay', (i*delay)+'ms');
+ }
+
+ next.addClass(clsIn)[dir==1 ? 'last':'first']().one(UI.support.animation.end, function() {
+
+ next.removeClass(''+clsIn+'').css({opacity:'', display:'', 'animation-delay':'', 'animation':''});
+ d.resolve();
+ $this.element.css('min-height', '');
+
+ }).end().css('display', '');
+ };
+
+ if (next.length) {
+ next.css('animation-duration', this.options.duration+'ms');
+ }
+
+ if (current && current.length) {
+
+ current.css('animation-duration', this.options.duration+'ms')[dir==1 ? 'last':'first']().one(UI.support.animation.end, function() {
+ release();
+ });
+
+ for (i=0;i<current.length;i++) {
+
+ (function (index, ele){
+
+ setTimeout(function(){
+ ele.css('display', 'none').css('display', '').css('opacity', 0).addClass(clsOut+' uk-animation-reverse');
+ }.bind(this), i * delay);
+
+ })(i, current.eq(dir == 1 ? i:(current.length - i)-1));
+ }
+
+ } else {
+ release();
+ }
+
+ return d.promise();
+ }
+
+ function array_chunk(input, size) {
+
+ var x, i = 0, c = -1, l = input.length || 0, n = [];
+
+ if (size < 1) return null;
+
+ while (i < l) {
+
+ x = i % size;
+
+ if(x) {
+ n[c][x] = input[i];
+ } else {
+ n[++c] = [input[i]];
+ }
+
+ i++;
+ }
+
+ i = 0;
+ l = n.length;
+
+ while (i < l) {
+ n[i] = jQuery(n[i]);
+ i++;
+ }
+
+ return n;
+ }
+
+});
diff --git a/uikit/static/js/components/slideset.min.js b/uikit/static/js/components/slideset.min.js
new file mode 100644
index 0000000..0117b1a
--- /dev/null
+++ b/uikit/static/js/components/slideset.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var i;window.UIkit&&(i=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-slideset",["uikit"],function(){return i||t(UIkit)})}(function(t){"use strict";function i(i,e,s,n){var a,o,r,l,h=t.$.Deferred(),u=this.options.delay===!1?Math.floor(this.options.duration/2):this.options.delay,d=this;if(n=n||1,this.element.css("min-height",this.element.height()),s[0]===e[0])return h.resolve(),h.promise();if("object"==typeof i?(a=i[0],o=i[1]||i[0]):(a=i,o=a),r=function(){if(e&&e.length&&e.hide().removeClass(o+" uk-animation-reverse").css({opacity:"","animation-delay":"",animation:""}),!s.length)return h.resolve(),void 0;for(l=0;l<s.length;l++)s.eq(1==n?l:s.length-l-1).css("animation-delay",l*u+"ms");s.addClass(a)[1==n?"last":"first"]().one(t.support.animation.end,function(){s.removeClass(""+a).css({opacity:"",display:"","animation-delay":"",animation:""}),h.resolve(),d.element.css("min-height","")}).end().css("display","")},s.length&&s.css("animation-duration",this.options.duration+"ms"),e&&e.length)for(e.css("animation-duration",this.options.duration+"ms")[1==n?"last":"first"]().one(t.support.animation.end,function(){r()}),l=0;l<e.length;l++)!function(t,i){setTimeout(function(){i.css("display","none").css("display","").css("opacity",0).addClass(o+" uk-animation-reverse")}.bind(this),l*u)}(l,e.eq(1==n?l:e.length-l-1));else r();return h.promise()}function e(t,i){var e,s=0,n=-1,a=t.length||0,o=[];if(1>i)return null;for(;a>s;)e=s%i,e?o[n][e]=t[s]:o[++n]=[t[s]],s++;for(s=0,a=o.length;a>s;)o[s]=jQuery(o[s]),s++;return o}var s;t.component("slideset",{defaults:{"default":1,animation:"fade",duration:200,filter:"",delay:!1,controls:!1,autoplay:!1,autoplayInterval:7e3,pauseOnHover:!0},sets:[],boot:function(){t.ready(function(i){t.$("[data-uk-slideset]",i).each(function(){var i=t.$(this);if(!i.data("slideset")){t.slideset(i,t.Utils.options(i.attr("data-uk-slideset")))}})})},init:function(){var i=this;this.activeSet=!1,this.list=this.element.find(".uk-slideset"),this.nav=this.element.find(".uk-slideset-nav"),this.controls=this.options.controls?t.$(this.options.controls):this.element,t.$win.on("resize load",t.Utils.debounce(function(){i.updateSets()},100)),i.list.addClass("uk-grid-width-1-"+i.options.default),["xlarge","large","medium","small"].forEach(function(t){i.options[t]&&i.list.addClass("uk-grid-width-"+t+"-1-"+i.options[t])}),this.on("click.uikit.slideset","[data-uk-slideset-item]",function(e){if(e.preventDefault(),!i.animating){var s=t.$(this).attr("data-uk-slideset-item");if(i.activeSet!==s)switch(s){case"next":case"previous":i["next"==s?"next":"previous"]();break;default:i.show(parseInt(s,10))}}}),this.controls.on("click.uikit.slideset","[data-uk-filter]",function(e){var s=t.$(this);s.parent().hasClass("uk-slideset")||(e.preventDefault(),i.animating||i.currentFilter==s.attr("data-uk-filter")||(i.updateFilter(s.attr("data-uk-filter")),i._hide().then(function(){i.updateSets(!0,!0)})))}),this.on("swipeRight swipeLeft",function(t){i["swipeLeft"==t.type?"next":"previous"]()}),this.updateFilter(this.options.filter),this.updateSets(),this.element.on({mouseenter:function(){i.options.pauseOnHover&&(i.hovering=!0)},mouseleave:function(){i.hovering=!1}}),this.options.autoplay&&this.start()},updateSets:function(t,i){var s,n=this.visible;if(this.visible=this.getVisibleOnCurrenBreakpoint(),n!=this.visible||i){for(this.children=this.list.children().hide(),this.items=this.getItems(),this.sets=e(this.items,this.visible),s=0;s<this.sets.length;s++)this.sets[s].css({display:"none"});if(this.nav.length&&this.nav.empty()){for(s=0;s<this.sets.length;s++)this.nav.append('<li data-uk-slideset-item="'+s+'"><a></a></li>');this.nav[1==this.nav.children().length?"addClass":"removeClass"]("uk-invisible")}this.activeSet=!1,this.show(0,!t)}},updateFilter:function(i){var e,s=this;this.currentFilter=i,this.controls.find("[data-uk-filter]").each(function(){e=t.$(this),e.parent().hasClass("uk-slideset")||(e.attr("data-uk-filter")==s.currentFilter?e.addClass("uk-active"):e.removeClass("uk-active"))})},getVisibleOnCurrenBreakpoint:function(){var i=null,e=t.$('<div style="position:absolute;height:1px;top:-1000px;width:100px"><div></div></div>').appendTo("body"),s=e.children().eq(0),n=this.options;return["xlarge","large","medium","small"].forEach(function(t){n[t]&&!i&&(e.attr("class","uk-grid-width-"+t+"-1-2").width(),50==s.width()&&(i=t))}),e.remove(),this.options[i]||this.options["default"]},getItems:function(){var i,e=[];return this.currentFilter?(i=this.currentFilter||[],"string"==typeof i&&(i=i.split(/,/).map(function(t){return t.trim()})),this.children.each(function(){var s=t.$(this),n=s.attr("data-uk-filter"),a=i.length?!1:!0;n&&(n=n.split(/,/).map(function(t){return t.trim()}),i.forEach(function(t){n.indexOf(t)>-1&&(a=!0)})),a&&e.push(s[0])}),e=t.$(e)):e=this.list.children(),e},show:function(i,e,n){var a=this;if(this.activeSet!==i&&!this.animating){n=n||(i<this.activeSet?-1:1);var o=this.sets[this.activeSet]||[],r=this.sets[i],l=this._getAnimation();(e||!t.support.animation)&&(l=s.none),this.animating=!0,this.nav.length&&this.nav.children().removeClass("uk-active").eq(i).addClass("uk-active"),l.apply(a,[o,r,n]).then(function(){t.Utils.checkDisplay(r,!0),a.children.hide().removeClass("uk-active"),r.addClass("uk-active").css({display:"",opacity:""}),a.animating=!1,a.activeSet=i,t.Utils.checkDisplay(r,!0),a.trigger("show.uk.slideset",[r])})}},_getAnimation:function(){var i=s[this.options.animation]||s.none;return t.support.animation||(i=s.none),i},_hide:function(){var t=this,i=this.sets[this.activeSet]||[],e=this._getAnimation();return this.animating=!0,e.apply(t,[i,[],1]).then(function(){t.animating=!1})},next:function(){this.show(this.sets[this.activeSet+1]?this.activeSet+1:0,!1,1)},previous:function(){this.show(this.sets[this.activeSet-1]?this.activeSet-1:this.sets.length-1,!1,-1)},start:function(){this.stop();var t=this;this.interval=setInterval(function(){t.hovering||t.animating||t.next()},this.options.autoplayInterval)},stop:function(){this.interval&&clearInterval(this.interval)}}),s={none:function(){var i=t.$.Deferred();return i.resolve(),i.promise()},fade:function(t,e){return i.apply(this,["uk-animation-fade",t,e])},"slide-bottom":function(t,e){return i.apply(this,["uk-animation-slide-bottom",t,e])},"slide-top":function(t,e){return i.apply(this,["uk-animation-slide-top",t,e])},"slide-vertical":function(t,e,s){var n=["uk-animation-slide-top","uk-animation-slide-bottom"];return-1==s&&n.reverse(),i.apply(this,[n,t,e])},"slide-horizontal":function(t,e,s){var n=["uk-animation-slide-right","uk-animation-slide-left"];return-1==s&&n.reverse(),i.apply(this,[n,t,e,s])},scale:function(t,e){return i.apply(this,["uk-animation-scale-up",t,e])}},t.slideset.animations=s}); \ No newline at end of file
diff --git a/uikit/static/js/components/slideshow-fx.js b/uikit/static/js/components/slideshow-fx.js
new file mode 100644
index 0000000..78ed161
--- /dev/null
+++ b/uikit/static/js/components/slideshow-fx.js
@@ -0,0 +1,377 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-slideshow-fx", ["uikit"], function() {
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI) {
+
+ "use strict";
+
+ var Animations = UI.slideshow.animations;
+
+ UI.$.extend(UI.slideshow.animations, {
+ 'slice': function(current, next, dir, fromfx) {
+
+ if (!current.data('cover')) {
+ return Animations.fade.apply(this, arguments);
+ }
+
+ var d = UI.$.Deferred();
+
+ var sliceWidth = Math.ceil(this.element.width() / this.options.slices),
+ bgimage = next.data('cover').css('background-image'),
+ ghost = UI.$('<li></li>').css({
+ top : 0,
+ left : 0,
+ width : this.container.width(),
+ height : this.container.height(),
+ opacity: 1,
+ zIndex : 15
+ }),
+ ghostWidth = ghost.width(),
+ ghostHeight = ghost.height(),
+ pos = fromfx == 'slice-up' ? ghostHeight:'0',
+ bar;
+
+ for (var i = 0; i < this.options.slices; i++) {
+
+ if (fromfx == 'slice-up-down') {
+ pos = ((i % 2) + 2) % 2==0 ? '0':ghostHeight;
+ }
+
+ var width = (i == this.options.slices-1) ? sliceWidth : sliceWidth,
+ clipto = ('rect(0px, '+(width*(i+1))+'px, '+ghostHeight+'px, '+(sliceWidth*i)+'px)'),
+ clipfrom;
+
+ //slice-down - default
+ clipfrom = ('rect(0px, '+(width*(i+1))+'px, 0px, '+(sliceWidth*i)+'px)');
+
+ if (fromfx == 'slice-up' || (fromfx == 'slice-up-down' && ((i % 2) + 2) % 2==0 )) {
+ clipfrom = ('rect('+ghostHeight+'px, '+(width*(i+1))+'px, '+ghostHeight+'px, '+(sliceWidth*i)+'px)');
+ }
+
+ bar = UI.$('<div class="uk-cover-background"></div>').css({
+ 'position' : 'absolute',
+ 'top' : 0,
+ 'left' : 0,
+ 'width' : ghostWidth,
+ 'height' : ghostHeight,
+ 'background-image' : bgimage,
+ 'clip' : clipfrom,
+ 'opacity' : 0,
+ 'transition' : 'all '+this.options.duration+'ms ease-in-out '+(i*60)+'ms',
+ '-webkit-transition' : 'all '+this.options.duration+'ms ease-in-out '+(i*60)+'ms'
+
+ }).data('clip', clipto);
+
+ ghost.append(bar);
+ }
+
+ this.container.append(ghost);
+
+ ghost.children().last().on(UI.support.transition.end, function() {
+ ghost.remove();
+ d.resolve();
+ });
+
+ ghost.width();
+
+ ghost.children().each(function() {
+ var bar = UI.$(this);
+
+ bar.css({
+ 'clip': bar.data('clip'),
+ 'opacity': 1
+ });
+ });
+
+ return d.promise();
+ },
+
+ 'slice-up': function(current, next, dir) {
+ return Animations.slice.apply(this, [current, next, dir, 'slice-up']);
+ },
+
+ 'slice-down': function(current, next, dir) {
+ return Animations.slice.apply(this, [current, next, dir, 'slice-down']);
+ },
+
+ 'slice-up-down': function(current, next, dir) {
+ return Animations.slice.apply(this, [current, next, dir, 'slice-up-down']);
+ },
+
+ 'fold': function(current, next, dir) {
+
+ if (!next.data('cover')) {
+ return Animations.fade.apply(this, arguments);
+ }
+
+ var d = UI.$.Deferred();
+
+ var sliceWidth = Math.ceil(this.element.width() / this.options.slices),
+ bgimage = next.data('cover').css('background-image'),
+ ghost = UI.$('<li></li>').css({
+ width : next.width(),
+ height : next.height(),
+ opacity: 1,
+ zIndex : 15
+ }),
+ ghostWidth = next.width(),
+ ghostHeight = next.height(),
+ bar;
+
+ for (var i = 0; i < this.options.slices; i++) {
+
+ var width = (i == this.options.slices-1) ? (ghostWidth - (sliceWidth*i)) : sliceWidth;
+
+ bar = UI.$('<div class="uk-cover-background"></div>').css({
+ 'position' : 'absolute',
+ 'top' : 0,
+ 'left' : 0,
+ 'width' : ghostWidth,
+ 'height' : ghostHeight,
+ 'background-image' : bgimage,
+ 'transform-origin' : (sliceWidth*i)+'px 0 0',
+ 'clip' : ('rect(0px, '+(sliceWidth*(i+1))+'px, '+ghostHeight+'px, '+(sliceWidth*i)+'px)'),
+ 'opacity' : 0,
+ 'transform' : 'scaleX(0.000001)',
+ 'transition' : 'all '+this.options.duration+'ms ease-in-out '+(100+i*60)+'ms',
+ '-webkit-transition' : 'all '+this.options.duration+'ms ease-in-out '+(100+i*60)+'ms'
+ });
+
+ ghost.prepend(bar);
+ }
+
+ this.container.append(ghost);
+
+ ghost.width();
+
+ ghost.children().first().on(UI.support.transition.end, function() {
+ ghost.remove();
+ d.resolve();
+ }).end().css({
+ 'transform': 'scaleX(1)',
+ 'opacity': 1
+ });
+
+ return d.promise();
+ },
+
+ 'puzzle': function(current, next, dir) {
+
+ if (!next.data('cover')) {
+ return Animations.fade.apply(this, arguments);
+ }
+
+ var d = UI.$.Deferred(), $this = this;
+
+ var boxCols = Math.round(this.options.slices/2),
+ boxWidth = Math.round(next.width()/boxCols),
+ boxRows = Math.round(next.height()/boxWidth),
+ boxHeight = Math.round(next.height()/boxRows)+1,
+ bgimage = next.data('cover').css('background-image'),
+ ghost = UI.$('<li></li>').css({
+ width : this.container.width(),
+ height : this.container.height(),
+ opacity : 1,
+ zIndex : 15
+ }),
+ ghostWidth = this.container.width(),
+ ghostHeight = this.container.height(),
+ box, rect, width;
+
+ for (var rows = 0; rows < boxRows; rows++) {
+
+ for (var cols = 0; cols < boxCols; cols++) {
+
+ width = (cols == boxCols-1) ? (boxWidth + 2) : boxWidth;
+
+ rect = [
+ (boxHeight * rows) +'px', // top
+ (width * (cols+1)) +'px', // right
+ (boxHeight * (rows + 1)) +'px', // bottom
+ (boxWidth * cols) +'px' // left
+ ];
+
+ box = UI.$('<div class="uk-cover-background"></div>').css({
+ 'position' : 'absolute',
+ 'top' : 0,
+ 'left' : 0,
+ 'opacity' : 0,
+ 'width' : ghostWidth,
+ 'height' : ghostHeight,
+ 'background-image' : bgimage,
+ 'clip' : ('rect('+rect.join(',')+')'),
+ '-webkit-transform' : 'translateZ(0)', // fixes webkit opacity flickering bug
+ 'transform' : 'translateZ(0)' // fixes moz opacity flickering bug
+ });
+
+ ghost.append(box);
+ }
+ }
+
+ this.container.append(ghost);
+
+ var boxes = shuffle(ghost.children());
+
+ boxes.each(function(i) {
+ UI.$(this).css({
+ 'transition': 'all '+$this.options.duration+'ms ease-in-out '+(50+i*25)+'ms',
+ '-webkit-transition': 'all '+$this.options.duration+'ms ease-in-out '+(50+i*25)+'ms'
+ });
+ }).last().on(UI.support.transition.end, function() {
+ ghost.remove();
+ d.resolve();
+ });
+
+ ghost.width();
+
+ boxes.css({'opacity': 1});
+
+ return d.promise();
+ },
+
+ 'boxes': function(current, next, dir, fromfx) {
+
+ if (!next.data('cover')) {
+ return Animations.fade.apply(this, arguments);
+ }
+
+ var d = UI.$.Deferred();
+
+ var boxCols = Math.round(this.options.slices/2),
+ boxWidth = Math.round(next.width()/boxCols),
+ boxRows = Math.round(next.height()/boxWidth),
+ boxHeight = Math.round(next.height()/boxRows)+1,
+ bgimage = next.data('cover').css('background-image'),
+ ghost = UI.$('<li></li>').css({
+ width : next.width(),
+ height : next.height(),
+ opacity : 1,
+ zIndex : 15
+ }),
+ ghostWidth = next.width(),
+ ghostHeight = next.height(),
+ box, rect, width, cols;
+
+ for (var rows = 0; rows < boxRows; rows++) {
+
+ for (cols = 0; cols < boxCols; cols++) {
+
+ width = (cols == boxCols-1) ? (boxWidth + 2) : boxWidth;
+
+ rect = [
+ (boxHeight * rows) +'px', // top
+ (width * (cols+1)) +'px', // right
+ (boxHeight * (rows + 1)) +'px', // bottom
+ (boxWidth * cols) +'px' // left
+ ];
+
+ box = UI.$('<div class="uk-cover-background"></div>').css({
+ 'position' : 'absolute',
+ 'top' : 0,
+ 'left' : 0,
+ 'opacity' : 1,
+ 'width' : ghostWidth,
+ 'height' : ghostHeight,
+ 'background-image' : bgimage,
+ 'transform-origin' : rect[3]+' '+rect[0]+' 0',
+ 'clip' : ('rect('+rect.join(',')+')'),
+ '-webkit-transform' : 'scale(0.0000000000000001)',
+ 'transform' : 'scale(0.0000000000000001)'
+ });
+
+ ghost.append(box);
+ }
+ }
+
+ this.container.append(ghost);
+
+ var rowIndex = 0, colIndex = 0, timeBuff = 0, box2Darr = [[]], boxes = ghost.children(), prevCol;
+
+ if (fromfx == 'boxes-reverse') {
+ boxes = [].reverse.apply(boxes);
+ }
+
+ boxes.each(function() {
+
+ box2Darr[rowIndex][colIndex] = UI.$(this);
+ colIndex++;
+
+ if(colIndex == boxCols) {
+ rowIndex++;
+ colIndex = 0;
+ box2Darr[rowIndex] = [];
+ }
+ });
+
+ for (cols = 0, prevCol = 0; cols < (boxCols * boxRows); cols++) {
+
+ prevCol = cols;
+
+ for (var row = 0; row < boxRows; row++) {
+
+ if (prevCol >= 0 && prevCol < boxCols) {
+
+ box2Darr[row][prevCol].css({
+ 'transition': 'all '+this.options.duration+'ms linear '+(50+timeBuff)+'ms',
+ '-webkit-transition': 'all '+this.options.duration+'ms linear '+(50+timeBuff)+'ms'
+ });
+ }
+ prevCol--;
+ }
+ timeBuff += 100;
+ }
+
+ boxes.last().on(UI.support.transition.end, function() {
+ ghost.remove();
+ d.resolve();
+ });
+
+ ghost.width();
+
+ boxes.css({
+ '-webkit-transform': 'scale(1)',
+ 'transform': 'scale(1)'
+ });
+
+ return d.promise();
+ },
+
+ 'boxes-reverse': function(current, next, dir) {
+ return Animations.boxes.apply(this, [current, next, dir, 'boxes-reverse']);
+ },
+
+ 'random-fx': function(){
+
+ var animations = ['slice-up', 'fold', 'puzzle', 'slice-down', 'boxes', 'slice-up-down', 'boxes-reverse'];
+
+ this.fxIndex = (this.fxIndex === undefined ? -1 : this.fxIndex) + 1;
+
+ if (!animations[this.fxIndex]) this.fxIndex = 0;
+
+ return Animations[animations[this.fxIndex]].apply(this, arguments);
+ },
+ });
+
+
+ // helper functions
+
+ // Shuffle an array
+ var shuffle = function(arr) {
+ for (var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x) {}
+ return arr;
+ };
+
+ return UI.slideshow.animations;
+});
diff --git a/uikit/static/js/components/slideshow-fx.min.js b/uikit/static/js/components/slideshow-fx.min.js
new file mode 100644
index 0000000..cb18577
--- /dev/null
+++ b/uikit/static/js/components/slideshow-fx.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(i){var t;window.UIkit&&(t=i(UIkit)),"function"==typeof define&&define.amd&&define("uikit-slideshow-fx",["uikit"],function(){return t||i(UIkit)})}(function(i){"use strict";var t=i.slideshow.animations;i.$.extend(i.slideshow.animations,{slice:function(e,s,n,o){if(!e.data("cover"))return t.fade.apply(this,arguments);for(var r,a=i.$.Deferred(),c=Math.ceil(this.element.width()/this.options.slices),h=s.data("cover").css("background-image"),p=i.$("<li></li>").css({top:0,left:0,width:this.container.width(),height:this.container.height(),opacity:1,zIndex:15}),d=p.width(),l=p.height(),u="slice-up"==o?l:"0",f=0;f<this.options.slices;f++){"slice-up-down"==o&&(u=(f%2+2)%2==0?"0":l);var m,x=f==this.options.slices-1?c:c,v="rect(0px, "+x*(f+1)+"px, "+l+"px, "+c*f+"px)";m="rect(0px, "+x*(f+1)+"px, 0px, "+c*f+"px)",("slice-up"==o||"slice-up-down"==o&&(f%2+2)%2==0)&&(m="rect("+l+"px, "+x*(f+1)+"px, "+l+"px, "+c*f+"px)"),r=i.$('<div class="uk-cover-background"></div>').css({position:"absolute",top:0,left:0,width:d,height:l,"background-image":h,clip:m,opacity:0,transition:"all "+this.options.duration+"ms ease-in-out "+60*f+"ms","-webkit-transition":"all "+this.options.duration+"ms ease-in-out "+60*f+"ms"}).data("clip",v),p.append(r)}return this.container.append(p),p.children().last().on(i.support.transition.end,function(){p.remove(),a.resolve()}),p.width(),p.children().each(function(){var t=i.$(this);t.css({clip:t.data("clip"),opacity:1})}),a.promise()},"slice-up":function(i,e,s){return t.slice.apply(this,[i,e,s,"slice-up"])},"slice-down":function(i,e,s){return t.slice.apply(this,[i,e,s,"slice-down"])},"slice-up-down":function(i,e,s){return t.slice.apply(this,[i,e,s,"slice-up-down"])},fold:function(e,s){if(!s.data("cover"))return t.fade.apply(this,arguments);for(var n,o=i.$.Deferred(),r=Math.ceil(this.element.width()/this.options.slices),a=s.data("cover").css("background-image"),c=i.$("<li></li>").css({width:s.width(),height:s.height(),opacity:1,zIndex:15}),h=s.width(),p=s.height(),d=0;d<this.options.slices;d++){{d==this.options.slices-1?h-r*d:r}n=i.$('<div class="uk-cover-background"></div>').css({position:"absolute",top:0,left:0,width:h,height:p,"background-image":a,"transform-origin":r*d+"px 0 0",clip:"rect(0px, "+r*(d+1)+"px, "+p+"px, "+r*d+"px)",opacity:0,transform:"scaleX(0.000001)",transition:"all "+this.options.duration+"ms ease-in-out "+(100+60*d)+"ms","-webkit-transition":"all "+this.options.duration+"ms ease-in-out "+(100+60*d)+"ms"}),c.prepend(n)}return this.container.append(c),c.width(),c.children().first().on(i.support.transition.end,function(){c.remove(),o.resolve()}).end().css({transform:"scaleX(1)",opacity:1}),o.promise()},puzzle:function(s,n){if(!n.data("cover"))return t.fade.apply(this,arguments);for(var o,r,a,c=i.$.Deferred(),h=this,p=Math.round(this.options.slices/2),d=Math.round(n.width()/p),l=Math.round(n.height()/d),u=Math.round(n.height()/l)+1,f=n.data("cover").css("background-image"),m=i.$("<li></li>").css({width:this.container.width(),height:this.container.height(),opacity:1,zIndex:15}),x=this.container.width(),v=this.container.height(),g=0;l>g;g++)for(var w=0;p>w;w++)a=w==p-1?d+2:d,r=[u*g+"px",a*(w+1)+"px",u*(g+1)+"px",d*w+"px"],o=i.$('<div class="uk-cover-background"></div>').css({position:"absolute",top:0,left:0,opacity:0,width:x,height:v,"background-image":f,clip:"rect("+r.join(",")+")","-webkit-transform":"translateZ(0)",transform:"translateZ(0)"}),m.append(o);this.container.append(m);var b=e(m.children());return b.each(function(t){i.$(this).css({transition:"all "+h.options.duration+"ms ease-in-out "+(50+25*t)+"ms","-webkit-transition":"all "+h.options.duration+"ms ease-in-out "+(50+25*t)+"ms"})}).last().on(i.support.transition.end,function(){m.remove(),c.resolve()}),m.width(),b.css({opacity:1}),c.promise()},boxes:function(e,s,n,o){if(!s.data("cover"))return t.fade.apply(this,arguments);for(var r,a,c,h,p=i.$.Deferred(),d=Math.round(this.options.slices/2),l=Math.round(s.width()/d),u=Math.round(s.height()/l),f=Math.round(s.height()/u)+1,m=s.data("cover").css("background-image"),x=i.$("<li></li>").css({width:s.width(),height:s.height(),opacity:1,zIndex:15}),v=s.width(),g=s.height(),w=0;u>w;w++)for(h=0;d>h;h++)c=h==d-1?l+2:l,a=[f*w+"px",c*(h+1)+"px",f*(w+1)+"px",l*h+"px"],r=i.$('<div class="uk-cover-background"></div>').css({position:"absolute",top:0,left:0,opacity:1,width:v,height:g,"background-image":m,"transform-origin":a[3]+" "+a[0]+" 0",clip:"rect("+a.join(",")+")","-webkit-transform":"scale(0.0000000000000001)",transform:"scale(0.0000000000000001)"}),x.append(r);this.container.append(x);var b,k=0,y=0,$=0,I=[[]],M=x.children();for("boxes-reverse"==o&&(M=[].reverse.apply(M)),M.each(function(){I[k][y]=i.$(this),y++,y==d&&(k++,y=0,I[k]=[])}),h=0,b=0;d*u>h;h++){b=h;for(var z=0;u>z;z++)b>=0&&d>b&&I[z][b].css({transition:"all "+this.options.duration+"ms linear "+(50+$)+"ms","-webkit-transition":"all "+this.options.duration+"ms linear "+(50+$)+"ms"}),b--;$+=100}return M.last().on(i.support.transition.end,function(){x.remove(),p.resolve()}),x.width(),M.css({"-webkit-transform":"scale(1)",transform:"scale(1)"}),p.promise()},"boxes-reverse":function(i,e,s){return t.boxes.apply(this,[i,e,s,"boxes-reverse"])},"random-fx":function(){var i=["slice-up","fold","puzzle","slice-down","boxes","slice-up-down","boxes-reverse"];return this.fxIndex=(void 0===this.fxIndex?-1:this.fxIndex)+1,i[this.fxIndex]||(this.fxIndex=0),t[i[this.fxIndex]].apply(this,arguments)}});var e=function(i){for(var t,e,s=i.length;s;t=parseInt(Math.random()*s),e=i[--s],i[s]=i[t],i[t]=e);return i};return i.slideshow.animations}); \ No newline at end of file
diff --git a/uikit/static/js/components/slideshow.js b/uikit/static/js/components/slideshow.js
new file mode 100644
index 0000000..d897bc9
--- /dev/null
+++ b/uikit/static/js/components/slideshow.js
@@ -0,0 +1,545 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-slideshow", ["uikit"], function() {
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI) {
+
+ "use strict";
+
+ var Animations, playerId = 0;
+
+ UI.component('slideshow', {
+
+ defaults: {
+ animation : "fade",
+ duration : 500,
+ height : "auto",
+ start : 0,
+ autoplay : false,
+ autoplayInterval : 7000,
+ videoautoplay : true,
+ videomute : true,
+ slices : 15,
+ pauseOnHover : true,
+ kenburns : false,
+ kenburnsanimations : [
+ 'uk-animation-middle-left',
+ 'uk-animation-top-right',
+ 'uk-animation-bottom-left',
+ 'uk-animation-top-center',
+ '', // middle-center
+ 'uk-animation-bottom-right'
+ ],
+ },
+
+ current : false,
+ interval : null,
+ hovering : false,
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$('[data-uk-slideshow]', context).each(function() {
+
+ var slideshow = UI.$(this);
+
+ if (!slideshow.data("slideshow")) {
+ var obj = UI.slideshow(slideshow, UI.Utils.options(slideshow.attr("data-uk-slideshow")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this, canvas, kbanimduration;
+
+ this.container = this.element.hasClass('uk-slideshow') ? this.element : UI.$(this.find('.uk-slideshow'));
+ this.slides = this.container.children();
+ this.slidesCount = this.slides.length;
+ this.current = this.options.start;
+ this.animating = false;
+ this.triggers = this.find('[data-uk-slideshow-item]');
+ this.fixFullscreen = navigator.userAgent.match(/(iPad|iPhone|iPod)/g) && this.container.hasClass('uk-slideshow-fullscreen'); // viewport unit fix for height:100vh - should be fixed in iOS 8
+
+ if (this.options.kenburns) {
+
+ kbanimduration = this.options.kenburns === true ? '15s': this.options.kenburns;
+
+ if (!String(kbanimduration).match(/(ms|s)$/)) {
+ kbanimduration += 'ms';
+ }
+
+ if (typeof(this.options.kenburnsanimations) == 'string') {
+ this.options.kenburnsanimations = this.options.kenburnsanimations.split(',');
+ }
+ }
+
+ this.slides.each(function(index) {
+
+ var slide = UI.$(this),
+ media = slide.children('img,video,iframe').eq(0);
+
+ slide.data('media', media);
+ slide.data('sizer', media);
+
+ if (media.length) {
+
+ var placeholder;
+
+ switch(media[0].nodeName) {
+ case 'IMG':
+
+ var cover = UI.$('<div class="uk-cover-background uk-position-cover"></div>').css({'background-image':'url('+ media.attr('src') + ')'});
+
+ media.css({'width': '100%','height': 'auto'});
+ slide.prepend(cover).data('cover', cover);
+ break;
+
+ case 'IFRAME':
+
+ var src = media[0].src, iframeId = 'sw-'+(++playerId);
+
+ media
+ .attr('src', '').on('load', function(){
+
+ if (index !== $this.current || (index == $this.current && !$this.options.videoautoplay)) {
+ $this.pausemedia(media);
+ }
+
+ if ($this.options.videomute) {
+
+ $this.mutemedia(media);
+
+ var inv = setInterval((function(ic) {
+ return function() {
+ $this.mutemedia(media);
+ if (++ic >= 4) clearInterval(inv);
+ }
+ })(0), 250);
+ }
+
+ })
+ .data('slideshow', $this) // add self-reference for the vimeo-ready listener
+ .attr('data-player-id', iframeId) // add frameId for the vimeo-ready listener
+ .attr('src', [src, (src.indexOf('?') > -1 ? '&':'?'), 'enablejsapi=1&api=1&player_id='+iframeId].join(''))
+ .addClass('uk-position-absolute');
+
+ // disable pointer events
+ if(!UI.support.touch) media.css('pointer-events', 'none');
+
+ placeholder = true;
+
+ if (UI.cover) {
+ UI.cover(media);
+ media.attr('data-uk-cover', '{}');
+ }
+
+ break;
+
+ case 'VIDEO':
+ media.addClass('uk-cover-object uk-position-absolute');
+ placeholder = true;
+
+ if ($this.options.videomute) $this.mutemedia(media);
+ }
+
+ if (placeholder) {
+
+ canvas = UI.$('<canvas></canvas>').attr({'width': media[0].width, 'height': media[0].height});
+ var img = UI.$('<img style="width:100%;height:auto;">').attr('src', canvas[0].toDataURL());
+
+ slide.prepend(img);
+ slide.data('sizer', img);
+ }
+
+ } else {
+ slide.data('sizer', slide);
+ }
+
+ if ($this.hasKenBurns(slide)) {
+
+ slide.data('cover').css({
+ '-webkit-animation-duration': kbanimduration,
+ 'animation-duration': kbanimduration
+ });
+ }
+ });
+
+ this.on("click.uikit.slideshow", '[data-uk-slideshow-item]', function(e) {
+
+ e.preventDefault();
+
+ var slide = UI.$(this).attr('data-uk-slideshow-item');
+
+ if ($this.current == slide) return;
+
+ switch(slide) {
+ case 'next':
+ case 'previous':
+ $this[slide=='next' ? 'next':'previous']();
+ break;
+ default:
+ $this.show(parseInt(slide, 10));
+ }
+
+ $this.stop();
+ });
+
+ // Set start slide
+ this.slides.attr('aria-hidden', 'true').eq(this.current).addClass('uk-active').attr('aria-hidden', 'false');
+ this.triggers.filter('[data-uk-slideshow-item="'+this.current+'"]').addClass('uk-active');
+
+ UI.$win.on("resize load", UI.Utils.debounce(function() {
+ $this.resize();
+
+ if ($this.fixFullscreen) {
+ $this.container.css('height', window.innerHeight);
+ $this.slides.css('height', window.innerHeight);
+ }
+ }, 100));
+
+ // chrome image load fix
+ setTimeout(function(){
+ $this.resize();
+ }, 80);
+
+ // Set autoplay
+ if (this.options.autoplay) {
+ this.start();
+ }
+
+ if (this.options.videoautoplay && this.slides.eq(this.current).data('media')) {
+ this.playmedia(this.slides.eq(this.current).data('media'));
+ }
+
+ if (this.options.kenburns) {
+ this.applyKenBurns(this.slides.eq(this.current));
+ }
+
+ this.container.on({
+ mouseenter: function() { if ($this.options.pauseOnHover) $this.hovering = true; },
+ mouseleave: function() { $this.hovering = false; }
+ });
+
+ this.on('swipeRight swipeLeft', function(e) {
+ $this[e.type=='swipeLeft' ? 'next' : 'previous']();
+ });
+
+ this.on('display.uk.check', function(){
+ if ($this.element.is(":visible")) {
+
+ $this.resize();
+
+ if ($this.fixFullscreen) {
+ $this.container.css('height', window.innerHeight);
+ $this.slides.css('height', window.innerHeight);
+ }
+ }
+ });
+ },
+
+
+ resize: function() {
+
+ if (this.container.hasClass('uk-slideshow-fullscreen')) return;
+
+ var $this = this, height = this.options.height;
+
+ if (this.options.height === 'auto') {
+
+ height = 0;
+
+ this.slides.css('height', '').each(function() {
+ height = Math.max(height, UI.$(this).height());
+ });
+ }
+
+ this.container.css('height', height);
+ this.slides.css('height', height);
+ },
+
+ show: function(index, direction) {
+
+ if (this.animating || this.current == index) return;
+
+ this.animating = true;
+
+ var $this = this,
+ current = this.slides.eq(this.current),
+ next = this.slides.eq(index),
+ dir = direction ? direction : this.current < index ? -1 : 1,
+ currentmedia = current.data('media'),
+ animation = Animations[this.options.animation] ? this.options.animation : 'fade',
+ nextmedia = next.data('media'),
+ finalize = function() {
+
+ if (!$this.animating) return;
+
+ if (currentmedia && currentmedia.is('video,iframe')) {
+ $this.pausemedia(currentmedia);
+ }
+
+ if (nextmedia && nextmedia.is('video,iframe')) {
+ $this.playmedia(nextmedia);
+ }
+
+ next.addClass("uk-active").attr('aria-hidden', 'false');
+ current.removeClass("uk-active").attr('aria-hidden', 'true');
+
+ $this.animating = false;
+ $this.current = index;
+
+ UI.Utils.checkDisplay(next, '[class*="uk-animation-"]:not(.uk-cover-background.uk-position-cover)');
+
+ $this.trigger('show.uk.slideshow', [next]);
+ };
+
+ $this.applyKenBurns(next);
+
+ // animation fallback
+ if (!UI.support.animation) {
+ animation = 'none';
+ }
+
+ current = UI.$(current);
+ next = UI.$(next);
+
+ Animations[animation].apply(this, [current, next, dir]).then(finalize);
+
+ $this.triggers.removeClass('uk-active');
+ $this.triggers.filter('[data-uk-slideshow-item="'+index+'"]').addClass('uk-active');
+ },
+
+ applyKenBurns: function(slide) {
+
+ if (!this.hasKenBurns(slide)) {
+ return;
+ }
+
+ var animations = this.options.kenburnsanimations,
+ index = this.kbindex || 0;
+
+
+ slide.data('cover').attr('class', 'uk-cover-background uk-position-cover').width();
+ slide.data('cover').addClass(['uk-animation-scale', 'uk-animation-reverse', animations[index].trim()].join(' '));
+
+ this.kbindex = animations[index + 1] ? (index+1):0;
+ },
+
+ hasKenBurns: function(slide) {
+ return (this.options.kenburns && slide.data('cover'));
+ },
+
+ next: function() {
+ this.show(this.slides[this.current + 1] ? (this.current + 1) : 0);
+ },
+
+ previous: function() {
+ this.show(this.slides[this.current - 1] ? (this.current - 1) : (this.slides.length - 1));
+ },
+
+ start: function() {
+
+ this.stop();
+
+ var $this = this;
+
+ this.interval = setInterval(function() {
+ if (!$this.hovering) $this.next();
+ }, this.options.autoplayInterval);
+
+ },
+
+ stop: function() {
+ if (this.interval) clearInterval(this.interval);
+ },
+
+ playmedia: function(media) {
+
+ if (!(media && media[0])) return;
+
+ switch(media[0].nodeName) {
+ case 'VIDEO':
+
+ if (!this.options.videomute) {
+ media[0].muted = false;
+ }
+
+ media[0].play();
+ break;
+ case 'IFRAME':
+
+ if (!this.options.videomute) {
+ media[0].contentWindow.postMessage('{ "event": "command", "func": "unmute", "method":"setVolume", "value":1}', '*');
+ }
+
+ media[0].contentWindow.postMessage('{ "event": "command", "func": "playVideo", "method":"play"}', '*');
+ break;
+ }
+ },
+
+ pausemedia: function(media) {
+
+ switch(media[0].nodeName) {
+ case 'VIDEO':
+ media[0].pause();
+ break;
+ case 'IFRAME':
+ media[0].contentWindow.postMessage('{ "event": "command", "func": "pauseVideo", "method":"pause"}', '*');
+ break;
+ }
+ },
+
+ mutemedia: function(media) {
+
+ switch(media[0].nodeName) {
+ case 'VIDEO':
+ media[0].muted = true;
+ break;
+ case 'IFRAME':
+ media[0].contentWindow.postMessage('{ "event": "command", "func": "mute", "method":"setVolume", "value":0}', '*');
+ break;
+ }
+ }
+ });
+
+ Animations = {
+
+ 'none': function() {
+
+ var d = UI.$.Deferred();
+ d.resolve();
+ return d.promise();
+ },
+
+ 'scroll': function(current, next, dir) {
+
+ var d = UI.$.Deferred();
+
+ current.css('animation-duration', this.options.duration+'ms');
+ next.css('animation-duration', this.options.duration+'ms');
+
+ next.css('opacity', 1).one(UI.support.animation.end, function() {
+
+ current.removeClass(dir === 1 ? 'uk-slideshow-scroll-backward-out' : 'uk-slideshow-scroll-forward-out');
+ next.css('opacity', '').removeClass(dir === 1 ? 'uk-slideshow-scroll-backward-in' : 'uk-slideshow-scroll-forward-in');
+ d.resolve();
+
+ }.bind(this));
+
+ current.addClass(dir == 1 ? 'uk-slideshow-scroll-backward-out' : 'uk-slideshow-scroll-forward-out');
+ next.addClass(dir == 1 ? 'uk-slideshow-scroll-backward-in' : 'uk-slideshow-scroll-forward-in');
+ next.width(); // force redraw
+
+ return d.promise();
+ },
+
+ 'swipe': function(current, next, dir) {
+
+ var d = UI.$.Deferred();
+
+ current.css('animation-duration', this.options.duration+'ms');
+ next.css('animation-duration', this.options.duration+'ms');
+
+ next.css('opacity', 1).one(UI.support.animation.end, function() {
+
+ current.removeClass(dir === 1 ? 'uk-slideshow-swipe-backward-out' : 'uk-slideshow-swipe-forward-out');
+ next.css('opacity', '').removeClass(dir === 1 ? 'uk-slideshow-swipe-backward-in' : 'uk-slideshow-swipe-forward-in');
+ d.resolve();
+
+ }.bind(this));
+
+ current.addClass(dir == 1 ? 'uk-slideshow-swipe-backward-out' : 'uk-slideshow-swipe-forward-out');
+ next.addClass(dir == 1 ? 'uk-slideshow-swipe-backward-in' : 'uk-slideshow-swipe-forward-in');
+ next.width(); // force redraw
+
+ return d.promise();
+ },
+
+ 'scale': function(current, next, dir) {
+
+ var d = UI.$.Deferred();
+
+ current.css('animation-duration', this.options.duration+'ms');
+ next.css('animation-duration', this.options.duration+'ms');
+
+ next.css('opacity', 1);
+
+ current.one(UI.support.animation.end, function() {
+
+ current.removeClass('uk-slideshow-scale-out');
+ next.css('opacity', '');
+ d.resolve();
+
+ }.bind(this));
+
+ current.addClass('uk-slideshow-scale-out');
+ current.width(); // force redraw
+
+ return d.promise();
+ },
+
+ 'fade': function(current, next, dir) {
+
+ var d = UI.$.Deferred();
+
+ current.css('animation-duration', this.options.duration+'ms');
+ next.css('animation-duration', this.options.duration+'ms');
+
+ next.css('opacity', 1);
+
+ current.one(UI.support.animation.end, function() {
+
+ current.removeClass('uk-slideshow-fade-out');
+ next.css('opacity', '');
+ d.resolve();
+
+ }.bind(this));
+
+ current.addClass('uk-slideshow-fade-out');
+ current.width(); // force redraw
+
+ return d.promise();
+ }
+ };
+
+ UI.slideshow.animations = Animations;
+
+ // Listen for messages from the vimeo player
+ window.addEventListener('message', function onMessageReceived(e) {
+
+ var data = e.data, iframe;
+
+ if (typeof(data) == 'string') {
+
+ try {
+ data = JSON.parse(data);
+ } catch(err) {
+ data = {};
+ }
+ }
+
+ if (e.origin && e.origin.indexOf('vimeo') > -1 && data.event == 'ready' && data.player_id) {
+ iframe = UI.$('[data-player-id="'+ data.player_id+'"]');
+
+ if (iframe.length) {
+ iframe.data('slideshow').mutemedia(iframe);
+ }
+ }
+ }, false);
+
+});
diff --git a/uikit/static/js/components/slideshow.min.js b/uikit/static/js/components/slideshow.min.js
new file mode 100644
index 0000000..e7af4f0
--- /dev/null
+++ b/uikit/static/js/components/slideshow.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(i){var s;window.UIkit&&(s=i(UIkit)),"function"==typeof define&&define.amd&&define("uikit-slideshow",["uikit"],function(){return s||i(UIkit)})}(function(i){"use strict";var s,t=0;i.component("slideshow",{defaults:{animation:"fade",duration:500,height:"auto",start:0,autoplay:!1,autoplayInterval:7e3,videoautoplay:!0,videomute:!0,slices:15,pauseOnHover:!0,kenburns:!1,kenburnsanimations:["uk-animation-middle-left","uk-animation-top-right","uk-animation-bottom-left","uk-animation-top-center","","uk-animation-bottom-right"]},current:!1,interval:null,hovering:!1,boot:function(){i.ready(function(s){i.$("[data-uk-slideshow]",s).each(function(){var s=i.$(this);if(!s.data("slideshow")){i.slideshow(s,i.Utils.options(s.attr("data-uk-slideshow")))}})})},init:function(){var s,e,n=this;this.container=this.element.hasClass("uk-slideshow")?this.element:i.$(this.find(".uk-slideshow")),this.slides=this.container.children(),this.slidesCount=this.slides.length,this.current=this.options.start,this.animating=!1,this.triggers=this.find("[data-uk-slideshow-item]"),this.fixFullscreen=navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&this.container.hasClass("uk-slideshow-fullscreen"),this.options.kenburns&&(e=this.options.kenburns===!0?"15s":this.options.kenburns,String(e).match(/(ms|s)$/)||(e+="ms"),"string"==typeof this.options.kenburnsanimations&&(this.options.kenburnsanimations=this.options.kenburnsanimations.split(","))),this.slides.each(function(a){var o=i.$(this),r=o.children("img,video,iframe").eq(0);if(o.data("media",r),o.data("sizer",r),r.length){var d;switch(r[0].nodeName){case"IMG":var u=i.$('<div class="uk-cover-background uk-position-cover"></div>').css({"background-image":"url("+r.attr("src")+")"});r.css({width:"100%",height:"auto"}),o.prepend(u).data("cover",u);break;case"IFRAME":var h=r[0].src,c="sw-"+ ++t;r.attr("src","").on("load",function(){if((a!==n.current||a==n.current&&!n.options.videoautoplay)&&n.pausemedia(r),n.options.videomute){n.mutemedia(r);var i=setInterval(function(s){return function(){n.mutemedia(r),++s>=4&&clearInterval(i)}}(0),250)}}).data("slideshow",n).attr("data-player-id",c).attr("src",[h,h.indexOf("?")>-1?"&":"?","enablejsapi=1&api=1&player_id="+c].join("")).addClass("uk-position-absolute"),i.support.touch||r.css("pointer-events","none"),d=!0,i.cover&&(i.cover(r),r.attr("data-uk-cover","{}"));break;case"VIDEO":r.addClass("uk-cover-object uk-position-absolute"),d=!0,n.options.videomute&&n.mutemedia(r)}if(d){s=i.$("<canvas></canvas>").attr({width:r[0].width,height:r[0].height});var l=i.$('<img style="width:100%;height:auto;">').attr("src",s[0].toDataURL());o.prepend(l),o.data("sizer",l)}}else o.data("sizer",o);n.hasKenBurns(o)&&o.data("cover").css({"-webkit-animation-duration":e,"animation-duration":e})}),this.on("click.uikit.slideshow","[data-uk-slideshow-item]",function(s){s.preventDefault();var t=i.$(this).attr("data-uk-slideshow-item");if(n.current!=t){switch(t){case"next":case"previous":n["next"==t?"next":"previous"]();break;default:n.show(parseInt(t,10))}n.stop()}}),this.slides.attr("aria-hidden","true").eq(this.current).addClass("uk-active").attr("aria-hidden","false"),this.triggers.filter('[data-uk-slideshow-item="'+this.current+'"]').addClass("uk-active"),i.$win.on("resize load",i.Utils.debounce(function(){n.resize(),n.fixFullscreen&&(n.container.css("height",window.innerHeight),n.slides.css("height",window.innerHeight))},100)),setTimeout(function(){n.resize()},80),this.options.autoplay&&this.start(),this.options.videoautoplay&&this.slides.eq(this.current).data("media")&&this.playmedia(this.slides.eq(this.current).data("media")),this.options.kenburns&&this.applyKenBurns(this.slides.eq(this.current)),this.container.on({mouseenter:function(){n.options.pauseOnHover&&(n.hovering=!0)},mouseleave:function(){n.hovering=!1}}),this.on("swipeRight swipeLeft",function(i){n["swipeLeft"==i.type?"next":"previous"]()}),this.on("display.uk.check",function(){n.element.is(":visible")&&(n.resize(),n.fixFullscreen&&(n.container.css("height",window.innerHeight),n.slides.css("height",window.innerHeight)))})},resize:function(){if(!this.container.hasClass("uk-slideshow-fullscreen")){var s=this.options.height;"auto"===this.options.height&&(s=0,this.slides.css("height","").each(function(){s=Math.max(s,i.$(this).height())})),this.container.css("height",s),this.slides.css("height",s)}},show:function(t,e){if(!this.animating&&this.current!=t){this.animating=!0;var n=this,a=this.slides.eq(this.current),o=this.slides.eq(t),r=e?e:this.current<t?-1:1,d=a.data("media"),u=s[this.options.animation]?this.options.animation:"fade",h=o.data("media"),c=function(){n.animating&&(d&&d.is("video,iframe")&&n.pausemedia(d),h&&h.is("video,iframe")&&n.playmedia(h),o.addClass("uk-active").attr("aria-hidden","false"),a.removeClass("uk-active").attr("aria-hidden","true"),n.animating=!1,n.current=t,i.Utils.checkDisplay(o,'[class*="uk-animation-"]:not(.uk-cover-background.uk-position-cover)'),n.trigger("show.uk.slideshow",[o]))};n.applyKenBurns(o),i.support.animation||(u="none"),a=i.$(a),o=i.$(o),s[u].apply(this,[a,o,r]).then(c),n.triggers.removeClass("uk-active"),n.triggers.filter('[data-uk-slideshow-item="'+t+'"]').addClass("uk-active")}},applyKenBurns:function(i){if(this.hasKenBurns(i)){var s=this.options.kenburnsanimations,t=this.kbindex||0;i.data("cover").attr("class","uk-cover-background uk-position-cover").width(),i.data("cover").addClass(["uk-animation-scale","uk-animation-reverse",s[t].trim()].join(" ")),this.kbindex=s[t+1]?t+1:0}},hasKenBurns:function(i){return this.options.kenburns&&i.data("cover")},next:function(){this.show(this.slides[this.current+1]?this.current+1:0)},previous:function(){this.show(this.slides[this.current-1]?this.current-1:this.slides.length-1)},start:function(){this.stop();var i=this;this.interval=setInterval(function(){i.hovering||i.next()},this.options.autoplayInterval)},stop:function(){this.interval&&clearInterval(this.interval)},playmedia:function(i){if(i&&i[0])switch(i[0].nodeName){case"VIDEO":this.options.videomute||(i[0].muted=!1),i[0].play();break;case"IFRAME":this.options.videomute||i[0].contentWindow.postMessage('{ "event": "command", "func": "unmute", "method":"setVolume", "value":1}',"*"),i[0].contentWindow.postMessage('{ "event": "command", "func": "playVideo", "method":"play"}',"*")}},pausemedia:function(i){switch(i[0].nodeName){case"VIDEO":i[0].pause();break;case"IFRAME":i[0].contentWindow.postMessage('{ "event": "command", "func": "pauseVideo", "method":"pause"}',"*")}},mutemedia:function(i){switch(i[0].nodeName){case"VIDEO":i[0].muted=!0;break;case"IFRAME":i[0].contentWindow.postMessage('{ "event": "command", "func": "mute", "method":"setVolume", "value":0}',"*")}}}),s={none:function(){var s=i.$.Deferred();return s.resolve(),s.promise()},scroll:function(s,t,e){var n=i.$.Deferred();return s.css("animation-duration",this.options.duration+"ms"),t.css("animation-duration",this.options.duration+"ms"),t.css("opacity",1).one(i.support.animation.end,function(){s.removeClass(1===e?"uk-slideshow-scroll-backward-out":"uk-slideshow-scroll-forward-out"),t.css("opacity","").removeClass(1===e?"uk-slideshow-scroll-backward-in":"uk-slideshow-scroll-forward-in"),n.resolve()}.bind(this)),s.addClass(1==e?"uk-slideshow-scroll-backward-out":"uk-slideshow-scroll-forward-out"),t.addClass(1==e?"uk-slideshow-scroll-backward-in":"uk-slideshow-scroll-forward-in"),t.width(),n.promise()},swipe:function(s,t,e){var n=i.$.Deferred();return s.css("animation-duration",this.options.duration+"ms"),t.css("animation-duration",this.options.duration+"ms"),t.css("opacity",1).one(i.support.animation.end,function(){s.removeClass(1===e?"uk-slideshow-swipe-backward-out":"uk-slideshow-swipe-forward-out"),t.css("opacity","").removeClass(1===e?"uk-slideshow-swipe-backward-in":"uk-slideshow-swipe-forward-in"),n.resolve()}.bind(this)),s.addClass(1==e?"uk-slideshow-swipe-backward-out":"uk-slideshow-swipe-forward-out"),t.addClass(1==e?"uk-slideshow-swipe-backward-in":"uk-slideshow-swipe-forward-in"),t.width(),n.promise()},scale:function(s,t){var e=i.$.Deferred();return s.css("animation-duration",this.options.duration+"ms"),t.css("animation-duration",this.options.duration+"ms"),t.css("opacity",1),s.one(i.support.animation.end,function(){s.removeClass("uk-slideshow-scale-out"),t.css("opacity",""),e.resolve()}.bind(this)),s.addClass("uk-slideshow-scale-out"),s.width(),e.promise()},fade:function(s,t){var e=i.$.Deferred();return s.css("animation-duration",this.options.duration+"ms"),t.css("animation-duration",this.options.duration+"ms"),t.css("opacity",1),s.one(i.support.animation.end,function(){s.removeClass("uk-slideshow-fade-out"),t.css("opacity",""),e.resolve()}.bind(this)),s.addClass("uk-slideshow-fade-out"),s.width(),e.promise()}},i.slideshow.animations=s,window.addEventListener("message",function(s){var t,e=s.data;if("string"==typeof e)try{e=JSON.parse(e)}catch(n){e={}}s.origin&&s.origin.indexOf("vimeo")>-1&&"ready"==e.event&&e.player_id&&(t=i.$('[data-player-id="'+e.player_id+'"]'),t.length&&t.data("slideshow").mutemedia(t))},!1)}); \ No newline at end of file
diff --git a/uikit/static/js/components/sortable.js b/uikit/static/js/components/sortable.js
new file mode 100644
index 0000000..37a369b
--- /dev/null
+++ b/uikit/static/js/components/sortable.js
@@ -0,0 +1,643 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+/*
+ * Based on nativesortable - Copyright (c) Brian Grinstead - https://github.com/bgrins/nativesortable
+ */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-sortable", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ var supportsTouch = ('ontouchstart' in window) || (window.DocumentTouch && document instanceof DocumentTouch),
+ draggingPlaceholder, currentlyDraggingElement, currentlyDraggingTarget, dragging, moving, clickedlink, delayIdle, touchedlists, moved;
+
+ function closestSortable(ele) {
+
+ ele = UI.$(ele);
+
+ do {
+ if (ele.data('sortable')) {
+ return ele;
+ }
+ ele = UI.$(ele).parent();
+ } while(ele.length);
+
+ return ele;
+ }
+
+ UI.component('sortable', {
+
+ defaults: {
+
+ animation : 150,
+ threshold : 10,
+
+ childClass : 'uk-sortable-item',
+ placeholderClass : 'uk-sortable-placeholder',
+ overClass : 'uk-sortable-over',
+ draggingClass : 'uk-sortable-dragged',
+ dragMovingClass : 'uk-sortable-moving',
+ baseClass : 'uk-sortable',
+ noDragClass : 'uk-sortable-nodrag',
+ dragCustomClass : '',
+ handleClass : false,
+ group : false,
+
+ stop : function() {},
+ start : function() {},
+ change : function() {}
+ },
+
+ boot: function() {
+
+ // auto init
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-sortable]", context).each(function(){
+
+ var ele = UI.$(this);
+
+ if(!ele.data("sortable")) {
+ var plugin = UI.sortable(ele, UI.Utils.options(ele.attr("data-uk-sortable")));
+ }
+ });
+ });
+
+ UI.$html.on('mousemove touchmove', function(e) {
+
+ if (delayIdle) {
+
+ var src = e.originalEvent.targetTouches ? e.originalEvent.targetTouches[0] : e;
+
+ if (Math.abs(src.pageX - delayIdle.pos.x) > delayIdle.threshold || Math.abs(src.pageY - delayIdle.pos.y) > delayIdle.threshold) {
+ delayIdle.apply(src);
+ }
+ }
+
+ if (draggingPlaceholder) {
+
+ if (!moving) {
+ moving = true;
+ draggingPlaceholder.show();
+
+ draggingPlaceholder.$current.addClass(draggingPlaceholder.$sortable.options.placeholderClass);
+ draggingPlaceholder.$sortable.element.children().addClass(draggingPlaceholder.$sortable.options.childClass);
+
+ UI.$html.addClass(draggingPlaceholder.$sortable.options.dragMovingClass);
+ }
+
+ var offset = draggingPlaceholder.data('mouse-offset'),
+ left = parseInt(e.originalEvent.pageX, 10) + offset.left,
+ top = parseInt(e.originalEvent.pageY, 10) + offset.top;
+
+ draggingPlaceholder.css({'left': left, 'top': top });
+
+ // adjust document scrolling
+ if (top < UI.$win.scrollTop()) {
+ UI.$win.scrollTop(UI.$win.scrollTop() - Math.ceil(draggingPlaceholder.height()/2));
+ } else if ( (top + draggingPlaceholder.height()) > (window.innerHeight + UI.$win.scrollTop()) ) {
+ UI.$win.scrollTop(UI.$win.scrollTop() + Math.ceil(draggingPlaceholder.height()/2));
+ }
+ }
+ });
+
+ UI.$html.on('mouseup touchend', function(e) {
+
+ delayIdle = clickedlink = false;
+
+ // dragging?
+ if (!currentlyDraggingElement || !draggingPlaceholder) {
+ // completely reset dragging attempt. will cause weird delay behavior elsewise
+ currentlyDraggingElement = draggingPlaceholder = null;
+ return;
+ }
+
+ // inside or outside of sortable?
+ var sortable = closestSortable(e.target),
+ component = draggingPlaceholder.$sortable,
+ ev = { type: e.type };
+
+ if (sortable[0]) {
+ component.dragDrop(ev, component.element);
+ }
+ component.dragEnd(ev, component.element);
+ });
+ },
+
+ init: function() {
+
+ var $this = this,
+ element = this.element[0],
+ children;
+
+ touchedlists = [];
+
+ // make sure :empty selector works on empty lists
+ if (this.element.children().length === 0) {
+ this.element.html('');
+ }
+
+ this.element.data('sortable-group', this.options.group ? this.options.group : UI.Utils.uid('sortable-group'));
+
+ var handleDragStart = delegate(function(e) {
+
+ var $target = UI.$(e.target),
+ $link = $target.is('a[href]') ? $target:$target.parents('a[href]');
+
+ if ($target.is(':input')) {
+ return;
+ }
+
+ e.preventDefault();
+
+ if (!supportsTouch && $link.length) {
+
+ $link.one('click', function(e){
+ e.preventDefault();
+ }).one('mouseup', function(){
+ if(!moved) $link.trigger('click');
+ });
+ }
+
+ return $this.dragStart(e, this);
+ });
+
+ var handleDragOver = delegate(function(e) {
+
+ if (!currentlyDraggingElement) {
+ return true;
+ }
+
+ if (e.preventDefault) {
+ e.preventDefault();
+ }
+
+ return false;
+ });
+
+ var handleDragEnter = delegate(UI.Utils.debounce(function(e) {
+ return $this.dragEnter(e, this);
+ }), 40);
+
+ var handleDragLeave = delegate(function(e) {
+
+ // Prevent dragenter on a child from allowing a dragleave on the container
+ var previousCounter = $this.dragenterData(this);
+ $this.dragenterData(this, previousCounter - 1);
+
+ // This is a fix for child elements firing dragenter before the parent fires dragleave
+ if (!$this.dragenterData(this)) {
+ UI.$(this).removeClass($this.options.overClass);
+ $this.dragenterData(this, false);
+ }
+ });
+
+ var handleTouchMove = delegate(function(e) {
+
+ if (!currentlyDraggingElement ||
+ currentlyDraggingElement === this ||
+ currentlyDraggingTarget === this) {
+ return true;
+ }
+
+ $this.element.children().removeClass($this.options.overClass);
+ currentlyDraggingTarget = this;
+
+ $this.moveElementNextTo(currentlyDraggingElement, this);
+
+ return prevent(e);
+ });
+
+ // Bind/unbind standard mouse/touch events as a polyfill.
+ function addDragHandlers() {
+ if (supportsTouch) {
+ element.addEventListener("touchmove", handleTouchMove, false);
+ } else {
+ element.addEventListener('mouseover', handleDragEnter, false);
+ element.addEventListener('mouseout', handleDragLeave, false);
+ }
+
+ // document.addEventListener("selectstart", prevent, false);
+ }
+
+ function removeDragHandlers() {
+ if (supportsTouch) {
+ element.removeEventListener("touchmove", handleTouchMove, false);
+ } else {
+ element.removeEventListener('mouseover', handleDragEnter, false);
+ element.removeEventListener('mouseout', handleDragLeave, false);
+ }
+
+ // document.removeEventListener("selectstart", prevent, false);
+ }
+
+ this.addDragHandlers = addDragHandlers;
+ this.removeDragHandlers = removeDragHandlers;
+
+ function handleDragMove(e) {
+
+ if (!currentlyDraggingElement) {
+ return;
+ }
+
+ $this.dragMove(e, $this);
+ }
+
+ function delegate(fn) {
+
+ return function(e) {
+
+ var touch, target, context;
+
+ if (e) {
+ touch = (supportsTouch && e.touches && e.touches[0]) || { };
+ target = touch.target || e.target;
+
+ // Fix event.target for a touch event
+ if (supportsTouch && document.elementFromPoint) {
+ target = document.elementFromPoint(e.pageX - document.body.scrollLeft, e.pageY - document.body.scrollTop);
+ }
+ }
+
+ if (UI.$(target).hasClass($this.options.childClass)) {
+ fn.apply(target, [e]);
+ } else if (target !== element) {
+
+ // If a child is initiating the event or ending it, then use the container as context for the callback.
+ context = moveUpToChildNode(element, target);
+
+ if (context) {
+ fn.apply(context, [e]);
+ }
+ }
+ };
+ }
+
+ window.addEventListener(supportsTouch ? 'touchmove' : 'mousemove', handleDragMove, false);
+ element.addEventListener(supportsTouch ? 'touchstart': 'mousedown', handleDragStart, false);
+ },
+
+ dragStart: function(e, elem) {
+
+ moved = false;
+ moving = false;
+ dragging = false;
+
+ var $this = this,
+ target = UI.$(e.target),
+ children = $this.element.children();
+
+ if (!supportsTouch && e.button==2) {
+ return;
+ }
+
+ if ($this.options.handleClass) {
+
+ var handle = target.hasClass($this.options.handleClass) ? target : target.closest('.'+$this.options.handleClass, $this.element);
+
+ if (!handle.length) {
+ //e.preventDefault();
+ return;
+ }
+ }
+
+ if (target.is('.'+$this.options.noDragClass) || target.closest('.'+$this.options._noDragClass).length) {
+ return;
+ }
+
+ // prevent dragging if taget is a form field
+ if (target.is(':input')) {
+ return;
+ }
+
+ currentlyDraggingElement = elem;
+
+ // init drag placeholder
+ if (draggingPlaceholder) {
+ draggingPlaceholder.remove();
+ }
+
+ var $current = UI.$(currentlyDraggingElement), offset = $current.offset();
+
+ delayIdle = {
+
+ pos : { x:e.pageX, y:e.pageY },
+ threshold : $this.options.threshold,
+ apply : function(evt) {
+
+ draggingPlaceholder = UI.$('<div class="'+([$this.options.draggingClass, $this.options.dragCustomClass].join(' '))+'"></div>').css({
+ display : 'none',
+ top : offset.top,
+ left : offset.left,
+ width : $current.width(),
+ height : $current.height(),
+ padding : $current.css('padding')
+ }).data({
+ 'mouse-offset': {
+ 'left' : offset.left - parseInt(evt.pageX, 10),
+ 'top' : offset.top - parseInt(evt.pageY, 10)
+ },
+ 'origin' : $this.element,
+ 'index' : $current.index()
+ }).append($current.html()).appendTo('body');
+
+ draggingPlaceholder.$current = $current;
+ draggingPlaceholder.$sortable = $this;
+ $current.data('sortable-group', $this.options.group);
+
+ $this.addDragHandlers();
+
+ $this.options.start(this, currentlyDraggingElement);
+ $this.trigger('start.uk.sortable', [$this, currentlyDraggingElement]);
+
+ moved = true;
+ delayIdle = false;
+ }
+ };
+ },
+
+ dragMove: function(e, elem) {
+ var overEl = UI.$(document.elementFromPoint(e.pageX - document.body.scrollLeft, e.pageY - (window.pageYOffset || document.documentElement.scrollTop))),
+ overRoot = overEl.closest('.'+this.options.baseClass),
+ groupOver = overRoot.data("sortable-group"),
+ $current = UI.$(currentlyDraggingElement),
+ currentRoot = $current.parent(),
+ groupCurrent = $current.data("sortable-group"),
+ overChild;
+
+ if (overRoot[0] !== currentRoot[0] && groupCurrent !== undefined && groupOver === groupCurrent) {
+ overRoot.data('sortable').addDragHandlers();
+
+ touchedlists.push(overRoot);
+ overRoot.children().addClass(this.options.childClass);
+
+ // swap root
+ if (overRoot.children().length > 0) {
+ overChild = overEl.closest('.'+this.options.childClass);
+ overChild.before($current);
+ } else { // empty list
+ overEl.append($current);
+ }
+
+ // list empty? remove inner whitespace to make sure :empty selector works
+ if (currentRoot.children().length === 0) {
+ currentRoot.html('');
+ }
+
+ UIkit.$doc.trigger('mouseover');
+ }
+ },
+
+ dragEnter: function(e, elem) {
+
+ if (!currentlyDraggingElement || currentlyDraggingElement === elem) {
+ return true;
+ }
+
+ // Prevent dragenter on a child from allowing a dragleave on the container
+ var previousCounter = this.dragenterData(elem);
+
+ this.dragenterData(elem, previousCounter + 1);
+
+ if (previousCounter === 0) {
+
+ UI.$(elem).addClass(this.options.overClass);
+
+ this.moveElementNextTo(currentlyDraggingElement, elem);
+ }
+
+ return false;
+ },
+
+ dragEnd: function(e, elem) {
+
+ var $this = this;
+
+ // avoid triggering event twice
+ if (currentlyDraggingElement) {
+ // TODO: trigger on right element?
+ this.options.stop(elem);
+ this.trigger('stop.uk.sortable', [this]);
+ }
+
+ currentlyDraggingElement = null;
+ currentlyDraggingTarget = null;
+
+ touchedlists.push(this.element);
+ touchedlists.forEach(function(el, i) {
+ UI.$(el).children().each(function() {
+ if (this.nodeType === 1) {
+ UI.$(this).removeClass($this.options.overClass)
+ .removeClass($this.options.placeholderClass)
+ .removeClass($this.options.childClass);
+ $this.dragenterData(this, false);
+ }
+ });
+ });
+
+ touchedlists = [];
+
+ UI.$html.removeClass(this.options.dragMovingClass);
+
+ this.removeDragHandlers();
+
+ if (draggingPlaceholder) {
+ draggingPlaceholder.remove();
+ draggingPlaceholder = null;
+ }
+ },
+
+ dragDrop: function(e, elem) {
+
+ if (e.type === 'drop') {
+
+ if (e.stopPropagation) {
+ e.stopPropagation();
+ }
+
+ if (e.preventDefault) {
+ e.preventDefault();
+ }
+ }
+
+ this.triggerChangeEvents();
+ },
+
+ triggerChangeEvents: function() {
+
+ // trigger events once
+ if (!currentlyDraggingElement) return;
+
+ var $current = UI.$(currentlyDraggingElement),
+ oldRoot = draggingPlaceholder.data("origin"),
+ newRoot = $current.closest('.'+this.options.baseClass),
+ triggers = [];
+
+ // events depending on move inside lists or across lists
+ if (oldRoot[0] === newRoot[0] && draggingPlaceholder.data('index') != $current.index() ) {
+ triggers.push({el: this, mode: 'moved'});
+ } else if (oldRoot[0] != newRoot[0]) {
+ triggers.push({el: newRoot, mode: 'added'}, {el: oldRoot, mode: 'removed'});
+ }
+
+ triggers.forEach(function (trigger, i) {
+ trigger.el.trigger('change.uk.sortable', [trigger.el, currentlyDraggingElement, trigger.mode]);
+ });
+ },
+
+ dragenterData: function(element, val) {
+
+ element = UI.$(element);
+
+ if (arguments.length == 1) {
+ return parseInt(element.data('child-dragenter'), 10) || 0;
+ } else if (!val) {
+ element.removeData('child-dragenter');
+ } else {
+ element.data('child-dragenter', Math.max(0, val));
+ }
+ },
+
+ moveElementNextTo: function(element, elementToMoveNextTo) {
+
+ dragging = true;
+
+ var $this = this,
+ list = UI.$(element).parent().css('min-height', ''),
+ next = isBelow(element, elementToMoveNextTo) ? elementToMoveNextTo : elementToMoveNextTo.nextSibling,
+ children = list.children(),
+ count = children.length;
+
+ if (!$this.options.animation) {
+ elementToMoveNextTo.parentNode.insertBefore(element, next);
+ UI.Utils.checkDisplay($this.element.parent());
+ return;
+ }
+
+ list.css('min-height', list.height());
+
+ children.stop().each(function(){
+ var ele = UI.$(this),
+ offset = ele.position();
+
+ offset.width = ele.width();
+
+ ele.data('offset-before', offset);
+ });
+
+ elementToMoveNextTo.parentNode.insertBefore(element, next);
+
+ UI.Utils.checkDisplay($this.element.parent());
+
+ children = list.children().each(function() {
+ var ele = UI.$(this);
+ ele.data('offset-after', ele.position());
+ }).each(function() {
+ var ele = UI.$(this),
+ before = ele.data('offset-before');
+ ele.css({'position':'absolute', 'top':before.top, 'left':before.left, 'min-width':before.width });
+ });
+
+ children.each(function(){
+
+ var ele = UI.$(this),
+ before = ele.data('offset-before'),
+ offset = ele.data('offset-after');
+
+ ele.css('pointer-events', 'none').width();
+
+ setTimeout(function(){
+ ele.animate({'top':offset.top, 'left':offset.left}, $this.options.animation, function() {
+ ele.css({'position':'','top':'', 'left':'', 'min-width': '', 'pointer-events':''}).removeClass($this.options.overClass).removeData('child-dragenter');
+ count--;
+ if (!count) {
+ list.css('min-height', '');
+ UI.Utils.checkDisplay($this.element.parent());
+ }
+ });
+ }, 0);
+ });
+ },
+
+ serialize: function() {
+
+ var data = [], item, attribute;
+
+ this.element.children().each(function(j, child) {
+ item = {};
+ for (var i = 0; i < child.attributes.length; i++) {
+ attribute = child.attributes[i];
+ if (attribute.name.indexOf('data-') === 0) {
+ item[attribute.name.substr(5)] = UI.Utils.str2json(attribute.value);
+ }
+ }
+ data.push(item);
+ });
+
+ return data;
+ }
+ });
+
+ // helpers
+
+ function isBelow(el1, el2) {
+
+ var parent = el1.parentNode;
+
+ if (el2.parentNode != parent) {
+ return false;
+ }
+
+ var cur = el1.previousSibling;
+
+ while (cur && cur.nodeType !== 9) {
+ if (cur === el2) {
+ return true;
+ }
+ cur = cur.previousSibling;
+ }
+
+ return false;
+ }
+
+ function moveUpToChildNode(parent, child) {
+ var cur = child;
+ if (cur == parent) { return null; }
+
+ while (cur) {
+ if (cur.parentNode === parent) {
+ return cur;
+ }
+
+ cur = cur.parentNode;
+ if ( !cur || !cur.ownerDocument || cur.nodeType === 11 ) {
+ break;
+ }
+ }
+ return null;
+ }
+
+ function prevent(e) {
+ if (e.stopPropagation) {
+ e.stopPropagation();
+ }
+ if (e.preventDefault) {
+ e.preventDefault();
+ }
+ e.returnValue = false;
+ }
+
+ return UI.sortable;
+});
diff --git a/uikit/static/js/components/sortable.min.js b/uikit/static/js/components/sortable.min.js
new file mode 100644
index 0000000..7bd90d7
--- /dev/null
+++ b/uikit/static/js/components/sortable.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var e;window.UIkit&&(e=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-sortable",["uikit"],function(){return e||t(UIkit)})}(function(t){"use strict";function e(e){e=t.$(e);do{if(e.data("sortable"))return e;e=t.$(e).parent()}while(e.length);return e}function o(t,e){var o=t.parentNode;if(e.parentNode!=o)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 o=e;if(o==t)return null;for(;o;){if(o.parentNode===t)return o;if(o=o.parentNode,!o||!o.ownerDocument||11===o.nodeType)break}return null}function a(t){t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),t.returnValue=!1}var s,r,i,l,d,h,u,p,c,g="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch;return t.component("sortable",{defaults:{animation:150,threshold:10,childClass:"uk-sortable-item",placeholderClass:"uk-sortable-placeholder",overClass:"uk-sortable-over",draggingClass:"uk-sortable-dragged",dragMovingClass:"uk-sortable-moving",baseClass:"uk-sortable",noDragClass:"uk-sortable-nodrag",dragCustomClass:"",handleClass:!1,group:!1,stop:function(){},start:function(){},change:function(){}},boot:function(){t.ready(function(e){t.$("[data-uk-sortable]",e).each(function(){var e=t.$(this);if(!e.data("sortable")){t.sortable(e,t.Utils.options(e.attr("data-uk-sortable")))}})}),t.$html.on("mousemove touchmove",function(e){if(u){var o=e.originalEvent.targetTouches?e.originalEvent.targetTouches[0]:e;(Math.abs(o.pageX-u.pos.x)>u.threshold||Math.abs(o.pageY-u.pos.y)>u.threshold)&&u.apply(o)}if(s){d||(d=!0,s.show(),s.$current.addClass(s.$sortable.options.placeholderClass),s.$sortable.element.children().addClass(s.$sortable.options.childClass),t.$html.addClass(s.$sortable.options.dragMovingClass));var n=s.data("mouse-offset"),a=parseInt(e.originalEvent.pageX,10)+n.left,r=parseInt(e.originalEvent.pageY,10)+n.top;s.css({left:a,top:r}),r<t.$win.scrollTop()?t.$win.scrollTop(t.$win.scrollTop()-Math.ceil(s.height()/2)):r+s.height()>window.innerHeight+t.$win.scrollTop()&&t.$win.scrollTop(t.$win.scrollTop()+Math.ceil(s.height()/2))}}),t.$html.on("mouseup touchend",function(t){if(u=h=!1,!r||!s)return r=s=null,void 0;var o=e(t.target),n=s.$sortable,a={type:t.type};o[0]&&n.dragDrop(a,n.element),n.dragEnd(a,n.element)})},init:function(){function e(){g?h.addEventListener("touchmove",v,!1):(h.addEventListener("mouseover",f,!1),h.addEventListener("mouseout",m,!1))}function o(){g?h.removeEventListener("touchmove",v,!1):(h.removeEventListener("mouseover",f,!1),h.removeEventListener("mouseout",m,!1))}function s(t){r&&d.dragMove(t,d)}function l(e){return function(o){var a,s,r;o&&(a=g&&o.touches&&o.touches[0]||{},s=a.target||o.target,g&&document.elementFromPoint&&(s=document.elementFromPoint(o.pageX-document.body.scrollLeft,o.pageY-document.body.scrollTop))),t.$(s).hasClass(d.options.childClass)?e.apply(s,[o]):s!==h&&(r=n(h,s),r&&e.apply(r,[o]))}}var d=this,h=this.element[0];p=[],0===this.element.children().length&&this.element.html(""),this.element.data("sortable-group",this.options.group?this.options.group:t.Utils.uid("sortable-group"));var u=l(function(e){var o=t.$(e.target),n=o.is("a[href]")?o:o.parents("a[href]");if(!o.is(":input"))return e.preventDefault(),!g&&n.length&&n.one("click",function(t){t.preventDefault()}).one("mouseup",function(){c||n.trigger("click")}),d.dragStart(e,this)}),f=(l(function(t){return r?(t.preventDefault&&t.preventDefault(),!1):!0}),l(t.Utils.debounce(function(t){return d.dragEnter(t,this)}),40)),m=l(function(){var e=d.dragenterData(this);d.dragenterData(this,e-1),d.dragenterData(this)||(t.$(this).removeClass(d.options.overClass),d.dragenterData(this,!1))}),v=l(function(t){return r&&r!==this&&i!==this?(d.element.children().removeClass(d.options.overClass),i=this,d.moveElementNextTo(r,this),a(t)):!0});this.addDragHandlers=e,this.removeDragHandlers=o,window.addEventListener(g?"touchmove":"mousemove",s,!1),h.addEventListener(g?"touchstart":"mousedown",u,!1)},dragStart:function(e,o){c=!1,d=!1,l=!1;{var n=this,a=t.$(e.target);n.element.children()}if(g||2!=e.button){if(n.options.handleClass){var i=a.hasClass(n.options.handleClass)?a:a.closest("."+n.options.handleClass,n.element);if(!i.length)return}if(!a.is("."+n.options.noDragClass)&&!a.closest("."+n.options._noDragClass).length&&!a.is(":input")){r=o,s&&s.remove();var h=t.$(r),p=h.offset();u={pos:{x:e.pageX,y:e.pageY},threshold:n.options.threshold,apply:function(e){s=t.$('<div class="'+[n.options.draggingClass,n.options.dragCustomClass].join(" ")+'"></div>').css({display:"none",top:p.top,left:p.left,width:h.width(),height:h.height(),padding:h.css("padding")}).data({"mouse-offset":{left:p.left-parseInt(e.pageX,10),top:p.top-parseInt(e.pageY,10)},origin:n.element,index:h.index()}).append(h.html()).appendTo("body"),s.$current=h,s.$sortable=n,h.data("sortable-group",n.options.group),n.addDragHandlers(),n.options.start(this,r),n.trigger("start.uk.sortable",[n,r]),c=!0,u=!1}}}}},dragMove:function(e){var o,n=t.$(document.elementFromPoint(e.pageX-document.body.scrollLeft,e.pageY-(window.pageYOffset||document.documentElement.scrollTop))),a=n.closest("."+this.options.baseClass),s=a.data("sortable-group"),i=t.$(r),l=i.parent(),d=i.data("sortable-group");a[0]!==l[0]&&void 0!==d&&s===d&&(a.data("sortable").addDragHandlers(),p.push(a),a.children().addClass(this.options.childClass),a.children().length>0?(o=n.closest("."+this.options.childClass),o.before(i)):n.append(i),0===l.children().length&&l.html(""),UIkit.$doc.trigger("mouseover"))},dragEnter:function(e,o){if(!r||r===o)return!0;var n=this.dragenterData(o);return this.dragenterData(o,n+1),0===n&&(t.$(o).addClass(this.options.overClass),this.moveElementNextTo(r,o)),!1},dragEnd:function(e,o){var n=this;r&&(this.options.stop(o),this.trigger("stop.uk.sortable",[this])),r=null,i=null,p.push(this.element),p.forEach(function(e){t.$(e).children().each(function(){1===this.nodeType&&(t.$(this).removeClass(n.options.overClass).removeClass(n.options.placeholderClass).removeClass(n.options.childClass),n.dragenterData(this,!1))})}),p=[],t.$html.removeClass(this.options.dragMovingClass),this.removeDragHandlers(),s&&(s.remove(),s=null)},dragDrop:function(t){"drop"===t.type&&(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault()),this.triggerChangeEvents()},triggerChangeEvents:function(){if(r){var e=t.$(r),o=s.data("origin"),n=e.closest("."+this.options.baseClass),a=[];o[0]===n[0]&&s.data("index")!=e.index()?a.push({el:this,mode:"moved"}):o[0]!=n[0]&&a.push({el:n,mode:"added"},{el:o,mode:"removed"}),a.forEach(function(t){t.el.trigger("change.uk.sortable",[t.el,r,t.mode])})}},dragenterData:function(e,o){return e=t.$(e),1==arguments.length?parseInt(e.data("child-dragenter"),10)||0:(o?e.data("child-dragenter",Math.max(0,o)):e.removeData("child-dragenter"),void 0)},moveElementNextTo:function(e,n){l=!0;var a=this,s=t.$(e).parent().css("min-height",""),r=o(e,n)?n:n.nextSibling,i=s.children(),d=i.length;return a.options.animation?(s.css("min-height",s.height()),i.stop().each(function(){var e=t.$(this),o=e.position();o.width=e.width(),e.data("offset-before",o)}),n.parentNode.insertBefore(e,r),t.Utils.checkDisplay(a.element.parent()),i=s.children().each(function(){var e=t.$(this);e.data("offset-after",e.position())}).each(function(){var e=t.$(this),o=e.data("offset-before");e.css({position:"absolute",top:o.top,left:o.left,"min-width":o.width})}),i.each(function(){var e=t.$(this),o=(e.data("offset-before"),e.data("offset-after"));e.css("pointer-events","none").width(),setTimeout(function(){e.animate({top:o.top,left:o.left},a.options.animation,function(){e.css({position:"",top:"",left:"","min-width":"","pointer-events":""}).removeClass(a.options.overClass).removeData("child-dragenter"),d--,d||(s.css("min-height",""),t.Utils.checkDisplay(a.element.parent()))})},0)}),void 0):(n.parentNode.insertBefore(e,r),t.Utils.checkDisplay(a.element.parent()),void 0)},serialize:function(){var e,o,n=[];return this.element.children().each(function(a,s){e={};for(var r=0;r<s.attributes.length;r++)o=s.attributes[r],0===o.name.indexOf("data-")&&(e[o.name.substr(5)]=t.Utils.str2json(o.value));n.push(e)}),n}}),t.sortable}); \ No newline at end of file
diff --git a/uikit/static/js/components/sticky.js b/uikit/static/js/components/sticky.js
new file mode 100644
index 0000000..a335a5e
--- /dev/null
+++ b/uikit/static/js/components/sticky.js
@@ -0,0 +1,298 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-sticky", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ var $win = UI.$win,
+ $doc = UI.$doc,
+ sticked = [];
+
+ UI.component('sticky', {
+
+ defaults: {
+ top : 0,
+ bottom : 0,
+ animation : '',
+ clsinit : 'uk-sticky-init',
+ clsactive : 'uk-active',
+ getWidthFrom : '',
+ boundary : false,
+ media : false,
+ target : false,
+ disabled : false
+ },
+
+ boot: function() {
+
+ // should be more efficient than using $win.scroll(checkscrollposition):
+ UI.$doc.on('scrolling.uk.document', function() { checkscrollposition(); });
+ UI.$win.on('resize orientationchange', UI.Utils.debounce(function() {
+
+ if (!sticked.length) return;
+
+ for (var i = 0; i < sticked.length; i++) {
+ sticked[i].reset(true);
+ sticked[i].self.computeWrapper();
+ }
+
+ checkscrollposition();
+ }, 100));
+
+ // init code
+ UI.ready(function(context) {
+
+ setTimeout(function(){
+
+ UI.$("[data-uk-sticky]", context).each(function(){
+
+ var $ele = UI.$(this);
+
+ if(!$ele.data("sticky")) {
+ UI.sticky($ele, UI.Utils.options($ele.attr('data-uk-sticky')));
+ }
+ });
+
+ checkscrollposition();
+ }, 0);
+ });
+ },
+
+ init: function() {
+
+ var wrapper = UI.$('<div class="uk-sticky-placeholder"></div>'), boundary = this.options.boundary, boundtoparent;
+
+ this.wrapper = this.element.css('margin', 0).wrap(wrapper).parent();
+
+ this.computeWrapper();
+
+ if (boundary) {
+
+ if (boundary === true) {
+
+ boundary = this.wrapper.parent();
+ boundtoparent = true;
+
+ } else if (typeof boundary === "string") {
+ boundary = UI.$(boundary);
+ }
+ }
+
+ this.sticky = {
+ self : this,
+ options : this.options,
+ element : this.element,
+ currentTop : null,
+ wrapper : this.wrapper,
+ init : false,
+ getWidthFrom : this.options.getWidthFrom || this.wrapper,
+ boundary : boundary,
+ boundtoparent : boundtoparent,
+ reset : function(force) {
+
+ var finalize = function() {
+ this.element.css({"position":"", "top":"", "width":"", "left":"", "margin":"0"});
+ this.element.removeClass([this.options.animation, 'uk-animation-reverse', this.options.clsactive].join(' '));
+
+ this.currentTop = null;
+ this.animate = false;
+ }.bind(this);
+
+
+ if (!force && this.options.animation && UI.support.animation) {
+
+ this.animate = true;
+
+ this.element.removeClass(this.options.animation).one(UI.support.animation.end, function(){
+ finalize();
+ }).width(); // force redraw
+
+ this.element.addClass(this.options.animation+' '+'uk-animation-reverse');
+ } else {
+ finalize();
+ }
+ },
+
+ check: function() {
+
+ if (this.options.disabled) {
+ return false;
+ }
+
+ if (this.options.media) {
+
+ switch(typeof(this.options.media)) {
+ case 'number':
+ if (window.innerWidth < this.options.media) {
+ return false;
+ }
+ break;
+ case 'string':
+ if (window.matchMedia && !window.matchMedia(this.options.media).matches) {
+ return false;
+ }
+ break;
+ }
+ }
+
+ var scrollTop = $win.scrollTop(),
+ documentHeight = $doc.height(),
+ dwh = documentHeight - window.innerHeight,
+ extra = (scrollTop > dwh) ? dwh - scrollTop : 0,
+ elementTop = this.wrapper.offset().top,
+ etse = elementTop - this.options.top - extra;
+
+ return (scrollTop >= etse);
+ }
+ };
+
+ sticked.push(this.sticky);
+ },
+
+ update: function() {
+ checkscrollposition(this.sticky);
+ },
+
+ enable: function() {
+ this.options.disabled = false;
+ this.update();
+ },
+
+ disable: function(force) {
+ this.options.disabled = true;
+ this.sticky.reset(force);
+ },
+
+ computeWrapper: function() {
+
+ this.wrapper.css({
+ 'height' : this.element.css('position') != 'absolute' ? this.element.outerHeight() : '',
+ 'float' : this.element.css("float") != "none" ? this.element.css("float") : '',
+ 'margin' : this.element.css("margin")
+ });
+ }
+ });
+
+ function checkscrollposition() {
+
+ var stickies = arguments.length ? arguments : sticked;
+
+ if (!stickies.length || $win.scrollTop() < 0) return;
+
+ var scrollTop = $win.scrollTop(),
+ documentHeight = $doc.height(),
+ windowHeight = $win.height(),
+ dwh = documentHeight - windowHeight,
+ extra = (scrollTop > dwh) ? dwh - scrollTop : 0,
+ newTop, containerBottom, stickyHeight, sticky;
+
+ for (var i = 0; i < stickies.length; i++) {
+
+ sticky = stickies[i];
+
+ if (!sticky.element.is(":visible") || sticky.animate) {
+ continue;
+ }
+
+ if (!sticky.check()) {
+
+ if (sticky.currentTop !== null) {
+ sticky.reset();
+ }
+
+ } else {
+
+ if (sticky.options.top < 0) {
+ newTop = 0;
+ } else {
+ stickyHeight = sticky.element.outerHeight();
+ newTop = documentHeight - stickyHeight - sticky.options.top - sticky.options.bottom - scrollTop - extra;
+ newTop = newTop < 0 ? newTop + sticky.options.top : sticky.options.top;
+ }
+
+ if (sticky.boundary && sticky.boundary.length) {
+
+ var bTop = sticky.boundary.position().top;
+
+ if (sticky.boundtoparent) {
+ containerBottom = documentHeight - (bTop + sticky.boundary.outerHeight()) + parseInt(sticky.boundary.css('padding-bottom'));
+ } else {
+ containerBottom = documentHeight - bTop - parseInt(sticky.boundary.css('margin-top'));
+ }
+
+ newTop = (scrollTop + stickyHeight) > (documentHeight - containerBottom - (sticky.options.top < 0 ? 0 : sticky.options.top)) ? (documentHeight - containerBottom) - (scrollTop + stickyHeight) : newTop;
+ }
+
+
+ if (sticky.currentTop != newTop) {
+
+ sticky.element.css({
+ "position" : "fixed",
+ "top" : newTop,
+ "width" : (typeof sticky.getWidthFrom !== 'undefined') ? UI.$(sticky.getWidthFrom).width() : sticky.element.width(),
+ "left" : sticky.wrapper.offset().left
+ });
+
+ if (!sticky.init) {
+
+ sticky.element.addClass(sticky.options.clsinit);
+
+ if (location.hash && scrollTop > 0 && sticky.options.target) {
+
+ var $target = UI.$(location.hash);
+
+ if ($target.length) {
+
+ setTimeout((function($target, sticky){
+
+ return function() {
+
+ sticky.element.width(); // force redraw
+
+ var offset = $target.offset(),
+ maxoffset = offset.top + $target.outerHeight(),
+ stickyOffset = sticky.element.offset(),
+ stickyHeight = sticky.element.outerHeight(),
+ stickyMaxOffset = stickyOffset.top + stickyHeight;
+
+ if (stickyOffset.top < maxoffset && offset.top < stickyMaxOffset) {
+ scrollTop = offset.top - stickyHeight - sticky.options.target;
+ window.scrollTo(0, scrollTop);
+ }
+ };
+
+ })($target, sticky), 0);
+ }
+ }
+ }
+
+ sticky.element.addClass(sticky.options.clsactive);
+ sticky.element.css('margin', '');
+
+ if (sticky.options.animation && sticky.init) {
+ sticky.element.addClass(sticky.options.animation);
+ }
+
+ sticky.currentTop = newTop;
+ }
+ }
+
+ sticky.init = true;
+ }
+ }
+
+ return UI.sticky;
+});
diff --git a/uikit/static/js/components/sticky.min.js b/uikit/static/js/components/sticky.min.js
new file mode 100644
index 0000000..a0f318e
--- /dev/null
+++ b/uikit/static/js/components/sticky.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var i;window.UIkit&&(i=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-sticky",["uikit"],function(){return i||t(UIkit)})}(function(t){"use strict";function i(){var i=arguments.length?arguments:o;if(i.length&&!(e.scrollTop()<0))for(var s,a,r,p,h=e.scrollTop(),c=n.height(),l=e.height(),u=c-l,d=h>u?u-h:0,m=0;m<i.length;m++)if(p=i[m],p.element.is(":visible")&&!p.animate){if(p.check()){if(p.options.top<0?s=0:(r=p.element.outerHeight(),s=c-r-p.options.top-p.options.bottom-h-d,s=0>s?s+p.options.top:p.options.top),p.boundary&&p.boundary.length){var f=p.boundary.position().top;a=p.boundtoparent?c-(f+p.boundary.outerHeight())+parseInt(p.boundary.css("padding-bottom")):c-f-parseInt(p.boundary.css("margin-top")),s=h+r>c-a-(p.options.top<0?0:p.options.top)?c-a-(h+r):s}if(p.currentTop!=s){if(p.element.css({position:"fixed",top:s,width:"undefined"!=typeof p.getWidthFrom?t.$(p.getWidthFrom).width():p.element.width(),left:p.wrapper.offset().left}),!p.init&&(p.element.addClass(p.options.clsinit),location.hash&&h>0&&p.options.target)){var g=t.$(location.hash);g.length&&setTimeout(function(t,i){return function(){i.element.width();var e=t.offset(),n=e.top+t.outerHeight(),o=i.element.offset(),s=i.element.outerHeight(),a=o.top+s;o.top<n&&e.top<a&&(h=e.top-s-i.options.target,window.scrollTo(0,h))}}(g,p),0)}p.element.addClass(p.options.clsactive),p.element.css("margin",""),p.options.animation&&p.init&&p.element.addClass(p.options.animation),p.currentTop=s}}else null!==p.currentTop&&p.reset();p.init=!0}}var e=t.$win,n=t.$doc,o=[];return t.component("sticky",{defaults:{top:0,bottom:0,animation:"",clsinit:"uk-sticky-init",clsactive:"uk-active",getWidthFrom:"",boundary:!1,media:!1,target:!1,disabled:!1},boot:function(){t.$doc.on("scrolling.uk.document",function(){i()}),t.$win.on("resize orientationchange",t.Utils.debounce(function(){if(o.length){for(var t=0;t<o.length;t++)o[t].reset(!0),o[t].self.computeWrapper();i()}},100)),t.ready(function(e){setTimeout(function(){t.$("[data-uk-sticky]",e).each(function(){var i=t.$(this);i.data("sticky")||t.sticky(i,t.Utils.options(i.attr("data-uk-sticky")))}),i()},0)})},init:function(){var i,s=t.$('<div class="uk-sticky-placeholder"></div>'),a=this.options.boundary;this.wrapper=this.element.css("margin",0).wrap(s).parent(),this.computeWrapper(),a&&(a===!0?(a=this.wrapper.parent(),i=!0):"string"==typeof a&&(a=t.$(a))),this.sticky={self:this,options:this.options,element:this.element,currentTop:null,wrapper:this.wrapper,init:!1,getWidthFrom:this.options.getWidthFrom||this.wrapper,boundary:a,boundtoparent:i,reset:function(i){var e=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);!i&&this.options.animation&&t.support.animation?(this.animate=!0,this.element.removeClass(this.options.animation).one(t.support.animation.end,function(){e()}).width(),this.element.addClass(this.options.animation+" uk-animation-reverse")):e()},check:function(){if(this.options.disabled)return!1;if(this.options.media)switch(typeof this.options.media){case"number":if(window.innerWidth<this.options.media)return!1;break;case"string":if(window.matchMedia&&!window.matchMedia(this.options.media).matches)return!1}var t=e.scrollTop(),i=n.height(),o=i-window.innerHeight,s=t>o?o-t:0,a=this.wrapper.offset().top,r=a-this.options.top-s;return t>=r}},o.push(this.sticky)},update:function(){i(this.sticky)},enable:function(){this.options.disabled=!1,this.update()},disable:function(t){this.options.disabled=!0,this.sticky.reset(t)},computeWrapper:function(){this.wrapper.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")})}}),t.sticky}); \ No newline at end of file
diff --git a/uikit/static/js/components/timepicker.js b/uikit/static/js/components/timepicker.js
new file mode 100644
index 0000000..4f48c3f
--- /dev/null
+++ b/uikit/static/js/components/timepicker.js
@@ -0,0 +1,192 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-search", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+
+ UI.component('timepicker', {
+
+ defaults: {
+ format : '24h',
+ delay : 0,
+ start : 0,
+ end : 24
+ },
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("focus.timepicker.uikit", "[data-uk-timepicker]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (!ele.data("timepicker")) {
+ var obj = UI.timepicker(ele, UI.Utils.options(ele.attr("data-uk-timepicker")));
+
+ setTimeout(function(){
+ obj.autocomplete.input.focus();
+ }, 40);
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this, times = getTimeRange(this.options.start, this.options.end), container;
+
+ this.options.minLength = 0;
+ this.options.template = '<ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results">{{~items}}<li data-value="{{$item.value}}"><a>{{$item.value}}</a></li>{{/items}}</ul>';
+
+ this.options.source = function(release) {
+ release(times[$this.options.format] || times['12h']);
+ };
+
+ if (this.element.is('input')) {
+ this.element.wrap('<div class="uk-autocomplete"></div>');
+ container = this.element.parent();
+ } else {
+ container = this.element.addClass('uk-autocomplete');
+ }
+
+ this.autocomplete = UI.autocomplete(container, this.options);
+ this.autocomplete.dropdown.addClass('uk-dropdown-small uk-dropdown-scrollable');
+
+ this.autocomplete.on('show.uk.autocomplete', function() {
+
+ var selected = $this.autocomplete.dropdown.find('[data-value="'+$this.autocomplete.input.val()+'"]');
+
+ setTimeout(function(){
+ $this.autocomplete.pick(selected, true);
+ }, 10);
+ });
+
+ this.autocomplete.input.on('focus', function(){
+
+ $this.autocomplete.value = Math.random();
+ $this.autocomplete.triggercomplete();
+
+ }).on('blur', function() {
+ $this.checkTime();
+ });
+
+ this.element.data("timepicker", this);
+ },
+
+ checkTime: function() {
+
+ var arr, timeArray, meridian = 'AM', hour, minute, time = this.autocomplete.input.val();
+
+ if (this.options.format == '12h') {
+ arr = time.split(' ');
+ timeArray = arr[0].split(':');
+ meridian = arr[1];
+ } else {
+ timeArray = time.split(':');
+ }
+
+ hour = parseInt(timeArray[0], 10);
+ minute = parseInt(timeArray[1], 10);
+
+ if (isNaN(hour)) hour = 0;
+ if (isNaN(minute)) minute = 0;
+
+ if (this.options.format == '12h') {
+ if (hour > 12) {
+ hour = 12;
+ } else if (hour < 0) {
+ hour = 12;
+ }
+
+ if (meridian === 'am' || meridian === 'a') {
+ meridian = 'AM';
+ } else if (meridian === 'pm' || meridian === 'p') {
+ meridian = 'PM';
+ }
+
+ if (meridian !== 'AM' && meridian !== 'PM') {
+ meridian = 'AM';
+ }
+
+ } else {
+
+ if (hour >= 24) {
+ hour = 23;
+ } else if (hour < 0) {
+ hour = 0;
+ }
+ }
+
+ if (minute < 0) {
+ minute = 0;
+ } else if (minute >= 60) {
+ minute = 0;
+ }
+
+ this.autocomplete.input.val(this.formatTime(hour, minute, meridian)).trigger('change');
+ },
+
+ formatTime: function(hour, minute, meridian) {
+ hour = hour < 10 ? '0' + hour : hour;
+ minute = minute < 10 ? '0' + minute : minute;
+ return hour + ':' + minute + (this.options.format == '12h' ? ' ' + meridian : '');
+ }
+ });
+
+ // helper
+
+ function getTimeRange(start, end) {
+
+ start = start || 0;
+ end = end || 24;
+
+ var times = {'12h':[], '24h':[]}, i, h;
+
+ for (i = start, h=''; i<end; i++) {
+
+ h = ''+i;
+
+ if (i<10) h = '0'+h;
+
+ times['24h'].push({value: (h+':00')});
+ times['24h'].push({value: (h+':30')});
+
+ if (i === 0) {
+ h = 12;
+ times['12h'].push({value: (h+':00 AM')});
+ times['12h'].push({value: (h+':30 AM')});
+ }
+
+ if (i > 0 && i<13 && i!==12) {
+ times['12h'].push({value: (h+':00 AM')});
+ times['12h'].push({value: (h+':30 AM')});
+ }
+
+ if (i >= 12) {
+
+ h = h-12;
+ if (h === 0) h = 12;
+ if (h < 10) h = '0'+String(h);
+
+ times['12h'].push({value: (h+':00 PM')});
+ times['12h'].push({value: (h+':30 PM')});
+ }
+ }
+
+ return times;
+ }
+
+});
diff --git a/uikit/static/js/components/timepicker.min.js b/uikit/static/js/components/timepicker.min.js
new file mode 100644
index 0000000..f11f4a8
--- /dev/null
+++ b/uikit/static/js/components/timepicker.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var e;window.UIkit&&(e=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-search",["uikit"],function(){return e||t(UIkit)})}(function(t){"use strict";function e(t,e){t=t||0,e=e||24;var i,o,a={"12h":[],"24h":[]};for(i=t,o="";e>i;i++)o=""+i,10>i&&(o="0"+o),a["24h"].push({value:o+":00"}),a["24h"].push({value:o+":30"}),0===i&&(o=12,a["12h"].push({value:o+":00 AM"}),a["12h"].push({value:o+":30 AM"})),i>0&&13>i&&12!==i&&(a["12h"].push({value:o+":00 AM"}),a["12h"].push({value:o+":30 AM"})),i>=12&&(o-=12,0===o&&(o=12),10>o&&(o="0"+String(o)),a["12h"].push({value:o+":00 PM"}),a["12h"].push({value:o+":30 PM"}));return a}t.component("timepicker",{defaults:{format:"24h",delay:0,start:0,end:24},boot:function(){t.$html.on("focus.timepicker.uikit","[data-uk-timepicker]",function(){var e=t.$(this);if(!e.data("timepicker")){var i=t.timepicker(e,t.Utils.options(e.attr("data-uk-timepicker")));setTimeout(function(){i.autocomplete.input.focus()},40)}})},init:function(){var i,o=this,a=e(this.options.start,this.options.end);this.options.minLength=0,this.options.template='<ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results">{{~items}}<li data-value="{{$item.value}}"><a>{{$item.value}}</a></li>{{/items}}</ul>',this.options.source=function(t){t(a[o.options.format]||a["12h"])},this.element.is("input")?(this.element.wrap('<div class="uk-autocomplete"></div>'),i=this.element.parent()):i=this.element.addClass("uk-autocomplete"),this.autocomplete=t.autocomplete(i,this.options),this.autocomplete.dropdown.addClass("uk-dropdown-small uk-dropdown-scrollable"),this.autocomplete.on("show.uk.autocomplete",function(){var t=o.autocomplete.dropdown.find('[data-value="'+o.autocomplete.input.val()+'"]');setTimeout(function(){o.autocomplete.pick(t,!0)},10)}),this.autocomplete.input.on("focus",function(){o.autocomplete.value=Math.random(),o.autocomplete.triggercomplete()}).on("blur",function(){o.checkTime()}),this.element.data("timepicker",this)},checkTime:function(){var t,e,i,o,a="AM",u=this.autocomplete.input.val();"12h"==this.options.format?(t=u.split(" "),e=t[0].split(":"),a=t[1]):e=u.split(":"),i=parseInt(e[0],10),o=parseInt(e[1],10),isNaN(i)&&(i=0),isNaN(o)&&(o=0),"12h"==this.options.format?(i>12?i=12:0>i&&(i=12),"am"===a||"a"===a?a="AM":("pm"===a||"p"===a)&&(a="PM"),"AM"!==a&&"PM"!==a&&(a="AM")):i>=24?i=23:0>i&&(i=0),0>o?o=0:o>=60&&(o=0),this.autocomplete.input.val(this.formatTime(i,o,a)).trigger("change")},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:"")}})}); \ No newline at end of file
diff --git a/uikit/static/js/components/tooltip.js b/uikit/static/js/components/tooltip.js
new file mode 100644
index 0000000..8e704f7
--- /dev/null
+++ b/uikit/static/js/components/tooltip.js
@@ -0,0 +1,234 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-tooltip", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ var $tooltip, // tooltip container
+ tooltipdelay, checkdelay;
+
+ UI.component('tooltip', {
+
+ defaults: {
+ "offset": 5,
+ "pos": "top",
+ "animation": false,
+ "delay": 0, // in miliseconds
+ "cls": "",
+ "activeClass": "uk-active",
+ "src": function(ele, title) {
+
+ title = ele.attr('title');
+
+ if (title) {
+ ele.data('cached-title', title).removeAttr('title');
+ }
+
+ return ele.data("cached-title");
+ }
+ },
+
+ tip: "",
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("mouseenter.tooltip.uikit focus.tooltip.uikit", "[data-uk-tooltip]", function(e) {
+ var ele = UI.$(this);
+
+ if (!ele.data("tooltip")) {
+ var obj = UI.tooltip(ele, UI.Utils.options(ele.attr("data-uk-tooltip")));
+ ele.trigger("mouseenter");
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ if (!$tooltip) {
+ $tooltip = UI.$('<div class="uk-tooltip"></div>').appendTo("body");
+ }
+
+ this.on({
+ focus : function(e) { $this.show(); },
+ blur : function(e) { $this.hide(); },
+ mouseenter : function(e) { $this.show(); },
+ mouseleave : function(e) { $this.hide(); }
+ });
+ },
+
+ show: function() {
+
+ this.tip = typeof(this.options.src) === "function" ? this.options.src(this.element) : this.options.src;
+
+ if (tooltipdelay) clearTimeout(tooltipdelay);
+ if (checkdelay) clearTimeout(checkdelay);
+ if (!this.tip.length) return;
+
+ $tooltip.stop().css({"top": -2000, "visibility": "hidden"}).removeClass(this.options.activeClass).show();
+ $tooltip.html('<div class="uk-tooltip-inner">' + this.tip + '</div>');
+
+ var $this = this,
+ pos = UI.$.extend({}, this.element.offset(), {width: this.element[0].offsetWidth, height: this.element[0].offsetHeight}),
+ width = $tooltip[0].offsetWidth,
+ height = $tooltip[0].offsetHeight,
+ offset = typeof(this.options.offset) === "function" ? this.options.offset.call(this.element) : this.options.offset,
+ position = typeof(this.options.pos) === "function" ? this.options.pos.call(this.element) : this.options.pos,
+ tmppos = position.split("-"),
+ tcss = {
+ "display" : "none",
+ "visibility" : "visible",
+ "top" : (pos.top + pos.height + height),
+ "left" : pos.left
+ };
+
+
+ // prevent strange position
+ // when tooltip is in offcanvas etc.
+ if (UI.$html.css('position')=='fixed' || UI.$body.css('position')=='fixed'){
+ var bodyoffset = UI.$('body').offset(),
+ htmloffset = UI.$('html').offset(),
+ docoffset = {'top': (htmloffset.top + bodyoffset.top), 'left': (htmloffset.left + bodyoffset.left)};
+
+ pos.left -= docoffset.left;
+ pos.top -= docoffset.top;
+ }
+
+
+ if ((tmppos[0] == "left" || tmppos[0] == "right") && UI.langdirection == 'right') {
+ tmppos[0] = tmppos[0] == "left" ? "right" : "left";
+ }
+
+ var variants = {
+ "bottom" : {top: pos.top + pos.height + offset, left: pos.left + pos.width / 2 - width / 2},
+ "top" : {top: pos.top - height - offset, left: pos.left + pos.width / 2 - width / 2},
+ "left" : {top: pos.top + pos.height / 2 - height / 2, left: pos.left - width - offset},
+ "right" : {top: pos.top + pos.height / 2 - height / 2, left: pos.left + pos.width + offset}
+ };
+
+ UI.$.extend(tcss, variants[tmppos[0]]);
+
+ if (tmppos.length == 2) tcss.left = (tmppos[1] == 'left') ? (pos.left) : ((pos.left + pos.width) - width);
+
+ var boundary = this.checkBoundary(tcss.left, tcss.top, width, height);
+
+ if(boundary) {
+
+ switch(boundary) {
+ case "x":
+
+ if (tmppos.length == 2) {
+ position = tmppos[0]+"-"+(tcss.left < 0 ? "left": "right");
+ } else {
+ position = tcss.left < 0 ? "right": "left";
+ }
+
+ break;
+
+ case "y":
+ if (tmppos.length == 2) {
+ position = (tcss.top < 0 ? "bottom": "top")+"-"+tmppos[1];
+ } else {
+ position = (tcss.top < 0 ? "bottom": "top");
+ }
+
+ break;
+
+ case "xy":
+ if (tmppos.length == 2) {
+ position = (tcss.top < 0 ? "bottom": "top")+"-"+(tcss.left < 0 ? "left": "right");
+ } else {
+ position = tcss.left < 0 ? "right": "left";
+ }
+
+ break;
+
+ }
+
+ tmppos = position.split("-");
+
+ UI.$.extend(tcss, variants[tmppos[0]]);
+
+ if (tmppos.length == 2) tcss.left = (tmppos[1] == 'left') ? (pos.left) : ((pos.left + pos.width) - width);
+ }
+
+
+ tcss.left -= UI.$body.position().left;
+
+ tooltipdelay = setTimeout(function(){
+
+ $tooltip.css(tcss).attr("class", ["uk-tooltip", "uk-tooltip-"+position, $this.options.cls].join(' '));
+
+ if ($this.options.animation) {
+ $tooltip.css({opacity: 0, display: 'block'}).addClass($this.options.activeClass).animate({opacity: 1}, parseInt($this.options.animation, 10) || 400);
+ } else {
+ $tooltip.show().addClass($this.options.activeClass);
+ }
+
+ tooltipdelay = false;
+
+ // close tooltip if element was removed or hidden
+ checkdelay = setInterval(function(){
+ if(!$this.element.is(':visible')) $this.hide();
+ }, 150);
+
+ }, parseInt(this.options.delay, 10) || 0);
+ },
+
+ hide: function() {
+ if(this.element.is("input") && this.element[0]===document.activeElement) return;
+
+ if(tooltipdelay) clearTimeout(tooltipdelay);
+ if (checkdelay) clearTimeout(checkdelay);
+
+ $tooltip.stop();
+
+ if (this.options.animation) {
+
+ var $this = this;
+
+ $tooltip.fadeOut(parseInt(this.options.animation, 10) || 400, function(){
+ $tooltip.removeClass($this.options.activeClass)
+ });
+
+ } else {
+ $tooltip.hide().removeClass(this.options.activeClass);
+ }
+ },
+
+ content: function() {
+ return this.tip;
+ },
+
+ checkBoundary: function(left, top, width, height) {
+
+ var axis = "";
+
+ if(left < 0 || ((left - UI.$win.scrollLeft())+width) > window.innerWidth) {
+ axis += "x";
+ }
+
+ if(top < 0 || ((top - UI.$win.scrollTop())+height) > window.innerHeight) {
+ axis += "y";
+ }
+
+ return axis;
+ }
+ });
+
+ return UI.tooltip;
+});
diff --git a/uikit/static/js/components/tooltip.min.js b/uikit/static/js/components/tooltip.min.js
new file mode 100644
index 0000000..80a1f05
--- /dev/null
+++ b/uikit/static/js/components/tooltip.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){var i;window.UIkit&&(i=t(UIkit)),"function"==typeof define&&define.amd&&define("uikit-tooltip",["uikit"],function(){return i||t(UIkit)})}(function(t){"use strict";var i,o,e;return t.component("tooltip",{defaults:{offset:5,pos:"top",animation:!1,delay:0,cls:"",activeClass:"uk-active",src:function(t,i){return i=t.attr("title"),i&&t.data("cached-title",i).removeAttr("title"),t.data("cached-title")}},tip:"",boot:function(){t.$html.on("mouseenter.tooltip.uikit focus.tooltip.uikit","[data-uk-tooltip]",function(){var i=t.$(this);if(!i.data("tooltip")){{t.tooltip(i,t.Utils.options(i.attr("data-uk-tooltip")))}i.trigger("mouseenter")}})},init:function(){var o=this;i||(i=t.$('<div class="uk-tooltip"></div>').appendTo("body")),this.on({focus:function(){o.show()},blur:function(){o.hide()},mouseenter:function(){o.show()},mouseleave:function(){o.hide()}})},show:function(){if(this.tip="function"==typeof this.options.src?this.options.src(this.element):this.options.src,o&&clearTimeout(o),e&&clearTimeout(e),this.tip.length){i.stop().css({top:-2e3,visibility:"hidden"}).removeClass(this.options.activeClass).show(),i.html('<div class="uk-tooltip-inner">'+this.tip+"</div>");var s=this,n=t.$.extend({},this.element.offset(),{width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}),l=i[0].offsetWidth,f=i[0].offsetHeight,p="function"==typeof this.options.offset?this.options.offset.call(this.element):this.options.offset,a="function"==typeof this.options.pos?this.options.pos.call(this.element):this.options.pos,h=a.split("-"),c={display:"none",visibility:"visible",top:n.top+n.height+f,left:n.left};if("fixed"==t.$html.css("position")||"fixed"==t.$body.css("position")){var r=t.$("body").offset(),d=t.$("html").offset(),u={top:d.top+r.top,left:d.left+r.left};n.left-=u.left,n.top-=u.top}"left"!=h[0]&&"right"!=h[0]||"right"!=t.langdirection||(h[0]="left"==h[0]?"right":"left");var m={bottom:{top:n.top+n.height+p,left:n.left+n.width/2-l/2},top:{top:n.top-f-p,left:n.left+n.width/2-l/2},left:{top:n.top+n.height/2-f/2,left:n.left-l-p},right:{top:n.top+n.height/2-f/2,left:n.left+n.width+p}};t.$.extend(c,m[h[0]]),2==h.length&&(c.left="left"==h[1]?n.left:n.left+n.width-l);var v=this.checkBoundary(c.left,c.top,l,f);if(v){switch(v){case"x":a=2==h.length?h[0]+"-"+(c.left<0?"left":"right"):c.left<0?"right":"left";break;case"y":a=2==h.length?(c.top<0?"bottom":"top")+"-"+h[1]:c.top<0?"bottom":"top";break;case"xy":a=2==h.length?(c.top<0?"bottom":"top")+"-"+(c.left<0?"left":"right"):c.left<0?"right":"left"}h=a.split("-"),t.$.extend(c,m[h[0]]),2==h.length&&(c.left="left"==h[1]?n.left:n.left+n.width-l)}c.left-=t.$body.position().left,o=setTimeout(function(){i.css(c).attr("class",["uk-tooltip","uk-tooltip-"+a,s.options.cls].join(" ")),s.options.animation?i.css({opacity:0,display:"block"}).addClass(s.options.activeClass).animate({opacity:1},parseInt(s.options.animation,10)||400):i.show().addClass(s.options.activeClass),o=!1,e=setInterval(function(){s.element.is(":visible")||s.hide()},150)},parseInt(this.options.delay,10)||0)}},hide:function(){if(!this.element.is("input")||this.element[0]!==document.activeElement)if(o&&clearTimeout(o),e&&clearTimeout(e),i.stop(),this.options.animation){var t=this;i.fadeOut(parseInt(this.options.animation,10)||400,function(){i.removeClass(t.options.activeClass)})}else i.hide().removeClass(this.options.activeClass)},content:function(){return this.tip},checkBoundary:function(i,o,e,s){var n="";return(0>i||i-t.$win.scrollLeft()+e>window.innerWidth)&&(n+="x"),(0>o||o-t.$win.scrollTop()+s>window.innerHeight)&&(n+="y"),n}}),t.tooltip}); \ No newline at end of file
diff --git a/uikit/static/js/components/upload.js b/uikit/static/js/components/upload.js
new file mode 100644
index 0000000..21699b0
--- /dev/null
+++ b/uikit/static/js/components/upload.js
@@ -0,0 +1,256 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(addon) {
+
+ var component;
+
+ if (window.UIkit) {
+ component = addon(UIkit);
+ }
+
+ if (typeof define == "function" && define.amd) {
+ define("uikit-upload", ["uikit"], function(){
+ return component || addon(UIkit);
+ });
+ }
+
+})(function(UI){
+
+ "use strict";
+
+ UI.component('uploadSelect', {
+
+ init: function() {
+
+ var $this = this;
+
+ this.on("change", function() {
+ xhrupload($this.element[0].files, $this.options);
+ var twin = $this.element.clone(true).data('uploadSelect', $this);
+ $this.element.replaceWith(twin);
+ $this.element = twin;
+ });
+ }
+ });
+
+ UI.component('uploadDrop', {
+
+ defaults: {
+ 'dragoverClass': 'uk-dragover'
+ },
+
+ init: function() {
+
+ var $this = this, hasdragCls = false;
+
+ this.on("drop", function(e){
+
+ if (e.dataTransfer && e.dataTransfer.files) {
+
+ e.stopPropagation();
+ e.preventDefault();
+
+ $this.element.removeClass($this.options.dragoverClass);
+ $this.element.trigger('dropped.uk.upload', [e.dataTransfer.files]);
+
+ xhrupload(e.dataTransfer.files, $this.options);
+ }
+
+ }).on("dragenter", function(e){
+ e.stopPropagation();
+ e.preventDefault();
+ }).on("dragover", function(e){
+ e.stopPropagation();
+ e.preventDefault();
+
+ if (!hasdragCls) {
+ $this.element.addClass($this.options.dragoverClass);
+ hasdragCls = true;
+ }
+ }).on("dragleave", function(e){
+ e.stopPropagation();
+ e.preventDefault();
+ $this.element.removeClass($this.options.dragoverClass);
+ hasdragCls = false;
+ });
+ }
+ });
+
+
+ UI.support.ajaxupload = (function() {
+
+ function supportFileAPI() {
+ var fi = document.createElement('INPUT'); fi.type = 'file'; return 'files' in fi;
+ }
+
+ function supportAjaxUploadProgressEvents() {
+ var xhr = new XMLHttpRequest(); return !! (xhr && ('upload' in xhr) && ('onprogress' in xhr.upload));
+ }
+
+ function supportFormData() {
+ return !! window.FormData;
+ }
+
+ return supportFileAPI() && supportAjaxUploadProgressEvents() && supportFormData();
+ })();
+
+ if (UI.support.ajaxupload){
+ UI.$.event.props.push("dataTransfer");
+ }
+
+ function xhrupload(files, settings) {
+
+ if (!UI.support.ajaxupload){
+ return this;
+ }
+
+ settings = UI.$.extend({}, xhrupload.defaults, settings);
+
+ if (!files.length){
+ return;
+ }
+
+ if (settings.allow !== '*.*') {
+
+ for(var i=0,file;file=files[i];i++) {
+
+ if(!matchName(settings.allow, file.name)) {
+
+ if(typeof(settings.notallowed) == 'string') {
+ alert(settings.notallowed);
+ } else {
+ settings.notallowed(file, settings);
+ }
+ return;
+ }
+ }
+ }
+
+ var complete = settings.complete;
+
+ if (settings.single){
+
+ var count = files.length,
+ uploaded = 0,
+ allow = true;
+
+ settings.beforeAll(files);
+
+ settings.complete = function(response, xhr){
+
+ uploaded = uploaded + 1;
+
+ complete(response, xhr);
+
+ if (settings.filelimit && uploaded >= settings.filelimit){
+ allow = false;
+ }
+
+ if (allow && uploaded<count){
+ upload([files[uploaded]], settings);
+ } else {
+ settings.allcomplete(response, xhr);
+ }
+ };
+
+ upload([files[0]], settings);
+
+ } else {
+
+ settings.complete = function(response, xhr){
+ complete(response, xhr);
+ settings.allcomplete(response, xhr);
+ };
+
+ upload(files, settings);
+ }
+
+ function upload(files, settings){
+
+ // upload all at once
+ var formData = new FormData(), xhr = new XMLHttpRequest();
+
+ if (settings.before(settings, files)===false) return;
+
+ for (var i = 0, f; f = files[i]; i++) { formData.append(settings.param, f); }
+ for (var p in settings.params) { formData.append(p, settings.params[p]); }
+
+ // Add any event handlers here...
+ xhr.upload.addEventListener("progress", function(e){
+ var percent = (e.loaded / e.total)*100;
+ settings.progress(percent, e);
+ }, false);
+
+ xhr.addEventListener("loadstart", function(e){ settings.loadstart(e); }, false);
+ xhr.addEventListener("load", function(e){ settings.load(e); }, false);
+ xhr.addEventListener("loadend", function(e){ settings.loadend(e); }, false);
+ xhr.addEventListener("error", function(e){ settings.error(e); }, false);
+ xhr.addEventListener("abort", function(e){ settings.abort(e); }, false);
+
+ xhr.open(settings.method, settings.action, true);
+
+ xhr.onreadystatechange = function() {
+
+ settings.readystatechange(xhr);
+
+ if (xhr.readyState==4){
+
+ var response = xhr.responseText;
+
+ if (settings.type=="json") {
+ try {
+ response = UI.$.parseJSON(response);
+ } catch(e) {
+ response = false;
+ }
+ }
+
+ settings.complete(response, xhr);
+ }
+ };
+ settings.beforeSend(xhr);
+ xhr.send(formData);
+ }
+ }
+
+ xhrupload.defaults = {
+ 'action': '',
+ 'single': true,
+ 'method': 'POST',
+ 'param' : 'files[]',
+ 'params': {},
+ 'allow' : '*.*',
+ 'type' : 'text',
+ 'filelimit': false,
+
+ // events
+ 'before' : function(o){},
+ 'beforeSend' : function(xhr){},
+ 'beforeAll' : function(){},
+ 'loadstart' : function(){},
+ 'load' : function(){},
+ 'loadend' : function(){},
+ 'error' : function(){},
+ 'abort' : function(){},
+ 'progress' : function(){},
+ 'complete' : function(){},
+ 'allcomplete' : function(){},
+ 'readystatechange': function(){},
+ 'notallowed' : function(file, settings){ alert('Only the following file types are allowed: '+settings.allow); }
+ };
+
+ function matchName(pattern, path) {
+
+ var parsedPattern = '^' + pattern.replace(/\//g, '\\/').
+ replace(/\*\*/g, '(\\/[^\\/]+)*').
+ replace(/\*/g, '[^\\/]+').
+ replace(/((?!\\))\?/g, '$1.') + '$';
+
+ parsedPattern = '^' + parsedPattern + '$';
+
+ return (path.match(new RegExp(parsedPattern, 'i')) !== null);
+ }
+
+ UI.Utils.xhrupload = xhrupload;
+
+ return xhrupload;
+});
diff --git a/uikit/static/js/components/upload.min.js b/uikit/static/js/components/upload.min.js
new file mode 100644
index 0000000..e9b4759
--- /dev/null
+++ b/uikit/static/js/components/upload.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(e){var t;window.UIkit&&(t=e(UIkit)),"function"==typeof define&&define.amd&&define("uikit-upload",["uikit"],function(){return t||e(UIkit)})}(function(e){"use strict";function t(o,a){function r(t,n){var o=new FormData,a=new XMLHttpRequest;if(n.before(n,t)!==!1){for(var r,l=0;r=t[l];l++)o.append(n.param,r);for(var i in n.params)o.append(i,n.params[i]);a.upload.addEventListener("progress",function(e){var t=e.loaded/e.total*100;n.progress(t,e)},!1),a.addEventListener("loadstart",function(e){n.loadstart(e)},!1),a.addEventListener("load",function(e){n.load(e)},!1),a.addEventListener("loadend",function(e){n.loadend(e)},!1),a.addEventListener("error",function(e){n.error(e)},!1),a.addEventListener("abort",function(e){n.abort(e)},!1),a.open(n.method,n.action,!0),a.onreadystatechange=function(){if(n.readystatechange(a),4==a.readyState){var t=a.responseText;if("json"==n.type)try{t=e.$.parseJSON(t)}catch(o){t=!1}n.complete(t,a)}},n.beforeSend(a),a.send(o)}}if(!e.support.ajaxupload)return this;if(a=e.$.extend({},t.defaults,a),o.length){if("*.*"!==a.allow)for(var l,i=0;l=o[i];i++)if(!n(a.allow,l.name))return"string"==typeof a.notallowed?alert(a.notallowed):a.notallowed(l,a),void 0;var f=a.complete;if(a.single){var d=o.length,s=0,p=!0;a.beforeAll(o),a.complete=function(e,t){s+=1,f(e,t),a.filelimit&&s>=a.filelimit&&(p=!1),p&&d>s?r([o[s]],a):a.allcomplete(e,t)},r([o[0]],a)}else a.complete=function(e,t){f(e,t),a.allcomplete(e,t)},r(o,a)}}function n(e,t){var n="^"+e.replace(/\//g,"\\/").replace(/\*\*/g,"(\\/[^\\/]+)*").replace(/\*/g,"[^\\/]+").replace(/((?!\\))\?/g,"$1.")+"$";return n="^"+n+"$",null!==t.match(new RegExp(n,"i"))}return e.component("uploadSelect",{init:function(){var e=this;this.on("change",function(){t(e.element[0].files,e.options);var n=e.element.clone(!0).data("uploadSelect",e);e.element.replaceWith(n),e.element=n})}}),e.component("uploadDrop",{defaults:{dragoverClass:"uk-dragover"},init:function(){var e=this,n=!1;this.on("drop",function(n){n.dataTransfer&&n.dataTransfer.files&&(n.stopPropagation(),n.preventDefault(),e.element.removeClass(e.options.dragoverClass),e.element.trigger("dropped.uk.upload",[n.dataTransfer.files]),t(n.dataTransfer.files,e.options))}).on("dragenter",function(e){e.stopPropagation(),e.preventDefault()}).on("dragover",function(t){t.stopPropagation(),t.preventDefault(),n||(e.element.addClass(e.options.dragoverClass),n=!0)}).on("dragleave",function(t){t.stopPropagation(),t.preventDefault(),e.element.removeClass(e.options.dragoverClass),n=!1})}}),e.support.ajaxupload=function(){function e(){var e=document.createElement("INPUT");return e.type="file","files"in e}function t(){var e=new XMLHttpRequest;return!!(e&&"upload"in e&&"onprogress"in e.upload)}function n(){return!!window.FormData}return e()&&t()&&n()}(),e.support.ajaxupload&&e.$.event.props.push("dataTransfer"),t.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(e,t){alert("Only the following file types are allowed: "+t.allow)}},e.Utils.xhrupload=t,t}); \ No newline at end of file
diff --git a/uikit/static/js/core/alert.js b/uikit/static/js/core/alert.js
new file mode 100644
index 0000000..25ea2ad
--- /dev/null
+++ b/uikit/static/js/core/alert.js
@@ -0,0 +1,66 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ UI.component('alert', {
+
+ defaults: {
+ "fade": true,
+ "duration": 200,
+ "trigger": ".uk-alert-close"
+ },
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("click.alert.uikit", "[data-uk-alert]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (!ele.data("alert")) {
+
+ var alert = UI.alert(ele, UI.Utils.options(ele.attr("data-uk-alert")));
+
+ if (UI.$(e.target).is(alert.options.trigger)) {
+ e.preventDefault();
+ alert.close();
+ }
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.on("click", this.options.trigger, function(e) {
+ e.preventDefault();
+ $this.close();
+ });
+ },
+
+ close: function() {
+
+ var element = this.trigger("close.uk.alert"),
+ removeElement = function () {
+ this.trigger("closed.uk.alert").remove();
+ }.bind(this);
+
+ if (this.options.fade) {
+ element.css("overflow", "hidden").css("max-height", element.height()).animate({
+ "height" : 0,
+ "opacity" : 0,
+ "padding-top" : 0,
+ "padding-bottom" : 0,
+ "margin-top" : 0,
+ "margin-bottom" : 0
+ }, this.options.duration, removeElement);
+ } else {
+ removeElement();
+ }
+ }
+
+ });
+
+})(UIkit);
diff --git a/uikit/static/js/core/alert.min.js b/uikit/static/js/core/alert.min.js
new file mode 100644
index 0000000..224b4e1
--- /dev/null
+++ b/uikit/static/js/core/alert.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";t.component("alert",{defaults:{fade:!0,duration:200,trigger:".uk-alert-close"},boot:function(){t.$html.on("click.alert.uikit","[data-uk-alert]",function(i){var o=t.$(this);if(!o.data("alert")){var e=t.alert(o,t.Utils.options(o.attr("data-uk-alert")));t.$(i.target).is(e.options.trigger)&&(i.preventDefault(),e.close())}})},init:function(){var t=this;this.on("click",this.options.trigger,function(i){i.preventDefault(),t.close()})},close:function(){var t=this.trigger("close.uk.alert"),i=function(){this.trigger("closed.uk.alert").remove()}.bind(this);this.options.fade?t.css("overflow","hidden").css("max-height",t.height()).animate({height:0,opacity:0,"padding-top":0,"padding-bottom":0,"margin-top":0,"margin-bottom":0},this.options.duration,i):i()}})}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/button.js b/uikit/static/js/core/button.js
new file mode 100644
index 0000000..6256e55
--- /dev/null
+++ b/uikit/static/js/core/button.js
@@ -0,0 +1,154 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ UI.component('buttonRadio', {
+
+ defaults: {
+ "target": ".uk-button"
+ },
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("click.buttonradio.uikit", "[data-uk-button-radio]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (!ele.data("buttonRadio")) {
+
+ var obj = UI.buttonRadio(ele, UI.Utils.options(ele.attr("data-uk-button-radio"))),
+ target = UI.$(e.target);
+
+ if (target.is(obj.options.target)) {
+ target.trigger("click");
+ }
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ // Init ARIA
+ this.find($this.options.target).attr('aria-checked', 'false').filter(".uk-active").attr('aria-checked', 'true');
+
+ this.on("click", this.options.target, function(e) {
+
+ var ele = UI.$(this);
+
+ if (ele.is('a[href="#"]')) e.preventDefault();
+
+ $this.find($this.options.target).not(ele).removeClass("uk-active").blur();
+ ele.addClass("uk-active");
+
+ // Update ARIA
+ $this.find($this.options.target).not(ele).attr('aria-checked', 'false');
+ ele.attr('aria-checked', 'true');
+
+ $this.trigger("change.uk.button", [ele]);
+ });
+
+ },
+
+ getSelected: function() {
+ return this.find(".uk-active");
+ }
+ });
+
+ UI.component('buttonCheckbox', {
+
+ defaults: {
+ "target": ".uk-button"
+ },
+
+ boot: function() {
+
+ UI.$html.on("click.buttoncheckbox.uikit", "[data-uk-button-checkbox]", function(e) {
+ var ele = UI.$(this);
+
+ if (!ele.data("buttonCheckbox")) {
+
+ var obj = UI.buttonCheckbox(ele, UI.Utils.options(ele.attr("data-uk-button-checkbox"))),
+ target = UI.$(e.target);
+
+ if (target.is(obj.options.target)) {
+ target.trigger("click");
+ }
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ // Init ARIA
+ this.find($this.options.target).attr('aria-checked', 'false').filter(".uk-active").attr('aria-checked', 'true');
+
+ this.on("click", this.options.target, function(e) {
+ var ele = UI.$(this);
+
+ if (ele.is('a[href="#"]')) e.preventDefault();
+
+ ele.toggleClass("uk-active").blur();
+
+ // Update ARIA
+ ele.attr('aria-checked', ele.hasClass("uk-active"));
+
+ $this.trigger("change.uk.button", [ele]);
+ });
+
+ },
+
+ getSelected: function() {
+ return this.find(".uk-active");
+ }
+ });
+
+
+ UI.component('button', {
+
+ defaults: {},
+
+ boot: function() {
+
+ UI.$html.on("click.button.uikit", "[data-uk-button]", function(e) {
+ var ele = UI.$(this);
+
+ if (!ele.data("button")) {
+
+ var obj = UI.button(ele, UI.Utils.options(ele.attr("data-uk-button")));
+ ele.trigger("click");
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ // Init ARIA
+ this.element.attr('aria-pressed', this.element.hasClass("uk-active"));
+
+ this.on("click", function(e) {
+
+ if ($this.element.is('a[href="#"]')) e.preventDefault();
+
+ $this.toggle();
+ $this.trigger("change.uk.button", [$this.element.blur().hasClass("uk-active")]);
+ });
+
+ },
+
+ toggle: function() {
+ this.element.toggleClass("uk-active");
+
+ // Update ARIA
+ this.element.attr('aria-pressed', this.element.hasClass("uk-active"));
+ }
+ });
+
+})(UIkit);
diff --git a/uikit/static/js/core/button.min.js b/uikit/static/js/core/button.min.js
new file mode 100644
index 0000000..bac71ee
--- /dev/null
+++ b/uikit/static/js/core/button.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";t.component("buttonRadio",{defaults:{target:".uk-button"},boot:function(){t.$html.on("click.buttonradio.uikit","[data-uk-button-radio]",function(i){var e=t.$(this);if(!e.data("buttonRadio")){var a=t.buttonRadio(e,t.Utils.options(e.attr("data-uk-button-radio"))),n=t.$(i.target);n.is(a.options.target)&&n.trigger("click")}})},init:function(){var i=this;this.find(i.options.target).attr("aria-checked","false").filter(".uk-active").attr("aria-checked","true"),this.on("click",this.options.target,function(e){var a=t.$(this);a.is('a[href="#"]')&&e.preventDefault(),i.find(i.options.target).not(a).removeClass("uk-active").blur(),a.addClass("uk-active"),i.find(i.options.target).not(a).attr("aria-checked","false"),a.attr("aria-checked","true"),i.trigger("change.uk.button",[a])})},getSelected:function(){return this.find(".uk-active")}}),t.component("buttonCheckbox",{defaults:{target:".uk-button"},boot:function(){t.$html.on("click.buttoncheckbox.uikit","[data-uk-button-checkbox]",function(i){var e=t.$(this);if(!e.data("buttonCheckbox")){var a=t.buttonCheckbox(e,t.Utils.options(e.attr("data-uk-button-checkbox"))),n=t.$(i.target);n.is(a.options.target)&&n.trigger("click")}})},init:function(){var i=this;this.find(i.options.target).attr("aria-checked","false").filter(".uk-active").attr("aria-checked","true"),this.on("click",this.options.target,function(e){var a=t.$(this);a.is('a[href="#"]')&&e.preventDefault(),a.toggleClass("uk-active").blur(),a.attr("aria-checked",a.hasClass("uk-active")),i.trigger("change.uk.button",[a])})},getSelected:function(){return this.find(".uk-active")}}),t.component("button",{defaults:{},boot:function(){t.$html.on("click.button.uikit","[data-uk-button]",function(){var i=t.$(this);if(!i.data("button")){{t.button(i,t.Utils.options(i.attr("data-uk-button")))}i.trigger("click")}})},init:function(){var t=this;this.element.attr("aria-pressed",this.element.hasClass("uk-active")),this.on("click",function(i){t.element.is('a[href="#"]')&&i.preventDefault(),t.toggle(),t.trigger("change.uk.button",[t.element.blur().hasClass("uk-active")])})},toggle:function(){this.element.toggleClass("uk-active"),this.element.attr("aria-pressed",this.element.hasClass("uk-active"))}})}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/core.js b/uikit/static/js/core/core.js
new file mode 100644
index 0000000..096ff49
--- /dev/null
+++ b/uikit/static/js/core/core.js
@@ -0,0 +1,722 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(core) {
+
+ if (typeof define == "function" && define.amd) { // AMD
+
+ define("uikit", function(){
+
+ var uikit = window.UIkit || core(window, window.jQuery, window.document);
+
+ uikit.load = function(res, req, onload, config) {
+
+ var resources = res.split(','), load = [], i, base = (config.config && config.config.uikit && config.config.uikit.base ? config.config.uikit.base : "").replace(/\/+$/g, "");
+
+ if (!base) {
+ throw new Error( "Please define base path to UIkit in the requirejs config." );
+ }
+
+ for (i = 0; i < resources.length; i += 1) {
+ var resource = resources[i].replace(/\./g, '/');
+ load.push(base+'/components/'+resource);
+ }
+
+ req(load, function() {
+ onload(uikit);
+ });
+ };
+
+ return uikit;
+ });
+ }
+
+ if (!window.jQuery) {
+ throw new Error( "UIkit requires jQuery" );
+ }
+
+ if (window && window.jQuery) {
+ core(window, window.jQuery, window.document);
+ }
+
+
+})(function(global, $, doc) {
+
+ "use strict";
+
+ var UI = {}, _UI = global.UIkit ? Object.create(global.UIkit) : undefined;
+
+ UI.version = '2.21.0';
+
+ UI.noConflict = function() {
+ // restore UIkit version
+ if (_UI) {
+ global.UIkit = _UI;
+ $.UIkit = _UI;
+ $.fn.uk = _UI.fn;
+ }
+
+ return UI;
+ };
+
+ UI.prefix = function(str) {
+ return str;
+ };
+
+ // cache jQuery
+ UI.$ = $;
+
+ UI.$doc = UI.$(document);
+ UI.$win = UI.$(window);
+ UI.$html = UI.$('html');
+
+ UI.support = {};
+ UI.support.transition = (function() {
+
+ var transitionEnd = (function() {
+
+ var element = doc.body || doc.documentElement,
+ transEndEventNames = {
+ WebkitTransition : 'webkitTransitionEnd',
+ MozTransition : 'transitionend',
+ OTransition : 'oTransitionEnd otransitionend',
+ transition : 'transitionend'
+ }, name;
+
+ for (name in transEndEventNames) {
+ if (element.style[name] !== undefined) return transEndEventNames[name];
+ }
+ }());
+
+ return transitionEnd && { end: transitionEnd };
+ })();
+
+ UI.support.animation = (function() {
+
+ var animationEnd = (function() {
+
+ var element = doc.body || doc.documentElement,
+ animEndEventNames = {
+ WebkitAnimation : 'webkitAnimationEnd',
+ MozAnimation : 'animationend',
+ OAnimation : 'oAnimationEnd oanimationend',
+ animation : 'animationend'
+ }, name;
+
+ for (name in animEndEventNames) {
+ if (element.style[name] !== undefined) return animEndEventNames[name];
+ }
+ }());
+
+ return animationEnd && { end: animationEnd };
+ })();
+
+ // requestAnimationFrame polyfill
+ // https://gist.github.com/paulirish/1579671
+ (function(){
+
+ var lastTime = 0;
+
+ global.requestAnimationFrame = global.requestAnimationFrame || global.webkitRequestAnimationFrame || function(callback, element) {
+ var currTime = new Date().getTime();
+ var timeToCall = Math.max(0, 16 - (currTime - lastTime));
+ var id = global.setTimeout(function() { callback(currTime + timeToCall); }, timeToCall);
+ lastTime = currTime + timeToCall;
+ return id;
+ };
+
+ if (!global.cancelAnimationFrame) {
+
+ global.cancelAnimationFrame = function(id) {
+ clearTimeout(id);
+ };
+ }
+
+ })();
+
+ UI.support.touch = (
+ ('ontouchstart' in document) ||
+ (global.DocumentTouch && document instanceof global.DocumentTouch) ||
+ (global.navigator.msPointerEnabled && global.navigator.msMaxTouchPoints > 0) || //IE 10
+ (global.navigator.pointerEnabled && global.navigator.maxTouchPoints > 0) || //IE >=11
+ false
+ );
+
+ UI.support.mutationobserver = (global.MutationObserver || global.WebKitMutationObserver || null);
+
+ UI.Utils = {};
+
+ UI.Utils.isFullscreen = function() {
+ return document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || document.fullscreenElement || false;
+ };
+
+ UI.Utils.str2json = function(str, notevil) {
+ try {
+ if (notevil) {
+ return JSON.parse(str
+ // wrap keys without quote with valid double quote
+ .replace(/([\$\w]+)\s*:/g, function(_, $1){return '"'+$1+'":';})
+ // replacing single quote wrapped ones to double quote
+ .replace(/'([^']+)'/g, function(_, $1){return '"'+$1+'"';})
+ );
+ } else {
+ return (new Function("", "var json = " + str + "; return JSON.parse(JSON.stringify(json));"))();
+ }
+ } catch(e) { return false; }
+ };
+
+ UI.Utils.debounce = function(func, wait, immediate) {
+ var timeout;
+ return function() {
+ var context = this, args = arguments;
+ var later = function() {
+ timeout = null;
+ if (!immediate) func.apply(context, args);
+ };
+ var callNow = immediate && !timeout;
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+ if (callNow) func.apply(context, args);
+ };
+ };
+
+ UI.Utils.removeCssRules = function(selectorRegEx) {
+ var idx, idxs, stylesheet, _i, _j, _k, _len, _len1, _len2, _ref;
+
+ if(!selectorRegEx) return;
+
+ setTimeout(function(){
+ try {
+ _ref = document.styleSheets;
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ stylesheet = _ref[_i];
+ idxs = [];
+ stylesheet.cssRules = stylesheet.cssRules;
+ for (idx = _j = 0, _len1 = stylesheet.cssRules.length; _j < _len1; idx = ++_j) {
+ if (stylesheet.cssRules[idx].type === CSSRule.STYLE_RULE && selectorRegEx.test(stylesheet.cssRules[idx].selectorText)) {
+ idxs.unshift(idx);
+ }
+ }
+ for (_k = 0, _len2 = idxs.length; _k < _len2; _k++) {
+ stylesheet.deleteRule(idxs[_k]);
+ }
+ }
+ } catch (_error) {}
+ }, 0);
+ };
+
+ UI.Utils.isInView = function(element, options) {
+
+ var $element = $(element);
+
+ if (!$element.is(':visible')) {
+ return false;
+ }
+
+ var window_left = UI.$win.scrollLeft(), window_top = UI.$win.scrollTop(), offset = $element.offset(), left = offset.left, top = offset.top;
+
+ options = $.extend({topoffset:0, leftoffset:0}, options);
+
+ if (top + $element.height() >= window_top && top - options.topoffset <= window_top + UI.$win.height() &&
+ left + $element.width() >= window_left && left - options.leftoffset <= window_left + UI.$win.width()) {
+ return true;
+ } else {
+ return false;
+ }
+ };
+
+ UI.Utils.checkDisplay = function(context, initanimation) {
+
+ var elements = UI.$('[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]', context || document), animated;
+
+ if (context && !elements.length) {
+ elements = $(context);
+ }
+
+ elements.trigger('display.uk.check');
+
+ // fix firefox / IE animations
+ if (initanimation) {
+
+ if (typeof(initanimation)!='string') {
+ initanimation = '[class*="uk-animation-"]';
+ }
+
+ elements.find(initanimation).each(function(){
+
+ var ele = UI.$(this),
+ cls = ele.attr('class'),
+ anim = cls.match(/uk\-animation\-(.+)/);
+
+ ele.removeClass(anim[0]).width();
+
+ ele.addClass(anim[0]);
+ });
+ }
+
+ return elements;
+ };
+
+ UI.Utils.options = function(string) {
+
+ if ($.isPlainObject(string)) return string;
+
+ var start = (string ? string.indexOf("{") : -1), options = {};
+
+ if (start != -1) {
+ try {
+ options = UI.Utils.str2json(string.substr(start));
+ } catch (e) {}
+ }
+
+ return options;
+ };
+
+ UI.Utils.animate = function(element, cls) {
+
+ var d = $.Deferred();
+
+ element = UI.$(element);
+ cls = cls;
+
+ element.css('display', 'none').addClass(cls).one(UI.support.animation.end, function() {
+ element.removeClass(cls);
+ d.resolve();
+ }).width();
+
+ element.css('display', '');
+
+ return d.promise();
+ };
+
+ UI.Utils.uid = function(prefix) {
+ return (prefix || 'id') + (new Date().getTime())+"RAND"+(Math.ceil(Math.random() * 100000));
+ };
+
+ UI.Utils.template = function(str, data) {
+
+ var tokens = str.replace(/\n/g, '\\n').replace(/\{\{\{\s*(.+?)\s*\}\}\}/g, "{{!$1}}").split(/(\{\{\s*(.+?)\s*\}\})/g),
+ i=0, toc, cmd, prop, val, fn, output = [], openblocks = 0;
+
+ while(i < tokens.length) {
+
+ toc = tokens[i];
+
+ if(toc.match(/\{\{\s*(.+?)\s*\}\}/)) {
+ i = i + 1;
+ toc = tokens[i];
+ cmd = toc[0];
+ prop = toc.substring(toc.match(/^(\^|\#|\!|\~|\:)/) ? 1:0);
+
+ switch(cmd) {
+ case '~':
+ output.push("for(var $i=0;$i<"+prop+".length;$i++) { var $item = "+prop+"[$i];");
+ openblocks++;
+ break;
+ case ':':
+ output.push("for(var $key in "+prop+") { var $val = "+prop+"[$key];");
+ openblocks++;
+ break;
+ case '#':
+ output.push("if("+prop+") {");
+ openblocks++;
+ break;
+ case '^':
+ output.push("if(!"+prop+") {");
+ openblocks++;
+ break;
+ case '/':
+ output.push("}");
+ openblocks--;
+ break;
+ case '!':
+ output.push("__ret.push("+prop+");");
+ break;
+ default:
+ output.push("__ret.push(escape("+prop+"));");
+ break;
+ }
+ } else {
+ output.push("__ret.push('"+toc.replace(/\'/g, "\\'")+"');");
+ }
+ i = i + 1;
+ }
+
+ fn = new Function('$data', [
+ 'var __ret = [];',
+ 'try {',
+ 'with($data){', (!openblocks ? output.join('') : '__ret = ["Not all blocks are closed correctly."]'), '};',
+ '}catch(e){__ret = [e.message];}',
+ 'return __ret.join("").replace(/\\n\\n/g, "\\n");',
+ "function escape(html) { return String(html).replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');}"
+ ].join("\n"));
+
+ return data ? fn(data) : fn;
+ };
+
+ UI.Utils.events = {};
+ UI.Utils.events.click = UI.support.touch ? 'tap' : 'click';
+
+ global.UIkit = UI;
+
+ // deprecated
+
+ UI.fn = function(command, options) {
+
+ var args = arguments, cmd = command.match(/^([a-z\-]+)(?:\.([a-z]+))?/i), component = cmd[1], method = cmd[2];
+
+ if (!UI[component]) {
+ $.error("UIkit component [" + component + "] does not exist.");
+ return this;
+ }
+
+ return this.each(function() {
+ var $this = $(this), data = $this.data(component);
+ if (!data) $this.data(component, (data = UI[component](this, method ? undefined : options)));
+ if (method) data[method].apply(data, Array.prototype.slice.call(args, 1));
+ });
+ };
+
+ $.UIkit = UI;
+ $.fn.uk = UI.fn;
+
+ UI.langdirection = UI.$html.attr("dir") == "rtl" ? "right" : "left";
+
+ UI.components = {};
+
+ UI.component = function(name, def) {
+
+ var fn = function(element, options) {
+
+ var $this = this;
+
+ this.UIkit = UI;
+ this.element = element ? UI.$(element) : null;
+ this.options = $.extend(true, {}, this.defaults, options);
+ this.plugins = {};
+
+ if (this.element) {
+ this.element.data(name, this);
+ }
+
+ this.init();
+
+ (this.options.plugins.length ? this.options.plugins : Object.keys(fn.plugins)).forEach(function(plugin) {
+
+ if (fn.plugins[plugin].init) {
+ fn.plugins[plugin].init($this);
+ $this.plugins[plugin] = true;
+ }
+
+ });
+
+ this.trigger('init.uk.component', [name, this]);
+
+ return this;
+ };
+
+ fn.plugins = {};
+
+ $.extend(true, fn.prototype, {
+
+ defaults : {plugins: []},
+
+ boot: function(){},
+ init: function(){},
+
+ on: function(a1,a2,a3){
+ return UI.$(this.element || this).on(a1,a2,a3);
+ },
+
+ one: function(a1,a2,a3){
+ return UI.$(this.element || this).one(a1,a2,a3);
+ },
+
+ off: function(evt){
+ return UI.$(this.element || this).off(evt);
+ },
+
+ trigger: function(evt, params) {
+ return UI.$(this.element || this).trigger(evt, params);
+ },
+
+ find: function(selector) {
+ return UI.$(this.element ? this.element: []).find(selector);
+ },
+
+ proxy: function(obj, methods) {
+
+ var $this = this;
+
+ methods.split(' ').forEach(function(method) {
+ if (!$this[method]) $this[method] = function() { return obj[method].apply(obj, arguments); };
+ });
+ },
+
+ mixin: function(obj, methods) {
+
+ var $this = this;
+
+ methods.split(' ').forEach(function(method) {
+ if (!$this[method]) $this[method] = obj[method].bind($this);
+ });
+ },
+
+ option: function() {
+
+ if (arguments.length == 1) {
+ return this.options[arguments[0]] || undefined;
+ } else if (arguments.length == 2) {
+ this.options[arguments[0]] = arguments[1];
+ }
+ }
+
+ }, def);
+
+ this.components[name] = fn;
+
+ this[name] = function() {
+
+ var element, options;
+
+ if (arguments.length) {
+
+ switch(arguments.length) {
+ case 1:
+
+ if (typeof arguments[0] === "string" || arguments[0].nodeType || arguments[0] instanceof jQuery) {
+ element = $(arguments[0]);
+ } else {
+ options = arguments[0];
+ }
+
+ break;
+ case 2:
+
+ element = $(arguments[0]);
+ options = arguments[1];
+ break;
+ }
+ }
+
+ if (element && element.data(name)) {
+ return element.data(name);
+ }
+
+ return (new UI.components[name](element, options));
+ };
+
+ if (UI.domready) {
+ UI.component.boot(name);
+ }
+
+ return fn;
+ };
+
+ UI.plugin = function(component, name, def) {
+ this.components[component].plugins[name] = def;
+ };
+
+ UI.component.boot = function(name) {
+
+ if (UI.components[name].prototype && UI.components[name].prototype.boot && !UI.components[name].booted) {
+ UI.components[name].prototype.boot.apply(UI, []);
+ UI.components[name].booted = true;
+ }
+ };
+
+ UI.component.bootComponents = function() {
+
+ for (var component in UI.components) {
+ UI.component.boot(component);
+ }
+ };
+
+
+ // DOM mutation save ready helper function
+
+ UI.domObservers = [];
+ UI.domready = false;
+
+ UI.ready = function(fn) {
+
+ UI.domObservers.push(fn);
+
+ if (UI.domready) {
+ fn(document);
+ }
+ };
+
+ UI.on = function(a1,a2,a3){
+
+ if (a1 && a1.indexOf('ready.uk.dom') > -1 && UI.domready) {
+ a2.apply(UI.$doc);
+ }
+
+ return UI.$doc.on(a1,a2,a3);
+ };
+
+ UI.one = function(a1,a2,a3){
+
+ if (a1 && a1.indexOf('ready.uk.dom') > -1 && UI.domready) {
+ a2.apply(UI.$doc);
+ return UI.$doc;
+ }
+
+ return UI.$doc.one(a1,a2,a3);
+ };
+
+ UI.trigger = function(evt, params) {
+ return UI.$doc.trigger(evt, params);
+ };
+
+ UI.domObserve = function(selector, fn) {
+
+ if(!UI.support.mutationobserver) return;
+
+ fn = fn || function() {};
+
+ UI.$(selector).each(function() {
+
+ var element = this,
+ $element = UI.$(element);
+
+ if ($element.data('observer')) {
+ return;
+ }
+
+ try {
+
+ var observer = new UI.support.mutationobserver(UI.Utils.debounce(function(mutations) {
+ fn.apply(element, []);
+ $element.trigger('changed.uk.dom');
+ }, 50));
+
+ // pass in the target node, as well as the observer options
+ observer.observe(element, { childList: true, subtree: true });
+
+ $element.data('observer', observer);
+
+ } catch(e) {}
+ });
+ };
+
+ UI.init = function(root) {
+
+ root = root || document;
+
+ UI.domObservers.forEach(function(fn){
+ fn(root);
+ });
+ };
+
+ UI.on('domready.uk.dom', function(){
+
+ UI.init();
+
+ if (UI.domready) UI.Utils.checkDisplay();
+ });
+
+ $(function(){
+
+ UI.$body = UI.$('body');
+
+ UI.ready(function(context){
+ UI.domObserve('[data-uk-observe]');
+ });
+
+ UI.on('changed.uk.dom', function(e) {
+ UI.init(e.target);
+ UI.Utils.checkDisplay(e.target);
+ });
+
+ UI.trigger('beforeready.uk.dom');
+
+ UI.component.bootComponents();
+
+ // custom scroll observer
+ setInterval((function(){
+
+ var memory = {x: window.pageXOffset, y:window.pageYOffset}, dir;
+
+ var fn = function(){
+
+ if (memory.x != window.pageXOffset || memory.y != window.pageYOffset) {
+
+ dir = {x: 0 , y: 0};
+
+ if (window.pageXOffset != memory.x) dir.x = window.pageXOffset > memory.x ? 1:-1;
+ if (window.pageYOffset != memory.y) dir.y = window.pageYOffset > memory.y ? 1:-1;
+
+ memory = {
+ "dir": dir, "x": window.pageXOffset, "y": window.pageYOffset
+ };
+
+ UI.$doc.trigger('scrolling.uk.document', [memory]);
+ }
+ };
+
+ if (UI.support.touch) {
+ UI.$html.on('touchmove touchend MSPointerMove MSPointerUp pointermove pointerup', fn);
+ }
+
+ if (memory.x || memory.y) fn();
+
+ return fn;
+
+ })(), 15);
+
+ // run component init functions on dom
+ UI.trigger('domready.uk.dom');
+
+ if (UI.support.touch) {
+
+ // remove css hover rules for touch devices
+ // UI.Utils.removeCssRules(/\.uk-(?!navbar).*:hover/);
+
+ // viewport unit fix for uk-height-viewport - should be fixed in iOS 8
+ if (navigator.userAgent.match(/(iPad|iPhone|iPod)/g)) {
+
+ UI.$win.on('load orientationchange resize', UI.Utils.debounce((function(){
+
+ var fn = function() {
+ $('.uk-height-viewport').css('height', window.innerHeight);
+ return fn;
+ };
+
+ return fn();
+
+ })(), 100));
+ }
+ }
+
+ UI.trigger('afterready.uk.dom');
+
+ // mark that domready is left behind
+ UI.domready = true;
+ });
+
+ // add touch identifier class
+ UI.$html.addClass(UI.support.touch ? "uk-touch" : "uk-notouch");
+
+ // add uk-hover class on tap to support overlays on touch devices
+ if (UI.support.touch) {
+
+ var hoverset = false, exclude, hovercls = 'uk-hover', selector = '.uk-overlay, .uk-overlay-hover, .uk-overlay-toggle, .uk-animation-hover, .uk-has-hover';
+
+ UI.$html.on('touchstart MSPointerDown pointerdown', selector, function() {
+
+ if (hoverset) $('.'+hovercls).removeClass(hovercls);
+
+ hoverset = $(this).addClass(hovercls);
+
+ }).on('touchend MSPointerUp pointerup', function(e) {
+
+ exclude = $(e.target).parents(selector);
+
+ if (hoverset) {
+ hoverset.not(exclude).removeClass(hovercls);
+ }
+ });
+ }
+
+ return UI;
+});
diff --git a/uikit/static/js/core/core.min.js b/uikit/static/js/core/core.min.js
new file mode 100644
index 0000000..42c051f
--- /dev/null
+++ b/uikit/static/js/core/core.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){if("function"==typeof define&&define.amd&&define("uikit",function(){var n=window.UIkit||t(window,window.jQuery,window.document);return n.load=function(t,e,o,i){var r,s=t.split(","),a=[],u=(i.config&&i.config.uikit&&i.config.uikit.base?i.config.uikit.base:"").replace(/\/+$/g,"");if(!u)throw new Error("Please define base path to UIkit in the requirejs config.");for(r=0;r<s.length;r+=1){var c=s[r].replace(/\./g,"/");a.push(u+"/components/"+c)}e(a,function(){o(n)})},n}),!window.jQuery)throw new Error("UIkit requires jQuery");window&&window.jQuery&&t(window,window.jQuery,window.document)}(function(t,n,e){"use strict";var o={},i=t.UIkit?Object.create(t.UIkit):void 0;if(o.version="2.21.0",o.noConflict=function(){return i&&(t.UIkit=i,n.UIkit=i,n.fn.uk=i.fn),o},o.prefix=function(t){return t},o.$=n,o.$doc=o.$(document),o.$win=o.$(window),o.$html=o.$("html"),o.support={},o.support.transition=function(){var t=function(){var t,n=e.body||e.documentElement,o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(t in o)if(void 0!==n.style[t])return o[t]}();return t&&{end:t}}(),o.support.animation=function(){var t=function(){var t,n=e.body||e.documentElement,o={WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd oanimationend",animation:"animationend"};for(t in o)if(void 0!==n.style[t])return o[t]}();return t&&{end:t}}(),function(){var n=0;t.requestAnimationFrame=t.requestAnimationFrame||t.webkitRequestAnimationFrame||function(e){var o=(new Date).getTime(),i=Math.max(0,16-(o-n)),r=t.setTimeout(function(){e(o+i)},i);return n=o+i,r},t.cancelAnimationFrame||(t.cancelAnimationFrame=function(t){clearTimeout(t)})}(),o.support.touch="ontouchstart"in document||t.DocumentTouch&&document instanceof t.DocumentTouch||t.navigator.msPointerEnabled&&t.navigator.msMaxTouchPoints>0||t.navigator.pointerEnabled&&t.navigator.maxTouchPoints>0||!1,o.support.mutationobserver=t.MutationObserver||t.WebKitMutationObserver||null,o.Utils={},o.Utils.isFullscreen=function(){return document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.fullscreenElement||!1},o.Utils.str2json=function(t,n){try{return n?JSON.parse(t.replace(/([\$\w]+)\s*:/g,function(t,n){return'"'+n+'":'}).replace(/'([^']+)'/g,function(t,n){return'"'+n+'"'})):new Function("","var json = "+t+"; return JSON.parse(JSON.stringify(json));")()}catch(e){return!1}},o.Utils.debounce=function(t,n,e){var o;return function(){var i=this,r=arguments,s=function(){o=null,e||t.apply(i,r)},a=e&&!o;clearTimeout(o),o=setTimeout(s,n),a&&t.apply(i,r)}},o.Utils.removeCssRules=function(t){var n,e,o,i,r,s,a,u,c,d;t&&setTimeout(function(){try{for(d=document.styleSheets,i=0,a=d.length;a>i;i++){for(o=d[i],e=[],o.cssRules=o.cssRules,n=r=0,u=o.cssRules.length;u>r;n=++r)o.cssRules[n].type===CSSRule.STYLE_RULE&&t.test(o.cssRules[n].selectorText)&&e.unshift(n);for(s=0,c=e.length;c>s;s++)o.deleteRule(e[s])}}catch(l){}},0)},o.Utils.isInView=function(t,e){var i=n(t);if(!i.is(":visible"))return!1;var r=o.$win.scrollLeft(),s=o.$win.scrollTop(),a=i.offset(),u=a.left,c=a.top;return e=n.extend({topoffset:0,leftoffset:0},e),c+i.height()>=s&&c-e.topoffset<=s+o.$win.height()&&u+i.width()>=r&&u-e.leftoffset<=r+o.$win.width()?!0:!1},o.Utils.checkDisplay=function(t,e){var i=o.$("[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]",t||document);return t&&!i.length&&(i=n(t)),i.trigger("display.uk.check"),e&&("string"!=typeof e&&(e='[class*="uk-animation-"]'),i.find(e).each(function(){var t=o.$(this),n=t.attr("class"),e=n.match(/uk\-animation\-(.+)/);t.removeClass(e[0]).width(),t.addClass(e[0])})),i},o.Utils.options=function(t){if(n.isPlainObject(t))return t;var e=t?t.indexOf("{"):-1,i={};if(-1!=e)try{i=o.Utils.str2json(t.substr(e))}catch(r){}return i},o.Utils.animate=function(t,e){var i=n.Deferred();return t=o.$(t),e=e,t.css("display","none").addClass(e).one(o.support.animation.end,function(){t.removeClass(e),i.resolve()}).width(),t.css("display",""),i.promise()},o.Utils.uid=function(t){return(t||"id")+(new Date).getTime()+"RAND"+Math.ceil(1e5*Math.random())},o.Utils.template=function(t,n){for(var e,o,i,r,s=t.replace(/\n/g,"\\n").replace(/\{\{\{\s*(.+?)\s*\}\}\}/g,"{{!$1}}").split(/(\{\{\s*(.+?)\s*\}\})/g),a=0,u=[],c=0;a<s.length;){if(e=s[a],e.match(/\{\{\s*(.+?)\s*\}\}/))switch(a+=1,e=s[a],o=e[0],i=e.substring(e.match(/^(\^|\#|\!|\~|\:)/)?1:0),o){case"~":u.push("for(var $i=0;$i<"+i+".length;$i++) { var $item = "+i+"[$i];"),c++;break;case":":u.push("for(var $key in "+i+") { var $val = "+i+"[$key];"),c++;break;case"#":u.push("if("+i+") {"),c++;break;case"^":u.push("if(!"+i+") {"),c++;break;case"/":u.push("}"),c--;break;case"!":u.push("__ret.push("+i+");");break;default:u.push("__ret.push(escape("+i+"));")}else u.push("__ret.push('"+e.replace(/\'/g,"\\'")+"');");a+=1}return r=new Function("$data",["var __ret = [];","try {","with($data){",c?'__ret = ["Not all blocks are closed correctly."]':u.join(""),"};","}catch(e){__ret = [e.message];}",'return __ret.join("").replace(/\\n\\n/g, "\\n");',"function escape(html) { return String(html).replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');}"].join("\n")),n?r(n):r},o.Utils.events={},o.Utils.events.click=o.support.touch?"tap":"click",t.UIkit=o,o.fn=function(t,e){var i=arguments,r=t.match(/^([a-z\-]+)(?:\.([a-z]+))?/i),s=r[1],a=r[2];return o[s]?this.each(function(){var t=n(this),r=t.data(s);r||t.data(s,r=o[s](this,a?void 0:e)),a&&r[a].apply(r,Array.prototype.slice.call(i,1))}):(n.error("UIkit component ["+s+"] does not exist."),this)},n.UIkit=o,n.fn.uk=o.fn,o.langdirection="rtl"==o.$html.attr("dir")?"right":"left",o.components={},o.component=function(t,e){var i=function(e,r){var s=this;return this.UIkit=o,this.element=e?o.$(e):null,this.options=n.extend(!0,{},this.defaults,r),this.plugins={},this.element&&this.element.data(t,this),this.init(),(this.options.plugins.length?this.options.plugins:Object.keys(i.plugins)).forEach(function(t){i.plugins[t].init&&(i.plugins[t].init(s),s.plugins[t]=!0)}),this.trigger("init.uk.component",[t,this]),this};return i.plugins={},n.extend(!0,i.prototype,{defaults:{plugins:[]},boot:function(){},init:function(){},on:function(t,n,e){return o.$(this.element||this).on(t,n,e)},one:function(t,n,e){return o.$(this.element||this).one(t,n,e)},off:function(t){return o.$(this.element||this).off(t)},trigger:function(t,n){return o.$(this.element||this).trigger(t,n)},find:function(t){return o.$(this.element?this.element:[]).find(t)},proxy:function(t,n){var e=this;n.split(" ").forEach(function(n){e[n]||(e[n]=function(){return t[n].apply(t,arguments)})})},mixin:function(t,n){var e=this;n.split(" ").forEach(function(n){e[n]||(e[n]=t[n].bind(e))})},option:function(){return 1==arguments.length?this.options[arguments[0]]||void 0:(2==arguments.length&&(this.options[arguments[0]]=arguments[1]),void 0)}},e),this.components[t]=i,this[t]=function(){var e,i;if(arguments.length)switch(arguments.length){case 1:"string"==typeof arguments[0]||arguments[0].nodeType||arguments[0]instanceof jQuery?e=n(arguments[0]):i=arguments[0];break;case 2:e=n(arguments[0]),i=arguments[1]}return e&&e.data(t)?e.data(t):new o.components[t](e,i)},o.domready&&o.component.boot(t),i},o.plugin=function(t,n,e){this.components[t].plugins[n]=e},o.component.boot=function(t){o.components[t].prototype&&o.components[t].prototype.boot&&!o.components[t].booted&&(o.components[t].prototype.boot.apply(o,[]),o.components[t].booted=!0)},o.component.bootComponents=function(){for(var t in o.components)o.component.boot(t)},o.domObservers=[],o.domready=!1,o.ready=function(t){o.domObservers.push(t),o.domready&&t(document)},o.on=function(t,n,e){return t&&t.indexOf("ready.uk.dom")>-1&&o.domready&&n.apply(o.$doc),o.$doc.on(t,n,e)},o.one=function(t,n,e){return t&&t.indexOf("ready.uk.dom")>-1&&o.domready?(n.apply(o.$doc),o.$doc):o.$doc.one(t,n,e)},o.trigger=function(t,n){return o.$doc.trigger(t,n)},o.domObserve=function(t,n){o.support.mutationobserver&&(n=n||function(){},o.$(t).each(function(){var t=this,e=o.$(t);if(!e.data("observer"))try{var i=new o.support.mutationobserver(o.Utils.debounce(function(){n.apply(t,[]),e.trigger("changed.uk.dom")},50));i.observe(t,{childList:!0,subtree:!0}),e.data("observer",i)}catch(r){}}))},o.init=function(t){t=t||document,o.domObservers.forEach(function(n){n(t)})},o.on("domready.uk.dom",function(){o.init(),o.domready&&o.Utils.checkDisplay()}),n(function(){o.$body=o.$("body"),o.ready(function(){o.domObserve("[data-uk-observe]")}),o.on("changed.uk.dom",function(t){o.init(t.target),o.Utils.checkDisplay(t.target)}),o.trigger("beforeready.uk.dom"),o.component.bootComponents(),setInterval(function(){var t,n={x:window.pageXOffset,y:window.pageYOffset},e=function(){(n.x!=window.pageXOffset||n.y!=window.pageYOffset)&&(t={x:0,y:0},window.pageXOffset!=n.x&&(t.x=window.pageXOffset>n.x?1:-1),window.pageYOffset!=n.y&&(t.y=window.pageYOffset>n.y?1:-1),n={dir:t,x:window.pageXOffset,y:window.pageYOffset},o.$doc.trigger("scrolling.uk.document",[n]))};return o.support.touch&&o.$html.on("touchmove touchend MSPointerMove MSPointerUp pointermove pointerup",e),(n.x||n.y)&&e(),e}(),15),o.trigger("domready.uk.dom"),o.support.touch&&navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&o.$win.on("load orientationchange resize",o.Utils.debounce(function(){var t=function(){return n(".uk-height-viewport").css("height",window.innerHeight),t};return t()}(),100)),o.trigger("afterready.uk.dom"),o.domready=!0}),o.$html.addClass(o.support.touch?"uk-touch":"uk-notouch"),o.support.touch){var r,s=!1,a="uk-hover",u=".uk-overlay, .uk-overlay-hover, .uk-overlay-toggle, .uk-animation-hover, .uk-has-hover";o.$html.on("touchstart MSPointerDown pointerdown",u,function(){s&&n("."+a).removeClass(a),s=n(this).addClass(a)}).on("touchend MSPointerUp pointerup",function(t){r=n(t.target).parents(u),s&&s.not(r).removeClass(a)})}return o}); \ No newline at end of file
diff --git a/uikit/static/js/core/cover.js b/uikit/static/js/core/cover.js
new file mode 100644
index 0000000..a505b78
--- /dev/null
+++ b/uikit/static/js/core/cover.js
@@ -0,0 +1,95 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI){
+
+ "use strict";
+
+ UI.component('cover', {
+
+ defaults: {
+ automute : true
+ },
+
+ boot: function() {
+
+ // auto init
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-cover]", context).each(function(){
+
+ var ele = UI.$(this);
+
+ if(!ele.data("cover")) {
+ var plugin = UI.cover(ele, UI.Utils.options(ele.attr("data-uk-cover")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ this.parent = this.element.parent();
+
+ UI.$win.on('load resize orientationchange', UI.Utils.debounce(function(){
+ this.check();
+ }.bind(this), 100));
+
+ this.on("display.uk.check", function(e) {
+ if(this.element.is(":visible")) this.check();
+ }.bind(this));
+
+ this.check();
+
+ if (this.element.is('iframe') && this.options.automute) {
+
+ var src = this.element.attr('src');
+
+ this.element.attr('src', '').on('load', function(){
+
+ this.contentWindow.postMessage('{ "event": "command", "func": "mute", "method":"setVolume", "value":0}', '*');
+
+ }).attr('src', [src, (src.indexOf('?') > -1 ? '&':'?'), 'enablejsapi=1&api=1'].join(''));
+ }
+ },
+
+ check: function() {
+
+ this.element.css({
+ 'width' : '',
+ 'height' : ''
+ });
+
+ this.dimension = {w: this.element.width(), h: this.element.height()};
+
+ if (this.element.attr('width') && !isNaN(this.element.attr('width'))) {
+ this.dimension.w = this.element.attr('width');
+ }
+
+ if (this.element.attr('height') && !isNaN(this.element.attr('height'))) {
+ this.dimension.h = this.element.attr('height');
+ }
+
+ this.ratio = this.dimension.w / this.dimension.h;
+
+ var w = this.parent.width(), h = this.parent.height(), width, height;
+
+ // if element height < parent height (gap underneath)
+ if ((w / this.ratio) < h) {
+
+ width = Math.ceil(h * this.ratio);
+ height = h;
+
+ // element width < parent width (gap to right)
+ } else {
+
+ width = w;
+ height = Math.ceil(w / this.ratio);
+ }
+
+ this.element.css({
+ 'width' : width,
+ 'height' : height
+ });
+ }
+ });
+
+})(UIkit);
diff --git a/uikit/static/js/core/cover.min.js b/uikit/static/js/core/cover.min.js
new file mode 100644
index 0000000..70bdffd
--- /dev/null
+++ b/uikit/static/js/core/cover.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";t.component("cover",{defaults:{automute:!0},boot:function(){t.ready(function(i){t.$("[data-uk-cover]",i).each(function(){var i=t.$(this);if(!i.data("cover")){t.cover(i,t.Utils.options(i.attr("data-uk-cover")))}})})},init:function(){if(this.parent=this.element.parent(),t.$win.on("load resize orientationchange",t.Utils.debounce(function(){this.check()}.bind(this),100)),this.on("display.uk.check",function(){this.element.is(":visible")&&this.check()}.bind(this)),this.check(),this.element.is("iframe")&&this.options.automute){var i=this.element.attr("src");this.element.attr("src","").on("load",function(){this.contentWindow.postMessage('{ "event": "command", "func": "mute", "method":"setVolume", "value":0}',"*")}).attr("src",[i,i.indexOf("?")>-1?"&":"?","enablejsapi=1&api=1"].join(""))}},check:function(){this.element.css({width:"",height:""}),this.dimension={w:this.element.width(),h:this.element.height()},this.element.attr("width")&&!isNaN(this.element.attr("width"))&&(this.dimension.w=this.element.attr("width")),this.element.attr("height")&&!isNaN(this.element.attr("height"))&&(this.dimension.h=this.element.attr("height")),this.ratio=this.dimension.w/this.dimension.h;var t,i,e=this.parent.width(),n=this.parent.height();e/this.ratio<n?(t=Math.ceil(n*this.ratio),i=n):(t=e,i=Math.ceil(e/this.ratio)),this.element.css({width:t,height:i})}})}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/dropdown.js b/uikit/static/js/core/dropdown.js
new file mode 100644
index 0000000..bb93184
--- /dev/null
+++ b/uikit/static/js/core/dropdown.js
@@ -0,0 +1,296 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ var active = false, hoverIdle;
+
+ UI.component('dropdown', {
+
+ defaults: {
+ 'mode' : 'hover',
+ 'remaintime' : 800,
+ 'justify' : false,
+ 'boundary' : UI.$win,
+ 'delay' : 0,
+ 'hoverDelayIdle' : 250
+ },
+
+ remainIdle: false,
+
+ boot: function() {
+
+ var triggerevent = UI.support.touch ? "click" : "mouseenter";
+
+ // init code
+ UI.$html.on(triggerevent+".dropdown.uikit", "[data-uk-dropdown]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (!ele.data("dropdown")) {
+
+ var dropdown = UI.dropdown(ele, UI.Utils.options(ele.attr("data-uk-dropdown")));
+
+ if (triggerevent=="click" || (triggerevent=="mouseenter" && dropdown.options.mode=="hover")) {
+ dropdown.element.trigger(triggerevent);
+ }
+
+ if (dropdown.element.find('.uk-dropdown').length) {
+ e.preventDefault();
+ }
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.dropdown = this.find('.uk-dropdown');
+
+ this.centered = this.dropdown.hasClass('uk-dropdown-center');
+ this.justified = this.options.justify ? UI.$(this.options.justify) : false;
+
+ this.boundary = UI.$(this.options.boundary);
+ this.flipped = this.dropdown.hasClass('uk-dropdown-flip');
+
+ if (!this.boundary.length) {
+ this.boundary = UI.$win;
+ }
+
+ // Init ARIA
+ this.element.attr('aria-haspopup', 'true');
+ this.element.attr('aria-expanded', this.element.hasClass("uk-open"));
+
+ if (this.options.mode == "click" || UI.support.touch) {
+
+ this.on("click.uikit.dropdown", function(e) {
+
+ var $target = UI.$(e.target);
+
+ if (!$target.parents(".uk-dropdown").length) {
+
+ if ($target.is("a[href='#']") || $target.parent().is("a[href='#']") || ($this.dropdown.length && !$this.dropdown.is(":visible")) ){
+ e.preventDefault();
+ }
+
+ $target.blur();
+ }
+
+ if (!$this.element.hasClass('uk-open')) {
+
+ $this.show();
+
+ } else {
+
+ if ($target.is("a:not(.js-uk-prevent)") || $target.is(".uk-dropdown-close") || !$this.dropdown.find(e.target).length) {
+ $this.hide();
+ }
+ }
+ });
+
+ } else {
+
+ this.on("mouseenter", function(e) {
+
+ if ($this.remainIdle) {
+ clearTimeout($this.remainIdle);
+ }
+
+ if (hoverIdle) {
+ clearTimeout(hoverIdle);
+ }
+
+ if (active && active == $this) {
+ return;
+ }
+
+ // pseudo manuAim
+ if (active && active != $this) {
+
+ hoverIdle = setTimeout(function() {
+ hoverIdle = setTimeout($this.show.bind($this), $this.options.delay);
+ }, $this.options.hoverDelayIdle);
+
+ } else {
+
+ hoverIdle = setTimeout($this.show.bind($this), $this.options.delay);
+ }
+
+ }).on("mouseleave", function() {
+
+ if (hoverIdle) {
+ clearTimeout(hoverIdle);
+ }
+
+ $this.remainIdle = setTimeout(function() {
+ if (active && active == $this) $this.hide();
+ }, $this.options.remaintime);
+
+ }).on("click", function(e){
+
+ var $target = UI.$(e.target);
+
+ if ($this.remainIdle) {
+ clearTimeout($this.remainIdle);
+ }
+
+ if ($target.is("a[href='#']") || $target.parent().is("a[href='#']")){
+ e.preventDefault();
+ }
+
+ $this.show();
+ });
+ }
+ },
+
+ show: function(){
+
+ UI.$html.off("click.outer.dropdown");
+
+ if (active && active != this) {
+ active.hide();
+ }
+
+ if (hoverIdle) {
+ clearTimeout(hoverIdle);
+ }
+
+ this.checkDimensions();
+ this.element.addClass('uk-open');
+
+ // Update ARIA
+ this.element.attr('aria-expanded', 'true');
+
+ this.trigger('show.uk.dropdown', [this]);
+
+ UI.Utils.checkDisplay(this.dropdown, true);
+ active = this;
+
+ this.registerOuterClick();
+ },
+
+ hide: function() {
+ this.element.removeClass('uk-open');
+
+ if (this.remainIdle) {
+ clearTimeout(this.remainIdle);
+ }
+
+ this.remainIdle = false;
+
+ // Update ARIA
+ this.element.attr('aria-expanded', 'false');
+
+ this.trigger('hide.uk.dropdown', [this]);
+
+ if (active == this) active = false;
+ },
+
+ registerOuterClick: function(){
+
+ var $this = this;
+
+ UI.$html.off("click.outer.dropdown");
+
+ setTimeout(function() {
+
+ UI.$html.on("click.outer.dropdown", function(e) {
+
+ if (hoverIdle) {
+ clearTimeout(hoverIdle);
+ }
+
+ var $target = UI.$(e.target);
+
+ if (active == $this && ($target.is("a:not(.js-uk-prevent)") || $target.is(".uk-dropdown-close") || !$this.dropdown.find(e.target).length)) {
+ $this.hide();
+ UI.$html.off("click.outer.dropdown");
+ }
+ });
+ }, 10);
+ },
+
+ checkDimensions: function() {
+
+ if (!this.dropdown.length) return;
+
+ if (this.justified && this.justified.length) {
+ this.dropdown.css("min-width", "");
+ }
+
+ var $this = this,
+ dropdown = this.dropdown.css("margin-" + UI.langdirection, ""),
+ offset = dropdown.show().offset(),
+ width = dropdown.outerWidth(),
+ boundarywidth = this.boundary.width(),
+ boundaryoffset = this.boundary.offset() ? this.boundary.offset().left:0;
+
+ // centered dropdown
+ if (this.centered) {
+ dropdown.css("margin-" + UI.langdirection, (parseFloat(width) / 2 - dropdown.parent().width() / 2) * -1);
+ offset = dropdown.offset();
+
+ // reset dropdown
+ if ((width + offset.left) > boundarywidth || offset.left < 0) {
+ dropdown.css("margin-" + UI.langdirection, "");
+ offset = dropdown.offset();
+ }
+ }
+
+ // justify dropdown
+ if (this.justified && this.justified.length) {
+
+ var jwidth = this.justified.outerWidth();
+
+ dropdown.css("min-width", jwidth);
+
+ if (UI.langdirection == 'right') {
+
+ var right1 = boundarywidth - (this.justified.offset().left + jwidth),
+ right2 = boundarywidth - (dropdown.offset().left + dropdown.outerWidth());
+
+ dropdown.css("margin-right", right1 - right2);
+
+ } else {
+ dropdown.css("margin-left", this.justified.offset().left - offset.left);
+ }
+
+ offset = dropdown.offset();
+
+ }
+
+ if ((width + (offset.left-boundaryoffset)) > boundarywidth) {
+ dropdown.addClass('uk-dropdown-flip');
+ offset = dropdown.offset();
+ }
+
+ if ((offset.left-boundaryoffset) < 0) {
+
+ dropdown.addClass("uk-dropdown-stack");
+
+ if (dropdown.hasClass('uk-dropdown-flip')) {
+
+ if (!this.flipped) {
+ dropdown.removeClass('uk-dropdown-flip');
+ offset = dropdown.offset();
+ dropdown.addClass('uk-dropdown-flip');
+ }
+
+ setTimeout(function(){
+
+ if ((dropdown.offset().left-boundaryoffset) < 0 || !$this.flipped && (dropdown.outerWidth() + (offset.left-boundaryoffset)) < boundarywidth) {
+ dropdown.removeClass('uk-dropdown-flip');
+ }
+ }, 0);
+ }
+
+ this.trigger('stack.uk.dropdown', [this]);
+ }
+
+ dropdown.css("display", "");
+ }
+
+ });
+
+})(UIkit);
diff --git a/uikit/static/js/core/dropdown.min.js b/uikit/static/js/core/dropdown.min.js
new file mode 100644
index 0000000..4a72cc3
--- /dev/null
+++ b/uikit/static/js/core/dropdown.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";var e,i=!1;t.component("dropdown",{defaults:{mode:"hover",remaintime:800,justify:!1,boundary:t.$win,delay:0,hoverDelayIdle:250},remainIdle:!1,boot:function(){var e=t.support.touch?"click":"mouseenter";t.$html.on(e+".dropdown.uikit","[data-uk-dropdown]",function(i){var o=t.$(this);if(!o.data("dropdown")){var s=t.dropdown(o,t.Utils.options(o.attr("data-uk-dropdown")));("click"==e||"mouseenter"==e&&"hover"==s.options.mode)&&s.element.trigger(e),s.element.find(".uk-dropdown").length&&i.preventDefault()}})},init:function(){var o=this;this.dropdown=this.find(".uk-dropdown"),this.centered=this.dropdown.hasClass("uk-dropdown-center"),this.justified=this.options.justify?t.$(this.options.justify):!1,this.boundary=t.$(this.options.boundary),this.flipped=this.dropdown.hasClass("uk-dropdown-flip"),this.boundary.length||(this.boundary=t.$win),this.element.attr("aria-haspopup","true"),this.element.attr("aria-expanded",this.element.hasClass("uk-open")),"click"==this.options.mode||t.support.touch?this.on("click.uikit.dropdown",function(e){var i=t.$(e.target);i.parents(".uk-dropdown").length||((i.is("a[href='#']")||i.parent().is("a[href='#']")||o.dropdown.length&&!o.dropdown.is(":visible"))&&e.preventDefault(),i.blur()),o.element.hasClass("uk-open")?(i.is("a:not(.js-uk-prevent)")||i.is(".uk-dropdown-close")||!o.dropdown.find(e.target).length)&&o.hide():o.show()}):this.on("mouseenter",function(){o.remainIdle&&clearTimeout(o.remainIdle),e&&clearTimeout(e),i&&i==o||(e=i&&i!=o?setTimeout(function(){e=setTimeout(o.show.bind(o),o.options.delay)},o.options.hoverDelayIdle):setTimeout(o.show.bind(o),o.options.delay))}).on("mouseleave",function(){e&&clearTimeout(e),o.remainIdle=setTimeout(function(){i&&i==o&&o.hide()},o.options.remaintime)}).on("click",function(e){var i=t.$(e.target);o.remainIdle&&clearTimeout(o.remainIdle),(i.is("a[href='#']")||i.parent().is("a[href='#']"))&&e.preventDefault(),o.show()})},show:function(){t.$html.off("click.outer.dropdown"),i&&i!=this&&i.hide(),e&&clearTimeout(e),this.checkDimensions(),this.element.addClass("uk-open"),this.element.attr("aria-expanded","true"),this.trigger("show.uk.dropdown",[this]),t.Utils.checkDisplay(this.dropdown,!0),i=this,this.registerOuterClick()},hide:function(){this.element.removeClass("uk-open"),this.remainIdle&&clearTimeout(this.remainIdle),this.remainIdle=!1,this.element.attr("aria-expanded","false"),this.trigger("hide.uk.dropdown",[this]),i==this&&(i=!1)},registerOuterClick:function(){var o=this;t.$html.off("click.outer.dropdown"),setTimeout(function(){t.$html.on("click.outer.dropdown",function(s){e&&clearTimeout(e);var n=t.$(s.target);i!=o||!n.is("a:not(.js-uk-prevent)")&&!n.is(".uk-dropdown-close")&&o.dropdown.find(s.target).length||(o.hide(),t.$html.off("click.outer.dropdown"))})},10)},checkDimensions:function(){if(this.dropdown.length){this.justified&&this.justified.length&&this.dropdown.css("min-width","");var e=this,i=this.dropdown.css("margin-"+t.langdirection,""),o=i.show().offset(),s=i.outerWidth(),n=this.boundary.width(),d=this.boundary.offset()?this.boundary.offset().left:0;if(this.centered&&(i.css("margin-"+t.langdirection,-1*(parseFloat(s)/2-i.parent().width()/2)),o=i.offset(),(s+o.left>n||o.left<0)&&(i.css("margin-"+t.langdirection,""),o=i.offset())),this.justified&&this.justified.length){var r=this.justified.outerWidth();if(i.css("min-width",r),"right"==t.langdirection){var a=n-(this.justified.offset().left+r),h=n-(i.offset().left+i.outerWidth());i.css("margin-right",a-h)}else i.css("margin-left",this.justified.offset().left-o.left);o=i.offset()}s+(o.left-d)>n&&(i.addClass("uk-dropdown-flip"),o=i.offset()),o.left-d<0&&(i.addClass("uk-dropdown-stack"),i.hasClass("uk-dropdown-flip")&&(this.flipped||(i.removeClass("uk-dropdown-flip"),o=i.offset(),i.addClass("uk-dropdown-flip")),setTimeout(function(){(i.offset().left-d<0||!e.flipped&&i.outerWidth()+(o.left-d)<n)&&i.removeClass("uk-dropdown-flip")},0)),this.trigger("stack.uk.dropdown",[this])),i.css("display","")}}})}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/grid.js b/uikit/static/js/core/grid.js
new file mode 100644
index 0000000..f1e45f4
--- /dev/null
+++ b/uikit/static/js/core/grid.js
@@ -0,0 +1,114 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ var grids = [];
+
+ UI.component('gridMatchHeight', {
+
+ defaults: {
+ "target" : false,
+ "row" : true,
+ "ignorestacked" : false
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-grid-match]", context).each(function() {
+ var grid = UI.$(this), obj;
+
+ if (!grid.data("gridMatchHeight")) {
+ obj = UI.gridMatchHeight(grid, UI.Utils.options(grid.attr("data-uk-grid-match")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.columns = this.element.children();
+ this.elements = this.options.target ? this.find(this.options.target) : this.columns;
+
+ if (!this.columns.length) return;
+
+ UI.$win.on('load resize orientationchange', (function() {
+
+ var fn = function() {
+ $this.match();
+ };
+
+ UI.$(function() { fn(); });
+
+ return UI.Utils.debounce(fn, 50);
+ })());
+
+ UI.$html.on("changed.uk.dom", function(e) {
+ $this.columns = $this.element.children();
+ $this.elements = $this.options.target ? $this.find($this.options.target) : $this.columns;
+ $this.match();
+ });
+
+ this.on("display.uk.check", function(e) {
+ if(this.element.is(":visible")) this.match();
+ }.bind(this));
+
+ grids.push(this);
+ },
+
+ match: function() {
+
+ var firstvisible = this.columns.filter(":visible:first");
+
+ if (!firstvisible.length) return;
+
+ var stacked = Math.ceil(100 * parseFloat(firstvisible.css('width')) / parseFloat(firstvisible.parent().css('width'))) >= 100;
+
+ if (stacked && !this.options.ignorestacked) {
+ this.revert();
+ } else {
+ UI.Utils.matchHeights(this.elements, this.options);
+ }
+
+ return this;
+ },
+
+ revert: function() {
+ this.elements.css('min-height', '');
+ return this;
+ }
+ });
+
+ UI.component('gridMargin', {
+
+ defaults: {
+ "cls": "uk-grid-margin"
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-grid-margin]", context).each(function() {
+ var grid = UI.$(this), obj;
+
+ if (!grid.data("gridMargin")) {
+ obj = UI.gridMargin(grid, UI.Utils.options(grid.attr("data-uk-grid-margin")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var stackMargin = UI.stackMargin(this.element, this.options);
+ }
+ });
+
+})(UIkit);
diff --git a/uikit/static/js/core/grid.min.js b/uikit/static/js/core/grid.min.js
new file mode 100644
index 0000000..465d413
--- /dev/null
+++ b/uikit/static/js/core/grid.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";var i=[];t.component("gridMatchHeight",{defaults:{target:!1,row:!0,ignorestacked:!1},boot:function(){t.ready(function(i){t.$("[data-uk-grid-match]",i).each(function(){var i,n=t.$(this);n.data("gridMatchHeight")||(i=t.gridMatchHeight(n,t.Utils.options(n.attr("data-uk-grid-match"))))})})},init:function(){var n=this;this.columns=this.element.children(),this.elements=this.options.target?this.find(this.options.target):this.columns,this.columns.length&&(t.$win.on("load resize orientationchange",function(){var i=function(){n.match()};return t.$(function(){i()}),t.Utils.debounce(i,50)}()),t.$html.on("changed.uk.dom",function(){n.columns=n.element.children(),n.elements=n.options.target?n.find(n.options.target):n.columns,n.match()}),this.on("display.uk.check",function(){this.element.is(":visible")&&this.match()}.bind(this)),i.push(this))},match:function(){var i=this.columns.filter(":visible:first");if(i.length){var n=Math.ceil(100*parseFloat(i.css("width"))/parseFloat(i.parent().css("width")))>=100;return n&&!this.options.ignorestacked?this.revert():t.Utils.matchHeights(this.elements,this.options),this}},revert:function(){return this.elements.css("min-height",""),this}}),t.component("gridMargin",{defaults:{cls:"uk-grid-margin"},boot:function(){t.ready(function(i){t.$("[data-uk-grid-margin]",i).each(function(){var i,n=t.$(this);n.data("gridMargin")||(i=t.gridMargin(n,t.Utils.options(n.attr("data-uk-grid-margin"))))})})},init:function(){t.stackMargin(this.element,this.options)}})}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/modal.js b/uikit/static/js/core/modal.js
new file mode 100644
index 0000000..4bfb3fd
--- /dev/null
+++ b/uikit/static/js/core/modal.js
@@ -0,0 +1,373 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ var active = false, activeCount = 0, $html = UI.$html, body;
+
+ UI.component('modal', {
+
+ defaults: {
+ keyboard: true,
+ bgclose: true,
+ minScrollHeight: 150,
+ center: false,
+ modal: true
+ },
+
+ scrollable: false,
+ transition: false,
+
+ init: function() {
+
+ if (!body) body = UI.$('body');
+
+ if (!this.element.length) return;
+
+ var $this = this;
+
+ this.paddingdir = "padding-" + (UI.langdirection == 'left' ? "right":"left");
+ this.dialog = this.find(".uk-modal-dialog");
+
+ this.active = false;
+
+ // Update ARIA
+ this.element.attr('aria-hidden', this.element.hasClass("uk-open"));
+
+ this.on("click", ".uk-modal-close", function(e) {
+ e.preventDefault();
+ $this.hide();
+ }).on("click", function(e) {
+
+ var target = UI.$(e.target);
+
+ if (target[0] == $this.element[0] && $this.options.bgclose) {
+ $this.hide();
+ }
+ });
+ },
+
+ toggle: function() {
+ return this[this.isActive() ? "hide" : "show"]();
+ },
+
+ show: function() {
+
+ if (!this.element.length) return;
+
+ var $this = this;
+
+ if (this.isActive()) return;
+
+ if (this.options.modal && active) {
+ active.hide(true);
+ }
+
+ this.element.removeClass("uk-open").show();
+ this.resize();
+
+ if (this.options.modal) {
+ active = this;
+ }
+
+ this.active = true;
+
+ activeCount++;
+
+ this.element.addClass("uk-open");
+
+ $html.addClass("uk-modal-page").height(); // force browser engine redraw
+
+ // Update ARIA
+ this.element.attr('aria-hidden', 'false');
+
+ this.element.trigger("show.uk.modal");
+
+ UI.Utils.checkDisplay(this.dialog, true);
+
+ return this;
+ },
+
+ hide: function(force) {
+
+ if (!force && UI.support.transition) {
+
+ var $this = this;
+
+ this.one(UI.support.transition.end, function() {
+ $this._hide();
+ }).removeClass("uk-open");
+
+ } else {
+
+ this._hide();
+ }
+
+ return this;
+ },
+
+ resize: function() {
+
+ var bodywidth = body.width();
+
+ this.scrollbarwidth = window.innerWidth - bodywidth;
+
+ body.css(this.paddingdir, this.scrollbarwidth);
+
+ this.element.css('overflow-y', this.scrollbarwidth ? 'scroll' : 'auto');
+
+ if (!this.updateScrollable() && this.options.center) {
+
+ var dh = this.dialog.outerHeight(),
+ pad = parseInt(this.dialog.css('margin-top'), 10) + parseInt(this.dialog.css('margin-bottom'), 10);
+
+ if ((dh + pad) < window.innerHeight) {
+ this.dialog.css({'top': (window.innerHeight/2 - dh/2) - pad });
+ } else {
+ this.dialog.css({'top': ''});
+ }
+ }
+ },
+
+ updateScrollable: function() {
+
+ // has scrollable?
+ var scrollable = this.dialog.find('.uk-overflow-container:visible:first');
+
+ if (scrollable.length) {
+
+ scrollable.css("height", 0);
+
+ var offset = Math.abs(parseInt(this.dialog.css("margin-top"), 10)),
+ dh = this.dialog.outerHeight(),
+ wh = window.innerHeight,
+ h = wh - 2*(offset < 20 ? 20:offset) - dh;
+
+ scrollable.css("height", h < this.options.minScrollHeight ? "":h);
+
+ return true;
+ }
+
+ return false;
+ },
+
+ _hide: function() {
+
+ this.active = false;
+ activeCount--;
+
+ this.element.hide().removeClass("uk-open");
+
+ // Update ARIA
+ this.element.attr('aria-hidden', 'true');
+
+ if (!activeCount) {
+ $html.removeClass("uk-modal-page");
+ body.css(this.paddingdir, "");
+ }
+
+ if(active===this) active = false;
+
+ this.trigger("hide.uk.modal");
+ },
+
+ isActive: function() {
+ return this.active;
+ }
+
+ });
+
+ UI.component('modalTrigger', {
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("click.modal.uikit", "[data-uk-modal]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (ele.is("a")) {
+ e.preventDefault();
+ }
+
+ if (!ele.data("modalTrigger")) {
+ var modal = UI.modalTrigger(ele, UI.Utils.options(ele.attr("data-uk-modal")));
+ modal.show();
+ }
+
+ });
+
+ // close modal on esc button
+ UI.$html.on('keydown.modal.uikit', function (e) {
+
+ if (active && e.keyCode === 27 && active.options.keyboard) { // ESC
+ e.preventDefault();
+ active.hide();
+ }
+ });
+
+ UI.$win.on("resize orientationchange", UI.Utils.debounce(function(){
+ if (active) active.resize();
+ }, 150));
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.options = UI.$.extend({
+ "target": $this.element.is("a") ? $this.element.attr("href") : false
+ }, this.options);
+
+ this.modal = UI.modal(this.options.target, this.options);
+
+ this.on("click", function(e) {
+ e.preventDefault();
+ $this.show();
+ });
+
+ //methods
+ this.proxy(this.modal, "show hide isActive");
+ }
+ });
+
+ UI.modal.dialog = function(content, options) {
+
+ var modal = UI.modal(UI.$(UI.modal.dialog.template).appendTo("body"), options);
+
+ modal.on("hide.uk.modal", function(){
+ if (modal.persist) {
+ modal.persist.appendTo(modal.persist.data("modalPersistParent"));
+ modal.persist = false;
+ }
+ modal.element.remove();
+ });
+
+ setContent(content, modal);
+
+ return modal;
+ };
+
+ UI.modal.dialog.template = '<div class="uk-modal"><div class="uk-modal-dialog" style="min-height:0;"></div></div>';
+
+ UI.modal.alert = function(content, options) {
+
+ options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, options);
+
+ var modal = UI.modal.dialog(([
+ '<div class="uk-margin uk-modal-content">'+String(content)+'</div>',
+ '<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary uk-modal-close">'+options.labels.Ok+'</button></div>'
+ ]).join(""), options);
+
+ modal.on('show.uk.modal', function(){
+ setTimeout(function(){
+ modal.element.find('button:first').focus();
+ }, 50);
+ });
+
+ modal.show();
+ };
+
+ UI.modal.confirm = function(content, onconfirm, options) {
+
+ onconfirm = UI.$.isFunction(onconfirm) ? onconfirm : function(){};
+ options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, options);
+
+ var modal = UI.modal.dialog(([
+ '<div class="uk-margin uk-modal-content">'+String(content)+'</div>',
+ '<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary js-modal-confirm">'+options.labels.Ok+'</button> <button class="uk-button uk-modal-close">'+options.labels.Cancel+'</button></div>'
+ ]).join(""), options);
+
+ modal.element.find(".js-modal-confirm").on("click", function(){
+ onconfirm();
+ modal.hide();
+ });
+
+ modal.on('show.uk.modal', function(){
+ setTimeout(function(){
+ modal.element.find('button:first').focus();
+ }, 50);
+ });
+
+ modal.show();
+ };
+
+ UI.modal.prompt = function(text, value, onsubmit, options) {
+
+ onsubmit = UI.$.isFunction(onsubmit) ? onsubmit : function(value){};
+ options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, options);
+
+ var modal = UI.modal.dialog(([
+ text ? '<div class="uk-modal-content uk-form">'+String(text)+'</div>':'',
+ '<div class="uk-margin-small-top uk-modal-content uk-form"><p><input type="text" class="uk-width-1-1"></p></div>',
+ '<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary js-modal-ok">'+options.labels.Ok+'</button> <button class="uk-button uk-modal-close">'+options.labels.Cancel+'</button></div>'
+ ]).join(""), options),
+
+ input = modal.element.find("input[type='text']").val(value || '').on('keyup', function(e){
+ if (e.keyCode == 13) {
+ modal.element.find(".js-modal-ok").trigger('click');
+ }
+ });
+
+ modal.element.find(".js-modal-ok").on("click", function(){
+ if (onsubmit(input.val())!==false){
+ modal.hide();
+ }
+ });
+
+ modal.on('show.uk.modal', function(){
+ setTimeout(function(){
+ input.focus();
+ }, 50);
+ });
+
+ modal.show();
+ };
+
+ UI.modal.blockUI = function(content, options) {
+
+ var modal = UI.modal.dialog(([
+ '<div class="uk-margin uk-modal-content">'+String(content || '<div class="uk-text-center">...</div>')+'</div>'
+ ]).join(""), UI.$.extend({bgclose:false, keyboard:false, modal:false}, options));
+
+ modal.content = modal.element.find('.uk-modal-content:first');
+ modal.show();
+
+ return modal;
+ };
+
+
+ UI.modal.labels = {
+ 'Ok': 'Ok',
+ 'Cancel': 'Cancel'
+ };
+
+
+ // helper functions
+ function setContent(content, modal){
+
+ if(!modal) return;
+
+ if (typeof content === 'object') {
+
+ // convert DOM object to a jQuery object
+ content = content instanceof jQuery ? content : UI.$(content);
+
+ if(content.parent().length) {
+ modal.persist = content;
+ modal.persist.data("modalPersistParent", content.parent());
+ }
+ }else if (typeof content === 'string' || typeof content === 'number') {
+ // just insert the data as innerHTML
+ content = UI.$('<div></div>').html(content);
+ }else {
+ // unsupported data type!
+ content = UI.$('<div></div>').html('UIkit.modal Error: Unsupported data type: ' + typeof content);
+ }
+
+ content.appendTo(modal.element.find('.uk-modal-dialog'));
+
+ return modal;
+ }
+
+})(UIkit);
diff --git a/uikit/static/js/core/modal.min.js b/uikit/static/js/core/modal.min.js
new file mode 100644
index 0000000..9242953
--- /dev/null
+++ b/uikit/static/js/core/modal.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";function i(i,o){return o?("object"==typeof i?(i=i instanceof jQuery?i:t.$(i),i.parent().length&&(o.persist=i,o.persist.data("modalPersistParent",i.parent()))):i="string"==typeof i||"number"==typeof i?t.$("<div></div>").html(i):t.$("<div></div>").html("UIkit.modal Error: Unsupported data type: "+typeof i),i.appendTo(o.element.find(".uk-modal-dialog")),o):void 0}var o,e=!1,n=0,s=t.$html;t.component("modal",{defaults:{keyboard:!0,bgclose:!0,minScrollHeight:150,center:!1,modal:!0},scrollable:!1,transition:!1,init:function(){if(o||(o=t.$("body")),this.element.length){var i=this;this.paddingdir="padding-"+("left"==t.langdirection?"right":"left"),this.dialog=this.find(".uk-modal-dialog"),this.active=!1,this.element.attr("aria-hidden",this.element.hasClass("uk-open")),this.on("click",".uk-modal-close",function(t){t.preventDefault(),i.hide()}).on("click",function(o){var e=t.$(o.target);e[0]==i.element[0]&&i.options.bgclose&&i.hide()})}},toggle:function(){return this[this.isActive()?"hide":"show"]()},show:function(){if(this.element.length){if(!this.isActive())return this.options.modal&&e&&e.hide(!0),this.element.removeClass("uk-open").show(),this.resize(),this.options.modal&&(e=this),this.active=!0,n++,this.element.addClass("uk-open"),s.addClass("uk-modal-page").height(),this.element.attr("aria-hidden","false"),this.element.trigger("show.uk.modal"),t.Utils.checkDisplay(this.dialog,!0),this}},hide:function(i){if(!i&&t.support.transition){var o=this;this.one(t.support.transition.end,function(){o._hide()}).removeClass("uk-open")}else this._hide();return this},resize:function(){var t=o.width();if(this.scrollbarwidth=window.innerWidth-t,o.css(this.paddingdir,this.scrollbarwidth),this.element.css("overflow-y",this.scrollbarwidth?"scroll":"auto"),!this.updateScrollable()&&this.options.center){var i=this.dialog.outerHeight(),e=parseInt(this.dialog.css("margin-top"),10)+parseInt(this.dialog.css("margin-bottom"),10);i+e<window.innerHeight?this.dialog.css({top:window.innerHeight/2-i/2-e}):this.dialog.css({top:""})}},updateScrollable:function(){var t=this.dialog.find(".uk-overflow-container:visible:first");if(t.length){t.css("height",0);var i=Math.abs(parseInt(this.dialog.css("margin-top"),10)),o=this.dialog.outerHeight(),e=window.innerHeight,n=e-2*(20>i?20:i)-o;return t.css("height",n<this.options.minScrollHeight?"":n),!0}return!1},_hide:function(){this.active=!1,n--,this.element.hide().removeClass("uk-open"),this.element.attr("aria-hidden","true"),n||(s.removeClass("uk-modal-page"),o.css(this.paddingdir,"")),e===this&&(e=!1),this.trigger("hide.uk.modal")},isActive:function(){return this.active}}),t.component("modalTrigger",{boot:function(){t.$html.on("click.modal.uikit","[data-uk-modal]",function(i){var o=t.$(this);if(o.is("a")&&i.preventDefault(),!o.data("modalTrigger")){var e=t.modalTrigger(o,t.Utils.options(o.attr("data-uk-modal")));e.show()}}),t.$html.on("keydown.modal.uikit",function(t){e&&27===t.keyCode&&e.options.keyboard&&(t.preventDefault(),e.hide())}),t.$win.on("resize orientationchange",t.Utils.debounce(function(){e&&e.resize()},150))},init:function(){var i=this;this.options=t.$.extend({target:i.element.is("a")?i.element.attr("href"):!1},this.options),this.modal=t.modal(this.options.target,this.options),this.on("click",function(t){t.preventDefault(),i.show()}),this.proxy(this.modal,"show hide isActive")}}),t.modal.dialog=function(o,e){var n=t.modal(t.$(t.modal.dialog.template).appendTo("body"),e);return n.on("hide.uk.modal",function(){n.persist&&(n.persist.appendTo(n.persist.data("modalPersistParent")),n.persist=!1),n.element.remove()}),i(o,n),n},t.modal.dialog.template='<div class="uk-modal"><div class="uk-modal-dialog" style="min-height:0;"></div></div>',t.modal.alert=function(i,o){o=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},o);var e=t.modal.dialog(['<div class="uk-margin uk-modal-content">'+String(i)+"</div>",'<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary uk-modal-close">'+o.labels.Ok+"</button></div>"].join(""),o);e.on("show.uk.modal",function(){setTimeout(function(){e.element.find("button:first").focus()},50)}),e.show()},t.modal.confirm=function(i,o,e){o=t.$.isFunction(o)?o:function(){},e=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},e);var n=t.modal.dialog(['<div class="uk-margin uk-modal-content">'+String(i)+"</div>",'<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary js-modal-confirm">'+e.labels.Ok+'</button> <button class="uk-button uk-modal-close">'+e.labels.Cancel+"</button></div>"].join(""),e);n.element.find(".js-modal-confirm").on("click",function(){o(),n.hide()}),n.on("show.uk.modal",function(){setTimeout(function(){n.element.find("button:first").focus()},50)}),n.show()},t.modal.prompt=function(i,o,e,n){e=t.$.isFunction(e)?e:function(){},n=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},n);var s=t.modal.dialog([i?'<div class="uk-modal-content uk-form">'+String(i)+"</div>":"",'<div class="uk-margin-small-top uk-modal-content uk-form"><p><input type="text" class="uk-width-1-1"></p></div>','<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary js-modal-ok">'+n.labels.Ok+'</button> <button class="uk-button uk-modal-close">'+n.labels.Cancel+"</button></div>"].join(""),n),a=s.element.find("input[type='text']").val(o||"").on("keyup",function(t){13==t.keyCode&&s.element.find(".js-modal-ok").trigger("click")});s.element.find(".js-modal-ok").on("click",function(){e(a.val())!==!1&&s.hide()}),s.on("show.uk.modal",function(){setTimeout(function(){a.focus()},50)}),s.show()},t.modal.blockUI=function(i,o){var e=t.modal.dialog(['<div class="uk-margin uk-modal-content">'+String(i||'<div class="uk-text-center">...</div>')+"</div>"].join(""),t.$.extend({bgclose:!1,keyboard:!1,modal:!1},o));return e.content=e.element.find(".uk-modal-content:first"),e.show(),e},t.modal.labels={Ok:"Ok",Cancel:"Cancel"}}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/nav.js b/uikit/static/js/core/nav.js
new file mode 100644
index 0000000..020a233
--- /dev/null
+++ b/uikit/static/js/core/nav.js
@@ -0,0 +1,136 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ UI.component('nav', {
+
+ defaults: {
+ "toggle": ">li.uk-parent > a[href='#']",
+ "lists": ">li.uk-parent > ul",
+ "multiple": false
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-nav]", context).each(function() {
+ var nav = UI.$(this);
+
+ if (!nav.data("nav")) {
+ var obj = UI.nav(nav, UI.Utils.options(nav.attr("data-uk-nav")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.on("click.uikit.nav", this.options.toggle, function(e) {
+ e.preventDefault();
+ var ele = UI.$(this);
+ $this.open(ele.parent()[0] == $this.element[0] ? ele : ele.parent("li"));
+ });
+
+ this.find(this.options.lists).each(function() {
+ var $ele = UI.$(this),
+ parent = $ele.parent(),
+ active = parent.hasClass("uk-active");
+
+ $ele.wrap('<div style="overflow:hidden;height:0;position:relative;"></div>');
+ parent.data("list-container", $ele.parent()[active ? 'removeClass':'addClass']('uk-hidden'));
+
+ // Init ARIA
+ parent.attr('aria-expanded', parent.hasClass("uk-open"));
+
+ if (active) $this.open(parent, true);
+ });
+
+ },
+
+ open: function(li, noanimation) {
+
+ var $this = this, element = this.element, $li = UI.$(li), $container = $li.data('list-container');
+
+ if (!this.options.multiple) {
+
+ element.children('.uk-open').not(li).each(function() {
+
+ var ele = UI.$(this);
+
+ if (ele.data('list-container')) {
+ ele.data('list-container').stop().animate({height: 0}, function() {
+ UI.$(this).parent().removeClass('uk-open').end().addClass('uk-hidden');
+ });
+ }
+ });
+ }
+
+ $li.toggleClass('uk-open');
+
+ // Update ARIA
+ $li.attr('aria-expanded', $li.hasClass('uk-open'));
+
+ if ($container) {
+
+ if ($li.hasClass('uk-open')) {
+ $container.removeClass('uk-hidden');
+ }
+
+ if (noanimation) {
+
+ $container.stop().height($li.hasClass('uk-open') ? 'auto' : 0);
+
+ if (!$li.hasClass('uk-open')) {
+ $container.addClass('uk-hidden');
+ }
+
+ this.trigger('display.uk.check');
+
+ } else {
+
+ $container.stop().animate({
+ height: ($li.hasClass('uk-open') ? getHeight($container.find('ul:first')) : 0)
+ }, function() {
+
+ if (!$li.hasClass('uk-open')) {
+ $container.addClass('uk-hidden');
+ } else {
+ $container.css('height', '');
+ }
+
+ $this.trigger('display.uk.check');
+ });
+ }
+ }
+ }
+ });
+
+
+ // helper
+
+ function getHeight(ele) {
+ var $ele = UI.$(ele), height = "auto";
+
+ if ($ele.is(":visible")) {
+ height = $ele.outerHeight();
+ } else {
+ var tmp = {
+ position: $ele.css("position"),
+ visibility: $ele.css("visibility"),
+ display: $ele.css("display")
+ };
+
+ height = $ele.css({position: 'absolute', visibility: 'hidden', display: 'block'}).outerHeight();
+
+ $ele.css(tmp); // reset element
+ }
+
+ return height;
+ }
+
+})(UIkit);
diff --git a/uikit/static/js/core/nav.min.js b/uikit/static/js/core/nav.min.js
new file mode 100644
index 0000000..e5dfc88
--- /dev/null
+++ b/uikit/static/js/core/nav.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(i){"use strict";function t(t){var s=i.$(t),a="auto";if(s.is(":visible"))a=s.outerHeight();else{var e={position:s.css("position"),visibility:s.css("visibility"),display:s.css("display")};a=s.css({position:"absolute",visibility:"hidden",display:"block"}).outerHeight(),s.css(e)}return a}i.component("nav",{defaults:{toggle:">li.uk-parent > a[href='#']",lists:">li.uk-parent > ul",multiple:!1},boot:function(){i.ready(function(t){i.$("[data-uk-nav]",t).each(function(){var t=i.$(this);if(!t.data("nav")){i.nav(t,i.Utils.options(t.attr("data-uk-nav")))}})})},init:function(){var t=this;this.on("click.uikit.nav",this.options.toggle,function(s){s.preventDefault();var a=i.$(this);t.open(a.parent()[0]==t.element[0]?a:a.parent("li"))}),this.find(this.options.lists).each(function(){var s=i.$(this),a=s.parent(),e=a.hasClass("uk-active");s.wrap('<div style="overflow:hidden;height:0;position:relative;"></div>'),a.data("list-container",s.parent()[e?"removeClass":"addClass"]("uk-hidden")),a.attr("aria-expanded",a.hasClass("uk-open")),e&&t.open(a,!0)})},open:function(s,a){var e=this,n=this.element,o=i.$(s),l=o.data("list-container");this.options.multiple||n.children(".uk-open").not(s).each(function(){var t=i.$(this);t.data("list-container")&&t.data("list-container").stop().animate({height:0},function(){i.$(this).parent().removeClass("uk-open").end().addClass("uk-hidden")})}),o.toggleClass("uk-open"),o.attr("aria-expanded",o.hasClass("uk-open")),l&&(o.hasClass("uk-open")&&l.removeClass("uk-hidden"),a?(l.stop().height(o.hasClass("uk-open")?"auto":0),o.hasClass("uk-open")||l.addClass("uk-hidden"),this.trigger("display.uk.check")):l.stop().animate({height:o.hasClass("uk-open")?t(l.find("ul:first")):0},function(){o.hasClass("uk-open")?l.css("height",""):l.addClass("uk-hidden"),e.trigger("display.uk.check")}))}})}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/offcanvas.js b/uikit/static/js/core/offcanvas.js
new file mode 100644
index 0000000..68de197
--- /dev/null
+++ b/uikit/static/js/core/offcanvas.js
@@ -0,0 +1,178 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ var scrollpos = {x: window.scrollX, y: window.scrollY},
+ $win = UI.$win,
+ $doc = UI.$doc,
+ $html = UI.$html,
+ Offcanvas = {
+
+ show: function(element) {
+
+ element = UI.$(element);
+
+ if (!element.length) return;
+
+ var $body = UI.$('body'),
+ bar = element.find(".uk-offcanvas-bar:first"),
+ rtl = (UI.langdirection == "right"),
+ flip = bar.hasClass("uk-offcanvas-bar-flip") ? -1:1,
+ dir = flip * (rtl ? -1 : 1);
+
+ scrollpos = {x: window.pageXOffset, y: window.pageYOffset};
+
+ element.addClass("uk-active");
+
+ $body.css({"width": window.innerWidth, "height": window.innerHeight}).addClass("uk-offcanvas-page");
+ $body.css((rtl ? "margin-right" : "margin-left"), (rtl ? -1 : 1) * (bar.outerWidth() * dir)).width(); // .width() - force redraw
+
+ $html.css('margin-top', scrollpos.y * -1);
+
+ bar.addClass("uk-offcanvas-bar-show");
+
+ this._initElement(element);
+
+ bar.trigger('show.uk.offcanvas', [element, bar]);
+
+ // Update ARIA
+ element.attr('aria-hidden', 'false');
+ },
+
+ hide: function(force) {
+
+ var $body = UI.$('body'),
+ panel = UI.$(".uk-offcanvas.uk-active"),
+ rtl = (UI.langdirection == "right"),
+ bar = panel.find(".uk-offcanvas-bar:first"),
+ finalize = function() {
+ $body.removeClass("uk-offcanvas-page").css({"width": "", "height": "", "margin-left": "", "margin-right": ""});
+ panel.removeClass("uk-active");
+
+ bar.removeClass("uk-offcanvas-bar-show");
+ $html.css('margin-top', '');
+ window.scrollTo(scrollpos.x, scrollpos.y);
+ bar.trigger('hide.uk.offcanvas', [panel, bar]);
+
+ // Update ARIA
+ panel.attr('aria-hidden', 'true');
+ };
+
+ if (!panel.length) return;
+
+ if (UI.support.transition && !force) {
+
+ $body.one(UI.support.transition.end, function() {
+ finalize();
+ }).css((rtl ? "margin-right" : "margin-left"), "");
+
+ setTimeout(function(){
+ bar.removeClass("uk-offcanvas-bar-show");
+ }, 0);
+
+ } else {
+ finalize();
+ }
+ },
+
+ _initElement: function(element) {
+
+ if (element.data("OffcanvasInit")) return;
+
+ element.on("click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas", function(e) {
+
+ var target = UI.$(e.target);
+
+ if (!e.type.match(/swipe/)) {
+
+ if (!target.hasClass("uk-offcanvas-close")) {
+ if (target.hasClass("uk-offcanvas-bar")) return;
+ if (target.parents(".uk-offcanvas-bar:first").length) return;
+ }
+ }
+
+ e.stopImmediatePropagation();
+ Offcanvas.hide();
+ });
+
+ element.on("click", "a[href^='#']", function(e){
+
+ var link = UI.$(this),
+ href = link.attr("href");
+
+ if (href == "#") {
+ return;
+ }
+
+ UI.$doc.one('hide.uk.offcanvas', function() {
+
+ var target;
+
+ try {
+ target = UI.$(href);
+ } catch (e){
+ target = ""
+ }
+
+ if (!target.length) {
+ target = UI.$('[name="'+href.replace('#','')+'"]');
+ }
+
+ if (target.length && link.attr('data-uk-smooth-scroll') && UI.Utils.scrollToElement) {
+ UI.Utils.scrollToElement(target, UI.Utils.options(link.attr('data-uk-smooth-scroll') || '{}'));
+ } else {
+ window.location.href = href;
+ }
+ });
+
+ Offcanvas.hide();
+ });
+
+ element.data("OffcanvasInit", true);
+ }
+ };
+
+ UI.component('offcanvasTrigger', {
+
+ boot: function() {
+
+ // init code
+ $html.on("click.offcanvas.uikit", "[data-uk-offcanvas]", function(e) {
+
+ e.preventDefault();
+
+ var ele = UI.$(this);
+
+ if (!ele.data("offcanvasTrigger")) {
+ var obj = UI.offcanvasTrigger(ele, UI.Utils.options(ele.attr("data-uk-offcanvas")));
+ ele.trigger("click");
+ }
+ });
+
+ $html.on('keydown.uk.offcanvas', function(e) {
+
+ if (e.keyCode === 27) { // ESC
+ Offcanvas.hide();
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.options = UI.$.extend({
+ "target": $this.element.is("a") ? $this.element.attr("href") : false
+ }, this.options);
+
+ this.on("click", function(e) {
+ e.preventDefault();
+ Offcanvas.show($this.options.target);
+ });
+ }
+ });
+
+ UI.offcanvas = Offcanvas;
+
+})(UIkit);
diff --git a/uikit/static/js/core/offcanvas.min.js b/uikit/static/js/core/offcanvas.min.js
new file mode 100644
index 0000000..480906e
--- /dev/null
+++ b/uikit/static/js/core/offcanvas.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(a){"use strict";var t={x:window.scrollX,y:window.scrollY},n=(a.$win,a.$doc,a.$html),i={show:function(i){if(i=a.$(i),i.length){var o=a.$("body"),s=i.find(".uk-offcanvas-bar:first"),e="right"==a.langdirection,f=s.hasClass("uk-offcanvas-bar-flip")?-1:1,r=f*(e?-1:1);t={x:window.pageXOffset,y:window.pageYOffset},i.addClass("uk-active"),o.css({width:window.innerWidth,height:window.innerHeight}).addClass("uk-offcanvas-page"),o.css(e?"margin-right":"margin-left",(e?-1:1)*s.outerWidth()*r).width(),n.css("margin-top",-1*t.y),s.addClass("uk-offcanvas-bar-show"),this._initElement(i),s.trigger("show.uk.offcanvas",[i,s]),i.attr("aria-hidden","false")}},hide:function(i){var o=a.$("body"),s=a.$(".uk-offcanvas.uk-active"),e="right"==a.langdirection,f=s.find(".uk-offcanvas-bar:first"),r=function(){o.removeClass("uk-offcanvas-page").css({width:"",height:"","margin-left":"","margin-right":""}),s.removeClass("uk-active"),f.removeClass("uk-offcanvas-bar-show"),n.css("margin-top",""),window.scrollTo(t.x,t.y),f.trigger("hide.uk.offcanvas",[s,f]),s.attr("aria-hidden","true")};s.length&&(a.support.transition&&!i?(o.one(a.support.transition.end,function(){r()}).css(e?"margin-right":"margin-left",""),setTimeout(function(){f.removeClass("uk-offcanvas-bar-show")},0)):r())},_initElement:function(t){t.data("OffcanvasInit")||(t.on("click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas",function(t){var n=a.$(t.target);if(!t.type.match(/swipe/)&&!n.hasClass("uk-offcanvas-close")){if(n.hasClass("uk-offcanvas-bar"))return;if(n.parents(".uk-offcanvas-bar:first").length)return}t.stopImmediatePropagation(),i.hide()}),t.on("click","a[href^='#']",function(){var t=a.$(this),n=t.attr("href");"#"!=n&&(a.$doc.one("hide.uk.offcanvas",function(){var i;try{i=a.$(n)}catch(o){i=""}i.length||(i=a.$('[name="'+n.replace("#","")+'"]')),i.length&&t.attr("data-uk-smooth-scroll")&&a.Utils.scrollToElement?a.Utils.scrollToElement(i,a.Utils.options(t.attr("data-uk-smooth-scroll")||"{}")):window.location.href=n}),i.hide())}),t.data("OffcanvasInit",!0))}};a.component("offcanvasTrigger",{boot:function(){n.on("click.offcanvas.uikit","[data-uk-offcanvas]",function(t){t.preventDefault();var n=a.$(this);if(!n.data("offcanvasTrigger")){{a.offcanvasTrigger(n,a.Utils.options(n.attr("data-uk-offcanvas")))}n.trigger("click")}}),n.on("keydown.uk.offcanvas",function(a){27===a.keyCode&&i.hide()})},init:function(){var t=this;this.options=a.$.extend({target:t.element.is("a")?t.element.attr("href"):!1},this.options),this.on("click",function(a){a.preventDefault(),i.show(t.options.target)})}}),a.offcanvas=i}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/scrollspy.js b/uikit/static/js/core/scrollspy.js
new file mode 100644
index 0000000..9b8349e
--- /dev/null
+++ b/uikit/static/js/core/scrollspy.js
@@ -0,0 +1,208 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ var $win = UI.$win,
+ $doc = UI.$doc,
+ scrollspies = [],
+ checkScrollSpy = function() {
+ for(var i=0; i < scrollspies.length; i++) {
+ window.requestAnimationFrame.apply(window, [scrollspies[i].check]);
+ }
+ };
+
+ UI.component('scrollspy', {
+
+ defaults: {
+ "target" : false,
+ "cls" : "uk-scrollspy-inview",
+ "initcls" : "uk-scrollspy-init-inview",
+ "topoffset" : 0,
+ "leftoffset" : 0,
+ "repeat" : false,
+ "delay" : 0
+ },
+
+ boot: function() {
+
+ // listen to scroll and resize
+ $doc.on("scrolling.uk.document", checkScrollSpy);
+ $win.on("load resize orientationchange", UI.Utils.debounce(checkScrollSpy, 50));
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-scrollspy]", context).each(function() {
+
+ var element = UI.$(this);
+
+ if (!element.data("scrollspy")) {
+ var obj = UI.scrollspy(element, UI.Utils.options(element.attr("data-uk-scrollspy")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this, inviewstate, initinview, togglecls = this.options.cls.split(/,/), fn = function(){
+
+ var elements = $this.options.target ? $this.element.find($this.options.target) : $this.element,
+ delayIdx = elements.length === 1 ? 1 : 0,
+ toggleclsIdx = 0;
+
+ elements.each(function(idx){
+
+ var element = UI.$(this),
+ inviewstate = element.data('inviewstate'),
+ inview = UI.Utils.isInView(element, $this.options),
+ toggle = element.data('ukScrollspyCls') || togglecls[toggleclsIdx].trim();
+
+ if (inview && !inviewstate && !element.data('scrollspy-idle')) {
+
+ if (!initinview) {
+ element.addClass($this.options.initcls);
+ $this.offset = element.offset();
+ initinview = true;
+
+ element.trigger("init.uk.scrollspy");
+ }
+
+ element.data('scrollspy-idle', setTimeout(function(){
+
+ element.addClass("uk-scrollspy-inview").toggleClass(toggle).width();
+ element.trigger("inview.uk.scrollspy");
+
+ element.data('scrollspy-idle', false);
+ element.data('inviewstate', true);
+
+ }, $this.options.delay * delayIdx));
+
+ delayIdx++;
+ }
+
+ if (!inview && inviewstate && $this.options.repeat) {
+
+ if (element.data('scrollspy-idle')) {
+ clearTimeout(element.data('scrollspy-idle'));
+ }
+
+ element.removeClass("uk-scrollspy-inview").toggleClass(toggle);
+ element.data('inviewstate', false);
+
+ element.trigger("outview.uk.scrollspy");
+ }
+
+ toggleclsIdx = togglecls[toggleclsIdx + 1] ? (toggleclsIdx + 1) : 0;
+
+ });
+ };
+
+ fn();
+
+ this.check = fn;
+
+ scrollspies.push(this);
+ }
+ });
+
+
+ var scrollspynavs = [],
+ checkScrollSpyNavs = function() {
+ for(var i=0; i < scrollspynavs.length; i++) {
+ window.requestAnimationFrame.apply(window, [scrollspynavs[i].check]);
+ }
+ };
+
+ UI.component('scrollspynav', {
+
+ defaults: {
+ "cls" : 'uk-active',
+ "closest" : false,
+ "topoffset" : 0,
+ "leftoffset" : 0,
+ "smoothscroll" : false
+ },
+
+ boot: function() {
+
+ // listen to scroll and resize
+ $doc.on("scrolling.uk.document", checkScrollSpyNavs);
+ $win.on("resize orientationchange", UI.Utils.debounce(checkScrollSpyNavs, 50));
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-scrollspy-nav]", context).each(function() {
+
+ var element = UI.$(this);
+
+ if (!element.data("scrollspynav")) {
+ var obj = UI.scrollspynav(element, UI.Utils.options(element.attr("data-uk-scrollspy-nav")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var ids = [],
+ links = this.find("a[href^='#']").each(function(){ ids.push(UI.$(this).attr("href")); }),
+ targets = UI.$(ids.join(",")),
+
+ clsActive = this.options.cls,
+ clsClosest = this.options.closest || this.options.closest;
+
+ var $this = this, inviews, fn = function(){
+
+ inviews = [];
+
+ for (var i=0 ; i < targets.length ; i++) {
+ if (UI.Utils.isInView(targets.eq(i), $this.options)) {
+ inviews.push(targets.eq(i));
+ }
+ }
+
+ if (inviews.length) {
+
+ var navitems,
+ scrollTop = $win.scrollTop(),
+ target = (function(){
+ for(var i=0; i< inviews.length;i++){
+ if(inviews[i].offset().top >= scrollTop){
+ return inviews[i];
+ }
+ }
+ })();
+
+ if (!target) return;
+
+ if ($this.options.closest) {
+ links.closest(clsClosest).removeClass(clsActive);
+ navitems = links.filter("a[href='#"+target.attr("id")+"']").closest(clsClosest).addClass(clsActive);
+ } else {
+ navitems = links.removeClass(clsActive).filter("a[href='#"+target.attr("id")+"']").addClass(clsActive);
+ }
+
+ $this.element.trigger("inview.uk.scrollspynav", [target, navitems]);
+ }
+ };
+
+ if (this.options.smoothscroll && UI.smoothScroll) {
+ links.each(function(){
+ UI.smoothScroll(this, $this.options.smoothscroll);
+ });
+ }
+
+ fn();
+
+ this.element.data("scrollspynav", this);
+
+ this.check = fn;
+ scrollspynavs.push(this);
+
+ }
+ });
+
+})(UIkit);
diff --git a/uikit/static/js/core/scrollspy.min.js b/uikit/static/js/core/scrollspy.min.js
new file mode 100644
index 0000000..ade6890
--- /dev/null
+++ b/uikit/static/js/core/scrollspy.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";var s=t.$win,o=t.$doc,i=[],e=function(){for(var t=0;t<i.length;t++)window.requestAnimationFrame.apply(window,[i[t].check])};t.component("scrollspy",{defaults:{target:!1,cls:"uk-scrollspy-inview",initcls:"uk-scrollspy-init-inview",topoffset:0,leftoffset:0,repeat:!1,delay:0},boot:function(){o.on("scrolling.uk.document",e),s.on("load resize orientationchange",t.Utils.debounce(e,50)),t.ready(function(s){t.$("[data-uk-scrollspy]",s).each(function(){var s=t.$(this);if(!s.data("scrollspy")){t.scrollspy(s,t.Utils.options(s.attr("data-uk-scrollspy")))}})})},init:function(){var s,o=this,e=this.options.cls.split(/,/),l=function(){var i=o.options.target?o.element.find(o.options.target):o.element,l=1===i.length?1:0,n=0;i.each(function(){var i=t.$(this),a=i.data("inviewstate"),r=t.Utils.isInView(i,o.options),c=i.data("ukScrollspyCls")||e[n].trim();!r||a||i.data("scrollspy-idle")||(s||(i.addClass(o.options.initcls),o.offset=i.offset(),s=!0,i.trigger("init.uk.scrollspy")),i.data("scrollspy-idle",setTimeout(function(){i.addClass("uk-scrollspy-inview").toggleClass(c).width(),i.trigger("inview.uk.scrollspy"),i.data("scrollspy-idle",!1),i.data("inviewstate",!0)},o.options.delay*l)),l++),!r&&a&&o.options.repeat&&(i.data("scrollspy-idle")&&clearTimeout(i.data("scrollspy-idle")),i.removeClass("uk-scrollspy-inview").toggleClass(c),i.data("inviewstate",!1),i.trigger("outview.uk.scrollspy")),n=e[n+1]?n+1:0})};l(),this.check=l,i.push(this)}});var l=[],n=function(){for(var t=0;t<l.length;t++)window.requestAnimationFrame.apply(window,[l[t].check])};t.component("scrollspynav",{defaults:{cls:"uk-active",closest:!1,topoffset:0,leftoffset:0,smoothscroll:!1},boot:function(){o.on("scrolling.uk.document",n),s.on("resize orientationchange",t.Utils.debounce(n,50)),t.ready(function(s){t.$("[data-uk-scrollspy-nav]",s).each(function(){var s=t.$(this);if(!s.data("scrollspynav")){t.scrollspynav(s,t.Utils.options(s.attr("data-uk-scrollspy-nav")))}})})},init:function(){var o,i=[],e=this.find("a[href^='#']").each(function(){i.push(t.$(this).attr("href"))}),n=t.$(i.join(",")),a=this.options.cls,r=this.options.closest||this.options.closest,c=this,p=function(){o=[];for(var i=0;i<n.length;i++)t.Utils.isInView(n.eq(i),c.options)&&o.push(n.eq(i));if(o.length){var l,p=s.scrollTop(),f=function(){for(var t=0;t<o.length;t++)if(o[t].offset().top>=p)return o[t]}();if(!f)return;c.options.closest?(e.closest(r).removeClass(a),l=e.filter("a[href='#"+f.attr("id")+"']").closest(r).addClass(a)):l=e.removeClass(a).filter("a[href='#"+f.attr("id")+"']").addClass(a),c.element.trigger("inview.uk.scrollspynav",[f,l])}};this.options.smoothscroll&&t.smoothScroll&&e.each(function(){t.smoothScroll(this,c.options.smoothscroll)}),p(),this.element.data("scrollspynav",this),this.check=p,l.push(this)}})}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/smooth-scroll.js b/uikit/static/js/core/smooth-scroll.js
new file mode 100644
index 0000000..a7ebce0
--- /dev/null
+++ b/uikit/static/js/core/smooth-scroll.js
@@ -0,0 +1,62 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ UI.component('smoothScroll', {
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("click.smooth-scroll.uikit", "[data-uk-smooth-scroll]", function(e) {
+ var ele = UI.$(this);
+
+ if (!ele.data("smoothScroll")) {
+ var obj = UI.smoothScroll(ele, UI.Utils.options(ele.attr("data-uk-smooth-scroll")));
+ ele.trigger("click");
+ }
+
+ return false;
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.on("click", function(e) {
+ e.preventDefault();
+ scrollToElement(UI.$(this.hash).length ? UI.$(this.hash) : UI.$("body"), $this.options);
+ });
+ }
+ });
+
+ function scrollToElement(ele, options) {
+
+ options = UI.$.extend({
+ duration: 1000,
+ transition: 'easeOutExpo',
+ offset: 0,
+ complete: function(){}
+ }, options);
+
+ // get / set parameters
+ var target = ele.offset().top - options.offset,
+ docheight = UI.$doc.height(),
+ winheight = window.innerHeight;
+
+ if ((target + winheight) > docheight) {
+ target = docheight - winheight;
+ }
+
+ // animate to target, fire callback when done
+ UI.$("html,body").stop().animate({scrollTop: target}, options.duration, options.transition).promise().done(options.complete);
+ }
+
+ UI.Utils.scrollToElement = scrollToElement;
+
+ if (!UI.$.easing.easeOutExpo) {
+ UI.$.easing.easeOutExpo = function(x, t, b, c, d) { return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; };
+ }
+
+})(UIkit);
diff --git a/uikit/static/js/core/smooth-scroll.min.js b/uikit/static/js/core/smooth-scroll.min.js
new file mode 100644
index 0000000..0c09be5
--- /dev/null
+++ b/uikit/static/js/core/smooth-scroll.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";function o(o,i){i=t.$.extend({duration:1e3,transition:"easeOutExpo",offset:0,complete:function(){}},i);var n=o.offset().top-i.offset,s=t.$doc.height(),e=window.innerHeight;n+e>s&&(n=s-e),t.$("html,body").stop().animate({scrollTop:n},i.duration,i.transition).promise().done(i.complete)}t.component("smoothScroll",{boot:function(){t.$html.on("click.smooth-scroll.uikit","[data-uk-smooth-scroll]",function(){var o=t.$(this);if(!o.data("smoothScroll")){{t.smoothScroll(o,t.Utils.options(o.attr("data-uk-smooth-scroll")))}o.trigger("click")}return!1})},init:function(){var i=this;this.on("click",function(n){n.preventDefault(),o(t.$(this.hash).length?t.$(this.hash):t.$("body"),i.options)})}}),t.Utils.scrollToElement=o,t.$.easing.easeOutExpo||(t.$.easing.easeOutExpo=function(t,o,i,n,s){return o==s?i+n:n*(-Math.pow(2,-10*o/s)+1)+i})}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/switcher.js b/uikit/static/js/core/switcher.js
new file mode 100644
index 0000000..4d4cfcb
--- /dev/null
+++ b/uikit/static/js/core/switcher.js
@@ -0,0 +1,298 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ var Animations;
+
+ UI.component('switcher', {
+
+ defaults: {
+ connect : false,
+ toggle : ">*",
+ active : 0,
+ animation : false,
+ duration : 200
+ },
+
+ animating: false,
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-switcher]", context).each(function() {
+ var switcher = UI.$(this);
+
+ if (!switcher.data("switcher")) {
+ var obj = UI.switcher(switcher, UI.Utils.options(switcher.attr("data-uk-switcher")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.on("click.uikit.switcher", this.options.toggle, function(e) {
+ e.preventDefault();
+ $this.show(this);
+ });
+
+ if (this.options.connect) {
+
+ this.connect = UI.$(this.options.connect);
+
+ this.connect.find(".uk-active").removeClass(".uk-active");
+
+ // delegate switch commands within container content
+ if (this.connect.length) {
+
+ // Init ARIA for connect
+ this.connect.children().attr('aria-hidden', 'true');
+
+ this.connect.on("click", '[data-uk-switcher-item]', function(e) {
+
+ e.preventDefault();
+
+ var item = UI.$(this).attr('data-uk-switcher-item');
+
+ if ($this.index == item) return;
+
+ switch(item) {
+ case 'next':
+ case 'previous':
+ $this.show($this.index + (item=='next' ? 1:-1));
+ break;
+ default:
+ $this.show(parseInt(item, 10));
+ }
+ }).on('swipeRight swipeLeft', function(e) {
+ e.preventDefault();
+ if(!window.getSelection().toString()) {
+ $this.show($this.index + (e.type == 'swipeLeft' ? 1 : -1));
+ }
+ });
+ }
+
+ var toggles = this.find(this.options.toggle),
+ active = toggles.filter(".uk-active");
+
+ if (active.length) {
+ this.show(active, false);
+ } else {
+
+ if (this.options.active===false) return;
+
+ active = toggles.eq(this.options.active);
+ this.show(active.length ? active : toggles.eq(0), false);
+ }
+
+ // Init ARIA for toggles
+ toggles.not(active).attr('aria-expanded', 'false');
+ active.attr('aria-expanded', 'true');
+
+ this.on('changed.uk.dom', function() {
+ $this.connect = UI.$($this.options.connect);
+ });
+ }
+
+ },
+
+ show: function(tab, animate) {
+
+ if (this.animating) {
+ return;
+ }
+
+ if (isNaN(tab)) {
+ tab = UI.$(tab);
+ } else {
+
+ var toggles = this.find(this.options.toggle);
+
+ tab = tab < 0 ? toggles.length-1 : tab;
+ tab = toggles.eq(toggles[tab] ? tab : 0);
+ }
+
+ var $this = this,
+ toggles = this.find(this.options.toggle),
+ active = UI.$(tab),
+ animation = Animations[this.options.animation] || function(current, next) {
+
+ if (!$this.options.animation) {
+ return Animations.none.apply($this);
+ }
+
+ var anim = $this.options.animation.split(',');
+
+ if (anim.length == 1) {
+ anim[1] = anim[0];
+ }
+
+ anim[0] = anim[0].trim();
+ anim[1] = anim[1].trim();
+
+ return coreAnimation.apply($this, [anim, current, next]);
+ };
+
+ if (animate===false || !UI.support.animation) {
+ animation = Animations.none;
+ }
+
+ if (active.hasClass("uk-disabled")) return;
+
+ // Update ARIA for Toggles
+ toggles.attr('aria-expanded', 'false');
+ active.attr('aria-expanded', 'true');
+
+ toggles.filter(".uk-active").removeClass("uk-active");
+ active.addClass("uk-active");
+
+ if (this.options.connect && this.connect.length) {
+
+ this.index = this.find(this.options.toggle).index(active);
+
+ if (this.index == -1 ) {
+ this.index = 0;
+ }
+
+ this.connect.each(function() {
+
+ var container = UI.$(this),
+ children = UI.$(container.children()),
+ current = UI.$(children.filter('.uk-active')),
+ next = UI.$(children.eq($this.index));
+
+ $this.animating = true;
+
+ animation.apply($this, [current, next]).then(function(){
+
+ current.removeClass("uk-active");
+ next.addClass("uk-active");
+
+ // Update ARIA for connect
+ current.attr('aria-hidden', 'true');
+ next.attr('aria-hidden', 'false');
+
+ UI.Utils.checkDisplay(next, true);
+
+ $this.animating = false;
+ });
+ });
+ }
+
+ this.trigger("show.uk.switcher", [active]);
+ }
+ });
+
+ Animations = {
+
+ 'none': function() {
+ var d = UI.$.Deferred();
+ d.resolve();
+ return d.promise();
+ },
+
+ 'fade': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-fade', current, next]);
+ },
+
+ 'slide-bottom': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-slide-bottom', current, next]);
+ },
+
+ 'slide-top': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-slide-top', current, next]);
+ },
+
+ 'slide-vertical': function(current, next, dir) {
+
+ var anim = ['uk-animation-slide-top', 'uk-animation-slide-bottom'];
+
+ if (current && current.index() > next.index()) {
+ anim.reverse();
+ }
+
+ return coreAnimation.apply(this, [anim, current, next]);
+ },
+
+ 'slide-left': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-slide-left', current, next]);
+ },
+
+ 'slide-right': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-slide-right', current, next]);
+ },
+
+ 'slide-horizontal': function(current, next, dir) {
+
+ var anim = ['uk-animation-slide-right', 'uk-animation-slide-left'];
+
+ if (current && current.index() > next.index()) {
+ anim.reverse();
+ }
+
+ return coreAnimation.apply(this, [anim, current, next]);
+ },
+
+ 'scale': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-scale-up', current, next]);
+ }
+ };
+
+ UI.switcher.animations = Animations;
+
+
+ // helpers
+
+ function coreAnimation(cls, current, next) {
+
+ var d = UI.$.Deferred(), clsIn = cls, clsOut = cls, release;
+
+ if (next[0]===current[0]) {
+ d.resolve();
+ return d.promise();
+ }
+
+ if (typeof(cls) == 'object') {
+ clsIn = cls[0];
+ clsOut = cls[1] || cls[0];
+ }
+
+ release = function() {
+
+ if (current) current.hide().removeClass('uk-active '+clsOut+' uk-animation-reverse');
+
+ next.addClass(clsIn).one(UI.support.animation.end, function() {
+
+ next.removeClass(''+clsIn+'').css({opacity:'', display:''});
+
+ d.resolve();
+
+ if (current) current.css({opacity:'', display:''});
+
+ }.bind(this)).show();
+ };
+
+ next.css('animation-duration', this.options.duration+'ms');
+
+ if (current && current.length) {
+
+ current.css('animation-duration', this.options.duration+'ms');
+
+ current.css('display', 'none').addClass(clsOut+' uk-animation-reverse').one(UI.support.animation.end, function() {
+ release();
+ }.bind(this)).css('display', '');
+
+ } else {
+ next.addClass('uk-active');
+ release();
+ }
+
+ return d.promise();
+ }
+
+})(UIkit);
diff --git a/uikit/static/js/core/switcher.min.js b/uikit/static/js/core/switcher.min.js
new file mode 100644
index 0000000..d06a3a0
--- /dev/null
+++ b/uikit/static/js/core/switcher.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";function i(i,n,e){var a,s=t.$.Deferred(),o=i,r=i;return e[0]===n[0]?(s.resolve(),s.promise()):("object"==typeof i&&(o=i[0],r=i[1]||i[0]),a=function(){n&&n.hide().removeClass("uk-active "+r+" uk-animation-reverse"),e.addClass(o).one(t.support.animation.end,function(){e.removeClass(""+o).css({opacity:"",display:""}),s.resolve(),n&&n.css({opacity:"",display:""})}.bind(this)).show()},e.css("animation-duration",this.options.duration+"ms"),n&&n.length?(n.css("animation-duration",this.options.duration+"ms"),n.css("display","none").addClass(r+" uk-animation-reverse").one(t.support.animation.end,function(){a()}.bind(this)).css("display","")):(e.addClass("uk-active"),a()),s.promise())}var n;t.component("switcher",{defaults:{connect:!1,toggle:">*",active:0,animation:!1,duration:200},animating:!1,boot:function(){t.ready(function(i){t.$("[data-uk-switcher]",i).each(function(){var i=t.$(this);if(!i.data("switcher")){t.switcher(i,t.Utils.options(i.attr("data-uk-switcher")))}})})},init:function(){var i=this;if(this.on("click.uikit.switcher",this.options.toggle,function(t){t.preventDefault(),i.show(this)}),this.options.connect){this.connect=t.$(this.options.connect),this.connect.find(".uk-active").removeClass(".uk-active"),this.connect.length&&(this.connect.children().attr("aria-hidden","true"),this.connect.on("click","[data-uk-switcher-item]",function(n){n.preventDefault();var e=t.$(this).attr("data-uk-switcher-item");if(i.index!=e)switch(e){case"next":case"previous":i.show(i.index+("next"==e?1:-1));break;default:i.show(parseInt(e,10))}}).on("swipeRight swipeLeft",function(t){t.preventDefault(),window.getSelection().toString()||i.show(i.index+("swipeLeft"==t.type?1:-1))}));var n=this.find(this.options.toggle),e=n.filter(".uk-active");if(e.length)this.show(e,!1);else{if(this.options.active===!1)return;e=n.eq(this.options.active),this.show(e.length?e:n.eq(0),!1)}n.not(e).attr("aria-expanded","false"),e.attr("aria-expanded","true"),this.on("changed.uk.dom",function(){i.connect=t.$(i.options.connect)})}},show:function(e,a){if(!this.animating){if(isNaN(e))e=t.$(e);else{var s=this.find(this.options.toggle);e=0>e?s.length-1:e,e=s.eq(s[e]?e:0)}var o=this,s=this.find(this.options.toggle),r=t.$(e),c=n[this.options.animation]||function(t,e){if(!o.options.animation)return n.none.apply(o);var a=o.options.animation.split(",");return 1==a.length&&(a[1]=a[0]),a[0]=a[0].trim(),a[1]=a[1].trim(),i.apply(o,[a,t,e])};a!==!1&&t.support.animation||(c=n.none),r.hasClass("uk-disabled")||(s.attr("aria-expanded","false"),r.attr("aria-expanded","true"),s.filter(".uk-active").removeClass("uk-active"),r.addClass("uk-active"),this.options.connect&&this.connect.length&&(this.index=this.find(this.options.toggle).index(r),-1==this.index&&(this.index=0),this.connect.each(function(){var i=t.$(this),n=t.$(i.children()),e=t.$(n.filter(".uk-active")),a=t.$(n.eq(o.index));o.animating=!0,c.apply(o,[e,a]).then(function(){e.removeClass("uk-active"),a.addClass("uk-active"),e.attr("aria-hidden","true"),a.attr("aria-hidden","false"),t.Utils.checkDisplay(a,!0),o.animating=!1})})),this.trigger("show.uk.switcher",[r]))}}}),n={none:function(){var i=t.$.Deferred();return i.resolve(),i.promise()},fade:function(t,n){return i.apply(this,["uk-animation-fade",t,n])},"slide-bottom":function(t,n){return i.apply(this,["uk-animation-slide-bottom",t,n])},"slide-top":function(t,n){return i.apply(this,["uk-animation-slide-top",t,n])},"slide-vertical":function(t,n){var e=["uk-animation-slide-top","uk-animation-slide-bottom"];return t&&t.index()>n.index()&&e.reverse(),i.apply(this,[e,t,n])},"slide-left":function(t,n){return i.apply(this,["uk-animation-slide-left",t,n])},"slide-right":function(t,n){return i.apply(this,["uk-animation-slide-right",t,n])},"slide-horizontal":function(t,n){var e=["uk-animation-slide-right","uk-animation-slide-left"];return t&&t.index()>n.index()&&e.reverse(),i.apply(this,[e,t,n])},scale:function(t,n){return i.apply(this,["uk-animation-scale-up",t,n])}},t.switcher.animations=n}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/tab.js b/uikit/static/js/core/tab.js
new file mode 100644
index 0000000..6040e7f
--- /dev/null
+++ b/uikit/static/js/core/tab.js
@@ -0,0 +1,165 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ UI.component('tab', {
+
+ defaults: {
+ 'target' : '>li:not(.uk-tab-responsive, .uk-disabled)',
+ 'connect' : false,
+ 'active' : 0,
+ 'animation' : false,
+ 'duration' : 200
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-tab]", context).each(function() {
+
+ var tab = UI.$(this);
+
+ if (!tab.data("tab")) {
+ var obj = UI.tab(tab, UI.Utils.options(tab.attr("data-uk-tab")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.current = false;
+
+ this.on("click.uikit.tab", this.options.target, function(e) {
+
+ e.preventDefault();
+
+ if ($this.switcher && $this.switcher.animating) {
+ return;
+ }
+
+ var current = $this.find($this.options.target).not(this);
+
+ current.removeClass("uk-active").blur();
+
+ $this.trigger("change.uk.tab", [UI.$(this).addClass("uk-active"), $this.current]);
+
+ $this.current = UI.$(this);
+
+ // Update ARIA
+ if (!$this.options.connect) {
+ current.attr('aria-expanded', 'false');
+ UI.$(this).attr('aria-expanded', 'true');
+ }
+ });
+
+ if (this.options.connect) {
+ this.connect = UI.$(this.options.connect);
+ }
+
+ // init responsive tab
+ this.responsivetab = UI.$('<li class="uk-tab-responsive uk-active"><a></a></li>').append('<div class="uk-dropdown uk-dropdown-small"><ul class="uk-nav uk-nav-dropdown"></ul><div>');
+
+ this.responsivetab.dropdown = this.responsivetab.find('.uk-dropdown');
+ this.responsivetab.lst = this.responsivetab.dropdown.find('ul');
+ this.responsivetab.caption = this.responsivetab.find('a:first');
+
+ if (this.element.hasClass("uk-tab-bottom")) this.responsivetab.dropdown.addClass("uk-dropdown-up");
+
+ // handle click
+ this.responsivetab.lst.on('click.uikit.tab', 'a', function(e) {
+
+ e.preventDefault();
+ e.stopPropagation();
+
+ var link = UI.$(this);
+
+ $this.element.children('li:not(.uk-tab-responsive)').eq(link.data('index')).trigger('click');
+ });
+
+ this.on('show.uk.switcher change.uk.tab', function(e, tab) {
+ $this.responsivetab.caption.html(tab.text());
+ });
+
+ this.element.append(this.responsivetab);
+
+ // init UIkit components
+ if (this.options.connect) {
+ this.switcher = UI.switcher(this.element, {
+ "toggle" : ">li:not(.uk-tab-responsive)",
+ "connect" : this.options.connect,
+ "active" : this.options.active,
+ "animation" : this.options.animation,
+ "duration" : this.options.duration
+ });
+ }
+
+ UI.dropdown(this.responsivetab, {"mode": "click"});
+
+ // init
+ $this.trigger("change.uk.tab", [this.element.find(this.options.target).not('.uk-tab-responsive').filter('.uk-active')]);
+
+ this.check();
+
+ UI.$win.on('resize orientationchange', UI.Utils.debounce(function(){
+ if ($this.element.is(":visible")) $this.check();
+ }, 100));
+
+ this.on('display.uk.check', function(){
+ if ($this.element.is(":visible")) $this.check();
+ });
+ },
+
+ check: function() {
+
+ var children = this.element.children('li:not(.uk-tab-responsive)').removeClass('uk-hidden');
+
+ if (!children.length) {
+ this.responsivetab.addClass('uk-hidden');
+ return;
+ }
+
+ var top = (children.eq(0).offset().top + Math.ceil(children.eq(0).height()/2)),
+ doresponsive = false,
+ item, link, clone;
+
+ this.responsivetab.lst.empty();
+
+ children.each(function(){
+
+ if (UI.$(this).offset().top > top) {
+ doresponsive = true;
+ }
+ });
+
+ if (doresponsive) {
+
+ for (var i = 0; i < children.length; i++) {
+
+ item = UI.$(children.eq(i));
+ link = item.find('a');
+
+ if (item.css('float') != 'none' && !item.attr('uk-dropdown')) {
+
+ if (!item.hasClass('uk-disabled')) {
+
+ clone = item[0].outerHTML.replace('<a ', '<a data-index="'+i+'" ');
+
+ this.responsivetab.lst.append(clone);
+ }
+
+ item.addClass('uk-hidden');
+ }
+ }
+ }
+
+ this.responsivetab[this.responsivetab.lst.children('li').length ? 'removeClass':'addClass']('uk-hidden');
+ }
+ });
+
+})(UIkit);
diff --git a/uikit/static/js/core/tab.min.js b/uikit/static/js/core/tab.min.js
new file mode 100644
index 0000000..3447bc6
--- /dev/null
+++ b/uikit/static/js/core/tab.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";t.component("tab",{defaults:{target:">li:not(.uk-tab-responsive, .uk-disabled)",connect:!1,active:0,animation:!1,duration:200},boot:function(){t.ready(function(i){t.$("[data-uk-tab]",i).each(function(){var i=t.$(this);if(!i.data("tab")){t.tab(i,t.Utils.options(i.attr("data-uk-tab")))}})})},init:function(){var i=this;this.current=!1,this.on("click.uikit.tab",this.options.target,function(e){if(e.preventDefault(),!i.switcher||!i.switcher.animating){var s=i.find(i.options.target).not(this);s.removeClass("uk-active").blur(),i.trigger("change.uk.tab",[t.$(this).addClass("uk-active"),i.current]),i.current=t.$(this),i.options.connect||(s.attr("aria-expanded","false"),t.$(this).attr("aria-expanded","true"))}}),this.options.connect&&(this.connect=t.$(this.options.connect)),this.responsivetab=t.$('<li class="uk-tab-responsive uk-active"><a></a></li>').append('<div class="uk-dropdown uk-dropdown-small"><ul class="uk-nav uk-nav-dropdown"></ul><div>'),this.responsivetab.dropdown=this.responsivetab.find(".uk-dropdown"),this.responsivetab.lst=this.responsivetab.dropdown.find("ul"),this.responsivetab.caption=this.responsivetab.find("a:first"),this.element.hasClass("uk-tab-bottom")&&this.responsivetab.dropdown.addClass("uk-dropdown-up"),this.responsivetab.lst.on("click.uikit.tab","a",function(e){e.preventDefault(),e.stopPropagation();var s=t.$(this);i.element.children("li:not(.uk-tab-responsive)").eq(s.data("index")).trigger("click")}),this.on("show.uk.switcher change.uk.tab",function(t,e){i.responsivetab.caption.html(e.text())}),this.element.append(this.responsivetab),this.options.connect&&(this.switcher=t.switcher(this.element,{toggle:">li:not(.uk-tab-responsive)",connect:this.options.connect,active:this.options.active,animation:this.options.animation,duration:this.options.duration})),t.dropdown(this.responsivetab,{mode:"click"}),i.trigger("change.uk.tab",[this.element.find(this.options.target).not(".uk-tab-responsive").filter(".uk-active")]),this.check(),t.$win.on("resize orientationchange",t.Utils.debounce(function(){i.element.is(":visible")&&i.check()},100)),this.on("display.uk.check",function(){i.element.is(":visible")&&i.check()})},check:function(){var i=this.element.children("li:not(.uk-tab-responsive)").removeClass("uk-hidden");if(!i.length)return this.responsivetab.addClass("uk-hidden"),void 0;var e,s,n,a=i.eq(0).offset().top+Math.ceil(i.eq(0).height()/2),o=!1;if(this.responsivetab.lst.empty(),i.each(function(){t.$(this).offset().top>a&&(o=!0)}),o)for(var r=0;r<i.length;r++)e=t.$(i.eq(r)),s=e.find("a"),"none"==e.css("float")||e.attr("uk-dropdown")||(e.hasClass("uk-disabled")||(n=e[0].outerHTML.replace("<a ",'<a data-index="'+r+'" '),this.responsivetab.lst.append(n)),e.addClass("uk-hidden"));this.responsivetab[this.responsivetab.lst.children("li").length?"removeClass":"addClass"]("uk-hidden")}})}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/toggle.js b/uikit/static/js/core/toggle.js
new file mode 100644
index 0000000..29badf0
--- /dev/null
+++ b/uikit/static/js/core/toggle.js
@@ -0,0 +1,117 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI){
+
+ "use strict";
+
+ var toggles = [];
+
+ UI.component('toggle', {
+
+ defaults: {
+ target : false,
+ cls : 'uk-hidden',
+ animation : false,
+ duration : 200
+ },
+
+ boot: function(){
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-toggle]", context).each(function() {
+ var ele = UI.$(this);
+
+ if (!ele.data("toggle")) {
+ var obj = UI.toggle(ele, UI.Utils.options(ele.attr("data-uk-toggle")));
+ }
+ });
+
+ setTimeout(function(){
+
+ toggles.forEach(function(toggle){
+ toggle.getToggles();
+ });
+
+ }, 0);
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.aria = (this.options.cls.indexOf('uk-hidden') !== -1);
+
+ this.getToggles();
+
+ this.on("click", function(e) {
+ if ($this.element.is('a[href="#"]')) e.preventDefault();
+ $this.toggle();
+ });
+
+ toggles.push(this);
+ },
+
+ toggle: function() {
+
+ if(!this.totoggle.length) return;
+
+ if (this.options.animation && UI.support.animation) {
+
+ var $this = this, animations = this.options.animation.split(',');
+
+ if (animations.length == 1) {
+ animations[1] = animations[0];
+ }
+
+ animations[0] = animations[0].trim();
+ animations[1] = animations[1].trim();
+
+ this.totoggle.css('animation-duration', this.options.duration+'ms');
+
+ if (this.totoggle.hasClass(this.options.cls)) {
+
+ this.totoggle.toggleClass(this.options.cls);
+
+ this.totoggle.each(function(){
+ UI.Utils.animate(this, animations[0]).then(function(){
+ UI.$(this).css('animation-duration', '');
+ UI.Utils.checkDisplay(this);
+ });
+ });
+
+ } else {
+
+ this.totoggle.each(function(){
+ UI.Utils.animate(this, animations[1]+' uk-animation-reverse').then(function(){
+ UI.$(this).toggleClass($this.options.cls).css('animation-duration', '');
+ UI.Utils.checkDisplay(this);
+ }.bind(this));
+ });
+ }
+
+ } else {
+ this.totoggle.toggleClass(this.options.cls);
+ UI.Utils.checkDisplay(this.totoggle);
+ }
+
+ this.updateAria();
+
+ },
+
+ getToggles: function() {
+ this.totoggle = this.options.target ? UI.$(this.options.target):[];
+ this.updateAria();
+ },
+
+ updateAria: function() {
+ if (this.aria && this.totoggle.length) {
+ this.totoggle.each(function(){
+ UI.$(this).attr('aria-hidden', UI.$(this).hasClass('uk-hidden'));
+ });
+ }
+ }
+ });
+
+})(UIkit);
diff --git a/uikit/static/js/core/toggle.min.js b/uikit/static/js/core/toggle.min.js
new file mode 100644
index 0000000..c2cf332
--- /dev/null
+++ b/uikit/static/js/core/toggle.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";var i=[];t.component("toggle",{defaults:{target:!1,cls:"uk-hidden",animation:!1,duration:200},boot:function(){t.ready(function(s){t.$("[data-uk-toggle]",s).each(function(){var i=t.$(this);if(!i.data("toggle")){t.toggle(i,t.Utils.options(i.attr("data-uk-toggle")))}}),setTimeout(function(){i.forEach(function(t){t.getToggles()})},0)})},init:function(){var t=this;this.aria=-1!==this.options.cls.indexOf("uk-hidden"),this.getToggles(),this.on("click",function(i){t.element.is('a[href="#"]')&&i.preventDefault(),t.toggle()}),i.push(this)},toggle:function(){if(this.totoggle.length){if(this.options.animation&&t.support.animation){var i=this,s=this.options.animation.split(",");1==s.length&&(s[1]=s[0]),s[0]=s[0].trim(),s[1]=s[1].trim(),this.totoggle.css("animation-duration",this.options.duration+"ms"),this.totoggle.hasClass(this.options.cls)?(this.totoggle.toggleClass(this.options.cls),this.totoggle.each(function(){t.Utils.animate(this,s[0]).then(function(){t.$(this).css("animation-duration",""),t.Utils.checkDisplay(this)})})):this.totoggle.each(function(){t.Utils.animate(this,s[1]+" uk-animation-reverse").then(function(){t.$(this).toggleClass(i.options.cls).css("animation-duration",""),t.Utils.checkDisplay(this)}.bind(this))})}else this.totoggle.toggleClass(this.options.cls),t.Utils.checkDisplay(this.totoggle);this.updateAria()}},getToggles:function(){this.totoggle=this.options.target?t.$(this.options.target):[],this.updateAria()},updateAria:function(){this.aria&&this.totoggle.length&&this.totoggle.each(function(){t.$(this).attr("aria-hidden",t.$(this).hasClass("uk-hidden"))})}})}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/core/touch.js b/uikit/static/js/core/touch.js
new file mode 100644
index 0000000..9afbce1
--- /dev/null
+++ b/uikit/static/js/core/touch.js
@@ -0,0 +1,173 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+// Based on Zeptos touch.js
+// https://raw.github.com/madrobby/zepto/master/src/touch.js
+// Zepto.js may be freely distributed under the MIT license.
+
+;(function($){
+
+ if ($.fn.swipeLeft) {
+ return;
+ }
+
+
+ var touch = {}, touchTimeout, tapTimeout, swipeTimeout, longTapTimeout, longTapDelay = 750, gesture;
+
+ function swipeDirection(x1, x2, y1, y2) {
+ return Math.abs(x1 - x2) >= Math.abs(y1 - y2) ? (x1 - x2 > 0 ? 'Left' : 'Right') : (y1 - y2 > 0 ? 'Up' : 'Down');
+ }
+
+ function longTap() {
+ longTapTimeout = null;
+ if (touch.last) {
+ touch.el.trigger('longTap');
+ touch = {};
+ }
+ }
+
+ function cancelLongTap() {
+ if (longTapTimeout) clearTimeout(longTapTimeout);
+ longTapTimeout = null;
+ }
+
+ function cancelAll() {
+ if (touchTimeout) clearTimeout(touchTimeout);
+ if (tapTimeout) clearTimeout(tapTimeout);
+ if (swipeTimeout) clearTimeout(swipeTimeout);
+ if (longTapTimeout) clearTimeout(longTapTimeout);
+ touchTimeout = tapTimeout = swipeTimeout = longTapTimeout = null;
+ touch = {};
+ }
+
+ function isPrimaryTouch(event){
+ return event.pointerType == event.MSPOINTER_TYPE_TOUCH && event.isPrimary;
+ }
+
+ $(function(){
+ var now, delta, deltaX = 0, deltaY = 0, firstTouch;
+
+ if ('MSGesture' in window) {
+ gesture = new MSGesture();
+ gesture.target = document.body;
+ }
+
+ $(document)
+ .on('MSGestureEnd gestureend', function(e){
+
+ var swipeDirectionFromVelocity = e.originalEvent.velocityX > 1 ? 'Right' : e.originalEvent.velocityX < -1 ? 'Left' : e.originalEvent.velocityY > 1 ? 'Down' : e.originalEvent.velocityY < -1 ? 'Up' : null;
+
+ if (swipeDirectionFromVelocity) {
+ touch.el.trigger('swipe');
+ touch.el.trigger('swipe'+ swipeDirectionFromVelocity);
+ }
+ })
+ // MSPointerDown: for IE10
+ // pointerdown: for IE11
+ .on('touchstart MSPointerDown pointerdown', function(e){
+
+ if(e.type == 'MSPointerDown' && !isPrimaryTouch(e.originalEvent)) return;
+
+ firstTouch = (e.type == 'MSPointerDown' || e.type == 'pointerdown') ? e : e.originalEvent.touches[0];
+
+ now = Date.now();
+ delta = now - (touch.last || now);
+ touch.el = $('tagName' in firstTouch.target ? firstTouch.target : firstTouch.target.parentNode);
+
+ if(touchTimeout) clearTimeout(touchTimeout);
+
+ touch.x1 = firstTouch.pageX;
+ touch.y1 = firstTouch.pageY;
+
+ if (delta > 0 && delta <= 250) touch.isDoubleTap = true;
+
+ touch.last = now;
+ longTapTimeout = setTimeout(longTap, longTapDelay);
+
+ // adds the current touch contact for IE gesture recognition
+ if (gesture && ( e.type == 'MSPointerDown' || e.type == 'pointerdown' || e.type == 'touchstart' ) ) {
+ gesture.addPointer(e.originalEvent.pointerId);
+ }
+
+ })
+ // MSPointerMove: for IE10
+ // pointermove: for IE11
+ .on('touchmove MSPointerMove pointermove', function(e){
+
+ if (e.type == 'MSPointerMove' && !isPrimaryTouch(e.originalEvent)) return;
+
+ firstTouch = (e.type == 'MSPointerMove' || e.type == 'pointermove') ? e : e.originalEvent.touches[0];
+
+ cancelLongTap();
+ touch.x2 = firstTouch.pageX;
+ touch.y2 = firstTouch.pageY;
+
+ deltaX += Math.abs(touch.x1 - touch.x2);
+ deltaY += Math.abs(touch.y1 - touch.y2);
+ })
+ // MSPointerUp: for IE10
+ // pointerup: for IE11
+ .on('touchend MSPointerUp pointerup', function(e){
+
+ if (e.type == 'MSPointerUp' && !isPrimaryTouch(e.originalEvent)) return;
+
+ cancelLongTap();
+
+ // swipe
+ if ((touch.x2 && Math.abs(touch.x1 - touch.x2) > 30) || (touch.y2 && Math.abs(touch.y1 - touch.y2) > 30)){
+
+ swipeTimeout = setTimeout(function() {
+ touch.el.trigger('swipe');
+ touch.el.trigger('swipe' + (swipeDirection(touch.x1, touch.x2, touch.y1, touch.y2)));
+ touch = {};
+ }, 0);
+
+ // normal tap
+ } else if ('last' in touch) {
+
+ // don't fire tap when delta position changed by more than 30 pixels,
+ // for instance when moving to a point and back to origin
+ if (isNaN(deltaX) || (deltaX < 30 && deltaY < 30)) {
+ // delay by one tick so we can cancel the 'tap' event if 'scroll' fires
+ // ('tap' fires before 'scroll')
+ tapTimeout = setTimeout(function() {
+
+ // trigger universal 'tap' with the option to cancelTouch()
+ // (cancelTouch cancels processing of single vs double taps for faster 'tap' response)
+ var event = $.Event('tap');
+ event.cancelTouch = cancelAll;
+ touch.el.trigger(event);
+
+ // trigger double tap immediately
+ if (touch.isDoubleTap) {
+ touch.el.trigger('doubleTap');
+ touch = {};
+ }
+
+ // trigger single tap after 250ms of inactivity
+ else {
+ touchTimeout = setTimeout(function(){
+ touchTimeout = null;
+ touch.el.trigger('singleTap');
+ touch = {};
+ }, 250);
+ }
+ }, 0);
+ } else {
+ touch = {};
+ }
+ deltaX = deltaY = 0;
+ }
+ })
+ // when the browser window loses focus,
+ // for example when a modal dialog is shown,
+ // cancel all ongoing events
+ .on('touchcancel MSPointerCancel', cancelAll);
+
+ // scrolling the window indicates intention of the user
+ // to scroll, not tap or swipe, so cancel all ongoing events
+ $(window).on('scroll', cancelAll);
+ });
+
+ ['swipe', 'swipeLeft', 'swipeRight', 'swipeUp', 'swipeDown', 'doubleTap', 'tap', 'singleTap', 'longTap'].forEach(function(eventName){
+ $.fn[eventName] = function(callback){ return $(this).on(eventName, callback); };
+ });
+})(jQuery);
diff --git a/uikit/static/js/core/touch.min.js b/uikit/static/js/core/touch.min.js
new file mode 100644
index 0000000..a2ef7de
--- /dev/null
+++ b/uikit/static/js/core/touch.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(e){function t(e,t,n,o){return Math.abs(e-t)>=Math.abs(n-o)?e-t>0?"Left":"Right":n-o>0?"Up":"Down"}function n(){p=null,g.last&&(g.el.trigger("longTap"),g={})}function o(){p&&clearTimeout(p),p=null}function i(){a&&clearTimeout(a),l&&clearTimeout(l),u&&clearTimeout(u),p&&clearTimeout(p),a=l=u=p=null,g={}}function r(e){return e.pointerType==e.MSPOINTER_TYPE_TOUCH&&e.isPrimary}if(!e.fn.swipeLeft){var a,l,u,p,c,g={},s=750;e(function(){var y,w,v,f=0,M=0;"MSGesture"in window&&(c=new MSGesture,c.target=document.body),e(document).on("MSGestureEnd gestureend",function(e){var t=e.originalEvent.velocityX>1?"Right":e.originalEvent.velocityX<-1?"Left":e.originalEvent.velocityY>1?"Down":e.originalEvent.velocityY<-1?"Up":null;t&&(g.el.trigger("swipe"),g.el.trigger("swipe"+t))}).on("touchstart MSPointerDown pointerdown",function(t){("MSPointerDown"!=t.type||r(t.originalEvent))&&(v="MSPointerDown"==t.type||"pointerdown"==t.type?t:t.originalEvent.touches[0],y=Date.now(),w=y-(g.last||y),g.el=e("tagName"in v.target?v.target:v.target.parentNode),a&&clearTimeout(a),g.x1=v.pageX,g.y1=v.pageY,w>0&&250>=w&&(g.isDoubleTap=!0),g.last=y,p=setTimeout(n,s),!c||"MSPointerDown"!=t.type&&"pointerdown"!=t.type&&"touchstart"!=t.type||c.addPointer(t.originalEvent.pointerId))}).on("touchmove MSPointerMove pointermove",function(e){("MSPointerMove"!=e.type||r(e.originalEvent))&&(v="MSPointerMove"==e.type||"pointermove"==e.type?e:e.originalEvent.touches[0],o(),g.x2=v.pageX,g.y2=v.pageY,f+=Math.abs(g.x1-g.x2),M+=Math.abs(g.y1-g.y2))}).on("touchend MSPointerUp pointerup",function(n){("MSPointerUp"!=n.type||r(n.originalEvent))&&(o(),g.x2&&Math.abs(g.x1-g.x2)>30||g.y2&&Math.abs(g.y1-g.y2)>30?u=setTimeout(function(){g.el.trigger("swipe"),g.el.trigger("swipe"+t(g.x1,g.x2,g.y1,g.y2)),g={}},0):"last"in g&&(isNaN(f)||30>f&&30>M?l=setTimeout(function(){var t=e.Event("tap");t.cancelTouch=i,g.el.trigger(t),g.isDoubleTap?(g.el.trigger("doubleTap"),g={}):a=setTimeout(function(){a=null,g.el.trigger("singleTap"),g={}},250)},0):g={},f=M=0))}).on("touchcancel MSPointerCancel",i),e(window).on("scroll",i)}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(t){e.fn[t]=function(n){return e(this).on(t,n)}})}}(jQuery); \ No newline at end of file
diff --git a/uikit/static/js/core/utility.js b/uikit/static/js/core/utility.js
new file mode 100644
index 0000000..0d423a6
--- /dev/null
+++ b/uikit/static/js/core/utility.js
@@ -0,0 +1,243 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(UI) {
+
+ "use strict";
+
+ var stacks = [];
+
+ UI.component('stackMargin', {
+
+ defaults: {
+ 'cls': 'uk-margin-small-top'
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-margin]", context).each(function() {
+
+ var ele = UI.$(this), obj;
+
+ if (!ele.data("stackMargin")) {
+ obj = UI.stackMargin(ele, UI.Utils.options(ele.attr("data-uk-margin")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.columns = this.element.children();
+
+ if (!this.columns.length) return;
+
+ UI.$win.on('resize orientationchange', (function() {
+
+ var fn = function() {
+ $this.process();
+ };
+
+ UI.$(function() {
+ fn();
+ UI.$win.on("load", fn);
+ });
+
+ return UI.Utils.debounce(fn, 20);
+ })());
+
+ UI.$html.on("changed.uk.dom", function(e) {
+ $this.columns = $this.element.children();
+ $this.process();
+ });
+
+ this.on("display.uk.check", function(e) {
+ $this.columns = $this.element.children();
+ if (this.element.is(":visible")) this.process();
+ }.bind(this));
+
+ stacks.push(this);
+ },
+
+ process: function() {
+
+ var $this = this;
+
+ UI.Utils.stackMargin(this.columns, this.options);
+
+ return this;
+ },
+
+ revert: function() {
+ this.columns.removeClass(this.options.cls);
+ return this;
+ }
+ });
+
+
+ // responsive element e.g. iframes
+
+ (function(){
+
+ var elements = [], check = function(ele) {
+
+ if (!ele.is(':visible')) return;
+
+ var width = ele.parent().width(),
+ iwidth = ele.data('width'),
+ ratio = (width / iwidth),
+ height = Math.floor(ratio * ele.data('height'));
+
+ ele.css({'height': (width < iwidth) ? height : ele.data('height')});
+ };
+
+ UI.component('responsiveElement', {
+
+ defaults: {},
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("iframe.uk-responsive-width, [data-uk-responsive]", context).each(function() {
+
+ var ele = UI.$(this), obj;
+
+ if (!ele.data("responsiveIframe")) {
+ obj = UI.responsiveElement(ele, {});
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var ele = this.element;
+
+ if (ele.attr('width') && ele.attr('height')) {
+
+ ele.data({
+
+ 'width' : ele.attr('width'),
+ 'height': ele.attr('height')
+
+ }).on('display.uk.check', function(){
+ check(ele);
+ });
+
+ check(ele);
+
+ elements.push(ele);
+ }
+ }
+ });
+
+ UI.$win.on('resize load', UI.Utils.debounce(function(){
+
+ elements.forEach(function(ele){
+ check(ele);
+ });
+
+ }, 15));
+
+ })();
+
+
+
+ // helper
+
+ UI.Utils.stackMargin = function(elements, options) {
+
+ options = UI.$.extend({
+ 'cls': 'uk-margin-small-top'
+ }, options);
+
+ options.cls = options.cls;
+
+ elements = UI.$(elements).removeClass(options.cls);
+
+ var skip = false,
+ firstvisible = elements.filter(":visible:first"),
+ offset = firstvisible.length ? (firstvisible.position().top + firstvisible.outerHeight()) - 1 : false; // (-1): weird firefox bug when parent container is display:flex
+
+ if (offset === false) return;
+
+ elements.each(function() {
+
+ var column = UI.$(this);
+
+ if (column.is(":visible")) {
+
+ if (skip) {
+ column.addClass(options.cls);
+ } else {
+
+ if (column.position().top >= offset) {
+ skip = column.addClass(options.cls);
+ }
+ }
+ }
+ });
+ };
+
+ UI.Utils.matchHeights = function(elements, options) {
+
+ elements = UI.$(elements).css('min-height', '');
+ options = UI.$.extend({ row : true }, options);
+
+ var matchHeights = function(group){
+
+ if (group.length < 2) return;
+
+ var max = 0;
+
+ group.each(function() {
+ max = Math.max(max, UI.$(this).outerHeight());
+ }).each(function() {
+
+ var element = UI.$(this),
+ height = max - (element.css('box-sizing') == 'border-box' ? 0 : (element.outerHeight() - element.height()));
+
+ element.css('min-height', height + 'px');
+ });
+ };
+
+ if (options.row) {
+
+ elements.first().width(); // force redraw
+
+ setTimeout(function(){
+
+ var lastoffset = false, group = [];
+
+ elements.each(function() {
+
+ var ele = UI.$(this), offset = ele.offset().top;
+
+ if (offset != lastoffset && group.length) {
+
+ matchHeights(UI.$(group));
+ group = [];
+ offset = ele.offset().top;
+ }
+
+ group.push(ele);
+ lastoffset = offset;
+ });
+
+ if (group.length) {
+ matchHeights(UI.$(group));
+ }
+
+ }, 0);
+
+ } else {
+ matchHeights(elements);
+ }
+ };
+
+})(UIkit);
diff --git a/uikit/static/js/core/utility.min.js b/uikit/static/js/core/utility.min.js
new file mode 100644
index 0000000..7089709
--- /dev/null
+++ b/uikit/static/js/core/utility.min.js
@@ -0,0 +1,2 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){"use strict";var i=[];t.component("stackMargin",{defaults:{cls:"uk-margin-small-top"},boot:function(){t.ready(function(i){t.$("[data-uk-margin]",i).each(function(){var i,n=t.$(this);n.data("stackMargin")||(i=t.stackMargin(n,t.Utils.options(n.attr("data-uk-margin"))))})})},init:function(){var n=this;this.columns=this.element.children(),this.columns.length&&(t.$win.on("resize orientationchange",function(){var i=function(){n.process()};return t.$(function(){i(),t.$win.on("load",i)}),t.Utils.debounce(i,20)}()),t.$html.on("changed.uk.dom",function(){n.columns=n.element.children(),n.process()}),this.on("display.uk.check",function(){n.columns=n.element.children(),this.element.is(":visible")&&this.process()}.bind(this)),i.push(this))},process:function(){return t.Utils.stackMargin(this.columns,this.options),this},revert:function(){return this.columns.removeClass(this.options.cls),this}}),function(){var i=[],n=function(t){if(t.is(":visible")){var i=t.parent().width(),n=t.data("width"),s=i/n,e=Math.floor(s*t.data("height"));t.css({height:n>i?e:t.data("height")})}};t.component("responsiveElement",{defaults:{},boot:function(){t.ready(function(i){t.$("iframe.uk-responsive-width, [data-uk-responsive]",i).each(function(){var i,n=t.$(this);n.data("responsiveIframe")||(i=t.responsiveElement(n,{}))})})},init:function(){var t=this.element;t.attr("width")&&t.attr("height")&&(t.data({width:t.attr("width"),height:t.attr("height")}).on("display.uk.check",function(){n(t)}),n(t),i.push(t))}}),t.$win.on("resize load",t.Utils.debounce(function(){i.forEach(function(t){n(t)})},15))}(),t.Utils.stackMargin=function(i,n){n=t.$.extend({cls:"uk-margin-small-top"},n),n.cls=n.cls,i=t.$(i).removeClass(n.cls);var s=!1,e=i.filter(":visible:first"),o=e.length?e.position().top+e.outerHeight()-1:!1;o!==!1&&i.each(function(){var i=t.$(this);i.is(":visible")&&(s?i.addClass(n.cls):i.position().top>=o&&(s=i.addClass(n.cls)))})},t.Utils.matchHeights=function(i,n){i=t.$(i).css("min-height",""),n=t.$.extend({row:!0},n);var s=function(i){if(!(i.length<2)){var n=0;i.each(function(){n=Math.max(n,t.$(this).outerHeight())}).each(function(){var i=t.$(this),s=n-("border-box"==i.css("box-sizing")?0:i.outerHeight()-i.height());i.css("min-height",s+"px")})}};n.row?(i.first().width(),setTimeout(function(){var n=!1,e=[];i.each(function(){var i=t.$(this),o=i.offset().top;o!=n&&e.length&&(s(t.$(e)),e=[],o=i.offset().top),e.push(i),n=o}),e.length&&s(t.$(e))},0)):s(i)}}(UIkit); \ No newline at end of file
diff --git a/uikit/static/js/lib/MathJax.js b/uikit/static/js/lib/MathJax.js
new file mode 100644
index 0000000..b90b288
--- /dev/null
+++ b/uikit/static/js/lib/MathJax.js
@@ -0,0 +1,19 @@
+/*
+ * /MathJax.js
+ *
+ * Copyright (c) 2009-2015 The MathJax Consortium
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+if(document.getElementById&&document.childNodes&&document.createElement){if(!(window.MathJax&&MathJax.Hub)){if(window.MathJax){window.MathJax={AuthorConfig:window.MathJax}}else{window.MathJax={}}MathJax.isPacked=true;MathJax.version="2.5";MathJax.fileversion="2.5.3";MathJax.cdnVersion="2.5.3";MathJax.cdnFileVersions={};(function(d){var b=window[d];if(!b){b=window[d]={}}var e=[];var c=function(f){var g=f.constructor;if(!g){g=function(){}}for(var h in f){if(h!=="constructor"&&f.hasOwnProperty(h)){g[h]=f[h]}}return g};var a=function(){return function(){return arguments.callee.Init.call(this,arguments)}};b.Object=c({constructor:a(),Subclass:function(f,h){var g=a();g.SUPER=this;g.Init=this.Init;g.Subclass=this.Subclass;g.Augment=this.Augment;g.protoFunction=this.protoFunction;g.can=this.can;g.has=this.has;g.isa=this.isa;g.prototype=new this(e);g.prototype.constructor=g;g.Augment(f,h);return g},Init:function(f){var g=this;if(f.length===1&&f[0]===e){return g}if(!(g instanceof f.callee)){g=new f.callee(e)}return g.Init.apply(g,f)||g},Augment:function(f,g){var h;if(f!=null){for(h in f){if(f.hasOwnProperty(h)){this.protoFunction(h,f[h])}}if(f.toString!==this.prototype.toString&&f.toString!=={}.toString){this.protoFunction("toString",f.toString)}}if(g!=null){for(h in g){if(g.hasOwnProperty(h)){this[h]=g[h]}}}return this},protoFunction:function(g,f){this.prototype[g]=f;if(typeof f==="function"){f.SUPER=this.SUPER.prototype}},prototype:{Init:function(){},SUPER:function(f){return f.callee.SUPER},can:function(f){return typeof(this[f])==="function"},has:function(f){return typeof(this[f])!=="undefined"},isa:function(f){return(f instanceof Object)&&(this instanceof f)}},can:function(f){return this.prototype.can.call(this,f)},has:function(f){return this.prototype.has.call(this,f)},isa:function(g){var f=this;while(f){if(f===g){return true}else{f=f.SUPER}}return false},SimpleSUPER:c({constructor:function(f){return this.SimpleSUPER.define(f)},define:function(f){var h={};if(f!=null){for(var g in f){if(f.hasOwnProperty(g)){h[g]=this.wrap(g,f[g])}}if(f.toString!==this.prototype.toString&&f.toString!=={}.toString){h.toString=this.wrap("toString",f.toString)}}return h},wrap:function(i,h){if(typeof(h)!=="function"||!h.toString().match(/\.\s*SUPER\s*\(/)){return h}var g=function(){this.SUPER=g.SUPER[i];try{var f=h.apply(this,arguments)}catch(j){delete this.SUPER;throw j}delete this.SUPER;return f};g.toString=function(){return h.toString.apply(h,arguments)};return g}})})})("MathJax");(function(BASENAME){var BASE=window[BASENAME];if(!BASE){BASE=window[BASENAME]={}}var CALLBACK=function(data){var cb=function(){return arguments.callee.execute.apply(arguments.callee,arguments)};for(var id in CALLBACK.prototype){if(CALLBACK.prototype.hasOwnProperty(id)){if(typeof(data[id])!=="undefined"){cb[id]=data[id]}else{cb[id]=CALLBACK.prototype[id]}}}cb.toString=CALLBACK.prototype.toString;return cb};CALLBACK.prototype={isCallback:true,hook:function(){},data:[],object:window,execute:function(){if(!this.called||this.autoReset){this.called=!this.autoReset;return this.hook.apply(this.object,this.data.concat([].slice.call(arguments,0)))}},reset:function(){delete this.called},toString:function(){return this.hook.toString.apply(this.hook,arguments)}};var ISCALLBACK=function(f){return(typeof(f)==="function"&&f.isCallback)};var EVAL=function(code){return eval.call(window,code)};var TESTEVAL=function(){EVAL("var __TeSt_VaR__ = 1");if(window.__TeSt_VaR__){try{delete window.__TeSt_VaR__}catch(error){window.__TeSt_VaR__=null}}else{if(window.execScript){EVAL=function(code){BASE.__code=code;code="try {"+BASENAME+".__result = eval("+BASENAME+".__code)} catch(err) {"+BASENAME+".__result = err}";window.execScript(code);var result=BASE.__result;delete BASE.__result;delete BASE.__code;if(result instanceof Error){throw result}return result}}else{EVAL=function(code){BASE.__code=code;code="try {"+BASENAME+".__result = eval("+BASENAME+".__code)} catch(err) {"+BASENAME+".__result = err}";var head=(document.getElementsByTagName("head"))[0];if(!head){head=document.body}var script=document.createElement("script");script.appendChild(document.createTextNode(code));head.appendChild(script);head.removeChild(script);var result=BASE.__result;delete BASE.__result;delete BASE.__code;if(result instanceof Error){throw result}return result}}}TESTEVAL=null};var USING=function(args,i){if(arguments.length>1){if(arguments.length===2&&!(typeof arguments[0]==="function")&&arguments[0] instanceof Object&&typeof arguments[1]==="number"){args=[].slice.call(args,i)}else{args=[].slice.call(arguments,0)}}if(args instanceof Array&&args.length===1){args=args[0]}if(typeof args==="function"){if(args.execute===CALLBACK.prototype.execute){return args}return CALLBACK({hook:args})}else{if(args instanceof Array){if(typeof(args[0])==="string"&&args[1] instanceof Object&&typeof args[1][args[0]]==="function"){return CALLBACK({hook:args[1][args[0]],object:args[1],data:args.slice(2)})}else{if(typeof args[0]==="function"){return CALLBACK({hook:args[0],data:args.slice(1)})}else{if(typeof args[1]==="function"){return CALLBACK({hook:args[1],object:args[0],data:args.slice(2)})}}}}else{if(typeof(args)==="string"){if(TESTEVAL){TESTEVAL()}return CALLBACK({hook:EVAL,data:[args]})}else{if(args instanceof Object){return CALLBACK(args)}else{if(typeof(args)==="undefined"){return CALLBACK({})}}}}}throw Error("Can't make callback from given data")};var DELAY=function(time,callback){callback=USING(callback);callback.timeout=setTimeout(callback,time);return callback};var WAITFOR=function(callback,signal){callback=USING(callback);if(!callback.called){WAITSIGNAL(callback,signal);signal.pending++}};var WAITEXECUTE=function(){var signals=this.signal;delete this.signal;this.execute=this.oldExecute;delete this.oldExecute;var result=this.execute.apply(this,arguments);if(ISCALLBACK(result)&&!result.called){WAITSIGNAL(result,signals)}else{for(var i=0,m=signals.length;i<m;i++){signals[i].pending--;if(signals[i].pending<=0){signals[i].call()}}}};var WAITSIGNAL=function(callback,signals){if(!(signals instanceof Array)){signals=[signals]}if(!callback.signal){callback.oldExecute=callback.execute;callback.execute=WAITEXECUTE;callback.signal=signals}else{if(signals.length===1){callback.signal.push(signals[0])}else{callback.signal=callback.signal.concat(signals)}}};var AFTER=function(callback){callback=USING(callback);callback.pending=0;for(var i=1,m=arguments.length;i<m;i++){if(arguments[i]){WAITFOR(arguments[i],callback)}}if(callback.pending===0){var result=callback();if(ISCALLBACK(result)){callback=result}}return callback};var HOOKS=MathJax.Object.Subclass({Init:function(reset){this.hooks=[];this.remove=[];this.reset=reset;this.running=false},Add:function(hook,priority){if(priority==null){priority=10}if(!ISCALLBACK(hook)){hook=USING(hook)}hook.priority=priority;var i=this.hooks.length;while(i>0&&priority<this.hooks[i-1].priority){i--}this.hooks.splice(i,0,hook);return hook},Remove:function(hook){for(var i=0,m=this.hooks.length;i<m;i++){if(this.hooks[i]===hook){if(this.running){this.remove.push(i)}else{this.hooks.splice(i,1)}return}}},Execute:function(){var callbacks=[{}];this.running=true;for(var i=0,m=this.hooks.length;i<m;i++){if(this.reset){this.hooks[i].reset()}var result=this.hooks[i].apply(window,arguments);if(ISCALLBACK(result)&&!result.called){callbacks.push(result)}}this.running=false;if(this.remove.length){this.RemovePending()}if(callbacks.length===1){return null}if(callbacks.length===2){return callbacks[1]}return AFTER.apply({},callbacks)},RemovePending:function(){this.remove=this.remove.sort();for(var i=this.remove.length-1;i>=0;i--){this.hooks.splice(i,1)}this.remove=[]}});var EXECUTEHOOKS=function(hooks,data,reset){if(!hooks){return null}if(!(hooks instanceof Array)){hooks=[hooks]}if(!(data instanceof Array)){data=(data==null?[]:[data])}var handler=HOOKS(reset);for(var i=0,m=hooks.length;i<m;i++){handler.Add(hooks[i])}return handler.Execute.apply(handler,data)};var QUEUE=BASE.Object.Subclass({Init:function(){this.pending=this.running=0;this.queue=[];this.Push.apply(this,arguments)},Push:function(){var callback;for(var i=0,m=arguments.length;i<m;i++){callback=USING(arguments[i]);if(callback===arguments[i]&&!callback.called){callback=USING(["wait",this,callback])}this.queue.push(callback)}if(!this.running&&!this.pending){this.Process()}return callback},Process:function(queue){while(!this.running&&!this.pending&&this.queue.length){var callback=this.queue[0];queue=this.queue.slice(1);this.queue=[];this.Suspend();var result=callback();this.Resume();if(queue.length){this.queue=queue.concat(this.queue)}if(ISCALLBACK(result)&&!result.called){WAITFOR(result,this)}}},Suspend:function(){this.running++},Resume:function(){if(this.running){this.running--}},call:function(){this.Process.apply(this,arguments)},wait:function(callback){return callback}});var SIGNAL=QUEUE.Subclass({Init:function(name){QUEUE.prototype.Init.call(this);this.name=name;this.posted=[];this.listeners=HOOKS(true);this.posting=false;this.callback=null},Post:function(message,callback,forget){callback=USING(callback);if(this.posting||this.pending){this.Push(["Post",this,message,callback,forget])}else{this.callback=callback;callback.reset();if(!forget){this.posted.push(message)}this.Suspend();this.posting=true;var result=this.listeners.Execute(message);if(ISCALLBACK(result)&&!result.called){WAITFOR(result,this)}this.Resume();this.posting=false;if(!this.pending){this.call()}}return callback},Clear:function(callback){callback=USING(callback);if(this.posting||this.pending){callback=this.Push(["Clear",this,callback])}else{this.posted=[];callback()}return callback},call:function(){this.callback(this);this.Process()},Interest:function(callback,ignorePast,priority){callback=USING(callback);this.listeners.Add(callback,priority);if(!ignorePast){for(var i=0,m=this.posted.length;i<m;i++){callback.reset();var result=callback(this.posted[i]);if(ISCALLBACK(result)&&i===this.posted.length-1){WAITFOR(result,this)}}}return callback},NoInterest:function(callback){this.listeners.Remove(callback)},MessageHook:function(msg,callback,priority){callback=USING(callback);if(!this.hooks){this.hooks={};this.Interest(["ExecuteHooks",this])}if(!this.hooks[msg]){this.hooks[msg]=HOOKS(true)}this.hooks[msg].Add(callback,priority);for(var i=0,m=this.posted.length;i<m;i++){if(this.posted[i]==msg){callback.reset();callback(this.posted[i])}}callback.msg=msg;return callback},ExecuteHooks:function(msg){var type=((msg instanceof Array)?msg[0]:msg);if(!this.hooks[type]){return null}return this.hooks[type].Execute(msg)},RemoveHook:function(hook){this.hooks[hook.msg].Remove(hook)}},{signals:{},find:function(name){if(!SIGNAL.signals[name]){SIGNAL.signals[name]=new SIGNAL(name)}return SIGNAL.signals[name]}});BASE.Callback=BASE.CallBack=USING;BASE.Callback.Delay=DELAY;BASE.Callback.After=AFTER;BASE.Callback.Queue=QUEUE;BASE.Callback.Signal=SIGNAL.find;BASE.Callback.Hooks=HOOKS;BASE.Callback.ExecuteHooks=EXECUTEHOOKS})("MathJax");(function(e){var a=window[e];if(!a){a=window[e]={}}var d=(navigator.vendor==="Apple Computer, Inc."&&typeof navigator.vendorSub==="undefined");var g=0;var h=function(i){if(document.styleSheets&&document.styleSheets.length>g){g=document.styleSheets.length}if(!i){i=document.head||((document.getElementsByTagName("head"))[0]);if(!i){i=document.body}}return i};var f=[];var c=function(){for(var k=0,j=f.length;k<j;k++){a.Ajax.head.removeChild(f[k])}f=[]};var b={};b[e]="";a.Ajax={loaded:{},loading:{},loadHooks:{},timeout:15*1000,styleDelay:1,config:{root:"",path:b},STATUS:{OK:1,ERROR:-1},fileURL:function(j){var i=j.match(/^\[([-._a-z0-9]+)\]/i);if(i&&i[1] in b){j=(b[i[1]]||this.config.root)+j.substr(i[1].length+2)}return j},fileName:function(j){var i=this.config.root;if(j.substr(0,i.length)===i){j="["+e+"]"+j.substr(i.length)}else{for(var k in b){if(b.hasOwnProperty(k)&&b[k]){if(j.substr(0,b[k].length)===b[k]){j="["+k+"]"+j.substr(b[k].length);break}}}}return j},fileRev:function(j){var i=a.cdnFileVersions[name]||a.cdnVersion;if(i){i="?rev="+i}return i},urlRev:function(i){return this.fileURL(i)+this.fileRev(i)},Require:function(k,n){n=a.Callback(n);var l;if(k instanceof Object){for(var j in k){if(k.hasOwnProperty(j)){l=j.toUpperCase();k=k[j]}}}else{l=k.split(/\./).pop().toUpperCase()}k=this.fileURL(k);if(this.loaded[k]){n(this.loaded[k])}else{var m={};m[l]=k;this.Load(m,n)}return n},Load:function(k,m){m=a.Callback(m);var l;if(k instanceof Object){for(var j in k){if(k.hasOwnProperty(j)){l=j.toUpperCase();k=k[j]}}}else{l=k.split(/\./).pop().toUpperCase()}k=this.fileURL(k);if(this.loading[k]){this.addHook(k,m)}else{this.head=h(this.head);if(this.loader[l]){this.loader[l].call(this,k,m)}else{throw Error("Can't load files of type "+l)}}return m},LoadHook:function(l,m,k){m=a.Callback(m);if(l instanceof Object){for(var j in l){if(l.hasOwnProperty(j)){l=l[j]}}}l=this.fileURL(l);if(this.loaded[l]){m(this.loaded[l])}else{this.addHook(l,m,k)}return m},addHook:function(j,k,i){if(!this.loadHooks[j]){this.loadHooks[j]=MathJax.Callback.Hooks()}this.loadHooks[j].Add(k,i);k.file=j},removeHook:function(i){if(this.loadHooks[i.file]){this.loadHooks[i.file].Remove(i);if(!this.loadHooks[i.file].hooks.length){delete this.loadHooks[i.file]}}},Preloading:function(){for(var l=0,j=arguments.length;l<j;l++){var k=this.fileURL(arguments[l]);if(!this.loading[k]){this.loading[k]={preloaded:true}}}},loader:{JS:function(k,m){var j=this.fileName(k);var i=document.createElement("script");var l=a.Callback(["loadTimeout",this,k]);this.loading[k]={callback:m,timeout:setTimeout(l,this.timeout),status:this.STATUS.OK,script:i};this.loading[k].message=a.Message.File(j);i.onerror=l;i.type="text/javascript";i.src=k+this.fileRev(j);this.head.appendChild(i)},CSS:function(j,l){var i=this.fileName(j);var k=document.createElement("link");k.rel="stylesheet";k.type="text/css";k.href=j+this.fileRev(i);this.loading[j]={callback:l,message:a.Message.File(i),status:this.STATUS.OK};this.head.appendChild(k);this.timer.create.call(this,[this.timer.file,j],k)}},timer:{create:function(j,i){j=a.Callback(j);if(i.nodeName==="STYLE"&&i.styleSheet&&typeof(i.styleSheet.cssText)!=="undefined"){j(this.STATUS.OK)}else{if(window.chrome&&i.nodeName==="LINK"){j(this.STATUS.OK)}else{if(d){this.timer.start(this,[this.timer.checkSafari2,g++,j],this.styleDelay)}else{this.timer.start(this,[this.timer.checkLength,i,j],this.styleDelay)}}}return j},start:function(j,i,k,l){i=a.Callback(i);i.execute=this.execute;i.time=this.time;i.STATUS=j.STATUS;i.timeout=l||j.timeout;i.delay=i.total=k||0;if(k){setTimeout(i,k)}else{i()}},time:function(i){this.total+=this.delay;this.delay=Math.floor(this.delay*1.05+5);if(this.total>=this.timeout){i(this.STATUS.ERROR);return 1}return 0},file:function(j,i){if(i<0){a.Ajax.loadTimeout(j)}else{a.Ajax.loadComplete(j)}},execute:function(){this.hook.call(this.object,this,this.data[0],this.data[1])},checkSafari2:function(i,j,k){if(i.time(k)){return}if(document.styleSheets.length>j&&document.styleSheets[j].cssRules&&document.styleSheets[j].cssRules.length){k(i.STATUS.OK)}else{setTimeout(i,i.delay)}},checkLength:function(i,l,n){if(i.time(n)){return}var m=0;var j=(l.sheet||l.styleSheet);try{if((j.cssRules||j.rules||[]).length>0){m=1}}catch(k){if(k.message.match(/protected variable|restricted URI/)){m=1}else{if(k.message.match(/Security error/)){m=1}}}if(m){setTimeout(a.Callback([n,i.STATUS.OK]),0)}else{setTimeout(i,i.delay)}}},loadComplete:function(i){i=this.fileURL(i);var j=this.loading[i];if(j&&!j.preloaded){a.Message.Clear(j.message);clearTimeout(j.timeout);if(j.script){if(f.length===0){setTimeout(c,0)}f.push(j.script)}this.loaded[i]=j.status;delete this.loading[i];this.addHook(i,j.callback)}else{if(j){delete this.loading[i]}this.loaded[i]=this.STATUS.OK;j={status:this.STATUS.OK}}if(!this.loadHooks[i]){return null}return this.loadHooks[i].Execute(j.status)},loadTimeout:function(i){if(this.loading[i].timeout){clearTimeout(this.loading[i].timeout)}this.loading[i].status=this.STATUS.ERROR;this.loadError(i);this.loadComplete(i)},loadError:function(i){a.Message.Set(["LoadFailed","File failed to load: %1",i],null,2000);a.Hub.signal.Post(["file load error",i])},Styles:function(k,l){var i=this.StyleString(k);if(i===""){l=a.Callback(l);l()}else{var j=document.createElement("style");j.type="text/css";this.head=h(this.head);this.head.appendChild(j);if(j.styleSheet&&typeof(j.styleSheet.cssText)!=="undefined"){j.styleSheet.cssText=i}else{j.appendChild(document.createTextNode(i))}l=this.timer.create.call(this,l,j)}return l},StyleString:function(n){if(typeof(n)==="string"){return n}var k="",o,m;for(o in n){if(n.hasOwnProperty(o)){if(typeof n[o]==="string"){k+=o+" {"+n[o]+"}\n"}else{if(n[o] instanceof Array){for(var l=0;l<n[o].length;l++){m={};m[o]=n[o][l];k+=this.StyleString(m)}}else{if(o.substr(0,6)==="@media"){k+=o+" {"+this.StyleString(n[o])+"}\n"}else{if(n[o]!=null){m=[];for(var j in n[o]){if(n[o].hasOwnProperty(j)){if(n[o][j]!=null){m[m.length]=j+": "+n[o][j]}}}k+=o+" {"+m.join("; ")+"}\n"}}}}}}return k}}})("MathJax");MathJax.HTML={Element:function(c,e,d){var f=document.createElement(c);if(e){if(e.style){var b=e.style;e.style={};for(var g in b){if(b.hasOwnProperty(g)){e.style[g.replace(/-([a-z])/g,this.ucMatch)]=b[g]}}}MathJax.Hub.Insert(f,e)}if(d){if(!(d instanceof Array)){d=[d]}for(var a=0;a<d.length;a++){if(d[a] instanceof Array){f.appendChild(this.Element(d[a][0],d[a][1],d[a][2]))}else{if(c==="script"){this.setScript(f,d[a])}else{f.appendChild(document.createTextNode(d[a]))}}}}return f},ucMatch:function(a,b){return b.toUpperCase()},addElement:function(b,a,d,c){return b.appendChild(this.Element(a,d,c))},TextNode:function(a){return document.createTextNode(a)},addText:function(a,b){return a.appendChild(this.TextNode(b))},setScript:function(a,b){if(this.setScriptBug){a.text=b}else{while(a.firstChild){a.removeChild(a.firstChild)}this.addText(a,b)}},getScript:function(a){var b=(a.text===""?a.innerHTML:a.text);return b.replace(/^\s+/,"").replace(/\s+$/,"")},Cookie:{prefix:"mjx",expires:365,Set:function(a,e){var d=[];if(e){for(var g in e){if(e.hasOwnProperty(g)){d.push(g+":"+e[g].toString().replace(/&/g,"&&"))}}}var b=this.prefix+"."+a+"="+escape(d.join("&;"));if(this.expires){var f=new Date();f.setDate(f.getDate()+this.expires);b+="; expires="+f.toGMTString()}try{document.cookie=b+"; path=/"}catch(c){}},Get:function(a,d){if(!d){d={}}var g=new RegExp("(?:^|;\\s*)"+this.prefix+"\\."+a+"=([^;]*)(?:;|$)");var f;try{f=g.exec(document.cookie)}catch(c){}if(f&&f[1]!==""){var j=unescape(f[1]).split("&;");for(var e=0,b=j.length;e<b;e++){f=j[e].match(/([^:]+):(.*)/);var h=f[2].replace(/&&/g,"&");if(h==="true"){h=true}else{if(h==="false"){h=false}else{if(h.match(/^-?(\d+(\.\d+)?|\.\d+)$/)){h=parseFloat(h)}}}d[f[1]]=h}}return d}}};MathJax.Localization={locale:"en",directory:"[MathJax]/localization",strings:{ast:{menuTitle:"asturianu"},bcc:{menuTitle:"\u0628\u0644\u0648\u0686\u06CC"},br:{menuTitle:"brezhoneg"},ca:{menuTitle:"catal\u00E0"},cdo:{menuTitle:"M\u00ECng-d\u0115\u0324ng-ng\u1E73\u0304"},cs:{menuTitle:"\u010De\u0161tina"},da:{menuTitle:"dansk"},de:{menuTitle:"Deutsch"},en:{menuTitle:"English",isLoaded:true},eo:{menuTitle:"Esperanto"},es:{menuTitle:"espa\u00F1ol"},fa:{menuTitle:"\u0641\u0627\u0631\u0633\u06CC"},fi:{menuTitle:"suomi"},fr:{menuTitle:"fran\u00E7ais"},gl:{menuTitle:"galego"},he:{menuTitle:"\u05E2\u05D1\u05E8\u05D9\u05EA"},ia:{menuTitle:"interlingua"},it:{menuTitle:"italiano"},ja:{menuTitle:"\u65E5\u672C\u8A9E"},kn:{menuTitle:"\u0C95\u0CA8\u0CCD\u0CA8\u0CA1"},ko:{menuTitle:"\uD55C\uAD6D\uC5B4"},lb:{menuTitle:"L\u00EBtzebuergesch"},mk:{menuTitle:"\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438"},nl:{menuTitle:"Nederlands"},oc:{menuTitle:"occitan"},pl:{menuTitle:"polski"},pt:{menuTitle:"portugus\u00EA"},"pt-br":{menuTitle:"portugu\u00EAs do Brasil"},ru:{menuTitle:"\u0440\u0443\u0441\u0441\u043A\u0438\u0439"},sco:{menuTitle:"Scots"},sl:{menuTitle:"sloven\u0161\u010Dina"},sv:{menuTitle:"svenska"},tr:{menuTitle:"T\u00FCrk\u00E7e"},uk:{menuTitle:"\u0443\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430"},vi:{menuTitle:"Ti\u1EBFng Vi\u1EC7t"},"zh-hans":{menuTitle:"\u4E2D\u6587\uFF08\u7B80\u4F53\uFF09"}},pattern:/%(\d+|\{\d+\}|\{[a-z]+:\%\d+(?:\|(?:%\{\d+\}|%.|[^\}])*)+\}|.)/g,SPLIT:("axb".split(/(x)/).length===3?function(a,b){return a.split(b)}:function(c,e){var a=[],b,d=0;e.lastIndex=0;while(b=e.exec(c)){a.push(c.substr(d,b.index-d));a.push.apply(a,b.slice(1));d=b.index+b[0].length}a.push(c.substr(d));return a}),_:function(b,a){if(a instanceof Array){return this.processSnippet(b,a)}return this.processString(this.lookupPhrase(b,a),[].slice.call(arguments,2))},processString:function(l,o,g){var j,e;for(j=0,e=o.length;j<e;j++){if(g&&o[j] instanceof Array){o[j]=this.processSnippet(g,o[j])}}var f=this.SPLIT(l,this.pattern);for(j=1,e=f.length;j<e;j+=2){var p=f[j].charAt(0);if(p>="0"&&p<="9"){f[j]=o[f[j]-1];if(typeof f[j]==="number"){f[j]=this.number(f[j])}}else{if(p==="{"){p=f[j].substr(1);if(p>="0"&&p<="9"){f[j]=o[f[j].substr(1,f[j].length-2)-1];if(typeof f[j]==="number"){f[j]=this.number(f[j])}}else{var k=f[j].match(/^\{([a-z]+):%(\d+)\|(.*)\}$/);if(k){if(k[1]==="plural"){var d=o[k[2]-1];if(typeof d==="undefined"){f[j]="???"}else{d=this.plural(d)-1;var h=k[3].replace(/(^|[^%])(%%)*%\|/g,"$1$2%\uEFEF").split(/\|/);if(d>=0&&d<h.length){f[j]=this.processString(h[d].replace(/\uEFEF/g,"|"),o,g)}else{f[j]="???"}}}else{f[j]="%"+f[j]}}}}}if(f[j]==null){f[j]="???"}}if(!g){return f.join("")}var a=[],b="";for(j=0;j<e;j++){b+=f[j];j++;if(j<e){if(f[j] instanceof Array){a.push(b);a=a.concat(f[j]);b=""}else{b+=f[j]}}}if(b!==""){a.push(b)}return a},processSnippet:function(g,e){var c=[];for(var d=0,b=e.length;d<b;d++){if(e[d] instanceof Array){var f=e[d];if(typeof f[1]==="string"){var h=f[0];if(!(h instanceof Array)){h=[g,h]}var a=this.lookupPhrase(h,f[1]);c=c.concat(this.processMarkdown(a,f.slice(2),g))}else{if(f[1] instanceof Array){c=c.concat(this.processSnippet.apply(this,f))}else{if(f.length>=3){c.push([f[0],f[1],this.processSnippet(g,f[2])])}else{c.push(e[d])}}}}else{c.push(e[d])}}return c},markdownPattern:/(%.)|(\*{1,3})((?:%.|.)+?)\2|(`+)((?:%.|.)+?)\4|\[((?:%.|.)+?)\]\(([^\s\)]+)\)/,processMarkdown:function(b,h,d){var j=[],e;var c=b.split(this.markdownPattern);var g=c[0];for(var f=1,a=c.length;f<a;f+=8){if(c[f+1]){e=this.processString(c[f+2],h,d);if(!(e instanceof Array)){e=[e]}e=[["b","i","i"][c[f+1].length-1],{},e];if(c[f+1].length===3){e=["b",{},e]}}else{if(c[f+3]){e=this.processString(c[f+4].replace(/^\s/,"").replace(/\s$/,""),h,d);if(!(e instanceof Array)){e=[e]}e=["code",{},e]}else{if(c[f+5]){e=this.processString(c[f+5],h,d);if(!(e instanceof Array)){e=[e]}e=["a",{href:this.processString(c[f+6],h),target:"_blank"},e]}else{g+=c[f];e=null}}}if(e){j=this.concatString(j,g,h,d);j.push(e);g=""}if(c[f+7]!==""){g+=c[f+7]}}j=this.concatString(j,g,h,d);return j},concatString:function(a,c,b,d){if(c!=""){c=this.processString(c,b,d);if(!(c instanceof Array)){c=[c]}a=a.concat(c)}return a},lookupPhrase:function(f,a,d){if(!d){d="_"}if(f instanceof Array){d=(f[0]||"_");f=(f[1]||"")}var c=this.loadDomain(d);if(c){MathJax.Hub.RestartAfter(c)}var b=this.strings[this.locale];if(b){if(b.domains&&d in b.domains){var e=b.domains[d];if(e.strings&&f in e.strings){a=e.strings[f]}}}return a},loadFile:function(b,d,e){e=MathJax.Callback(e);b=(d.file||b);if(!b.match(/\.js$/)){b+=".js"}if(!b.match(/^([a-z]+:|\[MathJax\])/)){var a=(this.strings[this.locale].directory||this.directory+"/"+this.locale||"[MathJax]/localization/"+this.locale);b=a+"/"+b}var c=MathJax.Ajax.Require(b,function(){d.isLoaded=true;return e()});return(c.called?null:c)},loadDomain:function(c,e){var b,a=this.strings[this.locale];if(a){if(!a.isLoaded){b=this.loadFile(this.locale,a);if(b){return MathJax.Callback.Queue(b,["loadDomain",this,c]).Push(e||{})}}if(a.domains&&c in a.domains){var d=a.domains[c];if(!d.isLoaded){b=this.loadFile(c,d);if(b){return MathJax.Callback.Queue(b).Push(e)}}}}return MathJax.Callback(e)()},Try:function(a){a=MathJax.Callback(a);a.autoReset=true;try{a()}catch(b){if(!b.restart){throw b}MathJax.Callback.After(["Try",this,a],b.restart)}},resetLocale:function(a){if(!a){return}a=a.toLowerCase();while(!this.strings[a]){var c=a.lastIndexOf("-");if(c===-1){return}a=a.substring(0,c)}var b=this.strings[a].remap;this.locale=b?b:a},setLocale:function(a){this.resetLocale(a);if(MathJax.Menu){this.loadDomain("MathMenu")}},addTranslation:function(b,e,c){var d=this.strings[b],a=false;if(!d){d=this.strings[b]={};a=true}if(!d.domains){d.domains={}}if(e){if(!d.domains[e]){d.domains[e]={}}d=d.domains[e]}MathJax.Hub.Insert(d,c);if(a&&MathJax.Menu.menu){MathJax.Menu.CreateLocaleMenu()}},setCSS:function(b){var a=this.strings[this.locale];if(a){if(a.fontFamily){b.style.fontFamily=a.fontFamily}if(a.fontDirection){b.style.direction=a.fontDirection;if(a.fontDirection==="rtl"){b.style.textAlign="right"}}}return b},fontFamily:function(){var a=this.strings[this.locale];return(a?a.fontFamily:null)},fontDirection:function(){var a=this.strings[this.locale];return(a?a.fontDirection:null)},plural:function(b){var a=this.strings[this.locale];if(a&&a.plural){return a.plural(b)}if(b==1){return 1}return 2},number:function(b){var a=this.strings[this.locale];if(a&&a.number){return a.number(b)}return b}};MathJax.Message={ready:false,log:[{}],current:null,textNodeBug:(navigator.vendor==="Apple Computer, Inc."&&typeof navigator.vendorSub==="undefined")||(window.hasOwnProperty&&window.hasOwnProperty("konqueror")),styles:{"#MathJax_Message":{position:"fixed",left:"1px",bottom:"2px","background-color":"#E6E6E6",border:"1px solid #959595",margin:"0px",padding:"2px 8px","z-index":"102",color:"black","font-size":"80%",width:"auto","white-space":"nowrap"},"#MathJax_MSIE_Frame":{position:"absolute",top:0,left:0,width:"0px","z-index":101,border:"0px",margin:"0px",padding:"0px"}},browsers:{MSIE:function(a){MathJax.Message.msieFixedPositionBug=((document.documentMode||0)<7);if(MathJax.Message.msieFixedPositionBug){MathJax.Hub.config.styles["#MathJax_Message"].position="absolute"}MathJax.Message.quirks=(document.compatMode==="BackCompat")},Chrome:function(a){MathJax.Hub.config.styles["#MathJax_Message"].bottom="1.5em";MathJax.Hub.config.styles["#MathJax_Message"].left="1em"}},Init:function(a){if(a){this.ready=true}if(!document.body||!this.ready){return false}if(this.div&&this.div.parentNode==null){this.div=document.getElementById("MathJax_Message");if(this.div){this.text=this.div.firstChild}}if(!this.div){var b=document.body;if(this.msieFixedPositionBug&&window.attachEvent){b=this.frame=this.addDiv(document.body);b.removeAttribute("id");b.style.position="absolute";b.style.border=b.style.margin=b.style.padding="0px";b.style.zIndex="101";b.style.height="0px";b=this.addDiv(b);b.id="MathJax_MSIE_Frame";window.attachEvent("onscroll",this.MoveFrame);window.attachEvent("onresize",this.MoveFrame);this.MoveFrame()}this.div=this.addDiv(b);this.div.style.display="none";this.text=this.div.appendChild(document.createTextNode(""))}return true},addDiv:function(a){var b=document.createElement("div");b.id="MathJax_Message";if(a.firstChild){a.insertBefore(b,a.firstChild)}else{a.appendChild(b)}return b},MoveFrame:function(){var a=(MathJax.Message.quirks?document.body:document.documentElement);var b=MathJax.Message.frame;b.style.left=a.scrollLeft+"px";b.style.top=a.scrollTop+"px";b.style.width=a.clientWidth+"px";b=b.firstChild;b.style.height=a.clientHeight+"px"},localize:function(a){return MathJax.Localization._(a,a)},filterText:function(a,c,b){if(MathJax.Hub.config.messageStyle==="simple"){if(b==="LoadFile"){if(!this.loading){this.loading=this.localize("Loading")+" "}a=this.loading;this.loading+="."}else{if(b==="ProcessMath"){if(!this.processing){this.processing=this.localize("Processing")+" "}a=this.processing;this.processing+="."}else{if(b==="TypesetMath"){if(!this.typesetting){this.typesetting=this.localize("Typesetting")+" "}a=this.typesetting;this.typesetting+="."}}}}return a},Set:function(c,e,b){if(e==null){e=this.log.length;this.log[e]={}}var d="";if(c instanceof Array){d=c[0];if(d instanceof Array){d=d[1]}try{c=MathJax.Localization._.apply(MathJax.Localization,c)}catch(a){if(!a.restart){throw a}if(!a.restart.called){if(this.log[e].restarted==null){this.log[e].restarted=0}this.log[e].restarted++;delete this.log[e].cleared;MathJax.Callback.After(["Set",this,c,e,b],a.restart);return e}}}if(this.timer){clearTimeout(this.timer);delete this.timer}this.log[e].text=c;this.log[e].filteredText=c=this.filterText(c,e,d);if(typeof(this.log[e].next)==="undefined"){this.log[e].next=this.current;if(this.current!=null){this.log[this.current].prev=e}this.current=e}if(this.current===e&&MathJax.Hub.config.messageStyle!=="none"){if(this.Init()){if(this.textNodeBug){this.div.innerHTML=c}else{this.text.nodeValue=c}this.div.style.display="";if(this.status){window.status="";delete this.status}}else{window.status=c;this.status=true}}if(this.log[e].restarted){if(this.log[e].cleared){b=0}if(--this.log[e].restarted===0){delete this.log[e].cleared}}if(b){setTimeout(MathJax.Callback(["Clear",this,e]),b)}else{if(b==0){this.Clear(e,0)}}return e},Clear:function(b,a){if(this.log[b].prev!=null){this.log[this.log[b].prev].next=this.log[b].next}if(this.log[b].next!=null){this.log[this.log[b].next].prev=this.log[b].prev}if(this.current===b){this.current=this.log[b].next;if(this.text){if(this.div.parentNode==null){this.Init()}if(this.current==null){if(this.timer){clearTimeout(this.timer);delete this.timer}if(a==null){a=600}if(a===0){this.Remove()}else{this.timer=setTimeout(MathJax.Callback(["Remove",this]),a)}}else{if(MathJax.Hub.config.messageStyle!=="none"){if(this.textNodeBug){this.div.innerHTML=this.log[this.current].filteredText}else{this.text.nodeValue=this.log[this.current].filteredText}}}if(this.status){window.status="";delete this.status}}else{if(this.status){window.status=(this.current==null?"":this.log[this.current].text)}}}delete this.log[b].next;delete this.log[b].prev;delete this.log[b].filteredText;if(this.log[b].restarted){this.log[b].cleared=true}},Remove:function(){this.text.nodeValue="";this.div.style.display="none"},File:function(a){return this.Set(["LoadFile","Loading %1",a],null,null)},Log:function(){var b=[];for(var c=1,a=this.log.length;c<a;c++){b[c]=this.log[c].text}return b.join("\n")}};MathJax.Hub={config:{root:"",config:[],styleSheets:[],styles:{".MathJax_Preview":{color:"#888"}},jax:[],extensions:[],preJax:null,postJax:null,displayAlign:"center",displayIndent:"0",preRemoveClass:"MathJax_Preview",showProcessingMessages:true,messageStyle:"normal",delayStartupUntil:"none",skipStartupTypeset:false,elements:[],positionToHash:true,showMathMenu:true,showMathMenuMSIE:true,menuSettings:{zoom:"None",CTRL:false,ALT:false,CMD:false,Shift:false,discoverable:false,zscale:"200%",renderer:"",font:"Auto",context:"MathJax",locale:"en",mpContext:false,mpMouse:false,texHints:true,semantics:false},errorSettings:{message:["[",["MathProcessingError","Math Processing Error"],"]"],style:{color:"#CC0000","font-style":"italic"}},ignoreMMLattributes:{}},preProcessors:MathJax.Callback.Hooks(true),inputJax:{},outputJax:{order:{}},processSectionDelay:50,processUpdateTime:250,processUpdateDelay:10,signal:MathJax.Callback.Signal("Hub"),Config:function(a){this.Insert(this.config,a);if(this.config.Augment){this.Augment(this.config.Augment)}},CombineConfig:function(c,f){var b=this.config,g,e;c=c.split(/\./);for(var d=0,a=c.length;d<a;d++){g=c[d];if(!b[g]){b[g]={}}e=b;b=b[g]}e[g]=b=this.Insert(f,b);return b},Register:{PreProcessor:function(){return MathJax.Hub.preProcessors.Add.apply(MathJax.Hub.preProcessors,arguments)},MessageHook:function(){return MathJax.Hub.signal.MessageHook.apply(MathJax.Hub.signal,arguments)},StartupHook:function(){return MathJax.Hub.Startup.signal.MessageHook.apply(MathJax.Hub.Startup.signal,arguments)},LoadHook:function(){return MathJax.Ajax.LoadHook.apply(MathJax.Ajax,arguments)}},UnRegister:{PreProcessor:function(a){MathJax.Hub.preProcessors.Remove(a)},MessageHook:function(a){MathJax.Hub.signal.RemoveHook(a)},StartupHook:function(a){MathJax.Hub.Startup.signal.RemoveHook(a)},LoadHook:function(a){MathJax.Ajax.removeHook(a)}},getAllJax:function(e){var c=[],b=this.elementScripts(e);for(var d=0,a=b.length;d<a;d++){if(b[d].MathJax&&b[d].MathJax.elementJax){c.push(b[d].MathJax.elementJax)}}return c},getJaxByType:function(f,e){var c=[],b=this.elementScripts(e);for(var d=0,a=b.length;d<a;d++){if(b[d].MathJax&&b[d].MathJax.elementJax&&b[d].MathJax.elementJax.mimeType===f){c.push(b[d].MathJax.elementJax)}}return c},getJaxByInputType:function(f,e){var c=[],b=this.elementScripts(e);for(var d=0,a=b.length;d<a;d++){if(b[d].MathJax&&b[d].MathJax.elementJax&&b[d].type&&b[d].type.replace(/ *;(.|\s)*/,"")===f){c.push(b[d].MathJax.elementJax)}}return c},getJaxFor:function(a){if(typeof(a)==="string"){a=document.getElementById(a)}if(a&&a.MathJax){return a.MathJax.elementJax}if(a&&a.isMathJax){while(a&&!a.jaxID){a=a.parentNode}if(a){return MathJax.OutputJax[a.jaxID].getJaxFromMath(a)}}return null},isJax:function(a){if(typeof(a)==="string"){a=document.getElementById(a)}if(a&&a.isMathJax){return 1}if(a&&a.tagName!=null&&a.tagName.toLowerCase()==="script"){if(a.MathJax){return(a.MathJax.state===MathJax.ElementJax.STATE.PROCESSED?1:-1)}if(a.type&&this.inputJax[a.type.replace(/ *;(.|\s)*/,"")]){return -1}}return 0},setRenderer:function(d,c){if(!d){return}if(!MathJax.OutputJax[d]){this.config.menuSettings.renderer="";var b="[MathJax]/jax/output/"+d+"/config.js";return MathJax.Ajax.Require(b,["setRenderer",this,d,c])}else{this.config.menuSettings.renderer=d;if(c==null){c="jax/mml"}var a=this.outputJax;if(a[c]&&a[c].length){if(d!==a[c][0].id){a[c].unshift(MathJax.OutputJax[d]);return this.signal.Post(["Renderer Selected",d])}}return null}},Queue:function(){return this.queue.Push.apply(this.queue,arguments)},Typeset:function(c,d){if(!MathJax.isReady){return null}var b=this.elementCallback(c,d);if(b.count){var a=MathJax.Callback.Queue(["PreProcess",this,b.elements],["Process",this,b.elements])}return a.Push(b.callback)},PreProcess:function(e,g){var c=this.elementCallback(e,g);var b=MathJax.Callback.Queue();if(c.count){var f=(c.count===1?[c.elements]:c.elements);b.Push(["Post",this.signal,["Begin PreProcess",c.elements]]);for(var d=0,a=f.length;d<a;d++){if(f[d]){b.Push(["Execute",this.preProcessors,f[d]])}}b.Push(["Post",this.signal,["End PreProcess",c.elements]])}return b.Push(c.callback)},Process:function(a,b){return this.takeAction("Process",a,b)},Update:function(a,b){return this.takeAction("Update",a,b)},Reprocess:function(a,b){return this.takeAction("Reprocess",a,b)},Rerender:function(a,b){return this.takeAction("Rerender",a,b)},takeAction:function(g,d,h){var c=this.elementCallback(d,h);var f=c.elements;var a=MathJax.Callback.Queue(["Clear",this.signal]);var e={scripts:[],start:new Date().getTime(),i:0,j:0,jax:{},jaxIDs:[]};if(c.count){var b=["Delay",MathJax.Callback,this.processSectionDelay];if(!b[2]){b={}}a.Push(["Post",this.signal,["Begin "+g,f]],["Post",this.signal,["Begin Math",f,g]],["prepareScripts",this,g,f,e],["Post",this.signal,["Begin Math Input",f,g]],["processInput",this,e],["Post",this.signal,["End Math Input",f,g]],b,["prepareOutput",this,e,"preProcess"],b,["Post",this.signal,["Begin Math Output",f,g]],["processOutput",this,e],["Post",this.signal,["End Math Output",f,g]],b,["prepareOutput",this,e,"postProcess"],b,["Post",this.signal,["End Math",f,g]],["Post",this.signal,["End "+g,f]])}return a.Push(c.callback)},scriptAction:{Process:function(a){},Update:function(b){var a=b.MathJax.elementJax;if(a&&a.needsUpdate()){a.Remove(true);b.MathJax.state=a.STATE.UPDATE}else{b.MathJax.state=a.STATE.PROCESSED}},Reprocess:function(b){var a=b.MathJax.elementJax;if(a){a.Remove(true);b.MathJax.state=a.STATE.UPDATE}},Rerender:function(b){var a=b.MathJax.elementJax;if(a){a.Remove(true);b.MathJax.state=a.STATE.OUTPUT}}},prepareScripts:function(h,e,g){if(arguments.callee.disabled){return}var b=this.elementScripts(e);var f=MathJax.ElementJax.STATE;for(var d=0,a=b.length;d<a;d++){var c=b[d];if(c.type&&this.inputJax[c.type.replace(/ *;(.|\n)*/,"")]){if(c.MathJax){if(c.MathJax.elementJax&&c.MathJax.elementJax.hover){MathJax.Extension.MathEvents.Hover.ClearHover(c.MathJax.elementJax)}if(c.MathJax.state!==f.PENDING){this.scriptAction[h](c)}}if(!c.MathJax){c.MathJax={state:f.PENDING}}if(c.MathJax.state!==f.PROCESSED){g.scripts.push(c)}}}},checkScriptSiblings:function(a){if(a.MathJax.checked){return}var b=this.config,f=a.previousSibling;if(f&&f.nodeName==="#text"){var d,e,c=a.nextSibling;if(c&&c.nodeName!=="#text"){c=null}if(b.preJax){if(typeof(b.preJax)==="string"){b.preJax=new RegExp(b.preJax+"$")}d=f.nodeValue.match(b.preJax)}if(b.postJax&&c){if(typeof(b.postJax)==="string"){b.postJax=new RegExp("^"+b.postJax)}e=c.nodeValue.match(b.postJax)}if(d&&(!b.postJax||e)){f.nodeValue=f.nodeValue.replace(b.preJax,(d.length>1?d[1]:""));f=null}if(e&&(!b.preJax||d)){c.nodeValue=c.nodeValue.replace(b.postJax,(e.length>1?e[1]:""))}if(f&&!f.nodeValue.match(/\S/)){f=f.previousSibling}}if(b.preRemoveClass&&f&&f.className===b.preRemoveClass){a.MathJax.preview=f}a.MathJax.checked=1},processInput:function(a){var b,i=MathJax.ElementJax.STATE;var h,e,d=a.scripts.length;try{while(a.i<d){h=a.scripts[a.i];if(!h){a.i++;continue}e=h.previousSibling;if(e&&e.className==="MathJax_Error"){e.parentNode.removeChild(e)}if(!h.MathJax||h.MathJax.state===i.PROCESSED){a.i++;continue}if(!h.MathJax.elementJax||h.MathJax.state===i.UPDATE){this.checkScriptSiblings(h);var g=h.type.replace(/ *;(.|\s)*/,"");b=this.inputJax[g].Process(h,a);if(typeof b==="function"){if(b.called){continue}this.RestartAfter(b)}b.Attach(h,this.inputJax[g].id);this.saveScript(b,a,h,i)}else{if(h.MathJax.state===i.OUTPUT){this.saveScript(h.MathJax.elementJax,a,h,i)}}a.i++;var c=new Date().getTime();if(c-a.start>this.processUpdateTime&&a.i<a.scripts.length){a.start=c;this.RestartAfter(MathJax.Callback.Delay(1))}}}catch(f){return this.processError(f,a,"Input")}if(a.scripts.length&&this.config.showProcessingMessages){MathJax.Message.Set(["ProcessMath","Processing math: %1%%",100],0)}a.start=new Date().getTime();a.i=a.j=0;return null},saveScript:function(a,d,b,c){if(!this.outputJax[a.mimeType]){b.MathJax.state=c.UPDATE;throw Error("No output jax registered for "+a.mimeType)}a.outputJax=this.outputJax[a.mimeType][0].id;if(!d.jax[a.outputJax]){if(d.jaxIDs.length===0){d.jax[a.outputJax]=d.scripts}else{if(d.jaxIDs.length===1){d.jax[d.jaxIDs[0]]=d.scripts.slice(0,d.i)}d.jax[a.outputJax]=[]}d.jaxIDs.push(a.outputJax)}if(d.jaxIDs.length>1){d.jax[a.outputJax].push(b)}b.MathJax.state=c.OUTPUT},prepareOutput:function(c,f){while(c.j<c.jaxIDs.length){var e=c.jaxIDs[c.j],d=MathJax.OutputJax[e];if(d[f]){try{var a=d[f](c);if(typeof a==="function"){if(a.called){continue}this.RestartAfter(a)}}catch(b){if(!b.restart){MathJax.Message.Set(["PrepError","Error preparing %1 output (%2)",e,f],null,600);MathJax.Hub.lastPrepError=b;c.j++}return MathJax.Callback.After(["prepareOutput",this,c,f],b.restart)}}c.j++}return null},processOutput:function(h){var b,g=MathJax.ElementJax.STATE,d,a=h.scripts.length;try{while(h.i<a){d=h.scripts[h.i];if(!d||!d.MathJax||d.MathJax.error){h.i++;continue}var c=d.MathJax.elementJax;if(!c){h.i++;continue}b=MathJax.OutputJax[c.outputJax].Process(d,h);if(b!==false){d.MathJax.state=g.PROCESSED;if(d.MathJax.preview){d.MathJax.preview.innerHTML=""}this.signal.Post(["New Math",c.inputID])}h.i++;var e=new Date().getTime();if(e-h.start>this.processUpdateTime&&h.i<h.scripts.length){h.start=e;this.RestartAfter(MathJax.Callback.Delay(this.processUpdateDelay))}}}catch(f){return this.processError(f,h,"Output")}if(h.scripts.length&&this.config.showProcessingMessages){MathJax.Message.Set(["TypesetMath","Typesetting math: %1%%",100],0);MathJax.Message.Clear(0)}h.i=h.j=0;return null},processMessage:function(d,b){var a=Math.floor(d.i/(d.scripts.length)*100);var c=(b==="Output"?["TypesetMath","Typesetting math: %1%%"]:["ProcessMath","Processing math: %1%%"]);if(this.config.showProcessingMessages){MathJax.Message.Set(c.concat(a),0)}},processError:function(b,c,a){if(!b.restart){if(!this.config.errorSettings.message){throw b}this.formatError(c.scripts[c.i],b);c.i++}this.processMessage(c,a);return MathJax.Callback.After(["process"+a,this,c],b.restart)},formatError:function(b,e){var d="Error: "+e.message+"\n";if(e.sourceURL){d+="\nfile: "+e.sourceURL}if(e.line){d+="\nline: "+e.line}b.MathJax.error=MathJax.OutputJax.Error.Jax(d,b);var f=this.config.errorSettings;var a=MathJax.Localization._(f.messageId,f.message);var c=MathJax.HTML.Element("span",{className:"MathJax_Error",jaxID:"Error",isMathJax:true},a);if(MathJax.Extension.MathEvents){c.oncontextmenu=MathJax.Extension.MathEvents.Event.Menu;c.onmousedown=MathJax.Extension.MathEvents.Event.Mousedown}else{MathJax.Ajax.Require("[MathJax]/extensions/MathEvents.js",function(){c.oncontextmenu=MathJax.Extension.MathEvents.Event.Menu;c.onmousedown=MathJax.Extension.MathEvents.Event.Mousedown})}b.parentNode.insertBefore(c,b);if(b.MathJax.preview){b.MathJax.preview.innerHTML=""}this.lastError=e;this.signal.Post(["Math Processing Error",b,e])},RestartAfter:function(a){throw this.Insert(Error("restart"),{restart:MathJax.Callback(a)})},elementCallback:function(c,f){if(f==null&&(c instanceof Array||typeof c==="function")){try{MathJax.Callback(c);f=c;c=null}catch(d){}}if(c==null){c=this.config.elements||[]}if(this.isHTMLCollection(c)){c=this.HTMLCollection2Array(c)}if(!(c instanceof Array)){c=[c]}c=[].concat(c);for(var b=0,a=c.length;b<a;b++){if(typeof(c[b])==="string"){c[b]=document.getElementById(c[b])}}if(!document.body){document.body=document.getElementsByTagName("body")[0]}if(c.length==0){c.push(document.body)}if(!f){f={}}return{count:c.length,elements:(c.length===1?c[0]:c),callback:f}},elementScripts:function(e){var b=[];if(e instanceof Array||this.isHTMLCollection(e)){for(var d=0,a=e.length;d<a;d++){var f=0;for(var c=0;c<d&&!f;c++){f=e[c].contains(e[d])}if(!f){b.push.apply(b,this.elementScripts(e[d]))}}return b}if(typeof(e)==="string"){e=document.getElementById(e)}if(!document.body){document.body=document.getElementsByTagName("body")[0]}if(e==null){e=document.body}if(e.tagName!=null&&e.tagName.toLowerCase()==="script"){return[e]}b=e.getElementsByTagName("script");if(this.msieHTMLCollectionBug){b=this.HTMLCollection2Array(b)}return b},isHTMLCollection:function(a){return("HTMLCollection" in window&&typeof(a)==="object"&&a instanceof HTMLCollection)},HTMLCollection2Array:function(c){if(!this.msieHTMLCollectionBug){return[].slice.call(c)}var b=[];for(var d=0,a=c.length;d<a;d++){b[d]=c[d]}return b},Insert:function(c,a){for(var b in a){if(a.hasOwnProperty(b)){if(typeof a[b]==="object"&&!(a[b] instanceof Array)&&(typeof c[b]==="object"||typeof c[b]==="function")){this.Insert(c[b],a[b])}else{c[b]=a[b]}}}return c},SplitList:("trim" in String.prototype?function(a){return a.trim().split(/\s+/)}:function(a){return a.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s+/)})};MathJax.Hub.Insert(MathJax.Hub.config.styles,MathJax.Message.styles);MathJax.Hub.Insert(MathJax.Hub.config.styles,{".MathJax_Error":MathJax.Hub.config.errorSettings.style});MathJax.Extension={};MathJax.Hub.Configured=MathJax.Callback({});MathJax.Hub.Startup={script:"",queue:MathJax.Callback.Queue(),signal:MathJax.Callback.Signal("Startup"),params:{},Config:function(){this.queue.Push(["Post",this.signal,"Begin Config"]);if(this.params.locale){MathJax.Localization.resetLocale(this.params.locale);MathJax.Hub.config.menuSettings.locale=this.params.locale}if(this.params.config){var c=this.params.config.split(/,/);for(var b=0,a=c.length;b<a;b++){if(!c[b].match(/\.js$/)){c[b]+=".js"}this.queue.Push(["Require",MathJax.Ajax,this.URL("config",c[b])])}}this.queue.Push(["Config",MathJax.Hub,MathJax.AuthorConfig]);if(this.script.match(/\S/)){this.queue.Push(this.script+";\n1;")}this.queue.Push(["ConfigDelay",this],["ConfigBlocks",this],[function(d){return d.loadArray(MathJax.Hub.config.config,"config",null,true)},this],["Post",this.signal,"End Config"])},ConfigDelay:function(){var a=this.params.delayStartupUntil||MathJax.Hub.config.delayStartupUntil;if(a==="onload"){return this.onload}if(a==="configured"){return MathJax.Hub.Configured}return a},ConfigBlocks:function(){var c=document.getElementsByTagName("script");var f=null,b=MathJax.Callback.Queue();for(var d=0,a=c.length;d<a;d++){var e=String(c[d].type).replace(/ /g,"");if(e.match(/^text\/x-mathjax-config(;.*)?$/)&&!e.match(/;executed=true/)){c[d].type+=";executed=true";f=b.Push(c[d].innerHTML+";\n1;")}}return f},Cookie:function(){return this.queue.Push(["Post",this.signal,"Begin Cookie"],["Get",MathJax.HTML.Cookie,"menu",MathJax.Hub.config.menuSettings],[function(d){if(d.menuSettings.locale){MathJax.Localization.resetLocale(d.menuSettings.locale)}var f=d.menuSettings.renderer,b=d.jax;if(f){var c="output/"+f;b.sort();for(var e=0,a=b.length;e<a;e++){if(b[e].substr(0,7)==="output/"){break}}if(e==a-1){b.pop()}else{while(e<a){if(b[e]===c){b.splice(e,1);break}e++}}b.unshift(c)}if(d.menuSettings.CHTMLpreview&&!MathJax.Extension["CHTML-preview"]){MathJax.Hub.config.extensions.push("CHTML-preview.js")}},MathJax.Hub.config],["Post",this.signal,"End Cookie"])},Styles:function(){return this.queue.Push(["Post",this.signal,"Begin Styles"],["loadArray",this,MathJax.Hub.config.styleSheets,"config"],["Styles",MathJax.Ajax,MathJax.Hub.config.styles],["Post",this.signal,"End Styles"])},Jax:function(){var f=MathJax.Hub.config,c=MathJax.Hub.outputJax;for(var g=0,b=f.jax.length,d=0;g<b;g++){var e=f.jax[g].substr(7);if(f.jax[g].substr(0,7)==="output/"&&c.order[e]==null){c.order[e]=d;d++}}var a=MathJax.Callback.Queue();return a.Push(["Post",this.signal,"Begin Jax"],["loadArray",this,f.jax,"jax","config.js"],["Post",this.signal,"End Jax"])},Extensions:function(){var a=MathJax.Callback.Queue();return a.Push(["Post",this.signal,"Begin Extensions"],["loadArray",this,MathJax.Hub.config.extensions,"extensions"],["Post",this.signal,"End Extensions"])},Message:function(){MathJax.Message.Init(true)},Menu:function(){var b=MathJax.Hub.config.menuSettings,a=MathJax.Hub.outputJax,d;for(var c in a){if(a.hasOwnProperty(c)){if(a[c].length){d=a[c];break}}}if(d&&d.length){if(b.renderer&&b.renderer!==d[0].id){d.unshift(MathJax.OutputJax[b.renderer])}b.renderer=d[0].id}},Hash:function(){if(MathJax.Hub.config.positionToHash&&document.location.hash&&document.body&&document.body.scrollIntoView){var d=document.location.hash.substr(1);var f=document.getElementById(d);if(!f){var c=document.getElementsByTagName("a");for(var e=0,b=c.length;e<b;e++){if(c[e].name===d){f=c[e];break}}}if(f){while(!f.scrollIntoView){f=f.parentNode}f=this.HashCheck(f);if(f&&f.scrollIntoView){setTimeout(function(){f.scrollIntoView(true)},1)}}}},HashCheck:function(b){if(b.isMathJax){var a=MathJax.Hub.getJaxFor(b);if(a&&MathJax.OutputJax[a.outputJax].hashCheck){b=MathJax.OutputJax[a.outputJax].hashCheck(b)}}return b},MenuZoom:function(){if(MathJax.Hub.config.showMathMenu){if(!MathJax.Extension.MathMenu){setTimeout(function(){MathJax.Callback.Queue(["Require",MathJax.Ajax,"[MathJax]/extensions/MathMenu.js",{}],["loadDomain",MathJax.Localization,"MathMenu"])},1000)}else{setTimeout(MathJax.Callback(["loadDomain",MathJax.Localization,"MathMenu"]),1000)}if(!MathJax.Extension.MathZoom){setTimeout(MathJax.Callback(["Require",MathJax.Ajax,"[MathJax]/extensions/MathZoom.js",{}]),2000)}}},onLoad:function(){var a=this.onload=MathJax.Callback(function(){MathJax.Hub.Startup.signal.Post("onLoad")});if(document.body&&document.readyState){if(MathJax.Hub.Browser.isMSIE){if(document.readyState==="complete"){return[a]}}else{if(document.readyState!=="loading"){return[a]}}}if(window.addEventListener){window.addEventListener("load",a,false);if(!this.params.noDOMContentEvent){window.addEventListener("DOMContentLoaded",a,false)}}else{if(window.attachEvent){window.attachEvent("onload",a)}else{window.onload=a}}return a},Typeset:function(a,b){if(MathJax.Hub.config.skipStartupTypeset){return function(){}}return this.queue.Push(["Post",this.signal,"Begin Typeset"],["Typeset",MathJax.Hub,a,b],["Post",this.signal,"End Typeset"])},URL:function(b,a){if(!a.match(/^([a-z]+:\/\/|\[|\/)/)){a="[MathJax]/"+b+"/"+a}return a},loadArray:function(b,f,c,a){if(b){if(!(b instanceof Array)){b=[b]}if(b.length){var h=MathJax.Callback.Queue(),j={},e;for(var g=0,d=b.length;g<d;g++){e=this.URL(f,b[g]);if(c){e+="/"+c}if(a){h.Push(["Require",MathJax.Ajax,e,j])}else{h.Push(MathJax.Ajax.Require(e,j))}}return h.Push({})}}return null}};(function(d){var b=window[d],e="["+d+"]";var c=b.Hub,a=b.Ajax,f=b.Callback;var g=MathJax.Object.Subclass({JAXFILE:"jax.js",require:null,config:{},Init:function(i,h){if(arguments.length===0){return this}return(this.constructor.Subclass(i,h))()},Augment:function(k,j){var i=this.constructor,h={};if(k!=null){for(var l in k){if(k.hasOwnProperty(l)){if(typeof k[l]==="function"){i.protoFunction(l,k[l])}else{h[l]=k[l]}}}if(k.toString!==i.prototype.toString&&k.toString!=={}.toString){i.protoFunction("toString",k.toString)}}c.Insert(i.prototype,h);i.Augment(null,j);return this},Translate:function(h,i){throw Error(this.directory+"/"+this.JAXFILE+" failed to define the Translate() method")},Register:function(h){},Config:function(){this.config=c.CombineConfig(this.id,this.config);if(this.config.Augment){this.Augment(this.config.Augment)}},Startup:function(){},loadComplete:function(i){if(i==="config.js"){return a.loadComplete(this.directory+"/"+i)}else{var h=f.Queue();h.Push(c.Register.StartupHook("End Config",{}),["Post",c.Startup.signal,this.id+" Jax Config"],["Config",this],["Post",c.Startup.signal,this.id+" Jax Require"],[function(j){return MathJax.Hub.Startup.loadArray(j.require,this.directory)},this],[function(j,k){return MathJax.Hub.Startup.loadArray(j.extensions,"extensions/"+k)},this.config||{},this.id],["Post",c.Startup.signal,this.id+" Jax Startup"],["Startup",this],["Post",c.Startup.signal,this.id+" Jax Ready"]);if(this.copyTranslate){h.Push([function(j){j.preProcess=j.preTranslate;j.Process=j.Translate;j.postProcess=j.postTranslate},this.constructor.prototype])}return h.Push(["loadComplete",a,this.directory+"/"+i])}}},{id:"Jax",version:"2.5.0",directory:e+"/jax",extensionDir:e+"/extensions"});b.InputJax=g.Subclass({elementJax:"mml",sourceMenuTitle:["Original","Original Form"],copyTranslate:true,Process:function(l,q){var j=f.Queue(),o;var k=this.elementJax;if(!(k instanceof Array)){k=[k]}for(var n=0,h=k.length;n<h;n++){o=b.ElementJax.directory+"/"+k[n]+"/"+this.JAXFILE;if(!this.require){this.require=[]}else{if(!(this.require instanceof Array)){this.require=[this.require]}}this.require.push(o);j.Push(a.Require(o))}o=this.directory+"/"+this.JAXFILE;var p=j.Push(a.Require(o));if(!p.called){this.constructor.prototype.Process=function(){if(!p.called){return p}throw Error(o+" failed to load properly")}}k=c.outputJax["jax/"+k[0]];if(k){j.Push(a.Require(k[0].directory+"/"+this.JAXFILE))}return j.Push({})},needsUpdate:function(h){var i=h.SourceElement();return(h.originalText!==b.HTML.getScript(i))},Register:function(h){if(!c.inputJax){c.inputJax={}}c.inputJax[h]=this}},{id:"InputJax",version:"2.5.0",directory:g.directory+"/input",extensionDir:g.extensionDir});b.OutputJax=g.Subclass({copyTranslate:true,preProcess:function(j){var i,h=this.directory+"/"+this.JAXFILE;this.constructor.prototype.preProcess=function(k){if(!i.called){return i}throw Error(h+" failed to load properly")};i=a.Require(h);return i},Register:function(i){var h=c.outputJax;if(!h[i]){h[i]=[]}if(h[i].length&&(this.id===c.config.menuSettings.renderer||(h.order[this.id]||0)<(h.order[h[i][0].id]||0))){h[i].unshift(this)}else{h[i].push(this)}if(!this.require){this.require=[]}else{if(!(this.require instanceof Array)){this.require=[this.require]}}this.require.push(b.ElementJax.directory+"/"+(i.split(/\//)[1])+"/"+this.JAXFILE)},Remove:function(h){}},{id:"OutputJax",version:"2.5.0",directory:g.directory+"/output",extensionDir:g.extensionDir,fontDir:e+(b.isPacked?"":"/..")+"/fonts",imageDir:e+(b.isPacked?"":"/..")+"/images"});b.ElementJax=g.Subclass({Init:function(i,h){return this.constructor.Subclass(i,h)},inputJax:null,outputJax:null,inputID:null,originalText:"",mimeType:"",sourceMenuTitle:["MathMLcode","MathML Code"],Text:function(i,j){var h=this.SourceElement();b.HTML.setScript(h,i);h.MathJax.state=this.STATE.UPDATE;return c.Update(h,j)},Reprocess:function(i){var h=this.SourceElement();h.MathJax.state=this.STATE.UPDATE;return c.Reprocess(h,i)},Update:function(h){return this.Rerender(h)},Rerender:function(i){var h=this.SourceElement();h.MathJax.state=this.STATE.OUTPUT;return c.Process(h,i)},Remove:function(h){if(this.hover){this.hover.clear(this)}b.OutputJax[this.outputJax].Remove(this);if(!h){c.signal.Post(["Remove Math",this.inputID]);this.Detach()}},needsUpdate:function(){return b.InputJax[this.inputJax].needsUpdate(this)},SourceElement:function(){return document.getElementById(this.inputID)},Attach:function(i,j){var h=i.MathJax.elementJax;if(i.MathJax.state===this.STATE.UPDATE){h.Clone(this)}else{h=i.MathJax.elementJax=this;if(i.id){this.inputID=i.id}else{i.id=this.inputID=b.ElementJax.GetID();this.newID=1}}h.originalText=b.HTML.getScript(i);h.inputJax=j;if(h.root){h.root.inputID=h.inputID}return h},Detach:function(){var h=this.SourceElement();if(!h){return}try{delete h.MathJax}catch(i){h.MathJax=null}if(this.newID){h.id=""}},Clone:function(h){var i;for(i in this){if(!this.hasOwnProperty(i)){continue}if(typeof(h[i])==="undefined"&&i!=="newID"){delete this[i]}}for(i in h){if(!h.hasOwnProperty(i)){continue}if(typeof(this[i])==="undefined"||(this[i]!==h[i]&&i!=="inputID")){this[i]=h[i]}}}},{id:"ElementJax",version:"2.5.0",directory:g.directory+"/element",extensionDir:g.extensionDir,ID:0,STATE:{PENDING:1,PROCESSED:2,UPDATE:3,OUTPUT:4},GetID:function(){this.ID++;return"MathJax-Element-"+this.ID},Subclass:function(){var h=g.Subclass.apply(this,arguments);h.loadComplete=this.prototype.loadComplete;return h}});b.ElementJax.prototype.STATE=b.ElementJax.STATE;b.OutputJax.Error={id:"Error",version:"2.5.0",config:{},ContextMenu:function(){return b.Extension.MathEvents.Event.ContextMenu.apply(b.Extension.MathEvents.Event,arguments)},Mousedown:function(){return b.Extension.MathEvents.Event.AltContextMenu.apply(b.Extension.MathEvents.Event,arguments)},getJaxFromMath:function(h){return(h.nextSibling.MathJax||{}).error},Jax:function(j,i){var h=MathJax.Hub.inputJax[i.type.replace(/ *;(.|\s)*/,"")];return{inputJax:(h||{id:"Error"}).id,outputJax:"Error",sourceMenuTitle:["ErrorMessage","Error Message"],sourceMenuFormat:"Error",originalText:MathJax.HTML.getScript(i),errorText:j}}};b.InputJax.Error={id:"Error",version:"2.5.0",config:{},sourceMenuTitle:["Original","Original Form"]}})("MathJax");(function(n){var g=window[n];if(!g){g=window[n]={}}var c=g.Hub;var r=c.Startup;var v=c.config;var f=document.head||(document.getElementsByTagName("head")[0]);if(!f){f=document.childNodes[0]}var b=(document.documentElement||document).getElementsByTagName("script");if(b.length===0&&f.namespaceURI){b=document.getElementsByTagNameNS(f.namespaceURI,"script")}var e=new RegExp("(^|/)"+n+"\\.js(\\?.*)?$");for(var p=b.length-1;p>=0;p--){if((b[p].src||"").match(e)){r.script=b[p].innerHTML;if(RegExp.$2){var s=RegExp.$2.substr(1).split(/\&/);for(var o=0,k=s.length;o<k;o++){var l=s[o].match(/(.*)=(.*)/);if(l){r.params[unescape(l[1])]=unescape(l[2])}}}v.root=b[p].src.replace(/(^|\/)[^\/]*(\?.*)?$/,"").replace(/^(https?:)\/\/[0-9a-f]+(-[0-9a-f]+)?.ssl.cf1.rackcdn.com\//,"$1//cdn.mathjax.org/");g.Ajax.config.root=v.root;break}}var h=navigator.userAgent;var a={isMac:(navigator.platform.substr(0,3)==="Mac"),isPC:(navigator.platform.substr(0,3)==="Win"),isMSIE:("ActiveXObject" in window&&"clipboardData" in window),isFirefox:(h.match(/Gecko\//)&&!h.match(/like Gecko/)),isSafari:(h.match(/ (Apple)?WebKit\//)!=null&&(!window.chrome||window.chrome.loadTimes==null)),isChrome:(window.chrome!=null&&window.chrome.loadTimes!=null),isOpera:(window.opera!=null&&window.opera.version!=null),isKonqueror:("konqueror" in window&&navigator.vendor=="KDE"),versionAtLeast:function(x){var w=(this.version).split(".");x=(new String(x)).split(".");for(var y=0,j=x.length;y<j;y++){if(w[y]!=x[y]){return parseInt(w[y]||"0")>=parseInt(x[y])}}return true},Select:function(j){var i=j[c.Browser];if(i){return i(c.Browser)}return null}};var d=h.replace(/^Mozilla\/(\d+\.)+\d+ /,"").replace(/[a-z][-a-z0-9._: ]+\/\d+[^ ]*-[^ ]*\.([a-z][a-z])?\d+ /i,"").replace(/Gentoo |Ubuntu\/(\d+\.)*\d+ (\([^)]*\) )?/,"");c.Browser=c.Insert(c.Insert(new String("Unknown"),{version:"0.0"}),a);for(var u in a){if(a.hasOwnProperty(u)){if(a[u]&&u.substr(0,2)==="is"){u=u.slice(2);if(u==="Mac"||u==="PC"){continue}c.Browser=c.Insert(new String(u),a);var q=new RegExp(".*(Version/| Trident/.*; rv:)((?:\\d+\\.)+\\d+)|.*("+u+")"+(u=="MSIE"?" ":"/")+"((?:\\d+\\.)*\\d+)|(?:^|\\(| )([a-z][-a-z0-9._: ]+|(?:Apple)?WebKit)/((?:\\d+\\.)+\\d+)");var t=q.exec(d)||["","","","unknown","0.0"];c.Browser.name=(t[1]!=""?u:(t[3]||t[5]));c.Browser.version=t[2]||t[4]||t[6];break}}}c.Browser.Select({Safari:function(j){var i=parseInt((String(j.version).split("."))[0]);if(i>85){j.webkit=j.version}if(i>=538){j.version="8.0"}else{if(i>=537){j.version="7.0"}else{if(i>=536){j.version="6.0"}else{if(i>=534){j.version="5.1"}else{if(i>=533){j.version="5.0"}else{if(i>=526){j.version="4.0"}else{if(i>=525){j.version="3.1"}else{if(i>500){j.version="3.0"}else{if(i>400){j.version="2.0"}else{if(i>85){j.version="1.0"}}}}}}}}}}j.webkit=(navigator.appVersion.match(/WebKit\/(\d+)\./))[1];j.isMobile=(navigator.appVersion.match(/Mobile/i)!=null);j.noContextMenu=j.isMobile},Firefox:function(j){if((j.version==="0.0"||h.match(/Firefox/)==null)&&navigator.product==="Gecko"){var m=h.match(/[\/ ]rv:(\d+\.\d.*?)[\) ]/);if(m){j.version=m[1]}else{var i=(navigator.buildID||navigator.productSub||"0").substr(0,8);if(i>="20111220"){j.version="9.0"}else{if(i>="20111120"){j.version="8.0"}else{if(i>="20110927"){j.version="7.0"}else{if(i>="20110816"){j.version="6.0"}else{if(i>="20110621"){j.version="5.0"}else{if(i>="20110320"){j.version="4.0"}else{if(i>="20100121"){j.version="3.6"}else{if(i>="20090630"){j.version="3.5"}else{if(i>="20080617"){j.version="3.0"}else{if(i>="20061024"){j.version="2.0"}}}}}}}}}}}}j.isMobile=(navigator.appVersion.match(/Android/i)!=null||h.match(/ Fennec\//)!=null||h.match(/Mobile/)!=null)},Opera:function(i){i.version=opera.version()},MSIE:function(j){j.isIE9=!!(document.documentMode&&(window.performance||window.msPerformance));MathJax.HTML.setScriptBug=!j.isIE9||document.documentMode<9;MathJax.Hub.msieHTMLCollectionBug=(document.documentMode<9);if(document.documentMode<10&&!r.params.NoMathPlayer){try{new ActiveXObject("MathPlayer.Factory.1");j.hasMathPlayer=true}catch(m){}try{if(j.hasMathPlayer){var i=document.createElement("object");i.id="mathplayer";i.classid="clsid:32F66A20-7614-11D4-BD11-00104BD3F987";f.appendChild(i);document.namespaces.add("m","http://www.w3.org/1998/Math/MathML");j.mpNamespace=true;if(document.readyState&&(document.readyState==="loading"||document.readyState==="interactive")){document.write('<?import namespace="m" implementation="#MathPlayer">');j.mpImported=true}}else{document.namespaces.add("mjx_IE_fix","http://www.w3.org/1999/xlink")}}catch(m){}}}});c.Browser.Select(MathJax.Message.browsers);if(g.AuthorConfig&&typeof g.AuthorConfig.AuthorInit==="function"){g.AuthorConfig.AuthorInit()}c.queue=g.Callback.Queue();c.queue.Push(["Post",r.signal,"Begin"],["Config",r],["Cookie",r],["Styles",r],["Message",r],function(){var i=g.Callback.Queue(r.Jax(),r.Extensions());return i.Push({})},["Menu",r],r.onLoad(),function(){MathJax.isReady=true},["Typeset",r],["Hash",r],["MenuZoom",r],["Post",r.signal,"End"])})("MathJax")}};
diff --git a/uikit/static/js/lib/extensions/MathEvents.js b/uikit/static/js/lib/extensions/MathEvents.js
new file mode 100644
index 0000000..2d2d0f2
--- /dev/null
+++ b/uikit/static/js/lib/extensions/MathEvents.js
@@ -0,0 +1,19 @@
+/*
+ * /MathJax/extensions/MathEvents.js
+ *
+ * Copyright (c) 2009-2015 The MathJax Consortium
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function(d,h,l,g,m,b,j){var q="2.5.0";var i=MathJax.Extension;var c=i.MathEvents={version:q};var k=d.config.menuSettings;var p={hover:500,frame:{x:3.5,y:5,bwidth:1,bcolor:"#A6D",hwidth:"15px",hcolor:"#83A"},button:{x:-4,y:-3,wx:-2,src:l.urlRev(b.imageDir+"/MenuArrow-15.png")},fadeinInc:0.2,fadeoutInc:0.05,fadeDelay:50,fadeoutStart:400,fadeoutDelay:15*1000,styles:{".MathJax_Hover_Frame":{"border-radius":".25em","-webkit-border-radius":".25em","-moz-border-radius":".25em","-khtml-border-radius":".25em","box-shadow":"0px 0px 15px #83A","-webkit-box-shadow":"0px 0px 15px #83A","-moz-box-shadow":"0px 0px 15px #83A","-khtml-box-shadow":"0px 0px 15px #83A",border:"1px solid #A6D ! important",display:"inline-block",position:"absolute"},".MathJax_Hover_Arrow":{position:"absolute",width:"15px",height:"11px",cursor:"pointer"}}};var n=c.Event={LEFTBUTTON:0,RIGHTBUTTON:2,MENUKEY:"altKey",Mousedown:function(r){return n.Handler(r,"Mousedown",this)},Mouseup:function(r){return n.Handler(r,"Mouseup",this)},Mousemove:function(r){return n.Handler(r,"Mousemove",this)},Mouseover:function(r){return n.Handler(r,"Mouseover",this)},Mouseout:function(r){return n.Handler(r,"Mouseout",this)},Click:function(r){return n.Handler(r,"Click",this)},DblClick:function(r){return n.Handler(r,"DblClick",this)},Menu:function(r){return n.Handler(r,"ContextMenu",this)},Handler:function(u,s,t){if(l.loadingMathMenu){return n.False(u)}var r=b[t.jaxID];if(!u){u=window.event}u.isContextMenu=(s==="ContextMenu");if(r[s]){return r[s](u,t)}if(i.MathZoom){return i.MathZoom.HandleEvent(u,s,t)}},False:function(r){if(!r){r=window.event}if(r){if(r.preventDefault){r.preventDefault()}else{r.returnValue=false}if(r.stopPropagation){r.stopPropagation()}r.cancelBubble=true}return false},ContextMenu:function(u,F,x){var C=b[F.jaxID],w=C.getJaxFromMath(F);var G=(C.config.showMathMenu!=null?C:d).config.showMathMenu;if(!G||(k.context!=="MathJax"&&!x)){return}if(c.msieEventBug){u=window.event||u}n.ClearSelection();f.ClearHoverTimer();if(w.hover){if(w.hover.remove){clearTimeout(w.hover.remove);delete w.hover.remove}w.hover.nofade=true}var v=MathJax.Menu;var H,E;if(v){if(v.loadingDomain){return n.False(u)}H=m.loadDomain("MathMenu");if(!H){v.jax=w;var s=v.menu.Find("Show Math As").menu;s.items[0].name=w.sourceMenuTitle;s.items[0].format=(w.sourceMenuFormat||"MathML");s.items[1].name=j[w.inputJax].sourceMenuTitle;s.items[5].disabled=!j[w.inputJax].annotationEncoding;var B=s.items[2];B.disabled=true;var r=B.menu.items;annotationList=MathJax.Hub.Config.semanticsAnnotations;for(var A=0,z=r.length;A<z;A++){var t=r[A].name[1];if(w.root&&w.root.getAnnotation(t)!==null){B.disabled=false;r[A].hidden=false}else{r[A].hidden=true}}var y=v.menu.Find("Math Settings","MathPlayer");y.hidden=!(w.outputJax==="NativeMML"&&d.Browser.hasMathPlayer);return v.menu.Post(u)}v.loadingDomain=true;E=function(){delete v.loadingDomain}}else{if(l.loadingMathMenu){return n.False(u)}l.loadingMathMenu=true;H=l.Require("[MathJax]/extensions/MathMenu.js");E=function(){delete l.loadingMathMenu;if(!MathJax.Menu){MathJax.Menu={}}}}var D={pageX:u.pageX,pageY:u.pageY,clientX:u.clientX,clientY:u.clientY};g.Queue(H,E,["ContextMenu",n,D,F,x]);return n.False(u)},AltContextMenu:function(t,s){var u=b[s.jaxID];var r=(u.config.showMathMenu!=null?u:d).config.showMathMenu;if(r){r=(u.config.showMathMenuMSIE!=null?u:d).config.showMathMenuMSIE;if(k.context==="MathJax"&&!k.mpContext&&r){if(!c.noContextMenuBug||t.button!==n.RIGHTBUTTON){return}}else{if(!t[n.MENUKEY]||t.button!==n.LEFTBUTTON){return}}return u.ContextMenu(t,s,true)}},ClearSelection:function(){if(c.safariContextMenuBug){setTimeout("window.getSelection().empty()",0)}if(document.selection){setTimeout("document.selection.empty()",0)}},getBBox:function(t){t.appendChild(c.topImg);var s=c.topImg.offsetTop,u=t.offsetHeight-s,r=t.offsetWidth;t.removeChild(c.topImg);return{w:r,h:s,d:u}}};var f=c.Hover={Mouseover:function(t,s){if(k.discoverable||k.zoom==="Hover"){var v=t.fromElement||t.relatedTarget,u=t.toElement||t.target;if(v&&u&&(v.isMathJax!=u.isMathJax||d.getJaxFor(v)!==d.getJaxFor(u))){var r=this.getJaxFromMath(s);if(r.hover){f.ReHover(r)}else{f.HoverTimer(r,s)}return n.False(t)}}},Mouseout:function(t,s){if(k.discoverable||k.zoom==="Hover"){var v=t.fromElement||t.relatedTarget,u=t.toElement||t.target;if(v&&u&&(v.isMathJax!=u.isMathJax||d.getJaxFor(v)!==d.getJaxFor(u))){var r=this.getJaxFromMath(s);if(r.hover){f.UnHover(r)}else{f.ClearHoverTimer()}return n.False(t)}}},Mousemove:function(t,s){if(k.discoverable||k.zoom==="Hover"){var r=this.getJaxFromMath(s);if(r.hover){return}if(f.lastX==t.clientX&&f.lastY==t.clientY){return}f.lastX=t.clientX;f.lastY=t.clientY;f.HoverTimer(r,s);return n.False(t)}},HoverTimer:function(r,s){this.ClearHoverTimer();this.hoverTimer=setTimeout(g(["Hover",this,r,s]),p.hover)},ClearHoverTimer:function(){if(this.hoverTimer){clearTimeout(this.hoverTimer);delete this.hoverTimer}},Hover:function(r,v){if(i.MathZoom&&i.MathZoom.Hover({},v)){return}var u=b[r.outputJax],w=u.getHoverSpan(r,v),z=u.getHoverBBox(r,w,v),x=(u.config.showMathMenu!=null?u:d).config.showMathMenu;var B=p.frame.x,A=p.frame.y,y=p.frame.bwidth;if(c.msieBorderWidthBug){y=0}r.hover={opacity:0,id:r.inputID+"-Hover"};var s=h.Element("span",{id:r.hover.id,isMathJax:true,style:{display:"inline-block",width:0,height:0,position:"relative"}},[["span",{className:"MathJax_Hover_Frame",isMathJax:true,style:{display:"inline-block",position:"absolute",top:this.Px(-z.h-A-y-(z.y||0)),left:this.Px(-B-y+(z.x||0)),width:this.Px(z.w+2*B),height:this.Px(z.h+z.d+2*A),opacity:0,filter:"alpha(opacity=0)"}}]]);var t=h.Element("span",{isMathJax:true,id:r.hover.id+"Menu",style:{display:"inline-block","z-index":1,width:0,height:0,position:"relative"}},[["img",{className:"MathJax_Hover_Arrow",isMathJax:true,math:v,src:p.button.src,onclick:this.HoverMenu,jax:u.id,style:{left:this.Px(z.w+B+y+(z.x||0)+p.button.x),top:this.Px(-z.h-A-y-(z.y||0)-p.button.y),opacity:0,filter:"alpha(opacity=0)"}}]]);if(z.width){s.style.width=t.style.width=z.width;s.style.marginRight=t.style.marginRight="-"+z.width;s.firstChild.style.width=z.width;t.firstChild.style.left="";t.firstChild.style.right=this.Px(p.button.wx)}w.parentNode.insertBefore(s,w);if(x){w.parentNode.insertBefore(t,w)}if(w.style){w.style.position="relative"}this.ReHover(r)},ReHover:function(r){if(r.hover.remove){clearTimeout(r.hover.remove)}r.hover.remove=setTimeout(g(["UnHover",this,r]),p.fadeoutDelay);this.HoverFadeTimer(r,p.fadeinInc)},UnHover:function(r){if(!r.hover.nofade){this.HoverFadeTimer(r,-p.fadeoutInc,p.fadeoutStart)}},HoverFade:function(r){delete r.hover.timer;r.hover.opacity=Math.max(0,Math.min(1,r.hover.opacity+r.hover.inc));r.hover.opacity=Math.floor(1000*r.hover.opacity)/1000;var t=document.getElementById(r.hover.id),s=document.getElementById(r.hover.id+"Menu");t.firstChild.style.opacity=r.hover.opacity;t.firstChild.style.filter="alpha(opacity="+Math.floor(100*r.hover.opacity)+")";if(s){s.firstChild.style.opacity=r.hover.opacity;s.firstChild.style.filter=t.style.filter}if(r.hover.opacity===1){return}if(r.hover.opacity>0){this.HoverFadeTimer(r,r.hover.inc);return}t.parentNode.removeChild(t);if(s){s.parentNode.removeChild(s)}if(r.hover.remove){clearTimeout(r.hover.remove)}delete r.hover},HoverFadeTimer:function(r,t,s){r.hover.inc=t;if(!r.hover.timer){r.hover.timer=setTimeout(g(["HoverFade",this,r]),(s||p.fadeDelay))}},HoverMenu:function(r){if(!r){r=window.event}return b[this.jax].ContextMenu(r,this.math,true)},ClearHover:function(r){if(r.hover.remove){clearTimeout(r.hover.remove)}if(r.hover.timer){clearTimeout(r.hover.timer)}f.ClearHoverTimer();delete r.hover},Px:function(r){if(Math.abs(r)<0.006){return"0px"}return r.toFixed(2).replace(/\.?0+$/,"")+"px"},getImages:function(){if(k.discoverable){var r=new Image();r.src=p.button.src}}};var a=c.Touch={last:0,delay:500,start:function(s){var r=new Date().getTime();var t=(r-a.last<a.delay&&a.up);a.last=r;a.up=false;if(t){a.timeout=setTimeout(a.menu,a.delay,s,this);s.preventDefault()}},end:function(s){var r=new Date().getTime();a.up=(r-a.last<a.delay);if(a.timeout){clearTimeout(a.timeout);delete a.timeout;a.last=0;a.up=false;s.preventDefault();return n.Handler((s.touches[0]||s.touch),"DblClick",this)}},menu:function(s,r){delete a.timeout;a.last=0;a.up=false;return n.Handler((s.touches[0]||s.touch),"ContextMenu",r)}};if(d.Browser.isMobile){var o=p.styles[".MathJax_Hover_Arrow"];o.width="25px";o.height="18px";p.button.x=-6}d.Browser.Select({MSIE:function(r){var t=(document.documentMode||0);var s=r.versionAtLeast("8.0");c.msieBorderWidthBug=(document.compatMode==="BackCompat");c.msieEventBug=r.isIE9;c.msieAlignBug=(!s||t<8);if(t<9){n.LEFTBUTTON=1}},Safari:function(r){c.safariContextMenuBug=true},Opera:function(r){c.operaPositionBug=true},Konqueror:function(r){c.noContextMenuBug=true}});c.topImg=(c.msieAlignBug?h.Element("img",{style:{width:0,height:0,position:"relative"},src:"about:blank"}):h.Element("span",{style:{width:0,height:0,display:"inline-block"}}));if(c.operaPositionBug){c.topImg.style.border="1px solid"}c.config=p=d.CombineConfig("MathEvents",p);var e=function(){var r=p.styles[".MathJax_Hover_Frame"];r.border=p.frame.bwidth+"px solid "+p.frame.bcolor+" ! important";r["box-shadow"]=r["-webkit-box-shadow"]=r["-moz-box-shadow"]=r["-khtml-box-shadow"]="0px 0px "+p.frame.hwidth+" "+p.frame.hcolor};g.Queue(d.Register.StartupHook("End Config",{}),[e],["getImages",f],["Styles",l,p.styles],["Post",d.Startup.signal,"MathEvents Ready"],["loadComplete",l,"[MathJax]/extensions/MathEvents.js"])})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.Callback,MathJax.Localization,MathJax.OutputJax,MathJax.InputJax);
diff --git a/uikit/static/js/lib/extensions/MathMenu.js b/uikit/static/js/lib/extensions/MathMenu.js
new file mode 100644
index 0000000..28d076b
--- /dev/null
+++ b/uikit/static/js/lib/extensions/MathMenu.js
@@ -0,0 +1,19 @@
+/*
+ * /MathJax/extensions/MathMenu.js
+ *
+ * Copyright (c) 2009-2015 The MathJax Consortium
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function(c,g,k,f,b){var q="2.5.0";var j=MathJax.Callback.Signal("menu");MathJax.Extension.MathMenu={version:q,signal:j};var o=function(r){return MathJax.Localization._.apply(MathJax.Localization,[["MathMenu",r]].concat([].slice.call(arguments,1)))};var n=c.Browser.isPC,l=c.Browser.isMSIE,e=((document.documentMode||0)>8);var i=(n?null:"5px");var p=c.CombineConfig("MathMenu",{delay:150,closeImg:k.urlRev(b.imageDir+"/CloseX-31.png"),showRenderer:true,showMathPlayer:true,showFontMenu:false,showContext:false,showDiscoverable:false,showLocale:true,showLocaleURL:false,semanticsAnnotations:{TeX:["TeX","LaTeX","application/x-tex"],StarMath:["StarMath 5.0"],Maple:["Maple"],ContentMathML:["MathML-Content","application/mathml-content+xml"],OpenMath:["OpenMath"]},windowSettings:{status:"no",toolbar:"no",locationbar:"no",menubar:"no",directories:"no",personalbar:"no",resizable:"yes",scrollbars:"yes",width:400,height:300,left:Math.round((screen.width-400)/2),top:Math.round((screen.height-300)/3)},styles:{"#MathJax_About":{position:"fixed",left:"50%",width:"auto","text-align":"center",border:"3px outset",padding:"1em 2em","background-color":"#DDDDDD",color:"black",cursor:"default","font-family":"message-box","font-size":"120%","font-style":"normal","text-indent":0,"text-transform":"none","line-height":"normal","letter-spacing":"normal","word-spacing":"normal","word-wrap":"normal","white-space":"nowrap","float":"none","z-index":201,"border-radius":"15px","-webkit-border-radius":"15px","-moz-border-radius":"15px","-khtml-border-radius":"15px","box-shadow":"0px 10px 20px #808080","-webkit-box-shadow":"0px 10px 20px #808080","-moz-box-shadow":"0px 10px 20px #808080","-khtml-box-shadow":"0px 10px 20px #808080",filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')"},".MathJax_Menu":{position:"absolute","background-color":"white",color:"black",width:"auto",padding:(n?"2px":"5px 0px"),border:"1px solid #CCCCCC",margin:0,cursor:"default",font:"menu","text-align":"left","text-indent":0,"text-transform":"none","line-height":"normal","letter-spacing":"normal","word-spacing":"normal","word-wrap":"normal","white-space":"nowrap","float":"none","z-index":201,"border-radius":i,"-webkit-border-radius":i,"-moz-border-radius":i,"-khtml-border-radius":i,"box-shadow":"0px 10px 20px #808080","-webkit-box-shadow":"0px 10px 20px #808080","-moz-box-shadow":"0px 10px 20px #808080","-khtml-box-shadow":"0px 10px 20px #808080",filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')"},".MathJax_MenuItem":{padding:(n?"2px 2em":"1px 2em"),background:"transparent"},".MathJax_MenuArrow":{position:"absolute",right:".5em",color:"#666666","font-family":(l?"'Arial unicode MS'":null)},".MathJax_MenuActive .MathJax_MenuArrow":{color:"white"},".MathJax_MenuArrow.RTL":{left:".5em",right:"auto"},".MathJax_MenuCheck":{position:"absolute",left:".7em","font-family":(l?"'Arial unicode MS'":null)},".MathJax_MenuCheck.RTL":{right:".7em",left:"auto"},".MathJax_MenuRadioCheck":{position:"absolute",left:(n?"1em":".7em")},".MathJax_MenuRadioCheck.RTL":{right:(n?"1em":".7em"),left:"auto"},".MathJax_MenuLabel":{padding:(n?"2px 2em 4px 1.33em":"1px 2em 3px 1.33em"),"font-style":"italic"},".MathJax_MenuRule":{"border-top":(n?"1px solid #CCCCCC":"1px solid #DDDDDD"),margin:(n?"4px 1px 0px":"4px 3px")},".MathJax_MenuDisabled":{color:"GrayText"},".MathJax_MenuActive":{"background-color":(n?"Highlight":"#606872"),color:(n?"HighlightText":"white")},".MathJax_Menu_Close":{position:"absolute",width:"31px",height:"31px",top:"-15px",left:"-15px"}}});var h,d;c.Register.StartupHook("MathEvents Ready",function(){h=MathJax.Extension.MathEvents.Event.False;d=MathJax.Extension.MathEvents.Hover});var a=MathJax.Menu=MathJax.Object.Subclass({version:q,items:[],posted:false,title:null,margin:5,Init:function(r){this.items=[].slice.call(arguments,0)},With:function(r){if(r){c.Insert(this,r)}return this},Post:function(s,C,A){if(!s){s=window.event}var r=document.getElementById("MathJax_MenuFrame");if(!r){r=a.Background(this);delete m.lastItem;delete m.lastMenu;delete a.skipUp;j.Post(["post",a.jax]);a.isRTL=(MathJax.Localization.fontDirection()==="rtl")}var t=g.Element("div",{onmouseup:a.Mouseup,ondblclick:h,ondragstart:h,onselectstart:h,oncontextmenu:h,menuItem:this,className:"MathJax_Menu"});if(!A){MathJax.Localization.setCSS(t)}for(var v=0,u=this.items.length;v<u;v++){this.items[v].Create(t)}if(a.isMobile){g.addElement(t,"span",{className:"MathJax_Menu_Close",menu:C,ontouchstart:a.Close,ontouchend:h,onmousedown:a.Close,onmouseup:h},[["img",{src:p.closeImg,style:{width:"100%",height:"100%"}}]])}r.appendChild(t);this.posted=true;t.style.width=(t.offsetWidth+2)+"px";var B=s.pageX,z=s.pageY;if(!B&&!z){B=s.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;z=s.clientY+document.body.scrollTop+document.documentElement.scrollTop}if(!C){if(B+t.offsetWidth>document.body.offsetWidth-this.margin){B=document.body.offsetWidth-t.offsetWidth-this.margin}if(a.isMobile){B=Math.max(5,B-Math.floor(t.offsetWidth/2));z-=20}a.skipUp=s.isContextMenu}else{var w="left",D=C.offsetWidth;B=(a.isMobile?30:D-2);z=0;while(C&&C!==r){B+=C.offsetLeft;z+=C.offsetTop;C=C.parentNode}if(!a.isMobile){if((a.isRTL&&B-D-t.offsetWidth>this.margin)||(!a.isRTL&&B+t.offsetWidth>document.body.offsetWidth-this.margin)){w="right";B=Math.max(this.margin,B-D-t.offsetWidth+6)}}if(!n){t.style["borderRadiusTop"+w]=0;t.style["WebkitBorderRadiusTop"+w]=0;t.style["MozBorderRadiusTop"+w]=0;t.style["KhtmlBorderRadiusTop"+w]=0}}t.style.left=B+"px";t.style.top=z+"px";if(document.selection&&document.selection.empty){document.selection.empty()}return h(s)},Remove:function(r,s){j.Post(["unpost",a.jax]);var t=document.getElementById("MathJax_MenuFrame");if(t){t.parentNode.removeChild(t);if(this.msieFixedPositionBug){detachEvent("onresize",a.Resize)}}if(a.jax.hover){delete a.jax.hover.nofade;d.UnHover(a.jax)}return h(r)},Find:function(r){return this.FindN(1,r,[].slice.call(arguments,1))},FindId:function(r){return this.FindN(0,r,[].slice.call(arguments,1))},FindN:function(v,s,u){for(var t=0,r=this.items.length;t<r;t++){if(this.items[t].name[v]===s){if(u.length){if(!this.items[t].menu){return null}return this.items[t].menu.FindN(v,u[0],u.slice(1))}return this.items[t]}}return null},IndexOf:function(r){return this.IndexOfN(1,r)},IndexOfId:function(r){return this.IndexOfN(0,r)},IndexOfN:function(u,s){for(var t=0,r=this.items.length;t<r;t++){if(this.items[t].name[u]===s){return t}}return null}},{config:p,div:null,Close:function(r){return a.Event(r,this.menu||this.parentNode,(this.menu?"Touchend":"Remove"))},Remove:function(r){return a.Event(r,this,"Remove")},Mouseover:function(r){return a.Event(r,this,"Mouseover")},Mouseout:function(r){return a.Event(r,this,"Mouseout")},Mousedown:function(r){return a.Event(r,this,"Mousedown")},Mouseup:function(r){return a.Event(r,this,"Mouseup")},Touchstart:function(r){return a.Event(r,this,"Touchstart")},Touchend:function(r){return a.Event(r,this,"Touchend")},Event:function(t,v,r,u){if(a.skipMouseover&&r==="Mouseover"&&!u){return h(t)}if(a.skipUp){if(r.match(/Mouseup|Touchend/)){delete a.skipUp;return h(t)}if(r==="Touchstart"||(r==="Mousedown"&&!a.skipMousedown)){delete a.skipUp}}if(!t){t=window.event}var s=v.menuItem;if(s&&s[r]){return s[r](t,v)}return null},BGSTYLE:{position:"absolute",left:0,top:0,"z-index":200,width:"100%",height:"100%",border:0,padding:0,margin:0},Background:function(s){var t=g.addElement(document.body,"div",{style:this.BGSTYLE,id:"MathJax_MenuFrame"},[["div",{style:this.BGSTYLE,menuItem:s,onmousedown:this.Remove}]]);var r=t.firstChild;if(a.msieBackgroundBug){r.style.backgroundColor="white";r.style.filter="alpha(opacity=0)"}if(a.msieFixedPositionBug){t.width=t.height=0;this.Resize();attachEvent("onresize",this.Resize)}else{r.style.position="fixed"}return t},Resize:function(){setTimeout(a.SetWH,0)},SetWH:function(){var r=document.getElementById("MathJax_MenuFrame");if(r){r=r.firstChild;r.style.width=r.style.height="1px";r.style.width=document.body.scrollWidth+"px";r.style.height=document.body.scrollHeight+"px"}},saveCookie:function(){g.Cookie.Set("menu",this.cookie)},getCookie:function(){this.cookie=g.Cookie.Get("menu")},getImages:function(){if(a.isMobile){var r=new Image();r.src=p.closeImg}}});var m=a.ITEM=MathJax.Object.Subclass({name:"",Create:function(s){if(!this.hidden){var r={onmouseover:a.Mouseover,onmouseout:a.Mouseout,onmouseup:a.Mouseup,onmousedown:a.Mousedown,ondragstart:h,onselectstart:h,onselectend:h,ontouchstart:a.Touchstart,ontouchend:a.Touchend,className:"MathJax_MenuItem",menuItem:this};if(this.disabled){r.className+=" MathJax_MenuDisabled"}g.addElement(s,"div",r,this.Label(r,s))}},Name:function(){return o(this.name[0],this.name[1])},Mouseover:function(v,x){if(!this.disabled){this.Activate(x)}if(!this.menu||!this.menu.posted){var w=document.getElementById("MathJax_MenuFrame").childNodes,s=x.parentNode.childNodes;for(var t=0,r=s.length;t<r;t++){var u=s[t].menuItem;if(u&&u.menu&&u.menu.posted){u.Deactivate(s[t])}}r=w.length-1;while(r>=0&&x.parentNode.menuItem!==w[r].menuItem){w[r].menuItem.posted=false;w[r].parentNode.removeChild(w[r]);r--}if(this.Timer&&!a.isMobile){this.Timer(v,x)}}},Mouseout:function(r,s){if(!this.menu||!this.menu.posted){this.Deactivate(s)}if(this.timer){clearTimeout(this.timer);delete this.timer}},Mouseup:function(r,s){return this.Remove(r,s)},Touchstart:function(r,s){return this.TouchEvent(r,s,"Mousedown")},Touchend:function(r,s){return this.TouchEvent(r,s,"Mouseup")},TouchEvent:function(s,t,r){if(this!==m.lastItem){if(m.lastMenu){a.Event(s,m.lastMenu,"Mouseout")}a.Event(s,t,"Mouseover",true);m.lastItem=this;m.lastMenu=t}if(this.nativeTouch){return null}a.Event(s,t,r);return false},Remove:function(r,s){s=s.parentNode.menuItem;return s.Remove(r,s)},Activate:function(r){this.Deactivate(r);r.className+=" MathJax_MenuActive"},Deactivate:function(r){r.className=r.className.replace(/ MathJax_MenuActive/,"")},With:function(r){if(r){c.Insert(this,r)}return this},isRTL:function(){return a.isRTL},rtlClass:function(){return(this.isRTL()?" RTL":"")}});a.ITEM.COMMAND=a.ITEM.Subclass({action:function(){},Init:function(r,t,s){if(!(r instanceof Array)){r=[r,r]}this.name=r;this.action=t;this.With(s)},Label:function(r,s){return[this.Name()]},Mouseup:function(r,s){if(!this.disabled){this.Remove(r,s);j.Post(["command",this]);this.action.call(this,r)}return h(r)}});a.ITEM.SUBMENU=a.ITEM.Subclass({menu:null,marker:(n&&!c.Browser.isSafari?"\u25B6":"\u25B8"),markerRTL:(n&&!c.Browser.isSafari?"\u25B0":"\u25C2"),Init:function(r,t){if(!(r instanceof Array)){r=[r,r]}this.name=r;var s=1;if(!(t instanceof a.ITEM)){this.With(t),s++}this.menu=a.apply(a,[].slice.call(arguments,s))},Label:function(r,s){this.menu.posted=false;return[this.Name()+" ",["span",{className:"MathJax_MenuArrow"+this.rtlClass()},[this.isRTL()?this.markerRTL:this.marker]]]},Timer:function(r,s){if(this.timer){clearTimeout(this.timer)}r={clientX:r.clientX,clientY:r.clientY};this.timer=setTimeout(f(["Mouseup",this,r,s]),p.delay)},Touchend:function(s,u){var t=this.menu.posted;var r=this.SUPER(arguments).Touchend.apply(this,arguments);if(t){this.Deactivate(u);delete m.lastItem;delete m.lastMenu}return r},Mouseup:function(s,u){if(!this.disabled){if(!this.menu.posted){if(this.timer){clearTimeout(this.timer);delete this.timer}this.menu.Post(s,u,this.ltr)}else{var t=document.getElementById("MathJax_MenuFrame").childNodes,r=t.length-1;while(r>=0){var v=t[r];v.menuItem.posted=false;v.parentNode.removeChild(v);if(v.menuItem===this.menu){break}r--}}}return h(s)}});a.ITEM.RADIO=a.ITEM.Subclass({variable:null,marker:(n?"\u25CF":"\u2713"),Init:function(s,r,t){if(!(s instanceof Array)){s=[s,s]}this.name=s;this.variable=r;this.With(t);if(this.value==null){this.value=this.name[0]}},Label:function(s,t){var r={className:"MathJax_MenuRadioCheck"+this.rtlClass()};if(p.settings[this.variable]!==this.value){r={style:{display:"none"}}}return[["span",r,[this.marker]]," "+this.Name()]},Mouseup:function(u,v){if(!this.disabled){var w=v.parentNode.childNodes;for(var s=0,r=w.length;s<r;s++){var t=w[s].menuItem;if(t&&t.variable===this.variable){w[s].firstChild.style.display="none"}}v.firstChild.display="";p.settings[this.variable]=this.value;a.cookie[this.variable]=p.settings[this.variable];a.saveCookie();j.Post(["radio button",this])}this.Remove(u,v);if(this.action&&!this.disabled){this.action.call(a,this)}return h(u)}});a.ITEM.CHECKBOX=a.ITEM.Subclass({variable:null,marker:"\u2713",Init:function(s,r,t){if(!(s instanceof Array)){s=[s,s]}this.name=s;this.variable=r;this.With(t)},Label:function(s,t){var r={className:"MathJax_MenuCheck"+this.rtlClass()};if(!p.settings[this.variable]){r={style:{display:"none"}}}return[["span",r,[this.marker]]," "+this.Name()]},Mouseup:function(r,s){if(!this.disabled){s.firstChild.display=(p.settings[this.variable]?"none":"");p.settings[this.variable]=!p.settings[this.variable];a.cookie[this.variable]=p.settings[this.variable];a.saveCookie();j.Post(["checkbox",this])}this.Remove(r,s);if(this.action&&!this.disabled){this.action.call(a,this)}return h(r)}});a.ITEM.LABEL=a.ITEM.Subclass({Init:function(r,s){if(!(r instanceof Array)){r=[r,r]}this.name=r;this.With(s)},Label:function(r,s){delete r.onmouseover,delete r.onmouseout;delete r.onmousedown;r.className+=" MathJax_MenuLabel";return[this.Name()]}});a.ITEM.RULE=a.ITEM.Subclass({Label:function(r,s){delete r.onmouseover,delete r.onmouseout;delete r.onmousedown;r.className+=" MathJax_MenuRule";return null}});a.About=function(){var t=b["HTML-CSS"]||{};var s=(t.imgFonts?"image":(t.fontInUse?(t.webFonts?"web":"local")+" "+t.fontInUse:(b.SVG?"web SVG":"generic")))+" fonts";var x=(!t.webFonts||t.imgFonts?null:t.allowWebFonts.replace(/otf/,"woff or otf")+" fonts");var r=["MathJax.js v"+MathJax.fileversion,["br"]];r.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}]);a.About.GetJax(r,MathJax.InputJax,["InputJax","%1 Input Jax v%2"]);a.About.GetJax(r,MathJax.OutputJax,["OutputJax","%1 Output Jax v%2"]);a.About.GetJax(r,MathJax.ElementJax,["ElementJax","%1 Element Jax v%2"]);r.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}]);a.About.GetJax(r,MathJax.Extension,["Extension","%1 Extension v%2"],true);r.push(["div",{style:{"border-top":"groove 2px",margin:".25em 0"}}],["center",{},[c.Browser+" v"+c.Browser.version+(x?" \u2014 "+o(x.replace(/ /g,""),x):"")]]);a.About.div=a.Background(a.About);var v=g.addElement(a.About.div,"div",{id:"MathJax_About"},[["b",{style:{fontSize:"120%"}},["MathJax"]]," v"+MathJax.version,["br"],o(s.replace(/ /g,""),"using "+s),["br"],["br"],["span",{style:{display:"inline-block","text-align":"left","font-size":"80%","max-height":"20em",overflow:"auto","background-color":"#E4E4E4",padding:".4em .6em",border:"1px inset"}},r],["br"],["br"],["a",{href:"http://www.mathjax.org/"},["www.mathjax.org"]],["img",{src:p.closeImg,style:{width:"21px",height:"21px",position:"absolute",top:".2em",right:".2em"},onclick:a.About.Remove}]]);MathJax.Localization.setCSS(v);var w=(document.documentElement||{});var u=window.innerHeight||w.clientHeight||w.scrollHeight||0;if(a.prototype.msieAboutBug){v.style.width="20em";v.style.position="absolute";v.style.left=Math.floor((document.documentElement.scrollWidth-v.offsetWidth)/2)+"px";v.style.top=(Math.floor((u-v.offsetHeight)/3)+document.body.scrollTop)+"px"}else{v.style.marginLeft=Math.floor(-v.offsetWidth/2)+"px";v.style.top=Math.floor((u-v.offsetHeight)/3)+"px"}};a.About.Remove=function(r){if(a.About.div){document.body.removeChild(a.About.div);delete a.About.div}};a.About.GetJax=function(s,x,v,u){var w=[];for(var y in x){if(x.hasOwnProperty(y)&&x[y]){if((u&&x[y].version)||(x[y].isa&&x[y].isa(x))){w.push(o(v[0],v[1],(x[y].id||y),x[y].version))}}}w.sort();for(var t=0,r=w.length;t<r;t++){s.push(w[t],["br"])}return s};a.Help=function(){k.Require("[MathJax]/extensions/HelpDialog.js",function(){MathJax.Extension.Help.Dialog()})};a.ShowSource=function(v){if(!v){v=window.event}var u={screenX:v.screenX,screenY:v.screenY};if(!a.jax){return}if(this.format==="MathML"){var s=MathJax.ElementJax.mml;if(s&&typeof(s.mbase.prototype.toMathML)!=="undefined"){try{a.ShowSource.Text(a.jax.root.toMathML("",a.jax),v)}catch(t){if(!t.restart){throw t}f.After([this,a.ShowSource,u],t.restart)}}else{if(!k.loadingToMathML){k.loadingToMathML=true;a.ShowSource.Window(v);f.Queue(k.Require("[MathJax]/extensions/toMathML.js"),function(){delete k.loadingToMathML;if(!s.mbase.prototype.toMathML){s.mbase.prototype.toMathML=function(){}}},[this,a.ShowSource,u]);return}}}else{if(this.format==="Error"){a.ShowSource.Text(a.jax.errorText,v)}else{if(p.semanticsAnnotations[this.format]){var r=a.jax.root.getAnnotation(this.format);if(r.data[0]){a.ShowSource.Text(r.data[0].toString())}}else{if(a.jax.originalText==null){alert(o("NoOriginalForm","No original form available"));return}a.ShowSource.Text(a.jax.originalText,v)}}}};a.ShowSource.Window=function(s){if(!a.ShowSource.w){var t=[],r=p.windowSettings;for(var u in r){if(r.hasOwnProperty(u)){t.push(u+"="+r[u])}}a.ShowSource.w=window.open("","_blank",t.join(","))}return a.ShowSource.w};a.ShowSource.Text=function(v,t){var r=a.ShowSource.Window(t);delete a.ShowSource.w;v=v.replace(/^\s*/,"").replace(/\s*$/,"");v=v.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");var u=o("EqSource","MathJax Equation Source");if(a.isMobile){r.document.open();r.document.write("<html><head><meta name='viewport' content='width=device-width, initial-scale=1.0' /><title>"+u+"</title></head><body style='font-size:85%'>");r.document.write("<pre>"+v+"</pre>");r.document.write("<hr><input type='button' value='"+o("Close","Close")+"' onclick='window.close()' />");r.document.write("</body></html>");r.document.close()}else{r.document.open();r.document.write("<html><head><title>"+u+"</title></head><body style='font-size:85%'>");r.document.write("<table><tr><td><pre>"+v+"</pre></td></tr></table>");r.document.write("</body></html>");r.document.close();var s=r.document.body.firstChild;setTimeout(function(){var A=(r.outerHeight-r.innerHeight)||30,z=(r.outerWidth-r.innerWidth)||30,w,D;z=Math.max(100,Math.min(Math.floor(0.5*screen.width),s.offsetWidth+z+25));A=Math.max(40,Math.min(Math.floor(0.5*screen.height),s.offsetHeight+A+25));if(a.prototype.msieHeightBug){A+=35}r.resizeTo(z,A);var C;try{C=t.screenX}catch(B){}if(t&&C!=null){w=Math.max(0,Math.min(t.screenX-Math.floor(z/2),screen.width-z-20));D=Math.max(0,Math.min(t.screenY-Math.floor(A/2),screen.height-A-20));r.moveTo(w,D)}},50)}};a.Scale=function(){var s=b["HTML-CSS"],r=b.NativeMML,v=b.SVG;var u=(s||r||v||{config:{scale:100}}).config.scale;var t=prompt(o("ScaleMath","Scale all mathematics (compared to surrounding text) by"),u+"%");if(t){if(t.match(/^\s*\d+(\.\d*)?\s*%?\s*$/)){t=parseFloat(t);if(t){if(t!==u){if(s){s.config.scale=t}if(r){r.config.scale=t}if(v){v.config.scale=t}a.cookie.scale=t;a.saveCookie();c.Rerender()}}else{alert(o("NonZeroScale","The scale should not be zero"))}}else{alert(o("PercentScale","The scale should be a percentage (e.g., 120%%)"))}}};a.Zoom=function(){if(!MathJax.Extension.MathZoom){k.Require("[MathJax]/extensions/MathZoom.js")}};a.Renderer=function(){var s=c.outputJax["jax/mml"];if(s[0]!==p.settings.renderer){var v=c.Browser,u,r=a.Renderer.Messages,t;switch(p.settings.renderer){case"NativeMML":if(!p.settings.warnedMML){if(v.isChrome&&v.version.substr(0,3)!=="24."){u=r.MML.WebKit}else{if(v.isSafari&&!v.versionAtLeast("5.0")){u=r.MML.WebKit}else{if(v.isMSIE){if(!v.hasMathPlayer){u=r.MML.MSIE}}else{u=r.MML[v]}}}t="warnedMML"}break;case"SVG":if(!p.settings.warnedSVG){if(v.isMSIE&&!e){u=r.SVG.MSIE}}break}if(u){u=o(u[0],u[1]);u+="\n\n";u+=o("SwitchAnyway","Switch the renderer anyway?\n\n(Press OK to switch, CANCEL to continue with the current renderer)");a.cookie.renderer=s[0].id;a.saveCookie();if(!confirm(u)){a.cookie.renderer=p.settings.renderer=g.Cookie.Get("menu").renderer;a.saveCookie();return}if(t){a.cookie.warned=p.settings.warned=true}a.cookie.renderer=p.settings.renderer;a.saveCookie()}c.Queue(["setRenderer",c,p.settings.renderer,"jax/mml"],["Rerender",c])}};a.Renderer.Messages={MML:{WebKit:["WebkitNativeMMLWarning","Your browser doesn't seem to support MathML natively, so switching to MathML output may cause the mathematics on the page to become unreadable."],MSIE:["MSIENativeMMLWarning","Internet Explorer requires the MathPlayer plugin in order to process MathML output."],Opera:["OperaNativeMMLWarning","Opera's support for MathML is limited, so switching to MathML output may cause some expressions to render poorly."],Safari:["SafariNativeMMLWarning","Your browser's native MathML does not implement all the features used by MathJax, so some expressions may not render properly."],Firefox:["FirefoxNativeMMLWarning","Your browser's native MathML does not implement all the features used by MathJax, so some expressions may not render properly."]},SVG:{MSIE:["MSIESVGWarning","SVG is not implemented in Internet Explorer prior to IE9 or when it is emulating IE8 or below. Switching to SVG output will cause the mathematics to not display properly."]}};a.Font=function(){var r=b["HTML-CSS"];if(!r){return}document.location.reload()};a.Locale=function(){MathJax.Localization.setLocale(p.settings.locale);MathJax.Hub.Queue(["Reprocess",MathJax.Hub])};a.LoadLocale=function(){var r=prompt(o("LoadURL","Load translation data from this URL:"));if(r){if(!r.match(/\.js$/)){alert(o("BadURL","The URL should be for a javascript file that defines MathJax translation data. Javascript file names should end with '.js'"))}k.Require(r,function(s){if(s!=k.STATUS.OK){alert(o("BadData","Failed to load translation data from %1",r))}})}};a.MPEvents=function(t){var s=p.settings.discoverable,r=a.MPEvents.Messages;if(!e){if(p.settings.mpMouse&&!confirm(o.apply(o,r.IE8warning))){delete a.cookie.mpContext;delete p.settings.mpContext;delete a.cookie.mpMouse;delete p.settings.mpMouse;a.saveCookie();return}p.settings.mpContext=p.settings.mpMouse;a.cookie.mpContext=a.cookie.mpMouse=p.settings.mpMouse;a.saveCookie();MathJax.Hub.Queue(["Rerender",MathJax.Hub])}else{if(!s&&t.name[1]==="Menu Events"&&p.settings.mpContext){alert(o.apply(o,r.IE9warning))}}};a.MPEvents.Messages={IE8warning:["IE8warning","This will disable the MathJax menu and zoom features, but you can Alt-Click on an expression to obtain the MathJax menu instead.\n\nReally change the MathPlayer settings?"],IE9warning:["IE9warning","The MathJax contextual menu will be disabled, but you can Alt-Click on an expression to obtain the MathJax menu instead."]};c.Browser.Select({MSIE:function(r){var s=(document.compatMode==="BackCompat");var t=r.versionAtLeast("8.0")&&document.documentMode>7;a.Augment({margin:20,msieBackgroundBug:((document.documentMode||0)<9),msieFixedPositionBug:(s||!t),msieAboutBug:s,msieHeightBug:((document.documentMode||0)<9)});if(e){delete p.styles["#MathJax_About"].filter;delete p.styles[".MathJax_Menu"].filter}},Firefox:function(r){a.skipMouseover=r.isMobile&&r.versionAtLeast("6.0");a.skipMousedown=r.isMobile}});a.isMobile=c.Browser.isMobile;a.noContextMenu=c.Browser.noContextMenu;a.CreateLocaleMenu=function(){if(!a.menu){return}var w=a.menu.Find("Language").menu,t=w.items;var s=[],y=MathJax.Localization.strings;for(var x in y){if(y.hasOwnProperty(x)){s.push(x)}}s=s.sort();w.items=[];for(var u=0,r=s.length;u<r;u++){var v=y[s[u]].menuTitle;if(v){v+=" ("+s[u]+")"}else{v=s[u]}w.items.push(m.RADIO([s[u],v],"locale",{action:a.Locale}))}w.items.push(t[t.length-2],t[t.length-1])};a.CreateAnnotationMenu=function(){if(!a.menu){return}var t=a.menu.Find("Show Math As","Annotation").menu;var s=p.semanticsAnnotations;for(var r in s){if(s.hasOwnProperty(r)){t.items.push(m.COMMAND([r,r],a.ShowSource,{hidden:true,nativeTouch:true,format:r}))}}};c.Register.StartupHook("End Config",function(){p.settings=c.config.menuSettings;if(typeof(p.settings.showRenderer)!=="undefined"){p.showRenderer=p.settings.showRenderer}if(typeof(p.settings.showFontMenu)!=="undefined"){p.showFontMenu=p.settings.showFontMenu}if(typeof(p.settings.showContext)!=="undefined"){p.showContext=p.settings.showContext}a.getCookie();a.menu=a(m.SUBMENU(["Show","Show Math As"],m.COMMAND(["MathMLcode","MathML Code"],a.ShowSource,{nativeTouch:true,format:"MathML"}),m.COMMAND(["Original","Original Form"],a.ShowSource,{nativeTouch:true}),m.SUBMENU(["Annotation","Annotation"],{disabled:true}),m.RULE(),m.CHECKBOX(["texHints","Show TeX hints in MathML"],"texHints"),m.CHECKBOX(["semantics","Add original form as annotation"],"semantics")),m.RULE(),m.SUBMENU(["Settings","Math Settings"],m.SUBMENU(["ZoomTrigger","Zoom Trigger"],m.RADIO(["Hover","Hover"],"zoom",{action:a.Zoom}),m.RADIO(["Click","Click"],"zoom",{action:a.Zoom}),m.RADIO(["DoubleClick","Double-Click"],"zoom",{action:a.Zoom}),m.RADIO(["NoZoom","No Zoom"],"zoom",{value:"None"}),m.RULE(),m.LABEL(["TriggerRequires","Trigger Requires:"]),m.CHECKBOX((c.Browser.isMac?["Option","Option"]:["Alt","Alt"]),"ALT"),m.CHECKBOX(["Command","Command"],"CMD",{hidden:!c.Browser.isMac}),m.CHECKBOX(["Control","Control"],"CTRL",{hidden:c.Browser.isMac}),m.CHECKBOX(["Shift","Shift"],"Shift")),m.SUBMENU(["ZoomFactor","Zoom Factor"],m.RADIO("125%","zscale"),m.RADIO("133%","zscale"),m.RADIO("150%","zscale"),m.RADIO("175%","zscale"),m.RADIO("200%","zscale"),m.RADIO("250%","zscale"),m.RADIO("300%","zscale"),m.RADIO("400%","zscale")),m.RULE(),m.SUBMENU(["Renderer","Math Renderer"],{hidden:!p.showRenderer},m.RADIO("HTML-CSS","renderer",{action:a.Renderer}),m.RADIO("Fast HTML","renderer",{action:a.Renderer,value:"CommonHTML"}),m.RADIO("MathML","renderer",{action:a.Renderer,value:"NativeMML"}),m.RADIO("SVG","renderer",{action:a.Renderer}),m.RULE(),m.CHECKBOX("Fast Preview","CHTMLpreview")),m.SUBMENU("MathPlayer",{hidden:!c.Browser.isMSIE||!p.showMathPlayer,disabled:!c.Browser.hasMathPlayer},m.LABEL(["MPHandles","Let MathPlayer Handle:"]),m.CHECKBOX(["MenuEvents","Menu Events"],"mpContext",{action:a.MPEvents,hidden:!e}),m.CHECKBOX(["MouseEvents","Mouse Events"],"mpMouse",{action:a.MPEvents,hidden:!e}),m.CHECKBOX(["MenuAndMouse","Mouse and Menu Events"],"mpMouse",{action:a.MPEvents,hidden:e})),m.SUBMENU(["FontPrefs","Font Preference"],{hidden:!p.showFontMenu},m.LABEL(["ForHTMLCSS","For HTML-CSS:"]),m.RADIO(["Auto","Auto"],"font",{action:a.Font}),m.RULE(),m.RADIO(["TeXLocal","TeX (local)"],"font",{action:a.Font}),m.RADIO(["TeXWeb","TeX (web)"],"font",{action:a.Font}),m.RADIO(["TeXImage","TeX (image)"],"font",{action:a.Font}),m.RULE(),m.RADIO(["STIXLocal","STIX (local)"],"font",{action:a.Font}),m.RADIO(["STIXWeb","STIX (web)"],"font",{action:a.Font}),m.RULE(),m.RADIO(["AsanaMathWeb","Asana Math (web)"],"font",{action:a.Font}),m.RADIO(["GyrePagellaWeb","Gyre Pagella (web)"],"font",{action:a.Font}),m.RADIO(["GyreTermesWeb","Gyre Termes (web)"],"font",{action:a.Font}),m.RADIO(["LatinModernWeb","Latin Modern (web)"],"font",{action:a.Font}),m.RADIO(["NeoEulerWeb","Neo Euler (web)"],"font",{action:a.Font})),m.SUBMENU(["ContextMenu","Contextual Menu"],{hidden:!p.showContext},m.RADIO("MathJax","context"),m.RADIO(["Browser","Browser"],"context")),m.COMMAND(["Scale","Scale All Math ..."],a.Scale),m.RULE().With({hidden:!p.showDiscoverable,name:["","discover_rule"]}),m.CHECKBOX(["Discoverable","Highlight on Hover"],"discoverable",{hidden:!p.showDiscoverable})),m.SUBMENU(["Locale","Language"],{hidden:!p.showLocale,ltr:true},m.RADIO("en","locale",{action:a.Locale}),m.RULE().With({hidden:!p.showLocaleURL,name:["","localURL_rule"]}),m.COMMAND(["LoadLocale","Load from URL ..."],a.LoadLocale,{hidden:!p.showLocaleURL})),m.RULE(),m.COMMAND(["About","About MathJax"],a.About),m.COMMAND(["Help","MathJax Help"],a.Help));if(a.isMobile){(function(){var s=p.settings;var r=a.menu.Find("Math Settings","Zoom Trigger").menu;r.items[0].disabled=r.items[1].disabled=true;if(s.zoom==="Hover"||s.zoom=="Click"){s.zoom="None"}r.items=r.items.slice(0,4);if(navigator.appVersion.match(/[ (]Android[) ]/)){a.ITEM.SUBMENU.Augment({marker:"\u00BB"})}})()}a.CreateLocaleMenu();a.CreateAnnotationMenu()});a.showRenderer=function(r){a.cookie.showRenderer=p.showRenderer=r;a.saveCookie();a.menu.Find("Math Settings","Math Renderer").hidden=!r};a.showMathPlayer=function(r){a.cookie.showMathPlayer=p.showMathPlayer=r;a.saveCookie();a.menu.Find("Math Settings","MathPlayer").hidden=!r};a.showFontMenu=function(r){a.cookie.showFontMenu=p.showFontMenu=r;a.saveCookie();a.menu.Find("Math Settings","Font Preference").hidden=!r};a.showContext=function(r){a.cookie.showContext=p.showContext=r;a.saveCookie();a.menu.Find("Math Settings","Contextual Menu").hidden=!r};a.showDiscoverable=function(r){a.cookie.showDiscoverable=p.showDiscoverable=r;a.saveCookie();a.menu.Find("Math Settings","Highlight on Hover").hidden=!r;a.menu.Find("Math Settings","discover_rule").hidden=!r};a.showLocale=function(r){a.cookie.showLocale=p.showLocale=r;a.saveCookie();a.menu.Find("Language").hidden=!r};MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function(){if(!MathJax.OutputJax["HTML-CSS"].config.imageFont){a.menu.Find("Math Settings","Font Preference","TeX (image)").disabled=true}});f.Queue(c.Register.StartupHook("End Config",{}),["getImages",a],["Styles",k,p.styles],["Post",c.Startup.signal,"MathMenu Ready"],["loadComplete",k,"[MathJax]/extensions/MathMenu.js"])})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.CallBack,MathJax.OutputJax);
diff --git a/uikit/static/js/lib/extensions/MathZoom.js b/uikit/static/js/lib/extensions/MathZoom.js
new file mode 100644
index 0000000..ae7f032
--- /dev/null
+++ b/uikit/static/js/lib/extensions/MathZoom.js
@@ -0,0 +1,19 @@
+/*
+ * /MathJax/extensions/MathZoom.js
+ *
+ * Copyright (c) 2009-2015 The MathJax Consortium
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function(a,d,f,c,j){var k="2.5.0";var i=a.CombineConfig("MathZoom",{styles:{"#MathJax_Zoom":{position:"absolute","background-color":"#F0F0F0",overflow:"auto",display:"block","z-index":301,padding:".5em",border:"1px solid black",margin:0,"font-weight":"normal","font-style":"normal","text-align":"left","text-indent":0,"text-transform":"none","line-height":"normal","letter-spacing":"normal","word-spacing":"normal","word-wrap":"normal","white-space":"nowrap","float":"none","box-shadow":"5px 5px 15px #AAAAAA","-webkit-box-shadow":"5px 5px 15px #AAAAAA","-moz-box-shadow":"5px 5px 15px #AAAAAA","-khtml-box-shadow":"5px 5px 15px #AAAAAA",filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')"},"#MathJax_ZoomOverlay":{position:"absolute",left:0,top:0,"z-index":300,display:"inline-block",width:"100%",height:"100%",border:0,padding:0,margin:0,"background-color":"white",opacity:0,filter:"alpha(opacity=0)"},"#MathJax_ZoomFrame":{position:"relative",display:"inline-block",height:0,width:0},"#MathJax_ZoomEventTrap":{position:"absolute",left:0,top:0,"z-index":302,display:"inline-block",border:0,padding:0,margin:0,"background-color":"white",opacity:0,filter:"alpha(opacity=0)"}}});var e,b,g;MathJax.Hub.Register.StartupHook("MathEvents Ready",function(){g=MathJax.Extension.MathEvents.Event;e=MathJax.Extension.MathEvents.Event.False;b=MathJax.Extension.MathEvents.Hover});var h=MathJax.Extension.MathZoom={version:k,settings:a.config.menuSettings,scrollSize:18,HandleEvent:function(n,l,m){if(h.settings.CTRL&&!n.ctrlKey){return true}if(h.settings.ALT&&!n.altKey){return true}if(h.settings.CMD&&!n.metaKey){return true}if(h.settings.Shift&&!n.shiftKey){return true}if(!h[l]){return true}return h[l](n,m)},Click:function(m,l){if(this.settings.zoom==="Click"){return this.Zoom(m,l)}},DblClick:function(m,l){if(this.settings.zoom==="Double-Click"||this.settings.zoom==="DoubleClick"){return this.Zoom(m,l)}},Hover:function(m,l){if(this.settings.zoom==="Hover"){this.Zoom(m,l);return true}return false},Zoom:function(o,u){this.Remove();b.ClearHoverTimer();g.ClearSelection();var s=MathJax.OutputJax[u.jaxID];var p=s.getJaxFromMath(u);if(p.hover){b.UnHover(p)}var q=this.findContainer(u);var l=Math.floor(0.85*q.clientWidth),t=Math.max(document.body.clientHeight,document.documentElement.clientHeight);if(this.getOverflow(q)!=="visible"){t=Math.min(q.clientHeight,t)}t=Math.floor(0.85*t);var n=d.Element("span",{id:"MathJax_ZoomFrame"},[["span",{id:"MathJax_ZoomOverlay",onmousedown:this.Remove}],["span",{id:"MathJax_Zoom",onclick:this.Remove,style:{visibility:"hidden",fontSize:this.settings.zscale}},[["span",{style:{display:"inline-block","white-space":"nowrap"}}]]]]);var z=n.lastChild,w=z.firstChild,r=n.firstChild;u.parentNode.insertBefore(n,u);u.parentNode.insertBefore(u,n);if(w.addEventListener){w.addEventListener("mousedown",this.Remove,true)}var m=z.offsetWidth||z.clientWidth;l-=m;t-=m;z.style.maxWidth=l+"px";z.style.maxHeight=t+"px";if(this.msieTrapEventBug){var y=d.Element("span",{id:"MathJax_ZoomEventTrap",onmousedown:this.Remove});n.insertBefore(y,z)}if(this.msieZIndexBug){var v=d.addElement(document.body,"img",{src:"about:blank",id:"MathJax_ZoomTracker",width:0,height:0,style:{width:0,height:0,position:"relative"}});n.style.position="relative";n.style.zIndex=i.styles["#MathJax_ZoomOverlay"]["z-index"];n=v}var x=s.Zoom(p,w,u,l,t);if(this.msiePositionBug){if(this.msieSizeBug){z.style.height=x.zH+"px";z.style.width=x.zW+"px"}if(z.offsetHeight>t){z.style.height=t+"px";z.style.width=(x.zW+this.scrollSize)+"px"}if(z.offsetWidth>l){z.style.width=l+"px";z.style.height=(x.zH+this.scrollSize)+"px"}}if(this.operaPositionBug){z.style.width=Math.min(l,x.zW)+"px"}if(z.offsetWidth>m&&z.offsetWidth-m<l&&z.offsetHeight-m<t){z.style.overflow="visible"}this.Position(z,x);if(this.msieTrapEventBug){y.style.height=z.clientHeight+"px";y.style.width=z.clientWidth+"px";y.style.left=(parseFloat(z.style.left)+z.clientLeft)+"px";y.style.top=(parseFloat(z.style.top)+z.clientTop)+"px"}z.style.visibility="";if(this.settings.zoom==="Hover"){r.onmouseover=this.Remove}if(window.addEventListener){addEventListener("resize",this.Resize,false)}else{if(window.attachEvent){attachEvent("onresize",this.Resize)}else{this.onresize=window.onresize;window.onresize=this.Resize}}a.signal.Post(["math zoomed",p]);return e(o)},Position:function(p,r){p.style.display="none";var q=this.Resize(),m=q.x,s=q.y,l=r.mW;p.style.display="";var o=-l-Math.floor((p.offsetWidth-l)/2),n=r.Y;p.style.left=Math.max(o,10-m)+"px";p.style.top=Math.max(n,10-s)+"px";if(!h.msiePositionBug){h.SetWH()}},Resize:function(m){if(h.onresize){h.onresize(m)}var q=document.getElementById("MathJax_ZoomFrame"),l=document.getElementById("MathJax_ZoomOverlay");var o=h.getXY(q),n=h.findContainer(q);if(h.getOverflow(n)!=="visible"){l.scroll_parent=n;var p=h.getXY(n);o.x-=p.x;o.y-=p.y;p=h.getBorder(n);o.x-=p.x;o.y-=p.y}l.style.left=(-o.x)+"px";l.style.top=(-o.y)+"px";if(h.msiePositionBug){setTimeout(h.SetWH,0)}else{h.SetWH()}return o},SetWH:function(){var l=document.getElementById("MathJax_ZoomOverlay");if(!l){return}l.style.display="none";var m=l.scroll_parent||document.documentElement||document.body;l.style.width=m.scrollWidth+"px";l.style.height=Math.max(m.clientHeight,m.scrollHeight)+"px";l.style.display=""},findContainer:function(l){l=l.parentNode;while(l.parentNode&&l!==document.body&&h.getOverflow(l)==="visible"){l=l.parentNode}return l},getOverflow:(window.getComputedStyle?function(l){return getComputedStyle(l).overflow}:function(l){return(l.currentStyle||{overflow:"visible"}).overflow}),getBorder:function(o){var m={thin:1,medium:2,thick:3};var n=(window.getComputedStyle?getComputedStyle(o):(o.currentStyle||{borderLeftWidth:0,borderTopWidth:0}));var l=n.borderLeftWidth,p=n.borderTopWidth;if(m[l]){l=m[l]}else{l=parseInt(l)}if(m[p]){p=m[p]}else{p=parseInt(p)}return{x:l,y:p}},getXY:function(o){var l=0,n=0,m;m=o;while(m.offsetParent){l+=m.offsetLeft;m=m.offsetParent}if(h.operaPositionBug){o.style.border="1px solid"}m=o;while(m.offsetParent){n+=m.offsetTop;m=m.offsetParent}if(h.operaPositionBug){o.style.border=""}return{x:l,y:n}},Remove:function(n){var p=document.getElementById("MathJax_ZoomFrame");if(p){var o=MathJax.OutputJax[p.previousSibling.jaxID];var l=o.getJaxFromMath(p.previousSibling);a.signal.Post(["math unzoomed",l]);p.parentNode.removeChild(p);p=document.getElementById("MathJax_ZoomTracker");if(p){p.parentNode.removeChild(p)}if(h.operaRefreshBug){var m=d.addElement(document.body,"div",{style:{position:"fixed",left:0,top:0,width:"100%",height:"100%",backgroundColor:"white",opacity:0},id:"MathJax_OperaDiv"});document.body.removeChild(m)}if(window.removeEventListener){removeEventListener("resize",h.Resize,false)}else{if(window.detachEvent){detachEvent("onresize",h.Resize)}else{window.onresize=h.onresize;delete h.onresize}}}return e(n)}};a.Browser.Select({MSIE:function(l){var n=(document.documentMode||0);var m=(n>=9);h.msiePositionBug=!m;h.msieSizeBug=l.versionAtLeast("7.0")&&(!document.documentMode||n===7||n===8);h.msieZIndexBug=(n<=7);h.msieInlineBlockAlignBug=(n<=7);h.msieTrapEventBug=!window.addEventListener;if(document.compatMode==="BackCompat"){h.scrollSize=52}if(m){delete i.styles["#MathJax_Zoom"].filter}},Opera:function(l){h.operaPositionBug=true;h.operaRefreshBug=true}});h.topImg=(h.msieInlineBlockAlignBug?d.Element("img",{style:{width:0,height:0,position:"relative"},src:"about:blank"}):d.Element("span",{style:{width:0,height:0,display:"inline-block"}}));if(h.operaPositionBug||h.msieTopBug){h.topImg.style.border="1px solid"}MathJax.Callback.Queue(["StartupHook",MathJax.Hub.Register,"Begin Styles",{}],["Styles",f,i.styles],["Post",a.Startup.signal,"MathZoom Ready"],["loadComplete",f,"[MathJax]/extensions/MathZoom.js"])})(MathJax.Hub,MathJax.HTML,MathJax.Ajax,MathJax.OutputJax["HTML-CSS"],MathJax.OutputJax.NativeMML);
diff --git a/uikit/static/js/lib/extensions/mml2jax.js b/uikit/static/js/lib/extensions/mml2jax.js
new file mode 100644
index 0000000..6eb3ac5
--- /dev/null
+++ b/uikit/static/js/lib/extensions/mml2jax.js
@@ -0,0 +1,19 @@
+/*
+ * /MathJax/extensions/mml2jax.js
+ *
+ * Copyright (c) 2009-2015 The MathJax Consortium
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+MathJax.Extension.mml2jax={version:"2.5.0",config:{preview:"mathml"},MMLnamespace:"http://www.w3.org/1998/Math/MathML",PreProcess:function(e){if(!this.configured){this.config=MathJax.Hub.CombineConfig("mml2jax",this.config);if(this.config.Augment){MathJax.Hub.Insert(this,this.config.Augment)}this.InitBrowser();this.configured=true}if(typeof(e)==="string"){e=document.getElementById(e)}if(!e){e=document.body}var h=[];this.PushMathElements(h,e,"math");this.PushMathElements(h,e,"math",this.MMLnamespace);var d,b;if(typeof(document.namespaces)!=="undefined"){try{for(d=0,b=document.namespaces.length;d<b;d++){var f=document.namespaces[d];if(f.urn===this.MMLnamespace){this.PushMathElements(h,e,f.name+":math")}}}catch(g){}}else{var c=document.getElementsByTagName("html")[0];if(c){for(d=0,b=c.attributes.length;d<b;d++){var a=c.attributes[d];if(a.nodeName.substr(0,6)==="xmlns:"&&a.nodeValue===this.MMLnamespace){this.PushMathElements(h,e,a.nodeName.substr(6)+":math")}}}}this.ProcessMathArray(h)},PushMathElements:function(f,d,a,c){var h,g=MathJax.Hub.config.preRemoveClass;if(c){if(!d.getElementsByTagNameNS){return}h=d.getElementsByTagNameNS(c,a)}else{h=d.getElementsByTagName(a)}for(var e=0,b=h.length;e<b;e++){var j=h[e].parentNode;if(j&&j.className!==g&&!h[e].prefix===!c){f.push(h[e])}}},ProcessMathArray:function(c){var b,a=c.length;if(a){if(this.MathTagBug){for(b=0;b<a;b++){if(c[b].nodeName==="MATH"){this.ProcessMathFlattened(c[b])}else{this.ProcessMath(c[b])}}}else{for(b=0;b<a;b++){this.ProcessMath(c[b])}}}},ProcessMath:function(e){var d=e.parentNode;if(!d||d.className===MathJax.Hub.config.preRemoveClass){return}var a=document.createElement("script");a.type="math/mml";d.insertBefore(a,e);if(this.AttributeBug){var b=this.OuterHTML(e);if(this.CleanupHTML){b=b.replace(/<\?import .*?>/i,"").replace(/<\?xml:namespace .*?\/>/i,"");b=b.replace(/&nbsp;/g,"&#xA0;")}MathJax.HTML.setScript(a,b);d.removeChild(e)}else{var c=MathJax.HTML.Element("span");c.appendChild(e);MathJax.HTML.setScript(a,c.innerHTML)}if(this.config.preview!=="none"){this.createPreview(e,a)}},ProcessMathFlattened:function(f){var d=f.parentNode;if(!d||d.className===MathJax.Hub.config.preRemoveClass){return}var b=document.createElement("script");b.type="math/mml";d.insertBefore(b,f);var c="",e,a=f;while(f&&f.nodeName!=="/MATH"){e=f;f=f.nextSibling;c+=this.NodeHTML(e);e.parentNode.removeChild(e)}if(f&&f.nodeName==="/MATH"){f.parentNode.removeChild(f)}b.text=c+"</math>";if(this.config.preview!=="none"){this.createPreview(a,b)}},NodeHTML:function(e){var c,b,a;if(e.nodeName==="#text"){c=this.quoteHTML(e.nodeValue)}else{if(e.nodeName==="#comment"){c="<!--"+e.nodeValue+"-->"}else{c="<"+e.nodeName.toLowerCase();for(b=0,a=e.attributes.length;b<a;b++){var d=e.attributes[b];if(d.specified&&d.nodeName.substr(0,10)!=="_moz-math-"){c+=" "+d.nodeName.toLowerCase().replace(/xmlns:xmlns/,"xmlns")+"=";var f=d.nodeValue;if(f==null&&d.nodeName==="style"&&e.style){f=e.style.cssText}c+='"'+this.quoteHTML(f)+'"'}}c+=">";if(e.outerHTML!=null&&e.outerHTML.match(/(.<\/[A-Z]+>|\/>)$/)){for(b=0,a=e.childNodes.length;b<a;b++){c+=this.OuterHTML(e.childNodes[b])}c+="</"+e.nodeName.toLowerCase()+">"}}}return c},OuterHTML:function(d){if(d.nodeName.charAt(0)==="#"){return this.NodeHTML(d)}if(!this.AttributeBug){return d.outerHTML}var c=this.NodeHTML(d);for(var b=0,a=d.childNodes.length;b<a;b++){c+=this.OuterHTML(d.childNodes[b])}c+="</"+d.nodeName.toLowerCase()+">";return c},quoteHTML:function(a){if(a==null){a=""}return a.replace(/&/g,"&#x26;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\"/g,"&quot;")},createPreview:function(f,b){var g=this.config.preview;if(g==="none"){return}var a=false;if(g==="mathml"){a=true;if(this.MathTagBug){g="alttext"}else{g=f.cloneNode(true)}}if(g==="alttext"||g==="altimg"){a=true;var c=this.filterPreview(f.getAttribute("alttext"));if(g==="alttext"){if(c!=null){g=MathJax.HTML.TextNode(c)}else{g=null}}else{var h=f.getAttribute("altimg");if(h!=null){var e={width:f.getAttribute("altimg-width"),height:f.getAttribute("altimg-height")};g=MathJax.HTML.Element("img",{src:h,alt:c,style:e})}else{g=null}}}if(g){var d;if(a){d=MathJax.HTML.Element("span",{className:MathJax.Hub.config.preRemoveClass});d.appendChild(g)}else{d=MathJax.HTML.Element("span",{className:MathJax.Hub.config.preRemoveClass},g)}b.parentNode.insertBefore(d,b)}},filterPreview:function(a){return a},InitBrowser:function(){var b=MathJax.HTML.Element("span",{id:"<",className:"mathjax",innerHTML:"<math><mi>x</mi><mspace /></math>"});var a=b.outerHTML||"";this.AttributeBug=a!==""&&!(a.match(/id="&lt;"/)&&a.match(/class="mathjax"/)&&a.match(/<\/math>/));this.MathTagBug=b.childNodes.length>1;this.CleanupHTML=MathJax.Hub.Browser.isMSIE}};MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.mml2jax],5);MathJax.Ajax.loadComplete("[MathJax]/extensions/mml2jax.js");
diff --git a/uikit/static/js/lib/extensions/tex2jax.js b/uikit/static/js/lib/extensions/tex2jax.js
new file mode 100644
index 0000000..6e1e864
--- /dev/null
+++ b/uikit/static/js/lib/extensions/tex2jax.js
@@ -0,0 +1,19 @@
+/*
+ * /MathJax/extensions/tex2jax.js
+ *
+ * Copyright (c) 2009-2015 The MathJax Consortium
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+MathJax.Extension.tex2jax={version:"2.5.0",config:{inlineMath:[["\\(","\\)"]],displayMath:[["$$","$$"],["\\[","\\]"]],balanceBraces:true,skipTags:["script","noscript","style","textarea","pre","code","annotation","annotation-xml"],ignoreClass:"tex2jax_ignore",processClass:"tex2jax_process",processEscapes:false,processEnvironments:true,processRefs:true,preview:"TeX"},PreProcess:function(a){if(!this.configured){this.config=MathJax.Hub.CombineConfig("tex2jax",this.config);if(this.config.Augment){MathJax.Hub.Insert(this,this.config.Augment)}if(typeof(this.config.previewTeX)!=="undefined"&&!this.config.previewTeX){this.config.preview="none"}this.configured=true}if(typeof(a)==="string"){a=document.getElementById(a)}if(!a){a=document.body}if(this.createPatterns()){this.scanElement(a,a.nextSibling)}},createPatterns:function(){var d=[],e=[],c,a,b=this.config;this.match={};for(c=0,a=b.inlineMath.length;c<a;c++){d.push(this.patternQuote(b.inlineMath[c][0]));this.match[b.inlineMath[c][0]]={mode:"",end:b.inlineMath[c][1],pattern:this.endPattern(b.inlineMath[c][1])}}for(c=0,a=b.displayMath.length;c<a;c++){d.push(this.patternQuote(b.displayMath[c][0]));this.match[b.displayMath[c][0]]={mode:"; mode=display",end:b.displayMath[c][1],pattern:this.endPattern(b.displayMath[c][1])}}if(d.length){e.push(d.sort(this.sortLength).join("|"))}if(b.processEnvironments){e.push("\\\\begin\\{([^}]*)\\}")}if(b.processEscapes){e.push("\\\\*\\\\\\$")}if(b.processRefs){e.push("\\\\(eq)?ref\\{[^}]*\\}")}this.start=new RegExp(e.join("|"),"g");this.skipTags=new RegExp("^("+b.skipTags.join("|")+")$","i");var f=[];if(MathJax.Hub.config.preRemoveClass){f.push(MathJax.Hub.config.preRemoveClass)}if(b.ignoreClass){f.push(b.ignoreClass)}this.ignoreClass=(f.length?new RegExp("(^| )("+f.join("|")+")( |$)"):/^$/);this.processClass=new RegExp("(^| )("+b.processClass+")( |$)");return(e.length>0)},patternQuote:function(a){return a.replace(/([\^$(){}+*?\-|\[\]\:\\])/g,"\\$1")},endPattern:function(a){return new RegExp(this.patternQuote(a)+"|\\\\.|[{}]","g")},sortLength:function(d,c){if(d.length!==c.length){return c.length-d.length}return(d==c?0:(d<c?-1:1))},scanElement:function(c,b,g){var a,e,d,f;while(c&&c!=b){if(c.nodeName.toLowerCase()==="#text"){if(!g){c=this.scanText(c)}}else{a=(typeof(c.className)==="undefined"?"":c.className);e=(typeof(c.tagName)==="undefined"?"":c.tagName);if(typeof(a)!=="string"){a=String(a)}f=this.processClass.exec(a);if(c.firstChild&&!a.match(/(^| )MathJax/)&&(f||!this.skipTags.exec(e))){d=(g||this.ignoreClass.exec(a))&&!f;this.scanElement(c.firstChild,b,d)}}if(c){c=c.nextSibling}}},scanText:function(b){if(b.nodeValue.replace(/\s+/,"")==""){return b}var a,c;this.search={start:true};this.pattern=this.start;while(b){this.pattern.lastIndex=0;while(b&&b.nodeName.toLowerCase()==="#text"&&(a=this.pattern.exec(b.nodeValue))){if(this.search.start){b=this.startMatch(a,b)}else{b=this.endMatch(a,b)}}if(this.search.matched){b=this.encloseMath(b)}if(b){do{c=b;b=b.nextSibling}while(b&&(b.nodeName.toLowerCase()==="br"||b.nodeName.toLowerCase()==="#comment"));if(!b||b.nodeName!=="#text"){return(this.search.close?this.prevEndMatch():c)}}}return b},startMatch:function(a,b){var f=this.match[a[0]];if(f!=null){this.search={end:f.end,mode:f.mode,pcount:0,open:b,olen:a[0].length,opos:this.pattern.lastIndex-a[0].length};this.switchPattern(f.pattern)}else{if(a[0].substr(0,6)==="\\begin"){this.search={end:"\\end{"+a[1]+"}",mode:"; mode=display",pcount:0,open:b,olen:0,opos:this.pattern.lastIndex-a[0].length,isBeginEnd:true};this.switchPattern(this.endPattern(this.search.end))}else{if(a[0].substr(0,4)==="\\ref"||a[0].substr(0,6)==="\\eqref"){this.search={mode:"",end:"",open:b,pcount:0,olen:0,opos:this.pattern.lastIndex-a[0].length};return this.endMatch([""],b)}else{var d=a[0].substr(0,a[0].length-1),g,c;if(d.length%2===0){c=[d.replace(/\\\\/g,"\\")];g=1}else{c=[d.substr(1).replace(/\\\\/g,"\\"),"$"];g=0}c=MathJax.HTML.Element("span",null,c);var e=MathJax.HTML.TextNode(b.nodeValue.substr(0,a.index));b.nodeValue=b.nodeValue.substr(a.index+a[0].length-g);b.parentNode.insertBefore(c,b);b.parentNode.insertBefore(e,c);this.pattern.lastIndex=g}}}return b},endMatch:function(a,c){var b=this.search;if(a[0]==b.end){if(!b.close||b.pcount===0){b.close=c;b.cpos=this.pattern.lastIndex;b.clen=(b.isBeginEnd?0:a[0].length)}if(b.pcount===0){b.matched=true;c=this.encloseMath(c);this.switchPattern(this.start)}}else{if(a[0]==="{"){b.pcount++}else{if(a[0]==="}"&&b.pcount){b.pcount--}}}return c},prevEndMatch:function(){this.search.matched=true;var a=this.encloseMath(this.search.close);this.switchPattern(this.start);return a},switchPattern:function(a){a.lastIndex=this.pattern.lastIndex;this.pattern=a;this.search.start=(a===this.start)},encloseMath:function(b){var a=this.search,f=a.close,e,c;if(a.cpos===f.length){f=f.nextSibling}else{f=f.splitText(a.cpos)}if(!f){e=f=MathJax.HTML.addText(a.close.parentNode,"")}a.close=f;c=(a.opos?a.open.splitText(a.opos):a.open);while(c.nextSibling&&c.nextSibling!==f){if(c.nextSibling.nodeValue!==null){if(c.nextSibling.nodeName==="#comment"){c.nodeValue+=c.nextSibling.nodeValue.replace(/^\[CDATA\[((.|\n|\r)*)\]\]$/,"$1")}else{c.nodeValue+=c.nextSibling.nodeValue}}else{if(this.msieNewlineBug){c.nodeValue+=(c.nextSibling.nodeName.toLowerCase()==="br"?"\n":" ")}else{c.nodeValue+=" "}}c.parentNode.removeChild(c.nextSibling)}var d=c.nodeValue.substr(a.olen,c.nodeValue.length-a.olen-a.clen);c.parentNode.removeChild(c);if(this.config.preview!=="none"){this.createPreview(a.mode,d)}c=this.createMathTag(a.mode,d);this.search={};this.pattern.lastIndex=0;if(e){e.parentNode.removeChild(e)}return c},insertNode:function(b){var a=this.search;a.close.parentNode.insertBefore(b,a.close)},createPreview:function(c,a){var b=this.config.preview;if(b==="none"){return}if(b==="TeX"){b=[this.filterPreview(a)]}if(b){b=MathJax.HTML.Element("span",{className:MathJax.Hub.config.preRemoveClass},b);this.insertNode(b)}},createMathTag:function(c,b){var a=document.createElement("script");a.type="math/tex"+c;MathJax.HTML.setScript(a,b);this.insertNode(a);return a},filterPreview:function(a){return a},msieNewlineBug:(MathJax.Hub.Browser.isMSIE&&document.documentMode<9)};MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.tex2jax]);MathJax.Ajax.loadComplete("[MathJax]/extensions/tex2jax.js");
diff --git a/uikit/static/js/lib/jax/input/MathML/config.js b/uikit/static/js/lib/jax/input/MathML/config.js
new file mode 100644
index 0000000..d5ee53c
--- /dev/null
+++ b/uikit/static/js/lib/jax/input/MathML/config.js
@@ -0,0 +1,19 @@
+/*
+ * /MathJax/jax/input/MathML/config.js
+ *
+ * Copyright (c) 2009-2015 The MathJax Consortium
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+MathJax.InputJax.MathML=MathJax.InputJax({id:"MathML",version:"2.5.0",directory:MathJax.InputJax.directory+"/MathML",extensionDir:MathJax.InputJax.extensionDir+"/MathML",entityDir:MathJax.InputJax.directory+"/MathML/entities",config:{useMathMLspacing:false}});MathJax.InputJax.MathML.Register("math/mml");MathJax.InputJax.MathML.loadComplete("config.js");
diff --git a/uikit/static/js/lib/jax/input/TeX/config.js b/uikit/static/js/lib/jax/input/TeX/config.js
new file mode 100644
index 0000000..90bb3db
--- /dev/null
+++ b/uikit/static/js/lib/jax/input/TeX/config.js
@@ -0,0 +1,19 @@
+/*
+ * /MathJax/jax/input/TeX/config.js
+ *
+ * Copyright (c) 2009-2015 The MathJax Consortium
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+MathJax.InputJax.TeX=MathJax.InputJax({id:"TeX",version:"2.5.2",directory:MathJax.InputJax.directory+"/TeX",extensionDir:MathJax.InputJax.extensionDir+"/TeX",config:{TagSide:"right",TagIndent:"0.8em",MultLineWidth:"85%",equationNumbers:{autoNumber:"none",formatNumber:function(a){return a},formatTag:function(a){return"("+a+")"},formatID:function(a){return"mjx-eqn-"+String(a).replace(/[:"'<>&]/g,"")},formatURL:function(a){return"#"+escape(a)},useLabelIds:true}}});MathJax.InputJax.TeX.Register("math/tex");MathJax.InputJax.TeX.loadComplete("config.js");
diff --git a/uikit/static/js/lib/jax/output/HTML-CSS/config.js b/uikit/static/js/lib/jax/output/HTML-CSS/config.js
new file mode 100644
index 0000000..e035de1
--- /dev/null
+++ b/uikit/static/js/lib/jax/output/HTML-CSS/config.js
@@ -0,0 +1,19 @@
+/*
+ * /MathJax/jax/output/HTML-CSS/config.js
+ *
+ * Copyright (c) 2009-2015 The MathJax Consortium
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+MathJax.OutputJax["HTML-CSS"]=MathJax.OutputJax({id:"HTML-CSS",version:"2.5.3",directory:MathJax.OutputJax.directory+"/HTML-CSS",extensionDir:MathJax.OutputJax.extensionDir+"/HTML-CSS",autoloadDir:MathJax.OutputJax.directory+"/HTML-CSS/autoload",fontDir:MathJax.OutputJax.directory+"/HTML-CSS/fonts",webfontDir:MathJax.OutputJax.fontDir+"/HTML-CSS",config:{noReflows:true,matchFontHeight:true,scale:100,minScaleAdjust:50,availableFonts:["STIX","TeX"],preferredFont:"TeX",webFont:"TeX",imageFont:"TeX",undefinedFamily:"STIXGeneral,'Arial Unicode MS',serif",mtextFontInherit:false,EqnChunk:(MathJax.Hub.Browser.isMobile?10:50),EqnChunkFactor:1.5,EqnChunkDelay:100,linebreaks:{automatic:false,width:"container"},styles:{".MathJax_Display":{"text-align":"center",margin:"1em 0em"},".MathJax .merror":{"background-color":"#FFFF88",color:"#CC0000",border:"1px solid #CC0000",padding:"1px 3px","font-style":"normal","font-size":"90%"},".MathJax .MJX-monospace":{"font-family":"monospace"},".MathJax .MJX-sans-serif":{"font-family":"sans-serif"},"#MathJax_Tooltip":{"background-color":"InfoBackground",color:"InfoText",border:"1px solid black","box-shadow":"2px 2px 5px #AAAAAA","-webkit-box-shadow":"2px 2px 5px #AAAAAA","-moz-box-shadow":"2px 2px 5px #AAAAAA","-khtml-box-shadow":"2px 2px 5px #AAAAAA",filter:"progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')",padding:"3px 4px","z-index":401}}}});if(MathJax.Hub.Browser.isMSIE&&document.documentMode>=9){delete MathJax.OutputJax["HTML-CSS"].config.styles["#MathJax_Tooltip"].filter}if(!MathJax.Hub.config.delayJaxRegistration){MathJax.OutputJax["HTML-CSS"].Register("jax/mml")}MathJax.Hub.Register.StartupHook("End Config",[function(b,c){var a=b.Insert({minBrowserVersion:{Firefox:3,Opera:9.52,MSIE:6,Chrome:0.3,Safari:2,Konqueror:4},inlineMathDelimiters:["$","$"],displayMathDelimiters:["$$","$$"],multilineDisplay:true,minBrowserTranslate:function(f){var e=b.getJaxFor(f),k=["[Math]"],j;var h=document.createElement("span",{className:"MathJax_Preview"});if(e.inputJax==="TeX"){if(e.root.Get("displaystyle")){j=a.displayMathDelimiters;k=[j[0]+e.originalText+j[1]];if(a.multilineDisplay){k=k[0].split(/\n/)}}else{j=a.inlineMathDelimiters;k=[j[0]+e.originalText.replace(/^\s+/,"").replace(/\s+$/,"")+j[1]]}}for(var g=0,d=k.length;g<d;g++){h.appendChild(document.createTextNode(k[g]));if(g<d-1){h.appendChild(document.createElement("br"))}}f.parentNode.insertBefore(h,f)}},(b.config["HTML-CSS"]||{}));if(b.Browser.version!=="0.0"&&!b.Browser.versionAtLeast(a.minBrowserVersion[b.Browser]||0)){c.Translate=a.minBrowserTranslate;b.Config({showProcessingMessages:false});MathJax.Message.Set(["MathJaxNotSupported","Your browser does not support MathJax"],null,4000);b.Startup.signal.Post("MathJax not supported")}},MathJax.Hub,MathJax.OutputJax["HTML-CSS"]]);MathJax.OutputJax["HTML-CSS"].loadComplete("config.js");
diff --git a/uikit/static/js/lib/jquery-1.11.3.js b/uikit/static/js/lib/jquery-1.11.3.js
new file mode 100644
index 0000000..6feb110
--- /dev/null
+++ b/uikit/static/js/lib/jquery-1.11.3.js
@@ -0,0 +1,10351 @@
+/*!
+ * jQuery JavaScript Library v1.11.3
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2015-04-28T16:19Z
+ */
+
+(function( global, factory ) {
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+ // For CommonJS and CommonJS-like environments where a proper window is present,
+ // execute the factory and get jQuery
+ // For environments that do not inherently posses a window with a document
+ // (such as Node.js), expose a jQuery-making factory as module.exports
+ // This accentuates the need for the creation of a real window
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket #14549 for more info
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Can't do this because several apps including ASP.NET trace
+// the stack via arguments.caller.callee and Firefox dies if
+// you try to trace through "use strict" call chains. (#13335)
+// Support: Firefox 18+
+//
+
+var deletedIds = [];
+
+var slice = deletedIds.slice;
+
+var concat = deletedIds.concat;
+
+var push = deletedIds.push;
+
+var indexOf = deletedIds.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var support = {};
+
+
+
+var
+ version = "1.11.3",
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+ // The jQuery object is actually just the init constructor 'enhanced'
+ // Need init if jQuery is called (just allow error to be thrown if not included)
+ return new jQuery.fn.init( selector, context );
+ },
+
+ // Support: Android<4.1, IE<9
+ // Make sure we trim BOM and NBSP
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+ // Matches dashed string for camelizing
+ rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([\da-z])/gi,
+
+ // Used by jQuery.camelCase as callback to replace()
+ fcamelCase = function( all, letter ) {
+ return letter.toUpperCase();
+ };
+
+jQuery.fn = jQuery.prototype = {
+ // The current version of jQuery being used
+ jquery: version,
+
+ constructor: jQuery,
+
+ // Start with an empty selector
+ selector: "",
+
+ // The default length of a jQuery object is 0
+ length: 0,
+
+ toArray: function() {
+ return slice.call( this );
+ },
+
+ // Get the Nth element in the matched element set OR
+ // Get the whole matched element set as a clean array
+ get: function( num ) {
+ return num != null ?
+
+ // Return just the one element from the set
+ ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
+
+ // Return all the elements in a clean array
+ slice.call( this );
+ },
+
+ // Take an array of elements and push it onto the stack
+ // (returning the new matched element set)
+ pushStack: function( elems ) {
+
+ // Build a new jQuery matched element set
+ var ret = jQuery.merge( this.constructor(), elems );
+
+ // Add the old object onto the stack (as a reference)
+ ret.prevObject = this;
+ ret.context = this.context;
+
+ // Return the newly-formed element set
+ return ret;
+ },
+
+ // Execute a callback for every element in the matched set.
+ // (You can seed the arguments with an array of args, but this is
+ // only used internally.)
+ each: function( callback, args ) {
+ return jQuery.each( this, callback, args );
+ },
+
+ map: function( callback ) {
+ return this.pushStack( jQuery.map(this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ }));
+ },
+
+ slice: function() {
+ return this.pushStack( slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
+ },
+
+ end: function() {
+ return this.prevObject || this.constructor(null);
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: push,
+ sort: deletedIds.sort,
+ splice: deletedIds.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+ var src, copyIsArray, copy, name, options, clone,
+ target = arguments[0] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+
+ // skip the boolean and the target
+ target = arguments[ i ] || {};
+ i++;
+ }
+
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
+ target = {};
+ }
+
+ // extend jQuery itself if only one argument is passed
+ if ( i === length ) {
+ target = this;
+ i--;
+ }
+
+ for ( ; i < length; i++ ) {
+ // Only deal with non-null/undefined values
+ if ( (options = arguments[ i ]) != null ) {
+ // Extend the base object
+ for ( name in options ) {
+ src = target[ name ];
+ copy = options[ name ];
+
+ // Prevent never-ending loop
+ if ( target === copy ) {
+ continue;
+ }
+
+ // Recurse if we're merging plain objects or arrays
+ if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
+ if ( copyIsArray ) {
+ copyIsArray = false;
+ clone = src && jQuery.isArray(src) ? src : [];
+
+ } else {
+ clone = src && jQuery.isPlainObject(src) ? src : {};
+ }
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+jQuery.extend({
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+ // Assume jQuery is ready without the ready module
+ isReady: true,
+
+ error: function( msg ) {
+ throw new Error( msg );
+ },
+
+ noop: function() {},
+
+ // See test/unit/core.js for details concerning isFunction.
+ // Since version 1.3, DOM methods and functions like alert
+ // aren't supported. They return false on IE (#2968).
+ isFunction: function( obj ) {
+ return jQuery.type(obj) === "function";
+ },
+
+ isArray: Array.isArray || function( obj ) {
+ return jQuery.type(obj) === "array";
+ },
+
+ isWindow: function( obj ) {
+ /* jshint eqeqeq: false */
+ return obj != null && obj == obj.window;
+ },
+
+ isNumeric: function( obj ) {
+ // parseFloat NaNs numeric-cast false positives (null|true|false|"")
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+ // subtraction forces infinities to NaN
+ // adding 1 corrects loss of precision from parseFloat (#15100)
+ return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0;
+ },
+
+ isEmptyObject: function( obj ) {
+ var name;
+ for ( name in obj ) {
+ return false;
+ }
+ return true;
+ },
+
+ isPlainObject: function( obj ) {
+ var key;
+
+ // Must be an Object.
+ // Because of IE, we also have to check the presence of the constructor property.
+ // Make sure that DOM nodes and window objects don't pass through, as well
+ if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ try {
+ // Not own constructor property must be Object
+ if ( obj.constructor &&
+ !hasOwn.call(obj, "constructor") &&
+ !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
+ return false;
+ }
+ } catch ( e ) {
+ // IE8,9 Will throw exceptions on certain host objects #9897
+ return false;
+ }
+
+ // Support: IE<9
+ // Handle iteration over inherited properties before own properties.
+ if ( support.ownLast ) {
+ for ( key in obj ) {
+ return hasOwn.call( obj, key );
+ }
+ }
+
+ // Own properties are enumerated firstly, so to speed up,
+ // if last one is own, then all properties are own.
+ for ( key in obj ) {}
+
+ return key === undefined || hasOwn.call( obj, key );
+ },
+
+ type: function( obj ) {
+ if ( obj == null ) {
+ return obj + "";
+ }
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ toString.call(obj) ] || "object" :
+ typeof obj;
+ },
+
+ // Evaluates a script in a global context
+ // Workarounds based on findings by Jim Driscoll
+ // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
+ globalEval: function( data ) {
+ if ( data && jQuery.trim( data ) ) {
+ // We use execScript on Internet Explorer
+ // We use an anonymous function so that context is window
+ // rather than jQuery in Firefox
+ ( window.execScript || function( data ) {
+ window[ "eval" ].call( window, data );
+ } )( data );
+ }
+ },
+
+ // Convert dashed to camelCase; used by the css and data modules
+ // Microsoft forgot to hump their vendor prefix (#9572)
+ camelCase: function( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+ },
+
+ nodeName: function( elem, name ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+ },
+
+ // args is for internal usage only
+ each: function( obj, callback, args ) {
+ var value,
+ i = 0,
+ length = obj.length,
+ isArray = isArraylike( obj );
+
+ if ( args ) {
+ if ( isArray ) {
+ for ( ; i < length; i++ ) {
+ value = callback.apply( obj[ i ], args );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ value = callback.apply( obj[ i ], args );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ }
+
+ // A special, fast, case for the most common use of each
+ } else {
+ if ( isArray ) {
+ for ( ; i < length; i++ ) {
+ value = callback.call( obj[ i ], i, obj[ i ] );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ value = callback.call( obj[ i ], i, obj[ i ] );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ // Support: Android<4.1, IE<9
+ trim: function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArraylike( Object(arr) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ var len;
+
+ if ( arr ) {
+ if ( indexOf ) {
+ return indexOf.call( arr, elem, i );
+ }
+
+ len = arr.length;
+ i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
+
+ for ( ; i < len; i++ ) {
+ // Skip accessing in sparse arrays
+ if ( i in arr && arr[ i ] === elem ) {
+ return i;
+ }
+ }
+ }
+
+ return -1;
+ },
+
+ merge: function( first, second ) {
+ var len = +second.length,
+ j = 0,
+ i = first.length;
+
+ while ( j < len ) {
+ first[ i++ ] = second[ j++ ];
+ }
+
+ // Support: IE<9
+ // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists)
+ if ( len !== len ) {
+ while ( second[j] !== undefined ) {
+ first[ i++ ] = second[ j++ ];
+ }
+ }
+
+ first.length = i;
+
+ return first;
+ },
+
+ grep: function( elems, callback, invert ) {
+ var callbackInverse,
+ matches = [],
+ i = 0,
+ length = elems.length,
+ callbackExpect = !invert;
+
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( ; i < length; i++ ) {
+ callbackInverse = !callback( elems[ i ], i );
+ if ( callbackInverse !== callbackExpect ) {
+ matches.push( elems[ i ] );
+ }
+ }
+
+ return matches;
+ },
+
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var value,
+ i = 0,
+ length = elems.length,
+ isArray = isArraylike( elems ),
+ ret = [];
+
+ // Go through the array, translating each of the items to their new values
+ if ( isArray ) {
+ for ( ; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+
+ // Go through every key on the object,
+ } else {
+ for ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return concat.apply( [], ret );
+ },
+
+ // A global GUID counter for objects
+ guid: 1,
+
+ // Bind a function to a context, optionally partially applying any
+ // arguments.
+ proxy: function( fn, context ) {
+ var args, proxy, tmp;
+
+ if ( typeof context === "string" ) {
+ tmp = fn[ context ];
+ context = fn;
+ fn = tmp;
+ }
+
+ // Quick check to determine if target is callable, in the spec
+ // this throws a TypeError, but we will just return undefined.
+ if ( !jQuery.isFunction( fn ) ) {
+ return undefined;
+ }
+
+ // Simulated bind
+ args = slice.call( arguments, 2 );
+ proxy = function() {
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+ };
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+ return proxy;
+ },
+
+ now: function() {
+ return +( new Date() );
+ },
+
+ // jQuery.support is not used in Core but other projects attach their
+ // properties to it so it needs to exist.
+ support: support
+});
+
+// Populate the class2type map
+jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+});
+
+function isArraylike( obj ) {
+
+ // Support: iOS 8.2 (not reproducible in simulator)
+ // `in` check used to prevent JIT error (gh-2145)
+ // hasOwn isn't used here due to false negatives
+ // regarding Nodelist length in IE
+ var length = "length" in obj && obj.length,
+ type = jQuery.type( obj );
+
+ if ( type === "function" || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ if ( obj.nodeType === 1 && length ) {
+ return true;
+ }
+
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.2.0-pre
+ * http://sizzlejs.com/
+ *
+ * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2014-12-16
+ */
+(function( window ) {
+
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ }
+ return 0;
+ },
+
+ // General-purpose constants
+ MAX_NEGATIVE = 1 << 31,
+
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf as it's faster than native
+ // http://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
+ // http://www.w3.org/TR/css3-syntax/#characters
+ characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
+
+ // Loosely modeled on CSS identifier characters
+ // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors
+ // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ identifier = characterEncoding.replace( "w", "w#" ),
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace +
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+ "*\\]",
+
+ pseudos = ":(" + characterEncoding + ")(?:\\((" +
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
+
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+ rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + characterEncoding + ")" ),
+ "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ),
+ "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rsibling = /[+~]/,
+ rescape = /'|\\/g,
+
+ // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox<24
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ high < 0 ?
+ // BMP codepoint
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ };
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var match, elem, m, nodeType,
+ // QSA vars
+ i, groups, old, nid, newContext, newSelector;
+
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+
+ context = context || document;
+ results = results || [];
+ nodeType = context.nodeType;
+
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
+ }
+
+ if ( !seed && documentIsHTML ) {
+
+ // Try to shortcut find operations when possible (e.g., not under DocumentFragment)
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+ // Speed-up: Sizzle("#ID")
+ if ( (m = match[1]) ) {
+ if ( nodeType === 9 ) {
+ elem = context.getElementById( m );
+ // Check parentNode to catch when Blackberry 4.6 returns
+ // nodes that are no longer in the document (jQuery #6963)
+ if ( elem && elem.parentNode ) {
+ // Handle the case where IE, Opera, and Webkit return items
+ // by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+ } else {
+ // Context is not a document
+ if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&
+ contains( context, elem ) && elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Speed-up: Sizzle("TAG")
+ } else if ( match[2] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Speed-up: Sizzle(".CLASS")
+ } else if ( (m = match[3]) && support.getElementsByClassName ) {
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // QSA path
+ if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+ nid = old = expando;
+ newContext = context;
+ newSelector = nodeType !== 1 && selector;
+
+ // qSA works strangely on Element-rooted queries
+ // We can work around this by specifying an extra ID on the root
+ // and working up from there (Thanks to Andrew Dupont for the technique)
+ // IE 8 doesn't work on object elements
+ if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
+ groups = tokenize( selector );
+
+ if ( (old = context.getAttribute("id")) ) {
+ nid = old.replace( rescape, "\\$&" );
+ } else {
+ context.setAttribute( "id", nid );
+ }
+ nid = "[id='" + nid + "'] ";
+
+ i = groups.length;
+ while ( i-- ) {
+ groups[i] = nid + toSelector( groups[i] );
+ }
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context;
+ newSelector = groups.join(",");
+ }
+
+ if ( newSelector ) {
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch(qsaError) {
+ } finally {
+ if ( !old ) {
+ context.removeAttribute("id");
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {Function(string, Object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key + " " ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created div and expects a boolean result
+ */
+function assert( fn ) {
+ var div = document.createElement("div");
+
+ try {
+ return !!fn( div );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( div.parentNode ) {
+ div.parentNode.removeChild( div );
+ }
+ // release memory in IE
+ div = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = attrs.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ ( ~b.sourceIndex || MAX_NEGATIVE ) -
+ ( ~a.sourceIndex || MAX_NEGATIVE );
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return (name === "input" || name === "button") && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction(function( argument ) {
+ argument = +argument;
+ return markFunction(function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ (j = matchIndexes[i]) ] ) {
+ seed[j] = !(matches[j] = seed[j]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ // documentElement is verified for cases where it doesn't yet exist
+ // (such as loading iframes in IE - #4833)
+ var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, parent,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // If no document and documentElement is available, return
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Set our document
+ document = doc;
+ docElem = doc.documentElement;
+ parent = doc.defaultView;
+
+ // Support: IE>8
+ // If iframe document is assigned to "document" variable and if iframe has been reloaded,
+ // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936
+ // IE6-8 do not support the defaultView property so parent will be undefined
+ if ( parent && parent !== parent.top ) {
+ // IE11 does not have attachEvent, so all must suffer
+ if ( parent.addEventListener ) {
+ parent.addEventListener( "unload", unloadHandler, false );
+ } else if ( parent.attachEvent ) {
+ parent.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ /* Support tests
+ ---------------------------------------------------------------------- */
+ documentIsHTML = !isXML( doc );
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert(function( div ) {
+ div.className = "i";
+ return !div.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( div ) {
+ div.appendChild( doc.createComment("") );
+ return !div.getElementsByTagName("*").length;
+ });
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( doc.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( div ) {
+ docElem.appendChild( div ).id = expando;
+ return !doc.getElementsByName || !doc.getElementsByName( expando ).length;
+ });
+
+ // ID find and filter
+ if ( support.getById ) {
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var m = context.getElementById( id );
+ // Check parentNode to catch when Blackberry 4.6 returns
+ // nodes that are no longer in the document #6963
+ return m && m.parentNode ? [ m ] : [];
+ }
+ };
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ } else {
+ // Support: IE6/7
+ // getElementById is not reliable as a find shortcut
+ delete Expr.find["ID"];
+
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See http://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert(function( div ) {
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // http://bugs.jquery.com/ticket/12359
+ docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" +
+ "<select id='" + expando + "-\f]' msallowcapture=''>" +
+ "<option selected=''></option></select>";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( div.querySelectorAll("[msallowcapture^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !div.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+
+ if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push("~=");
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibing-combinator selector` fails
+ if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push(".#.+[+~]");
+ }
+ });
+
+ assert(function( div ) {
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = doc.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ div.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( div.querySelectorAll("[name=d]").length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":enabled").length ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ div.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( div ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( div, "div" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( div, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully does not implement inclusive descendent
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+ return a === doc ? -1 :
+ b === doc ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return doc;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ // Make sure that attribute selectors are quoted
+ expr = expr.replace( rattributeQuotes, "='$1']" );
+
+ if ( support.matchesSelector && documentIsHTML &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch (e) {}
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+ // If no nodeType, this is expected to be an array
+ while ( (node = elem[i++]) ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[6] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] ) {
+ match[2] = match[4] || match[5] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+ // Get excess from tokenize (recursively)
+ (excess = tokenize( unquoted, true )) &&
+ // advance to the next closing parenthesis
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+ // excess is a negative index
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, outerCache, node, diff, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+ // Seek `elem` from a previously-cached index
+ outerCache = parent[ expando ] || (parent[ expando ] = {});
+ cache = outerCache[ type ] || [];
+ nodeIndex = cache[0] === dirruns && cache[1];
+ diff = cache[0] === dirruns && cache[2];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ outerCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ // Use previously-cached element index if available
+ } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {
+ diff = cache[1];
+
+ // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ } else {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction(function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[i] );
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
+ }
+ }) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+ // Potentially complex pseudos
+ "not": markFunction(function( selector ) {
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction(function( seed, matches, context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( (elem = unmatched[i]) ) {
+ seed[i] = !(matches[i] = elem);
+ }
+ }
+ }) :
+ function( elem, context, xml ) {
+ input[0] = elem;
+ matcher( input, null, xml, results );
+ // Don't keep the element (issue #299)
+ input[0] = null;
+ return !results.pop();
+ };
+ }),
+
+ "has": markFunction(function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ }),
+
+ "contains": markFunction(function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "enabled": function( elem ) {
+ return elem.disabled === false;
+ },
+
+ "disabled": function( elem ) {
+ return elem.disabled === true;
+ },
+
+ "checked": function( elem ) {
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ },
+
+ "selected": function( elem ) {
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( match ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( (tokens = []) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ checkNonElements = base && dir === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+ if ( (oldCache = outerCache[ dir ]) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return (newCache[ 2 ] = oldCache[ 2 ]);
+ } else {
+ // Reuse newcache so results back-propagate to previous elements
+ outerCache[ dir ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[i]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( (elem = unmatched[i]) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction(function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ });
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[0].type ],
+ implicitRelative = leadingRelative || Expr.relative[" "],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ (checkContext = context).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ } else {
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[j].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ len = elems.length;
+
+ if ( outermost ) {
+ outermostContext = context !== document && context;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Keep `i` a string if there are no elements so `matchedCount` will be "00" below
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context, xml ) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+ // They will have gone through all possible matchers
+ if ( (elem = !matcher && elem) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // Apply set filters to unmatched elements
+ matchedCount += i;
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( (matcher = setMatchers[j++]) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !(unmatched[i] || setMatched[i]) ) {
+ setMatched[i] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[i] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is no seed and only one group
+ if ( match.length === 1 ) {
+
+ // Take a shortcut and set the context if the root selector is an ID
+ tokens = match[0] = match[0].slice( 0 );
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+ support.getById && context.nodeType === 9 && documentIsHTML &&
+ Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[i];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ (type = token.type) ] ) {
+ break;
+ }
+ if ( (find = Expr.find[ type ]) ) {
+ // Search, expanding context for leading sibling combinators
+ if ( (seed = find(
+ token.matches[0].replace( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( div1 ) {
+ // Should return 1, but returns 4 (following)
+ return div1.compareDocumentPosition( document.createElement("div") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( div ) {
+ div.innerHTML = "<a href='#'></a>";
+ return div.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( div ) {
+ div.innerHTML = "<input/>";
+ div.firstChild.setAttribute( "value", "" );
+ return div.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( div ) {
+ return div.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ null;
+ }
+ });
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+jQuery.expr[":"] = jQuery.expr.pseudos;
+jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/);
+
+
+
+var risSimple = /^.[^:#\[\.,]*$/;
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+ if ( jQuery.isFunction( qualifier ) ) {
+ return jQuery.grep( elements, function( elem, i ) {
+ /* jshint -W018 */
+ return !!qualifier.call( elem, i, elem ) !== not;
+ });
+
+ }
+
+ if ( qualifier.nodeType ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( elem === qualifier ) !== not;
+ });
+
+ }
+
+ if ( typeof qualifier === "string" ) {
+ if ( risSimple.test( qualifier ) ) {
+ return jQuery.filter( qualifier, elements, not );
+ }
+
+ qualifier = jQuery.filter( qualifier, elements );
+ }
+
+ return jQuery.grep( elements, function( elem ) {
+ return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not;
+ });
+}
+
+jQuery.filter = function( expr, elems, not ) {
+ var elem = elems[ 0 ];
+
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ return elems.length === 1 && elem.nodeType === 1 ?
+ jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
+ jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+ return elem.nodeType === 1;
+ }));
+};
+
+jQuery.fn.extend({
+ find: function( selector ) {
+ var i,
+ ret = [],
+ self = this,
+ len = self.length;
+
+ if ( typeof selector !== "string" ) {
+ return this.pushStack( jQuery( selector ).filter(function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( self[ i ], this ) ) {
+ return true;
+ }
+ }
+ }) );
+ }
+
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
+ }
+
+ // Needed because $( selector, context ) becomes $( context ).find( selector )
+ ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
+ ret.selector = this.selector ? this.selector + " " + selector : selector;
+ return ret;
+ },
+ filter: function( selector ) {
+ return this.pushStack( winnow(this, selector || [], false) );
+ },
+ not: function( selector ) {
+ return this.pushStack( winnow(this, selector || [], true) );
+ },
+ is: function( selector ) {
+ return !!winnow(
+ this,
+
+ // If this is a positional/relative selector, check membership in the returned set
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
+ typeof selector === "string" && rneedsContext.test( selector ) ?
+ jQuery( selector ) :
+ selector || [],
+ false
+ ).length;
+ }
+});
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+ // Use the correct document accordingly with window argument (sandbox)
+ document = window.document,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
+
+ init = jQuery.fn.init = function( selector, context ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && (match[1] || !context) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[1] ) {
+ context = context instanceof jQuery ? context[0] : context;
+
+ // scripts is true for back-compat
+ // Intentionally let the error be thrown if parseHTML is not present
+ jQuery.merge( this, jQuery.parseHTML(
+ match[1],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+ // Properties of context are called as methods if possible
+ if ( jQuery.isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[2] );
+
+ // Check parentNode to catch when Blackberry 4.6 returns
+ // nodes that are no longer in the document #6963
+ if ( elem && elem.parentNode ) {
+ // Handle the case where IE and Opera return items
+ // by name instead of ID
+ if ( elem.id !== match[2] ) {
+ return rootjQuery.find( selector );
+ }
+
+ // Otherwise, we inject the element directly into the jQuery object
+ this.length = 1;
+ this[0] = elem;
+ }
+
+ this.context = document;
+ this.selector = selector;
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || rootjQuery ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this.context = this[0] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( jQuery.isFunction( selector ) ) {
+ return typeof rootjQuery.ready !== "undefined" ?
+ rootjQuery.ready( selector ) :
+ // Execute immediately if ready is not present
+ selector( jQuery );
+ }
+
+ if ( selector.selector !== undefined ) {
+ this.selector = selector.selector;
+ this.context = selector.context;
+ }
+
+ return jQuery.makeArray( selector, this );
+ };
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+ // methods guaranteed to produce a unique set when starting from a unique set
+ guaranteedUnique = {
+ children: true,
+ contents: true,
+ next: true,
+ prev: true
+ };
+
+jQuery.extend({
+ dir: function( elem, dir, until ) {
+ var matched = [],
+ cur = elem[ dir ];
+
+ while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
+ if ( cur.nodeType === 1 ) {
+ matched.push( cur );
+ }
+ cur = cur[dir];
+ }
+ return matched;
+ },
+
+ sibling: function( n, elem ) {
+ var r = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ r.push( n );
+ }
+ }
+
+ return r;
+ }
+});
+
+jQuery.fn.extend({
+ has: function( target ) {
+ var i,
+ targets = jQuery( target, this ),
+ len = targets.length;
+
+ return this.filter(function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( this, targets[i] ) ) {
+ return true;
+ }
+ }
+ });
+ },
+
+ closest: function( selectors, context ) {
+ var cur,
+ i = 0,
+ l = this.length,
+ matched = [],
+ pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
+ jQuery( selectors, context || this.context ) :
+ 0;
+
+ for ( ; i < l; i++ ) {
+ for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) {
+ // Always skip document fragments
+ if ( cur.nodeType < 11 && (pos ?
+ pos.index(cur) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector(cur, selectors)) ) {
+
+ matched.push( cur );
+ break;
+ }
+ }
+ }
+
+ return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched );
+ },
+
+ // Determine the position of an element within
+ // the matched set of elements
+ index: function( elem ) {
+
+ // No argument, return index in parent
+ if ( !elem ) {
+ return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1;
+ }
+
+ // index in selector
+ if ( typeof elem === "string" ) {
+ return jQuery.inArray( this[0], jQuery( elem ) );
+ }
+
+ // Locate the position of the desired element
+ return jQuery.inArray(
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[0] : elem, this );
+ },
+
+ add: function( selector, context ) {
+ return this.pushStack(
+ jQuery.unique(
+ jQuery.merge( this.get(), jQuery( selector, context ) )
+ )
+ );
+ },
+
+ addBack: function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter(selector)
+ );
+ }
+});
+
+function sibling( cur, dir ) {
+ do {
+ cur = cur[ dir ];
+ } while ( cur && cur.nodeType !== 1 );
+
+ return cur;
+}
+
+jQuery.each({
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return jQuery.dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, i, until ) {
+ return jQuery.dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return sibling( elem, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return sibling( elem, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return jQuery.dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return jQuery.dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, i, until ) {
+ return jQuery.dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, i, until ) {
+ return jQuery.dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );
+ },
+ children: function( elem ) {
+ return jQuery.sibling( elem.firstChild );
+ },
+ contents: function( elem ) {
+ return jQuery.nodeName( elem, "iframe" ) ?
+ elem.contentDocument || elem.contentWindow.document :
+ jQuery.merge( [], elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var ret = jQuery.map( this, fn, until );
+
+ if ( name.slice( -5 ) !== "Until" ) {
+ selector = until;
+ }
+
+ if ( selector && typeof selector === "string" ) {
+ ret = jQuery.filter( selector, ret );
+ }
+
+ if ( this.length > 1 ) {
+ // Remove duplicates
+ if ( !guaranteedUnique[ name ] ) {
+ ret = jQuery.unique( ret );
+ }
+
+ // Reverse order for parents* and prev-derivatives
+ if ( rparentsprev.test( name ) ) {
+ ret = ret.reverse();
+ }
+ }
+
+ return this.pushStack( ret );
+ };
+});
+var rnotwhite = (/\S+/g);
+
+
+
+// String to Object options format cache
+var optionsCache = {};
+
+// Convert String-formatted options into Object-formatted ones and store in cache
+function createOptions( options ) {
+ var object = optionsCache[ options ] = {};
+ jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ });
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ * once: will ensure the callback list can only be fired once (like a Deferred)
+ *
+ * memory: will keep track of previous values and will call any callback added
+ * after the list has been fired right away with the latest "memorized"
+ * values (like a Deferred)
+ *
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
+ *
+ * stopOnFalse: interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+ // Convert options from String-formatted to Object-formatted if needed
+ // (we check in cache first)
+ options = typeof options === "string" ?
+ ( optionsCache[ options ] || createOptions( options ) ) :
+ jQuery.extend( {}, options );
+
+ var // Flag to know if list is currently firing
+ firing,
+ // Last fire value (for non-forgettable lists)
+ memory,
+ // Flag to know if list was already fired
+ fired,
+ // End of the loop when firing
+ firingLength,
+ // Index of currently firing callback (modified by remove if needed)
+ firingIndex,
+ // First callback to fire (used internally by add and fireWith)
+ firingStart,
+ // Actual callback list
+ list = [],
+ // Stack of fire calls for repeatable lists
+ stack = !options.once && [],
+ // Fire callbacks
+ fire = function( data ) {
+ memory = options.memory && data;
+ fired = true;
+ firingIndex = firingStart || 0;
+ firingStart = 0;
+ firingLength = list.length;
+ firing = true;
+ for ( ; list && firingIndex < firingLength; firingIndex++ ) {
+ if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {
+ memory = false; // To prevent further calls using add
+ break;
+ }
+ }
+ firing = false;
+ if ( list ) {
+ if ( stack ) {
+ if ( stack.length ) {
+ fire( stack.shift() );
+ }
+ } else if ( memory ) {
+ list = [];
+ } else {
+ self.disable();
+ }
+ }
+ },
+ // Actual Callbacks object
+ self = {
+ // Add a callback or a collection of callbacks to the list
+ add: function() {
+ if ( list ) {
+ // First, we save the current length
+ var start = list.length;
+ (function add( args ) {
+ jQuery.each( args, function( _, arg ) {
+ var type = jQuery.type( arg );
+ if ( type === "function" ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
+ } else if ( arg && arg.length && type !== "string" ) {
+ // Inspect recursively
+ add( arg );
+ }
+ });
+ })( arguments );
+ // Do we need to add the callbacks to the
+ // current firing batch?
+ if ( firing ) {
+ firingLength = list.length;
+ // With memory, if we're not firing then
+ // we should call right away
+ } else if ( memory ) {
+ firingStart = start;
+ fire( memory );
+ }
+ }
+ return this;
+ },
+ // Remove a callback from the list
+ remove: function() {
+ if ( list ) {
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+ // Handle firing indexes
+ if ( firing ) {
+ if ( index <= firingLength ) {
+ firingLength--;
+ }
+ if ( index <= firingIndex ) {
+ firingIndex--;
+ }
+ }
+ }
+ });
+ }
+ return this;
+ },
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function( fn ) {
+ return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );
+ },
+ // Remove all callbacks from the list
+ empty: function() {
+ list = [];
+ firingLength = 0;
+ return this;
+ },
+ // Have the list do nothing anymore
+ disable: function() {
+ list = stack = memory = undefined;
+ return this;
+ },
+ // Is it disabled?
+ disabled: function() {
+ return !list;
+ },
+ // Lock the list in its current state
+ lock: function() {
+ stack = undefined;
+ if ( !memory ) {
+ self.disable();
+ }
+ return this;
+ },
+ // Is it locked?
+ locked: function() {
+ return !stack;
+ },
+ // Call all callbacks with the given context and arguments
+ fireWith: function( context, args ) {
+ if ( list && ( !fired || stack ) ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ if ( firing ) {
+ stack.push( args );
+ } else {
+ fire( args );
+ }
+ }
+ return this;
+ },
+ // Call all the callbacks with the given arguments
+ fire: function() {
+ self.fireWith( this, arguments );
+ return this;
+ },
+ // To know if the callbacks have already been called at least once
+ fired: function() {
+ return !!fired;
+ }
+ };
+
+ return self;
+};
+
+
+jQuery.extend({
+
+ Deferred: function( func ) {
+ var tuples = [
+ // action, add listener, listener list, final state
+ [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
+ [ "notify", "progress", jQuery.Callbacks("memory") ]
+ ],
+ state = "pending",
+ promise = {
+ state: function() {
+ return state;
+ },
+ always: function() {
+ deferred.done( arguments ).fail( arguments );
+ return this;
+ },
+ then: function( /* fnDone, fnFail, fnProgress */ ) {
+ var fns = arguments;
+ return jQuery.Deferred(function( newDefer ) {
+ jQuery.each( tuples, function( i, tuple ) {
+ var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
+ // deferred[ done | fail | progress ] for forwarding actions to newDefer
+ deferred[ tuple[1] ](function() {
+ var returned = fn && fn.apply( this, arguments );
+ if ( returned && jQuery.isFunction( returned.promise ) ) {
+ returned.promise()
+ .done( newDefer.resolve )
+ .fail( newDefer.reject )
+ .progress( newDefer.notify );
+ } else {
+ newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );
+ }
+ });
+ });
+ fns = null;
+ }).promise();
+ },
+ // Get a promise for this deferred
+ // If obj is provided, the promise aspect is added to the object
+ promise: function( obj ) {
+ return obj != null ? jQuery.extend( obj, promise ) : promise;
+ }
+ },
+ deferred = {};
+
+ // Keep pipe for back-compat
+ promise.pipe = promise.then;
+
+ // Add list-specific methods
+ jQuery.each( tuples, function( i, tuple ) {
+ var list = tuple[ 2 ],
+ stateString = tuple[ 3 ];
+
+ // promise[ done | fail | progress ] = list.add
+ promise[ tuple[1] ] = list.add;
+
+ // Handle state
+ if ( stateString ) {
+ list.add(function() {
+ // state = [ resolved | rejected ]
+ state = stateString;
+
+ // [ reject_list | resolve_list ].disable; progress_list.lock
+ }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
+ }
+
+ // deferred[ resolve | reject | notify ]
+ deferred[ tuple[0] ] = function() {
+ deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
+ return this;
+ };
+ deferred[ tuple[0] + "With" ] = list.fireWith;
+ });
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( subordinate /* , ..., subordinateN */ ) {
+ var i = 0,
+ resolveValues = slice.call( arguments ),
+ length = resolveValues.length,
+
+ // the count of uncompleted subordinates
+ remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
+
+ // the master Deferred. If resolveValues consist of only a single Deferred, just use that.
+ deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
+
+ // Update function for both resolve and progress values
+ updateFunc = function( i, contexts, values ) {
+ return function( value ) {
+ contexts[ i ] = this;
+ values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+ if ( values === progressValues ) {
+ deferred.notifyWith( contexts, values );
+
+ } else if ( !(--remaining) ) {
+ deferred.resolveWith( contexts, values );
+ }
+ };
+ },
+
+ progressValues, progressContexts, resolveContexts;
+
+ // add listeners to Deferred subordinates; treat others as resolved
+ if ( length > 1 ) {
+ progressValues = new Array( length );
+ progressContexts = new Array( length );
+ resolveContexts = new Array( length );
+ for ( ; i < length; i++ ) {
+ if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
+ resolveValues[ i ].promise()
+ .done( updateFunc( i, resolveContexts, resolveValues ) )
+ .fail( deferred.reject )
+ .progress( updateFunc( i, progressContexts, progressValues ) );
+ } else {
+ --remaining;
+ }
+ }
+ }
+
+ // if we're not waiting on anything, resolve the master
+ if ( !remaining ) {
+ deferred.resolveWith( resolveContexts, resolveValues );
+ }
+
+ return deferred.promise();
+ }
+});
+
+
+// The deferred used on DOM ready
+var readyList;
+
+jQuery.fn.ready = function( fn ) {
+ // Add the callback
+ jQuery.ready.promise().done( fn );
+
+ return this;
+};
+
+jQuery.extend({
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Hold (or release) the ready event
+ holdReady: function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+ },
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
+ if ( !document.body ) {
+ return setTimeout( jQuery.ready );
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+
+ // Trigger any bound ready events
+ if ( jQuery.fn.triggerHandler ) {
+ jQuery( document ).triggerHandler( "ready" );
+ jQuery( document ).off( "ready" );
+ }
+ }
+});
+
+/**
+ * Clean-up method for dom ready events
+ */
+function detach() {
+ if ( document.addEventListener ) {
+ document.removeEventListener( "DOMContentLoaded", completed, false );
+ window.removeEventListener( "load", completed, false );
+
+ } else {
+ document.detachEvent( "onreadystatechange", completed );
+ window.detachEvent( "onload", completed );
+ }
+}
+
+/**
+ * The ready event handler and self cleanup method
+ */
+function completed() {
+ // readyState === "complete" is good enough for us to call the dom ready in oldIE
+ if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) {
+ detach();
+ jQuery.ready();
+ }
+}
+
+jQuery.ready.promise = function( obj ) {
+ if ( !readyList ) {
+
+ readyList = jQuery.Deferred();
+
+ // Catch cases where $(document).ready() is called after the browser event has already occurred.
+ // we once tried to use readyState "interactive" here, but it caused issues like the one
+ // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
+ if ( document.readyState === "complete" ) {
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ setTimeout( jQuery.ready );
+
+ // Standards-based browsers support DOMContentLoaded
+ } else if ( document.addEventListener ) {
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed, false );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed, false );
+
+ // If IE event model is used
+ } else {
+ // Ensure firing before onload, maybe late but safe also for iframes
+ document.attachEvent( "onreadystatechange", completed );
+
+ // A fallback to window.onload, that will always work
+ window.attachEvent( "onload", completed );
+
+ // If IE and not a frame
+ // continually check to see if the document is ready
+ var top = false;
+
+ try {
+ top = window.frameElement == null && document.documentElement;
+ } catch(e) {}
+
+ if ( top && top.doScroll ) {
+ (function doScrollCheck() {
+ if ( !jQuery.isReady ) {
+
+ try {
+ // Use the trick by Diego Perini
+ // http://javascript.nwbox.com/IEContentLoaded/
+ top.doScroll("left");
+ } catch(e) {
+ return setTimeout( doScrollCheck, 50 );
+ }
+
+ // detach all dom ready events
+ detach();
+
+ // and execute any waiting functions
+ jQuery.ready();
+ }
+ })();
+ }
+ }
+ }
+ return readyList.promise( obj );
+};
+
+
+var strundefined = typeof undefined;
+
+
+
+// Support: IE<9
+// Iteration over object's inherited properties before its own
+var i;
+for ( i in jQuery( support ) ) {
+ break;
+}
+support.ownLast = i !== "0";
+
+// Note: most support tests are defined in their respective modules.
+// false until the test is run
+support.inlineBlockNeedsLayout = false;
+
+// Execute ASAP in case we need to set body.style.zoom
+jQuery(function() {
+ // Minified: var a,b,c,d
+ var val, div, body, container;
+
+ body = document.getElementsByTagName( "body" )[ 0 ];
+ if ( !body || !body.style ) {
+ // Return for frameset docs that don't have a body
+ return;
+ }
+
+ // Setup
+ div = document.createElement( "div" );
+ container = document.createElement( "div" );
+ container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px";
+ body.appendChild( container ).appendChild( div );
+
+ if ( typeof div.style.zoom !== strundefined ) {
+ // Support: IE<8
+ // Check if natively block-level elements act like inline-block
+ // elements when setting their display to 'inline' and giving
+ // them layout
+ div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1";
+
+ support.inlineBlockNeedsLayout = val = div.offsetWidth === 3;
+ if ( val ) {
+ // Prevent IE 6 from affecting layout for positioned elements #11048
+ // Prevent IE from shrinking the body in IE 7 mode #12869
+ // Support: IE<8
+ body.style.zoom = 1;
+ }
+ }
+
+ body.removeChild( container );
+});
+
+
+
+
+(function() {
+ var div = document.createElement( "div" );
+
+ // Execute the test only if not already executed in another module.
+ if (support.deleteExpando == null) {
+ // Support: IE<9
+ support.deleteExpando = true;
+ try {
+ delete div.test;
+ } catch( e ) {
+ support.deleteExpando = false;
+ }
+ }
+
+ // Null elements to avoid leaks in IE.
+ div = null;
+})();
+
+
+/**
+ * Determines whether an object can have data
+ */
+jQuery.acceptData = function( elem ) {
+ var noData = jQuery.noData[ (elem.nodeName + " ").toLowerCase() ],
+ nodeType = +elem.nodeType || 1;
+
+ // Do not set data on non-element DOM nodes because it will not be cleared (#8335).
+ return nodeType !== 1 && nodeType !== 9 ?
+ false :
+
+ // Nodes accept data unless otherwise specified; rejection can be conditional
+ !noData || noData !== true && elem.getAttribute("classid") === noData;
+};
+
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ rmultiDash = /([A-Z])/g;
+
+function dataAttr( elem, key, data ) {
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+
+ var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
+
+ data = elem.getAttribute( name );
+
+ if ( typeof data === "string" ) {
+ try {
+ data = data === "true" ? true :
+ data === "false" ? false :
+ data === "null" ? null :
+ // Only convert to a number if it doesn't change the string
+ +data + "" === data ? +data :
+ rbrace.test( data ) ? jQuery.parseJSON( data ) :
+ data;
+ } catch( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ jQuery.data( elem, key, data );
+
+ } else {
+ data = undefined;
+ }
+ }
+
+ return data;
+}
+
+// checks a cache object for emptiness
+function isEmptyDataObject( obj ) {
+ var name;
+ for ( name in obj ) {
+
+ // if the public data object is empty, the private is still empty
+ if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {
+ continue;
+ }
+ if ( name !== "toJSON" ) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+function internalData( elem, name, data, pvt /* Internal Use Only */ ) {
+ if ( !jQuery.acceptData( elem ) ) {
+ return;
+ }
+
+ var ret, thisCache,
+ internalKey = jQuery.expando,
+
+ // We have to handle DOM nodes and JS objects differently because IE6-7
+ // can't GC object references properly across the DOM-JS boundary
+ isNode = elem.nodeType,
+
+ // Only DOM nodes need the global jQuery cache; JS object data is
+ // attached directly to the object so GC can occur automatically
+ cache = isNode ? jQuery.cache : elem,
+
+ // Only defining an ID for JS objects if its cache already exists allows
+ // the code to shortcut on the same path as a DOM node with no cache
+ id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey;
+
+ // Avoid doing any more work than we need to when trying to get data on an
+ // object that has no data at all
+ if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) {
+ return;
+ }
+
+ if ( !id ) {
+ // Only DOM nodes need a new unique ID for each element since their data
+ // ends up in the global cache
+ if ( isNode ) {
+ id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++;
+ } else {
+ id = internalKey;
+ }
+ }
+
+ if ( !cache[ id ] ) {
+ // Avoid exposing jQuery metadata on plain JS objects when the object
+ // is serialized using JSON.stringify
+ cache[ id ] = isNode ? {} : { toJSON: jQuery.noop };
+ }
+
+ // An object can be passed to jQuery.data instead of a key/value pair; this gets
+ // shallow copied over onto the existing cache
+ if ( typeof name === "object" || typeof name === "function" ) {
+ if ( pvt ) {
+ cache[ id ] = jQuery.extend( cache[ id ], name );
+ } else {
+ cache[ id ].data = jQuery.extend( cache[ id ].data, name );
+ }
+ }
+
+ thisCache = cache[ id ];
+
+ // jQuery data() is stored in a separate object inside the object's internal data
+ // cache in order to avoid key collisions between internal data and user-defined
+ // data.
+ if ( !pvt ) {
+ if ( !thisCache.data ) {
+ thisCache.data = {};
+ }
+
+ thisCache = thisCache.data;
+ }
+
+ if ( data !== undefined ) {
+ thisCache[ jQuery.camelCase( name ) ] = data;
+ }
+
+ // Check for both converted-to-camel and non-converted data property names
+ // If a data property was specified
+ if ( typeof name === "string" ) {
+
+ // First Try to find as-is property data
+ ret = thisCache[ name ];
+
+ // Test for null|undefined property data
+ if ( ret == null ) {
+
+ // Try to find the camelCased property
+ ret = thisCache[ jQuery.camelCase( name ) ];
+ }
+ } else {
+ ret = thisCache;
+ }
+
+ return ret;
+}
+
+function internalRemoveData( elem, name, pvt ) {
+ if ( !jQuery.acceptData( elem ) ) {
+ return;
+ }
+
+ var thisCache, i,
+ isNode = elem.nodeType,
+
+ // See jQuery.data for more information
+ cache = isNode ? jQuery.cache : elem,
+ id = isNode ? elem[ jQuery.expando ] : jQuery.expando;
+
+ // If there is already no cache entry for this object, there is no
+ // purpose in continuing
+ if ( !cache[ id ] ) {
+ return;
+ }
+
+ if ( name ) {
+
+ thisCache = pvt ? cache[ id ] : cache[ id ].data;
+
+ if ( thisCache ) {
+
+ // Support array or space separated string names for data keys
+ if ( !jQuery.isArray( name ) ) {
+
+ // try the string as a key before any manipulation
+ if ( name in thisCache ) {
+ name = [ name ];
+ } else {
+
+ // split the camel cased version by spaces unless a key with the spaces exists
+ name = jQuery.camelCase( name );
+ if ( name in thisCache ) {
+ name = [ name ];
+ } else {
+ name = name.split(" ");
+ }
+ }
+ } else {
+ // If "name" is an array of keys...
+ // When data is initially created, via ("key", "val") signature,
+ // keys will be converted to camelCase.
+ // Since there is no way to tell _how_ a key was added, remove
+ // both plain key and camelCase key. #12786
+ // This will only penalize the array argument path.
+ name = name.concat( jQuery.map( name, jQuery.camelCase ) );
+ }
+
+ i = name.length;
+ while ( i-- ) {
+ delete thisCache[ name[i] ];
+ }
+
+ // If there is no data left in the cache, we want to continue
+ // and let the cache object itself get destroyed
+ if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) {
+ return;
+ }
+ }
+ }
+
+ // See jQuery.data for more information
+ if ( !pvt ) {
+ delete cache[ id ].data;
+
+ // Don't destroy the parent cache unless the internal data object
+ // had been the only thing left in it
+ if ( !isEmptyDataObject( cache[ id ] ) ) {
+ return;
+ }
+ }
+
+ // Destroy the cache
+ if ( isNode ) {
+ jQuery.cleanData( [ elem ], true );
+
+ // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)
+ /* jshint eqeqeq: false */
+ } else if ( support.deleteExpando || cache != cache.window ) {
+ /* jshint eqeqeq: true */
+ delete cache[ id ];
+
+ // When all else fails, null
+ } else {
+ cache[ id ] = null;
+ }
+}
+
+jQuery.extend({
+ cache: {},
+
+ // The following elements (space-suffixed to avoid Object.prototype collisions)
+ // throw uncatchable exceptions if you attempt to set expando properties
+ noData: {
+ "applet ": true,
+ "embed ": true,
+ // ...but Flash objects (which have this classid) *can* handle expandos
+ "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
+ },
+
+ hasData: function( elem ) {
+ elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
+ return !!elem && !isEmptyDataObject( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return internalData( elem, name, data );
+ },
+
+ removeData: function( elem, name ) {
+ return internalRemoveData( elem, name );
+ },
+
+ // For internal use only.
+ _data: function( elem, name, data ) {
+ return internalData( elem, name, data, true );
+ },
+
+ _removeData: function( elem, name ) {
+ return internalRemoveData( elem, name, true );
+ }
+});
+
+jQuery.fn.extend({
+ data: function( key, value ) {
+ var i, name, data,
+ elem = this[0],
+ attrs = elem && elem.attributes;
+
+ // Special expections of .data basically thwart jQuery.access,
+ // so implement the relevant behavior ourselves
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = jQuery.data( elem );
+
+ if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) {
+ i = attrs.length;
+ while ( i-- ) {
+
+ // Support: IE11+
+ // The attrs elements can be null (#14894)
+ if ( attrs[ i ] ) {
+ name = attrs[ i ].name;
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = jQuery.camelCase( name.slice(5) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ }
+ jQuery._data( elem, "parsedAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each(function() {
+ jQuery.data( this, key );
+ });
+ }
+
+ return arguments.length > 1 ?
+
+ // Sets one value
+ this.each(function() {
+ jQuery.data( this, key, value );
+ }) :
+
+ // Gets one value
+ // Try to fetch any internally stored data first
+ elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined;
+ },
+
+ removeData: function( key ) {
+ return this.each(function() {
+ jQuery.removeData( this, key );
+ });
+ }
+});
+
+
+jQuery.extend({
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = jQuery._data( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || jQuery.isArray(data) ) {
+ queue = jQuery._data( elem, type, jQuery.makeArray(data) );
+ } else {
+ queue.push( data );
+ }
+ }
+ return queue || [];
+ }
+ },
+
+ dequeue: function( elem, type ) {
+ type = type || "fx";
+
+ var queue = jQuery.queue( elem, type ),
+ startLength = queue.length,
+ fn = queue.shift(),
+ hooks = jQuery._queueHooks( elem, type ),
+ next = function() {
+ jQuery.dequeue( elem, type );
+ };
+
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ startLength--;
+ }
+
+ if ( fn ) {
+
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift( "inprogress" );
+ }
+
+ // clear up the last queue stop function
+ delete hooks.stop;
+ fn.call( elem, next, hooks );
+ }
+
+ if ( !startLength && hooks ) {
+ hooks.empty.fire();
+ }
+ },
+
+ // not intended for public consumption - generates a queueHooks object, or returns the current one
+ _queueHooks: function( elem, type ) {
+ var key = type + "queueHooks";
+ return jQuery._data( elem, key ) || jQuery._data( elem, key, {
+ empty: jQuery.Callbacks("once memory").add(function() {
+ jQuery._removeData( elem, type + "queue" );
+ jQuery._removeData( elem, key );
+ })
+ });
+ }
+});
+
+jQuery.fn.extend({
+ queue: function( type, data ) {
+ var setter = 2;
+
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ setter--;
+ }
+
+ if ( arguments.length < setter ) {
+ return jQuery.queue( this[0], type );
+ }
+
+ return data === undefined ?
+ this :
+ this.each(function() {
+ var queue = jQuery.queue( this, type, data );
+
+ // ensure a hooks for this queue
+ jQuery._queueHooks( this, type );
+
+ if ( type === "fx" && queue[0] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ });
+ },
+ dequeue: function( type ) {
+ return this.each(function() {
+ jQuery.dequeue( this, type );
+ });
+ },
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ },
+ // Get a promise resolved when queues of a certain type
+ // are emptied (fx is the type by default)
+ promise: function( type, obj ) {
+ var tmp,
+ count = 1,
+ defer = jQuery.Deferred(),
+ elements = this,
+ i = this.length,
+ resolve = function() {
+ if ( !( --count ) ) {
+ defer.resolveWith( elements, [ elements ] );
+ }
+ };
+
+ if ( typeof type !== "string" ) {
+ obj = type;
+ type = undefined;
+ }
+ type = type || "fx";
+
+ while ( i-- ) {
+ tmp = jQuery._data( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+});
+var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var isHidden = function( elem, el ) {
+ // isHidden might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+ return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
+ };
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ length = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( jQuery.type( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !jQuery.isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < length; i++ ) {
+ fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
+ }
+ }
+ }
+
+ return chainable ?
+ elems :
+
+ // Gets
+ bulk ?
+ fn.call( elems ) :
+ length ? fn( elems[0], key ) : emptyGet;
+};
+var rcheckableType = (/^(?:checkbox|radio)$/i);
+
+
+
+(function() {
+ // Minified: var a,b,c
+ var input = document.createElement( "input" ),
+ div = document.createElement( "div" ),
+ fragment = document.createDocumentFragment();
+
+ // Setup
+ div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
+
+ // IE strips leading whitespace when .innerHTML is used
+ support.leadingWhitespace = div.firstChild.nodeType === 3;
+
+ // Make sure that tbody elements aren't automatically inserted
+ // IE will insert them into empty tables
+ support.tbody = !div.getElementsByTagName( "tbody" ).length;
+
+ // Make sure that link elements get serialized correctly by innerHTML
+ // This requires a wrapper element in IE
+ support.htmlSerialize = !!div.getElementsByTagName( "link" ).length;
+
+ // Makes sure cloning an html5 element does not cause problems
+ // Where outerHTML is undefined, this still works
+ support.html5Clone =
+ document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav></:nav>";
+
+ // Check if a disconnected checkbox will retain its checked
+ // value of true after appended to the DOM (IE6/7)
+ input.type = "checkbox";
+ input.checked = true;
+ fragment.appendChild( input );
+ support.appendChecked = input.checked;
+
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ // Support: IE6-IE11+
+ div.innerHTML = "<textarea>x</textarea>";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+
+ // #11217 - WebKit loses check when the name is after the checked attribute
+ fragment.appendChild( div );
+ div.innerHTML = "<input type='radio' checked='checked' name='t'/>";
+
+ // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3
+ // old WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE<9
+ // Opera does not clone events (and typeof div.attachEvent === undefined).
+ // IE9-10 clones events bound via attachEvent, but they don't trigger with .click()
+ support.noCloneEvent = true;
+ if ( div.attachEvent ) {
+ div.attachEvent( "onclick", function() {
+ support.noCloneEvent = false;
+ });
+
+ div.cloneNode( true ).click();
+ }
+
+ // Execute the test only if not already executed in another module.
+ if (support.deleteExpando == null) {
+ // Support: IE<9
+ support.deleteExpando = true;
+ try {
+ delete div.test;
+ } catch( e ) {
+ support.deleteExpando = false;
+ }
+ }
+})();
+
+
+(function() {
+ var i, eventName,
+ div = document.createElement( "div" );
+
+ // Support: IE<9 (lack submit/change bubble), Firefox 23+ (lack focusin event)
+ for ( i in { submit: true, change: true, focusin: true }) {
+ eventName = "on" + i;
+
+ if ( !(support[ i + "Bubbles" ] = eventName in window) ) {
+ // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP)
+ div.setAttribute( eventName, "t" );
+ support[ i + "Bubbles" ] = div.attributes[ eventName ].expando === false;
+ }
+ }
+
+ // Null elements to avoid leaks in IE.
+ div = null;
+})();
+
+
+var rformElems = /^(?:input|select|textarea)$/i,
+ rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,
+ rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+ var tmp, events, t, handleObjIn,
+ special, eventHandle, handleObj,
+ handlers, type, namespaces, origType,
+ elemData = jQuery._data( elem );
+
+ // Don't attach events to noData or text/comment nodes (but allow plain objects)
+ if ( !elemData ) {
+ return;
+ }
+
+ // Caller can pass in an object of custom data in lieu of the handler
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ selector = handleObjIn.selector;
+ }
+
+ // Make sure that the handler has a unique ID, used to find/remove it later
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
+
+ // Init the element's event structure and main handler, if this is the first
+ if ( !(events = elemData.events) ) {
+ events = elemData.events = {};
+ }
+ if ( !(eventHandle = elemData.handle) ) {
+ eventHandle = elemData.handle = function( e ) {
+ // Discard the second event of a jQuery.event.trigger() and
+ // when an event is called after a page has unloaded
+ return typeof jQuery !== strundefined && (!e || jQuery.event.triggered !== e.type) ?
+ jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
+ undefined;
+ };
+ // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
+ eventHandle.elem = elem;
+ }
+
+ // Handle multiple events separated by a space
+ types = ( types || "" ).match( rnotwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[t] ) || [];
+ type = origType = tmp[1];
+ namespaces = ( tmp[2] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
+
+ // If event changes its type, use the special event handlers for the changed type
+ special = jQuery.event.special[ type ] || {};
+
+ // If selector defined, determine special event api type, otherwise given type
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+
+ // Update special based on newly reset type
+ special = jQuery.event.special[ type ] || {};
+
+ // handleObj is passed to all event handlers
+ handleObj = jQuery.extend({
+ type: type,
+ origType: origType,
+ data: data,
+ handler: handler,
+ guid: handler.guid,
+ selector: selector,
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+ namespace: namespaces.join(".")
+ }, handleObjIn );
+
+ // Init the event handler queue if we're the first
+ if ( !(handlers = events[ type ]) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener/attachEvent if the special events handler returns false
+ if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+ // Bind the global event handler to the element
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle, false );
+
+ } else if ( elem.attachEvent ) {
+ elem.attachEvent( "on" + type, eventHandle );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
+ // Add to the element's handler list, delegates in front
+ if ( selector ) {
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
+ } else {
+ handlers.push( handleObj );
+ }
+
+ // Keep track of which events have ever been used, for event optimization
+ jQuery.event.global[ type ] = true;
+ }
+
+ // Nullify elem to prevent memory leaks in IE
+ elem = null;
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+ var j, handleObj, tmp,
+ origCount, t, events,
+ special, handlers, type,
+ namespaces, origType,
+ elemData = jQuery.hasData( elem ) && jQuery._data( elem );
+
+ if ( !elemData || !(events = elemData.events) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( rnotwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[t] ) || [];
+ type = origType = tmp[1];
+ namespaces = ( tmp[2] || "" ).split( "." ).sort();
+
+ // Unbind all events (on this namespace, if provided) for the element
+ if ( !type ) {
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+ }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+ handlers = events[ type ] || [];
+ tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.delegateCount--;
+ }
+ if ( special.remove ) {
+ special.remove.call( elem, handleObj );
+ }
+ }
+ }
+
+ // Remove generic event handler if we removed something and no more handlers exist
+ // (avoids potential for endless recursion during removal of special event handlers)
+ if ( origCount && !handlers.length ) {
+ if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+ jQuery.removeEvent( elem, type, elemData.handle );
+ }
+
+ delete events[ type ];
+ }
+ }
+
+ // Remove the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ delete elemData.handle;
+
+ // removeData also checks for emptiness and clears the expando if empty
+ // so use it instead of delete
+ jQuery._removeData( elem, "events" );
+ }
+ },
+
+ trigger: function( event, data, elem, onlyHandlers ) {
+ var handle, ontype, cur,
+ bubbleType, special, tmp, i,
+ eventPath = [ elem || document ],
+ type = hasOwn.call( event, "type" ) ? event.type : event,
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : [];
+
+ cur = tmp = elem = elem || document;
+
+ // Don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+ return;
+ }
+
+ if ( type.indexOf(".") >= 0 ) {
+ // Namespaced trigger; create a regexp to match event type in handle()
+ namespaces = type.split(".");
+ type = namespaces.shift();
+ namespaces.sort();
+ }
+ ontype = type.indexOf(":") < 0 && "on" + type;
+
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
+ event = event[ jQuery.expando ] ?
+ event :
+ new jQuery.Event( type, typeof event === "object" && event );
+
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+ event.isTrigger = onlyHandlers ? 2 : 3;
+ event.namespace = namespaces.join(".");
+ event.namespace_re = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) :
+ null;
+
+ // Clean up the event in case it is being reused
+ event.result = undefined;
+ if ( !event.target ) {
+ event.target = elem;
+ }
+
+ // Clone any incoming data and prepend the event, creating the handler arg list
+ data = data == null ?
+ [ event ] :
+ jQuery.makeArray( data, [ event ] );
+
+ // Allow special events to draw outside the lines
+ special = jQuery.event.special[ type ] || {};
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+ return;
+ }
+
+ // Determine event propagation path in advance, per W3C events spec (#9951)
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+ if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+ bubbleType = special.delegateType || type;
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
+ cur = cur.parentNode;
+ }
+ for ( ; cur; cur = cur.parentNode ) {
+ eventPath.push( cur );
+ tmp = cur;
+ }
+
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
+ if ( tmp === (elem.ownerDocument || document) ) {
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+ }
+ }
+
+ // Fire handlers on the event path
+ i = 0;
+ while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {
+
+ event.type = i > 1 ?
+ bubbleType :
+ special.bindType || type;
+
+ // jQuery handler
+ handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" );
+ if ( handle ) {
+ handle.apply( cur, data );
+ }
+
+ // Native handler
+ handle = ontype && cur[ ontype ];
+ if ( handle && handle.apply && jQuery.acceptData( cur ) ) {
+ event.result = handle.apply( cur, data );
+ if ( event.result === false ) {
+ event.preventDefault();
+ }
+ }
+ }
+ event.type = type;
+
+ // If nobody prevented the default action, do it now
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+ if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) &&
+ jQuery.acceptData( elem ) ) {
+
+ // Call a native DOM method on the target with the same name name as the event.
+ // Can't use an .isFunction() check here because IE6/7 fails that test.
+ // Don't do default actions on window, that's where global variables be (#6170)
+ if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) {
+
+ // Don't re-trigger an onFOO event when we call its FOO() method
+ tmp = elem[ ontype ];
+
+ if ( tmp ) {
+ elem[ ontype ] = null;
+ }
+
+ // Prevent re-triggering of the same event, since we already bubbled it above
+ jQuery.event.triggered = type;
+ try {
+ elem[ type ]();
+ } catch ( e ) {
+ // IE<9 dies on focus/blur to hidden element (#1486,#12518)
+ // only reproducible on winXP IE8 native, not IE9 in IE8 mode
+ }
+ jQuery.event.triggered = undefined;
+
+ if ( tmp ) {
+ elem[ ontype ] = tmp;
+ }
+ }
+ }
+ }
+
+ return event.result;
+ },
+
+ dispatch: function( event ) {
+
+ // Make a writable jQuery.Event from the native event object
+ event = jQuery.event.fix( event );
+
+ var i, ret, handleObj, matched, j,
+ handlerQueue = [],
+ args = slice.call( arguments ),
+ handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
+ args[0] = event;
+ event.delegateTarget = this;
+
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+ return;
+ }
+
+ // Determine handlers
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {
+
+ // Triggered event must either 1) have no namespace, or
+ // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
+ if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
+ .apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( (event.result = ret) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+ }
+ }
+ }
+
+ // Call the postDispatch hook for the mapped type
+ if ( special.postDispatch ) {
+ special.postDispatch.call( this, event );
+ }
+
+ return event.result;
+ },
+
+ handlers: function( event, handlers ) {
+ var sel, handleObj, matches, i,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Find delegate handlers
+ // Black-hole SVG <use> instance trees (#13180)
+ // Avoid non-left-click bubbling in Firefox (#3861)
+ if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) {
+
+ /* jshint eqeqeq: false */
+ for ( ; cur != this; cur = cur.parentNode || this ) {
+ /* jshint eqeqeq: true */
+
+ // Don't check non-elements (#13208)
+ // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+ if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) {
+ matches = [];
+ for ( i = 0; i < delegateCount; i++ ) {
+ handleObj = handlers[ i ];
+
+ // Don't conflict with Object.prototype properties (#13203)
+ sel = handleObj.selector + " ";
+
+ if ( matches[ sel ] === undefined ) {
+ matches[ sel ] = handleObj.needsContext ?
+ jQuery( sel, this ).index( cur ) >= 0 :
+ jQuery.find( sel, this, null, [ cur ] ).length;
+ }
+ if ( matches[ sel ] ) {
+ matches.push( handleObj );
+ }
+ }
+ if ( matches.length ) {
+ handlerQueue.push({ elem: cur, handlers: matches });
+ }
+ }
+ }
+ }
+
+ // Add the remaining (directly-bound) handlers
+ if ( delegateCount < handlers.length ) {
+ handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) });
+ }
+
+ return handlerQueue;
+ },
+
+ fix: function( event ) {
+ if ( event[ jQuery.expando ] ) {
+ return event;
+ }
+
+ // Create a writable copy of the event object and normalize some properties
+ var i, prop, copy,
+ type = event.type,
+ originalEvent = event,
+ fixHook = this.fixHooks[ type ];
+
+ if ( !fixHook ) {
+ this.fixHooks[ type ] = fixHook =
+ rmouseEvent.test( type ) ? this.mouseHooks :
+ rkeyEvent.test( type ) ? this.keyHooks :
+ {};
+ }
+ copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
+
+ event = new jQuery.Event( originalEvent );
+
+ i = copy.length;
+ while ( i-- ) {
+ prop = copy[ i ];
+ event[ prop ] = originalEvent[ prop ];
+ }
+
+ // Support: IE<9
+ // Fix target property (#1925)
+ if ( !event.target ) {
+ event.target = originalEvent.srcElement || document;
+ }
+
+ // Support: Chrome 23+, Safari?
+ // Target should not be a text node (#504, #13143)
+ if ( event.target.nodeType === 3 ) {
+ event.target = event.target.parentNode;
+ }
+
+ // Support: IE<9
+ // For mouse/key events, metaKey==false if it's undefined (#3368, #11328)
+ event.metaKey = !!event.metaKey;
+
+ return fixHook.filter ? fixHook.filter( event, originalEvent ) : event;
+ },
+
+ // Includes some event props shared by KeyEvent and MouseEvent
+ props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
+
+ fixHooks: {},
+
+ keyHooks: {
+ props: "char charCode key keyCode".split(" "),
+ filter: function( event, original ) {
+
+ // Add which for key events
+ if ( event.which == null ) {
+ event.which = original.charCode != null ? original.charCode : original.keyCode;
+ }
+
+ return event;
+ }
+ },
+
+ mouseHooks: {
+ props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
+ filter: function( event, original ) {
+ var body, eventDoc, doc,
+ button = original.button,
+ fromElement = original.fromElement;
+
+ // Calculate pageX/Y if missing and clientX/Y available
+ if ( event.pageX == null && original.clientX != null ) {
+ eventDoc = event.target.ownerDocument || document;
+ doc = eventDoc.documentElement;
+ body = eventDoc.body;
+
+ event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
+ event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );
+ }
+
+ // Add relatedTarget, if necessary
+ if ( !event.relatedTarget && fromElement ) {
+ event.relatedTarget = fromElement === event.target ? original.toElement : fromElement;
+ }
+
+ // Add which for click: 1 === left; 2 === middle; 3 === right
+ // Note: button is not normalized, so don't use it
+ if ( !event.which && button !== undefined ) {
+ event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
+ }
+
+ return event;
+ }
+ },
+
+ special: {
+ load: {
+ // Prevent triggered image.load events from bubbling to window.load
+ noBubble: true
+ },
+ focus: {
+ // Fire native event if possible so blur/focus sequence is correct
+ trigger: function() {
+ if ( this !== safeActiveElement() && this.focus ) {
+ try {
+ this.focus();
+ return false;
+ } catch ( e ) {
+ // Support: IE<9
+ // If we error on focus to hidden element (#1486, #12518),
+ // let .trigger() run the handlers
+ }
+ }
+ },
+ delegateType: "focusin"
+ },
+ blur: {
+ trigger: function() {
+ if ( this === safeActiveElement() && this.blur ) {
+ this.blur();
+ return false;
+ }
+ },
+ delegateType: "focusout"
+ },
+ click: {
+ // For checkbox, fire native event so checked state will be right
+ trigger: function() {
+ if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) {
+ this.click();
+ return false;
+ }
+ },
+
+ // For cross-browser consistency, don't fire native .click() on links
+ _default: function( event ) {
+ return jQuery.nodeName( event.target, "a" );
+ }
+ },
+
+ beforeunload: {
+ postDispatch: function( event ) {
+
+ // Support: Firefox 20+
+ // Firefox doesn't alert if the returnValue field is not set.
+ if ( event.result !== undefined && event.originalEvent ) {
+ event.originalEvent.returnValue = event.result;
+ }
+ }
+ }
+ },
+
+ simulate: function( type, elem, event, bubble ) {
+ // Piggyback on a donor event to simulate a different one.
+ // Fake originalEvent to avoid donor's stopPropagation, but if the
+ // simulated event prevents default then we do the same on the donor.
+ var e = jQuery.extend(
+ new jQuery.Event(),
+ event,
+ {
+ type: type,
+ isSimulated: true,
+ originalEvent: {}
+ }
+ );
+ if ( bubble ) {
+ jQuery.event.trigger( e, null, elem );
+ } else {
+ jQuery.event.dispatch.call( elem, e );
+ }
+ if ( e.isDefaultPrevented() ) {
+ event.preventDefault();
+ }
+ }
+};
+
+jQuery.removeEvent = document.removeEventListener ?
+ function( elem, type, handle ) {
+ if ( elem.removeEventListener ) {
+ elem.removeEventListener( type, handle, false );
+ }
+ } :
+ function( elem, type, handle ) {
+ var name = "on" + type;
+
+ if ( elem.detachEvent ) {
+
+ // #8545, #7054, preventing memory leaks for custom events in IE6-8
+ // detachEvent needed property on element, by name of that event, to properly expose it to GC
+ if ( typeof elem[ name ] === strundefined ) {
+ elem[ name ] = null;
+ }
+
+ elem.detachEvent( name, handle );
+ }
+ };
+
+jQuery.Event = function( src, props ) {
+ // Allow instantiation without the 'new' keyword
+ if ( !(this instanceof jQuery.Event) ) {
+ return new jQuery.Event( src, props );
+ }
+
+ // Event object
+ if ( src && src.type ) {
+ this.originalEvent = src;
+ this.type = src.type;
+
+ // Events bubbling up the document may have been marked as prevented
+ // by a handler lower down the tree; reflect the correct value.
+ this.isDefaultPrevented = src.defaultPrevented ||
+ src.defaultPrevented === undefined &&
+ // Support: IE < 9, Android < 4.0
+ src.returnValue === false ?
+ returnTrue :
+ returnFalse;
+
+ // Event type
+ } else {
+ this.type = src;
+ }
+
+ // Put explicitly provided properties onto the event object
+ if ( props ) {
+ jQuery.extend( this, props );
+ }
+
+ // Create a timestamp if incoming event doesn't have one
+ this.timeStamp = src && src.timeStamp || jQuery.now();
+
+ // Mark it as fixed
+ this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+ isDefaultPrevented: returnFalse,
+ isPropagationStopped: returnFalse,
+ isImmediatePropagationStopped: returnFalse,
+
+ preventDefault: function() {
+ var e = this.originalEvent;
+
+ this.isDefaultPrevented = returnTrue;
+ if ( !e ) {
+ return;
+ }
+
+ // If preventDefault exists, run it on the original event
+ if ( e.preventDefault ) {
+ e.preventDefault();
+
+ // Support: IE
+ // Otherwise set the returnValue property of the original event to false
+ } else {
+ e.returnValue = false;
+ }
+ },
+ stopPropagation: function() {
+ var e = this.originalEvent;
+
+ this.isPropagationStopped = returnTrue;
+ if ( !e ) {
+ return;
+ }
+ // If stopPropagation exists, run it on the original event
+ if ( e.stopPropagation ) {
+ e.stopPropagation();
+ }
+
+ // Support: IE
+ // Set the cancelBubble property of the original event to true
+ e.cancelBubble = true;
+ },
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
+
+ this.isImmediatePropagationStopped = returnTrue;
+
+ if ( e && e.stopImmediatePropagation ) {
+ e.stopImmediatePropagation();
+ }
+
+ this.stopPropagation();
+ }
+};
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+jQuery.each({
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+}, function( orig, fix ) {
+ jQuery.event.special[ orig ] = {
+ delegateType: fix,
+ bindType: fix,
+
+ handle: function( event ) {
+ var ret,
+ target = this,
+ related = event.relatedTarget,
+ handleObj = event.handleObj;
+
+ // For mousenter/leave call the handler if related is outside the target.
+ // NB: No relatedTarget if the mouse left/entered the browser window
+ if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
+ event.type = handleObj.origType;
+ ret = handleObj.handler.apply( this, arguments );
+ event.type = fix;
+ }
+ return ret;
+ }
+ };
+});
+
+// IE submit delegation
+if ( !support.submitBubbles ) {
+
+ jQuery.event.special.submit = {
+ setup: function() {
+ // Only need this for delegated form submit events
+ if ( jQuery.nodeName( this, "form" ) ) {
+ return false;
+ }
+
+ // Lazy-add a submit handler when a descendant form may potentially be submitted
+ jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
+ // Node name check avoids a VML-related crash in IE (#9807)
+ var elem = e.target,
+ form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined;
+ if ( form && !jQuery._data( form, "submitBubbles" ) ) {
+ jQuery.event.add( form, "submit._submit", function( event ) {
+ event._submit_bubble = true;
+ });
+ jQuery._data( form, "submitBubbles", true );
+ }
+ });
+ // return undefined since we don't need an event listener
+ },
+
+ postDispatch: function( event ) {
+ // If form was submitted by the user, bubble the event up the tree
+ if ( event._submit_bubble ) {
+ delete event._submit_bubble;
+ if ( this.parentNode && !event.isTrigger ) {
+ jQuery.event.simulate( "submit", this.parentNode, event, true );
+ }
+ }
+ },
+
+ teardown: function() {
+ // Only need this for delegated form submit events
+ if ( jQuery.nodeName( this, "form" ) ) {
+ return false;
+ }
+
+ // Remove delegated handlers; cleanData eventually reaps submit handlers attached above
+ jQuery.event.remove( this, "._submit" );
+ }
+ };
+}
+
+// IE change delegation and checkbox/radio fix
+if ( !support.changeBubbles ) {
+
+ jQuery.event.special.change = {
+
+ setup: function() {
+
+ if ( rformElems.test( this.nodeName ) ) {
+ // IE doesn't fire change on a check/radio until blur; trigger it on click
+ // after a propertychange. Eat the blur-change in special.change.handle.
+ // This still fires onchange a second time for check/radio after blur.
+ if ( this.type === "checkbox" || this.type === "radio" ) {
+ jQuery.event.add( this, "propertychange._change", function( event ) {
+ if ( event.originalEvent.propertyName === "checked" ) {
+ this._just_changed = true;
+ }
+ });
+ jQuery.event.add( this, "click._change", function( event ) {
+ if ( this._just_changed && !event.isTrigger ) {
+ this._just_changed = false;
+ }
+ // Allow triggered, simulated change events (#11500)
+ jQuery.event.simulate( "change", this, event, true );
+ });
+ }
+ return false;
+ }
+ // Delegated event; lazy-add a change handler on descendant inputs
+ jQuery.event.add( this, "beforeactivate._change", function( e ) {
+ var elem = e.target;
+
+ if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) {
+ jQuery.event.add( elem, "change._change", function( event ) {
+ if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
+ jQuery.event.simulate( "change", this.parentNode, event, true );
+ }
+ });
+ jQuery._data( elem, "changeBubbles", true );
+ }
+ });
+ },
+
+ handle: function( event ) {
+ var elem = event.target;
+
+ // Swallow native change events from checkbox/radio, we already triggered them above
+ if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {
+ return event.handleObj.handler.apply( this, arguments );
+ }
+ },
+
+ teardown: function() {
+ jQuery.event.remove( this, "._change" );
+
+ return !rformElems.test( this.nodeName );
+ }
+ };
+}
+
+// Create "bubbling" focus and blur events
+if ( !support.focusinBubbles ) {
+ jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+ // Attach a single capturing handler on the document while someone wants focusin/focusout
+ var handler = function( event ) {
+ jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
+ };
+
+ jQuery.event.special[ fix ] = {
+ setup: function() {
+ var doc = this.ownerDocument || this,
+ attaches = jQuery._data( doc, fix );
+
+ if ( !attaches ) {
+ doc.addEventListener( orig, handler, true );
+ }
+ jQuery._data( doc, fix, ( attaches || 0 ) + 1 );
+ },
+ teardown: function() {
+ var doc = this.ownerDocument || this,
+ attaches = jQuery._data( doc, fix ) - 1;
+
+ if ( !attaches ) {
+ doc.removeEventListener( orig, handler, true );
+ jQuery._removeData( doc, fix );
+ } else {
+ jQuery._data( doc, fix, attaches );
+ }
+ }
+ };
+ });
+}
+
+jQuery.fn.extend({
+
+ on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
+ var type, origFn;
+
+ // Types can be a map of types/handlers
+ if ( typeof types === "object" ) {
+ // ( types-Object, selector, data )
+ if ( typeof selector !== "string" ) {
+ // ( types-Object, data )
+ data = data || selector;
+ selector = undefined;
+ }
+ for ( type in types ) {
+ this.on( type, selector, data, types[ type ], one );
+ }
+ return this;
+ }
+
+ if ( data == null && fn == null ) {
+ // ( types, fn )
+ fn = selector;
+ data = selector = undefined;
+ } else if ( fn == null ) {
+ if ( typeof selector === "string" ) {
+ // ( types, selector, fn )
+ fn = data;
+ data = undefined;
+ } else {
+ // ( types, data, fn )
+ fn = data;
+ data = selector;
+ selector = undefined;
+ }
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ } else if ( !fn ) {
+ return this;
+ }
+
+ if ( one === 1 ) {
+ origFn = fn;
+ fn = function( event ) {
+ // Can use an empty set, since event contains the info
+ jQuery().off( event );
+ return origFn.apply( this, arguments );
+ };
+ // Use same guid so caller can remove using origFn
+ fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+ }
+ return this.each( function() {
+ jQuery.event.add( this, types, fn, data, selector );
+ });
+ },
+ one: function( types, selector, data, fn ) {
+ return this.on( types, selector, data, fn, 1 );
+ },
+ off: function( types, selector, fn ) {
+ var handleObj, type;
+ if ( types && types.preventDefault && types.handleObj ) {
+ // ( event ) dispatched jQuery.Event
+ handleObj = types.handleObj;
+ jQuery( types.delegateTarget ).off(
+ handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType,
+ handleObj.selector,
+ handleObj.handler
+ );
+ return this;
+ }
+ if ( typeof types === "object" ) {
+ // ( types-object [, selector] )
+ for ( type in types ) {
+ this.off( type, selector, types[ type ] );
+ }
+ return this;
+ }
+ if ( selector === false || typeof selector === "function" ) {
+ // ( types [, fn] )
+ fn = selector;
+ selector = undefined;
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ }
+ return this.each(function() {
+ jQuery.event.remove( this, types, fn, selector );
+ });
+ },
+
+ trigger: function( type, data ) {
+ return this.each(function() {
+ jQuery.event.trigger( type, data, this );
+ });
+ },
+ triggerHandler: function( type, data ) {
+ var elem = this[0];
+ if ( elem ) {
+ return jQuery.event.trigger( type, data, elem, true );
+ }
+ }
+});
+
+
+function createSafeFragment( document ) {
+ var list = nodeNames.split( "|" ),
+ safeFrag = document.createDocumentFragment();
+
+ if ( safeFrag.createElement ) {
+ while ( list.length ) {
+ safeFrag.createElement(
+ list.pop()
+ );
+ }
+ }
+ return safeFrag;
+}
+
+var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" +
+ "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
+ rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g,
+ rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"),
+ rleadingWhitespace = /^\s+/,
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
+ rtagName = /<([\w:]+)/,
+ rtbody = /<tbody/i,
+ rhtml = /<|&#?\w+;/,
+ rnoInnerhtml = /<(?:script|style|link)/i,
+ // checked="checked" or checked
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+ rscriptType = /^$|\/(?:java|ecma)script/i,
+ rscriptTypeMasked = /^true\/(.*)/,
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
+
+ // We have to close these tags to support XHTML (#13200)
+ wrapMap = {
+ option: [ 1, "<select multiple='multiple'>", "</select>" ],
+ legend: [ 1, "<fieldset>", "</fieldset>" ],
+ area: [ 1, "<map>", "</map>" ],
+ param: [ 1, "<object>", "</object>" ],
+ thead: [ 1, "<table>", "</table>" ],
+ tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+ col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
+ td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+ // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,
+ // unless wrapped in a div with non-breaking characters in front of it.
+ _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ]
+ },
+ safeFragment = createSafeFragment( document ),
+ fragmentDiv = safeFragment.appendChild( document.createElement("div") );
+
+wrapMap.optgroup = wrapMap.option;
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+function getAll( context, tag ) {
+ var elems, elem,
+ i = 0,
+ found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) :
+ typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) :
+ undefined;
+
+ if ( !found ) {
+ for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) {
+ if ( !tag || jQuery.nodeName( elem, tag ) ) {
+ found.push( elem );
+ } else {
+ jQuery.merge( found, getAll( elem, tag ) );
+ }
+ }
+ }
+
+ return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
+ jQuery.merge( [ context ], found ) :
+ found;
+}
+
+// Used in buildFragment, fixes the defaultChecked property
+function fixDefaultChecked( elem ) {
+ if ( rcheckableType.test( elem.type ) ) {
+ elem.defaultChecked = elem.checked;
+ }
+}
+
+// Support: IE<8
+// Manipulating tables requires a tbody
+function manipulationTarget( elem, content ) {
+ return jQuery.nodeName( elem, "table" ) &&
+ jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ?
+
+ elem.getElementsByTagName("tbody")[0] ||
+ elem.appendChild( elem.ownerDocument.createElement("tbody") ) :
+ elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+ elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type;
+ return elem;
+}
+function restoreScript( elem ) {
+ var match = rscriptTypeMasked.exec( elem.type );
+ if ( match ) {
+ elem.type = match[1];
+ } else {
+ elem.removeAttribute("type");
+ }
+ return elem;
+}
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+ var elem,
+ i = 0;
+ for ( ; (elem = elems[i]) != null; i++ ) {
+ jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) );
+ }
+}
+
+function cloneCopyEvent( src, dest ) {
+
+ if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
+ return;
+ }
+
+ var type, i, l,
+ oldData = jQuery._data( src ),
+ curData = jQuery._data( dest, oldData ),
+ events = oldData.events;
+
+ if ( events ) {
+ delete curData.handle;
+ curData.events = {};
+
+ for ( type in events ) {
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+ jQuery.event.add( dest, type, events[ type ][ i ] );
+ }
+ }
+ }
+
+ // make the cloned public data object a copy from the original
+ if ( curData.data ) {
+ curData.data = jQuery.extend( {}, curData.data );
+ }
+}
+
+function fixCloneNodeIssues( src, dest ) {
+ var nodeName, e, data;
+
+ // We do not need to do anything for non-Elements
+ if ( dest.nodeType !== 1 ) {
+ return;
+ }
+
+ nodeName = dest.nodeName.toLowerCase();
+
+ // IE6-8 copies events bound via attachEvent when using cloneNode.
+ if ( !support.noCloneEvent && dest[ jQuery.expando ] ) {
+ data = jQuery._data( dest );
+
+ for ( e in data.events ) {
+ jQuery.removeEvent( dest, e, data.handle );
+ }
+
+ // Event data gets referenced instead of copied if the expando gets copied too
+ dest.removeAttribute( jQuery.expando );
+ }
+
+ // IE blanks contents when cloning scripts, and tries to evaluate newly-set text
+ if ( nodeName === "script" && dest.text !== src.text ) {
+ disableScript( dest ).text = src.text;
+ restoreScript( dest );
+
+ // IE6-10 improperly clones children of object elements using classid.
+ // IE10 throws NoModificationAllowedError if parent is null, #12132.
+ } else if ( nodeName === "object" ) {
+ if ( dest.parentNode ) {
+ dest.outerHTML = src.outerHTML;
+ }
+
+ // This path appears unavoidable for IE9. When cloning an object
+ // element in IE9, the outerHTML strategy above is not sufficient.
+ // If the src has innerHTML and the destination does not,
+ // copy the src.innerHTML into the dest.innerHTML. #10324
+ if ( support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) {
+ dest.innerHTML = src.innerHTML;
+ }
+
+ } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+ // IE6-8 fails to persist the checked state of a cloned checkbox
+ // or radio button. Worse, IE6-7 fail to give the cloned element
+ // a checked appearance if the defaultChecked value isn't also set
+
+ dest.defaultChecked = dest.checked = src.checked;
+
+ // IE6-7 get confused and end up setting the value of a cloned
+ // checkbox/radio button to an empty string instead of "on"
+ if ( dest.value !== src.value ) {
+ dest.value = src.value;
+ }
+
+ // IE6-8 fails to return the selected option to the default selected
+ // state when cloning options
+ } else if ( nodeName === "option" ) {
+ dest.defaultSelected = dest.selected = src.defaultSelected;
+
+ // IE6-8 fails to set the defaultValue to the correct value when
+ // cloning other types of input fields
+ } else if ( nodeName === "input" || nodeName === "textarea" ) {
+ dest.defaultValue = src.defaultValue;
+ }
+}
+
+jQuery.extend({
+ clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+ var destElements, node, clone, i, srcElements,
+ inPage = jQuery.contains( elem.ownerDocument, elem );
+
+ if ( support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) {
+ clone = elem.cloneNode( true );
+
+ // IE<=8 does not properly clone detached, unknown element nodes
+ } else {
+ fragmentDiv.innerHTML = elem.outerHTML;
+ fragmentDiv.removeChild( clone = fragmentDiv.firstChild );
+ }
+
+ if ( (!support.noCloneEvent || !support.noCloneChecked) &&
+ (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
+
+ // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
+ destElements = getAll( clone );
+ srcElements = getAll( elem );
+
+ // Fix all IE cloning issues
+ for ( i = 0; (node = srcElements[i]) != null; ++i ) {
+ // Ensure that the destination node is not null; Fixes #9587
+ if ( destElements[i] ) {
+ fixCloneNodeIssues( node, destElements[i] );
+ }
+ }
+ }
+
+ // Copy the events from the original to the clone
+ if ( dataAndEvents ) {
+ if ( deepDataAndEvents ) {
+ srcElements = srcElements || getAll( elem );
+ destElements = destElements || getAll( clone );
+
+ for ( i = 0; (node = srcElements[i]) != null; i++ ) {
+ cloneCopyEvent( node, destElements[i] );
+ }
+ } else {
+ cloneCopyEvent( elem, clone );
+ }
+ }
+
+ // Preserve script evaluation history
+ destElements = getAll( clone, "script" );
+ if ( destElements.length > 0 ) {
+ setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+ }
+
+ destElements = srcElements = node = null;
+
+ // Return the cloned set
+ return clone;
+ },
+
+ buildFragment: function( elems, context, scripts, selection ) {
+ var j, elem, contains,
+ tmp, tag, tbody, wrap,
+ l = elems.length,
+
+ // Ensure a safe fragment
+ safe = createSafeFragment( context ),
+
+ nodes = [],
+ i = 0;
+
+ for ( ; i < l; i++ ) {
+ elem = elems[ i ];
+
+ if ( elem || elem === 0 ) {
+
+ // Add nodes directly
+ if ( jQuery.type( elem ) === "object" ) {
+ jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+ // Convert non-html into a text node
+ } else if ( !rhtml.test( elem ) ) {
+ nodes.push( context.createTextNode( elem ) );
+
+ // Convert html into DOM nodes
+ } else {
+ tmp = tmp || safe.appendChild( context.createElement("div") );
+
+ // Deserialize a standard representation
+ tag = (rtagName.exec( elem ) || [ "", "" ])[ 1 ].toLowerCase();
+ wrap = wrapMap[ tag ] || wrapMap._default;
+
+ tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2];
+
+ // Descend through wrappers to the right content
+ j = wrap[0];
+ while ( j-- ) {
+ tmp = tmp.lastChild;
+ }
+
+ // Manually add leading whitespace removed by IE
+ if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
+ nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) );
+ }
+
+ // Remove IE's autoinserted <tbody> from table fragments
+ if ( !support.tbody ) {
+
+ // String was a <table>, *may* have spurious <tbody>
+ elem = tag === "table" && !rtbody.test( elem ) ?
+ tmp.firstChild :
+
+ // String was a bare <thead> or <tfoot>
+ wrap[1] === "<table>" && !rtbody.test( elem ) ?
+ tmp :
+ 0;
+
+ j = elem && elem.childNodes.length;
+ while ( j-- ) {
+ if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) {
+ elem.removeChild( tbody );
+ }
+ }
+ }
+
+ jQuery.merge( nodes, tmp.childNodes );
+
+ // Fix #12392 for WebKit and IE > 9
+ tmp.textContent = "";
+
+ // Fix #12392 for oldIE
+ while ( tmp.firstChild ) {
+ tmp.removeChild( tmp.firstChild );
+ }
+
+ // Remember the top-level container for proper cleanup
+ tmp = safe.lastChild;
+ }
+ }
+ }
+
+ // Fix #11356: Clear elements from fragment
+ if ( tmp ) {
+ safe.removeChild( tmp );
+ }
+
+ // Reset defaultChecked for any radios and checkboxes
+ // about to be appended to the DOM in IE 6/7 (#8060)
+ if ( !support.appendChecked ) {
+ jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked );
+ }
+
+ i = 0;
+ while ( (elem = nodes[ i++ ]) ) {
+
+ // #4087 - If origin and destination elements are the same, and this is
+ // that element, do not do anything
+ if ( selection && jQuery.inArray( elem, selection ) !== -1 ) {
+ continue;
+ }
+
+ contains = jQuery.contains( elem.ownerDocument, elem );
+
+ // Append to fragment
+ tmp = getAll( safe.appendChild( elem ), "script" );
+
+ // Preserve script evaluation history
+ if ( contains ) {
+ setGlobalEval( tmp );
+ }
+
+ // Capture executables
+ if ( scripts ) {
+ j = 0;
+ while ( (elem = tmp[ j++ ]) ) {
+ if ( rscriptType.test( elem.type || "" ) ) {
+ scripts.push( elem );
+ }
+ }
+ }
+ }
+
+ tmp = null;
+
+ return safe;
+ },
+
+ cleanData: function( elems, /* internal */ acceptData ) {
+ var elem, type, id, data,
+ i = 0,
+ internalKey = jQuery.expando,
+ cache = jQuery.cache,
+ deleteExpando = support.deleteExpando,
+ special = jQuery.event.special;
+
+ for ( ; (elem = elems[i]) != null; i++ ) {
+ if ( acceptData || jQuery.acceptData( elem ) ) {
+
+ id = elem[ internalKey ];
+ data = id && cache[ id ];
+
+ if ( data ) {
+ if ( data.events ) {
+ for ( type in data.events ) {
+ if ( special[ type ] ) {
+ jQuery.event.remove( elem, type );
+
+ // This is a shortcut to avoid jQuery.event.remove's overhead
+ } else {
+ jQuery.removeEvent( elem, type, data.handle );
+ }
+ }
+ }
+
+ // Remove cache only if it was not already removed by jQuery.event.remove
+ if ( cache[ id ] ) {
+
+ delete cache[ id ];
+
+ // IE does not allow us to delete expando properties from nodes,
+ // nor does it have a removeAttribute function on Document nodes;
+ // we must handle all of these cases
+ if ( deleteExpando ) {
+ delete elem[ internalKey ];
+
+ } else if ( typeof elem.removeAttribute !== strundefined ) {
+ elem.removeAttribute( internalKey );
+
+ } else {
+ elem[ internalKey ] = null;
+ }
+
+ deletedIds.push( id );
+ }
+ }
+ }
+ }
+ }
+});
+
+jQuery.fn.extend({
+ text: function( value ) {
+ return access( this, function( value ) {
+ return value === undefined ?
+ jQuery.text( this ) :
+ this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) );
+ }, null, value, arguments.length );
+ },
+
+ append: function() {
+ return this.domManip( arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.appendChild( elem );
+ }
+ });
+ },
+
+ prepend: function() {
+ return this.domManip( arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.insertBefore( elem, target.firstChild );
+ }
+ });
+ },
+
+ before: function() {
+ return this.domManip( arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this );
+ }
+ });
+ },
+
+ after: function() {
+ return this.domManip( arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this.nextSibling );
+ }
+ });
+ },
+
+ remove: function( selector, keepData /* Internal Use Only */ ) {
+ var elem,
+ elems = selector ? jQuery.filter( selector, this ) : this,
+ i = 0;
+
+ for ( ; (elem = elems[i]) != null; i++ ) {
+
+ if ( !keepData && elem.nodeType === 1 ) {
+ jQuery.cleanData( getAll( elem ) );
+ }
+
+ if ( elem.parentNode ) {
+ if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {
+ setGlobalEval( getAll( elem, "script" ) );
+ }
+ elem.parentNode.removeChild( elem );
+ }
+ }
+
+ return this;
+ },
+
+ empty: function() {
+ var elem,
+ i = 0;
+
+ for ( ; (elem = this[i]) != null; i++ ) {
+ // Remove element nodes and prevent memory leaks
+ if ( elem.nodeType === 1 ) {
+ jQuery.cleanData( getAll( elem, false ) );
+ }
+
+ // Remove any remaining nodes
+ while ( elem.firstChild ) {
+ elem.removeChild( elem.firstChild );
+ }
+
+ // If this is a select, ensure that it displays empty (#12336)
+ // Support: IE<9
+ if ( elem.options && jQuery.nodeName( elem, "select" ) ) {
+ elem.options.length = 0;
+ }
+ }
+
+ return this;
+ },
+
+ clone: function( dataAndEvents, deepDataAndEvents ) {
+ dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+ deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+ return this.map(function() {
+ return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+ });
+ },
+
+ html: function( value ) {
+ return access( this, function( value ) {
+ var elem = this[ 0 ] || {},
+ i = 0,
+ l = this.length;
+
+ if ( value === undefined ) {
+ return elem.nodeType === 1 ?
+ elem.innerHTML.replace( rinlinejQuery, "" ) :
+ undefined;
+ }
+
+ // See if we can take a shortcut and just use innerHTML
+ if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+ ( support.htmlSerialize || !rnoshimcache.test( value ) ) &&
+ ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&
+ !wrapMap[ (rtagName.exec( value ) || [ "", "" ])[ 1 ].toLowerCase() ] ) {
+
+ value = value.replace( rxhtmlTag, "<$1></$2>" );
+
+ try {
+ for (; i < l; i++ ) {
+ // Remove element nodes and prevent memory leaks
+ elem = this[i] || {};
+ if ( elem.nodeType === 1 ) {
+ jQuery.cleanData( getAll( elem, false ) );
+ elem.innerHTML = value;
+ }
+ }
+
+ elem = 0;
+
+ // If using innerHTML throws an exception, use the fallback method
+ } catch(e) {}
+ }
+
+ if ( elem ) {
+ this.empty().append( value );
+ }
+ }, null, value, arguments.length );
+ },
+
+ replaceWith: function() {
+ var arg = arguments[ 0 ];
+
+ // Make the changes, replacing each context element with the new content
+ this.domManip( arguments, function( elem ) {
+ arg = this.parentNode;
+
+ jQuery.cleanData( getAll( this ) );
+
+ if ( arg ) {
+ arg.replaceChild( elem, this );
+ }
+ });
+
+ // Force removal if there was no new content (e.g., from empty arguments)
+ return arg && (arg.length || arg.nodeType) ? this : this.remove();
+ },
+
+ detach: function( selector ) {
+ return this.remove( selector, true );
+ },
+
+ domManip: function( args, callback ) {
+
+ // Flatten any nested arrays
+ args = concat.apply( [], args );
+
+ var first, node, hasScripts,
+ scripts, doc, fragment,
+ i = 0,
+ l = this.length,
+ set = this,
+ iNoClone = l - 1,
+ value = args[0],
+ isFunction = jQuery.isFunction( value );
+
+ // We can't cloneNode fragments that contain checked, in WebKit
+ if ( isFunction ||
+ ( l > 1 && typeof value === "string" &&
+ !support.checkClone && rchecked.test( value ) ) ) {
+ return this.each(function( index ) {
+ var self = set.eq( index );
+ if ( isFunction ) {
+ args[0] = value.call( this, index, self.html() );
+ }
+ self.domManip( args, callback );
+ });
+ }
+
+ if ( l ) {
+ fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this );
+ first = fragment.firstChild;
+
+ if ( fragment.childNodes.length === 1 ) {
+ fragment = first;
+ }
+
+ if ( first ) {
+ scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+ hasScripts = scripts.length;
+
+ // Use the original fragment for the last item instead of the first because it can end up
+ // being emptied incorrectly in certain situations (#8070).
+ for ( ; i < l; i++ ) {
+ node = fragment;
+
+ if ( i !== iNoClone ) {
+ node = jQuery.clone( node, true, true );
+
+ // Keep references to cloned scripts for later restoration
+ if ( hasScripts ) {
+ jQuery.merge( scripts, getAll( node, "script" ) );
+ }
+ }
+
+ callback.call( this[i], node, i );
+ }
+
+ if ( hasScripts ) {
+ doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+ // Reenable scripts
+ jQuery.map( scripts, restoreScript );
+
+ // Evaluate executable scripts on first document insertion
+ for ( i = 0; i < hasScripts; i++ ) {
+ node = scripts[ i ];
+ if ( rscriptType.test( node.type || "" ) &&
+ !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) {
+
+ if ( node.src ) {
+ // Optional AJAX dependency, but won't run scripts if not present
+ if ( jQuery._evalUrl ) {
+ jQuery._evalUrl( node.src );
+ }
+ } else {
+ jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) );
+ }
+ }
+ }
+ }
+
+ // Fix #11809: Avoid leaking memory
+ fragment = first = null;
+ }
+ }
+
+ return this;
+ }
+});
+
+jQuery.each({
+ appendTo: "append",
+ prependTo: "prepend",
+ insertBefore: "before",
+ insertAfter: "after",
+ replaceAll: "replaceWith"
+}, function( name, original ) {
+ jQuery.fn[ name ] = function( selector ) {
+ var elems,
+ i = 0,
+ ret = [],
+ insert = jQuery( selector ),
+ last = insert.length - 1;
+
+ for ( ; i <= last; i++ ) {
+ elems = i === last ? this : this.clone(true);
+ jQuery( insert[i] )[ original ]( elems );
+
+ // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get()
+ push.apply( ret, elems.get() );
+ }
+
+ return this.pushStack( ret );
+ };
+});
+
+
+var iframe,
+ elemdisplay = {};
+
+/**
+ * Retrieve the actual display of a element
+ * @param {String} name nodeName of the element
+ * @param {Object} doc Document object
+ */
+// Called only from within defaultDisplay
+function actualDisplay( name, doc ) {
+ var style,
+ elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
+
+ // getDefaultComputedStyle might be reliably used only on attached element
+ display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?
+
+ // Use of this method is a temporary fix (more like optmization) until something better comes along,
+ // since it was removed from specification and supported only in FF
+ style.display : jQuery.css( elem[ 0 ], "display" );
+
+ // We don't have any data stored on the element,
+ // so use "detach" method as fast way to get rid of the element
+ elem.detach();
+
+ return display;
+}
+
+/**
+ * Try to determine the default display value of an element
+ * @param {String} nodeName
+ */
+function defaultDisplay( nodeName ) {
+ var doc = document,
+ display = elemdisplay[ nodeName ];
+
+ if ( !display ) {
+ display = actualDisplay( nodeName, doc );
+
+ // If the simple way fails, read from inside an iframe
+ if ( display === "none" || !display ) {
+
+ // Use the already-created iframe if possible
+ iframe = (iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" )).appendTo( doc.documentElement );
+
+ // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse
+ doc = ( iframe[ 0 ].contentWindow || iframe[ 0 ].contentDocument ).document;
+
+ // Support: IE
+ doc.write();
+ doc.close();
+
+ display = actualDisplay( nodeName, doc );
+ iframe.detach();
+ }
+
+ // Store the correct default display
+ elemdisplay[ nodeName ] = display;
+ }
+
+ return display;
+}
+
+
+(function() {
+ var shrinkWrapBlocksVal;
+
+ support.shrinkWrapBlocks = function() {
+ if ( shrinkWrapBlocksVal != null ) {
+ return shrinkWrapBlocksVal;
+ }
+
+ // Will be changed later if needed.
+ shrinkWrapBlocksVal = false;
+
+ // Minified: var b,c,d
+ var div, body, container;
+
+ body = document.getElementsByTagName( "body" )[ 0 ];
+ if ( !body || !body.style ) {
+ // Test fired too early or in an unsupported environment, exit.
+ return;
+ }
+
+ // Setup
+ div = document.createElement( "div" );
+ container = document.createElement( "div" );
+ container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px";
+ body.appendChild( container ).appendChild( div );
+
+ // Support: IE6
+ // Check if elements with layout shrink-wrap their children
+ if ( typeof div.style.zoom !== strundefined ) {
+ // Reset CSS: box-sizing; display; margin; border
+ div.style.cssText =
+ // Support: Firefox<29, Android 2.3
+ // Vendor-prefix box-sizing
+ "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
+ "box-sizing:content-box;display:block;margin:0;border:0;" +
+ "padding:1px;width:1px;zoom:1";
+ div.appendChild( document.createElement( "div" ) ).style.width = "5px";
+ shrinkWrapBlocksVal = div.offsetWidth !== 3;
+ }
+
+ body.removeChild( container );
+
+ return shrinkWrapBlocksVal;
+ };
+
+})();
+var rmargin = (/^margin/);
+
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+
+
+var getStyles, curCSS,
+ rposition = /^(top|right|bottom|left)$/;
+
+if ( window.getComputedStyle ) {
+ getStyles = function( elem ) {
+ // Support: IE<=11+, Firefox<=30+ (#15098, #14150)
+ // IE throws on elements created in popups
+ // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+ if ( elem.ownerDocument.defaultView.opener ) {
+ return elem.ownerDocument.defaultView.getComputedStyle( elem, null );
+ }
+
+ return window.getComputedStyle( elem, null );
+ };
+
+ curCSS = function( elem, name, computed ) {
+ var width, minWidth, maxWidth, ret,
+ style = elem.style;
+
+ computed = computed || getStyles( elem );
+
+ // getPropertyValue is only needed for .css('filter') in IE9, see #12537
+ ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;
+
+ if ( computed ) {
+
+ if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+ ret = jQuery.style( elem, name );
+ }
+
+ // A tribute to the "awesome hack by Dean Edwards"
+ // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right
+ // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
+ // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
+ if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
+
+ // Remember the original values
+ width = style.width;
+ minWidth = style.minWidth;
+ maxWidth = style.maxWidth;
+
+ // Put in the new values to get a computed value out
+ style.minWidth = style.maxWidth = style.width = ret;
+ ret = computed.width;
+
+ // Revert the changed values
+ style.width = width;
+ style.minWidth = minWidth;
+ style.maxWidth = maxWidth;
+ }
+ }
+
+ // Support: IE
+ // IE returns zIndex value as an integer.
+ return ret === undefined ?
+ ret :
+ ret + "";
+ };
+} else if ( document.documentElement.currentStyle ) {
+ getStyles = function( elem ) {
+ return elem.currentStyle;
+ };
+
+ curCSS = function( elem, name, computed ) {
+ var left, rs, rsLeft, ret,
+ style = elem.style;
+
+ computed = computed || getStyles( elem );
+ ret = computed ? computed[ name ] : undefined;
+
+ // Avoid setting ret to empty string here
+ // so we don't default to auto
+ if ( ret == null && style && style[ name ] ) {
+ ret = style[ name ];
+ }
+
+ // From the awesome hack by Dean Edwards
+ // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
+
+ // If we're not dealing with a regular pixel number
+ // but a number that has a weird ending, we need to convert it to pixels
+ // but not position css attributes, as those are proportional to the parent element instead
+ // and we can't measure the parent instead because it might trigger a "stacking dolls" problem
+ if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) {
+
+ // Remember the original values
+ left = style.left;
+ rs = elem.runtimeStyle;
+ rsLeft = rs && rs.left;
+
+ // Put in the new values to get a computed value out
+ if ( rsLeft ) {
+ rs.left = elem.currentStyle.left;
+ }
+ style.left = name === "fontSize" ? "1em" : ret;
+ ret = style.pixelLeft + "px";
+
+ // Revert the changed values
+ style.left = left;
+ if ( rsLeft ) {
+ rs.left = rsLeft;
+ }
+ }
+
+ // Support: IE
+ // IE returns zIndex value as an integer.
+ return ret === undefined ?
+ ret :
+ ret + "" || "auto";
+ };
+}
+
+
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+ // Define the hook, we'll check on the first run if it's really needed.
+ return {
+ get: function() {
+ var condition = conditionFn();
+
+ if ( condition == null ) {
+ // The test was not ready at this point; screw the hook this time
+ // but check again when needed next time.
+ return;
+ }
+
+ if ( condition ) {
+ // Hook not needed (or it's not possible to use it due to missing dependency),
+ // remove it.
+ // Since there are no other hooks for marginRight, remove the whole object.
+ delete this.get;
+ return;
+ }
+
+ // Hook needed; redefine it so that the support test is not executed again.
+
+ return (this.get = hookFn).apply( this, arguments );
+ }
+ };
+}
+
+
+(function() {
+ // Minified: var b,c,d,e,f,g, h,i
+ var div, style, a, pixelPositionVal, boxSizingReliableVal,
+ reliableHiddenOffsetsVal, reliableMarginRightVal;
+
+ // Setup
+ div = document.createElement( "div" );
+ div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
+ a = div.getElementsByTagName( "a" )[ 0 ];
+ style = a && a.style;
+
+ // Finish early in limited (non-browser) environments
+ if ( !style ) {
+ return;
+ }
+
+ style.cssText = "float:left;opacity:.5";
+
+ // Support: IE<9
+ // Make sure that element opacity exists (as opposed to filter)
+ support.opacity = style.opacity === "0.5";
+
+ // Verify style float existence
+ // (IE uses styleFloat instead of cssFloat)
+ support.cssFloat = !!style.cssFloat;
+
+ div.style.backgroundClip = "content-box";
+ div.cloneNode( true ).style.backgroundClip = "";
+ support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+ // Support: Firefox<29, Android 2.3
+ // Vendor-prefix box-sizing
+ support.boxSizing = style.boxSizing === "" || style.MozBoxSizing === "" ||
+ style.WebkitBoxSizing === "";
+
+ jQuery.extend(support, {
+ reliableHiddenOffsets: function() {
+ if ( reliableHiddenOffsetsVal == null ) {
+ computeStyleTests();
+ }
+ return reliableHiddenOffsetsVal;
+ },
+
+ boxSizingReliable: function() {
+ if ( boxSizingReliableVal == null ) {
+ computeStyleTests();
+ }
+ return boxSizingReliableVal;
+ },
+
+ pixelPosition: function() {
+ if ( pixelPositionVal == null ) {
+ computeStyleTests();
+ }
+ return pixelPositionVal;
+ },
+
+ // Support: Android 2.3
+ reliableMarginRight: function() {
+ if ( reliableMarginRightVal == null ) {
+ computeStyleTests();
+ }
+ return reliableMarginRightVal;
+ }
+ });
+
+ function computeStyleTests() {
+ // Minified: var b,c,d,j
+ var div, body, container, contents;
+
+ body = document.getElementsByTagName( "body" )[ 0 ];
+ if ( !body || !body.style ) {
+ // Test fired too early or in an unsupported environment, exit.
+ return;
+ }
+
+ // Setup
+ div = document.createElement( "div" );
+ container = document.createElement( "div" );
+ container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px";
+ body.appendChild( container ).appendChild( div );
+
+ div.style.cssText =
+ // Support: Firefox<29, Android 2.3
+ // Vendor-prefix box-sizing
+ "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
+ "box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
+ "border:1px;padding:1px;width:4px;position:absolute";
+
+ // Support: IE<9
+ // Assume reasonable values in the absence of getComputedStyle
+ pixelPositionVal = boxSizingReliableVal = false;
+ reliableMarginRightVal = true;
+
+ // Check for getComputedStyle so that this code is not run in IE<9.
+ if ( window.getComputedStyle ) {
+ pixelPositionVal = ( window.getComputedStyle( div, null ) || {} ).top !== "1%";
+ boxSizingReliableVal =
+ ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px";
+
+ // Support: Android 2.3
+ // Div with explicit width and no margin-right incorrectly
+ // gets computed margin-right based on width of container (#3333)
+ // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+ contents = div.appendChild( document.createElement( "div" ) );
+
+ // Reset CSS: box-sizing; display; margin; border; padding
+ contents.style.cssText = div.style.cssText =
+ // Support: Firefox<29, Android 2.3
+ // Vendor-prefix box-sizing
+ "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
+ "box-sizing:content-box;display:block;margin:0;border:0;padding:0";
+ contents.style.marginRight = contents.style.width = "0";
+ div.style.width = "1px";
+
+ reliableMarginRightVal =
+ !parseFloat( ( window.getComputedStyle( contents, null ) || {} ).marginRight );
+
+ div.removeChild( contents );
+ }
+
+ // Support: IE8
+ // Check if table cells still have offsetWidth/Height when they are set
+ // to display:none and there are still other visible table cells in a
+ // table row; if so, offsetWidth/Height are not reliable for use when
+ // determining if an element has been hidden directly using
+ // display:none (it is still safe to use offsets if a parent element is
+ // hidden; don safety goggles and see bug #4512 for more information).
+ div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>";
+ contents = div.getElementsByTagName( "td" );
+ contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none";
+ reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;
+ if ( reliableHiddenOffsetsVal ) {
+ contents[ 0 ].style.display = "";
+ contents[ 1 ].style.display = "none";
+ reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;
+ }
+
+ body.removeChild( container );
+ }
+
+})();
+
+
+// A method for quickly swapping in/out CSS properties to get correct calculations.
+jQuery.swap = function( elem, options, callback, args ) {
+ var ret, name,
+ old = {};
+
+ // Remember the old values, and insert the new ones
+ for ( name in options ) {
+ old[ name ] = elem.style[ name ];
+ elem.style[ name ] = options[ name ];
+ }
+
+ ret = callback.apply( elem, args || [] );
+
+ // Revert the old values
+ for ( name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
+
+ return ret;
+};
+
+
+var
+ ralpha = /alpha\([^)]*\)/i,
+ ropacity = /opacity\s*=\s*([^)]*)/,
+
+ // swappable if display is none or starts with table except "table", "table-cell", or "table-caption"
+ // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+ rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+ rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ),
+ rrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ),
+
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+ cssNormalTransform = {
+ letterSpacing: "0",
+ fontWeight: "400"
+ },
+
+ cssPrefixes = [ "Webkit", "O", "Moz", "ms" ];
+
+
+// return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( style, name ) {
+
+ // shortcut for names that are not vendor prefixed
+ if ( name in style ) {
+ return name;
+ }
+
+ // check for vendor prefixed names
+ var capName = name.charAt(0).toUpperCase() + name.slice(1),
+ origName = name,
+ i = cssPrefixes.length;
+
+ while ( i-- ) {
+ name = cssPrefixes[ i ] + capName;
+ if ( name in style ) {
+ return name;
+ }
+ }
+
+ return origName;
+}
+
+function showHide( elements, show ) {
+ var display, elem, hidden,
+ values = [],
+ index = 0,
+ length = elements.length;
+
+ for ( ; index < length; index++ ) {
+ elem = elements[ index ];
+ if ( !elem.style ) {
+ continue;
+ }
+
+ values[ index ] = jQuery._data( elem, "olddisplay" );
+ display = elem.style.display;
+ if ( show ) {
+ // Reset the inline display of this element to learn if it is
+ // being hidden by cascaded rules or not
+ if ( !values[ index ] && display === "none" ) {
+ elem.style.display = "";
+ }
+
+ // Set elements which have been overridden with display: none
+ // in a stylesheet to whatever the default browser style is
+ // for such an element
+ if ( elem.style.display === "" && isHidden( elem ) ) {
+ values[ index ] = jQuery._data( elem, "olddisplay", defaultDisplay(elem.nodeName) );
+ }
+ } else {
+ hidden = isHidden( elem );
+
+ if ( display && display !== "none" || !hidden ) {
+ jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
+ }
+ }
+ }
+
+ // Set the display of most of the elements in a second loop
+ // to avoid the constant reflow
+ for ( index = 0; index < length; index++ ) {
+ elem = elements[ index ];
+ if ( !elem.style ) {
+ continue;
+ }
+ if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
+ elem.style.display = show ? values[ index ] || "" : "none";
+ }
+ }
+
+ return elements;
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+ var matches = rnumsplit.exec( value );
+ return matches ?
+ // Guard against undefined "subtract", e.g., when used as in cssHooks
+ Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) :
+ value;
+}
+
+function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
+ var i = extra === ( isBorderBox ? "border" : "content" ) ?
+ // If we already have the right measurement, avoid augmentation
+ 4 :
+ // Otherwise initialize for horizontal or vertical properties
+ name === "width" ? 1 : 0,
+
+ val = 0;
+
+ for ( ; i < 4; i += 2 ) {
+ // both box models exclude margin, so add it if we want it
+ if ( extra === "margin" ) {
+ val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
+ }
+
+ if ( isBorderBox ) {
+ // border-box includes padding, so remove it if we want content
+ if ( extra === "content" ) {
+ val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+ }
+
+ // at this point, extra isn't border nor margin, so remove border
+ if ( extra !== "margin" ) {
+ val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ } else {
+ // at this point, extra isn't content, so add padding
+ val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+ // at this point, extra isn't content nor padding, so add border
+ if ( extra !== "padding" ) {
+ val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ }
+ }
+
+ return val;
+}
+
+function getWidthOrHeight( elem, name, extra ) {
+
+ // Start with offset property, which is equivalent to the border-box value
+ var valueIsBorderBox = true,
+ val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
+ styles = getStyles( elem ),
+ isBorderBox = support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+ // some non-html elements return undefined for offsetWidth, so check for null/undefined
+ // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
+ // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
+ if ( val <= 0 || val == null ) {
+ // Fall back to computed then uncomputed css if necessary
+ val = curCSS( elem, name, styles );
+ if ( val < 0 || val == null ) {
+ val = elem.style[ name ];
+ }
+
+ // Computed unit is not pixels. Stop here and return.
+ if ( rnumnonpx.test(val) ) {
+ return val;
+ }
+
+ // we need the check for style in case a browser which returns unreliable values
+ // for getComputedStyle silently falls back to the reliable elem.style
+ valueIsBorderBox = isBorderBox && ( support.boxSizingReliable() || val === elem.style[ name ] );
+
+ // Normalize "", auto, and prepare for extra
+ val = parseFloat( val ) || 0;
+ }
+
+ // use the active box-sizing model to add/subtract irrelevant styles
+ return ( val +
+ augmentWidthOrHeight(
+ elem,
+ name,
+ extra || ( isBorderBox ? "border" : "content" ),
+ valueIsBorderBox,
+ styles
+ )
+ ) + "px";
+}
+
+jQuery.extend({
+ // Add in style property hooks for overriding the default
+ // behavior of getting and setting a style property
+ cssHooks: {
+ opacity: {
+ get: function( elem, computed ) {
+ if ( computed ) {
+ // We should always get a number back from opacity
+ var ret = curCSS( elem, "opacity" );
+ return ret === "" ? "1" : ret;
+ }
+ }
+ }
+ },
+
+ // Don't automatically add "px" to these possibly-unitless properties
+ cssNumber: {
+ "columnCount": true,
+ "fillOpacity": true,
+ "flexGrow": true,
+ "flexShrink": true,
+ "fontWeight": true,
+ "lineHeight": true,
+ "opacity": true,
+ "order": true,
+ "orphans": true,
+ "widows": true,
+ "zIndex": true,
+ "zoom": true
+ },
+
+ // Add in properties whose names you wish to fix before
+ // setting or getting the value
+ cssProps: {
+ // normalize float css property
+ "float": support.cssFloat ? "cssFloat" : "styleFloat"
+ },
+
+ // Get and set the style property on a DOM Node
+ style: function( elem, name, value, extra ) {
+ // Don't set styles on text and comment nodes
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+ return;
+ }
+
+ // Make sure that we're working with the right name
+ var ret, type, hooks,
+ origName = jQuery.camelCase( name ),
+ style = elem.style;
+
+ name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );
+
+ // gets hook for the prefixed version
+ // followed by the unprefixed version
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // Check if we're setting a value
+ if ( value !== undefined ) {
+ type = typeof value;
+
+ // convert relative number strings (+= or -=) to relative numbers. #7345
+ if ( type === "string" && (ret = rrelNum.exec( value )) ) {
+ value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );
+ // Fixes bug #9237
+ type = "number";
+ }
+
+ // Make sure that null and NaN values aren't set. See: #7116
+ if ( value == null || value !== value ) {
+ return;
+ }
+
+ // If a number was passed in, add 'px' to the (except for certain CSS properties)
+ if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
+ value += "px";
+ }
+
+ // Fixes #8908, it can be done more correctly by specifing setters in cssHooks,
+ // but it would mean to define eight (for every problematic property) identical functions
+ if ( !support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) {
+ style[ name ] = "inherit";
+ }
+
+ // If a hook was provided, use that value, otherwise just set the specified value
+ if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
+
+ // Support: IE
+ // Swallow errors from 'invalid' CSS values (#5509)
+ try {
+ style[ name ] = value;
+ } catch(e) {}
+ }
+
+ } else {
+ // If a hook was provided get the non-computed value from there
+ if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
+ return ret;
+ }
+
+ // Otherwise just get the value from the style object
+ return style[ name ];
+ }
+ },
+
+ css: function( elem, name, extra, styles ) {
+ var num, val, hooks,
+ origName = jQuery.camelCase( name );
+
+ // Make sure that we're working with the right name
+ name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );
+
+ // gets hook for the prefixed version
+ // followed by the unprefixed version
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // If a hook was provided get the computed value from there
+ if ( hooks && "get" in hooks ) {
+ val = hooks.get( elem, true, extra );
+ }
+
+ // Otherwise, if a way to get the computed value exists, use that
+ if ( val === undefined ) {
+ val = curCSS( elem, name, styles );
+ }
+
+ //convert "normal" to computed value
+ if ( val === "normal" && name in cssNormalTransform ) {
+ val = cssNormalTransform[ name ];
+ }
+
+ // Return, converting to number if forced or a qualifier was provided and val looks numeric
+ if ( extra === "" || extra ) {
+ num = parseFloat( val );
+ return extra === true || jQuery.isNumeric( num ) ? num || 0 : val;
+ }
+ return val;
+ }
+});
+
+jQuery.each([ "height", "width" ], function( i, name ) {
+ jQuery.cssHooks[ name ] = {
+ get: function( elem, computed, extra ) {
+ if ( computed ) {
+ // certain elements can have dimension info if we invisibly show them
+ // however, it must have a current display style that would benefit from this
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ?
+ jQuery.swap( elem, cssShow, function() {
+ return getWidthOrHeight( elem, name, extra );
+ }) :
+ getWidthOrHeight( elem, name, extra );
+ }
+ },
+
+ set: function( elem, value, extra ) {
+ var styles = extra && getStyles( elem );
+ return setPositiveNumber( elem, value, extra ?
+ augmentWidthOrHeight(
+ elem,
+ name,
+ extra,
+ support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ styles
+ ) : 0
+ );
+ }
+ };
+});
+
+if ( !support.opacity ) {
+ jQuery.cssHooks.opacity = {
+ get: function( elem, computed ) {
+ // IE uses filters for opacity
+ return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ?
+ ( 0.01 * parseFloat( RegExp.$1 ) ) + "" :
+ computed ? "1" : "";
+ },
+
+ set: function( elem, value ) {
+ var style = elem.style,
+ currentStyle = elem.currentStyle,
+ opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "",
+ filter = currentStyle && currentStyle.filter || style.filter || "";
+
+ // IE has trouble with opacity if it does not have layout
+ // Force it by setting the zoom level
+ style.zoom = 1;
+
+ // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652
+ // if value === "", then remove inline opacity #12685
+ if ( ( value >= 1 || value === "" ) &&
+ jQuery.trim( filter.replace( ralpha, "" ) ) === "" &&
+ style.removeAttribute ) {
+
+ // Setting style.filter to null, "" & " " still leave "filter:" in the cssText
+ // if "filter:" is present at all, clearType is disabled, we want to avoid this
+ // style.removeAttribute is IE Only, but so apparently is this code path...
+ style.removeAttribute( "filter" );
+
+ // if there is no filter style applied in a css rule or unset inline opacity, we are done
+ if ( value === "" || currentStyle && !currentStyle.filter ) {
+ return;
+ }
+ }
+
+ // otherwise, set new filter values
+ style.filter = ralpha.test( filter ) ?
+ filter.replace( ralpha, opacity ) :
+ filter + " " + opacity;
+ }
+ };
+}
+
+jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
+ function( elem, computed ) {
+ if ( computed ) {
+ // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+ // Work around by temporarily setting element display to inline-block
+ return jQuery.swap( elem, { "display": "inline-block" },
+ curCSS, [ elem, "marginRight" ] );
+ }
+ }
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each({
+ margin: "",
+ padding: "",
+ border: "Width"
+}, function( prefix, suffix ) {
+ jQuery.cssHooks[ prefix + suffix ] = {
+ expand: function( value ) {
+ var i = 0,
+ expanded = {},
+
+ // assumes a single number if not a string
+ parts = typeof value === "string" ? value.split(" ") : [ value ];
+
+ for ( ; i < 4; i++ ) {
+ expanded[ prefix + cssExpand[ i ] + suffix ] =
+ parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+ }
+
+ return expanded;
+ }
+ };
+
+ if ( !rmargin.test( prefix ) ) {
+ jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+ }
+});
+
+jQuery.fn.extend({
+ css: function( name, value ) {
+ return access( this, function( elem, name, value ) {
+ var styles, len,
+ map = {},
+ i = 0;
+
+ if ( jQuery.isArray( name ) ) {
+ styles = getStyles( elem );
+ len = name.length;
+
+ for ( ; i < len; i++ ) {
+ map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+ }
+
+ return map;
+ }
+
+ return value !== undefined ?
+ jQuery.style( elem, name, value ) :
+ jQuery.css( elem, name );
+ }, name, value, arguments.length > 1 );
+ },
+ show: function() {
+ return showHide( this, true );
+ },
+ hide: function() {
+ return showHide( this );
+ },
+ toggle: function( state ) {
+ if ( typeof state === "boolean" ) {
+ return state ? this.show() : this.hide();
+ }
+
+ return this.each(function() {
+ if ( isHidden( this ) ) {
+ jQuery( this ).show();
+ } else {
+ jQuery( this ).hide();
+ }
+ });
+ }
+});
+
+
+function Tween( elem, options, prop, end, easing ) {
+ return new Tween.prototype.init( elem, options, prop, end, easing );
+}
+jQuery.Tween = Tween;
+
+Tween.prototype = {
+ constructor: Tween,
+ init: function( elem, options, prop, end, easing, unit ) {
+ this.elem = elem;
+ this.prop = prop;
+ this.easing = easing || "swing";
+ this.options = options;
+ this.start = this.now = this.cur();
+ this.end = end;
+ this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
+ },
+ cur: function() {
+ var hooks = Tween.propHooks[ this.prop ];
+
+ return hooks && hooks.get ?
+ hooks.get( this ) :
+ Tween.propHooks._default.get( this );
+ },
+ run: function( percent ) {
+ var eased,
+ hooks = Tween.propHooks[ this.prop ];
+
+ if ( this.options.duration ) {
+ this.pos = eased = jQuery.easing[ this.easing ](
+ percent, this.options.duration * percent, 0, 1, this.options.duration
+ );
+ } else {
+ this.pos = eased = percent;
+ }
+ this.now = ( this.end - this.start ) * eased + this.start;
+
+ if ( this.options.step ) {
+ this.options.step.call( this.elem, this.now, this );
+ }
+
+ if ( hooks && hooks.set ) {
+ hooks.set( this );
+ } else {
+ Tween.propHooks._default.set( this );
+ }
+ return this;
+ }
+};
+
+Tween.prototype.init.prototype = Tween.prototype;
+
+Tween.propHooks = {
+ _default: {
+ get: function( tween ) {
+ var result;
+
+ if ( tween.elem[ tween.prop ] != null &&
+ (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {
+ return tween.elem[ tween.prop ];
+ }
+
+ // passing an empty string as a 3rd parameter to .css will automatically
+ // attempt a parseFloat and fallback to a string if the parse fails
+ // so, simple values such as "10px" are parsed to Float.
+ // complex values such as "rotate(1rad)" are returned as is.
+ result = jQuery.css( tween.elem, tween.prop, "" );
+ // Empty strings, null, undefined and "auto" are converted to 0.
+ return !result || result === "auto" ? 0 : result;
+ },
+ set: function( tween ) {
+ // use step hook for back compat - use cssHook if its there - use .style if its
+ // available and use plain properties where available
+ if ( jQuery.fx.step[ tween.prop ] ) {
+ jQuery.fx.step[ tween.prop ]( tween );
+ } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {
+ jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
+ } else {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+ }
+};
+
+// Support: IE <=9
+// Panic based approach to setting things on disconnected nodes
+
+Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
+ set: function( tween ) {
+ if ( tween.elem.nodeType && tween.elem.parentNode ) {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+};
+
+jQuery.easing = {
+ linear: function( p ) {
+ return p;
+ },
+ swing: function( p ) {
+ return 0.5 - Math.cos( p * Math.PI ) / 2;
+ }
+};
+
+jQuery.fx = Tween.prototype.init;
+
+// Back Compat <1.8 extension point
+jQuery.fx.step = {};
+
+
+
+
+var
+ fxNow, timerId,
+ rfxtypes = /^(?:toggle|show|hide)$/,
+ rfxnum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ),
+ rrun = /queueHooks$/,
+ animationPrefilters = [ defaultPrefilter ],
+ tweeners = {
+ "*": [ function( prop, value ) {
+ var tween = this.createTween( prop, value ),
+ target = tween.cur(),
+ parts = rfxnum.exec( value ),
+ unit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+ // Starting value computation is required for potential unit mismatches
+ start = ( jQuery.cssNumber[ prop ] || unit !== "px" && +target ) &&
+ rfxnum.exec( jQuery.css( tween.elem, prop ) ),
+ scale = 1,
+ maxIterations = 20;
+
+ if ( start && start[ 3 ] !== unit ) {
+ // Trust units reported by jQuery.css
+ unit = unit || start[ 3 ];
+
+ // Make sure we update the tween properties later on
+ parts = parts || [];
+
+ // Iteratively approximate from a nonzero starting point
+ start = +target || 1;
+
+ do {
+ // If previous iteration zeroed out, double until we get *something*
+ // Use a string for doubling factor so we don't accidentally see scale as unchanged below
+ scale = scale || ".5";
+
+ // Adjust and apply
+ start = start / scale;
+ jQuery.style( tween.elem, prop, start + unit );
+
+ // Update scale, tolerating zero or NaN from tween.cur()
+ // And breaking the loop if scale is unchanged or perfect, or if we've just had enough
+ } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );
+ }
+
+ // Update tween properties
+ if ( parts ) {
+ start = tween.start = +start || +target || 0;
+ tween.unit = unit;
+ // If a +=/-= token was provided, we're doing a relative animation
+ tween.end = parts[ 1 ] ?
+ start + ( parts[ 1 ] + 1 ) * parts[ 2 ] :
+ +parts[ 2 ];
+ }
+
+ return tween;
+ } ]
+ };
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+ setTimeout(function() {
+ fxNow = undefined;
+ });
+ return ( fxNow = jQuery.now() );
+}
+
+// Generate parameters to create a standard animation
+function genFx( type, includeWidth ) {
+ var which,
+ attrs = { height: type },
+ i = 0;
+
+ // if we include width, step value is 1 to do all cssExpand values,
+ // if we don't include width, step value is 2 to skip over Left and Right
+ includeWidth = includeWidth ? 1 : 0;
+ for ( ; i < 4 ; i += 2 - includeWidth ) {
+ which = cssExpand[ i ];
+ attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
+ }
+
+ if ( includeWidth ) {
+ attrs.opacity = attrs.width = type;
+ }
+
+ return attrs;
+}
+
+function createTween( value, prop, animation ) {
+ var tween,
+ collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ),
+ index = 0,
+ length = collection.length;
+ for ( ; index < length; index++ ) {
+ if ( (tween = collection[ index ].call( animation, prop, value )) ) {
+
+ // we're done with this property
+ return tween;
+ }
+ }
+}
+
+function defaultPrefilter( elem, props, opts ) {
+ /* jshint validthis: true */
+ var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,
+ anim = this,
+ orig = {},
+ style = elem.style,
+ hidden = elem.nodeType && isHidden( elem ),
+ dataShow = jQuery._data( elem, "fxshow" );
+
+ // handle queue: false promises
+ if ( !opts.queue ) {
+ hooks = jQuery._queueHooks( elem, "fx" );
+ if ( hooks.unqueued == null ) {
+ hooks.unqueued = 0;
+ oldfire = hooks.empty.fire;
+ hooks.empty.fire = function() {
+ if ( !hooks.unqueued ) {
+ oldfire();
+ }
+ };
+ }
+ hooks.unqueued++;
+
+ anim.always(function() {
+ // doing this makes sure that the complete handler will be called
+ // before this completes
+ anim.always(function() {
+ hooks.unqueued--;
+ if ( !jQuery.queue( elem, "fx" ).length ) {
+ hooks.empty.fire();
+ }
+ });
+ });
+ }
+
+ // height/width overflow pass
+ if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
+ // Make sure that nothing sneaks out
+ // Record all 3 overflow attributes because IE does not
+ // change the overflow attribute when overflowX and
+ // overflowY are set to the same value
+ opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
+
+ // Set display property to inline-block for height/width
+ // animations on inline elements that are having width/height animated
+ display = jQuery.css( elem, "display" );
+
+ // Test default display if display is currently "none"
+ checkDisplay = display === "none" ?
+ jQuery._data( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display;
+
+ if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) {
+
+ // inline-level elements accept inline-block;
+ // block-level elements need to be inline with layout
+ if ( !support.inlineBlockNeedsLayout || defaultDisplay( elem.nodeName ) === "inline" ) {
+ style.display = "inline-block";
+ } else {
+ style.zoom = 1;
+ }
+ }
+ }
+
+ if ( opts.overflow ) {
+ style.overflow = "hidden";
+ if ( !support.shrinkWrapBlocks() ) {
+ anim.always(function() {
+ style.overflow = opts.overflow[ 0 ];
+ style.overflowX = opts.overflow[ 1 ];
+ style.overflowY = opts.overflow[ 2 ];
+ });
+ }
+ }
+
+ // show/hide pass
+ for ( prop in props ) {
+ value = props[ prop ];
+ if ( rfxtypes.exec( value ) ) {
+ delete props[ prop ];
+ toggle = toggle || value === "toggle";
+ if ( value === ( hidden ? "hide" : "show" ) ) {
+
+ // If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden
+ if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
+ hidden = true;
+ } else {
+ continue;
+ }
+ }
+ orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
+
+ // Any non-fx value stops us from restoring the original display value
+ } else {
+ display = undefined;
+ }
+ }
+
+ if ( !jQuery.isEmptyObject( orig ) ) {
+ if ( dataShow ) {
+ if ( "hidden" in dataShow ) {
+ hidden = dataShow.hidden;
+ }
+ } else {
+ dataShow = jQuery._data( elem, "fxshow", {} );
+ }
+
+ // store state if its toggle - enables .stop().toggle() to "reverse"
+ if ( toggle ) {
+ dataShow.hidden = !hidden;
+ }
+ if ( hidden ) {
+ jQuery( elem ).show();
+ } else {
+ anim.done(function() {
+ jQuery( elem ).hide();
+ });
+ }
+ anim.done(function() {
+ var prop;
+ jQuery._removeData( elem, "fxshow" );
+ for ( prop in orig ) {
+ jQuery.style( elem, prop, orig[ prop ] );
+ }
+ });
+ for ( prop in orig ) {
+ tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
+
+ if ( !( prop in dataShow ) ) {
+ dataShow[ prop ] = tween.start;
+ if ( hidden ) {
+ tween.end = tween.start;
+ tween.start = prop === "width" || prop === "height" ? 1 : 0;
+ }
+ }
+ }
+
+ // If this is a noop like .hide().hide(), restore an overwritten display value
+ } else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) {
+ style.display = display;
+ }
+}
+
+function propFilter( props, specialEasing ) {
+ var index, name, easing, value, hooks;
+
+ // camelCase, specialEasing and expand cssHook pass
+ for ( index in props ) {
+ name = jQuery.camelCase( index );
+ easing = specialEasing[ name ];
+ value = props[ index ];
+ if ( jQuery.isArray( value ) ) {
+ easing = value[ 1 ];
+ value = props[ index ] = value[ 0 ];
+ }
+
+ if ( index !== name ) {
+ props[ name ] = value;
+ delete props[ index ];
+ }
+
+ hooks = jQuery.cssHooks[ name ];
+ if ( hooks && "expand" in hooks ) {
+ value = hooks.expand( value );
+ delete props[ name ];
+
+ // not quite $.extend, this wont overwrite keys already present.
+ // also - reusing 'index' from above because we have the correct "name"
+ for ( index in value ) {
+ if ( !( index in props ) ) {
+ props[ index ] = value[ index ];
+ specialEasing[ index ] = easing;
+ }
+ }
+ } else {
+ specialEasing[ name ] = easing;
+ }
+ }
+}
+
+function Animation( elem, properties, options ) {
+ var result,
+ stopped,
+ index = 0,
+ length = animationPrefilters.length,
+ deferred = jQuery.Deferred().always( function() {
+ // don't match elem in the :animated selector
+ delete tick.elem;
+ }),
+ tick = function() {
+ if ( stopped ) {
+ return false;
+ }
+ var currentTime = fxNow || createFxNow(),
+ remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
+ // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497)
+ temp = remaining / animation.duration || 0,
+ percent = 1 - temp,
+ index = 0,
+ length = animation.tweens.length;
+
+ for ( ; index < length ; index++ ) {
+ animation.tweens[ index ].run( percent );
+ }
+
+ deferred.notifyWith( elem, [ animation, percent, remaining ]);
+
+ if ( percent < 1 && length ) {
+ return remaining;
+ } else {
+ deferred.resolveWith( elem, [ animation ] );
+ return false;
+ }
+ },
+ animation = deferred.promise({
+ elem: elem,
+ props: jQuery.extend( {}, properties ),
+ opts: jQuery.extend( true, { specialEasing: {} }, options ),
+ originalProperties: properties,
+ originalOptions: options,
+ startTime: fxNow || createFxNow(),
+ duration: options.duration,
+ tweens: [],
+ createTween: function( prop, end ) {
+ var tween = jQuery.Tween( elem, animation.opts, prop, end,
+ animation.opts.specialEasing[ prop ] || animation.opts.easing );
+ animation.tweens.push( tween );
+ return tween;
+ },
+ stop: function( gotoEnd ) {
+ var index = 0,
+ // if we are going to the end, we want to run all the tweens
+ // otherwise we skip this part
+ length = gotoEnd ? animation.tweens.length : 0;
+ if ( stopped ) {
+ return this;
+ }
+ stopped = true;
+ for ( ; index < length ; index++ ) {
+ animation.tweens[ index ].run( 1 );
+ }
+
+ // resolve when we played the last frame
+ // otherwise, reject
+ if ( gotoEnd ) {
+ deferred.resolveWith( elem, [ animation, gotoEnd ] );
+ } else {
+ deferred.rejectWith( elem, [ animation, gotoEnd ] );
+ }
+ return this;
+ }
+ }),
+ props = animation.props;
+
+ propFilter( props, animation.opts.specialEasing );
+
+ for ( ; index < length ; index++ ) {
+ result = animationPrefilters[ index ].call( animation, elem, props, animation.opts );
+ if ( result ) {
+ return result;
+ }
+ }
+
+ jQuery.map( props, createTween, animation );
+
+ if ( jQuery.isFunction( animation.opts.start ) ) {
+ animation.opts.start.call( elem, animation );
+ }
+
+ jQuery.fx.timer(
+ jQuery.extend( tick, {
+ elem: elem,
+ anim: animation,
+ queue: animation.opts.queue
+ })
+ );
+
+ // attach callbacks from options
+ return animation.progress( animation.opts.progress )
+ .done( animation.opts.done, animation.opts.complete )
+ .fail( animation.opts.fail )
+ .always( animation.opts.always );
+}
+
+jQuery.Animation = jQuery.extend( Animation, {
+ tweener: function( props, callback ) {
+ if ( jQuery.isFunction( props ) ) {
+ callback = props;
+ props = [ "*" ];
+ } else {
+ props = props.split(" ");
+ }
+
+ var prop,
+ index = 0,
+ length = props.length;
+
+ for ( ; index < length ; index++ ) {
+ prop = props[ index ];
+ tweeners[ prop ] = tweeners[ prop ] || [];
+ tweeners[ prop ].unshift( callback );
+ }
+ },
+
+ prefilter: function( callback, prepend ) {
+ if ( prepend ) {
+ animationPrefilters.unshift( callback );
+ } else {
+ animationPrefilters.push( callback );
+ }
+ }
+});
+
+jQuery.speed = function( speed, easing, fn ) {
+ var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+ complete: fn || !fn && easing ||
+ jQuery.isFunction( speed ) && speed,
+ duration: speed,
+ easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
+ };
+
+ opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
+ opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
+
+ // normalize opt.queue - true/undefined/null -> "fx"
+ if ( opt.queue == null || opt.queue === true ) {
+ opt.queue = "fx";
+ }
+
+ // Queueing
+ opt.old = opt.complete;
+
+ opt.complete = function() {
+ if ( jQuery.isFunction( opt.old ) ) {
+ opt.old.call( this );
+ }
+
+ if ( opt.queue ) {
+ jQuery.dequeue( this, opt.queue );
+ }
+ };
+
+ return opt;
+};
+
+jQuery.fn.extend({
+ fadeTo: function( speed, to, easing, callback ) {
+
+ // show any hidden elements after setting opacity to 0
+ return this.filter( isHidden ).css( "opacity", 0 ).show()
+
+ // animate to the value specified
+ .end().animate({ opacity: to }, speed, easing, callback );
+ },
+ animate: function( prop, speed, easing, callback ) {
+ var empty = jQuery.isEmptyObject( prop ),
+ optall = jQuery.speed( speed, easing, callback ),
+ doAnimation = function() {
+ // Operate on a copy of prop so per-property easing won't be lost
+ var anim = Animation( this, jQuery.extend( {}, prop ), optall );
+
+ // Empty animations, or finishing resolves immediately
+ if ( empty || jQuery._data( this, "finish" ) ) {
+ anim.stop( true );
+ }
+ };
+ doAnimation.finish = doAnimation;
+
+ return empty || optall.queue === false ?
+ this.each( doAnimation ) :
+ this.queue( optall.queue, doAnimation );
+ },
+ stop: function( type, clearQueue, gotoEnd ) {
+ var stopQueue = function( hooks ) {
+ var stop = hooks.stop;
+ delete hooks.stop;
+ stop( gotoEnd );
+ };
+
+ if ( typeof type !== "string" ) {
+ gotoEnd = clearQueue;
+ clearQueue = type;
+ type = undefined;
+ }
+ if ( clearQueue && type !== false ) {
+ this.queue( type || "fx", [] );
+ }
+
+ return this.each(function() {
+ var dequeue = true,
+ index = type != null && type + "queueHooks",
+ timers = jQuery.timers,
+ data = jQuery._data( this );
+
+ if ( index ) {
+ if ( data[ index ] && data[ index ].stop ) {
+ stopQueue( data[ index ] );
+ }
+ } else {
+ for ( index in data ) {
+ if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
+ stopQueue( data[ index ] );
+ }
+ }
+ }
+
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {
+ timers[ index ].anim.stop( gotoEnd );
+ dequeue = false;
+ timers.splice( index, 1 );
+ }
+ }
+
+ // start the next in the queue if the last step wasn't forced
+ // timers currently will call their complete callbacks, which will dequeue
+ // but only if they were gotoEnd
+ if ( dequeue || !gotoEnd ) {
+ jQuery.dequeue( this, type );
+ }
+ });
+ },
+ finish: function( type ) {
+ if ( type !== false ) {
+ type = type || "fx";
+ }
+ return this.each(function() {
+ var index,
+ data = jQuery._data( this ),
+ queue = data[ type + "queue" ],
+ hooks = data[ type + "queueHooks" ],
+ timers = jQuery.timers,
+ length = queue ? queue.length : 0;
+
+ // enable finishing flag on private data
+ data.finish = true;
+
+ // empty the queue first
+ jQuery.queue( this, type, [] );
+
+ if ( hooks && hooks.stop ) {
+ hooks.stop.call( this, true );
+ }
+
+ // look for any active animations, and finish them
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
+ timers[ index ].anim.stop( true );
+ timers.splice( index, 1 );
+ }
+ }
+
+ // look for any animations in the old queue and finish them
+ for ( index = 0; index < length; index++ ) {
+ if ( queue[ index ] && queue[ index ].finish ) {
+ queue[ index ].finish.call( this );
+ }
+ }
+
+ // turn off finishing flag
+ delete data.finish;
+ });
+ }
+});
+
+jQuery.each([ "toggle", "show", "hide" ], function( i, name ) {
+ var cssFn = jQuery.fn[ name ];
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return speed == null || typeof speed === "boolean" ?
+ cssFn.apply( this, arguments ) :
+ this.animate( genFx( name, true ), speed, easing, callback );
+ };
+});
+
+// Generate shortcuts for custom animations
+jQuery.each({
+ slideDown: genFx("show"),
+ slideUp: genFx("hide"),
+ slideToggle: genFx("toggle"),
+ fadeIn: { opacity: "show" },
+ fadeOut: { opacity: "hide" },
+ fadeToggle: { opacity: "toggle" }
+}, function( name, props ) {
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return this.animate( props, speed, easing, callback );
+ };
+});
+
+jQuery.timers = [];
+jQuery.fx.tick = function() {
+ var timer,
+ timers = jQuery.timers,
+ i = 0;
+
+ fxNow = jQuery.now();
+
+ for ( ; i < timers.length; i++ ) {
+ timer = timers[ i ];
+ // Checks the timer has not already been removed
+ if ( !timer() && timers[ i ] === timer ) {
+ timers.splice( i--, 1 );
+ }
+ }
+
+ if ( !timers.length ) {
+ jQuery.fx.stop();
+ }
+ fxNow = undefined;
+};
+
+jQuery.fx.timer = function( timer ) {
+ jQuery.timers.push( timer );
+ if ( timer() ) {
+ jQuery.fx.start();
+ } else {
+ jQuery.timers.pop();
+ }
+};
+
+jQuery.fx.interval = 13;
+
+jQuery.fx.start = function() {
+ if ( !timerId ) {
+ timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );
+ }
+};
+
+jQuery.fx.stop = function() {
+ clearInterval( timerId );
+ timerId = null;
+};
+
+jQuery.fx.speeds = {
+ slow: 600,
+ fast: 200,
+ // Default speed
+ _default: 400
+};
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function( next, hooks ) {
+ var timeout = setTimeout( next, time );
+ hooks.stop = function() {
+ clearTimeout( timeout );
+ };
+ });
+};
+
+
+(function() {
+ // Minified: var a,b,c,d,e
+ var input, div, select, a, opt;
+
+ // Setup
+ div = document.createElement( "div" );
+ div.setAttribute( "className", "t" );
+ div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
+ a = div.getElementsByTagName("a")[ 0 ];
+
+ // First batch of tests.
+ select = document.createElement("select");
+ opt = select.appendChild( document.createElement("option") );
+ input = div.getElementsByTagName("input")[ 0 ];
+
+ a.style.cssText = "top:1px";
+
+ // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
+ support.getSetAttribute = div.className !== "t";
+
+ // Get the style information from getAttribute
+ // (IE uses .cssText instead)
+ support.style = /top/.test( a.getAttribute("style") );
+
+ // Make sure that URLs aren't manipulated
+ // (IE normalizes it by default)
+ support.hrefNormalized = a.getAttribute("href") === "/a";
+
+ // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere)
+ support.checkOn = !!input.value;
+
+ // Make sure that a selected-by-default option has a working selected property.
+ // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
+ support.optSelected = opt.selected;
+
+ // Tests for enctype support on a form (#6743)
+ support.enctype = !!document.createElement("form").enctype;
+
+ // Make sure that the options inside disabled selects aren't marked as disabled
+ // (WebKit marks them as disabled)
+ select.disabled = true;
+ support.optDisabled = !opt.disabled;
+
+ // Support: IE8 only
+ // Check if we can trust getAttribute("value")
+ input = document.createElement( "input" );
+ input.setAttribute( "value", "" );
+ support.input = input.getAttribute( "value" ) === "";
+
+ // Check if an input maintains its value after becoming a radio
+ input.value = "t";
+ input.setAttribute( "type", "radio" );
+ support.radioValue = input.value === "t";
+})();
+
+
+var rreturn = /\r/g;
+
+jQuery.fn.extend({
+ val: function( value ) {
+ var hooks, ret, isFunction,
+ elem = this[0];
+
+ if ( !arguments.length ) {
+ if ( elem ) {
+ hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+ if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
+ return ret;
+ }
+
+ ret = elem.value;
+
+ return typeof ret === "string" ?
+ // handle most common string cases
+ ret.replace(rreturn, "") :
+ // handle cases where value is null/undef or number
+ ret == null ? "" : ret;
+ }
+
+ return;
+ }
+
+ isFunction = jQuery.isFunction( value );
+
+ return this.each(function( i ) {
+ var val;
+
+ if ( this.nodeType !== 1 ) {
+ return;
+ }
+
+ if ( isFunction ) {
+ val = value.call( this, i, jQuery( this ).val() );
+ } else {
+ val = value;
+ }
+
+ // Treat null/undefined as ""; convert numbers to string
+ if ( val == null ) {
+ val = "";
+ } else if ( typeof val === "number" ) {
+ val += "";
+ } else if ( jQuery.isArray( val ) ) {
+ val = jQuery.map( val, function( value ) {
+ return value == null ? "" : value + "";
+ });
+ }
+
+ hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+ // If set returns undefined, fall back to normal setting
+ if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
+ this.value = val;
+ }
+ });
+ }
+});
+
+jQuery.extend({
+ valHooks: {
+ option: {
+ get: function( elem ) {
+ var val = jQuery.find.attr( elem, "value" );
+ return val != null ?
+ val :
+ // Support: IE10-11+
+ // option.text throws exceptions (#14686, #14858)
+ jQuery.trim( jQuery.text( elem ) );
+ }
+ },
+ select: {
+ get: function( elem ) {
+ var value, option,
+ options = elem.options,
+ index = elem.selectedIndex,
+ one = elem.type === "select-one" || index < 0,
+ values = one ? null : [],
+ max = one ? index + 1 : options.length,
+ i = index < 0 ?
+ max :
+ one ? index : 0;
+
+ // Loop through all the selected options
+ for ( ; i < max; i++ ) {
+ option = options[ i ];
+
+ // oldIE doesn't update selected after form reset (#2551)
+ if ( ( option.selected || i === index ) &&
+ // Don't return options that are disabled or in a disabled optgroup
+ ( support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) &&
+ ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
+
+ // Get the specific value for the option
+ value = jQuery( option ).val();
+
+ // We don't need an array for one selects
+ if ( one ) {
+ return value;
+ }
+
+ // Multi-Selects return an array
+ values.push( value );
+ }
+ }
+
+ return values;
+ },
+
+ set: function( elem, value ) {
+ var optionSet, option,
+ options = elem.options,
+ values = jQuery.makeArray( value ),
+ i = options.length;
+
+ while ( i-- ) {
+ option = options[ i ];
+
+ if ( jQuery.inArray( jQuery.valHooks.option.get( option ), values ) >= 0 ) {
+
+ // Support: IE6
+ // When new option element is added to select box we need to
+ // force reflow of newly added node in order to workaround delay
+ // of initialization properties
+ try {
+ option.selected = optionSet = true;
+
+ } catch ( _ ) {
+
+ // Will be executed only in IE6
+ option.scrollHeight;
+ }
+
+ } else {
+ option.selected = false;
+ }
+ }
+
+ // Force browsers to behave consistently when non-matching value is set
+ if ( !optionSet ) {
+ elem.selectedIndex = -1;
+ }
+
+ return options;
+ }
+ }
+ }
+});
+
+// Radios and checkboxes getter/setter
+jQuery.each([ "radio", "checkbox" ], function() {
+ jQuery.valHooks[ this ] = {
+ set: function( elem, value ) {
+ if ( jQuery.isArray( value ) ) {
+ return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
+ }
+ }
+ };
+ if ( !support.checkOn ) {
+ jQuery.valHooks[ this ].get = function( elem ) {
+ // Support: Webkit
+ // "" is returned instead of "on" if a value isn't specified
+ return elem.getAttribute("value") === null ? "on" : elem.value;
+ };
+ }
+});
+
+
+
+
+var nodeHook, boolHook,
+ attrHandle = jQuery.expr.attrHandle,
+ ruseDefault = /^(?:checked|selected)$/i,
+ getSetAttribute = support.getSetAttribute,
+ getSetInput = support.input;
+
+jQuery.fn.extend({
+ attr: function( name, value ) {
+ return access( this, jQuery.attr, name, value, arguments.length > 1 );
+ },
+
+ removeAttr: function( name ) {
+ return this.each(function() {
+ jQuery.removeAttr( this, name );
+ });
+ }
+});
+
+jQuery.extend({
+ attr: function( elem, name, value ) {
+ var hooks, ret,
+ nType = elem.nodeType;
+
+ // don't get/set attributes on text, comment and attribute nodes
+ if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ // Fallback to prop when attributes are not supported
+ if ( typeof elem.getAttribute === strundefined ) {
+ return jQuery.prop( elem, name, value );
+ }
+
+ // All attributes are lowercase
+ // Grab necessary hook if one is defined
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+ name = name.toLowerCase();
+ hooks = jQuery.attrHooks[ name ] ||
+ ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );
+ }
+
+ if ( value !== undefined ) {
+
+ if ( value === null ) {
+ jQuery.removeAttr( elem, name );
+
+ } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
+ return ret;
+
+ } else {
+ elem.setAttribute( name, value + "" );
+ return value;
+ }
+
+ } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
+ return ret;
+
+ } else {
+ ret = jQuery.find.attr( elem, name );
+
+ // Non-existent attributes return null, we normalize to undefined
+ return ret == null ?
+ undefined :
+ ret;
+ }
+ },
+
+ removeAttr: function( elem, value ) {
+ var name, propName,
+ i = 0,
+ attrNames = value && value.match( rnotwhite );
+
+ if ( attrNames && elem.nodeType === 1 ) {
+ while ( (name = attrNames[i++]) ) {
+ propName = jQuery.propFix[ name ] || name;
+
+ // Boolean attributes get special treatment (#10870)
+ if ( jQuery.expr.match.bool.test( name ) ) {
+ // Set corresponding property to false
+ if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {
+ elem[ propName ] = false;
+ // Support: IE<9
+ // Also clear defaultChecked/defaultSelected (if appropriate)
+ } else {
+ elem[ jQuery.camelCase( "default-" + name ) ] =
+ elem[ propName ] = false;
+ }
+
+ // See #9699 for explanation of this approach (setting first, then removal)
+ } else {
+ jQuery.attr( elem, name, "" );
+ }
+
+ elem.removeAttribute( getSetAttribute ? name : propName );
+ }
+ }
+ },
+
+ attrHooks: {
+ type: {
+ set: function( elem, value ) {
+ if ( !support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
+ // Setting the type on a radio button after the value resets the value in IE6-9
+ // Reset value to default in case type is set after value during creation
+ var val = elem.value;
+ elem.setAttribute( "type", value );
+ if ( val ) {
+ elem.value = val;
+ }
+ return value;
+ }
+ }
+ }
+ }
+});
+
+// Hook for boolean attributes
+boolHook = {
+ set: function( elem, value, name ) {
+ if ( value === false ) {
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {
+ // IE<8 needs the *property* name
+ elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name );
+
+ // Use defaultChecked and defaultSelected for oldIE
+ } else {
+ elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true;
+ }
+
+ return name;
+ }
+};
+
+// Retrieve booleans specially
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+
+ var getter = attrHandle[ name ] || jQuery.find.attr;
+
+ attrHandle[ name ] = getSetInput && getSetAttribute || !ruseDefault.test( name ) ?
+ function( elem, name, isXML ) {
+ var ret, handle;
+ if ( !isXML ) {
+ // Avoid an infinite loop by temporarily removing this function from the getter
+ handle = attrHandle[ name ];
+ attrHandle[ name ] = ret;
+ ret = getter( elem, name, isXML ) != null ?
+ name.toLowerCase() :
+ null;
+ attrHandle[ name ] = handle;
+ }
+ return ret;
+ } :
+ function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem[ jQuery.camelCase( "default-" + name ) ] ?
+ name.toLowerCase() :
+ null;
+ }
+ };
+});
+
+// fix oldIE attroperties
+if ( !getSetInput || !getSetAttribute ) {
+ jQuery.attrHooks.value = {
+ set: function( elem, value, name ) {
+ if ( jQuery.nodeName( elem, "input" ) ) {
+ // Does not return so that setAttribute is also used
+ elem.defaultValue = value;
+ } else {
+ // Use nodeHook if defined (#1954); otherwise setAttribute is fine
+ return nodeHook && nodeHook.set( elem, value, name );
+ }
+ }
+ };
+}
+
+// IE6/7 do not support getting/setting some attributes with get/setAttribute
+if ( !getSetAttribute ) {
+
+ // Use this for any attribute in IE6/7
+ // This fixes almost every IE6/7 issue
+ nodeHook = {
+ set: function( elem, value, name ) {
+ // Set the existing or create a new attribute node
+ var ret = elem.getAttributeNode( name );
+ if ( !ret ) {
+ elem.setAttributeNode(
+ (ret = elem.ownerDocument.createAttribute( name ))
+ );
+ }
+
+ ret.value = value += "";
+
+ // Break association with cloned elements by also using setAttribute (#9646)
+ if ( name === "value" || value === elem.getAttribute( name ) ) {
+ return value;
+ }
+ }
+ };
+
+ // Some attributes are constructed with empty-string values when not defined
+ attrHandle.id = attrHandle.name = attrHandle.coords =
+ function( elem, name, isXML ) {
+ var ret;
+ if ( !isXML ) {
+ return (ret = elem.getAttributeNode( name )) && ret.value !== "" ?
+ ret.value :
+ null;
+ }
+ };
+
+ // Fixing value retrieval on a button requires this module
+ jQuery.valHooks.button = {
+ get: function( elem, name ) {
+ var ret = elem.getAttributeNode( name );
+ if ( ret && ret.specified ) {
+ return ret.value;
+ }
+ },
+ set: nodeHook.set
+ };
+
+ // Set contenteditable to false on removals(#10429)
+ // Setting to empty string throws an error as an invalid value
+ jQuery.attrHooks.contenteditable = {
+ set: function( elem, value, name ) {
+ nodeHook.set( elem, value === "" ? false : value, name );
+ }
+ };
+
+ // Set width and height to auto instead of 0 on empty string( Bug #8150 )
+ // This is for removals
+ jQuery.each([ "width", "height" ], function( i, name ) {
+ jQuery.attrHooks[ name ] = {
+ set: function( elem, value ) {
+ if ( value === "" ) {
+ elem.setAttribute( name, "auto" );
+ return value;
+ }
+ }
+ };
+ });
+}
+
+if ( !support.style ) {
+ jQuery.attrHooks.style = {
+ get: function( elem ) {
+ // Return undefined in the case of empty string
+ // Note: IE uppercases css property names, but if we were to .toLowerCase()
+ // .cssText, that would destroy case senstitivity in URL's, like in "background"
+ return elem.style.cssText || undefined;
+ },
+ set: function( elem, value ) {
+ return ( elem.style.cssText = value + "" );
+ }
+ };
+}
+
+
+
+
+var rfocusable = /^(?:input|select|textarea|button|object)$/i,
+ rclickable = /^(?:a|area)$/i;
+
+jQuery.fn.extend({
+ prop: function( name, value ) {
+ return access( this, jQuery.prop, name, value, arguments.length > 1 );
+ },
+
+ removeProp: function( name ) {
+ name = jQuery.propFix[ name ] || name;
+ return this.each(function() {
+ // try/catch handles cases where IE balks (such as removing a property on window)
+ try {
+ this[ name ] = undefined;
+ delete this[ name ];
+ } catch( e ) {}
+ });
+ }
+});
+
+jQuery.extend({
+ propFix: {
+ "for": "htmlFor",
+ "class": "className"
+ },
+
+ prop: function( elem, name, value ) {
+ var ret, hooks, notxml,
+ nType = elem.nodeType;
+
+ // don't get/set properties on text, comment and attribute nodes
+ if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
+
+ if ( notxml ) {
+ // Fix name and attach hooks
+ name = jQuery.propFix[ name ] || name;
+ hooks = jQuery.propHooks[ name ];
+ }
+
+ if ( value !== undefined ) {
+ return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ?
+ ret :
+ ( elem[ name ] = value );
+
+ } else {
+ return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ?
+ ret :
+ elem[ name ];
+ }
+ },
+
+ propHooks: {
+ tabIndex: {
+ get: function( elem ) {
+ // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
+ // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+ // Use proper attribute retrieval(#12072)
+ var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+ return tabindex ?
+ parseInt( tabindex, 10 ) :
+ rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
+ 0 :
+ -1;
+ }
+ }
+ }
+});
+
+// Some attributes require a special call on IE
+// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !support.hrefNormalized ) {
+ // href/src property should get the full normalized URL (#10299/#12915)
+ jQuery.each([ "href", "src" ], function( i, name ) {
+ jQuery.propHooks[ name ] = {
+ get: function( elem ) {
+ return elem.getAttribute( name, 4 );
+ }
+ };
+ });
+}
+
+// Support: Safari, IE9+
+// mis-reports the default selected property of an option
+// Accessing the parent's selectedIndex property fixes it
+if ( !support.optSelected ) {
+ jQuery.propHooks.selected = {
+ get: function( elem ) {
+ var parent = elem.parentNode;
+
+ if ( parent ) {
+ parent.selectedIndex;
+
+ // Make sure that it also works with optgroups, see #5701
+ if ( parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ }
+ return null;
+ }
+ };
+}
+
+jQuery.each([
+ "tabIndex",
+ "readOnly",
+ "maxLength",
+ "cellSpacing",
+ "cellPadding",
+ "rowSpan",
+ "colSpan",
+ "useMap",
+ "frameBorder",
+ "contentEditable"
+], function() {
+ jQuery.propFix[ this.toLowerCase() ] = this;
+});
+
+// IE6/7 call enctype encoding
+if ( !support.enctype ) {
+ jQuery.propFix.enctype = "encoding";
+}
+
+
+
+
+var rclass = /[\t\r\n\f]/g;
+
+jQuery.fn.extend({
+ addClass: function( value ) {
+ var classes, elem, cur, clazz, j, finalValue,
+ i = 0,
+ len = this.length,
+ proceed = typeof value === "string" && value;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each(function( j ) {
+ jQuery( this ).addClass( value.call( this, j, this.className ) );
+ });
+ }
+
+ if ( proceed ) {
+ // The disjunction here is for better compressibility (see removeClass)
+ classes = ( value || "" ).match( rnotwhite ) || [];
+
+ for ( ; i < len; i++ ) {
+ elem = this[ i ];
+ cur = elem.nodeType === 1 && ( elem.className ?
+ ( " " + elem.className + " " ).replace( rclass, " " ) :
+ " "
+ );
+
+ if ( cur ) {
+ j = 0;
+ while ( (clazz = classes[j++]) ) {
+ if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+ cur += clazz + " ";
+ }
+ }
+
+ // only assign if different to avoid unneeded rendering.
+ finalValue = jQuery.trim( cur );
+ if ( elem.className !== finalValue ) {
+ elem.className = finalValue;
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ removeClass: function( value ) {
+ var classes, elem, cur, clazz, j, finalValue,
+ i = 0,
+ len = this.length,
+ proceed = arguments.length === 0 || typeof value === "string" && value;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each(function( j ) {
+ jQuery( this ).removeClass( value.call( this, j, this.className ) );
+ });
+ }
+ if ( proceed ) {
+ classes = ( value || "" ).match( rnotwhite ) || [];
+
+ for ( ; i < len; i++ ) {
+ elem = this[ i ];
+ // This expression is here for better compressibility (see addClass)
+ cur = elem.nodeType === 1 && ( elem.className ?
+ ( " " + elem.className + " " ).replace( rclass, " " ) :
+ ""
+ );
+
+ if ( cur ) {
+ j = 0;
+ while ( (clazz = classes[j++]) ) {
+ // Remove *all* instances
+ while ( cur.indexOf( " " + clazz + " " ) >= 0 ) {
+ cur = cur.replace( " " + clazz + " ", " " );
+ }
+ }
+
+ // only assign if different to avoid unneeded rendering.
+ finalValue = value ? jQuery.trim( cur ) : "";
+ if ( elem.className !== finalValue ) {
+ elem.className = finalValue;
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ toggleClass: function( value, stateVal ) {
+ var type = typeof value;
+
+ if ( typeof stateVal === "boolean" && type === "string" ) {
+ return stateVal ? this.addClass( value ) : this.removeClass( value );
+ }
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each(function( i ) {
+ jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
+ });
+ }
+
+ return this.each(function() {
+ if ( type === "string" ) {
+ // toggle individual class names
+ var className,
+ i = 0,
+ self = jQuery( this ),
+ classNames = value.match( rnotwhite ) || [];
+
+ while ( (className = classNames[ i++ ]) ) {
+ // check each className given, space separated list
+ if ( self.hasClass( className ) ) {
+ self.removeClass( className );
+ } else {
+ self.addClass( className );
+ }
+ }
+
+ // Toggle whole class name
+ } else if ( type === strundefined || type === "boolean" ) {
+ if ( this.className ) {
+ // store className if set
+ jQuery._data( this, "__className__", this.className );
+ }
+
+ // If the element has a class name or if we're passed "false",
+ // then remove the whole classname (if there was one, the above saved it).
+ // Otherwise bring back whatever was previously saved (if anything),
+ // falling back to the empty string if nothing was stored.
+ this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
+ }
+ });
+ },
+
+ hasClass: function( selector ) {
+ var className = " " + selector + " ",
+ i = 0,
+ l = this.length;
+ for ( ; i < l; i++ ) {
+ if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+});
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+ "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
+
+ // Handle event binding
+ jQuery.fn[ name ] = function( data, fn ) {
+ return arguments.length > 0 ?
+ this.on( name, null, data, fn ) :
+ this.trigger( name );
+ };
+});
+
+jQuery.fn.extend({
+ hover: function( fnOver, fnOut ) {
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+ },
+
+ bind: function( types, data, fn ) {
+ return this.on( types, null, data, fn );
+ },
+ unbind: function( types, fn ) {
+ return this.off( types, null, fn );
+ },
+
+ delegate: function( selector, types, data, fn ) {
+ return this.on( types, selector, data, fn );
+ },
+ undelegate: function( selector, types, fn ) {
+ // ( namespace ) or ( selector, types [, fn] )
+ return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn );
+ }
+});
+
+
+var nonce = jQuery.now();
+
+var rquery = (/\?/);
+
+
+
+var rvalidtokens = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;
+
+jQuery.parseJSON = function( data ) {
+ // Attempt to parse using the native JSON parser first
+ if ( window.JSON && window.JSON.parse ) {
+ // Support: Android 2.3
+ // Workaround failure to string-cast null input
+ return window.JSON.parse( data + "" );
+ }
+
+ var requireNonComma,
+ depth = null,
+ str = jQuery.trim( data + "" );
+
+ // Guard against invalid (and possibly dangerous) input by ensuring that nothing remains
+ // after removing valid tokens
+ return str && !jQuery.trim( str.replace( rvalidtokens, function( token, comma, open, close ) {
+
+ // Force termination if we see a misplaced comma
+ if ( requireNonComma && comma ) {
+ depth = 0;
+ }
+
+ // Perform no more replacements after returning to outermost depth
+ if ( depth === 0 ) {
+ return token;
+ }
+
+ // Commas must not follow "[", "{", or ","
+ requireNonComma = open || comma;
+
+ // Determine new depth
+ // array/object open ("[" or "{"): depth += true - false (increment)
+ // array/object close ("]" or "}"): depth += false - true (decrement)
+ // other cases ("," or primitive): depth += true - true (numeric cast)
+ depth += !close - !open;
+
+ // Remove this token
+ return "";
+ }) ) ?
+ ( Function( "return " + str ) )() :
+ jQuery.error( "Invalid JSON: " + data );
+};
+
+
+// Cross-browser xml parsing
+jQuery.parseXML = function( data ) {
+ var xml, tmp;
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+ try {
+ if ( window.DOMParser ) { // Standard
+ tmp = new DOMParser();
+ xml = tmp.parseFromString( data, "text/xml" );
+ } else { // IE
+ xml = new ActiveXObject( "Microsoft.XMLDOM" );
+ xml.async = "false";
+ xml.loadXML( data );
+ }
+ } catch( e ) {
+ xml = undefined;
+ }
+ if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
+ jQuery.error( "Invalid XML: " + data );
+ }
+ return xml;
+};
+
+
+var
+ // Document location
+ ajaxLocParts,
+ ajaxLocation,
+
+ rhash = /#.*$/,
+ rts = /([?&])_=[^&]*/,
+ rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
+ // #7653, #8125, #8152: local protocol detection
+ rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
+ rnoContent = /^(?:GET|HEAD)$/,
+ rprotocol = /^\/\//,
+ rurl = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
+
+ /* Prefilters
+ * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+ * 2) These are called:
+ * - BEFORE asking for a transport
+ * - AFTER param serialization (s.data is a string if s.processData is true)
+ * 3) key is the dataType
+ * 4) the catchall symbol "*" can be used
+ * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+ */
+ prefilters = {},
+
+ /* Transports bindings
+ * 1) key is the dataType
+ * 2) the catchall symbol "*" can be used
+ * 3) selection will start with transport dataType and THEN go to "*" if needed
+ */
+ transports = {},
+
+ // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+ allTypes = "*/".concat("*");
+
+// #8138, IE may throw an exception when accessing
+// a field from window.location if document.domain has been set
+try {
+ ajaxLocation = location.href;
+} catch( e ) {
+ // Use the href attribute of an A element
+ // since IE will modify it given document.location
+ ajaxLocation = document.createElement( "a" );
+ ajaxLocation.href = "";
+ ajaxLocation = ajaxLocation.href;
+}
+
+// Segment location into parts
+ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+ // dataTypeExpression is optional and defaults to "*"
+ return function( dataTypeExpression, func ) {
+
+ if ( typeof dataTypeExpression !== "string" ) {
+ func = dataTypeExpression;
+ dataTypeExpression = "*";
+ }
+
+ var dataType,
+ i = 0,
+ dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];
+
+ if ( jQuery.isFunction( func ) ) {
+ // For each dataType in the dataTypeExpression
+ while ( (dataType = dataTypes[i++]) ) {
+ // Prepend if requested
+ if ( dataType.charAt( 0 ) === "+" ) {
+ dataType = dataType.slice( 1 ) || "*";
+ (structure[ dataType ] = structure[ dataType ] || []).unshift( func );
+
+ // Otherwise append
+ } else {
+ (structure[ dataType ] = structure[ dataType ] || []).push( func );
+ }
+ }
+ }
+ };
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
+
+ var inspected = {},
+ seekingTransport = ( structure === transports );
+
+ function inspect( dataType ) {
+ var selected;
+ inspected[ dataType ] = true;
+ jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
+ var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
+ if ( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
+ options.dataTypes.unshift( dataTypeOrTransport );
+ inspect( dataTypeOrTransport );
+ return false;
+ } else if ( seekingTransport ) {
+ return !( selected = dataTypeOrTransport );
+ }
+ });
+ return selected;
+ }
+
+ return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+ var deep, key,
+ flatOptions = jQuery.ajaxSettings.flatOptions || {};
+
+ for ( key in src ) {
+ if ( src[ key ] !== undefined ) {
+ ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ];
+ }
+ }
+ if ( deep ) {
+ jQuery.extend( true, target, deep );
+ }
+
+ return target;
+}
+
+/* Handles responses to an ajax request:
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+ var firstDataType, ct, finalDataType, type,
+ contents = s.contents,
+ dataTypes = s.dataTypes;
+
+ // Remove auto dataType and get content-type in the process
+ while ( dataTypes[ 0 ] === "*" ) {
+ dataTypes.shift();
+ if ( ct === undefined ) {
+ ct = s.mimeType || jqXHR.getResponseHeader("Content-Type");
+ }
+ }
+
+ // Check if we're dealing with a known content-type
+ if ( ct ) {
+ for ( type in contents ) {
+ if ( contents[ type ] && contents[ type ].test( ct ) ) {
+ dataTypes.unshift( type );
+ break;
+ }
+ }
+ }
+
+ // Check to see if we have a response for the expected dataType
+ if ( dataTypes[ 0 ] in responses ) {
+ finalDataType = dataTypes[ 0 ];
+ } else {
+ // Try convertible dataTypes
+ for ( type in responses ) {
+ if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
+ finalDataType = type;
+ break;
+ }
+ if ( !firstDataType ) {
+ firstDataType = type;
+ }
+ }
+ // Or just use first one
+ finalDataType = finalDataType || firstDataType;
+ }
+
+ // If we found a dataType
+ // We add the dataType to the list if needed
+ // and return the corresponding response
+ if ( finalDataType ) {
+ if ( finalDataType !== dataTypes[ 0 ] ) {
+ dataTypes.unshift( finalDataType );
+ }
+ return responses[ finalDataType ];
+ }
+}
+
+/* Chain conversions given the request and the original response
+ * Also sets the responseXXX fields on the jqXHR instance
+ */
+function ajaxConvert( s, response, jqXHR, isSuccess ) {
+ var conv2, current, conv, tmp, prev,
+ converters = {},
+ // Work with a copy of dataTypes in case we need to modify it for conversion
+ dataTypes = s.dataTypes.slice();
+
+ // Create converters map with lowercased keys
+ if ( dataTypes[ 1 ] ) {
+ for ( conv in s.converters ) {
+ converters[ conv.toLowerCase() ] = s.converters[ conv ];
+ }
+ }
+
+ current = dataTypes.shift();
+
+ // Convert to each sequential dataType
+ while ( current ) {
+
+ if ( s.responseFields[ current ] ) {
+ jqXHR[ s.responseFields[ current ] ] = response;
+ }
+
+ // Apply the dataFilter if provided
+ if ( !prev && isSuccess && s.dataFilter ) {
+ response = s.dataFilter( response, s.dataType );
+ }
+
+ prev = current;
+ current = dataTypes.shift();
+
+ if ( current ) {
+
+ // There's only work to do if current dataType is non-auto
+ if ( current === "*" ) {
+
+ current = prev;
+
+ // Convert response if prev dataType is non-auto and differs from current
+ } else if ( prev !== "*" && prev !== current ) {
+
+ // Seek a direct converter
+ conv = converters[ prev + " " + current ] || converters[ "* " + current ];
+
+ // If none found, seek a pair
+ if ( !conv ) {
+ for ( conv2 in converters ) {
+
+ // If conv2 outputs current
+ tmp = conv2.split( " " );
+ if ( tmp[ 1 ] === current ) {
+
+ // If prev can be converted to accepted input
+ conv = converters[ prev + " " + tmp[ 0 ] ] ||
+ converters[ "* " + tmp[ 0 ] ];
+ if ( conv ) {
+ // Condense equivalence converters
+ if ( conv === true ) {
+ conv = converters[ conv2 ];
+
+ // Otherwise, insert the intermediate dataType
+ } else if ( converters[ conv2 ] !== true ) {
+ current = tmp[ 0 ];
+ dataTypes.unshift( tmp[ 1 ] );
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ // Apply converter (if not an equivalence)
+ if ( conv !== true ) {
+
+ // Unless errors are allowed to bubble, catch and return them
+ if ( conv && s[ "throws" ] ) {
+ response = conv( response );
+ } else {
+ try {
+ response = conv( response );
+ } catch ( e ) {
+ return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current };
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return { state: "success", data: response };
+}
+
+jQuery.extend({
+
+ // Counter for holding the number of active queries
+ active: 0,
+
+ // Last-Modified header cache for next request
+ lastModified: {},
+ etag: {},
+
+ ajaxSettings: {
+ url: ajaxLocation,
+ type: "GET",
+ isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
+ global: true,
+ processData: true,
+ async: true,
+ contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+ /*
+ timeout: 0,
+ data: null,
+ dataType: null,
+ username: null,
+ password: null,
+ cache: null,
+ throws: false,
+ traditional: false,
+ headers: {},
+ */
+
+ accepts: {
+ "*": allTypes,
+ text: "text/plain",
+ html: "text/html",
+ xml: "application/xml, text/xml",
+ json: "application/json, text/javascript"
+ },
+
+ contents: {
+ xml: /xml/,
+ html: /html/,
+ json: /json/
+ },
+
+ responseFields: {
+ xml: "responseXML",
+ text: "responseText",
+ json: "responseJSON"
+ },
+
+ // Data converters
+ // Keys separate source (or catchall "*") and destination types with a single space
+ converters: {
+
+ // Convert anything to text
+ "* text": String,
+
+ // Text to html (true = no transformation)
+ "text html": true,
+
+ // Evaluate text as a json expression
+ "text json": jQuery.parseJSON,
+
+ // Parse text as xml
+ "text xml": jQuery.parseXML
+ },
+
+ // For options that shouldn't be deep extended:
+ // you can add your own custom options here if
+ // and when you create one that shouldn't be
+ // deep extended (see ajaxExtend)
+ flatOptions: {
+ url: true,
+ context: true
+ }
+ },
+
+ // Creates a full fledged settings object into target
+ // with both ajaxSettings and settings fields.
+ // If target is omitted, writes into ajaxSettings.
+ ajaxSetup: function( target, settings ) {
+ return settings ?
+
+ // Building a settings object
+ ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
+
+ // Extending ajaxSettings
+ ajaxExtend( jQuery.ajaxSettings, target );
+ },
+
+ ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+ ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+ // Main method
+ ajax: function( url, options ) {
+
+ // If url is an object, simulate pre-1.5 signature
+ if ( typeof url === "object" ) {
+ options = url;
+ url = undefined;
+ }
+
+ // Force options to be an object
+ options = options || {};
+
+ var // Cross-domain detection vars
+ parts,
+ // Loop variable
+ i,
+ // URL without anti-cache param
+ cacheURL,
+ // Response headers as string
+ responseHeadersString,
+ // timeout handle
+ timeoutTimer,
+
+ // To know if global events are to be dispatched
+ fireGlobals,
+
+ transport,
+ // Response headers
+ responseHeaders,
+ // Create the final options object
+ s = jQuery.ajaxSetup( {}, options ),
+ // Callbacks context
+ callbackContext = s.context || s,
+ // Context for global events is callbackContext if it is a DOM node or jQuery collection
+ globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ?
+ jQuery( callbackContext ) :
+ jQuery.event,
+ // Deferreds
+ deferred = jQuery.Deferred(),
+ completeDeferred = jQuery.Callbacks("once memory"),
+ // Status-dependent callbacks
+ statusCode = s.statusCode || {},
+ // Headers (they are sent all at once)
+ requestHeaders = {},
+ requestHeadersNames = {},
+ // The jqXHR state
+ state = 0,
+ // Default abort message
+ strAbort = "canceled",
+ // Fake xhr
+ jqXHR = {
+ readyState: 0,
+
+ // Builds headers hashtable if needed
+ getResponseHeader: function( key ) {
+ var match;
+ if ( state === 2 ) {
+ if ( !responseHeaders ) {
+ responseHeaders = {};
+ while ( (match = rheaders.exec( responseHeadersString )) ) {
+ responseHeaders[ match[1].toLowerCase() ] = match[ 2 ];
+ }
+ }
+ match = responseHeaders[ key.toLowerCase() ];
+ }
+ return match == null ? null : match;
+ },
+
+ // Raw string
+ getAllResponseHeaders: function() {
+ return state === 2 ? responseHeadersString : null;
+ },
+
+ // Caches the header
+ setRequestHeader: function( name, value ) {
+ var lname = name.toLowerCase();
+ if ( !state ) {
+ name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
+ requestHeaders[ name ] = value;
+ }
+ return this;
+ },
+
+ // Overrides response content-type header
+ overrideMimeType: function( type ) {
+ if ( !state ) {
+ s.mimeType = type;
+ }
+ return this;
+ },
+
+ // Status-dependent callbacks
+ statusCode: function( map ) {
+ var code;
+ if ( map ) {
+ if ( state < 2 ) {
+ for ( code in map ) {
+ // Lazy-add the new callback in a way that preserves old ones
+ statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
+ }
+ } else {
+ // Execute the appropriate callbacks
+ jqXHR.always( map[ jqXHR.status ] );
+ }
+ }
+ return this;
+ },
+
+ // Cancel the request
+ abort: function( statusText ) {
+ var finalText = statusText || strAbort;
+ if ( transport ) {
+ transport.abort( finalText );
+ }
+ done( 0, finalText );
+ return this;
+ }
+ };
+
+ // Attach deferreds
+ deferred.promise( jqXHR ).complete = completeDeferred.add;
+ jqXHR.success = jqXHR.done;
+ jqXHR.error = jqXHR.fail;
+
+ // Remove hash character (#7531: and string promotion)
+ // Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
+ // Handle falsy url in the settings object (#10093: consistency with old signature)
+ // We also use the url parameter if available
+ s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
+
+ // Alias method option to type as per ticket #12004
+ s.type = options.method || options.type || s.method || s.type;
+
+ // Extract dataTypes list
+ s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ];
+
+ // A cross-domain request is in order when we have a protocol:host:port mismatch
+ if ( s.crossDomain == null ) {
+ parts = rurl.exec( s.url.toLowerCase() );
+ s.crossDomain = !!( parts &&
+ ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
+ ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !==
+ ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) )
+ );
+ }
+
+ // Convert data if not already a string
+ if ( s.data && s.processData && typeof s.data !== "string" ) {
+ s.data = jQuery.param( s.data, s.traditional );
+ }
+
+ // Apply prefilters
+ inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+ // If request was aborted inside a prefilter, stop there
+ if ( state === 2 ) {
+ return jqXHR;
+ }
+
+ // We can fire global events as of now if asked to
+ // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
+ fireGlobals = jQuery.event && s.global;
+
+ // Watch for a new set of requests
+ if ( fireGlobals && jQuery.active++ === 0 ) {
+ jQuery.event.trigger("ajaxStart");
+ }
+
+ // Uppercase the type
+ s.type = s.type.toUpperCase();
+
+ // Determine if request has content
+ s.hasContent = !rnoContent.test( s.type );
+
+ // Save the URL in case we're toying with the If-Modified-Since
+ // and/or If-None-Match header later on
+ cacheURL = s.url;
+
+ // More options handling for requests with no content
+ if ( !s.hasContent ) {
+
+ // If data is available, append data to url
+ if ( s.data ) {
+ cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data );
+ // #9682: remove data so that it's not used in an eventual retry
+ delete s.data;
+ }
+
+ // Add anti-cache in url if needed
+ if ( s.cache === false ) {
+ s.url = rts.test( cacheURL ) ?
+
+ // If there is already a '_' parameter, set its value
+ cacheURL.replace( rts, "$1_=" + nonce++ ) :
+
+ // Otherwise add one to the end
+ cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++;
+ }
+ }
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ if ( jQuery.lastModified[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
+ }
+ if ( jQuery.etag[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
+ }
+ }
+
+ // Set the correct header, if data is being sent
+ if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+ jqXHR.setRequestHeader( "Content-Type", s.contentType );
+ }
+
+ // Set the Accepts header for the server, depending on the dataType
+ jqXHR.setRequestHeader(
+ "Accept",
+ s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?
+ s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
+ s.accepts[ "*" ]
+ );
+
+ // Check for headers option
+ for ( i in s.headers ) {
+ jqXHR.setRequestHeader( i, s.headers[ i ] );
+ }
+
+ // Allow custom headers/mimetypes and early abort
+ if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
+ // Abort if not done already and return
+ return jqXHR.abort();
+ }
+
+ // aborting is no longer a cancellation
+ strAbort = "abort";
+
+ // Install callbacks on deferreds
+ for ( i in { success: 1, error: 1, complete: 1 } ) {
+ jqXHR[ i ]( s[ i ] );
+ }
+
+ // Get transport
+ transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+ // If no transport, we auto-abort
+ if ( !transport ) {
+ done( -1, "No Transport" );
+ } else {
+ jqXHR.readyState = 1;
+
+ // Send global event
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+ }
+ // Timeout
+ if ( s.async && s.timeout > 0 ) {
+ timeoutTimer = setTimeout(function() {
+ jqXHR.abort("timeout");
+ }, s.timeout );
+ }
+
+ try {
+ state = 1;
+ transport.send( requestHeaders, done );
+ } catch ( e ) {
+ // Propagate exception as error if not done
+ if ( state < 2 ) {
+ done( -1, e );
+ // Simply rethrow otherwise
+ } else {
+ throw e;
+ }
+ }
+ }
+
+ // Callback for when everything is done
+ function done( status, nativeStatusText, responses, headers ) {
+ var isSuccess, success, error, response, modified,
+ statusText = nativeStatusText;
+
+ // Called once
+ if ( state === 2 ) {
+ return;
+ }
+
+ // State is "done" now
+ state = 2;
+
+ // Clear timeout if it exists
+ if ( timeoutTimer ) {
+ clearTimeout( timeoutTimer );
+ }
+
+ // Dereference transport for early garbage collection
+ // (no matter how long the jqXHR object will be used)
+ transport = undefined;
+
+ // Cache response headers
+ responseHeadersString = headers || "";
+
+ // Set readyState
+ jqXHR.readyState = status > 0 ? 4 : 0;
+
+ // Determine if successful
+ isSuccess = status >= 200 && status < 300 || status === 304;
+
+ // Get response data
+ if ( responses ) {
+ response = ajaxHandleResponses( s, jqXHR, responses );
+ }
+
+ // Convert no matter what (that way responseXXX fields are always set)
+ response = ajaxConvert( s, response, jqXHR, isSuccess );
+
+ // If successful, handle type chaining
+ if ( isSuccess ) {
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ modified = jqXHR.getResponseHeader("Last-Modified");
+ if ( modified ) {
+ jQuery.lastModified[ cacheURL ] = modified;
+ }
+ modified = jqXHR.getResponseHeader("etag");
+ if ( modified ) {
+ jQuery.etag[ cacheURL ] = modified;
+ }
+ }
+
+ // if no content
+ if ( status === 204 || s.type === "HEAD" ) {
+ statusText = "nocontent";
+
+ // if not modified
+ } else if ( status === 304 ) {
+ statusText = "notmodified";
+
+ // If we have data, let's convert it
+ } else {
+ statusText = response.state;
+ success = response.data;
+ error = response.error;
+ isSuccess = !error;
+ }
+ } else {
+ // We extract error from statusText
+ // then normalize statusText and status for non-aborts
+ error = statusText;
+ if ( status || !statusText ) {
+ statusText = "error";
+ if ( status < 0 ) {
+ status = 0;
+ }
+ }
+ }
+
+ // Set data for the fake xhr object
+ jqXHR.status = status;
+ jqXHR.statusText = ( nativeStatusText || statusText ) + "";
+
+ // Success/Error
+ if ( isSuccess ) {
+ deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+ } else {
+ deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+ }
+
+ // Status-dependent callbacks
+ jqXHR.statusCode( statusCode );
+ statusCode = undefined;
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
+ [ jqXHR, s, isSuccess ? success : error ] );
+ }
+
+ // Complete
+ completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+ // Handle the global AJAX counter
+ if ( !( --jQuery.active ) ) {
+ jQuery.event.trigger("ajaxStop");
+ }
+ }
+ }
+
+ return jqXHR;
+ },
+
+ getJSON: function( url, data, callback ) {
+ return jQuery.get( url, data, callback, "json" );
+ },
+
+ getScript: function( url, callback ) {
+ return jQuery.get( url, undefined, callback, "script" );
+ }
+});
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+ jQuery[ method ] = function( url, data, callback, type ) {
+ // shift arguments if data argument was omitted
+ if ( jQuery.isFunction( data ) ) {
+ type = type || callback;
+ callback = data;
+ data = undefined;
+ }
+
+ return jQuery.ajax({
+ url: url,
+ type: method,
+ dataType: type,
+ data: data,
+ success: callback
+ });
+ };
+});
+
+
+jQuery._evalUrl = function( url ) {
+ return jQuery.ajax({
+ url: url,
+ type: "GET",
+ dataType: "script",
+ async: false,
+ global: false,
+ "throws": true
+ });
+};
+
+
+jQuery.fn.extend({
+ wrapAll: function( html ) {
+ if ( jQuery.isFunction( html ) ) {
+ return this.each(function(i) {
+ jQuery(this).wrapAll( html.call(this, i) );
+ });
+ }
+
+ if ( this[0] ) {
+ // The elements to wrap the target around
+ var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
+
+ if ( this[0].parentNode ) {
+ wrap.insertBefore( this[0] );
+ }
+
+ wrap.map(function() {
+ var elem = this;
+
+ while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
+ elem = elem.firstChild;
+ }
+
+ return elem;
+ }).append( this );
+ }
+
+ return this;
+ },
+
+ wrapInner: function( html ) {
+ if ( jQuery.isFunction( html ) ) {
+ return this.each(function(i) {
+ jQuery(this).wrapInner( html.call(this, i) );
+ });
+ }
+
+ return this.each(function() {
+ var self = jQuery( this ),
+ contents = self.contents();
+
+ if ( contents.length ) {
+ contents.wrapAll( html );
+
+ } else {
+ self.append( html );
+ }
+ });
+ },
+
+ wrap: function( html ) {
+ var isFunction = jQuery.isFunction( html );
+
+ return this.each(function(i) {
+ jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
+ });
+ },
+
+ unwrap: function() {
+ return this.parent().each(function() {
+ if ( !jQuery.nodeName( this, "body" ) ) {
+ jQuery( this ).replaceWith( this.childNodes );
+ }
+ }).end();
+ }
+});
+
+
+jQuery.expr.filters.hidden = function( elem ) {
+ // Support: Opera <= 12.12
+ // Opera reports offsetWidths and offsetHeights less than zero on some elements
+ return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 ||
+ (!support.reliableHiddenOffsets() &&
+ ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none");
+};
+
+jQuery.expr.filters.visible = function( elem ) {
+ return !jQuery.expr.filters.hidden( elem );
+};
+
+
+
+
+var r20 = /%20/g,
+ rbracket = /\[\]$/,
+ rCRLF = /\r?\n/g,
+ rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+ rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+ var name;
+
+ if ( jQuery.isArray( obj ) ) {
+ // Serialize array item.
+ jQuery.each( obj, function( i, v ) {
+ if ( traditional || rbracket.test( prefix ) ) {
+ // Treat each array item as a scalar.
+ add( prefix, v );
+
+ } else {
+ // Item is non-scalar (array or object), encode its numeric index.
+ buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add );
+ }
+ });
+
+ } else if ( !traditional && jQuery.type( obj ) === "object" ) {
+ // Serialize object item.
+ for ( name in obj ) {
+ buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+ }
+
+ } else {
+ // Serialize scalar item.
+ add( prefix, obj );
+ }
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+ var prefix,
+ s = [],
+ add = function( key, value ) {
+ // If value is a function, invoke it and return its value
+ value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );
+ s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
+ };
+
+ // Set traditional to true for jQuery <= 1.3.2 behavior.
+ if ( traditional === undefined ) {
+ traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;
+ }
+
+ // If an array was passed in, assume that it is an array of form elements.
+ if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+ // Serialize the form elements
+ jQuery.each( a, function() {
+ add( this.name, this.value );
+ });
+
+ } else {
+ // If traditional, encode the "old" way (the way 1.3.2 or older
+ // did it), otherwise encode params recursively.
+ for ( prefix in a ) {
+ buildParams( prefix, a[ prefix ], traditional, add );
+ }
+ }
+
+ // Return the resulting serialization
+ return s.join( "&" ).replace( r20, "+" );
+};
+
+jQuery.fn.extend({
+ serialize: function() {
+ return jQuery.param( this.serializeArray() );
+ },
+ serializeArray: function() {
+ return this.map(function() {
+ // Can add propHook for "elements" to filter or add form elements
+ var elements = jQuery.prop( this, "elements" );
+ return elements ? jQuery.makeArray( elements ) : this;
+ })
+ .filter(function() {
+ var type = this.type;
+ // Use .is(":disabled") so that fieldset[disabled] works
+ return this.name && !jQuery( this ).is( ":disabled" ) &&
+ rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
+ ( this.checked || !rcheckableType.test( type ) );
+ })
+ .map(function( i, elem ) {
+ var val = jQuery( this ).val();
+
+ return val == null ?
+ null :
+ jQuery.isArray( val ) ?
+ jQuery.map( val, function( val ) {
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ }) :
+ { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ }).get();
+ }
+});
+
+
+// Create the request object
+// (This is still attached to ajaxSettings for backward compatibility)
+jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ?
+ // Support: IE6+
+ function() {
+
+ // XHR cannot access local files, always use ActiveX for that case
+ return !this.isLocal &&
+
+ // Support: IE7-8
+ // oldIE XHR does not support non-RFC2616 methods (#13240)
+ // See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
+ // and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
+ // Although this check for six methods instead of eight
+ // since IE also does not support "trace" and "connect"
+ /^(get|post|head|put|delete|options)$/i.test( this.type ) &&
+
+ createStandardXHR() || createActiveXHR();
+ } :
+ // For all other browsers, use the standard XMLHttpRequest object
+ createStandardXHR;
+
+var xhrId = 0,
+ xhrCallbacks = {},
+ xhrSupported = jQuery.ajaxSettings.xhr();
+
+// Support: IE<10
+// Open requests must be manually aborted on unload (#5280)
+// See https://support.microsoft.com/kb/2856746 for more info
+if ( window.attachEvent ) {
+ window.attachEvent( "onunload", function() {
+ for ( var key in xhrCallbacks ) {
+ xhrCallbacks[ key ]( undefined, true );
+ }
+ });
+}
+
+// Determine support properties
+support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
+xhrSupported = support.ajax = !!xhrSupported;
+
+// Create transport if the browser can provide an xhr
+if ( xhrSupported ) {
+
+ jQuery.ajaxTransport(function( options ) {
+ // Cross domain only allowed if supported through XMLHttpRequest
+ if ( !options.crossDomain || support.cors ) {
+
+ var callback;
+
+ return {
+ send: function( headers, complete ) {
+ var i,
+ xhr = options.xhr(),
+ id = ++xhrId;
+
+ // Open the socket
+ xhr.open( options.type, options.url, options.async, options.username, options.password );
+
+ // Apply custom fields if provided
+ if ( options.xhrFields ) {
+ for ( i in options.xhrFields ) {
+ xhr[ i ] = options.xhrFields[ i ];
+ }
+ }
+
+ // Override mime type if needed
+ if ( options.mimeType && xhr.overrideMimeType ) {
+ xhr.overrideMimeType( options.mimeType );
+ }
+
+ // X-Requested-With header
+ // For cross-domain requests, seeing as conditions for a preflight are
+ // akin to a jigsaw puzzle, we simply never set it to be sure.
+ // (it can always be set on a per-request basis or even using ajaxSetup)
+ // For same-domain requests, won't change header if already provided.
+ if ( !options.crossDomain && !headers["X-Requested-With"] ) {
+ headers["X-Requested-With"] = "XMLHttpRequest";
+ }
+
+ // Set headers
+ for ( i in headers ) {
+ // Support: IE<9
+ // IE's ActiveXObject throws a 'Type Mismatch' exception when setting
+ // request header to a null-value.
+ //
+ // To keep consistent with other XHR implementations, cast the value
+ // to string and ignore `undefined`.
+ if ( headers[ i ] !== undefined ) {
+ xhr.setRequestHeader( i, headers[ i ] + "" );
+ }
+ }
+
+ // Do send the request
+ // This may raise an exception which is actually
+ // handled in jQuery.ajax (so no try/catch here)
+ xhr.send( ( options.hasContent && options.data ) || null );
+
+ // Listener
+ callback = function( _, isAbort ) {
+ var status, statusText, responses;
+
+ // Was never called and is aborted or complete
+ if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
+ // Clean up
+ delete xhrCallbacks[ id ];
+ callback = undefined;
+ xhr.onreadystatechange = jQuery.noop;
+
+ // Abort manually if needed
+ if ( isAbort ) {
+ if ( xhr.readyState !== 4 ) {
+ xhr.abort();
+ }
+ } else {
+ responses = {};
+ status = xhr.status;
+
+ // Support: IE<10
+ // Accessing binary-data responseText throws an exception
+ // (#11426)
+ if ( typeof xhr.responseText === "string" ) {
+ responses.text = xhr.responseText;
+ }
+
+ // Firefox throws an exception when accessing
+ // statusText for faulty cross-domain requests
+ try {
+ statusText = xhr.statusText;
+ } catch( e ) {
+ // We normalize with Webkit giving an empty statusText
+ statusText = "";
+ }
+
+ // Filter status for non standard behaviors
+
+ // If the request is local and we have data: assume a success
+ // (success with no data won't get notified, that's the best we
+ // can do given current implementations)
+ if ( !status && options.isLocal && !options.crossDomain ) {
+ status = responses.text ? 200 : 404;
+ // IE - #1450: sometimes returns 1223 when it should be 204
+ } else if ( status === 1223 ) {
+ status = 204;
+ }
+ }
+ }
+
+ // Call complete if needed
+ if ( responses ) {
+ complete( status, statusText, responses, xhr.getAllResponseHeaders() );
+ }
+ };
+
+ if ( !options.async ) {
+ // if we're in sync mode we fire the callback
+ callback();
+ } else if ( xhr.readyState === 4 ) {
+ // (IE6 & IE7) if it's in cache and has been
+ // retrieved directly we need to fire the callback
+ setTimeout( callback );
+ } else {
+ // Add to the list of active xhr callbacks
+ xhr.onreadystatechange = xhrCallbacks[ id ] = callback;
+ }
+ },
+
+ abort: function() {
+ if ( callback ) {
+ callback( undefined, true );
+ }
+ }
+ };
+ }
+ });
+}
+
+// Functions to create xhrs
+function createStandardXHR() {
+ try {
+ return new window.XMLHttpRequest();
+ } catch( e ) {}
+}
+
+function createActiveXHR() {
+ try {
+ return new window.ActiveXObject( "Microsoft.XMLHTTP" );
+ } catch( e ) {}
+}
+
+
+
+
+// Install script dataType
+jQuery.ajaxSetup({
+ accepts: {
+ script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
+ },
+ contents: {
+ script: /(?:java|ecma)script/
+ },
+ converters: {
+ "text script": function( text ) {
+ jQuery.globalEval( text );
+ return text;
+ }
+ }
+});
+
+// Handle cache's special case and global
+jQuery.ajaxPrefilter( "script", function( s ) {
+ if ( s.cache === undefined ) {
+ s.cache = false;
+ }
+ if ( s.crossDomain ) {
+ s.type = "GET";
+ s.global = false;
+ }
+});
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function(s) {
+
+ // This transport only deals with cross domain requests
+ if ( s.crossDomain ) {
+
+ var script,
+ head = document.head || jQuery("head")[0] || document.documentElement;
+
+ return {
+
+ send: function( _, callback ) {
+
+ script = document.createElement("script");
+
+ script.async = true;
+
+ if ( s.scriptCharset ) {
+ script.charset = s.scriptCharset;
+ }
+
+ script.src = s.url;
+
+ // Attach handlers for all browsers
+ script.onload = script.onreadystatechange = function( _, isAbort ) {
+
+ if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {
+
+ // Handle memory leak in IE
+ script.onload = script.onreadystatechange = null;
+
+ // Remove the script
+ if ( script.parentNode ) {
+ script.parentNode.removeChild( script );
+ }
+
+ // Dereference the script
+ script = null;
+
+ // Callback if not abort
+ if ( !isAbort ) {
+ callback( 200, "success" );
+ }
+ }
+ };
+
+ // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending
+ // Use native DOM manipulation to avoid our domManip AJAX trickery
+ head.insertBefore( script, head.firstChild );
+ },
+
+ abort: function() {
+ if ( script ) {
+ script.onload( undefined, true );
+ }
+ }
+ };
+ }
+});
+
+
+
+
+var oldCallbacks = [],
+ rjsonp = /(=)\?(?=&|$)|\?\?/;
+
+// Default jsonp settings
+jQuery.ajaxSetup({
+ jsonp: "callback",
+ jsonpCallback: function() {
+ var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+ this[ callback ] = true;
+ return callback;
+ }
+});
+
+// Detect, normalize options and install callbacks for jsonp requests
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+ var callbackName, overwritten, responseContainer,
+ jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
+ "url" :
+ typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data"
+ );
+
+ // Handle iff the expected data type is "jsonp" or we have a parameter to set
+ if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
+
+ // Get callback name, remembering preexisting value associated with it
+ callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
+ s.jsonpCallback() :
+ s.jsonpCallback;
+
+ // Insert callback into url or form data
+ if ( jsonProp ) {
+ s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
+ } else if ( s.jsonp !== false ) {
+ s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
+ }
+
+ // Use data converter to retrieve json after script execution
+ s.converters["script json"] = function() {
+ if ( !responseContainer ) {
+ jQuery.error( callbackName + " was not called" );
+ }
+ return responseContainer[ 0 ];
+ };
+
+ // force json dataType
+ s.dataTypes[ 0 ] = "json";
+
+ // Install callback
+ overwritten = window[ callbackName ];
+ window[ callbackName ] = function() {
+ responseContainer = arguments;
+ };
+
+ // Clean-up function (fires after converters)
+ jqXHR.always(function() {
+ // Restore preexisting value
+ window[ callbackName ] = overwritten;
+
+ // Save back as free
+ if ( s[ callbackName ] ) {
+ // make sure that re-using the options doesn't screw things around
+ s.jsonpCallback = originalSettings.jsonpCallback;
+
+ // save the callback name for future use
+ oldCallbacks.push( callbackName );
+ }
+
+ // Call if it was a function and we have a response
+ if ( responseContainer && jQuery.isFunction( overwritten ) ) {
+ overwritten( responseContainer[ 0 ] );
+ }
+
+ responseContainer = overwritten = undefined;
+ });
+
+ // Delegate to script
+ return "script";
+ }
+});
+
+
+
+
+// data: string of html
+// context (optional): If specified, the fragment will be created in this context, defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+ if ( typeof context === "boolean" ) {
+ keepScripts = context;
+ context = false;
+ }
+ context = context || document;
+
+ var parsed = rsingleTag.exec( data ),
+ scripts = !keepScripts && [];
+
+ // Single tag
+ if ( parsed ) {
+ return [ context.createElement( parsed[1] ) ];
+ }
+
+ parsed = jQuery.buildFragment( [ data ], context, scripts );
+
+ if ( scripts && scripts.length ) {
+ jQuery( scripts ).remove();
+ }
+
+ return jQuery.merge( [], parsed.childNodes );
+};
+
+
+// Keep a copy of the old load method
+var _load = jQuery.fn.load;
+
+/**
+ * Load a url into a page
+ */
+jQuery.fn.load = function( url, params, callback ) {
+ if ( typeof url !== "string" && _load ) {
+ return _load.apply( this, arguments );
+ }
+
+ var selector, response, type,
+ self = this,
+ off = url.indexOf(" ");
+
+ if ( off >= 0 ) {
+ selector = jQuery.trim( url.slice( off, url.length ) );
+ url = url.slice( 0, off );
+ }
+
+ // If it's a function
+ if ( jQuery.isFunction( params ) ) {
+
+ // We assume that it's the callback
+ callback = params;
+ params = undefined;
+
+ // Otherwise, build a param string
+ } else if ( params && typeof params === "object" ) {
+ type = "POST";
+ }
+
+ // If we have elements to modify, make the request
+ if ( self.length > 0 ) {
+ jQuery.ajax({
+ url: url,
+
+ // if "type" variable is undefined, then "GET" method will be used
+ type: type,
+ dataType: "html",
+ data: params
+ }).done(function( responseText ) {
+
+ // Save response for use in complete callback
+ response = arguments;
+
+ self.html( selector ?
+
+ // If a selector was specified, locate the right elements in a dummy div
+ // Exclude scripts to avoid IE 'Permission Denied' errors
+ jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) :
+
+ // Otherwise use the full result
+ responseText );
+
+ }).complete( callback && function( jqXHR, status ) {
+ self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );
+ });
+ }
+
+ return this;
+};
+
+
+
+
+// Attach a bunch of functions for handling common AJAX events
+jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) {
+ jQuery.fn[ type ] = function( fn ) {
+ return this.on( type, fn );
+ };
+});
+
+
+
+
+jQuery.expr.filters.animated = function( elem ) {
+ return jQuery.grep(jQuery.timers, function( fn ) {
+ return elem === fn.elem;
+ }).length;
+};
+
+
+
+
+
+var docElem = window.document.documentElement;
+
+/**
+ * Gets a window from an element
+ */
+function getWindow( elem ) {
+ return jQuery.isWindow( elem ) ?
+ elem :
+ elem.nodeType === 9 ?
+ elem.defaultView || elem.parentWindow :
+ false;
+}
+
+jQuery.offset = {
+ setOffset: function( elem, options, i ) {
+ var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
+ position = jQuery.css( elem, "position" ),
+ curElem = jQuery( elem ),
+ props = {};
+
+ // set position first, in-case top/left are set even on static elem
+ if ( position === "static" ) {
+ elem.style.position = "relative";
+ }
+
+ curOffset = curElem.offset();
+ curCSSTop = jQuery.css( elem, "top" );
+ curCSSLeft = jQuery.css( elem, "left" );
+ calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+ jQuery.inArray("auto", [ curCSSTop, curCSSLeft ] ) > -1;
+
+ // need to be able to calculate position if either top or left is auto and position is either absolute or fixed
+ if ( calculatePosition ) {
+ curPosition = curElem.position();
+ curTop = curPosition.top;
+ curLeft = curPosition.left;
+ } else {
+ curTop = parseFloat( curCSSTop ) || 0;
+ curLeft = parseFloat( curCSSLeft ) || 0;
+ }
+
+ if ( jQuery.isFunction( options ) ) {
+ options = options.call( elem, i, curOffset );
+ }
+
+ if ( options.top != null ) {
+ props.top = ( options.top - curOffset.top ) + curTop;
+ }
+ if ( options.left != null ) {
+ props.left = ( options.left - curOffset.left ) + curLeft;
+ }
+
+ if ( "using" in options ) {
+ options.using.call( elem, props );
+ } else {
+ curElem.css( props );
+ }
+ }
+};
+
+jQuery.fn.extend({
+ offset: function( options ) {
+ if ( arguments.length ) {
+ return options === undefined ?
+ this :
+ this.each(function( i ) {
+ jQuery.offset.setOffset( this, options, i );
+ });
+ }
+
+ var docElem, win,
+ box = { top: 0, left: 0 },
+ elem = this[ 0 ],
+ doc = elem && elem.ownerDocument;
+
+ if ( !doc ) {
+ return;
+ }
+
+ docElem = doc.documentElement;
+
+ // Make sure it's not a disconnected DOM node
+ if ( !jQuery.contains( docElem, elem ) ) {
+ return box;
+ }
+
+ // If we don't have gBCR, just use 0,0 rather than error
+ // BlackBerry 5, iOS 3 (original iPhone)
+ if ( typeof elem.getBoundingClientRect !== strundefined ) {
+ box = elem.getBoundingClientRect();
+ }
+ win = getWindow( doc );
+ return {
+ top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ),
+ left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 )
+ };
+ },
+
+ position: function() {
+ if ( !this[ 0 ] ) {
+ return;
+ }
+
+ var offsetParent, offset,
+ parentOffset = { top: 0, left: 0 },
+ elem = this[ 0 ];
+
+ // fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent
+ if ( jQuery.css( elem, "position" ) === "fixed" ) {
+ // we assume that getBoundingClientRect is available when computed position is fixed
+ offset = elem.getBoundingClientRect();
+ } else {
+ // Get *real* offsetParent
+ offsetParent = this.offsetParent();
+
+ // Get correct offsets
+ offset = this.offset();
+ if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {
+ parentOffset = offsetParent.offset();
+ }
+
+ // Add offsetParent borders
+ parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true );
+ parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true );
+ }
+
+ // Subtract parent offsets and element margins
+ // note: when an element has margin: auto the offsetLeft and marginLeft
+ // are the same in Safari causing offset.left to incorrectly be 0
+ return {
+ top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+ left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true)
+ };
+ },
+
+ offsetParent: function() {
+ return this.map(function() {
+ var offsetParent = this.offsetParent || docElem;
+
+ while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position" ) === "static" ) ) {
+ offsetParent = offsetParent.offsetParent;
+ }
+ return offsetParent || docElem;
+ });
+ }
+});
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
+ var top = /Y/.test( prop );
+
+ jQuery.fn[ method ] = function( val ) {
+ return access( this, function( elem, method, val ) {
+ var win = getWindow( elem );
+
+ if ( val === undefined ) {
+ return win ? (prop in win) ? win[ prop ] :
+ win.document.documentElement[ method ] :
+ elem[ method ];
+ }
+
+ if ( win ) {
+ win.scrollTo(
+ !top ? val : jQuery( win ).scrollLeft(),
+ top ? val : jQuery( win ).scrollTop()
+ );
+
+ } else {
+ elem[ method ] = val;
+ }
+ }, method, val, arguments.length, null );
+ };
+});
+
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// getComputedStyle returns percent when specified for top/left/bottom/right
+// rather than make the css module depend on the offset module, we just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+ jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+ function( elem, computed ) {
+ if ( computed ) {
+ computed = curCSS( elem, prop );
+ // if curCSS returns percentage, fallback to offset
+ return rnumnonpx.test( computed ) ?
+ jQuery( elem ).position()[ prop ] + "px" :
+ computed;
+ }
+ }
+ );
+});
+
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+ jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) {
+ // margin is only for outerHeight, outerWidth
+ jQuery.fn[ funcName ] = function( margin, value ) {
+ var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+ extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+ return access( this, function( elem, type, value ) {
+ var doc;
+
+ if ( jQuery.isWindow( elem ) ) {
+ // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
+ // isn't a whole lot we can do. See pull request at this URL for discussion:
+ // https://github.com/jquery/jquery/pull/764
+ return elem.document.documentElement[ "client" + name ];
+ }
+
+ // Get document width or height
+ if ( elem.nodeType === 9 ) {
+ doc = elem.documentElement;
+
+ // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest
+ // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it.
+ return Math.max(
+ elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+ elem.body[ "offset" + name ], doc[ "offset" + name ],
+ doc[ "client" + name ]
+ );
+ }
+
+ return value === undefined ?
+ // Get width or height on the element, requesting but not forcing parseFloat
+ jQuery.css( elem, type, extra ) :
+
+ // Set width or height on the element
+ jQuery.style( elem, type, value, extra );
+ }, type, chainable ? margin : undefined, chainable, null );
+ };
+ });
+});
+
+
+// The number of elements contained in the matched element set
+jQuery.fn.size = function() {
+ return this.length;
+};
+
+jQuery.fn.andSelf = jQuery.fn.addBack;
+
+
+
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+ define( "jquery", [], function() {
+ return jQuery;
+ });
+}
+
+
+
+
+var
+ // Map over jQuery in case of overwrite
+ _jQuery = window.jQuery,
+
+ // Map over the $ in case of overwrite
+ _$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+ if ( window.$ === jQuery ) {
+ window.$ = _$;
+ }
+
+ if ( deep && window.jQuery === jQuery ) {
+ window.jQuery = _jQuery;
+ }
+
+ return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in
+// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( typeof noGlobal === strundefined ) {
+ window.jQuery = window.$ = jQuery;
+}
+
+
+
+
+return jQuery;
+
+}));
diff --git a/uikit/static/js/lib/jquery-1.11.3.min.js b/uikit/static/js/lib/jquery-1.11.3.min.js
new file mode 100644
index 0000000..0f60b7b
--- /dev/null
+++ b/uikit/static/js/lib/jquery-1.11.3.min.js
@@ -0,0 +1,5 @@
+/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
+
+return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){
+return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m});
diff --git a/uikit/static/js/uikit.js b/uikit/static/js/uikit.js
new file mode 100644
index 0000000..bce6f80
--- /dev/null
+++ b/uikit/static/js/uikit.js
@@ -0,0 +1,3400 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+(function(core) {
+
+ if (typeof define == "function" && define.amd) { // AMD
+
+ define("uikit", function(){
+
+ var uikit = window.UIkit || core(window, window.jQuery, window.document);
+
+ uikit.load = function(res, req, onload, config) {
+
+ var resources = res.split(','), load = [], i, base = (config.config && config.config.uikit && config.config.uikit.base ? config.config.uikit.base : "").replace(/\/+$/g, "");
+
+ if (!base) {
+ throw new Error( "Please define base path to UIkit in the requirejs config." );
+ }
+
+ for (i = 0; i < resources.length; i += 1) {
+ var resource = resources[i].replace(/\./g, '/');
+ load.push(base+'/components/'+resource);
+ }
+
+ req(load, function() {
+ onload(uikit);
+ });
+ };
+
+ return uikit;
+ });
+ }
+
+ if (!window.jQuery) {
+ throw new Error( "UIkit requires jQuery" );
+ }
+
+ if (window && window.jQuery) {
+ core(window, window.jQuery, window.document);
+ }
+
+
+})(function(global, $, doc) {
+
+ "use strict";
+
+ var UI = {}, _UI = global.UIkit ? Object.create(global.UIkit) : undefined;
+
+ UI.version = '2.21.0';
+
+ UI.noConflict = function() {
+ // restore UIkit version
+ if (_UI) {
+ global.UIkit = _UI;
+ $.UIkit = _UI;
+ $.fn.uk = _UI.fn;
+ }
+
+ return UI;
+ };
+
+ UI.prefix = function(str) {
+ return str;
+ };
+
+ // cache jQuery
+ UI.$ = $;
+
+ UI.$doc = UI.$(document);
+ UI.$win = UI.$(window);
+ UI.$html = UI.$('html');
+
+ UI.support = {};
+ UI.support.transition = (function() {
+
+ var transitionEnd = (function() {
+
+ var element = doc.body || doc.documentElement,
+ transEndEventNames = {
+ WebkitTransition : 'webkitTransitionEnd',
+ MozTransition : 'transitionend',
+ OTransition : 'oTransitionEnd otransitionend',
+ transition : 'transitionend'
+ }, name;
+
+ for (name in transEndEventNames) {
+ if (element.style[name] !== undefined) return transEndEventNames[name];
+ }
+ }());
+
+ return transitionEnd && { end: transitionEnd };
+ })();
+
+ UI.support.animation = (function() {
+
+ var animationEnd = (function() {
+
+ var element = doc.body || doc.documentElement,
+ animEndEventNames = {
+ WebkitAnimation : 'webkitAnimationEnd',
+ MozAnimation : 'animationend',
+ OAnimation : 'oAnimationEnd oanimationend',
+ animation : 'animationend'
+ }, name;
+
+ for (name in animEndEventNames) {
+ if (element.style[name] !== undefined) return animEndEventNames[name];
+ }
+ }());
+
+ return animationEnd && { end: animationEnd };
+ })();
+
+ // requestAnimationFrame polyfill
+ // https://gist.github.com/paulirish/1579671
+ (function(){
+
+ var lastTime = 0;
+
+ global.requestAnimationFrame = global.requestAnimationFrame || global.webkitRequestAnimationFrame || function(callback, element) {
+ var currTime = new Date().getTime();
+ var timeToCall = Math.max(0, 16 - (currTime - lastTime));
+ var id = global.setTimeout(function() { callback(currTime + timeToCall); }, timeToCall);
+ lastTime = currTime + timeToCall;
+ return id;
+ };
+
+ if (!global.cancelAnimationFrame) {
+
+ global.cancelAnimationFrame = function(id) {
+ clearTimeout(id);
+ };
+ }
+
+ })();
+
+ UI.support.touch = (
+ ('ontouchstart' in document) ||
+ (global.DocumentTouch && document instanceof global.DocumentTouch) ||
+ (global.navigator.msPointerEnabled && global.navigator.msMaxTouchPoints > 0) || //IE 10
+ (global.navigator.pointerEnabled && global.navigator.maxTouchPoints > 0) || //IE >=11
+ false
+ );
+
+ UI.support.mutationobserver = (global.MutationObserver || global.WebKitMutationObserver || null);
+
+ UI.Utils = {};
+
+ UI.Utils.isFullscreen = function() {
+ return document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || document.fullscreenElement || false;
+ };
+
+ UI.Utils.str2json = function(str, notevil) {
+ try {
+ if (notevil) {
+ return JSON.parse(str
+ // wrap keys without quote with valid double quote
+ .replace(/([\$\w]+)\s*:/g, function(_, $1){return '"'+$1+'":';})
+ // replacing single quote wrapped ones to double quote
+ .replace(/'([^']+)'/g, function(_, $1){return '"'+$1+'"';})
+ );
+ } else {
+ return (new Function("", "var json = " + str + "; return JSON.parse(JSON.stringify(json));"))();
+ }
+ } catch(e) { return false; }
+ };
+
+ UI.Utils.debounce = function(func, wait, immediate) {
+ var timeout;
+ return function() {
+ var context = this, args = arguments;
+ var later = function() {
+ timeout = null;
+ if (!immediate) func.apply(context, args);
+ };
+ var callNow = immediate && !timeout;
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+ if (callNow) func.apply(context, args);
+ };
+ };
+
+ UI.Utils.removeCssRules = function(selectorRegEx) {
+ var idx, idxs, stylesheet, _i, _j, _k, _len, _len1, _len2, _ref;
+
+ if(!selectorRegEx) return;
+
+ setTimeout(function(){
+ try {
+ _ref = document.styleSheets;
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
+ stylesheet = _ref[_i];
+ idxs = [];
+ stylesheet.cssRules = stylesheet.cssRules;
+ for (idx = _j = 0, _len1 = stylesheet.cssRules.length; _j < _len1; idx = ++_j) {
+ if (stylesheet.cssRules[idx].type === CSSRule.STYLE_RULE && selectorRegEx.test(stylesheet.cssRules[idx].selectorText)) {
+ idxs.unshift(idx);
+ }
+ }
+ for (_k = 0, _len2 = idxs.length; _k < _len2; _k++) {
+ stylesheet.deleteRule(idxs[_k]);
+ }
+ }
+ } catch (_error) {}
+ }, 0);
+ };
+
+ UI.Utils.isInView = function(element, options) {
+
+ var $element = $(element);
+
+ if (!$element.is(':visible')) {
+ return false;
+ }
+
+ var window_left = UI.$win.scrollLeft(), window_top = UI.$win.scrollTop(), offset = $element.offset(), left = offset.left, top = offset.top;
+
+ options = $.extend({topoffset:0, leftoffset:0}, options);
+
+ if (top + $element.height() >= window_top && top - options.topoffset <= window_top + UI.$win.height() &&
+ left + $element.width() >= window_left && left - options.leftoffset <= window_left + UI.$win.width()) {
+ return true;
+ } else {
+ return false;
+ }
+ };
+
+ UI.Utils.checkDisplay = function(context, initanimation) {
+
+ var elements = UI.$('[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]', context || document), animated;
+
+ if (context && !elements.length) {
+ elements = $(context);
+ }
+
+ elements.trigger('display.uk.check');
+
+ // fix firefox / IE animations
+ if (initanimation) {
+
+ if (typeof(initanimation)!='string') {
+ initanimation = '[class*="uk-animation-"]';
+ }
+
+ elements.find(initanimation).each(function(){
+
+ var ele = UI.$(this),
+ cls = ele.attr('class'),
+ anim = cls.match(/uk\-animation\-(.+)/);
+
+ ele.removeClass(anim[0]).width();
+
+ ele.addClass(anim[0]);
+ });
+ }
+
+ return elements;
+ };
+
+ UI.Utils.options = function(string) {
+
+ if ($.isPlainObject(string)) return string;
+
+ var start = (string ? string.indexOf("{") : -1), options = {};
+
+ if (start != -1) {
+ try {
+ options = UI.Utils.str2json(string.substr(start));
+ } catch (e) {}
+ }
+
+ return options;
+ };
+
+ UI.Utils.animate = function(element, cls) {
+
+ var d = $.Deferred();
+
+ element = UI.$(element);
+ cls = cls;
+
+ element.css('display', 'none').addClass(cls).one(UI.support.animation.end, function() {
+ element.removeClass(cls);
+ d.resolve();
+ }).width();
+
+ element.css('display', '');
+
+ return d.promise();
+ };
+
+ UI.Utils.uid = function(prefix) {
+ return (prefix || 'id') + (new Date().getTime())+"RAND"+(Math.ceil(Math.random() * 100000));
+ };
+
+ UI.Utils.template = function(str, data) {
+
+ var tokens = str.replace(/\n/g, '\\n').replace(/\{\{\{\s*(.+?)\s*\}\}\}/g, "{{!$1}}").split(/(\{\{\s*(.+?)\s*\}\})/g),
+ i=0, toc, cmd, prop, val, fn, output = [], openblocks = 0;
+
+ while(i < tokens.length) {
+
+ toc = tokens[i];
+
+ if(toc.match(/\{\{\s*(.+?)\s*\}\}/)) {
+ i = i + 1;
+ toc = tokens[i];
+ cmd = toc[0];
+ prop = toc.substring(toc.match(/^(\^|\#|\!|\~|\:)/) ? 1:0);
+
+ switch(cmd) {
+ case '~':
+ output.push("for(var $i=0;$i<"+prop+".length;$i++) { var $item = "+prop+"[$i];");
+ openblocks++;
+ break;
+ case ':':
+ output.push("for(var $key in "+prop+") { var $val = "+prop+"[$key];");
+ openblocks++;
+ break;
+ case '#':
+ output.push("if("+prop+") {");
+ openblocks++;
+ break;
+ case '^':
+ output.push("if(!"+prop+") {");
+ openblocks++;
+ break;
+ case '/':
+ output.push("}");
+ openblocks--;
+ break;
+ case '!':
+ output.push("__ret.push("+prop+");");
+ break;
+ default:
+ output.push("__ret.push(escape("+prop+"));");
+ break;
+ }
+ } else {
+ output.push("__ret.push('"+toc.replace(/\'/g, "\\'")+"');");
+ }
+ i = i + 1;
+ }
+
+ fn = new Function('$data', [
+ 'var __ret = [];',
+ 'try {',
+ 'with($data){', (!openblocks ? output.join('') : '__ret = ["Not all blocks are closed correctly."]'), '};',
+ '}catch(e){__ret = [e.message];}',
+ 'return __ret.join("").replace(/\\n\\n/g, "\\n");',
+ "function escape(html) { return String(html).replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');}"
+ ].join("\n"));
+
+ return data ? fn(data) : fn;
+ };
+
+ UI.Utils.events = {};
+ UI.Utils.events.click = UI.support.touch ? 'tap' : 'click';
+
+ global.UIkit = UI;
+
+ // deprecated
+
+ UI.fn = function(command, options) {
+
+ var args = arguments, cmd = command.match(/^([a-z\-]+)(?:\.([a-z]+))?/i), component = cmd[1], method = cmd[2];
+
+ if (!UI[component]) {
+ $.error("UIkit component [" + component + "] does not exist.");
+ return this;
+ }
+
+ return this.each(function() {
+ var $this = $(this), data = $this.data(component);
+ if (!data) $this.data(component, (data = UI[component](this, method ? undefined : options)));
+ if (method) data[method].apply(data, Array.prototype.slice.call(args, 1));
+ });
+ };
+
+ $.UIkit = UI;
+ $.fn.uk = UI.fn;
+
+ UI.langdirection = UI.$html.attr("dir") == "rtl" ? "right" : "left";
+
+ UI.components = {};
+
+ UI.component = function(name, def) {
+
+ var fn = function(element, options) {
+
+ var $this = this;
+
+ this.UIkit = UI;
+ this.element = element ? UI.$(element) : null;
+ this.options = $.extend(true, {}, this.defaults, options);
+ this.plugins = {};
+
+ if (this.element) {
+ this.element.data(name, this);
+ }
+
+ this.init();
+
+ (this.options.plugins.length ? this.options.plugins : Object.keys(fn.plugins)).forEach(function(plugin) {
+
+ if (fn.plugins[plugin].init) {
+ fn.plugins[plugin].init($this);
+ $this.plugins[plugin] = true;
+ }
+
+ });
+
+ this.trigger('init.uk.component', [name, this]);
+
+ return this;
+ };
+
+ fn.plugins = {};
+
+ $.extend(true, fn.prototype, {
+
+ defaults : {plugins: []},
+
+ boot: function(){},
+ init: function(){},
+
+ on: function(a1,a2,a3){
+ return UI.$(this.element || this).on(a1,a2,a3);
+ },
+
+ one: function(a1,a2,a3){
+ return UI.$(this.element || this).one(a1,a2,a3);
+ },
+
+ off: function(evt){
+ return UI.$(this.element || this).off(evt);
+ },
+
+ trigger: function(evt, params) {
+ return UI.$(this.element || this).trigger(evt, params);
+ },
+
+ find: function(selector) {
+ return UI.$(this.element ? this.element: []).find(selector);
+ },
+
+ proxy: function(obj, methods) {
+
+ var $this = this;
+
+ methods.split(' ').forEach(function(method) {
+ if (!$this[method]) $this[method] = function() { return obj[method].apply(obj, arguments); };
+ });
+ },
+
+ mixin: function(obj, methods) {
+
+ var $this = this;
+
+ methods.split(' ').forEach(function(method) {
+ if (!$this[method]) $this[method] = obj[method].bind($this);
+ });
+ },
+
+ option: function() {
+
+ if (arguments.length == 1) {
+ return this.options[arguments[0]] || undefined;
+ } else if (arguments.length == 2) {
+ this.options[arguments[0]] = arguments[1];
+ }
+ }
+
+ }, def);
+
+ this.components[name] = fn;
+
+ this[name] = function() {
+
+ var element, options;
+
+ if (arguments.length) {
+
+ switch(arguments.length) {
+ case 1:
+
+ if (typeof arguments[0] === "string" || arguments[0].nodeType || arguments[0] instanceof jQuery) {
+ element = $(arguments[0]);
+ } else {
+ options = arguments[0];
+ }
+
+ break;
+ case 2:
+
+ element = $(arguments[0]);
+ options = arguments[1];
+ break;
+ }
+ }
+
+ if (element && element.data(name)) {
+ return element.data(name);
+ }
+
+ return (new UI.components[name](element, options));
+ };
+
+ if (UI.domready) {
+ UI.component.boot(name);
+ }
+
+ return fn;
+ };
+
+ UI.plugin = function(component, name, def) {
+ this.components[component].plugins[name] = def;
+ };
+
+ UI.component.boot = function(name) {
+
+ if (UI.components[name].prototype && UI.components[name].prototype.boot && !UI.components[name].booted) {
+ UI.components[name].prototype.boot.apply(UI, []);
+ UI.components[name].booted = true;
+ }
+ };
+
+ UI.component.bootComponents = function() {
+
+ for (var component in UI.components) {
+ UI.component.boot(component);
+ }
+ };
+
+
+ // DOM mutation save ready helper function
+
+ UI.domObservers = [];
+ UI.domready = false;
+
+ UI.ready = function(fn) {
+
+ UI.domObservers.push(fn);
+
+ if (UI.domready) {
+ fn(document);
+ }
+ };
+
+ UI.on = function(a1,a2,a3){
+
+ if (a1 && a1.indexOf('ready.uk.dom') > -1 && UI.domready) {
+ a2.apply(UI.$doc);
+ }
+
+ return UI.$doc.on(a1,a2,a3);
+ };
+
+ UI.one = function(a1,a2,a3){
+
+ if (a1 && a1.indexOf('ready.uk.dom') > -1 && UI.domready) {
+ a2.apply(UI.$doc);
+ return UI.$doc;
+ }
+
+ return UI.$doc.one(a1,a2,a3);
+ };
+
+ UI.trigger = function(evt, params) {
+ return UI.$doc.trigger(evt, params);
+ };
+
+ UI.domObserve = function(selector, fn) {
+
+ if(!UI.support.mutationobserver) return;
+
+ fn = fn || function() {};
+
+ UI.$(selector).each(function() {
+
+ var element = this,
+ $element = UI.$(element);
+
+ if ($element.data('observer')) {
+ return;
+ }
+
+ try {
+
+ var observer = new UI.support.mutationobserver(UI.Utils.debounce(function(mutations) {
+ fn.apply(element, []);
+ $element.trigger('changed.uk.dom');
+ }, 50));
+
+ // pass in the target node, as well as the observer options
+ observer.observe(element, { childList: true, subtree: true });
+
+ $element.data('observer', observer);
+
+ } catch(e) {}
+ });
+ };
+
+ UI.init = function(root) {
+
+ root = root || document;
+
+ UI.domObservers.forEach(function(fn){
+ fn(root);
+ });
+ };
+
+ UI.on('domready.uk.dom', function(){
+
+ UI.init();
+
+ if (UI.domready) UI.Utils.checkDisplay();
+ });
+
+ $(function(){
+
+ UI.$body = UI.$('body');
+
+ UI.ready(function(context){
+ UI.domObserve('[data-uk-observe]');
+ });
+
+ UI.on('changed.uk.dom', function(e) {
+ UI.init(e.target);
+ UI.Utils.checkDisplay(e.target);
+ });
+
+ UI.trigger('beforeready.uk.dom');
+
+ UI.component.bootComponents();
+
+ // custom scroll observer
+ setInterval((function(){
+
+ var memory = {x: window.pageXOffset, y:window.pageYOffset}, dir;
+
+ var fn = function(){
+
+ if (memory.x != window.pageXOffset || memory.y != window.pageYOffset) {
+
+ dir = {x: 0 , y: 0};
+
+ if (window.pageXOffset != memory.x) dir.x = window.pageXOffset > memory.x ? 1:-1;
+ if (window.pageYOffset != memory.y) dir.y = window.pageYOffset > memory.y ? 1:-1;
+
+ memory = {
+ "dir": dir, "x": window.pageXOffset, "y": window.pageYOffset
+ };
+
+ UI.$doc.trigger('scrolling.uk.document', [memory]);
+ }
+ };
+
+ if (UI.support.touch) {
+ UI.$html.on('touchmove touchend MSPointerMove MSPointerUp pointermove pointerup', fn);
+ }
+
+ if (memory.x || memory.y) fn();
+
+ return fn;
+
+ })(), 15);
+
+ // run component init functions on dom
+ UI.trigger('domready.uk.dom');
+
+ if (UI.support.touch) {
+
+ // remove css hover rules for touch devices
+ // UI.Utils.removeCssRules(/\.uk-(?!navbar).*:hover/);
+
+ // viewport unit fix for uk-height-viewport - should be fixed in iOS 8
+ if (navigator.userAgent.match(/(iPad|iPhone|iPod)/g)) {
+
+ UI.$win.on('load orientationchange resize', UI.Utils.debounce((function(){
+
+ var fn = function() {
+ $('.uk-height-viewport').css('height', window.innerHeight);
+ return fn;
+ };
+
+ return fn();
+
+ })(), 100));
+ }
+ }
+
+ UI.trigger('afterready.uk.dom');
+
+ // mark that domready is left behind
+ UI.domready = true;
+ });
+
+ // add touch identifier class
+ UI.$html.addClass(UI.support.touch ? "uk-touch" : "uk-notouch");
+
+ // add uk-hover class on tap to support overlays on touch devices
+ if (UI.support.touch) {
+
+ var hoverset = false, exclude, hovercls = 'uk-hover', selector = '.uk-overlay, .uk-overlay-hover, .uk-overlay-toggle, .uk-animation-hover, .uk-has-hover';
+
+ UI.$html.on('touchstart MSPointerDown pointerdown', selector, function() {
+
+ if (hoverset) $('.'+hovercls).removeClass(hovercls);
+
+ hoverset = $(this).addClass(hovercls);
+
+ }).on('touchend MSPointerUp pointerup', function(e) {
+
+ exclude = $(e.target).parents(selector);
+
+ if (hoverset) {
+ hoverset.not(exclude).removeClass(hovercls);
+ }
+ });
+ }
+
+ return UI;
+});
+
+// Based on Zeptos touch.js
+// https://raw.github.com/madrobby/zepto/master/src/touch.js
+// Zepto.js may be freely distributed under the MIT license.
+
+;(function($){
+
+ if ($.fn.swipeLeft) {
+ return;
+ }
+
+
+ var touch = {}, touchTimeout, tapTimeout, swipeTimeout, longTapTimeout, longTapDelay = 750, gesture;
+
+ function swipeDirection(x1, x2, y1, y2) {
+ return Math.abs(x1 - x2) >= Math.abs(y1 - y2) ? (x1 - x2 > 0 ? 'Left' : 'Right') : (y1 - y2 > 0 ? 'Up' : 'Down');
+ }
+
+ function longTap() {
+ longTapTimeout = null;
+ if (touch.last) {
+ touch.el.trigger('longTap');
+ touch = {};
+ }
+ }
+
+ function cancelLongTap() {
+ if (longTapTimeout) clearTimeout(longTapTimeout);
+ longTapTimeout = null;
+ }
+
+ function cancelAll() {
+ if (touchTimeout) clearTimeout(touchTimeout);
+ if (tapTimeout) clearTimeout(tapTimeout);
+ if (swipeTimeout) clearTimeout(swipeTimeout);
+ if (longTapTimeout) clearTimeout(longTapTimeout);
+ touchTimeout = tapTimeout = swipeTimeout = longTapTimeout = null;
+ touch = {};
+ }
+
+ function isPrimaryTouch(event){
+ return event.pointerType == event.MSPOINTER_TYPE_TOUCH && event.isPrimary;
+ }
+
+ $(function(){
+ var now, delta, deltaX = 0, deltaY = 0, firstTouch;
+
+ if ('MSGesture' in window) {
+ gesture = new MSGesture();
+ gesture.target = document.body;
+ }
+
+ $(document)
+ .on('MSGestureEnd gestureend', function(e){
+
+ var swipeDirectionFromVelocity = e.originalEvent.velocityX > 1 ? 'Right' : e.originalEvent.velocityX < -1 ? 'Left' : e.originalEvent.velocityY > 1 ? 'Down' : e.originalEvent.velocityY < -1 ? 'Up' : null;
+
+ if (swipeDirectionFromVelocity) {
+ touch.el.trigger('swipe');
+ touch.el.trigger('swipe'+ swipeDirectionFromVelocity);
+ }
+ })
+ // MSPointerDown: for IE10
+ // pointerdown: for IE11
+ .on('touchstart MSPointerDown pointerdown', function(e){
+
+ if(e.type == 'MSPointerDown' && !isPrimaryTouch(e.originalEvent)) return;
+
+ firstTouch = (e.type == 'MSPointerDown' || e.type == 'pointerdown') ? e : e.originalEvent.touches[0];
+
+ now = Date.now();
+ delta = now - (touch.last || now);
+ touch.el = $('tagName' in firstTouch.target ? firstTouch.target : firstTouch.target.parentNode);
+
+ if(touchTimeout) clearTimeout(touchTimeout);
+
+ touch.x1 = firstTouch.pageX;
+ touch.y1 = firstTouch.pageY;
+
+ if (delta > 0 && delta <= 250) touch.isDoubleTap = true;
+
+ touch.last = now;
+ longTapTimeout = setTimeout(longTap, longTapDelay);
+
+ // adds the current touch contact for IE gesture recognition
+ if (gesture && ( e.type == 'MSPointerDown' || e.type == 'pointerdown' || e.type == 'touchstart' ) ) {
+ gesture.addPointer(e.originalEvent.pointerId);
+ }
+
+ })
+ // MSPointerMove: for IE10
+ // pointermove: for IE11
+ .on('touchmove MSPointerMove pointermove', function(e){
+
+ if (e.type == 'MSPointerMove' && !isPrimaryTouch(e.originalEvent)) return;
+
+ firstTouch = (e.type == 'MSPointerMove' || e.type == 'pointermove') ? e : e.originalEvent.touches[0];
+
+ cancelLongTap();
+ touch.x2 = firstTouch.pageX;
+ touch.y2 = firstTouch.pageY;
+
+ deltaX += Math.abs(touch.x1 - touch.x2);
+ deltaY += Math.abs(touch.y1 - touch.y2);
+ })
+ // MSPointerUp: for IE10
+ // pointerup: for IE11
+ .on('touchend MSPointerUp pointerup', function(e){
+
+ if (e.type == 'MSPointerUp' && !isPrimaryTouch(e.originalEvent)) return;
+
+ cancelLongTap();
+
+ // swipe
+ if ((touch.x2 && Math.abs(touch.x1 - touch.x2) > 30) || (touch.y2 && Math.abs(touch.y1 - touch.y2) > 30)){
+
+ swipeTimeout = setTimeout(function() {
+ touch.el.trigger('swipe');
+ touch.el.trigger('swipe' + (swipeDirection(touch.x1, touch.x2, touch.y1, touch.y2)));
+ touch = {};
+ }, 0);
+
+ // normal tap
+ } else if ('last' in touch) {
+
+ // don't fire tap when delta position changed by more than 30 pixels,
+ // for instance when moving to a point and back to origin
+ if (isNaN(deltaX) || (deltaX < 30 && deltaY < 30)) {
+ // delay by one tick so we can cancel the 'tap' event if 'scroll' fires
+ // ('tap' fires before 'scroll')
+ tapTimeout = setTimeout(function() {
+
+ // trigger universal 'tap' with the option to cancelTouch()
+ // (cancelTouch cancels processing of single vs double taps for faster 'tap' response)
+ var event = $.Event('tap');
+ event.cancelTouch = cancelAll;
+ touch.el.trigger(event);
+
+ // trigger double tap immediately
+ if (touch.isDoubleTap) {
+ touch.el.trigger('doubleTap');
+ touch = {};
+ }
+
+ // trigger single tap after 250ms of inactivity
+ else {
+ touchTimeout = setTimeout(function(){
+ touchTimeout = null;
+ touch.el.trigger('singleTap');
+ touch = {};
+ }, 250);
+ }
+ }, 0);
+ } else {
+ touch = {};
+ }
+ deltaX = deltaY = 0;
+ }
+ })
+ // when the browser window loses focus,
+ // for example when a modal dialog is shown,
+ // cancel all ongoing events
+ .on('touchcancel MSPointerCancel', cancelAll);
+
+ // scrolling the window indicates intention of the user
+ // to scroll, not tap or swipe, so cancel all ongoing events
+ $(window).on('scroll', cancelAll);
+ });
+
+ ['swipe', 'swipeLeft', 'swipeRight', 'swipeUp', 'swipeDown', 'doubleTap', 'tap', 'singleTap', 'longTap'].forEach(function(eventName){
+ $.fn[eventName] = function(callback){ return $(this).on(eventName, callback); };
+ });
+})(jQuery);
+
+(function(UI) {
+
+ "use strict";
+
+ var stacks = [];
+
+ UI.component('stackMargin', {
+
+ defaults: {
+ 'cls': 'uk-margin-small-top'
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-margin]", context).each(function() {
+
+ var ele = UI.$(this), obj;
+
+ if (!ele.data("stackMargin")) {
+ obj = UI.stackMargin(ele, UI.Utils.options(ele.attr("data-uk-margin")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.columns = this.element.children();
+
+ if (!this.columns.length) return;
+
+ UI.$win.on('resize orientationchange', (function() {
+
+ var fn = function() {
+ $this.process();
+ };
+
+ UI.$(function() {
+ fn();
+ UI.$win.on("load", fn);
+ });
+
+ return UI.Utils.debounce(fn, 20);
+ })());
+
+ UI.$html.on("changed.uk.dom", function(e) {
+ $this.columns = $this.element.children();
+ $this.process();
+ });
+
+ this.on("display.uk.check", function(e) {
+ $this.columns = $this.element.children();
+ if (this.element.is(":visible")) this.process();
+ }.bind(this));
+
+ stacks.push(this);
+ },
+
+ process: function() {
+
+ var $this = this;
+
+ UI.Utils.stackMargin(this.columns, this.options);
+
+ return this;
+ },
+
+ revert: function() {
+ this.columns.removeClass(this.options.cls);
+ return this;
+ }
+ });
+
+
+ // responsive element e.g. iframes
+
+ (function(){
+
+ var elements = [], check = function(ele) {
+
+ if (!ele.is(':visible')) return;
+
+ var width = ele.parent().width(),
+ iwidth = ele.data('width'),
+ ratio = (width / iwidth),
+ height = Math.floor(ratio * ele.data('height'));
+
+ ele.css({'height': (width < iwidth) ? height : ele.data('height')});
+ };
+
+ UI.component('responsiveElement', {
+
+ defaults: {},
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("iframe.uk-responsive-width, [data-uk-responsive]", context).each(function() {
+
+ var ele = UI.$(this), obj;
+
+ if (!ele.data("responsiveIframe")) {
+ obj = UI.responsiveElement(ele, {});
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var ele = this.element;
+
+ if (ele.attr('width') && ele.attr('height')) {
+
+ ele.data({
+
+ 'width' : ele.attr('width'),
+ 'height': ele.attr('height')
+
+ }).on('display.uk.check', function(){
+ check(ele);
+ });
+
+ check(ele);
+
+ elements.push(ele);
+ }
+ }
+ });
+
+ UI.$win.on('resize load', UI.Utils.debounce(function(){
+
+ elements.forEach(function(ele){
+ check(ele);
+ });
+
+ }, 15));
+
+ })();
+
+
+
+ // helper
+
+ UI.Utils.stackMargin = function(elements, options) {
+
+ options = UI.$.extend({
+ 'cls': 'uk-margin-small-top'
+ }, options);
+
+ options.cls = options.cls;
+
+ elements = UI.$(elements).removeClass(options.cls);
+
+ var skip = false,
+ firstvisible = elements.filter(":visible:first"),
+ offset = firstvisible.length ? (firstvisible.position().top + firstvisible.outerHeight()) - 1 : false; // (-1): weird firefox bug when parent container is display:flex
+
+ if (offset === false) return;
+
+ elements.each(function() {
+
+ var column = UI.$(this);
+
+ if (column.is(":visible")) {
+
+ if (skip) {
+ column.addClass(options.cls);
+ } else {
+
+ if (column.position().top >= offset) {
+ skip = column.addClass(options.cls);
+ }
+ }
+ }
+ });
+ };
+
+ UI.Utils.matchHeights = function(elements, options) {
+
+ elements = UI.$(elements).css('min-height', '');
+ options = UI.$.extend({ row : true }, options);
+
+ var matchHeights = function(group){
+
+ if (group.length < 2) return;
+
+ var max = 0;
+
+ group.each(function() {
+ max = Math.max(max, UI.$(this).outerHeight());
+ }).each(function() {
+
+ var element = UI.$(this),
+ height = max - (element.css('box-sizing') == 'border-box' ? 0 : (element.outerHeight() - element.height()));
+
+ element.css('min-height', height + 'px');
+ });
+ };
+
+ if (options.row) {
+
+ elements.first().width(); // force redraw
+
+ setTimeout(function(){
+
+ var lastoffset = false, group = [];
+
+ elements.each(function() {
+
+ var ele = UI.$(this), offset = ele.offset().top;
+
+ if (offset != lastoffset && group.length) {
+
+ matchHeights(UI.$(group));
+ group = [];
+ offset = ele.offset().top;
+ }
+
+ group.push(ele);
+ lastoffset = offset;
+ });
+
+ if (group.length) {
+ matchHeights(UI.$(group));
+ }
+
+ }, 0);
+
+ } else {
+ matchHeights(elements);
+ }
+ };
+
+})(UIkit);
+
+(function(UI) {
+
+ "use strict";
+
+ UI.component('smoothScroll', {
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("click.smooth-scroll.uikit", "[data-uk-smooth-scroll]", function(e) {
+ var ele = UI.$(this);
+
+ if (!ele.data("smoothScroll")) {
+ var obj = UI.smoothScroll(ele, UI.Utils.options(ele.attr("data-uk-smooth-scroll")));
+ ele.trigger("click");
+ }
+
+ return false;
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.on("click", function(e) {
+ e.preventDefault();
+ scrollToElement(UI.$(this.hash).length ? UI.$(this.hash) : UI.$("body"), $this.options);
+ });
+ }
+ });
+
+ function scrollToElement(ele, options) {
+
+ options = UI.$.extend({
+ duration: 1000,
+ transition: 'easeOutExpo',
+ offset: 0,
+ complete: function(){}
+ }, options);
+
+ // get / set parameters
+ var target = ele.offset().top - options.offset,
+ docheight = UI.$doc.height(),
+ winheight = window.innerHeight;
+
+ if ((target + winheight) > docheight) {
+ target = docheight - winheight;
+ }
+
+ // animate to target, fire callback when done
+ UI.$("html,body").stop().animate({scrollTop: target}, options.duration, options.transition).promise().done(options.complete);
+ }
+
+ UI.Utils.scrollToElement = scrollToElement;
+
+ if (!UI.$.easing.easeOutExpo) {
+ UI.$.easing.easeOutExpo = function(x, t, b, c, d) { return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; };
+ }
+
+})(UIkit);
+
+(function(UI) {
+
+ "use strict";
+
+ var $win = UI.$win,
+ $doc = UI.$doc,
+ scrollspies = [],
+ checkScrollSpy = function() {
+ for(var i=0; i < scrollspies.length; i++) {
+ window.requestAnimationFrame.apply(window, [scrollspies[i].check]);
+ }
+ };
+
+ UI.component('scrollspy', {
+
+ defaults: {
+ "target" : false,
+ "cls" : "uk-scrollspy-inview",
+ "initcls" : "uk-scrollspy-init-inview",
+ "topoffset" : 0,
+ "leftoffset" : 0,
+ "repeat" : false,
+ "delay" : 0
+ },
+
+ boot: function() {
+
+ // listen to scroll and resize
+ $doc.on("scrolling.uk.document", checkScrollSpy);
+ $win.on("load resize orientationchange", UI.Utils.debounce(checkScrollSpy, 50));
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-scrollspy]", context).each(function() {
+
+ var element = UI.$(this);
+
+ if (!element.data("scrollspy")) {
+ var obj = UI.scrollspy(element, UI.Utils.options(element.attr("data-uk-scrollspy")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this, inviewstate, initinview, togglecls = this.options.cls.split(/,/), fn = function(){
+
+ var elements = $this.options.target ? $this.element.find($this.options.target) : $this.element,
+ delayIdx = elements.length === 1 ? 1 : 0,
+ toggleclsIdx = 0;
+
+ elements.each(function(idx){
+
+ var element = UI.$(this),
+ inviewstate = element.data('inviewstate'),
+ inview = UI.Utils.isInView(element, $this.options),
+ toggle = element.data('ukScrollspyCls') || togglecls[toggleclsIdx].trim();
+
+ if (inview && !inviewstate && !element.data('scrollspy-idle')) {
+
+ if (!initinview) {
+ element.addClass($this.options.initcls);
+ $this.offset = element.offset();
+ initinview = true;
+
+ element.trigger("init.uk.scrollspy");
+ }
+
+ element.data('scrollspy-idle', setTimeout(function(){
+
+ element.addClass("uk-scrollspy-inview").toggleClass(toggle).width();
+ element.trigger("inview.uk.scrollspy");
+
+ element.data('scrollspy-idle', false);
+ element.data('inviewstate', true);
+
+ }, $this.options.delay * delayIdx));
+
+ delayIdx++;
+ }
+
+ if (!inview && inviewstate && $this.options.repeat) {
+
+ if (element.data('scrollspy-idle')) {
+ clearTimeout(element.data('scrollspy-idle'));
+ }
+
+ element.removeClass("uk-scrollspy-inview").toggleClass(toggle);
+ element.data('inviewstate', false);
+
+ element.trigger("outview.uk.scrollspy");
+ }
+
+ toggleclsIdx = togglecls[toggleclsIdx + 1] ? (toggleclsIdx + 1) : 0;
+
+ });
+ };
+
+ fn();
+
+ this.check = fn;
+
+ scrollspies.push(this);
+ }
+ });
+
+
+ var scrollspynavs = [],
+ checkScrollSpyNavs = function() {
+ for(var i=0; i < scrollspynavs.length; i++) {
+ window.requestAnimationFrame.apply(window, [scrollspynavs[i].check]);
+ }
+ };
+
+ UI.component('scrollspynav', {
+
+ defaults: {
+ "cls" : 'uk-active',
+ "closest" : false,
+ "topoffset" : 0,
+ "leftoffset" : 0,
+ "smoothscroll" : false
+ },
+
+ boot: function() {
+
+ // listen to scroll and resize
+ $doc.on("scrolling.uk.document", checkScrollSpyNavs);
+ $win.on("resize orientationchange", UI.Utils.debounce(checkScrollSpyNavs, 50));
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-scrollspy-nav]", context).each(function() {
+
+ var element = UI.$(this);
+
+ if (!element.data("scrollspynav")) {
+ var obj = UI.scrollspynav(element, UI.Utils.options(element.attr("data-uk-scrollspy-nav")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var ids = [],
+ links = this.find("a[href^='#']").each(function(){ ids.push(UI.$(this).attr("href")); }),
+ targets = UI.$(ids.join(",")),
+
+ clsActive = this.options.cls,
+ clsClosest = this.options.closest || this.options.closest;
+
+ var $this = this, inviews, fn = function(){
+
+ inviews = [];
+
+ for (var i=0 ; i < targets.length ; i++) {
+ if (UI.Utils.isInView(targets.eq(i), $this.options)) {
+ inviews.push(targets.eq(i));
+ }
+ }
+
+ if (inviews.length) {
+
+ var navitems,
+ scrollTop = $win.scrollTop(),
+ target = (function(){
+ for(var i=0; i< inviews.length;i++){
+ if(inviews[i].offset().top >= scrollTop){
+ return inviews[i];
+ }
+ }
+ })();
+
+ if (!target) return;
+
+ if ($this.options.closest) {
+ links.closest(clsClosest).removeClass(clsActive);
+ navitems = links.filter("a[href='#"+target.attr("id")+"']").closest(clsClosest).addClass(clsActive);
+ } else {
+ navitems = links.removeClass(clsActive).filter("a[href='#"+target.attr("id")+"']").addClass(clsActive);
+ }
+
+ $this.element.trigger("inview.uk.scrollspynav", [target, navitems]);
+ }
+ };
+
+ if (this.options.smoothscroll && UI.smoothScroll) {
+ links.each(function(){
+ UI.smoothScroll(this, $this.options.smoothscroll);
+ });
+ }
+
+ fn();
+
+ this.element.data("scrollspynav", this);
+
+ this.check = fn;
+ scrollspynavs.push(this);
+
+ }
+ });
+
+})(UIkit);
+
+(function(UI){
+
+ "use strict";
+
+ var toggles = [];
+
+ UI.component('toggle', {
+
+ defaults: {
+ target : false,
+ cls : 'uk-hidden',
+ animation : false,
+ duration : 200
+ },
+
+ boot: function(){
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-toggle]", context).each(function() {
+ var ele = UI.$(this);
+
+ if (!ele.data("toggle")) {
+ var obj = UI.toggle(ele, UI.Utils.options(ele.attr("data-uk-toggle")));
+ }
+ });
+
+ setTimeout(function(){
+
+ toggles.forEach(function(toggle){
+ toggle.getToggles();
+ });
+
+ }, 0);
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.aria = (this.options.cls.indexOf('uk-hidden') !== -1);
+
+ this.getToggles();
+
+ this.on("click", function(e) {
+ if ($this.element.is('a[href="#"]')) e.preventDefault();
+ $this.toggle();
+ });
+
+ toggles.push(this);
+ },
+
+ toggle: function() {
+
+ if(!this.totoggle.length) return;
+
+ if (this.options.animation && UI.support.animation) {
+
+ var $this = this, animations = this.options.animation.split(',');
+
+ if (animations.length == 1) {
+ animations[1] = animations[0];
+ }
+
+ animations[0] = animations[0].trim();
+ animations[1] = animations[1].trim();
+
+ this.totoggle.css('animation-duration', this.options.duration+'ms');
+
+ if (this.totoggle.hasClass(this.options.cls)) {
+
+ this.totoggle.toggleClass(this.options.cls);
+
+ this.totoggle.each(function(){
+ UI.Utils.animate(this, animations[0]).then(function(){
+ UI.$(this).css('animation-duration', '');
+ UI.Utils.checkDisplay(this);
+ });
+ });
+
+ } else {
+
+ this.totoggle.each(function(){
+ UI.Utils.animate(this, animations[1]+' uk-animation-reverse').then(function(){
+ UI.$(this).toggleClass($this.options.cls).css('animation-duration', '');
+ UI.Utils.checkDisplay(this);
+ }.bind(this));
+ });
+ }
+
+ } else {
+ this.totoggle.toggleClass(this.options.cls);
+ UI.Utils.checkDisplay(this.totoggle);
+ }
+
+ this.updateAria();
+
+ },
+
+ getToggles: function() {
+ this.totoggle = this.options.target ? UI.$(this.options.target):[];
+ this.updateAria();
+ },
+
+ updateAria: function() {
+ if (this.aria && this.totoggle.length) {
+ this.totoggle.each(function(){
+ UI.$(this).attr('aria-hidden', UI.$(this).hasClass('uk-hidden'));
+ });
+ }
+ }
+ });
+
+})(UIkit);
+
+(function(UI) {
+
+ "use strict";
+
+ UI.component('alert', {
+
+ defaults: {
+ "fade": true,
+ "duration": 200,
+ "trigger": ".uk-alert-close"
+ },
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("click.alert.uikit", "[data-uk-alert]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (!ele.data("alert")) {
+
+ var alert = UI.alert(ele, UI.Utils.options(ele.attr("data-uk-alert")));
+
+ if (UI.$(e.target).is(alert.options.trigger)) {
+ e.preventDefault();
+ alert.close();
+ }
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.on("click", this.options.trigger, function(e) {
+ e.preventDefault();
+ $this.close();
+ });
+ },
+
+ close: function() {
+
+ var element = this.trigger("close.uk.alert"),
+ removeElement = function () {
+ this.trigger("closed.uk.alert").remove();
+ }.bind(this);
+
+ if (this.options.fade) {
+ element.css("overflow", "hidden").css("max-height", element.height()).animate({
+ "height" : 0,
+ "opacity" : 0,
+ "padding-top" : 0,
+ "padding-bottom" : 0,
+ "margin-top" : 0,
+ "margin-bottom" : 0
+ }, this.options.duration, removeElement);
+ } else {
+ removeElement();
+ }
+ }
+
+ });
+
+})(UIkit);
+
+(function(UI) {
+
+ "use strict";
+
+ UI.component('buttonRadio', {
+
+ defaults: {
+ "target": ".uk-button"
+ },
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("click.buttonradio.uikit", "[data-uk-button-radio]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (!ele.data("buttonRadio")) {
+
+ var obj = UI.buttonRadio(ele, UI.Utils.options(ele.attr("data-uk-button-radio"))),
+ target = UI.$(e.target);
+
+ if (target.is(obj.options.target)) {
+ target.trigger("click");
+ }
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ // Init ARIA
+ this.find($this.options.target).attr('aria-checked', 'false').filter(".uk-active").attr('aria-checked', 'true');
+
+ this.on("click", this.options.target, function(e) {
+
+ var ele = UI.$(this);
+
+ if (ele.is('a[href="#"]')) e.preventDefault();
+
+ $this.find($this.options.target).not(ele).removeClass("uk-active").blur();
+ ele.addClass("uk-active");
+
+ // Update ARIA
+ $this.find($this.options.target).not(ele).attr('aria-checked', 'false');
+ ele.attr('aria-checked', 'true');
+
+ $this.trigger("change.uk.button", [ele]);
+ });
+
+ },
+
+ getSelected: function() {
+ return this.find(".uk-active");
+ }
+ });
+
+ UI.component('buttonCheckbox', {
+
+ defaults: {
+ "target": ".uk-button"
+ },
+
+ boot: function() {
+
+ UI.$html.on("click.buttoncheckbox.uikit", "[data-uk-button-checkbox]", function(e) {
+ var ele = UI.$(this);
+
+ if (!ele.data("buttonCheckbox")) {
+
+ var obj = UI.buttonCheckbox(ele, UI.Utils.options(ele.attr("data-uk-button-checkbox"))),
+ target = UI.$(e.target);
+
+ if (target.is(obj.options.target)) {
+ target.trigger("click");
+ }
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ // Init ARIA
+ this.find($this.options.target).attr('aria-checked', 'false').filter(".uk-active").attr('aria-checked', 'true');
+
+ this.on("click", this.options.target, function(e) {
+ var ele = UI.$(this);
+
+ if (ele.is('a[href="#"]')) e.preventDefault();
+
+ ele.toggleClass("uk-active").blur();
+
+ // Update ARIA
+ ele.attr('aria-checked', ele.hasClass("uk-active"));
+
+ $this.trigger("change.uk.button", [ele]);
+ });
+
+ },
+
+ getSelected: function() {
+ return this.find(".uk-active");
+ }
+ });
+
+
+ UI.component('button', {
+
+ defaults: {},
+
+ boot: function() {
+
+ UI.$html.on("click.button.uikit", "[data-uk-button]", function(e) {
+ var ele = UI.$(this);
+
+ if (!ele.data("button")) {
+
+ var obj = UI.button(ele, UI.Utils.options(ele.attr("data-uk-button")));
+ ele.trigger("click");
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ // Init ARIA
+ this.element.attr('aria-pressed', this.element.hasClass("uk-active"));
+
+ this.on("click", function(e) {
+
+ if ($this.element.is('a[href="#"]')) e.preventDefault();
+
+ $this.toggle();
+ $this.trigger("change.uk.button", [$this.element.blur().hasClass("uk-active")]);
+ });
+
+ },
+
+ toggle: function() {
+ this.element.toggleClass("uk-active");
+
+ // Update ARIA
+ this.element.attr('aria-pressed', this.element.hasClass("uk-active"));
+ }
+ });
+
+})(UIkit);
+
+(function(UI) {
+
+ "use strict";
+
+ var active = false, hoverIdle;
+
+ UI.component('dropdown', {
+
+ defaults: {
+ 'mode' : 'hover',
+ 'remaintime' : 800,
+ 'justify' : false,
+ 'boundary' : UI.$win,
+ 'delay' : 0,
+ 'hoverDelayIdle' : 250
+ },
+
+ remainIdle: false,
+
+ boot: function() {
+
+ var triggerevent = UI.support.touch ? "click" : "mouseenter";
+
+ // init code
+ UI.$html.on(triggerevent+".dropdown.uikit", "[data-uk-dropdown]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (!ele.data("dropdown")) {
+
+ var dropdown = UI.dropdown(ele, UI.Utils.options(ele.attr("data-uk-dropdown")));
+
+ if (triggerevent=="click" || (triggerevent=="mouseenter" && dropdown.options.mode=="hover")) {
+ dropdown.element.trigger(triggerevent);
+ }
+
+ if (dropdown.element.find('.uk-dropdown').length) {
+ e.preventDefault();
+ }
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.dropdown = this.find('.uk-dropdown');
+
+ this.centered = this.dropdown.hasClass('uk-dropdown-center');
+ this.justified = this.options.justify ? UI.$(this.options.justify) : false;
+
+ this.boundary = UI.$(this.options.boundary);
+ this.flipped = this.dropdown.hasClass('uk-dropdown-flip');
+
+ if (!this.boundary.length) {
+ this.boundary = UI.$win;
+ }
+
+ // Init ARIA
+ this.element.attr('aria-haspopup', 'true');
+ this.element.attr('aria-expanded', this.element.hasClass("uk-open"));
+
+ if (this.options.mode == "click" || UI.support.touch) {
+
+ this.on("click.uikit.dropdown", function(e) {
+
+ var $target = UI.$(e.target);
+
+ if (!$target.parents(".uk-dropdown").length) {
+
+ if ($target.is("a[href='#']") || $target.parent().is("a[href='#']") || ($this.dropdown.length && !$this.dropdown.is(":visible")) ){
+ e.preventDefault();
+ }
+
+ $target.blur();
+ }
+
+ if (!$this.element.hasClass('uk-open')) {
+
+ $this.show();
+
+ } else {
+
+ if ($target.is("a:not(.js-uk-prevent)") || $target.is(".uk-dropdown-close") || !$this.dropdown.find(e.target).length) {
+ $this.hide();
+ }
+ }
+ });
+
+ } else {
+
+ this.on("mouseenter", function(e) {
+
+ if ($this.remainIdle) {
+ clearTimeout($this.remainIdle);
+ }
+
+ if (hoverIdle) {
+ clearTimeout(hoverIdle);
+ }
+
+ if (active && active == $this) {
+ return;
+ }
+
+ // pseudo manuAim
+ if (active && active != $this) {
+
+ hoverIdle = setTimeout(function() {
+ hoverIdle = setTimeout($this.show.bind($this), $this.options.delay);
+ }, $this.options.hoverDelayIdle);
+
+ } else {
+
+ hoverIdle = setTimeout($this.show.bind($this), $this.options.delay);
+ }
+
+ }).on("mouseleave", function() {
+
+ if (hoverIdle) {
+ clearTimeout(hoverIdle);
+ }
+
+ $this.remainIdle = setTimeout(function() {
+ if (active && active == $this) $this.hide();
+ }, $this.options.remaintime);
+
+ }).on("click", function(e){
+
+ var $target = UI.$(e.target);
+
+ if ($this.remainIdle) {
+ clearTimeout($this.remainIdle);
+ }
+
+ if ($target.is("a[href='#']") || $target.parent().is("a[href='#']")){
+ e.preventDefault();
+ }
+
+ $this.show();
+ });
+ }
+ },
+
+ show: function(){
+
+ UI.$html.off("click.outer.dropdown");
+
+ if (active && active != this) {
+ active.hide();
+ }
+
+ if (hoverIdle) {
+ clearTimeout(hoverIdle);
+ }
+
+ this.checkDimensions();
+ this.element.addClass('uk-open');
+
+ // Update ARIA
+ this.element.attr('aria-expanded', 'true');
+
+ this.trigger('show.uk.dropdown', [this]);
+
+ UI.Utils.checkDisplay(this.dropdown, true);
+ active = this;
+
+ this.registerOuterClick();
+ },
+
+ hide: function() {
+ this.element.removeClass('uk-open');
+
+ if (this.remainIdle) {
+ clearTimeout(this.remainIdle);
+ }
+
+ this.remainIdle = false;
+
+ // Update ARIA
+ this.element.attr('aria-expanded', 'false');
+
+ this.trigger('hide.uk.dropdown', [this]);
+
+ if (active == this) active = false;
+ },
+
+ registerOuterClick: function(){
+
+ var $this = this;
+
+ UI.$html.off("click.outer.dropdown");
+
+ setTimeout(function() {
+
+ UI.$html.on("click.outer.dropdown", function(e) {
+
+ if (hoverIdle) {
+ clearTimeout(hoverIdle);
+ }
+
+ var $target = UI.$(e.target);
+
+ if (active == $this && ($target.is("a:not(.js-uk-prevent)") || $target.is(".uk-dropdown-close") || !$this.dropdown.find(e.target).length)) {
+ $this.hide();
+ UI.$html.off("click.outer.dropdown");
+ }
+ });
+ }, 10);
+ },
+
+ checkDimensions: function() {
+
+ if (!this.dropdown.length) return;
+
+ if (this.justified && this.justified.length) {
+ this.dropdown.css("min-width", "");
+ }
+
+ var $this = this,
+ dropdown = this.dropdown.css("margin-" + UI.langdirection, ""),
+ offset = dropdown.show().offset(),
+ width = dropdown.outerWidth(),
+ boundarywidth = this.boundary.width(),
+ boundaryoffset = this.boundary.offset() ? this.boundary.offset().left:0;
+
+ // centered dropdown
+ if (this.centered) {
+ dropdown.css("margin-" + UI.langdirection, (parseFloat(width) / 2 - dropdown.parent().width() / 2) * -1);
+ offset = dropdown.offset();
+
+ // reset dropdown
+ if ((width + offset.left) > boundarywidth || offset.left < 0) {
+ dropdown.css("margin-" + UI.langdirection, "");
+ offset = dropdown.offset();
+ }
+ }
+
+ // justify dropdown
+ if (this.justified && this.justified.length) {
+
+ var jwidth = this.justified.outerWidth();
+
+ dropdown.css("min-width", jwidth);
+
+ if (UI.langdirection == 'right') {
+
+ var right1 = boundarywidth - (this.justified.offset().left + jwidth),
+ right2 = boundarywidth - (dropdown.offset().left + dropdown.outerWidth());
+
+ dropdown.css("margin-right", right1 - right2);
+
+ } else {
+ dropdown.css("margin-left", this.justified.offset().left - offset.left);
+ }
+
+ offset = dropdown.offset();
+
+ }
+
+ if ((width + (offset.left-boundaryoffset)) > boundarywidth) {
+ dropdown.addClass('uk-dropdown-flip');
+ offset = dropdown.offset();
+ }
+
+ if ((offset.left-boundaryoffset) < 0) {
+
+ dropdown.addClass("uk-dropdown-stack");
+
+ if (dropdown.hasClass('uk-dropdown-flip')) {
+
+ if (!this.flipped) {
+ dropdown.removeClass('uk-dropdown-flip');
+ offset = dropdown.offset();
+ dropdown.addClass('uk-dropdown-flip');
+ }
+
+ setTimeout(function(){
+
+ if ((dropdown.offset().left-boundaryoffset) < 0 || !$this.flipped && (dropdown.outerWidth() + (offset.left-boundaryoffset)) < boundarywidth) {
+ dropdown.removeClass('uk-dropdown-flip');
+ }
+ }, 0);
+ }
+
+ this.trigger('stack.uk.dropdown', [this]);
+ }
+
+ dropdown.css("display", "");
+ }
+
+ });
+
+})(UIkit);
+
+(function(UI) {
+
+ "use strict";
+
+ var grids = [];
+
+ UI.component('gridMatchHeight', {
+
+ defaults: {
+ "target" : false,
+ "row" : true,
+ "ignorestacked" : false
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-grid-match]", context).each(function() {
+ var grid = UI.$(this), obj;
+
+ if (!grid.data("gridMatchHeight")) {
+ obj = UI.gridMatchHeight(grid, UI.Utils.options(grid.attr("data-uk-grid-match")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.columns = this.element.children();
+ this.elements = this.options.target ? this.find(this.options.target) : this.columns;
+
+ if (!this.columns.length) return;
+
+ UI.$win.on('load resize orientationchange', (function() {
+
+ var fn = function() {
+ $this.match();
+ };
+
+ UI.$(function() { fn(); });
+
+ return UI.Utils.debounce(fn, 50);
+ })());
+
+ UI.$html.on("changed.uk.dom", function(e) {
+ $this.columns = $this.element.children();
+ $this.elements = $this.options.target ? $this.find($this.options.target) : $this.columns;
+ $this.match();
+ });
+
+ this.on("display.uk.check", function(e) {
+ if(this.element.is(":visible")) this.match();
+ }.bind(this));
+
+ grids.push(this);
+ },
+
+ match: function() {
+
+ var firstvisible = this.columns.filter(":visible:first");
+
+ if (!firstvisible.length) return;
+
+ var stacked = Math.ceil(100 * parseFloat(firstvisible.css('width')) / parseFloat(firstvisible.parent().css('width'))) >= 100;
+
+ if (stacked && !this.options.ignorestacked) {
+ this.revert();
+ } else {
+ UI.Utils.matchHeights(this.elements, this.options);
+ }
+
+ return this;
+ },
+
+ revert: function() {
+ this.elements.css('min-height', '');
+ return this;
+ }
+ });
+
+ UI.component('gridMargin', {
+
+ defaults: {
+ "cls": "uk-grid-margin"
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-grid-margin]", context).each(function() {
+ var grid = UI.$(this), obj;
+
+ if (!grid.data("gridMargin")) {
+ obj = UI.gridMargin(grid, UI.Utils.options(grid.attr("data-uk-grid-margin")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var stackMargin = UI.stackMargin(this.element, this.options);
+ }
+ });
+
+})(UIkit);
+
+(function(UI) {
+
+ "use strict";
+
+ var active = false, activeCount = 0, $html = UI.$html, body;
+
+ UI.component('modal', {
+
+ defaults: {
+ keyboard: true,
+ bgclose: true,
+ minScrollHeight: 150,
+ center: false,
+ modal: true
+ },
+
+ scrollable: false,
+ transition: false,
+
+ init: function() {
+
+ if (!body) body = UI.$('body');
+
+ if (!this.element.length) return;
+
+ var $this = this;
+
+ this.paddingdir = "padding-" + (UI.langdirection == 'left' ? "right":"left");
+ this.dialog = this.find(".uk-modal-dialog");
+
+ this.active = false;
+
+ // Update ARIA
+ this.element.attr('aria-hidden', this.element.hasClass("uk-open"));
+
+ this.on("click", ".uk-modal-close", function(e) {
+ e.preventDefault();
+ $this.hide();
+ }).on("click", function(e) {
+
+ var target = UI.$(e.target);
+
+ if (target[0] == $this.element[0] && $this.options.bgclose) {
+ $this.hide();
+ }
+ });
+ },
+
+ toggle: function() {
+ return this[this.isActive() ? "hide" : "show"]();
+ },
+
+ show: function() {
+
+ if (!this.element.length) return;
+
+ var $this = this;
+
+ if (this.isActive()) return;
+
+ if (this.options.modal && active) {
+ active.hide(true);
+ }
+
+ this.element.removeClass("uk-open").show();
+ this.resize();
+
+ if (this.options.modal) {
+ active = this;
+ }
+
+ this.active = true;
+
+ activeCount++;
+
+ this.element.addClass("uk-open");
+
+ $html.addClass("uk-modal-page").height(); // force browser engine redraw
+
+ // Update ARIA
+ this.element.attr('aria-hidden', 'false');
+
+ this.element.trigger("show.uk.modal");
+
+ UI.Utils.checkDisplay(this.dialog, true);
+
+ return this;
+ },
+
+ hide: function(force) {
+
+ if (!force && UI.support.transition) {
+
+ var $this = this;
+
+ this.one(UI.support.transition.end, function() {
+ $this._hide();
+ }).removeClass("uk-open");
+
+ } else {
+
+ this._hide();
+ }
+
+ return this;
+ },
+
+ resize: function() {
+
+ var bodywidth = body.width();
+
+ this.scrollbarwidth = window.innerWidth - bodywidth;
+
+ body.css(this.paddingdir, this.scrollbarwidth);
+
+ this.element.css('overflow-y', this.scrollbarwidth ? 'scroll' : 'auto');
+
+ if (!this.updateScrollable() && this.options.center) {
+
+ var dh = this.dialog.outerHeight(),
+ pad = parseInt(this.dialog.css('margin-top'), 10) + parseInt(this.dialog.css('margin-bottom'), 10);
+
+ if ((dh + pad) < window.innerHeight) {
+ this.dialog.css({'top': (window.innerHeight/2 - dh/2) - pad });
+ } else {
+ this.dialog.css({'top': ''});
+ }
+ }
+ },
+
+ updateScrollable: function() {
+
+ // has scrollable?
+ var scrollable = this.dialog.find('.uk-overflow-container:visible:first');
+
+ if (scrollable.length) {
+
+ scrollable.css("height", 0);
+
+ var offset = Math.abs(parseInt(this.dialog.css("margin-top"), 10)),
+ dh = this.dialog.outerHeight(),
+ wh = window.innerHeight,
+ h = wh - 2*(offset < 20 ? 20:offset) - dh;
+
+ scrollable.css("height", h < this.options.minScrollHeight ? "":h);
+
+ return true;
+ }
+
+ return false;
+ },
+
+ _hide: function() {
+
+ this.active = false;
+ activeCount--;
+
+ this.element.hide().removeClass("uk-open");
+
+ // Update ARIA
+ this.element.attr('aria-hidden', 'true');
+
+ if (!activeCount) {
+ $html.removeClass("uk-modal-page");
+ body.css(this.paddingdir, "");
+ }
+
+ if(active===this) active = false;
+
+ this.trigger("hide.uk.modal");
+ },
+
+ isActive: function() {
+ return this.active;
+ }
+
+ });
+
+ UI.component('modalTrigger', {
+
+ boot: function() {
+
+ // init code
+ UI.$html.on("click.modal.uikit", "[data-uk-modal]", function(e) {
+
+ var ele = UI.$(this);
+
+ if (ele.is("a")) {
+ e.preventDefault();
+ }
+
+ if (!ele.data("modalTrigger")) {
+ var modal = UI.modalTrigger(ele, UI.Utils.options(ele.attr("data-uk-modal")));
+ modal.show();
+ }
+
+ });
+
+ // close modal on esc button
+ UI.$html.on('keydown.modal.uikit', function (e) {
+
+ if (active && e.keyCode === 27 && active.options.keyboard) { // ESC
+ e.preventDefault();
+ active.hide();
+ }
+ });
+
+ UI.$win.on("resize orientationchange", UI.Utils.debounce(function(){
+ if (active) active.resize();
+ }, 150));
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.options = UI.$.extend({
+ "target": $this.element.is("a") ? $this.element.attr("href") : false
+ }, this.options);
+
+ this.modal = UI.modal(this.options.target, this.options);
+
+ this.on("click", function(e) {
+ e.preventDefault();
+ $this.show();
+ });
+
+ //methods
+ this.proxy(this.modal, "show hide isActive");
+ }
+ });
+
+ UI.modal.dialog = function(content, options) {
+
+ var modal = UI.modal(UI.$(UI.modal.dialog.template).appendTo("body"), options);
+
+ modal.on("hide.uk.modal", function(){
+ if (modal.persist) {
+ modal.persist.appendTo(modal.persist.data("modalPersistParent"));
+ modal.persist = false;
+ }
+ modal.element.remove();
+ });
+
+ setContent(content, modal);
+
+ return modal;
+ };
+
+ UI.modal.dialog.template = '<div class="uk-modal"><div class="uk-modal-dialog" style="min-height:0;"></div></div>';
+
+ UI.modal.alert = function(content, options) {
+
+ options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, options);
+
+ var modal = UI.modal.dialog(([
+ '<div class="uk-margin uk-modal-content">'+String(content)+'</div>',
+ '<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary uk-modal-close">'+options.labels.Ok+'</button></div>'
+ ]).join(""), options);
+
+ modal.on('show.uk.modal', function(){
+ setTimeout(function(){
+ modal.element.find('button:first').focus();
+ }, 50);
+ });
+
+ modal.show();
+ };
+
+ UI.modal.confirm = function(content, onconfirm, options) {
+
+ onconfirm = UI.$.isFunction(onconfirm) ? onconfirm : function(){};
+ options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, options);
+
+ var modal = UI.modal.dialog(([
+ '<div class="uk-margin uk-modal-content">'+String(content)+'</div>',
+ '<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary js-modal-confirm">'+options.labels.Ok+'</button> <button class="uk-button uk-modal-close">'+options.labels.Cancel+'</button></div>'
+ ]).join(""), options);
+
+ modal.element.find(".js-modal-confirm").on("click", function(){
+ onconfirm();
+ modal.hide();
+ });
+
+ modal.on('show.uk.modal', function(){
+ setTimeout(function(){
+ modal.element.find('button:first').focus();
+ }, 50);
+ });
+
+ modal.show();
+ };
+
+ UI.modal.prompt = function(text, value, onsubmit, options) {
+
+ onsubmit = UI.$.isFunction(onsubmit) ? onsubmit : function(value){};
+ options = UI.$.extend(true, {bgclose:false, keyboard:false, modal:false, labels:UI.modal.labels}, options);
+
+ var modal = UI.modal.dialog(([
+ text ? '<div class="uk-modal-content uk-form">'+String(text)+'</div>':'',
+ '<div class="uk-margin-small-top uk-modal-content uk-form"><p><input type="text" class="uk-width-1-1"></p></div>',
+ '<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary js-modal-ok">'+options.labels.Ok+'</button> <button class="uk-button uk-modal-close">'+options.labels.Cancel+'</button></div>'
+ ]).join(""), options),
+
+ input = modal.element.find("input[type='text']").val(value || '').on('keyup', function(e){
+ if (e.keyCode == 13) {
+ modal.element.find(".js-modal-ok").trigger('click');
+ }
+ });
+
+ modal.element.find(".js-modal-ok").on("click", function(){
+ if (onsubmit(input.val())!==false){
+ modal.hide();
+ }
+ });
+
+ modal.on('show.uk.modal', function(){
+ setTimeout(function(){
+ input.focus();
+ }, 50);
+ });
+
+ modal.show();
+ };
+
+ UI.modal.blockUI = function(content, options) {
+
+ var modal = UI.modal.dialog(([
+ '<div class="uk-margin uk-modal-content">'+String(content || '<div class="uk-text-center">...</div>')+'</div>'
+ ]).join(""), UI.$.extend({bgclose:false, keyboard:false, modal:false}, options));
+
+ modal.content = modal.element.find('.uk-modal-content:first');
+ modal.show();
+
+ return modal;
+ };
+
+
+ UI.modal.labels = {
+ 'Ok': 'Ok',
+ 'Cancel': 'Cancel'
+ };
+
+
+ // helper functions
+ function setContent(content, modal){
+
+ if(!modal) return;
+
+ if (typeof content === 'object') {
+
+ // convert DOM object to a jQuery object
+ content = content instanceof jQuery ? content : UI.$(content);
+
+ if(content.parent().length) {
+ modal.persist = content;
+ modal.persist.data("modalPersistParent", content.parent());
+ }
+ }else if (typeof content === 'string' || typeof content === 'number') {
+ // just insert the data as innerHTML
+ content = UI.$('<div></div>').html(content);
+ }else {
+ // unsupported data type!
+ content = UI.$('<div></div>').html('UIkit.modal Error: Unsupported data type: ' + typeof content);
+ }
+
+ content.appendTo(modal.element.find('.uk-modal-dialog'));
+
+ return modal;
+ }
+
+})(UIkit);
+
+(function(UI) {
+
+ "use strict";
+
+ UI.component('nav', {
+
+ defaults: {
+ "toggle": ">li.uk-parent > a[href='#']",
+ "lists": ">li.uk-parent > ul",
+ "multiple": false
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-nav]", context).each(function() {
+ var nav = UI.$(this);
+
+ if (!nav.data("nav")) {
+ var obj = UI.nav(nav, UI.Utils.options(nav.attr("data-uk-nav")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.on("click.uikit.nav", this.options.toggle, function(e) {
+ e.preventDefault();
+ var ele = UI.$(this);
+ $this.open(ele.parent()[0] == $this.element[0] ? ele : ele.parent("li"));
+ });
+
+ this.find(this.options.lists).each(function() {
+ var $ele = UI.$(this),
+ parent = $ele.parent(),
+ active = parent.hasClass("uk-active");
+
+ $ele.wrap('<div style="overflow:hidden;height:0;position:relative;"></div>');
+ parent.data("list-container", $ele.parent()[active ? 'removeClass':'addClass']('uk-hidden'));
+
+ // Init ARIA
+ parent.attr('aria-expanded', parent.hasClass("uk-open"));
+
+ if (active) $this.open(parent, true);
+ });
+
+ },
+
+ open: function(li, noanimation) {
+
+ var $this = this, element = this.element, $li = UI.$(li), $container = $li.data('list-container');
+
+ if (!this.options.multiple) {
+
+ element.children('.uk-open').not(li).each(function() {
+
+ var ele = UI.$(this);
+
+ if (ele.data('list-container')) {
+ ele.data('list-container').stop().animate({height: 0}, function() {
+ UI.$(this).parent().removeClass('uk-open').end().addClass('uk-hidden');
+ });
+ }
+ });
+ }
+
+ $li.toggleClass('uk-open');
+
+ // Update ARIA
+ $li.attr('aria-expanded', $li.hasClass('uk-open'));
+
+ if ($container) {
+
+ if ($li.hasClass('uk-open')) {
+ $container.removeClass('uk-hidden');
+ }
+
+ if (noanimation) {
+
+ $container.stop().height($li.hasClass('uk-open') ? 'auto' : 0);
+
+ if (!$li.hasClass('uk-open')) {
+ $container.addClass('uk-hidden');
+ }
+
+ this.trigger('display.uk.check');
+
+ } else {
+
+ $container.stop().animate({
+ height: ($li.hasClass('uk-open') ? getHeight($container.find('ul:first')) : 0)
+ }, function() {
+
+ if (!$li.hasClass('uk-open')) {
+ $container.addClass('uk-hidden');
+ } else {
+ $container.css('height', '');
+ }
+
+ $this.trigger('display.uk.check');
+ });
+ }
+ }
+ }
+ });
+
+
+ // helper
+
+ function getHeight(ele) {
+ var $ele = UI.$(ele), height = "auto";
+
+ if ($ele.is(":visible")) {
+ height = $ele.outerHeight();
+ } else {
+ var tmp = {
+ position: $ele.css("position"),
+ visibility: $ele.css("visibility"),
+ display: $ele.css("display")
+ };
+
+ height = $ele.css({position: 'absolute', visibility: 'hidden', display: 'block'}).outerHeight();
+
+ $ele.css(tmp); // reset element
+ }
+
+ return height;
+ }
+
+})(UIkit);
+
+(function(UI) {
+
+ "use strict";
+
+ var scrollpos = {x: window.scrollX, y: window.scrollY},
+ $win = UI.$win,
+ $doc = UI.$doc,
+ $html = UI.$html,
+ Offcanvas = {
+
+ show: function(element) {
+
+ element = UI.$(element);
+
+ if (!element.length) return;
+
+ var $body = UI.$('body'),
+ bar = element.find(".uk-offcanvas-bar:first"),
+ rtl = (UI.langdirection == "right"),
+ flip = bar.hasClass("uk-offcanvas-bar-flip") ? -1:1,
+ dir = flip * (rtl ? -1 : 1);
+
+ scrollpos = {x: window.pageXOffset, y: window.pageYOffset};
+
+ element.addClass("uk-active");
+
+ $body.css({"width": window.innerWidth, "height": window.innerHeight}).addClass("uk-offcanvas-page");
+ $body.css((rtl ? "margin-right" : "margin-left"), (rtl ? -1 : 1) * (bar.outerWidth() * dir)).width(); // .width() - force redraw
+
+ $html.css('margin-top', scrollpos.y * -1);
+
+ bar.addClass("uk-offcanvas-bar-show");
+
+ this._initElement(element);
+
+ bar.trigger('show.uk.offcanvas', [element, bar]);
+
+ // Update ARIA
+ element.attr('aria-hidden', 'false');
+ },
+
+ hide: function(force) {
+
+ var $body = UI.$('body'),
+ panel = UI.$(".uk-offcanvas.uk-active"),
+ rtl = (UI.langdirection == "right"),
+ bar = panel.find(".uk-offcanvas-bar:first"),
+ finalize = function() {
+ $body.removeClass("uk-offcanvas-page").css({"width": "", "height": "", "margin-left": "", "margin-right": ""});
+ panel.removeClass("uk-active");
+
+ bar.removeClass("uk-offcanvas-bar-show");
+ $html.css('margin-top', '');
+ window.scrollTo(scrollpos.x, scrollpos.y);
+ bar.trigger('hide.uk.offcanvas', [panel, bar]);
+
+ // Update ARIA
+ panel.attr('aria-hidden', 'true');
+ };
+
+ if (!panel.length) return;
+
+ if (UI.support.transition && !force) {
+
+ $body.one(UI.support.transition.end, function() {
+ finalize();
+ }).css((rtl ? "margin-right" : "margin-left"), "");
+
+ setTimeout(function(){
+ bar.removeClass("uk-offcanvas-bar-show");
+ }, 0);
+
+ } else {
+ finalize();
+ }
+ },
+
+ _initElement: function(element) {
+
+ if (element.data("OffcanvasInit")) return;
+
+ element.on("click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas", function(e) {
+
+ var target = UI.$(e.target);
+
+ if (!e.type.match(/swipe/)) {
+
+ if (!target.hasClass("uk-offcanvas-close")) {
+ if (target.hasClass("uk-offcanvas-bar")) return;
+ if (target.parents(".uk-offcanvas-bar:first").length) return;
+ }
+ }
+
+ e.stopImmediatePropagation();
+ Offcanvas.hide();
+ });
+
+ element.on("click", "a[href^='#']", function(e){
+
+ var link = UI.$(this),
+ href = link.attr("href");
+
+ if (href == "#") {
+ return;
+ }
+
+ UI.$doc.one('hide.uk.offcanvas', function() {
+
+ var target;
+
+ try {
+ target = UI.$(href);
+ } catch (e){
+ target = ""
+ }
+
+ if (!target.length) {
+ target = UI.$('[name="'+href.replace('#','')+'"]');
+ }
+
+ if (target.length && link.attr('data-uk-smooth-scroll') && UI.Utils.scrollToElement) {
+ UI.Utils.scrollToElement(target, UI.Utils.options(link.attr('data-uk-smooth-scroll') || '{}'));
+ } else {
+ window.location.href = href;
+ }
+ });
+
+ Offcanvas.hide();
+ });
+
+ element.data("OffcanvasInit", true);
+ }
+ };
+
+ UI.component('offcanvasTrigger', {
+
+ boot: function() {
+
+ // init code
+ $html.on("click.offcanvas.uikit", "[data-uk-offcanvas]", function(e) {
+
+ e.preventDefault();
+
+ var ele = UI.$(this);
+
+ if (!ele.data("offcanvasTrigger")) {
+ var obj = UI.offcanvasTrigger(ele, UI.Utils.options(ele.attr("data-uk-offcanvas")));
+ ele.trigger("click");
+ }
+ });
+
+ $html.on('keydown.uk.offcanvas', function(e) {
+
+ if (e.keyCode === 27) { // ESC
+ Offcanvas.hide();
+ }
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.options = UI.$.extend({
+ "target": $this.element.is("a") ? $this.element.attr("href") : false
+ }, this.options);
+
+ this.on("click", function(e) {
+ e.preventDefault();
+ Offcanvas.show($this.options.target);
+ });
+ }
+ });
+
+ UI.offcanvas = Offcanvas;
+
+})(UIkit);
+
+(function(UI) {
+
+ "use strict";
+
+ var Animations;
+
+ UI.component('switcher', {
+
+ defaults: {
+ connect : false,
+ toggle : ">*",
+ active : 0,
+ animation : false,
+ duration : 200
+ },
+
+ animating: false,
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-switcher]", context).each(function() {
+ var switcher = UI.$(this);
+
+ if (!switcher.data("switcher")) {
+ var obj = UI.switcher(switcher, UI.Utils.options(switcher.attr("data-uk-switcher")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.on("click.uikit.switcher", this.options.toggle, function(e) {
+ e.preventDefault();
+ $this.show(this);
+ });
+
+ if (this.options.connect) {
+
+ this.connect = UI.$(this.options.connect);
+
+ this.connect.find(".uk-active").removeClass(".uk-active");
+
+ // delegate switch commands within container content
+ if (this.connect.length) {
+
+ // Init ARIA for connect
+ this.connect.children().attr('aria-hidden', 'true');
+
+ this.connect.on("click", '[data-uk-switcher-item]', function(e) {
+
+ e.preventDefault();
+
+ var item = UI.$(this).attr('data-uk-switcher-item');
+
+ if ($this.index == item) return;
+
+ switch(item) {
+ case 'next':
+ case 'previous':
+ $this.show($this.index + (item=='next' ? 1:-1));
+ break;
+ default:
+ $this.show(parseInt(item, 10));
+ }
+ }).on('swipeRight swipeLeft', function(e) {
+ e.preventDefault();
+ if(!window.getSelection().toString()) {
+ $this.show($this.index + (e.type == 'swipeLeft' ? 1 : -1));
+ }
+ });
+ }
+
+ var toggles = this.find(this.options.toggle),
+ active = toggles.filter(".uk-active");
+
+ if (active.length) {
+ this.show(active, false);
+ } else {
+
+ if (this.options.active===false) return;
+
+ active = toggles.eq(this.options.active);
+ this.show(active.length ? active : toggles.eq(0), false);
+ }
+
+ // Init ARIA for toggles
+ toggles.not(active).attr('aria-expanded', 'false');
+ active.attr('aria-expanded', 'true');
+
+ this.on('changed.uk.dom', function() {
+ $this.connect = UI.$($this.options.connect);
+ });
+ }
+
+ },
+
+ show: function(tab, animate) {
+
+ if (this.animating) {
+ return;
+ }
+
+ if (isNaN(tab)) {
+ tab = UI.$(tab);
+ } else {
+
+ var toggles = this.find(this.options.toggle);
+
+ tab = tab < 0 ? toggles.length-1 : tab;
+ tab = toggles.eq(toggles[tab] ? tab : 0);
+ }
+
+ var $this = this,
+ toggles = this.find(this.options.toggle),
+ active = UI.$(tab),
+ animation = Animations[this.options.animation] || function(current, next) {
+
+ if (!$this.options.animation) {
+ return Animations.none.apply($this);
+ }
+
+ var anim = $this.options.animation.split(',');
+
+ if (anim.length == 1) {
+ anim[1] = anim[0];
+ }
+
+ anim[0] = anim[0].trim();
+ anim[1] = anim[1].trim();
+
+ return coreAnimation.apply($this, [anim, current, next]);
+ };
+
+ if (animate===false || !UI.support.animation) {
+ animation = Animations.none;
+ }
+
+ if (active.hasClass("uk-disabled")) return;
+
+ // Update ARIA for Toggles
+ toggles.attr('aria-expanded', 'false');
+ active.attr('aria-expanded', 'true');
+
+ toggles.filter(".uk-active").removeClass("uk-active");
+ active.addClass("uk-active");
+
+ if (this.options.connect && this.connect.length) {
+
+ this.index = this.find(this.options.toggle).index(active);
+
+ if (this.index == -1 ) {
+ this.index = 0;
+ }
+
+ this.connect.each(function() {
+
+ var container = UI.$(this),
+ children = UI.$(container.children()),
+ current = UI.$(children.filter('.uk-active')),
+ next = UI.$(children.eq($this.index));
+
+ $this.animating = true;
+
+ animation.apply($this, [current, next]).then(function(){
+
+ current.removeClass("uk-active");
+ next.addClass("uk-active");
+
+ // Update ARIA for connect
+ current.attr('aria-hidden', 'true');
+ next.attr('aria-hidden', 'false');
+
+ UI.Utils.checkDisplay(next, true);
+
+ $this.animating = false;
+ });
+ });
+ }
+
+ this.trigger("show.uk.switcher", [active]);
+ }
+ });
+
+ Animations = {
+
+ 'none': function() {
+ var d = UI.$.Deferred();
+ d.resolve();
+ return d.promise();
+ },
+
+ 'fade': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-fade', current, next]);
+ },
+
+ 'slide-bottom': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-slide-bottom', current, next]);
+ },
+
+ 'slide-top': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-slide-top', current, next]);
+ },
+
+ 'slide-vertical': function(current, next, dir) {
+
+ var anim = ['uk-animation-slide-top', 'uk-animation-slide-bottom'];
+
+ if (current && current.index() > next.index()) {
+ anim.reverse();
+ }
+
+ return coreAnimation.apply(this, [anim, current, next]);
+ },
+
+ 'slide-left': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-slide-left', current, next]);
+ },
+
+ 'slide-right': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-slide-right', current, next]);
+ },
+
+ 'slide-horizontal': function(current, next, dir) {
+
+ var anim = ['uk-animation-slide-right', 'uk-animation-slide-left'];
+
+ if (current && current.index() > next.index()) {
+ anim.reverse();
+ }
+
+ return coreAnimation.apply(this, [anim, current, next]);
+ },
+
+ 'scale': function(current, next) {
+ return coreAnimation.apply(this, ['uk-animation-scale-up', current, next]);
+ }
+ };
+
+ UI.switcher.animations = Animations;
+
+
+ // helpers
+
+ function coreAnimation(cls, current, next) {
+
+ var d = UI.$.Deferred(), clsIn = cls, clsOut = cls, release;
+
+ if (next[0]===current[0]) {
+ d.resolve();
+ return d.promise();
+ }
+
+ if (typeof(cls) == 'object') {
+ clsIn = cls[0];
+ clsOut = cls[1] || cls[0];
+ }
+
+ release = function() {
+
+ if (current) current.hide().removeClass('uk-active '+clsOut+' uk-animation-reverse');
+
+ next.addClass(clsIn).one(UI.support.animation.end, function() {
+
+ next.removeClass(''+clsIn+'').css({opacity:'', display:''});
+
+ d.resolve();
+
+ if (current) current.css({opacity:'', display:''});
+
+ }.bind(this)).show();
+ };
+
+ next.css('animation-duration', this.options.duration+'ms');
+
+ if (current && current.length) {
+
+ current.css('animation-duration', this.options.duration+'ms');
+
+ current.css('display', 'none').addClass(clsOut+' uk-animation-reverse').one(UI.support.animation.end, function() {
+ release();
+ }.bind(this)).css('display', '');
+
+ } else {
+ next.addClass('uk-active');
+ release();
+ }
+
+ return d.promise();
+ }
+
+})(UIkit);
+
+(function(UI) {
+
+ "use strict";
+
+ UI.component('tab', {
+
+ defaults: {
+ 'target' : '>li:not(.uk-tab-responsive, .uk-disabled)',
+ 'connect' : false,
+ 'active' : 0,
+ 'animation' : false,
+ 'duration' : 200
+ },
+
+ boot: function() {
+
+ // init code
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-tab]", context).each(function() {
+
+ var tab = UI.$(this);
+
+ if (!tab.data("tab")) {
+ var obj = UI.tab(tab, UI.Utils.options(tab.attr("data-uk-tab")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ var $this = this;
+
+ this.current = false;
+
+ this.on("click.uikit.tab", this.options.target, function(e) {
+
+ e.preventDefault();
+
+ if ($this.switcher && $this.switcher.animating) {
+ return;
+ }
+
+ var current = $this.find($this.options.target).not(this);
+
+ current.removeClass("uk-active").blur();
+
+ $this.trigger("change.uk.tab", [UI.$(this).addClass("uk-active"), $this.current]);
+
+ $this.current = UI.$(this);
+
+ // Update ARIA
+ if (!$this.options.connect) {
+ current.attr('aria-expanded', 'false');
+ UI.$(this).attr('aria-expanded', 'true');
+ }
+ });
+
+ if (this.options.connect) {
+ this.connect = UI.$(this.options.connect);
+ }
+
+ // init responsive tab
+ this.responsivetab = UI.$('<li class="uk-tab-responsive uk-active"><a></a></li>').append('<div class="uk-dropdown uk-dropdown-small"><ul class="uk-nav uk-nav-dropdown"></ul><div>');
+
+ this.responsivetab.dropdown = this.responsivetab.find('.uk-dropdown');
+ this.responsivetab.lst = this.responsivetab.dropdown.find('ul');
+ this.responsivetab.caption = this.responsivetab.find('a:first');
+
+ if (this.element.hasClass("uk-tab-bottom")) this.responsivetab.dropdown.addClass("uk-dropdown-up");
+
+ // handle click
+ this.responsivetab.lst.on('click.uikit.tab', 'a', function(e) {
+
+ e.preventDefault();
+ e.stopPropagation();
+
+ var link = UI.$(this);
+
+ $this.element.children('li:not(.uk-tab-responsive)').eq(link.data('index')).trigger('click');
+ });
+
+ this.on('show.uk.switcher change.uk.tab', function(e, tab) {
+ $this.responsivetab.caption.html(tab.text());
+ });
+
+ this.element.append(this.responsivetab);
+
+ // init UIkit components
+ if (this.options.connect) {
+ this.switcher = UI.switcher(this.element, {
+ "toggle" : ">li:not(.uk-tab-responsive)",
+ "connect" : this.options.connect,
+ "active" : this.options.active,
+ "animation" : this.options.animation,
+ "duration" : this.options.duration
+ });
+ }
+
+ UI.dropdown(this.responsivetab, {"mode": "click"});
+
+ // init
+ $this.trigger("change.uk.tab", [this.element.find(this.options.target).not('.uk-tab-responsive').filter('.uk-active')]);
+
+ this.check();
+
+ UI.$win.on('resize orientationchange', UI.Utils.debounce(function(){
+ if ($this.element.is(":visible")) $this.check();
+ }, 100));
+
+ this.on('display.uk.check', function(){
+ if ($this.element.is(":visible")) $this.check();
+ });
+ },
+
+ check: function() {
+
+ var children = this.element.children('li:not(.uk-tab-responsive)').removeClass('uk-hidden');
+
+ if (!children.length) {
+ this.responsivetab.addClass('uk-hidden');
+ return;
+ }
+
+ var top = (children.eq(0).offset().top + Math.ceil(children.eq(0).height()/2)),
+ doresponsive = false,
+ item, link, clone;
+
+ this.responsivetab.lst.empty();
+
+ children.each(function(){
+
+ if (UI.$(this).offset().top > top) {
+ doresponsive = true;
+ }
+ });
+
+ if (doresponsive) {
+
+ for (var i = 0; i < children.length; i++) {
+
+ item = UI.$(children.eq(i));
+ link = item.find('a');
+
+ if (item.css('float') != 'none' && !item.attr('uk-dropdown')) {
+
+ if (!item.hasClass('uk-disabled')) {
+
+ clone = item[0].outerHTML.replace('<a ', '<a data-index="'+i+'" ');
+
+ this.responsivetab.lst.append(clone);
+ }
+
+ item.addClass('uk-hidden');
+ }
+ }
+ }
+
+ this.responsivetab[this.responsivetab.lst.children('li').length ? 'removeClass':'addClass']('uk-hidden');
+ }
+ });
+
+})(UIkit);
+
+(function(UI){
+
+ "use strict";
+
+ UI.component('cover', {
+
+ defaults: {
+ automute : true
+ },
+
+ boot: function() {
+
+ // auto init
+ UI.ready(function(context) {
+
+ UI.$("[data-uk-cover]", context).each(function(){
+
+ var ele = UI.$(this);
+
+ if(!ele.data("cover")) {
+ var plugin = UI.cover(ele, UI.Utils.options(ele.attr("data-uk-cover")));
+ }
+ });
+ });
+ },
+
+ init: function() {
+
+ this.parent = this.element.parent();
+
+ UI.$win.on('load resize orientationchange', UI.Utils.debounce(function(){
+ this.check();
+ }.bind(this), 100));
+
+ this.on("display.uk.check", function(e) {
+ if(this.element.is(":visible")) this.check();
+ }.bind(this));
+
+ this.check();
+
+ if (this.element.is('iframe') && this.options.automute) {
+
+ var src = this.element.attr('src');
+
+ this.element.attr('src', '').on('load', function(){
+
+ this.contentWindow.postMessage('{ "event": "command", "func": "mute", "method":"setVolume", "value":0}', '*');
+
+ }).attr('src', [src, (src.indexOf('?') > -1 ? '&':'?'), 'enablejsapi=1&api=1'].join(''));
+ }
+ },
+
+ check: function() {
+
+ this.element.css({
+ 'width' : '',
+ 'height' : ''
+ });
+
+ this.dimension = {w: this.element.width(), h: this.element.height()};
+
+ if (this.element.attr('width') && !isNaN(this.element.attr('width'))) {
+ this.dimension.w = this.element.attr('width');
+ }
+
+ if (this.element.attr('height') && !isNaN(this.element.attr('height'))) {
+ this.dimension.h = this.element.attr('height');
+ }
+
+ this.ratio = this.dimension.w / this.dimension.h;
+
+ var w = this.parent.width(), h = this.parent.height(), width, height;
+
+ // if element height < parent height (gap underneath)
+ if ((w / this.ratio) < h) {
+
+ width = Math.ceil(h * this.ratio);
+ height = h;
+
+ // element width < parent width (gap to right)
+ } else {
+
+ width = w;
+ height = Math.ceil(w / this.ratio);
+ }
+
+ this.element.css({
+ 'width' : width,
+ 'height' : height
+ });
+ }
+ });
+
+})(UIkit);
diff --git a/uikit/static/js/uikit.min.js b/uikit/static/js/uikit.min.js
new file mode 100644
index 0000000..1702ac2
--- /dev/null
+++ b/uikit/static/js/uikit.min.js
@@ -0,0 +1,3 @@
+/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
+!function(t){if("function"==typeof define&&define.amd&&define("uikit",function(){var i=window.UIkit||t(window,window.jQuery,window.document);return i.load=function(t,e,n,o){var s,a=t.split(","),r=[],l=(o.config&&o.config.uikit&&o.config.uikit.base?o.config.uikit.base:"").replace(/\/+$/g,"");if(!l)throw new Error("Please define base path to UIkit in the requirejs config.");for(s=0;s<a.length;s+=1){var c=a[s].replace(/\./g,"/");r.push(l+"/components/"+c)}e(r,function(){n(i)})},i}),!window.jQuery)throw new Error("UIkit requires jQuery");window&&window.jQuery&&t(window,window.jQuery,window.document)}(function(t,i,e){"use strict";var n={},o=t.UIkit?Object.create(t.UIkit):void 0;if(n.version="2.21.0",n.noConflict=function(){return o&&(t.UIkit=o,i.UIkit=o,i.fn.uk=o.fn),n},n.prefix=function(t){return t},n.$=i,n.$doc=n.$(document),n.$win=n.$(window),n.$html=n.$("html"),n.support={},n.support.transition=function(){var t=function(){var t,i=e.body||e.documentElement,n={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(t in n)if(void 0!==i.style[t])return n[t]}();return t&&{end:t}}(),n.support.animation=function(){var t=function(){var t,i=e.body||e.documentElement,n={WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd oanimationend",animation:"animationend"};for(t in n)if(void 0!==i.style[t])return n[t]}();return t&&{end:t}}(),function(){var i=0;t.requestAnimationFrame=t.requestAnimationFrame||t.webkitRequestAnimationFrame||function(e){var n=(new Date).getTime(),o=Math.max(0,16-(n-i)),s=t.setTimeout(function(){e(n+o)},o);return i=n+o,s},t.cancelAnimationFrame||(t.cancelAnimationFrame=function(t){clearTimeout(t)})}(),n.support.touch="ontouchstart"in document||t.DocumentTouch&&document instanceof t.DocumentTouch||t.navigator.msPointerEnabled&&t.navigator.msMaxTouchPoints>0||t.navigator.pointerEnabled&&t.navigator.maxTouchPoints>0||!1,n.support.mutationobserver=t.MutationObserver||t.WebKitMutationObserver||null,n.Utils={},n.Utils.isFullscreen=function(){return document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.fullscreenElement||!1},n.Utils.str2json=function(t,i){try{return i?JSON.parse(t.replace(/([\$\w]+)\s*:/g,function(t,i){return'"'+i+'":'}).replace(/'([^']+)'/g,function(t,i){return'"'+i+'"'})):new Function("","var json = "+t+"; return JSON.parse(JSON.stringify(json));")()}catch(e){return!1}},n.Utils.debounce=function(t,i,e){var n;return function(){var o=this,s=arguments,a=function(){n=null,e||t.apply(o,s)},r=e&&!n;clearTimeout(n),n=setTimeout(a,i),r&&t.apply(o,s)}},n.Utils.removeCssRules=function(t){var i,e,n,o,s,a,r,l,c,u;t&&setTimeout(function(){try{for(u=document.styleSheets,o=0,r=u.length;r>o;o++){for(n=u[o],e=[],n.cssRules=n.cssRules,i=s=0,l=n.cssRules.length;l>s;i=++s)n.cssRules[i].type===CSSRule.STYLE_RULE&&t.test(n.cssRules[i].selectorText)&&e.unshift(i);for(a=0,c=e.length;c>a;a++)n.deleteRule(e[a])}}catch(h){}},0)},n.Utils.isInView=function(t,e){var o=i(t);if(!o.is(":visible"))return!1;var s=n.$win.scrollLeft(),a=n.$win.scrollTop(),r=o.offset(),l=r.left,c=r.top;return e=i.extend({topoffset:0,leftoffset:0},e),c+o.height()>=a&&c-e.topoffset<=a+n.$win.height()&&l+o.width()>=s&&l-e.leftoffset<=s+n.$win.width()?!0:!1},n.Utils.checkDisplay=function(t,e){var o=n.$("[data-uk-margin], [data-uk-grid-match], [data-uk-grid-margin], [data-uk-check-display]",t||document);return t&&!o.length&&(o=i(t)),o.trigger("display.uk.check"),e&&("string"!=typeof e&&(e='[class*="uk-animation-"]'),o.find(e).each(function(){var t=n.$(this),i=t.attr("class"),e=i.match(/uk\-animation\-(.+)/);t.removeClass(e[0]).width(),t.addClass(e[0])})),o},n.Utils.options=function(t){if(i.isPlainObject(t))return t;var e=t?t.indexOf("{"):-1,o={};if(-1!=e)try{o=n.Utils.str2json(t.substr(e))}catch(s){}return o},n.Utils.animate=function(t,e){var o=i.Deferred();return t=n.$(t),e=e,t.css("display","none").addClass(e).one(n.support.animation.end,function(){t.removeClass(e),o.resolve()}).width(),t.css("display",""),o.promise()},n.Utils.uid=function(t){return(t||"id")+(new Date).getTime()+"RAND"+Math.ceil(1e5*Math.random())},n.Utils.template=function(t,i){for(var e,n,o,s,a=t.replace(/\n/g,"\\n").replace(/\{\{\{\s*(.+?)\s*\}\}\}/g,"{{!$1}}").split(/(\{\{\s*(.+?)\s*\}\})/g),r=0,l=[],c=0;r<a.length;){if(e=a[r],e.match(/\{\{\s*(.+?)\s*\}\}/))switch(r+=1,e=a[r],n=e[0],o=e.substring(e.match(/^(\^|\#|\!|\~|\:)/)?1:0),n){case"~":l.push("for(var $i=0;$i<"+o+".length;$i++) { var $item = "+o+"[$i];"),c++;break;case":":l.push("for(var $key in "+o+") { var $val = "+o+"[$key];"),c++;break;case"#":l.push("if("+o+") {"),c++;break;case"^":l.push("if(!"+o+") {"),c++;break;case"/":l.push("}"),c--;break;case"!":l.push("__ret.push("+o+");");break;default:l.push("__ret.push(escape("+o+"));")}else l.push("__ret.push('"+e.replace(/\'/g,"\\'")+"');");r+=1}return s=new Function("$data",["var __ret = [];","try {","with($data){",c?'__ret = ["Not all blocks are closed correctly."]':l.join(""),"};","}catch(e){__ret = [e.message];}",'return __ret.join("").replace(/\\n\\n/g, "\\n");',"function escape(html) { return String(html).replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');}"].join("\n")),i?s(i):s},n.Utils.events={},n.Utils.events.click=n.support.touch?"tap":"click",t.UIkit=n,n.fn=function(t,e){var o=arguments,s=t.match(/^([a-z\-]+)(?:\.([a-z]+))?/i),a=s[1],r=s[2];return n[a]?this.each(function(){var t=i(this),s=t.data(a);s||t.data(a,s=n[a](this,r?void 0:e)),r&&s[r].apply(s,Array.prototype.slice.call(o,1))}):(i.error("UIkit component ["+a+"] does not exist."),this)},i.UIkit=n,i.fn.uk=n.fn,n.langdirection="rtl"==n.$html.attr("dir")?"right":"left",n.components={},n.component=function(t,e){var o=function(e,s){var a=this;return this.UIkit=n,this.element=e?n.$(e):null,this.options=i.extend(!0,{},this.defaults,s),this.plugins={},this.element&&this.element.data(t,this),this.init(),(this.options.plugins.length?this.options.plugins:Object.keys(o.plugins)).forEach(function(t){o.plugins[t].init&&(o.plugins[t].init(a),a.plugins[t]=!0)}),this.trigger("init.uk.component",[t,this]),this};return o.plugins={},i.extend(!0,o.prototype,{defaults:{plugins:[]},boot:function(){},init:function(){},on:function(t,i,e){return n.$(this.element||this).on(t,i,e)},one:function(t,i,e){return n.$(this.element||this).one(t,i,e)},off:function(t){return n.$(this.element||this).off(t)},trigger:function(t,i){return n.$(this.element||this).trigger(t,i)},find:function(t){return n.$(this.element?this.element:[]).find(t)},proxy:function(t,i){var e=this;i.split(" ").forEach(function(i){e[i]||(e[i]=function(){return t[i].apply(t,arguments)})})},mixin:function(t,i){var e=this;i.split(" ").forEach(function(i){e[i]||(e[i]=t[i].bind(e))})},option:function(){return 1==arguments.length?this.options[arguments[0]]||void 0:(2==arguments.length&&(this.options[arguments[0]]=arguments[1]),void 0)}},e),this.components[t]=o,this[t]=function(){var e,o;if(arguments.length)switch(arguments.length){case 1:"string"==typeof arguments[0]||arguments[0].nodeType||arguments[0]instanceof jQuery?e=i(arguments[0]):o=arguments[0];break;case 2:e=i(arguments[0]),o=arguments[1]}return e&&e.data(t)?e.data(t):new n.components[t](e,o)},n.domready&&n.component.boot(t),o},n.plugin=function(t,i,e){this.components[t].plugins[i]=e},n.component.boot=function(t){n.components[t].prototype&&n.components[t].prototype.boot&&!n.components[t].booted&&(n.components[t].prototype.boot.apply(n,[]),n.components[t].booted=!0)},n.component.bootComponents=function(){for(var t in n.components)n.component.boot(t)},n.domObservers=[],n.domready=!1,n.ready=function(t){n.domObservers.push(t),n.domready&&t(document)},n.on=function(t,i,e){return t&&t.indexOf("ready.uk.dom")>-1&&n.domready&&i.apply(n.$doc),n.$doc.on(t,i,e)},n.one=function(t,i,e){return t&&t.indexOf("ready.uk.dom")>-1&&n.domready?(i.apply(n.$doc),n.$doc):n.$doc.one(t,i,e)},n.trigger=function(t,i){return n.$doc.trigger(t,i)},n.domObserve=function(t,i){n.support.mutationobserver&&(i=i||function(){},n.$(t).each(function(){var t=this,e=n.$(t);if(!e.data("observer"))try{var o=new n.support.mutationobserver(n.Utils.debounce(function(){i.apply(t,[]),e.trigger("changed.uk.dom")},50));o.observe(t,{childList:!0,subtree:!0}),e.data("observer",o)}catch(s){}}))},n.init=function(t){t=t||document,n.domObservers.forEach(function(i){i(t)})},n.on("domready.uk.dom",function(){n.init(),n.domready&&n.Utils.checkDisplay()}),i(function(){n.$body=n.$("body"),n.ready(function(){n.domObserve("[data-uk-observe]")}),n.on("changed.uk.dom",function(t){n.init(t.target),n.Utils.checkDisplay(t.target)}),n.trigger("beforeready.uk.dom"),n.component.bootComponents(),setInterval(function(){var t,i={x:window.pageXOffset,y:window.pageYOffset},e=function(){(i.x!=window.pageXOffset||i.y!=window.pageYOffset)&&(t={x:0,y:0},window.pageXOffset!=i.x&&(t.x=window.pageXOffset>i.x?1:-1),window.pageYOffset!=i.y&&(t.y=window.pageYOffset>i.y?1:-1),i={dir:t,x:window.pageXOffset,y:window.pageYOffset},n.$doc.trigger("scrolling.uk.document",[i]))};return n.support.touch&&n.$html.on("touchmove touchend MSPointerMove MSPointerUp pointermove pointerup",e),(i.x||i.y)&&e(),e}(),15),n.trigger("domready.uk.dom"),n.support.touch&&navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&n.$win.on("load orientationchange resize",n.Utils.debounce(function(){var t=function(){return i(".uk-height-viewport").css("height",window.innerHeight),t};return t()}(),100)),n.trigger("afterready.uk.dom"),n.domready=!0}),n.$html.addClass(n.support.touch?"uk-touch":"uk-notouch"),n.support.touch){var s,a=!1,r="uk-hover",l=".uk-overlay, .uk-overlay-hover, .uk-overlay-toggle, .uk-animation-hover, .uk-has-hover";n.$html.on("touchstart MSPointerDown pointerdown",l,function(){a&&i("."+r).removeClass(r),a=i(this).addClass(r)}).on("touchend MSPointerUp pointerup",function(t){s=i(t.target).parents(l),a&&a.not(s).removeClass(r)})}return n}),function(t){function i(t,i,e,n){return Math.abs(t-i)>=Math.abs(e-n)?t-i>0?"Left":"Right":e-n>0?"Up":"Down"}function e(){c=null,h.last&&(h.el.trigger("longTap"),h={})}function n(){c&&clearTimeout(c),c=null}function o(){a&&clearTimeout(a),r&&clearTimeout(r),l&&clearTimeout(l),c&&clearTimeout(c),a=r=l=c=null,h={}}function s(t){return t.pointerType==t.MSPOINTER_TYPE_TOUCH&&t.isPrimary}if(!t.fn.swipeLeft){var a,r,l,c,u,h={},d=750;t(function(){var f,p,m,g=0,v=0;"MSGesture"in window&&(u=new MSGesture,u.target=document.body),t(document).on("MSGestureEnd gestureend",function(t){var i=t.originalEvent.velocityX>1?"Right":t.originalEvent.velocityX<-1?"Left":t.originalEvent.velocityY>1?"Down":t.originalEvent.velocityY<-1?"Up":null;i&&(h.el.trigger("swipe"),h.el.trigger("swipe"+i))}).on("touchstart MSPointerDown pointerdown",function(i){("MSPointerDown"!=i.type||s(i.originalEvent))&&(m="MSPointerDown"==i.type||"pointerdown"==i.type?i:i.originalEvent.touches[0],f=Date.now(),p=f-(h.last||f),h.el=t("tagName"in m.target?m.target:m.target.parentNode),a&&clearTimeout(a),h.x1=m.pageX,h.y1=m.pageY,p>0&&250>=p&&(h.isDoubleTap=!0),h.last=f,c=setTimeout(e,d),!u||"MSPointerDown"!=i.type&&"pointerdown"!=i.type&&"touchstart"!=i.type||u.addPointer(i.originalEvent.pointerId))}).on("touchmove MSPointerMove pointermove",function(t){("MSPointerMove"!=t.type||s(t.originalEvent))&&(m="MSPointerMove"==t.type||"pointermove"==t.type?t:t.originalEvent.touches[0],n(),h.x2=m.pageX,h.y2=m.pageY,g+=Math.abs(h.x1-h.x2),v+=Math.abs(h.y1-h.y2))}).on("touchend MSPointerUp pointerup",function(e){("MSPointerUp"!=e.type||s(e.originalEvent))&&(n(),h.x2&&Math.abs(h.x1-h.x2)>30||h.y2&&Math.abs(h.y1-h.y2)>30?l=setTimeout(function(){h.el.trigger("swipe"),h.el.trigger("swipe"+i(h.x1,h.x2,h.y1,h.y2)),h={}},0):"last"in h&&(isNaN(g)||30>g&&30>v?r=setTimeout(function(){var i=t.Event("tap");i.cancelTouch=o,h.el.trigger(i),h.isDoubleTap?(h.el.trigger("doubleTap"),h={}):a=setTimeout(function(){a=null,h.el.trigger("singleTap"),h={}},250)},0):h={},g=v=0))}).on("touchcancel MSPointerCancel",o),t(window).on("scroll",o)}),["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","doubleTap","tap","singleTap","longTap"].forEach(function(i){t.fn[i]=function(e){return t(this).on(i,e)}})}}(jQuery),function(t){"use strict";var i=[];t.component("stackMargin",{defaults:{cls:"uk-margin-small-top"},boot:function(){t.ready(function(i){t.$("[data-uk-margin]",i).each(function(){var i,e=t.$(this);e.data("stackMargin")||(i=t.stackMargin(e,t.Utils.options(e.attr("data-uk-margin"))))})})},init:function(){var e=this;this.columns=this.element.children(),this.columns.length&&(t.$win.on("resize orientationchange",function(){var i=function(){e.process()};return t.$(function(){i(),t.$win.on("load",i)}),t.Utils.debounce(i,20)}()),t.$html.on("changed.uk.dom",function(){e.columns=e.element.children(),e.process()}),this.on("display.uk.check",function(){e.columns=e.element.children(),this.element.is(":visible")&&this.process()}.bind(this)),i.push(this))},process:function(){return t.Utils.stackMargin(this.columns,this.options),this},revert:function(){return this.columns.removeClass(this.options.cls),this}}),function(){var i=[],e=function(t){if(t.is(":visible")){var i=t.parent().width(),e=t.data("width"),n=i/e,o=Math.floor(n*t.data("height"));t.css({height:e>i?o:t.data("height")})}};t.component("responsiveElement",{defaults:{},boot:function(){t.ready(function(i){t.$("iframe.uk-responsive-width, [data-uk-responsive]",i).each(function(){var i,e=t.$(this);e.data("responsiveIframe")||(i=t.responsiveElement(e,{}))})})},init:function(){var t=this.element;t.attr("width")&&t.attr("height")&&(t.data({width:t.attr("width"),height:t.attr("height")}).on("display.uk.check",function(){e(t)}),e(t),i.push(t))}}),t.$win.on("resize load",t.Utils.debounce(function(){i.forEach(function(t){e(t)})},15))}(),t.Utils.stackMargin=function(i,e){e=t.$.extend({cls:"uk-margin-small-top"},e),e.cls=e.cls,i=t.$(i).removeClass(e.cls);var n=!1,o=i.filter(":visible:first"),s=o.length?o.position().top+o.outerHeight()-1:!1;s!==!1&&i.each(function(){var i=t.$(this);i.is(":visible")&&(n?i.addClass(e.cls):i.position().top>=s&&(n=i.addClass(e.cls)))})},t.Utils.matchHeights=function(i,e){i=t.$(i).css("min-height",""),e=t.$.extend({row:!0},e);var n=function(i){if(!(i.length<2)){var e=0;i.each(function(){e=Math.max(e,t.$(this).outerHeight())}).each(function(){var i=t.$(this),n=e-("border-box"==i.css("box-sizing")?0:i.outerHeight()-i.height());i.css("min-height",n+"px")})}};e.row?(i.first().width(),setTimeout(function(){var e=!1,o=[];i.each(function(){var i=t.$(this),s=i.offset().top;s!=e&&o.length&&(n(t.$(o)),o=[],s=i.offset().top),o.push(i),e=s}),o.length&&n(t.$(o))},0)):n(i)}}(UIkit),function(t){"use strict";function i(i,e){e=t.$.extend({duration:1e3,transition:"easeOutExpo",offset:0,complete:function(){}},e);var n=i.offset().top-e.offset,o=t.$doc.height(),s=window.innerHeight;n+s>o&&(n=o-s),t.$("html,body").stop().animate({scrollTop:n},e.duration,e.transition).promise().done(e.complete)}t.component("smoothScroll",{boot:function(){t.$html.on("click.smooth-scroll.uikit","[data-uk-smooth-scroll]",function(){var i=t.$(this);if(!i.data("smoothScroll")){{t.smoothScroll(i,t.Utils.options(i.attr("data-uk-smooth-scroll")))}i.trigger("click")}return!1})},init:function(){var e=this;this.on("click",function(n){n.preventDefault(),i(t.$(this.hash).length?t.$(this.hash):t.$("body"),e.options)})}}),t.Utils.scrollToElement=i,t.$.easing.easeOutExpo||(t.$.easing.easeOutExpo=function(t,i,e,n,o){return i==o?e+n:n*(-Math.pow(2,-10*i/o)+1)+e})}(UIkit),function(t){"use strict";var i=t.$win,e=t.$doc,n=[],o=function(){for(var t=0;t<n.length;t++)window.requestAnimationFrame.apply(window,[n[t].check])};t.component("scrollspy",{defaults:{target:!1,cls:"uk-scrollspy-inview",initcls:"uk-scrollspy-init-inview",topoffset:0,leftoffset:0,repeat:!1,delay:0},boot:function(){e.on("scrolling.uk.document",o),i.on("load resize orientationchange",t.Utils.debounce(o,50)),t.ready(function(i){t.$("[data-uk-scrollspy]",i).each(function(){var i=t.$(this);if(!i.data("scrollspy")){t.scrollspy(i,t.Utils.options(i.attr("data-uk-scrollspy")))}})})},init:function(){var i,e=this,o=this.options.cls.split(/,/),s=function(){var n=e.options.target?e.element.find(e.options.target):e.element,s=1===n.length?1:0,a=0;n.each(function(){var n=t.$(this),r=n.data("inviewstate"),l=t.Utils.isInView(n,e.options),c=n.data("ukScrollspyCls")||o[a].trim();!l||r||n.data("scrollspy-idle")||(i||(n.addClass(e.options.initcls),e.offset=n.offset(),i=!0,n.trigger("init.uk.scrollspy")),n.data("scrollspy-idle",setTimeout(function(){n.addClass("uk-scrollspy-inview").toggleClass(c).width(),n.trigger("inview.uk.scrollspy"),n.data("scrollspy-idle",!1),n.data("inviewstate",!0)},e.options.delay*s)),s++),!l&&r&&e.options.repeat&&(n.data("scrollspy-idle")&&clearTimeout(n.data("scrollspy-idle")),n.removeClass("uk-scrollspy-inview").toggleClass(c),n.data("inviewstate",!1),n.trigger("outview.uk.scrollspy")),a=o[a+1]?a+1:0})};s(),this.check=s,n.push(this)}});var s=[],a=function(){for(var t=0;t<s.length;t++)window.requestAnimationFrame.apply(window,[s[t].check])};t.component("scrollspynav",{defaults:{cls:"uk-active",closest:!1,topoffset:0,leftoffset:0,smoothscroll:!1},boot:function(){e.on("scrolling.uk.document",a),i.on("resize orientationchange",t.Utils.debounce(a,50)),t.ready(function(i){t.$("[data-uk-scrollspy-nav]",i).each(function(){var i=t.$(this);if(!i.data("scrollspynav")){t.scrollspynav(i,t.Utils.options(i.attr("data-uk-scrollspy-nav")))}})})},init:function(){var e,n=[],o=this.find("a[href^='#']").each(function(){n.push(t.$(this).attr("href"))}),a=t.$(n.join(",")),r=this.options.cls,l=this.options.closest||this.options.closest,c=this,u=function(){e=[];for(var n=0;n<a.length;n++)t.Utils.isInView(a.eq(n),c.options)&&e.push(a.eq(n));if(e.length){var s,u=i.scrollTop(),h=function(){for(var t=0;t<e.length;t++)if(e[t].offset().top>=u)return e[t]}();if(!h)return;c.options.closest?(o.closest(l).removeClass(r),s=o.filter("a[href='#"+h.attr("id")+"']").closest(l).addClass(r)):s=o.removeClass(r).filter("a[href='#"+h.attr("id")+"']").addClass(r),c.element.trigger("inview.uk.scrollspynav",[h,s])}};this.options.smoothscroll&&t.smoothScroll&&o.each(function(){t.smoothScroll(this,c.options.smoothscroll)}),u(),this.element.data("scrollspynav",this),this.check=u,s.push(this)}})}(UIkit),function(t){"use strict";var i=[];t.component("toggle",{defaults:{target:!1,cls:"uk-hidden",animation:!1,duration:200},boot:function(){t.ready(function(e){t.$("[data-uk-toggle]",e).each(function(){var i=t.$(this);if(!i.data("toggle")){t.toggle(i,t.Utils.options(i.attr("data-uk-toggle")))}}),setTimeout(function(){i.forEach(function(t){t.getToggles()})},0)})},init:function(){var t=this;this.aria=-1!==this.options.cls.indexOf("uk-hidden"),this.getToggles(),this.on("click",function(i){t.element.is('a[href="#"]')&&i.preventDefault(),t.toggle()}),i.push(this)},toggle:function(){if(this.totoggle.length){if(this.options.animation&&t.support.animation){var i=this,e=this.options.animation.split(",");1==e.length&&(e[1]=e[0]),e[0]=e[0].trim(),e[1]=e[1].trim(),this.totoggle.css("animation-duration",this.options.duration+"ms"),this.totoggle.hasClass(this.options.cls)?(this.totoggle.toggleClass(this.options.cls),this.totoggle.each(function(){t.Utils.animate(this,e[0]).then(function(){t.$(this).css("animation-duration",""),t.Utils.checkDisplay(this)})})):this.totoggle.each(function(){t.Utils.animate(this,e[1]+" uk-animation-reverse").then(function(){t.$(this).toggleClass(i.options.cls).css("animation-duration",""),t.Utils.checkDisplay(this)}.bind(this))})}else this.totoggle.toggleClass(this.options.cls),t.Utils.checkDisplay(this.totoggle);this.updateAria()}},getToggles:function(){this.totoggle=this.options.target?t.$(this.options.target):[],this.updateAria()},updateAria:function(){this.aria&&this.totoggle.length&&this.totoggle.each(function(){t.$(this).attr("aria-hidden",t.$(this).hasClass("uk-hidden"))})}})}(UIkit),function(t){"use strict";t.component("alert",{defaults:{fade:!0,duration:200,trigger:".uk-alert-close"},boot:function(){t.$html.on("click.alert.uikit","[data-uk-alert]",function(i){var e=t.$(this);if(!e.data("alert")){var n=t.alert(e,t.Utils.options(e.attr("data-uk-alert")));t.$(i.target).is(n.options.trigger)&&(i.preventDefault(),n.close())}})},init:function(){var t=this;this.on("click",this.options.trigger,function(i){i.preventDefault(),t.close()})},close:function(){var t=this.trigger("close.uk.alert"),i=function(){this.trigger("closed.uk.alert").remove()}.bind(this);this.options.fade?t.css("overflow","hidden").css("max-height",t.height()).animate({height:0,opacity:0,"padding-top":0,"padding-bottom":0,"margin-top":0,"margin-bottom":0},this.options.duration,i):i()}})}(UIkit),function(t){"use strict";t.component("buttonRadio",{defaults:{target:".uk-button"},boot:function(){t.$html.on("click.buttonradio.uikit","[data-uk-button-radio]",function(i){var e=t.$(this);if(!e.data("buttonRadio")){var n=t.buttonRadio(e,t.Utils.options(e.attr("data-uk-button-radio"))),o=t.$(i.target);o.is(n.options.target)&&o.trigger("click")}})},init:function(){var i=this;this.find(i.options.target).attr("aria-checked","false").filter(".uk-active").attr("aria-checked","true"),this.on("click",this.options.target,function(e){var n=t.$(this);n.is('a[href="#"]')&&e.preventDefault(),i.find(i.options.target).not(n).removeClass("uk-active").blur(),n.addClass("uk-active"),i.find(i.options.target).not(n).attr("aria-checked","false"),n.attr("aria-checked","true"),i.trigger("change.uk.button",[n])})},getSelected:function(){return this.find(".uk-active")}}),t.component("buttonCheckbox",{defaults:{target:".uk-button"},boot:function(){t.$html.on("click.buttoncheckbox.uikit","[data-uk-button-checkbox]",function(i){var e=t.$(this);if(!e.data("buttonCheckbox")){var n=t.buttonCheckbox(e,t.Utils.options(e.attr("data-uk-button-checkbox"))),o=t.$(i.target);o.is(n.options.target)&&o.trigger("click")}})},init:function(){var i=this;this.find(i.options.target).attr("aria-checked","false").filter(".uk-active").attr("aria-checked","true"),this.on("click",this.options.target,function(e){var n=t.$(this);n.is('a[href="#"]')&&e.preventDefault(),n.toggleClass("uk-active").blur(),n.attr("aria-checked",n.hasClass("uk-active")),i.trigger("change.uk.button",[n])})},getSelected:function(){return this.find(".uk-active")}}),t.component("button",{defaults:{},boot:function(){t.$html.on("click.button.uikit","[data-uk-button]",function(){var i=t.$(this);if(!i.data("button")){{t.button(i,t.Utils.options(i.attr("data-uk-button")))}i.trigger("click")}})},init:function(){var t=this;this.element.attr("aria-pressed",this.element.hasClass("uk-active")),this.on("click",function(i){t.element.is('a[href="#"]')&&i.preventDefault(),t.toggle(),t.trigger("change.uk.button",[t.element.blur().hasClass("uk-active")])})},toggle:function(){this.element.toggleClass("uk-active"),this.element.attr("aria-pressed",this.element.hasClass("uk-active"))}})}(UIkit),function(t){"use strict";var i,e=!1;t.component("dropdown",{defaults:{mode:"hover",remaintime:800,justify:!1,boundary:t.$win,delay:0,hoverDelayIdle:250},remainIdle:!1,boot:function(){var i=t.support.touch?"click":"mouseenter";t.$html.on(i+".dropdown.uikit","[data-uk-dropdown]",function(e){var n=t.$(this);if(!n.data("dropdown")){var o=t.dropdown(n,t.Utils.options(n.attr("data-uk-dropdown")));("click"==i||"mouseenter"==i&&"hover"==o.options.mode)&&o.element.trigger(i),o.element.find(".uk-dropdown").length&&e.preventDefault()}})},init:function(){var n=this;this.dropdown=this.find(".uk-dropdown"),this.centered=this.dropdown.hasClass("uk-dropdown-center"),this.justified=this.options.justify?t.$(this.options.justify):!1,this.boundary=t.$(this.options.boundary),this.flipped=this.dropdown.hasClass("uk-dropdown-flip"),this.boundary.length||(this.boundary=t.$win),this.element.attr("aria-haspopup","true"),this.element.attr("aria-expanded",this.element.hasClass("uk-open")),"click"==this.options.mode||t.support.touch?this.on("click.uikit.dropdown",function(i){var e=t.$(i.target);e.parents(".uk-dropdown").length||((e.is("a[href='#']")||e.parent().is("a[href='#']")||n.dropdown.length&&!n.dropdown.is(":visible"))&&i.preventDefault(),e.blur()),n.element.hasClass("uk-open")?(e.is("a:not(.js-uk-prevent)")||e.is(".uk-dropdown-close")||!n.dropdown.find(i.target).length)&&n.hide():n.show()}):this.on("mouseenter",function(){n.remainIdle&&clearTimeout(n.remainIdle),i&&clearTimeout(i),e&&e==n||(i=e&&e!=n?setTimeout(function(){i=setTimeout(n.show.bind(n),n.options.delay)},n.options.hoverDelayIdle):setTimeout(n.show.bind(n),n.options.delay))}).on("mouseleave",function(){i&&clearTimeout(i),n.remainIdle=setTimeout(function(){e&&e==n&&n.hide()},n.options.remaintime)}).on("click",function(i){var e=t.$(i.target);n.remainIdle&&clearTimeout(n.remainIdle),(e.is("a[href='#']")||e.parent().is("a[href='#']"))&&i.preventDefault(),n.show()})},show:function(){t.$html.off("click.outer.dropdown"),e&&e!=this&&e.hide(),i&&clearTimeout(i),this.checkDimensions(),this.element.addClass("uk-open"),this.element.attr("aria-expanded","true"),this.trigger("show.uk.dropdown",[this]),t.Utils.checkDisplay(this.dropdown,!0),e=this,this.registerOuterClick()},hide:function(){this.element.removeClass("uk-open"),this.remainIdle&&clearTimeout(this.remainIdle),this.remainIdle=!1,this.element.attr("aria-expanded","false"),this.trigger("hide.uk.dropdown",[this]),e==this&&(e=!1)},registerOuterClick:function(){var n=this;t.$html.off("click.outer.dropdown"),setTimeout(function(){t.$html.on("click.outer.dropdown",function(o){i&&clearTimeout(i);var s=t.$(o.target);e!=n||!s.is("a:not(.js-uk-prevent)")&&!s.is(".uk-dropdown-close")&&n.dropdown.find(o.target).length||(n.hide(),t.$html.off("click.outer.dropdown"))})},10)},checkDimensions:function(){if(this.dropdown.length){this.justified&&this.justified.length&&this.dropdown.css("min-width","");var i=this,e=this.dropdown.css("margin-"+t.langdirection,""),n=e.show().offset(),o=e.outerWidth(),s=this.boundary.width(),a=this.boundary.offset()?this.boundary.offset().left:0;if(this.centered&&(e.css("margin-"+t.langdirection,-1*(parseFloat(o)/2-e.parent().width()/2)),n=e.offset(),(o+n.left>s||n.left<0)&&(e.css("margin-"+t.langdirection,""),n=e.offset())),this.justified&&this.justified.length){var r=this.justified.outerWidth();if(e.css("min-width",r),"right"==t.langdirection){var l=s-(this.justified.offset().left+r),c=s-(e.offset().left+e.outerWidth());e.css("margin-right",l-c)}else e.css("margin-left",this.justified.offset().left-n.left);n=e.offset()}o+(n.left-a)>s&&(e.addClass("uk-dropdown-flip"),n=e.offset()),n.left-a<0&&(e.addClass("uk-dropdown-stack"),e.hasClass("uk-dropdown-flip")&&(this.flipped||(e.removeClass("uk-dropdown-flip"),n=e.offset(),e.addClass("uk-dropdown-flip")),setTimeout(function(){(e.offset().left-a<0||!i.flipped&&e.outerWidth()+(n.left-a)<s)&&e.removeClass("uk-dropdown-flip")},0)),this.trigger("stack.uk.dropdown",[this])),e.css("display","")}}})}(UIkit),function(t){"use strict";var i=[];t.component("gridMatchHeight",{defaults:{target:!1,row:!0,ignorestacked:!1},boot:function(){t.ready(function(i){t.$("[data-uk-grid-match]",i).each(function(){var i,e=t.$(this);e.data("gridMatchHeight")||(i=t.gridMatchHeight(e,t.Utils.options(e.attr("data-uk-grid-match"))))})})},init:function(){var e=this;this.columns=this.element.children(),this.elements=this.options.target?this.find(this.options.target):this.columns,this.columns.length&&(t.$win.on("load resize orientationchange",function(){var i=function(){e.match()};return t.$(function(){i()}),t.Utils.debounce(i,50)}()),t.$html.on("changed.uk.dom",function(){e.columns=e.element.children(),e.elements=e.options.target?e.find(e.options.target):e.columns,e.match()}),this.on("display.uk.check",function(){this.element.is(":visible")&&this.match()}.bind(this)),i.push(this))},match:function(){var i=this.columns.filter(":visible:first");if(i.length){var e=Math.ceil(100*parseFloat(i.css("width"))/parseFloat(i.parent().css("width")))>=100;return e&&!this.options.ignorestacked?this.revert():t.Utils.matchHeights(this.elements,this.options),this}},revert:function(){return this.elements.css("min-height",""),this}}),t.component("gridMargin",{defaults:{cls:"uk-grid-margin"},boot:function(){t.ready(function(i){t.$("[data-uk-grid-margin]",i).each(function(){var i,e=t.$(this);e.data("gridMargin")||(i=t.gridMargin(e,t.Utils.options(e.attr("data-uk-grid-margin"))))})})},init:function(){t.stackMargin(this.element,this.options)}})}(UIkit),function(t){"use strict";function i(i,e){return e?("object"==typeof i?(i=i instanceof jQuery?i:t.$(i),i.parent().length&&(e.persist=i,e.persist.data("modalPersistParent",i.parent()))):i="string"==typeof i||"number"==typeof i?t.$("<div></div>").html(i):t.$("<div></div>").html("UIkit.modal Error: Unsupported data type: "+typeof i),i.appendTo(e.element.find(".uk-modal-dialog")),e):void 0}var e,n=!1,o=0,s=t.$html;t.component("modal",{defaults:{keyboard:!0,bgclose:!0,minScrollHeight:150,center:!1,modal:!0},scrollable:!1,transition:!1,init:function(){if(e||(e=t.$("body")),this.element.length){var i=this;this.paddingdir="padding-"+("left"==t.langdirection?"right":"left"),this.dialog=this.find(".uk-modal-dialog"),this.active=!1,this.element.attr("aria-hidden",this.element.hasClass("uk-open")),this.on("click",".uk-modal-close",function(t){t.preventDefault(),i.hide()}).on("click",function(e){var n=t.$(e.target);n[0]==i.element[0]&&i.options.bgclose&&i.hide()})}},toggle:function(){return this[this.isActive()?"hide":"show"]()},show:function(){if(this.element.length){if(!this.isActive())return this.options.modal&&n&&n.hide(!0),this.element.removeClass("uk-open").show(),this.resize(),this.options.modal&&(n=this),this.active=!0,o++,this.element.addClass("uk-open"),s.addClass("uk-modal-page").height(),this.element.attr("aria-hidden","false"),this.element.trigger("show.uk.modal"),t.Utils.checkDisplay(this.dialog,!0),this}},hide:function(i){if(!i&&t.support.transition){var e=this;this.one(t.support.transition.end,function(){e._hide()}).removeClass("uk-open")}else this._hide();return this},resize:function(){var t=e.width();if(this.scrollbarwidth=window.innerWidth-t,e.css(this.paddingdir,this.scrollbarwidth),this.element.css("overflow-y",this.scrollbarwidth?"scroll":"auto"),!this.updateScrollable()&&this.options.center){var i=this.dialog.outerHeight(),n=parseInt(this.dialog.css("margin-top"),10)+parseInt(this.dialog.css("margin-bottom"),10);i+n<window.innerHeight?this.dialog.css({top:window.innerHeight/2-i/2-n}):this.dialog.css({top:""})}},updateScrollable:function(){var t=this.dialog.find(".uk-overflow-container:visible:first");if(t.length){t.css("height",0);var i=Math.abs(parseInt(this.dialog.css("margin-top"),10)),e=this.dialog.outerHeight(),n=window.innerHeight,o=n-2*(20>i?20:i)-e;return t.css("height",o<this.options.minScrollHeight?"":o),!0}return!1},_hide:function(){this.active=!1,o--,this.element.hide().removeClass("uk-open"),this.element.attr("aria-hidden","true"),o||(s.removeClass("uk-modal-page"),e.css(this.paddingdir,"")),n===this&&(n=!1),this.trigger("hide.uk.modal")},isActive:function(){return this.active}}),t.component("modalTrigger",{boot:function(){t.$html.on("click.modal.uikit","[data-uk-modal]",function(i){var e=t.$(this);if(e.is("a")&&i.preventDefault(),!e.data("modalTrigger")){var n=t.modalTrigger(e,t.Utils.options(e.attr("data-uk-modal")));n.show()}}),t.$html.on("keydown.modal.uikit",function(t){n&&27===t.keyCode&&n.options.keyboard&&(t.preventDefault(),n.hide())}),t.$win.on("resize orientationchange",t.Utils.debounce(function(){n&&n.resize()},150))},init:function(){var i=this;this.options=t.$.extend({target:i.element.is("a")?i.element.attr("href"):!1},this.options),this.modal=t.modal(this.options.target,this.options),this.on("click",function(t){t.preventDefault(),i.show()}),this.proxy(this.modal,"show hide isActive")
+}}),t.modal.dialog=function(e,n){var o=t.modal(t.$(t.modal.dialog.template).appendTo("body"),n);return o.on("hide.uk.modal",function(){o.persist&&(o.persist.appendTo(o.persist.data("modalPersistParent")),o.persist=!1),o.element.remove()}),i(e,o),o},t.modal.dialog.template='<div class="uk-modal"><div class="uk-modal-dialog" style="min-height:0;"></div></div>',t.modal.alert=function(i,e){e=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},e);var n=t.modal.dialog(['<div class="uk-margin uk-modal-content">'+String(i)+"</div>",'<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary uk-modal-close">'+e.labels.Ok+"</button></div>"].join(""),e);n.on("show.uk.modal",function(){setTimeout(function(){n.element.find("button:first").focus()},50)}),n.show()},t.modal.confirm=function(i,e,n){e=t.$.isFunction(e)?e:function(){},n=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},n);var o=t.modal.dialog(['<div class="uk-margin uk-modal-content">'+String(i)+"</div>",'<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary js-modal-confirm">'+n.labels.Ok+'</button> <button class="uk-button uk-modal-close">'+n.labels.Cancel+"</button></div>"].join(""),n);o.element.find(".js-modal-confirm").on("click",function(){e(),o.hide()}),o.on("show.uk.modal",function(){setTimeout(function(){o.element.find("button:first").focus()},50)}),o.show()},t.modal.prompt=function(i,e,n,o){n=t.$.isFunction(n)?n:function(){},o=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},o);var s=t.modal.dialog([i?'<div class="uk-modal-content uk-form">'+String(i)+"</div>":"",'<div class="uk-margin-small-top uk-modal-content uk-form"><p><input type="text" class="uk-width-1-1"></p></div>','<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary js-modal-ok">'+o.labels.Ok+'</button> <button class="uk-button uk-modal-close">'+o.labels.Cancel+"</button></div>"].join(""),o),a=s.element.find("input[type='text']").val(e||"").on("keyup",function(t){13==t.keyCode&&s.element.find(".js-modal-ok").trigger("click")});s.element.find(".js-modal-ok").on("click",function(){n(a.val())!==!1&&s.hide()}),s.on("show.uk.modal",function(){setTimeout(function(){a.focus()},50)}),s.show()},t.modal.blockUI=function(i,e){var n=t.modal.dialog(['<div class="uk-margin uk-modal-content">'+String(i||'<div class="uk-text-center">...</div>')+"</div>"].join(""),t.$.extend({bgclose:!1,keyboard:!1,modal:!1},e));return n.content=n.element.find(".uk-modal-content:first"),n.show(),n},t.modal.labels={Ok:"Ok",Cancel:"Cancel"}}(UIkit),function(t){"use strict";function i(i){var e=t.$(i),n="auto";if(e.is(":visible"))n=e.outerHeight();else{var o={position:e.css("position"),visibility:e.css("visibility"),display:e.css("display")};n=e.css({position:"absolute",visibility:"hidden",display:"block"}).outerHeight(),e.css(o)}return n}t.component("nav",{defaults:{toggle:">li.uk-parent > a[href='#']",lists:">li.uk-parent > ul",multiple:!1},boot:function(){t.ready(function(i){t.$("[data-uk-nav]",i).each(function(){var i=t.$(this);if(!i.data("nav")){t.nav(i,t.Utils.options(i.attr("data-uk-nav")))}})})},init:function(){var i=this;this.on("click.uikit.nav",this.options.toggle,function(e){e.preventDefault();var n=t.$(this);i.open(n.parent()[0]==i.element[0]?n:n.parent("li"))}),this.find(this.options.lists).each(function(){var e=t.$(this),n=e.parent(),o=n.hasClass("uk-active");e.wrap('<div style="overflow:hidden;height:0;position:relative;"></div>'),n.data("list-container",e.parent()[o?"removeClass":"addClass"]("uk-hidden")),n.attr("aria-expanded",n.hasClass("uk-open")),o&&i.open(n,!0)})},open:function(e,n){var o=this,s=this.element,a=t.$(e),r=a.data("list-container");this.options.multiple||s.children(".uk-open").not(e).each(function(){var i=t.$(this);i.data("list-container")&&i.data("list-container").stop().animate({height:0},function(){t.$(this).parent().removeClass("uk-open").end().addClass("uk-hidden")})}),a.toggleClass("uk-open"),a.attr("aria-expanded",a.hasClass("uk-open")),r&&(a.hasClass("uk-open")&&r.removeClass("uk-hidden"),n?(r.stop().height(a.hasClass("uk-open")?"auto":0),a.hasClass("uk-open")||r.addClass("uk-hidden"),this.trigger("display.uk.check")):r.stop().animate({height:a.hasClass("uk-open")?i(r.find("ul:first")):0},function(){a.hasClass("uk-open")?r.css("height",""):r.addClass("uk-hidden"),o.trigger("display.uk.check")}))}})}(UIkit),function(t){"use strict";var i={x:window.scrollX,y:window.scrollY},e=(t.$win,t.$doc,t.$html),n={show:function(n){if(n=t.$(n),n.length){var o=t.$("body"),s=n.find(".uk-offcanvas-bar:first"),a="right"==t.langdirection,r=s.hasClass("uk-offcanvas-bar-flip")?-1:1,l=r*(a?-1:1);i={x:window.pageXOffset,y:window.pageYOffset},n.addClass("uk-active"),o.css({width:window.innerWidth,height:window.innerHeight}).addClass("uk-offcanvas-page"),o.css(a?"margin-right":"margin-left",(a?-1:1)*s.outerWidth()*l).width(),e.css("margin-top",-1*i.y),s.addClass("uk-offcanvas-bar-show"),this._initElement(n),s.trigger("show.uk.offcanvas",[n,s]),n.attr("aria-hidden","false")}},hide:function(n){var o=t.$("body"),s=t.$(".uk-offcanvas.uk-active"),a="right"==t.langdirection,r=s.find(".uk-offcanvas-bar:first"),l=function(){o.removeClass("uk-offcanvas-page").css({width:"",height:"","margin-left":"","margin-right":""}),s.removeClass("uk-active"),r.removeClass("uk-offcanvas-bar-show"),e.css("margin-top",""),window.scrollTo(i.x,i.y),r.trigger("hide.uk.offcanvas",[s,r]),s.attr("aria-hidden","true")};s.length&&(t.support.transition&&!n?(o.one(t.support.transition.end,function(){l()}).css(a?"margin-right":"margin-left",""),setTimeout(function(){r.removeClass("uk-offcanvas-bar-show")},0)):l())},_initElement:function(i){i.data("OffcanvasInit")||(i.on("click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas",function(i){var e=t.$(i.target);if(!i.type.match(/swipe/)&&!e.hasClass("uk-offcanvas-close")){if(e.hasClass("uk-offcanvas-bar"))return;if(e.parents(".uk-offcanvas-bar:first").length)return}i.stopImmediatePropagation(),n.hide()}),i.on("click","a[href^='#']",function(){var i=t.$(this),e=i.attr("href");"#"!=e&&(t.$doc.one("hide.uk.offcanvas",function(){var n;try{n=t.$(e)}catch(o){n=""}n.length||(n=t.$('[name="'+e.replace("#","")+'"]')),n.length&&i.attr("data-uk-smooth-scroll")&&t.Utils.scrollToElement?t.Utils.scrollToElement(n,t.Utils.options(i.attr("data-uk-smooth-scroll")||"{}")):window.location.href=e}),n.hide())}),i.data("OffcanvasInit",!0))}};t.component("offcanvasTrigger",{boot:function(){e.on("click.offcanvas.uikit","[data-uk-offcanvas]",function(i){i.preventDefault();var e=t.$(this);if(!e.data("offcanvasTrigger")){{t.offcanvasTrigger(e,t.Utils.options(e.attr("data-uk-offcanvas")))}e.trigger("click")}}),e.on("keydown.uk.offcanvas",function(t){27===t.keyCode&&n.hide()})},init:function(){var i=this;this.options=t.$.extend({target:i.element.is("a")?i.element.attr("href"):!1},this.options),this.on("click",function(t){t.preventDefault(),n.show(i.options.target)})}}),t.offcanvas=n}(UIkit),function(t){"use strict";function i(i,e,n){var o,s=t.$.Deferred(),a=i,r=i;return n[0]===e[0]?(s.resolve(),s.promise()):("object"==typeof i&&(a=i[0],r=i[1]||i[0]),o=function(){e&&e.hide().removeClass("uk-active "+r+" uk-animation-reverse"),n.addClass(a).one(t.support.animation.end,function(){n.removeClass(""+a).css({opacity:"",display:""}),s.resolve(),e&&e.css({opacity:"",display:""})}.bind(this)).show()},n.css("animation-duration",this.options.duration+"ms"),e&&e.length?(e.css("animation-duration",this.options.duration+"ms"),e.css("display","none").addClass(r+" uk-animation-reverse").one(t.support.animation.end,function(){o()}.bind(this)).css("display","")):(n.addClass("uk-active"),o()),s.promise())}var e;t.component("switcher",{defaults:{connect:!1,toggle:">*",active:0,animation:!1,duration:200},animating:!1,boot:function(){t.ready(function(i){t.$("[data-uk-switcher]",i).each(function(){var i=t.$(this);if(!i.data("switcher")){t.switcher(i,t.Utils.options(i.attr("data-uk-switcher")))}})})},init:function(){var i=this;if(this.on("click.uikit.switcher",this.options.toggle,function(t){t.preventDefault(),i.show(this)}),this.options.connect){this.connect=t.$(this.options.connect),this.connect.find(".uk-active").removeClass(".uk-active"),this.connect.length&&(this.connect.children().attr("aria-hidden","true"),this.connect.on("click","[data-uk-switcher-item]",function(e){e.preventDefault();var n=t.$(this).attr("data-uk-switcher-item");if(i.index!=n)switch(n){case"next":case"previous":i.show(i.index+("next"==n?1:-1));break;default:i.show(parseInt(n,10))}}).on("swipeRight swipeLeft",function(t){t.preventDefault(),window.getSelection().toString()||i.show(i.index+("swipeLeft"==t.type?1:-1))}));var e=this.find(this.options.toggle),n=e.filter(".uk-active");if(n.length)this.show(n,!1);else{if(this.options.active===!1)return;n=e.eq(this.options.active),this.show(n.length?n:e.eq(0),!1)}e.not(n).attr("aria-expanded","false"),n.attr("aria-expanded","true"),this.on("changed.uk.dom",function(){i.connect=t.$(i.options.connect)})}},show:function(n,o){if(!this.animating){if(isNaN(n))n=t.$(n);else{var s=this.find(this.options.toggle);n=0>n?s.length-1:n,n=s.eq(s[n]?n:0)}var a=this,s=this.find(this.options.toggle),r=t.$(n),l=e[this.options.animation]||function(t,n){if(!a.options.animation)return e.none.apply(a);var o=a.options.animation.split(",");return 1==o.length&&(o[1]=o[0]),o[0]=o[0].trim(),o[1]=o[1].trim(),i.apply(a,[o,t,n])};o!==!1&&t.support.animation||(l=e.none),r.hasClass("uk-disabled")||(s.attr("aria-expanded","false"),r.attr("aria-expanded","true"),s.filter(".uk-active").removeClass("uk-active"),r.addClass("uk-active"),this.options.connect&&this.connect.length&&(this.index=this.find(this.options.toggle).index(r),-1==this.index&&(this.index=0),this.connect.each(function(){var i=t.$(this),e=t.$(i.children()),n=t.$(e.filter(".uk-active")),o=t.$(e.eq(a.index));a.animating=!0,l.apply(a,[n,o]).then(function(){n.removeClass("uk-active"),o.addClass("uk-active"),n.attr("aria-hidden","true"),o.attr("aria-hidden","false"),t.Utils.checkDisplay(o,!0),a.animating=!1})})),this.trigger("show.uk.switcher",[r]))}}}),e={none:function(){var i=t.$.Deferred();return i.resolve(),i.promise()},fade:function(t,e){return i.apply(this,["uk-animation-fade",t,e])},"slide-bottom":function(t,e){return i.apply(this,["uk-animation-slide-bottom",t,e])},"slide-top":function(t,e){return i.apply(this,["uk-animation-slide-top",t,e])},"slide-vertical":function(t,e){var n=["uk-animation-slide-top","uk-animation-slide-bottom"];return t&&t.index()>e.index()&&n.reverse(),i.apply(this,[n,t,e])},"slide-left":function(t,e){return i.apply(this,["uk-animation-slide-left",t,e])},"slide-right":function(t,e){return i.apply(this,["uk-animation-slide-right",t,e])},"slide-horizontal":function(t,e){var n=["uk-animation-slide-right","uk-animation-slide-left"];return t&&t.index()>e.index()&&n.reverse(),i.apply(this,[n,t,e])},scale:function(t,e){return i.apply(this,["uk-animation-scale-up",t,e])}},t.switcher.animations=e}(UIkit),function(t){"use strict";t.component("tab",{defaults:{target:">li:not(.uk-tab-responsive, .uk-disabled)",connect:!1,active:0,animation:!1,duration:200},boot:function(){t.ready(function(i){t.$("[data-uk-tab]",i).each(function(){var i=t.$(this);if(!i.data("tab")){t.tab(i,t.Utils.options(i.attr("data-uk-tab")))}})})},init:function(){var i=this;this.current=!1,this.on("click.uikit.tab",this.options.target,function(e){if(e.preventDefault(),!i.switcher||!i.switcher.animating){var n=i.find(i.options.target).not(this);n.removeClass("uk-active").blur(),i.trigger("change.uk.tab",[t.$(this).addClass("uk-active"),i.current]),i.current=t.$(this),i.options.connect||(n.attr("aria-expanded","false"),t.$(this).attr("aria-expanded","true"))}}),this.options.connect&&(this.connect=t.$(this.options.connect)),this.responsivetab=t.$('<li class="uk-tab-responsive uk-active"><a></a></li>').append('<div class="uk-dropdown uk-dropdown-small"><ul class="uk-nav uk-nav-dropdown"></ul><div>'),this.responsivetab.dropdown=this.responsivetab.find(".uk-dropdown"),this.responsivetab.lst=this.responsivetab.dropdown.find("ul"),this.responsivetab.caption=this.responsivetab.find("a:first"),this.element.hasClass("uk-tab-bottom")&&this.responsivetab.dropdown.addClass("uk-dropdown-up"),this.responsivetab.lst.on("click.uikit.tab","a",function(e){e.preventDefault(),e.stopPropagation();var n=t.$(this);i.element.children("li:not(.uk-tab-responsive)").eq(n.data("index")).trigger("click")}),this.on("show.uk.switcher change.uk.tab",function(t,e){i.responsivetab.caption.html(e.text())}),this.element.append(this.responsivetab),this.options.connect&&(this.switcher=t.switcher(this.element,{toggle:">li:not(.uk-tab-responsive)",connect:this.options.connect,active:this.options.active,animation:this.options.animation,duration:this.options.duration})),t.dropdown(this.responsivetab,{mode:"click"}),i.trigger("change.uk.tab",[this.element.find(this.options.target).not(".uk-tab-responsive").filter(".uk-active")]),this.check(),t.$win.on("resize orientationchange",t.Utils.debounce(function(){i.element.is(":visible")&&i.check()},100)),this.on("display.uk.check",function(){i.element.is(":visible")&&i.check()})},check:function(){var i=this.element.children("li:not(.uk-tab-responsive)").removeClass("uk-hidden");if(!i.length)return this.responsivetab.addClass("uk-hidden"),void 0;var e,n,o,s=i.eq(0).offset().top+Math.ceil(i.eq(0).height()/2),a=!1;if(this.responsivetab.lst.empty(),i.each(function(){t.$(this).offset().top>s&&(a=!0)}),a)for(var r=0;r<i.length;r++)e=t.$(i.eq(r)),n=e.find("a"),"none"==e.css("float")||e.attr("uk-dropdown")||(e.hasClass("uk-disabled")||(o=e[0].outerHTML.replace("<a ",'<a data-index="'+r+'" '),this.responsivetab.lst.append(o)),e.addClass("uk-hidden"));this.responsivetab[this.responsivetab.lst.children("li").length?"removeClass":"addClass"]("uk-hidden")}})}(UIkit),function(t){"use strict";t.component("cover",{defaults:{automute:!0},boot:function(){t.ready(function(i){t.$("[data-uk-cover]",i).each(function(){var i=t.$(this);if(!i.data("cover")){t.cover(i,t.Utils.options(i.attr("data-uk-cover")))}})})},init:function(){if(this.parent=this.element.parent(),t.$win.on("load resize orientationchange",t.Utils.debounce(function(){this.check()}.bind(this),100)),this.on("display.uk.check",function(){this.element.is(":visible")&&this.check()}.bind(this)),this.check(),this.element.is("iframe")&&this.options.automute){var i=this.element.attr("src");this.element.attr("src","").on("load",function(){this.contentWindow.postMessage('{ "event": "command", "func": "mute", "method":"setVolume", "value":0}',"*")}).attr("src",[i,i.indexOf("?")>-1?"&":"?","enablejsapi=1&api=1"].join(""))}},check:function(){this.element.css({width:"",height:""}),this.dimension={w:this.element.width(),h:this.element.height()},this.element.attr("width")&&!isNaN(this.element.attr("width"))&&(this.dimension.w=this.element.attr("width")),this.element.attr("height")&&!isNaN(this.element.attr("height"))&&(this.dimension.h=this.element.attr("height")),this.ratio=this.dimension.w/this.dimension.h;var t,i,e=this.parent.width(),n=this.parent.height();e/this.ratio<n?(t=Math.ceil(n*this.ratio),i=n):(t=e,i=Math.ceil(e/this.ratio)),this.element.css({width:t,height:i})}})}(UIkit); \ No newline at end of file
diff --git a/uikit/templates/_sidebar.html b/uikit/templates/_sidebar.html
new file mode 100644
index 0000000..6c8b40e
--- /dev/null
+++ b/uikit/templates/_sidebar.html
@@ -0,0 +1,50 @@
+{% macro limit_items(items, name, link, limit, class, line=False, tuple=False) %}
+ <div class="uk-panel">
+ <h3 class="uk-panel-title">{{ name | capitalize() }}</h3>
+ <ul class="uk-list {% if line %}uk-list-line{% endif %}">
+ {% if limit == 0 %}
+ {% set limit = items|length %}
+ {% endif %}
+ {% for item in items %}
+ {% if (limit > 0) and (loop.index > limit) %}
+ <li class="uk-hidden hidden-{{ name }}"><a href="{% if tuple %}{{item.1}}{% else %}/{{ item.0.url }}{% endif %}" class="{{ class }}">{% if tuple %}{{ item.0 }}{% else %}{{ item.0.name }}{% endif %}</a></li>
+ {% if loop.last %}
+ </ul>
+ <button class="uk-button hidden-{{ name }}" data-uk-toggle="{target:'.hidden-{{ name }}'}">More {{ name | capitalize() }}</button>
+ <button class="uk-hidden uk-button hidden-{{ name }}" data-uk-toggle="{target:'.hidden-{{ name }}'}">Less {{ name | capitalize() }}</button>
+ {% endif %}
+ {% else %}
+ <li><a href="{% if tuple %}{{ item.1 }}{% else %}/{{ item.0.url }}{% endif %}" class="{{ class }}">{% if tuple %}{{ item.0 }}{% else %}{{ item.0.name }}{% endif %}</a></li>
+ {% if (loop.last) %}
+ </ul>
+ {% endif %}
+ {% endif %}
+ {% endfor %}
+ </div>
+{% endmacro %}
+
+ <div class="uk-panel uk-panel-box uk-text-center">
+ <a href="/author/{{AUTHOR}}.html">
+ <img alt="A picture of the author of this content." class="uk-border-circle" src="/theme/img/{{AUTHOR_IMAGE}}"/><h3>{{AUTHOR}}</h3></a>
+ <p>
+ Hi there! My name is {{AUTHOR_REAL}}, check out more <a href="{{MOREABOUTMEURL}}">about me</a>.
+ </p>
+ </div>
+
+ <div class="uk-panel">
+ <h3 class="uk-panel-title">Social Links</h3>
+ <div class="icons">
+ {% for name, link in SOCIAL %}
+ <a href="{{ link }}" class="uk-icon-button uk-icon-justify uk-icon-{{name}}"></a>
+ {% endfor %}
+ </div>
+ </div>
+
+{% if DISPLAY_TAGS_ON_SIDEBAR_LIMIT >= 0 %}
+ {{ limit_items(tags, 'tags', SITEURL ~ '/tag/', DISPLAY_TAGS_ON_SIDEBAR_LIMIT, 'uk-icon-tag', True, False) }}
+{% endif %}
+
+{% if DISPLAY_LINKS_ON_SIDEBAR_LIMIT >= 0 %}
+ {{ limit_items(LINKS, 'links', '', DISPLAY_LINKS_ON_SIDEBAR_LIMIT, 'uk-icon-external-link', True, True) }}
+{% endif %}
+
diff --git a/uikit/templates/archives.html b/uikit/templates/archives.html
new file mode 100644
index 0000000..5537bd6
--- /dev/null
+++ b/uikit/templates/archives.html
@@ -0,0 +1,20 @@
+{% extends "index.html" %}
+{% import 'html_macros.html' as html_macros %}
+
+{% block head %}
+{{ super() }}
+{% endblock head %}
+{% block titlename %}{{'all articles'|capitalize}}{% endblock titlename %}
+
+{% block content %}
+{% block heading %}
+
+<h1>{{["archives for", SITENAME]|join(' ')|capitalize}}</h1>
+
+<ul>
+{% for article in articles|sort(reverse=True,attribute='date') %}
+ <li><a class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %}" href="/{{ article.url }}">{{ article.title }}</a></li>
+{% endfor %}
+</ul>
+{% endblock heading %}
+{% endblock content %}
diff --git a/uikit/templates/article.html b/uikit/templates/article.html
new file mode 100644
index 0000000..43d94fe
--- /dev/null
+++ b/uikit/templates/article.html
@@ -0,0 +1,24 @@
+{% extends "uikit.html" %}
+{% import 'article_macros.html' as article_macros %}
+{% import 'html_macros.html' as html_macros %}
+
+{% block head %}
+{{ super() }} {{ html_macros.get_meta(article) }}
+{% endblock head %}
+{% block titlename %}{{article.title|capitalize}}{% endblock titlename %}
+
+{% block content %}
+<article>
+<div class="uk-article">
+ <header>
+ <h1 class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %} uk-article-title">
+ <a href="/{{ article.url }}">{{ article.title }}</a>
+ </h1>
+ <p class="uk-article-meta">
+ {{ article_macros.get_meta(SITEURL, article) }}
+ </p>
+ </header>
+ {{ article.content }}
+</div>
+</article>
+{% endblock content %}
diff --git a/uikit/templates/article_macros.html b/uikit/templates/article_macros.html
new file mode 100644
index 0000000..79f0923
--- /dev/null
+++ b/uikit/templates/article_macros.html
@@ -0,0 +1,21 @@
+{% import 'time_macros.html' as time_macros %}
+
+{% macro get_meta(SITEURL, article, has_category=True) -%}
+
+Published on {{ time_macros.get_time(article, article.date) }}
+ {% if article.modified %}
+ and updated on {{ time_macros.get_time(article, article.locale_modified) }}
+ {% endif %}
+ {% if article.authors %}
+ by {% for author in article.authors %}
+ <a class="url fn" href="/{{ article.author.url }}">{{ author }}</a>
+ {% endfor %}
+ {% endif %}
+ {% if has_category %}
+ posted in <a href="/{{ article.category.url }}">{{ article.category }}</a>
+ {% endif %}
+ <br/>
+ {% for tag in article.tags %}
+ <a href="/{{ tag.url }}" class="uk-icon-tag">{{ tag }}</a>
+ {% endfor %}
+{%- endmacro %}
diff --git a/uikit/templates/articles.html b/uikit/templates/articles.html
new file mode 100644
index 0000000..8454395
--- /dev/null
+++ b/uikit/templates/articles.html
@@ -0,0 +1,20 @@
+{% extends "index.html" %}
+{% import 'html_macros.html' as html_macros %}
+
+{% block head %}
+{{ super() }}
+{% endblock head %}
+{% block titlename %}{{'all articles'|capitalize}}{% endblock titlename %}
+
+{% block content %}
+{% block heading %}
+
+<h1>{{'all the articles'|capitalize}}</h1>
+
+<ul>
+{% for article in articles|sort %}
+ <li><a class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %}" href="/{{ article.url }}">{{ article.title }}</a></li>
+{% endfor %}
+</ul>
+{% endblock heading %}
+{% endblock content %}
diff --git a/uikit/templates/author.html b/uikit/templates/author.html
new file mode 100644
index 0000000..059dfe2
--- /dev/null
+++ b/uikit/templates/author.html
@@ -0,0 +1,20 @@
+{% extends "index.html" %}
+{% import 'html_macros.html' as html_macros %}
+
+{% block head %}
+{{ super() }} {{ html_macros.get_meta(author) }}
+{% endblock head %}
+{% block titlename %}{{author.name|capitalize}}{% endblock titlename %}
+{#
+#}
+
+{% block heading %}
+{#
+<h1 class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %}">
+#}
+<!--
+<h1 class="heading uk-text-primary">
+ Articles by <span class="entity">{{ author }}</span>
+</h1>
+-->
+{% endblock heading %}
diff --git a/uikit/templates/authors.html b/uikit/templates/authors.html
new file mode 100644
index 0000000..bd30e22
--- /dev/null
+++ b/uikit/templates/authors.html
@@ -0,0 +1,26 @@
+{% extends "index.html" %}
+{% import 'html_macros.html' as html_macros %}
+
+{% block head %}
+{{ super() }} {{ html_macros.get_meta(tags) }}
+{% endblock head %}
+{% block titlename %}{{'all authors'|capitalize}}{% endblock titlename %}
+
+{% block content %}
+{% block heading %}
+
+<h1>{{'all authors'|capitalize}}</h1>
+
+{% for author, articles in authors|sort %}
+ <h2>
+ <span class="entity">{{ author }}</span>
+ </h2>
+ <ul>
+ {% for article in articles %}
+ <li><a class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %}" href="/{{ article.url }}">{{ article.title }}</a></li>
+ {% endfor %}
+ </ul>
+{% endfor %}
+
+{% endblock heading %}
+{% endblock content %}
diff --git a/uikit/templates/base.html b/uikit/templates/base.html
new file mode 100644
index 0000000..ec788b8
--- /dev/null
+++ b/uikit/templates/base.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html lang="{{ DEFAULT_LANG }}">
+ {# this template contains the basic structure for a page #}
+ <head>
+ {% block head %}
+ {% if FEED_ALL_ATOM %}
+ <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Full Atom Feed" />
+ {% endif %}
+ {% if FEED_ALL_RSS %}
+ <link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Full RSS Feed" />
+ {% endif %}
+ {% if FEED_ATOM %}
+ <link href="{{ FEED_DOMAIN }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />
+ {% endif %}
+ {% if FEED_RSS %}
+ <link href="{{ FEED_DOMAIN }}/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
+ {% endif %}
+ {% if CATEGORY_FEED_ATOM and category %}
+ <link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_ATOM|format(category.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Categories Atom Feed" />
+ {% endif %}
+ {% if CATEGORY_FEED_RSS and category %}
+ <link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_RSS|format(category.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Categories RSS Feed" />
+ {% endif %}
+ {% if TAG_FEED_ATOM and tag %}
+ <link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_ATOM|format(tag.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Tags Atom Feed" />
+ {% endif %}
+ {% if TAG_FEED_RSS and tag %}
+ <link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_RSS|format(tag.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Tags RSS Feed" />
+ {% endif %}
+ {% endblock head %}
+ </head>
+ <body>
+ {% block body %}{% endblock body%}
+ </body>
+</html>
diff --git a/uikit/templates/categories.html b/uikit/templates/categories.html
new file mode 100644
index 0000000..7292909
--- /dev/null
+++ b/uikit/templates/categories.html
@@ -0,0 +1,26 @@
+{% extends "index.html" %}
+{% import 'html_macros.html' as html_macros %}
+
+{% block head %}
+{{ super() }} {{ html_macros.get_meta(categories) }}
+{% endblock head %}
+{% block titlename %}{{'all the categories'|capitalize}}{% endblock titlename %}
+
+{% block content %}
+{% block heading %}
+
+
+<h1>{{'all the categories'|capitalize}}</h1>
+
+{% for category, articles in categories %}
+ <h2>
+ <span class="entity">{{ category | capitalize}}</span>
+ </h2>
+ <ul>
+ {% for article in articles|sort(reverse=True,attribute='date') %}
+ <li><a class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %}" href="/{{ article.url }}">{{ article.title }}</a></li>
+ {% endfor %}
+ </ul>
+{% endfor %}
+{% endblock heading %}
+{% endblock content %}
diff --git a/uikit/templates/category.html b/uikit/templates/category.html
new file mode 100644
index 0000000..3358ed5
--- /dev/null
+++ b/uikit/templates/category.html
@@ -0,0 +1,18 @@
+{% extends "index.html" %}
+{% import 'html_macros.html' as html_macros %}
+
+{% block head %}
+{{ super() }} {{ html_macros.get_meta(category) }}
+{% endblock head %}
+{% block titlename %}{{category|capitalize}}{% endblock titlename %}
+
+{% block heading %}
+{#
+<h1 class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %}">
+#}
+<!--
+<h1 class="heading uk-text-primary">
+ Articles in the category <span class="entity">{{ category }}</span>
+</h1>
+-->
+{% endblock heading %}
diff --git a/uikit/templates/cc_license.html b/uikit/templates/cc_license.html
new file mode 100644
index 0000000..0311232
--- /dev/null
+++ b/uikit/templates/cc_license.html
@@ -0,0 +1,53 @@
+{% macro license(SITEURL, LICENSE={'cc_name':'by', 'hosted':False, 'compact':True, 'brief':True}) %}
+ {% set cc_name = LICENSE['cc_name']|lower|trim|replace("cc-","") %}
+ {% if LICENSE['compact'] %}
+ {% set cc_size = "80x15" -%}
+ {% else %}
+ {% set cc_size = "88x31" -%}
+ {% endif %}
+ {% if not LICENSE['hosted'] %}
+ {% set cc_icon = [SITEURL|lower|trim,
+ "/theme/ico/cc/",
+ cc_name,
+ "/4.0/",
+ cc_size,
+ ".png"
+ ]|join("")
+ %}
+ {% else %}
+ {% set cc_icon = ["https://licensebuttons.net/l/",
+ cc_name,
+ "/4.0/",
+ cc_size,
+ ".png"
+ ]|join("")
+ %}
+ {% endif %}
+ {% set cc_title = ["Creative Commons Attribution 4.0 International",
+ cc_name|upper,
+ " License"
+ ]|join("")
+ %}
+ {% set cc_uri = ["http://creativecommons.org/licenses/",
+ cc_name,
+ "/4.0/"
+ ]|join("")
+ %}
+ {% if not LICENSE['brief'] %}
+ {% set cc_intro = "This work is licensed under a " %}
+ {% set cc_linktext = "Creative Commons CC_NAME 4.0 International License"|replace("CC_NAME", cc_name|upper, 1) %}
+ {% else %}
+ {% set cc_intro = "" %}
+ {% set cc_intro = "License " %}
+ {% set cc_linktext = "CC_NAME 4.0 "|replace("CC_NAME", cc_name|upper, 1) %}
+ {% endif %}
+ {% set license = [
+ '<a class="license" rel="license" href="http://creativecommons.org/licenses/CC_NAME/4.0/">',
+ '<img alt="Creative Commons License" style="border-width:0" src="CC_ICON" /></a>'|replace("CC_ICON", cc_icon|trim),
+ cc_intro,
+ '<a class="license" rel="license" href="http://creativecommons.org/licenses/CC_NAME/4.0/">',
+ cc_linktext,
+ '</a>'
+ ] | join("") %}
+{{ license|replace("CC_NAME", cc_name,2)|trim }}
+{% endmacro %}
diff --git a/uikit/templates/html_macros.html b/uikit/templates/html_macros.html
new file mode 100644
index 0000000..0f2a45f
--- /dev/null
+++ b/uikit/templates/html_macros.html
@@ -0,0 +1,7 @@
+{% macro get_meta(object) -%}
+
+ {% if object.tags %} {% set tags=object.tags|join(", ")|e %} <meta name="tags" content="{{ tags }}" /> {% endif %}
+ {% if object.summary %} {% set summary=object.summary|striptags()|truncate(159)|e %}<meta name="description" content="{{ summary }}" /> {% endif %}
+ {% if object.category %} {% set category=object.tags|join(", ")|e %}<meta name="category" content="{{object.category}}" /> {% endif %}
+ {% if object.categories %} {% set categories=object.categories|join(", ")|e %}<meta name="tags" content="{{object.categories}}" /> {% endif %}
+{%- endmacro %}
diff --git a/uikit/templates/index.html b/uikit/templates/index.html
new file mode 100644
index 0000000..bd3d405
--- /dev/null
+++ b/uikit/templates/index.html
@@ -0,0 +1,32 @@
+{% extends "uikit.html" %}
+{% import 'article_macros.html' as article_macros %}
+{% block head %}
+{{super()}}
+{% endblock head %}
+{% block titlename %}{{'welcome!'|capitalize}}{% endblock titlename %}
+{% block content %}
+{% block heading %}
+<h1 class="heading uk-text-primary">
+{{ HEADING }}
+</h1>
+{% endblock heading %}
+{% if articles %}
+ {% for article in articles|sort(reverse=True,attribute='date') %}
+ <h1 class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %} uk-article-title">
+ <a href="/{{ article.url }}">{{ article.title }}</a>
+ </h1>
+ <p class="uk-article-meta">
+ {{ article_macros.get_meta(SITEURL, article) }}
+ </p>
+ {{ article.summary }}
+ <p>
+ <a class="uk-button uk-button-primary" href="{{SITEURL}}/{{article.url}}">Continue Reading</a>
+ <!--
+ <a class="uk-button" href="">Comments</a>
+ -->
+ </p>
+ {% endfor %}
+ {#
+ #}
+{% endif %}
+{% endblock content %}
diff --git a/uikit/templates/menu_macros.html b/uikit/templates/menu_macros.html
new file mode 100644
index 0000000..bac503b
--- /dev/null
+++ b/uikit/templates/menu_macros.html
@@ -0,0 +1,13 @@
+{% for title, link in MENUITEMS %}
+ <li><a href="{{ link }}">{{ title }}</a></li>
+{% endfor %}
+{% if DISPLAY_PAGES_ON_MENU %}
+ {% for p in PAGES %}
+ <li{% if p == page %} class="uk-active"{% endif %}><a href="/{{ p.url }}">{{ p.title }}</a></li>
+ {% endfor %}
+ {% if DISPLAY_CATEGORIES_ON_MENU %}
+ {% for cat, null in categories %}
+ <li{% if cat == category %} class="uk-active"{% endif %}><a href="/{{ cat.url }}">{{ cat }}</a></li>
+ {% endfor %}
+ {% endif %}
+{% endif %}
diff --git a/uikit/templates/page.html b/uikit/templates/page.html
new file mode 100644
index 0000000..3b1efab
--- /dev/null
+++ b/uikit/templates/page.html
@@ -0,0 +1,20 @@
+{% extends "uikit.html" %}
+{% import 'article_macros.html' as article_macros %}
+{% import 'html_macros.html' as html_macros %}
+
+{% block head %}
+{{ super() }} {{ html_macros.get_meta(page) }}
+{% endblock head %}
+{% block titlename %}{{page.title}}{% endblock titlename %}
+
+{% block content %}
+<article class="uk-article">
+ <h1 class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %} uk-article-title">
+ <a href="/{{ page.url }}">{{ page.title }}</a>
+ </h1>
+ <p class="uk-article-meta">
+ {{ article_macros.get_meta(SITEURL, page, False) }}
+ </p>
+ {{ page.content }}
+</article>
+{% endblock content %}
diff --git a/uikit/templates/period_archives.html b/uikit/templates/period_archives.html
new file mode 100644
index 0000000..d134562
--- /dev/null
+++ b/uikit/templates/period_archives.html
@@ -0,0 +1,25 @@
+{% extends "index.html" %}
+{% import 'html_macros.html' as html_macros %}
+
+{% block head %}
+{{ super() }}
+{% endblock head %}
+{% block titlename %}{{'all articles'|capitalize}}{% endblock titlename %}
+
+{% block content %}
+{% block heading %}
+<ul>
+{% for article in articles|sort(reverse=True,attribute='date') %}
+{% endfor %}
+</ul>
+
+
+<h1>Archives for {{ period | reverse | join(' ') }}</h1>
+
+<ul>
+{% for article in dates %}
+<li>{{ article.locale_date }} <a class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %}" href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></li>
+{% endfor %}
+</ul>
+{% endblock heading %}
+{% endblock content %}
diff --git a/uikit/templates/tag.html b/uikit/templates/tag.html
new file mode 100644
index 0000000..ece957b
--- /dev/null
+++ b/uikit/templates/tag.html
@@ -0,0 +1,18 @@
+{% extends "index.html" %}
+{% import 'html_macros.html' as html_macros %}
+
+{% block head %}
+{{ super() }} {{ html_macros.get_meta(tags) }}
+{% endblock head %}
+{% block titlename %}{{tag}}{% endblock titlename %}
+
+{% block heading %}
+{#
+<h1 class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %}">
+#}
+<!--
+<h1 class="heading uk-text-primary">
+ Articles with the tag <span class="entity">{{ tag }}</span>
+</h1>
+-->
+{% endblock heading %}
diff --git a/uikit/templates/tags.html b/uikit/templates/tags.html
new file mode 100644
index 0000000..7eb1e07
--- /dev/null
+++ b/uikit/templates/tags.html
@@ -0,0 +1,26 @@
+{% extends "index.html" %}
+{% import 'html_macros.html' as html_macros %}
+
+{% block head %}
+{{ super() }} {{ html_macros.get_meta(tags) }}
+{% endblock head %}
+{% block titlename %}{{'all the tags'|capitalize}}{% endblock titlename %}
+
+{% block content %}
+{% block heading %}
+
+<h1>{{'all the tags'|capitalize}}</h1>
+
+{% for tag, articles in tags|sort %}
+ <h2>
+ <span class="entity">{{ tag }}</span>
+ </h2>
+ <ul>
+ {% for article in articles|sort(reverse=True,attribute='date') %}
+ <li><a class="{% if CAPITALIZE_HEADINGS %}capitalize{% endif %}" href="/{{ article.url }}">{{ article.title }}</a></li>
+ {% endfor %}
+ </ul>
+{% endfor %}
+
+{% endblock heading %}
+{% endblock content %}
diff --git a/uikit/templates/time_macros.html b/uikit/templates/time_macros.html
new file mode 100644
index 0000000..79f0756
--- /dev/null
+++ b/uikit/templates/time_macros.html
@@ -0,0 +1,4 @@
+{% macro get_time(article, date) -%}
+ {% set datetime = date|strftime('%Y-%m-%d') %}
+ <time datetime="{{datetime}}">{{ article.locale_date|trim }}</time>
+{%- endmacro %}
diff --git a/uikit/templates/uikit.html b/uikit/templates/uikit.html
new file mode 100644
index 0000000..34793a6
--- /dev/null
+++ b/uikit/templates/uikit.html
@@ -0,0 +1,109 @@
+{% extends "base.html" %}
+{% from 'cc_license.html' import license %}
+{# this template contains uikit specific settings #}
+{% block head %}
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+
+ <base href="{{ SITEURL }}">
+
+ <!--
+ favicons generated with:
+ <http://realfavicongenerator.net>
+
+ if you want to generate your own favicon, use this custom path:
+ /theme/ico/favicon/
+ -->
+ <link rel="apple-touch-icon" sizes="57x57" href="/theme/ico/favicon/apple-touch-icon-57x57.png">
+ <link rel="apple-touch-icon" sizes="60x60" href="/theme/ico/favicon/apple-touch-icon-60x60.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="/theme/ico/favicon/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="76x76" href="/theme/ico/favicon/apple-touch-icon-76x76.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="/theme/ico/favicon/apple-touch-icon-114x114.png">
+ <link rel="apple-touch-icon" sizes="120x120" href="/theme/ico/favicon/apple-touch-icon-120x120.png">
+ <link rel="apple-touch-icon" sizes="144x144" href="/theme/ico/favicon/apple-touch-icon-144x144.png">
+ <link rel="apple-touch-icon" sizes="152x152" href="/theme/ico/favicon/apple-touch-icon-152x152.png">
+ <link rel="apple-touch-icon" sizes="180x180" href="/theme/ico/favicon/apple-touch-icon-180x180.png">
+ <link rel="icon" type="image/png" href="/theme/ico/favicon/favicon-32x32.png" sizes="32x32">
+ <link rel="icon" type="image/png" href="/theme/ico/favicon/android-chrome-192x192.png" sizes="192x192">
+ <link rel="icon" type="image/png" href="/theme/ico/favicon/favicon-96x96.png" sizes="96x96">
+ <link rel="icon" type="image/png" href="/theme/ico/favicon/favicon-16x16.png" sizes="16x16">
+ <link rel="manifest" href="/theme/ico/favicon/manifest.json">
+ <link rel="mask-icon" href="/theme/ico/favicon/safari-pinned-tab.svg" color="#5bbad5">
+ <link rel="shortcut icon" href="/theme/ico/favicon/favicon.ico">
+ <meta name="msapplication-TileColor" content="#da532c">
+ <meta name="msapplication-TileImage" content="/theme/ico/favicon/mstile-144x144.png">
+ <meta name="msapplication-config" content="/theme/ico/favicon/browserconfig.xml">
+ <meta name="theme-color" content="#ffffff">
+
+ {{ super() }}
+ {# todo: change to minified version for production #}
+ {# todo: rename jquery ? #}
+ <script src="/theme/js/lib/jquery-1.11.3.js"></script>
+ {% if STYLE == "almost-flat" %}
+ <link rel="stylesheet" type="text/css" href="/theme/css/uikit.almost-flat{% if not DEVELOP %}.min{% endif %}.css" />
+ {% elif STYLE == "gradient" %}
+ <link rel="stylesheet" type="text/css" href="/theme/css/uikit.gradient{% if not DEVELOP %}.min{% endif %}.css" />
+ {% else %}
+ <link rel="stylesheet" type="text/css" href="/theme/css/uikit{% if not DEVELOP %}.min{% endif %}.css" />
+ {% endif %}
+ <!-- custom css -->
+ <link rel="stylesheet" type="text/css" href="/theme/css/custom{% if not DEVELOP %}.min{% endif %}.css" />
+ <!-- default pygment style is the 'default' style -->
+ <link rel="stylesheet" type="text/css" href="/theme/css/pygment{% if not DEVELOP %}.min{% endif %}.css" />
+ <script src="/theme/js/uikit{% if not DEVELOP %}.min{% endif %}.js"></script>
+ <title>{% block titlename %}{% endblock titlename %} | {{SITENAME}}</title>
+{% endblock head %}
+
+{% block body %}
+{% if DEVELOP %}
+ <div class="uk-alert uk-alert-warning uk-center uk-text-center uk-margin">
+ DEVELOP is True. This means that non-minified css/js/… is used and you'll see warnings. Set DEVELOP=False for production.
+ </div>
+{% endif %}
+<div class="uk-container uk-container-center uk-margin-top uk-margin-large-bottom">
+ <nav class="uk-navbar uk-margin-large-bottom">
+ <a class="uk-navbar-brand uk-hidden-small" href="">{{ SITENAME }}</a>
+ <ul class="uk-navbar-nav uk-hidden-small">
+ {# todo: use jinja 2.8 here and use set menu_macros #}
+ {# http://jinja.pocoo.org/docs/dev/templates/#block-assignments #}
+ {% include 'menu_macros.html' %}
+ </ul>
+ <a href="#offcanvas" class="uk-navbar-toggle uk-visible-small" data-uk-offcanvas=""></a>
+ <div class="uk-navbar-brand uk-navbar-center uk-visible-small">{{ SITENAME }}</div>
+ </nav>
+ <div class="uk-grid" data-uk-grid-margin="">
+ <main class="uk-width-medium-3-4">
+ {% block content %}
+ {% endblock content %}
+ </main>
+ <aside class="uk-width-medium-1-4">
+ {% include '_sidebar.html' %}
+ </aside>
+ </div>
+ <footer class="uk-margin-bottom uk-panel uk-panel-box uk-text-center uk-margin-large-top">
+ {% block footer %}
+ Generated by <a href="https://github.com/getpelican/pelican" class="uk-icon-external-link">pelican</a>
+ and styled with <a href="http://getuikit.com" class="uk-icon-external-link">uikit</a>
+ and themed by <a href="http://inktrap.org" class="uk-icon-external-link">inktrap</a>
+ and made with <a class="uk-icon-heart"></a>
+ {# TODO add link to theme site #}
+ <br/>
+ {{ license(SITEURL, LICENSE) }}
+ {% if page_name %}
+ <br/>
+ <a class="uk-icon-rss-square"></a><a href="/{{page_name}}.xml">Feed</a> for this page
+ {% endif %}
+ {% endblock %}
+ </footer>
+</div>
+
+<div id="offcanvas" class="uk-offcanvas">
+ <div class="uk-offcanvas-bar">
+ <ul class="uk-nav uk-nav-offcanvas">
+ {% include 'menu_macros.html' %}
+ </ul>
+ </div>
+</div>
+{% endblock %}
+
+