From 52be955b6fa8afc7e86fbf7869e9992a9847cd38 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Osman=20Nuri=20Okumu=C5=9F?=
Date: Sat, 12 Oct 2013 11:10:25 +0300
Subject: [PATCH] update bootstrap switch
---
.gitignore | 3 +-
dist/assets/css/main.css | 5 +-
dist/assets/css/main.min.css | 2 +-
dist/assets/js/main.js | 9 +-
dist/assets/js/main.min.js | 2 +-
dist/assets/lib/cssbeautify/cssbeautify.js | 27 +-
dist/assets/lib/cssbeautify/index.html | 1 -
dist/assets/lib/cssbeautify/test/test.js | 18 +
dist/assets/lib/daterangepicker/README.md | 8 +-
.../daterangepicker/daterangepicker-bs2.css | 3 +-
.../daterangepicker/daterangepicker-bs3.css | 3 +-
.../lib/daterangepicker/daterangepicker.js | 13 +-
dist/assets/lib/daterangepicker/examples.html | 2 +-
dist/assets/lib/gmaps/README.md | 7 +
dist/assets/lib/gmaps/examples/static.html | 2 +-
.../lib/gmaps/examples/static_styles.html | 73 +
dist/assets/lib/gmaps/gmaps.js | 54 +-
dist/assets/lib/gmaps/lib/gmaps.core.js | 2 +
dist/assets/lib/gmaps/lib/gmaps.static.js | 48 +-
dist/assets/lib/gmaps/lib/gmaps.styles.js | 2 +-
dist/assets/lib/gmaps/package.json | 2 +-
dist/assets/lib/jasny/README.md | 4 +
.../lib/plupload/examples/jquery/s3.php | 3 +-
.../jquery.ui.plupload/jquery.ui.plupload.js | 50 +-
dist/assets/lib/plupload/src/plupload.js | 182 +-
.../lib/switch/static/js/bootstrap-switch.js | 4 +-
dist/assets/lib/tablesorter/README.md | 498 +-
.../addons/pager/jquery.tablesorter.pager.js | 552 +-
.../pager/jquery.tablesorter.pager.min.js | 4 +-
dist/assets/lib/tablesorter/component.json | 2 +-
.../lib/tablesorter/css/theme.bootstrap.css | 24 +-
.../lib/tablesorter/docs/assets/build.json | 37 +
.../lib/tablesorter/docs/assets/build.txt | 9 +
dist/assets/lib/tablesorter/docs/css/jq.css | 5 +-
.../tablesorter/docs/example-pager-ajax.html | 86 +-
.../lib/tablesorter/docs/example-pager.html | 5 +
.../docs/example-widget-bootstrap-theme.html | 46 +-
.../docs/example-widget-build-table.html | 757 ++
.../docs/example-widget-filter-custom.html | 52 +-
.../docs/example-widget-filter.html | 10 +-
.../docs/example-widget-grouping.html | 103 +-
.../docs/example-widget-sticky-header.html | 6 +-
dist/assets/lib/tablesorter/docs/index.html | 283 +-
.../tablesorter/docs/js/demo-build-table.js | 173 +
dist/assets/lib/tablesorter/docs/js/docs.js | 11 +-
dist/assets/lib/tablesorter/docs/themes.html | 2 +-
dist/assets/lib/tablesorter/index.html | 2 +-
.../lib/tablesorter/js/jquery.tablesorter.js | 299 +-
.../tablesorter/js/jquery.tablesorter.min.js | 4 +-
...ry.tablesorter.widgets-filter-formatter.js | 2 +-
...ablesorter.widgets-filter-formatter.min.js | 4 +-
.../js/jquery.tablesorter.widgets.js | 106 +-
.../js/jquery.tablesorter.widgets.min.js | 28 +-
.../js/parsers/parser-date-iso8601.js | 14 +-
.../js/parsers/parser-date-month.js | 9 +-
.../js/parsers/parser-date-two-digit-year.js | 33 +-
.../js/parsers/parser-date-weekday.js | 9 +-
.../lib/tablesorter/js/parsers/parser-date.js | 2 +-
.../js/parsers/parser-feet-inch-fraction.js | 24 +-
.../tablesorter/js/parsers/parser-metric.js | 2 +-
.../js/widgets/widget-build-table.js | 441 +
.../tablesorter/js/widgets/widget-grouping.js | 140 +-
.../tablesorter/js/widgets/widget-scroller.js | 23 +-
dist/assets/lib/tablesorter/package.json | 2 +-
.../lib/tablesorter/tablesorter.jquery.json | 2 +-
dist/assets/lib/tablesorter/test.html | 12 +-
dist/assets/lib/timepicker/Gruntfile.js | 31 +-
dist/assets/lib/timepicker/README.md | 5 +
dist/assets/lib/timepicker/_config.yml | 4 +
.../lib/timepicker/_layouts/default.html | 154 +
.../bootstrap/css/bootstrap-responsive.css | 1093 ++
.../lib/timepicker/assets/ico/favicon.ico | Bin 0 -> 1150 bytes
.../timepicker/assets/images/MH900383636.JPG | Bin 0 -> 10567 bytes
.../lib/timepicker/assets/images/bg.png | Bin 0 -> 4064 bytes
.../assets/images/grid-18px-masked.png | Bin 0 -> 405 bytes
.../assets/images/happy_programmer.JPG | Bin 0 -> 10567 bytes
.../assets/images/happy_programmer.jpg | Bin 0 -> 10567 bytes
.../timepicker/assets/prettify/prettify.css | 42 +
.../timepicker/assets/prettify/prettify.js | 29 +
.../assets/lib/timepicker/assets/pygments.css | 60 +
dist/assets/lib/timepicker/component.json | 2 +-
dist/assets/lib/timepicker/composer.json | 2 +-
.../timepicker/css/bootstrap-responsive.css | 1093 ++
.../timepicker/css/bootstrap-timepicker.css | 1 +
.../css/bootstrap-timepicker.min.css | 2 +-
dist/assets/lib/timepicker/index.html | 401 +
.../lib/timepicker/js/bootstrap-timepicker.js | 455 +-
.../timepicker/js/bootstrap-timepicker.min.js | 4 +-
.../lib/timepicker/less/timepicker.less | 1 +
dist/assets/lib/timepicker/package.json | 6 +-
.../timepicker/spec/js/KeyboardEventsSpec.js | 138 +-
.../lib/timepicker/spec/js/MouseEventsSpec.js | 87 +-
.../lib/timepicker/spec/js/TimepickerSpec.js | 102 +-
.../timepicker/spec/js/libs/autotype/index.js | 283 +
.../spec/js/libs/bootstrap/CHANGELOG.md | 368 +
.../spec/js/libs/bootstrap/CONTRIBUTING.md | 75 +
.../spec/js/libs/bootstrap/README.md | 113 +
.../spec/js/libs/bootstrap/bower.json | 8 +
.../spec/js/libs/bootstrap/composer.json | 9 +
.../docs/assets/css/bootstrap-responsive.css | 1109 +++
.../bootstrap/docs/assets/css/bootstrap.css | 6167 ++++++++++++
.../libs/bootstrap/docs/assets/css/docs.css | 1067 ++
.../ico/apple-touch-icon-114-precomposed.png | Bin 0 -> 11392 bytes
.../ico/apple-touch-icon-144-precomposed.png | Bin 0 -> 16780 bytes
.../ico/apple-touch-icon-57-precomposed.png | Bin 0 -> 4026 bytes
.../ico/apple-touch-icon-72-precomposed.png | Bin 0 -> 5681 bytes
.../bootstrap/docs/assets/ico/favicon.ico | Bin 0 -> 1150 bytes
.../bootstrap/docs/assets/ico/favicon.png | Bin 0 -> 2711 bytes
.../docs/assets/img/bootstrap-docs-readme.png | Bin 0 -> 30612 bytes
.../assets/img/bootstrap-mdo-sfmoma-01.jpg | Bin 0 -> 125346 bytes
.../assets/img/bootstrap-mdo-sfmoma-02.jpg | Bin 0 -> 81284 bytes
.../assets/img/bootstrap-mdo-sfmoma-03.jpg | Bin 0 -> 49063 bytes
.../assets/img/bs-docs-bootstrap-features.png | Bin 0 -> 11244 bytes
.../assets/img/bs-docs-masthead-pattern.png | Bin 0 -> 6450 bytes
.../img/bs-docs-responsive-illustrations.png | Bin 0 -> 10572 bytes
.../assets/img/bs-docs-twitter-github.png | Bin 0 -> 30968 bytes
.../assets/img/example-sites/8020select.png | Bin 0 -> 62853 bytes
.../img/example-sites/adoptahydrant.png | Bin 0 -> 136480 bytes
.../assets/img/example-sites/breakingnews.png | Bin 0 -> 72725 bytes
.../docs/assets/img/example-sites/fleetio.png | Bin 0 -> 39837 bytes
.../img/example-sites/gathercontent.png | Bin 0 -> 76560 bytes
.../docs/assets/img/example-sites/jshint.png | Bin 0 -> 7258 bytes
.../docs/assets/img/example-sites/kippt.png | Bin 0 -> 48259 bytes
.../assets/img/example-sites/soundready.png | Bin 0 -> 50225 bytes
.../examples/bootstrap-example-carousel.png | Bin 0 -> 339980 bytes
.../img/examples/bootstrap-example-fluid.png | Bin 0 -> 209039 bytes
.../bootstrap-example-justified-nav.png | Bin 0 -> 136021 bytes
.../bootstrap-example-marketing-narrow.png | Bin 0 -> 117303 bytes
.../examples/bootstrap-example-marketing.png | Bin 0 -> 134269 bytes
.../img/examples/bootstrap-example-signin.png | Bin 0 -> 22037 bytes
.../examples/bootstrap-example-starter.png | Bin 0 -> 36099 bytes
.../bootstrap-example-sticky-footer.png | Bin 0 -> 30820 bytes
.../img/examples/browser-icon-chrome.png | Bin 0 -> 55522 bytes
.../img/examples/browser-icon-firefox.png | Bin 0 -> 175994 bytes
.../img/examples/browser-icon-safari.png | Bin 0 -> 209527 bytes
.../docs/assets/img/examples/slide-01.jpg | Bin 0 -> 83303 bytes
.../docs/assets/img/examples/slide-02.jpg | Bin 0 -> 137070 bytes
.../docs/assets/img/examples/slide-03.jpg | Bin 0 -> 137378 bytes
.../assets/img/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes
.../docs/assets/img/glyphicons-halflings.png | Bin 0 -> 12799 bytes
.../docs/assets/img/grid-baseline-20px.png | Bin 0 -> 84 bytes
.../docs/assets/img/less-logo-large.png | Bin 0 -> 12824 bytes
.../assets/img/responsive-illustrations.png | Bin 0 -> 1008 bytes
.../libs/bootstrap/docs/assets/js/README.md | 106 +
.../bootstrap/docs/assets/js/application.js | 156 +
.../docs/assets/js/bootstrap-affix.js | 117 +
.../docs/assets/js/bootstrap-alert.js | 99 +
.../docs/assets/js/bootstrap-button.js | 105 +
.../docs/assets/js/bootstrap-carousel.js | 207 +
.../docs/assets/js/bootstrap-collapse.js | 167 +
.../docs/assets/js/bootstrap-dropdown.js | 169 +
.../docs/assets/js/bootstrap-modal.js | 247 +
.../docs/assets/js/bootstrap-popover.js | 114 +
.../docs/assets/js/bootstrap-scrollspy.js | 162 +
.../bootstrap/docs/assets/js/bootstrap-tab.js | 144 +
.../docs/assets/js/bootstrap-tooltip.js | 361 +
.../docs/assets/js/bootstrap-transition.js | 60 +
.../docs/assets/js/bootstrap-typeahead.js | 335 +
.../bootstrap/docs/assets/js/bootstrap.js | 2280 +++++
.../bootstrap/docs/assets/js/bootstrap.min.js | 6 +
.../js/google-code-prettify/prettify.css | 30 +
.../js/google-code-prettify/prettify.js | 28 +
.../bootstrap/docs/assets/js/holder/holder.js | 401 +
.../bootstrap/docs/assets/js/html5shiv.js | 8 +
.../libs/bootstrap/docs/assets/js/jquery.js | 5 +
.../spec/js/libs/bootstrap/docs/base-css.html | 2240 +++++
.../js/libs/bootstrap/docs/build/index.js | 44 +
.../js/libs/bootstrap/docs/build/package.json | 6 +
.../js/libs/bootstrap/docs/components.html | 2651 +++++
.../js/libs/bootstrap/docs/customize.html | 539 +
.../bootstrap/docs/examples/carousel.html | 454 +
.../libs/bootstrap/docs/examples/fluid.html | 163 +
.../js/libs/bootstrap/docs/examples/hero.html | 126 +
.../docs/examples/justified-nav.html | 174 +
.../docs/examples/marketing-narrow.html | 137 +
.../libs/bootstrap/docs/examples/signin.html | 94 +
.../docs/examples/starter-template.html | 79 +
.../docs/examples/sticky-footer-navbar.html | 161 +
.../docs/examples/sticky-footer.html | 125 +
.../spec/js/libs/bootstrap/docs/extend.html | 307 +
.../libs/bootstrap/docs/getting-started.html | 402 +
.../spec/js/libs/bootstrap/docs/index.html | 246 +
.../js/libs/bootstrap/docs/javascript.html | 1805 ++++
.../js/libs/bootstrap/docs/scaffolding.html | 627 ++
.../bootstrap/docs/templates/layout.mustache | 151 +
.../docs/templates/pages/base-css.mustache | 2102 ++++
.../docs/templates/pages/components.mustache | 2505 +++++
.../docs/templates/pages/customize.mustache | 393 +
.../docs/templates/pages/extend.mustache | 161 +
.../templates/pages/getting-started.mustache | 256 +
.../docs/templates/pages/index.mustache | 100 +
.../docs/templates/pages/javascript.mustache | 1660 ++++
.../docs/templates/pages/scaffolding.mustache | 485 +
.../img/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes
.../bootstrap/img/glyphicons-halflings.png | Bin 0 -> 12799 bytes
.../js/libs/bootstrap/js/bootstrap-affix.js | 117 +
.../js/libs/bootstrap/js/bootstrap-alert.js | 99 +
.../js/libs/bootstrap/js/bootstrap-button.js | 105 +
.../libs/bootstrap/js/bootstrap-carousel.js | 207 +
.../libs/bootstrap/js/bootstrap-collapse.js | 167 +
.../libs/bootstrap/js/bootstrap-dropdown.js | 169 +
.../js/libs/bootstrap/js/bootstrap-modal.js | 247 +
.../js/libs/bootstrap/js/bootstrap-popover.js | 114 +
.../libs/bootstrap/js/bootstrap-scrollspy.js | 162 +
.../js/libs/bootstrap/js/bootstrap-tab.js | 144 +
.../js/libs/bootstrap/js/bootstrap-tooltip.js | 361 +
.../libs/bootstrap/js/bootstrap-transition.js | 60 +
.../libs/bootstrap/js/bootstrap-typeahead.js | 335 +
.../js/libs/bootstrap/js/tests/index.html | 56 +
.../js/libs/bootstrap/js/tests/phantom.js | 63 +
.../spec/js/libs/bootstrap/js/tests/server.js | 14 +
.../js/tests/unit/bootstrap-affix.js | 25 +
.../js/tests/unit/bootstrap-alert.js | 62 +
.../js/tests/unit/bootstrap-button.js | 102 +
.../js/tests/unit/bootstrap-carousel.js | 81 +
.../js/tests/unit/bootstrap-collapse.js | 94 +
.../js/tests/unit/bootstrap-dropdown.js | 151 +
.../js/tests/unit/bootstrap-modal.js | 137 +
.../js/tests/unit/bootstrap-phantom.js | 21 +
.../js/tests/unit/bootstrap-popover.js | 113 +
.../js/tests/unit/bootstrap-scrollspy.js | 37 +
.../bootstrap/js/tests/unit/bootstrap-tab.js | 86 +
.../js/tests/unit/bootstrap-tooltip.js | 294 +
.../js/tests/unit/bootstrap-transition.js | 13 +
.../js/tests/unit/bootstrap-typeahead.js | 236 +
.../libs/bootstrap/js/tests/vendor/jquery.js | 5 +
.../libs/bootstrap/js/tests/vendor/qunit.css | 232 +
.../libs/bootstrap/js/tests/vendor/qunit.js | 1510 +++
.../js/libs/bootstrap/less/accordion.less | 34 +
.../spec/js/libs/bootstrap/less/alerts.less | 79 +
.../js/libs/bootstrap/less/bootstrap.less | 63 +
.../js/libs/bootstrap/less/breadcrumbs.less | 24 +
.../js/libs/bootstrap/less/button-groups.less | 229 +
.../spec/js/libs/bootstrap/less/buttons.less | 228 +
.../spec/js/libs/bootstrap/less/carousel.less | 158 +
.../spec/js/libs/bootstrap/less/close.less | 32 +
.../spec/js/libs/bootstrap/less/code.less | 61 +
.../bootstrap/less/component-animations.less | 22 +
.../js/libs/bootstrap/less/dropdowns.less | 248 +
.../spec/js/libs/bootstrap/less/forms.less | 690 ++
.../spec/js/libs/bootstrap/less/grid.less | 21 +
.../js/libs/bootstrap/less/hero-unit.less | 25 +
.../js/libs/bootstrap/less/labels-badges.less | 84 +
.../spec/js/libs/bootstrap/less/layouts.less | 16 +
.../spec/js/libs/bootstrap/less/media.less | 55 +
.../spec/js/libs/bootstrap/less/mixins.less | 702 ++
.../spec/js/libs/bootstrap/less/modals.less | 95 +
.../spec/js/libs/bootstrap/less/navbar.less | 497 +
.../spec/js/libs/bootstrap/less/navs.less | 409 +
.../spec/js/libs/bootstrap/less/pager.less | 43 +
.../js/libs/bootstrap/less/pagination.less | 123 +
.../spec/js/libs/bootstrap/less/popovers.less | 133 +
.../js/libs/bootstrap/less/progress-bars.less | 122 +
.../spec/js/libs/bootstrap/less/reset.less | 216 +
.../bootstrap/less/responsive-1200px-min.less | 28 +
.../bootstrap/less/responsive-767px-max.less | 193 +
.../less/responsive-768px-979px.less | 19 +
.../bootstrap/less/responsive-navbar.less | 189 +
.../bootstrap/less/responsive-utilities.less | 59 +
.../js/libs/bootstrap/less/responsive.less | 48 +
.../js/libs/bootstrap/less/scaffolding.less | 53 +
.../spec/js/libs/bootstrap/less/sprites.less | 197 +
.../spec/js/libs/bootstrap/less/tables.less | 244 +
.../js/libs/bootstrap/less/tests/buttons.html | 139 +
.../libs/bootstrap/less/tests/css-tests.css | 150 +
.../libs/bootstrap/less/tests/css-tests.html | 1399 +++
.../less/tests/forms-responsive.html | 71 +
.../js/libs/bootstrap/less/tests/forms.html | 179 +
.../less/tests/navbar-fixed-top.html | 104 +
.../less/tests/navbar-static-top.html | 107 +
.../js/libs/bootstrap/less/tests/navbar.html | 107 +
.../js/libs/bootstrap/less/thumbnails.less | 53 +
.../spec/js/libs/bootstrap/less/tooltip.less | 70 +
.../spec/js/libs/bootstrap/less/type.less | 247 +
.../js/libs/bootstrap/less/utilities.less | 30 +
.../js/libs/bootstrap/less/variables.less | 301 +
.../spec/js/libs/bootstrap/less/wells.less | 29 +
.../spec/js/libs/bootstrap/package.json | 26 +
.../timepicker/spec/js/libs/jquery/README.md | 11 +
.../timepicker/spec/js/libs/jquery/bower.json | 11 +
.../spec/js/libs/jquery/component.json | 15 +
.../spec/js/libs/jquery/composer.json | 35 +
.../spec/js/libs/jquery/jquery-migrate.js | 511 +
.../spec/js/libs/jquery/jquery-migrate.min.js | 3 +
.../timepicker/spec/js/libs/jquery/jquery.js | 8829 +++++++++++++++++
.../spec/js/libs/jquery/jquery.min.js | 6 +
.../spec/js/libs/jquery/jquery.min.map | 1 +
.../spec/js/libs/jquery/package.json | 7 +
dist/form-general.html | 68 +-
src/assets/js/formGeneral.js | 9 +-
src/assets/less/box.less | 7 +-
src/assets/submodule/cssbeautify | 2 +-
src/assets/submodule/daterangepicker | 2 +-
src/assets/submodule/gmaps | 2 +-
src/assets/submodule/jasny | 2 +-
src/assets/submodule/plupload | 2 +-
src/assets/submodule/switch | 2 +-
src/assets/submodule/tablesorter | 2 +-
src/assets/submodule/timepicker | 2 +-
src/templates/pages/form-general.hbs | 68 +-
300 files changed, 62730 insertions(+), 1700 deletions(-)
create mode 100644 dist/assets/lib/gmaps/examples/static_styles.html
create mode 100644 dist/assets/lib/tablesorter/docs/assets/build.json
create mode 100644 dist/assets/lib/tablesorter/docs/assets/build.txt
create mode 100644 dist/assets/lib/tablesorter/docs/example-widget-build-table.html
create mode 100644 dist/assets/lib/tablesorter/docs/js/demo-build-table.js
create mode 100644 dist/assets/lib/tablesorter/js/widgets/widget-build-table.js
create mode 100644 dist/assets/lib/timepicker/_config.yml
create mode 100644 dist/assets/lib/timepicker/_layouts/default.html
create mode 100644 dist/assets/lib/timepicker/assets/bootstrap/css/bootstrap-responsive.css
create mode 100644 dist/assets/lib/timepicker/assets/ico/favicon.ico
create mode 100644 dist/assets/lib/timepicker/assets/images/MH900383636.JPG
create mode 100644 dist/assets/lib/timepicker/assets/images/bg.png
create mode 100644 dist/assets/lib/timepicker/assets/images/grid-18px-masked.png
create mode 100644 dist/assets/lib/timepicker/assets/images/happy_programmer.JPG
create mode 100644 dist/assets/lib/timepicker/assets/images/happy_programmer.jpg
create mode 100644 dist/assets/lib/timepicker/assets/prettify/prettify.css
create mode 100644 dist/assets/lib/timepicker/assets/prettify/prettify.js
create mode 100644 dist/assets/lib/timepicker/assets/pygments.css
create mode 100644 dist/assets/lib/timepicker/css/bootstrap-responsive.css
create mode 100644 dist/assets/lib/timepicker/index.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/autotype/index.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/CHANGELOG.md
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/CONTRIBUTING.md
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/README.md
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/bower.json
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/composer.json
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/css/bootstrap-responsive.css
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/css/bootstrap.css
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/css/docs.css
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/ico/apple-touch-icon-114-precomposed.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/ico/apple-touch-icon-144-precomposed.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/ico/apple-touch-icon-57-precomposed.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/ico/apple-touch-icon-72-precomposed.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/ico/favicon.ico
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/ico/favicon.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/bootstrap-docs-readme.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-01.jpg
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-02.jpg
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/bootstrap-mdo-sfmoma-03.jpg
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/bs-docs-bootstrap-features.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/bs-docs-masthead-pattern.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/bs-docs-responsive-illustrations.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/bs-docs-twitter-github.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/example-sites/8020select.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/example-sites/adoptahydrant.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/example-sites/breakingnews.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/example-sites/fleetio.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/example-sites/gathercontent.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/example-sites/jshint.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/example-sites/kippt.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/example-sites/soundready.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/bootstrap-example-carousel.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/bootstrap-example-fluid.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/bootstrap-example-justified-nav.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/bootstrap-example-marketing-narrow.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/bootstrap-example-marketing.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/bootstrap-example-signin.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/bootstrap-example-starter.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/bootstrap-example-sticky-footer.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/browser-icon-chrome.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/browser-icon-firefox.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/browser-icon-safari.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/slide-01.jpg
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/slide-02.jpg
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/examples/slide-03.jpg
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/glyphicons-halflings-white.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/glyphicons-halflings.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/grid-baseline-20px.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/less-logo-large.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/img/responsive-illustrations.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/README.md
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/application.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-affix.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-alert.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-button.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-carousel.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-collapse.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-dropdown.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-modal.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-popover.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-scrollspy.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-tab.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-tooltip.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-transition.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap-typeahead.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/bootstrap.min.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/google-code-prettify/prettify.css
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/google-code-prettify/prettify.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/holder/holder.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/html5shiv.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/assets/js/jquery.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/base-css.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/build/index.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/build/package.json
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/components.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/customize.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/examples/carousel.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/examples/fluid.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/examples/hero.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/examples/justified-nav.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/examples/marketing-narrow.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/examples/signin.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/examples/starter-template.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/examples/sticky-footer-navbar.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/examples/sticky-footer.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/extend.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/getting-started.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/index.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/javascript.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/scaffolding.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/templates/layout.mustache
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/templates/pages/base-css.mustache
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/templates/pages/components.mustache
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/templates/pages/customize.mustache
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/templates/pages/extend.mustache
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/templates/pages/getting-started.mustache
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/templates/pages/index.mustache
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/templates/pages/javascript.mustache
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/docs/templates/pages/scaffolding.mustache
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/img/glyphicons-halflings-white.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/img/glyphicons-halflings.png
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-affix.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-alert.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-button.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-carousel.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-collapse.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-dropdown.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-modal.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-popover.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-scrollspy.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-tab.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-tooltip.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-transition.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/bootstrap-typeahead.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/index.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/phantom.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/server.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-affix.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-alert.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-button.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-carousel.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-collapse.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-dropdown.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-modal.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-phantom.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-popover.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-scrollspy.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-tab.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-tooltip.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-transition.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/unit/bootstrap-typeahead.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/vendor/jquery.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/vendor/qunit.css
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/js/tests/vendor/qunit.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/accordion.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/alerts.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/bootstrap.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/breadcrumbs.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/button-groups.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/buttons.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/carousel.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/close.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/code.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/component-animations.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/dropdowns.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/forms.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/grid.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/hero-unit.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/labels-badges.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/layouts.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/media.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/mixins.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/modals.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/navbar.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/navs.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/pager.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/pagination.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/popovers.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/progress-bars.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/reset.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/responsive-1200px-min.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/responsive-767px-max.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/responsive-768px-979px.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/responsive-navbar.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/responsive-utilities.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/responsive.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/scaffolding.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/sprites.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/tables.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/tests/buttons.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/tests/css-tests.css
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/tests/css-tests.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/tests/forms-responsive.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/tests/forms.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/tests/navbar-fixed-top.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/tests/navbar-static-top.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/tests/navbar.html
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/thumbnails.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/tooltip.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/type.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/utilities.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/variables.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/less/wells.less
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/bootstrap/package.json
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/jquery/README.md
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/jquery/bower.json
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/jquery/component.json
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/jquery/composer.json
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/jquery/jquery-migrate.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/jquery/jquery-migrate.min.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/jquery/jquery.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/jquery/jquery.min.js
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/jquery/jquery.min.map
create mode 100644 dist/assets/lib/timepicker/spec/js/libs/jquery/package.json
diff --git a/.gitignore b/.gitignore
index 667a9c1f..35f382c9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
node_modules/
-nbproject/
\ No newline at end of file
+nbproject/
+.idea/
\ No newline at end of file
diff --git a/dist/assets/css/main.css b/dist/assets/css/main.css
index a196483f..067e500d 100644
--- a/dist/assets/css/main.css
+++ b/dist/assets/css/main.css
@@ -824,6 +824,10 @@ body.padTop53 {
box-shadow: 1px 0px 0px #85d0e7;
}
+.box:not(.dark) header .toolbar .nav > li > a {
+ color: #fff;
+}
+
.box header .toolbar {
display: inline-table;
float: right;
@@ -849,7 +853,6 @@ body.padTop53 {
.box header .toolbar .nav > li > a {
padding-top: 9px;
- color: #fff;
}
.box header .toolbar .nav > li > a:hover,
diff --git a/dist/assets/css/main.min.css b/dist/assets/css/main.min.css
index 10cb74f7..e55f8b14 100644
--- a/dist/assets/css/main.min.css
+++ b/dist/assets/css/main.min.css
@@ -1 +1 @@
-#wrap{margin:0 auto}#footer{height:48px}@media(min-width:768px){html,body{height:100%}#wrap{height:auto!important;height:100%;min-height:100%;padding:0 0 48px;margin-bottom:-48px}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{border-radius:1em}::-webkit-scrollbar-thumb:hover{background-color:#999}::-webkit-scrollbar-track{background:transparent;border-radius:1em}::-webkit-scrollbar-track:hover{background:rgba(110,110,110,0.25)}body.padTop53{padding-top:95px;overflow:visible}@media(min-width:802px){body.padTop53{padding-top:54px}}#wrap:before,#top:before,.head:before,#footer:before,#wrap:after,#top:after,.head:after,#footer:after{display:table;content:" "}#wrap:after,#top:after,.head:after,#footer:after{clear:both}#wrap{background-color:#333}#right{display:none}@media(min-width:768px){#left{position:relative;float:left;width:100px}#left #menu.affix{position:fixed;top:0;width:100px;overflow-x:hidden;overflow-y:hidden;-webkit-overflow-scrolling:touch}#left #menu.affix:hover{overflow-y:scroll}#left #menu.affix>li:last-child>a:last-child{border-bottom:1px solid rgba(0,0,0,0.3);box-shadow:0 1px 0 rgba(255,255,255,0.05),0 1px 0 rgba(255,255,255,0.05) inset}body.padTop53 #left #menu.affix{top:53px}.side-right #left{float:right}#content{margin-left:100px}.side-right #content{margin-right:100px;margin-left:0}#left{margin-bottom:-10px}}@media(min-width:992px){#left{width:220px}#left #menu.affix{width:220px}.mini-sidebar #left{width:100px}.mini-sidebar #left #menu.affix{width:100px}#content{margin-left:220px}.side-right #content{margin-right:220px}.mini-sidebar #content{margin-left:100px}.mini-sidebar.side-right #content{margin-right:100px;margin-left:0}}@media(min-width:768px){.hide-sidebar #left,.hide-sidebar #right{display:none}.hide-sidebar #content{width:100%!important;margin:0!important}}@media(min-width:1200px){body.fixed #wrap,body.fixed #footer,body.fixed #top .navbar.navbar-fixed-top{max-width:1170px;margin-right:auto;margin-left:auto}}#top .navbar{margin-bottom:0;border-top:3px solid #cd0067}#top .navbar-brand{padding:0}#top .topnav{margin:10px 15px 10px auto}@media(min-width:768px){#top .topnav{float:right}}.head{text-shadow:0 1px 0 rgba(0,0,0,0.5);background:#404040;border-bottom:1px solid rgba(0,0,0,0.3);box-shadow:0 1px 0 rgba(255,255,255,0.05) inset}.head .search-bar{padding:10px 15px;margin:0 auto;border-bottom:1px solid rgba(0,0,0,0.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.05);box-shadow:0 1px 0 rgba(255,255,255,0.05)}.head .search-bar .main-search{margin-right:40px;border-bottom:1px solid #7c7c7c}.head .search-bar .main-search input[type="text"]{color:#ccc;background-color:transparent;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.head .search-bar .main-search button,.head .search-bar .main-search input[type=submit]{background:transparent;border:transparent}@media(min-width:768px){.head .search-bar{border-right:1px solid rgba(0,0,0,0.3);border-bottom-width:0;-webkit-box-shadow:-1px 0 0 rgba(255,255,255,0.05) inset;box-shadow:-1px 0 0 rgba(255,255,255,0.05) inset}.side-right .head .search-bar{border-left:1px solid rgba(0,0,0,0.3);border-right-width:0;-webkit-box-shadow:1px 0 0 rgba(255,255,255,0.05) inset;box-shadow:1px 0 0 rgba(255,255,255,0.05) inset}}.head .main-bar{padding:10px}.head .main-bar h3{margin-top:0;margin-bottom:0;color:#bababa}@media(min-width:768px){.head .main-bar h3{margin-top:5px}}@media(min-width:768px){.head .search-bar .main-search{margin-right:auto}}#menu-toggle{float:right;margin-left:15px}@media(min-width:768px){.search-bar{float:left;width:100px;padding:10px 4px}.side-right .search-bar{float:right}.search-bar .input-group-btn{display:none}.search-bar .input-small.form-control{border-radius:3px}.main-bar{margin-left:100px}.side-right .main-bar{margin-right:100px;margin-left:0}}@media(min-width:992px){.search-bar{width:220px;padding:10px 15px}.search-bar .input-group-btn{display:table-cell}.search-bar .input-small.form-control{border-radius:3px 0 0 3px}.mini-sidebar .search-bar{width:100px;padding:10px 4px}.mini-sidebar .search-bar .input-group-btn{display:none}.mini-sidebar .search-bar .input-small.form-control{border-radius:3px}.main-bar{margin-left:220px}.side-right .main-bar{margin-right:220px}.mini-sidebar .main-bar{margin-left:100px}.side-right.mini-sidebar .main-bar{margin-left:0}}.user-media{display:none;background-color:#444}@media(min-width:768px){.user-media{display:block}.user-media .media-body{display:none}.user-media .user-link{position:relative;display:block;margin-right:auto;margin-left:auto}.user-media .user-link .user-img{margin:10px auto}.user-media .user-link .user-label{position:absolute;top:-6px;right:6px}}@media(min-width:992px){.user-media .user-link{float:left}.user-media .user-link .user-img{margin:10px}.user-media .user-link .user-label{top:6px;right:0}.user-media .media-body{display:block;float:left;margin-left:12px}.user-media .media-body h5.media-heading{padding-top:8px;margin-bottom:3px;color:#fff}.user-media .media-body ul.user-info li{color:#ccc}}@media(min-width:768px){.mini-sidebar .media-body{display:none}.side-right .user-link .user-label{right:auto;left:6px}}#menu{position:relative;overflow:hidden;background-color:#333;border-bottom:1px solid rgba(0,0,0,0.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.05);box-shadow:0 1px 0 rgba(255,255,255,0.05)}#menu,#menu ul{padding:0;margin:0;list-style:none}@media(min-width:768px){#menu.collapse{display:inherit!important}}#menu>li{position:relative;display:block;margin:0;border-width:0;border-radius:0}#menu>li>a{position:relative;display:block;padding:10px 15px;color:#ccc;text-shadow:0 1px 0 rgba(0,0,0,0.5);border-top:1px solid rgba(0,0,0,0.3);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.05)}#menu>li>a:hover,#menu>li>a:focus{color:#fff;text-decoration:none;background-color:#404040;outline:0}#menu>li>a .label{float:right}#menu>li.active>a{color:#fff;background-color:#1a1a1a;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.3) inset;box-shadow:0 1px 3px rgba(0,0,0,0.3) inset}#menu>li.panel{background-color:transparent}#menu li>a{text-decoration:none}#menu ul{padding:5px 0 5px 15px;border-top:1px solid rgba(0,0,0,0.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.05) inset;box-shadow:0 1px 0 rgba(255,255,255,0.05) inset}#menu ul a{display:block;padding:2px 0;margin-left:15px;font-size:12px;color:#ccc}#menu .nav-header{padding:3px 15px;font-size:12px;font-weight:bold;color:#777;text-shadow:0 1px 0 rgba(0,0,0,0.5);text-transform:uppercase;background:#404040;border-top:1px solid rgba(0,0,0,0.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.05) inset;box-shadow:0 1px 0 rgba(255,255,255,0.05) inset}#menu .nav-divider{height:6px;margin:0;background:rgba(0,0,0,0.2);border-top:1px solid rgba(255,255,255,0.01);box-shadow:0 1px 3px rgba(0,0,0,0.3) inset}#menu>li.active>a{position:relative}#menu>li.panel.active ul>li.active>a:after{position:absolute;right:0;border-color:transparent #6e6e6e transparent transparent;border-style:solid;border-width:10px;content:""}.side-right #menu>li>a>.label{right:auto;left:3px}@media(min-width:768px){.mini-sidebar #menu>li>a,#menu>li>a{text-align:center}.mini-sidebar #menu>li>a>i,#menu>li>a>i{display:block;font-size:20px}.mini-sidebar #menu>li>a .label,#menu>li>a .label{position:absolute;top:3px;right:3px}.mini-sidebar.side-right #menu>li>a .label,.side-right #menu>li>a .label{right:auto}#menu:after,.mini-sidebar #menu:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:0;background:#333;content:" ";-webkit-box-shadow:97px 1px 5px 2px rgba(0,0,0,0.6);box-shadow:97px 1px 5px 2px rgba(0,0,0,0.6)}.side-right #menu:after,.side-right.mini-sidebar #menu:after{-webkit-box-shadow:3px 1px 5px 2px rgba(0,0,0,0.6);box-shadow:3px 1px 5px 2px rgba(0,0,0,0.6)}}@media(min-width:992px){#menu>li>a{text-align:left}#menu>li>a>i{display:inline;font-size:14px}#menu>li>a>.label{position:relative}#menu:after{-webkit-box-shadow:217px 1px 5px 2px rgba(0,0,0,0.6);box-shadow:217px 1px 5px 2px rgba(0,0,0,0.6)}.mini-sidebar #menu:after{-webkit-box-shadow:97px 1px 5px 2px rgba(0,0,0,0.6);box-shadow:97px 1px 5px 2px rgba(0,0,0,0.6)}}#content{-webkit-transition:margin .4s;transition:margin .4s}.outer{padding:10px;background-color:#6e6e6e}.outer:before,.outer:after{display:table;content:" "}.outer:after{clear:both}.inner{position:relative;min-height:1px;padding-right:10px;padding-left:10px;background:#fff;border:10px solid #e4e4e4}@media(min-width:768px){.inner{float:left;width:100%}}.inner .row{margin-right:-15px;margin-left:-15px}#footer{margin:0 auto;color:#f9f9f9;background:url("../img/pattern/px_by_Gre3g.png") repeat #444;border-top:1px solid #222;-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,0.05);box-shadow:0 -1px 0 0 rgba(0,0,0,0.05)}#footer p{padding:12px 0 0;text-align:center}.box{position:relative;display:block;margin:10px auto;border:1px solid #efefef}.box header{background-image:-webkit-gradient(linear,left 0,left 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,0%,#f2f2f2,100%);background-image:-moz-linear-gradient(top,#fff 0,#f2f2f2 100%);background-image:linear-gradient(to bottom,#fff 0,#f2f2f2 100%);background-repeat:repeat-x;border-bottom:1px solid #d4d4d4;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.box header:before,.box header:after{display:table;content:" "}.box header:after{clear:both}.box header .icons,.box header h5,.box header .toolbar{position:relative;display:block;float:left;min-height:1px;padding:0;margin:0}.box header .icons{padding:10px 15px;border-right:1px solid #ddd;-webkit-box-shadow:1px 0 0 #fff;box-shadow:1px 0 0 #fff}.box header h5{padding:12px;font-weight:bold}.box.inverse header{color:#f5f5f5;background-image:-webkit-gradient(linear,left 0,left 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,0%,#222,100%);background-image:-moz-linear-gradient(top,#333 0,#222 100%);background-image:linear-gradient(to bottom,#333 0,#222 100%);background-repeat:repeat-x;border-bottom:1px solid #4d4d4d;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff333333',endColorstr='#ff222222',GradientType=0)}.box.inverse header .icons{border-right:1px solid #222;-webkit-box-shadow:1px 0 0 #3c3c3c;box-shadow:1px 0 0 #3c3c3c}.box.primary header{color:#fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#3071a9));background-image:-webkit-linear-gradient(top,#428bca,0%,#3071a9,100%);background-image:-moz-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;border-bottom:1px solid #428bca;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3071a9',GradientType=0)}.box.primary header .icons{border-right:1px solid #245682;-webkit-box-shadow:1px 0 0 #6aa3d5;box-shadow:1px 0 0 #6aa3d5}.box.success header{color:#fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#5cb85c),to(#449d44));background-image:-webkit-linear-gradient(top,#5cb85c,0%,#449d44,100%);background-image:-moz-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;border-bottom:1px solid #5cb85c;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff449d44',GradientType=0)}.box.success header .icons{border-right:1px solid #357935;-webkit-box-shadow:1px 0 0 #80c780;box-shadow:1px 0 0 #80c780}.box.warning header{color:#fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#f0ad4e),to(#ec971f));background-image:-webkit-linear-gradient(top,#f0ad4e,0%,#ec971f,100%);background-image:-moz-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;border-bottom:1px solid #f0ad4e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.box.warning header .icons{border-right:1px solid #c77c11;-webkit-box-shadow:1px 0 0 #f4c37d;box-shadow:1px 0 0 #f4c37d}.box.danger header{color:#fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#d9534f),to(#c9302c));background-image:-webkit-linear-gradient(top,#d9534f,0%,#c9302c,100%);background-image:-moz-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;border-bottom:1px solid #d9534f;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.box.danger header .icons{border-right:1px solid #a02622;-webkit-box-shadow:1px 0 0 #e27c79;box-shadow:1px 0 0 #e27c79}.box.info header{color:#fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#5bc0de),to(#31b0d5));background-image:-webkit-linear-gradient(top,#5bc0de,0%,#31b0d5,100%);background-image:-moz-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;border-bottom:1px solid #5bc0de;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.box.info header .icons{border-right:1px solid #2390b0;-webkit-box-shadow:1px 0 0 #85d0e7;box-shadow:1px 0 0 #85d0e7}.box header .toolbar{display:inline-table;float:right}.box header .toolbar .btn-toolbar{margin:6px 3px}.box header .toolbar .label,.box header .toolbar .badge{display:inline-block;margin:10px}.box header .toolbar .nav{margin:1px 1px 0 0}.box header .toolbar .nav>li{display:inline-block}.box header .toolbar .nav>li>a{padding-top:9px;color:#fff}.box header .toolbar .nav>li>a:hover,.box header .toolbar .nav>li>a:focus{color:#222}.box header .toolbar>.btn{margin-right:4px}.box header .toolbar>.btn-sm,.box header .toolbar>.btn-group{margin:4px}.box header .toolbar>.btn-xs{margin:6px}.box header .toolbar .input-sm{margin:4px -4px}.box header .toolbar .progress{min-width:120px;margin:10px 4px}.box header .toolbar .progress.middle{height:12px;margin:13px 4px}.box header .toolbar .progress.mini{height:6px;margin:16px 4px}.box.danger .dropdown-menu>li>a:hover,.box.danger .dropdown-menu>li>a:focus{background-image:-webkit-gradient(linear,left 0,left 100%,from(#d9534f),to(#c9302c));background-image:-webkit-linear-gradient(top,#d9534f,0%,#c9302c,100%);background-image:-moz-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.box.info .dropdown-menu>li>a:hover,.box.info .dropdown-menu>li>a:focus{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5bc0de),to(#31b0d5));background-image:-webkit-linear-gradient(top,#5bc0de,0%,#31b0d5,100%);background-image:-moz-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.box.success .dropdown-menu>li>a:hover,.box.success .dropdown-menu>li>a:focus{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5cb85c),to(#449d44));background-image:-webkit-linear-gradient(top,#5cb85c,0%,#449d44,100%);background-image:-moz-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff449d44',GradientType=0)}.box.warning .dropdown-menu>li>a:hover,.box.warning .dropdown-menu>li>a:focus{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f0ad4e),to(#ec971f));background-image:-webkit-linear-gradient(top,#f0ad4e,0%,#ec971f,100%);background-image:-moz-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.box.inverse .dropdown-menu>li>a:hover,.box.inverse .dropdown-menu>li>a:focus{background-image:-webkit-gradient(linear,left 0,left 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,0%,#222,100%);background-image:-moz-linear-gradient(top,#333 0,#222 100%);background-image:linear-gradient(to bottom,#333 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff333333',endColorstr='#ff222222',GradientType=0)}.box .body{padding:10px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.box .body hr{margin-right:-10px;margin-left:-10px}.body.collapse:not(.in){padding:0}.box>.block{padding:0}.row.ui-sortable .box header{cursor:move}.btn-metis-1{color:#fff;background-color:#ee465a;border-color:#c11a39}.btn-metis-1:hover,.btn-metis-1:focus,.btn-metis-1:active,.btn-metis-1.active,.open .dropdown-toggle.btn-metis-1{color:#fff;background-color:#eb2139;border-color:#8b1329}.btn-metis-1:active,.btn-metis-1.active,.open .dropdown-toggle.btn-metis-1{background-image:none}.btn-metis-1.disabled,.btn-metis-1[disabled],fieldset[disabled] .btn-metis-1,.btn-metis-1.disabled:hover,.btn-metis-1[disabled]:hover,fieldset[disabled] .btn-metis-1:hover,.btn-metis-1.disabled:focus,.btn-metis-1[disabled]:focus,fieldset[disabled] .btn-metis-1:focus,.btn-metis-1.disabled:active,.btn-metis-1[disabled]:active,fieldset[disabled] .btn-metis-1:active,.btn-metis-1.disabled.active,.btn-metis-1[disabled].active,fieldset[disabled] .btn-metis-1.active{background-color:#ee465a;border-color:#c11a39}.btn-metis-2{color:#fff;background-color:#9fd256;border-color:#6fac34}.btn-metis-2:hover,.btn-metis-2:focus,.btn-metis-2:active,.btn-metis-2.active,.open .dropdown-toggle.btn-metis-2{color:#fff;background-color:#8dc936;border-color:#517d26}.btn-metis-2:active,.btn-metis-2.active,.open .dropdown-toggle.btn-metis-2{background-image:none}.btn-metis-2.disabled,.btn-metis-2[disabled],fieldset[disabled] .btn-metis-2,.btn-metis-2.disabled:hover,.btn-metis-2[disabled]:hover,fieldset[disabled] .btn-metis-2:hover,.btn-metis-2.disabled:focus,.btn-metis-2[disabled]:focus,fieldset[disabled] .btn-metis-2:focus,.btn-metis-2.disabled:active,.btn-metis-2[disabled]:active,fieldset[disabled] .btn-metis-2:active,.btn-metis-2.disabled.active,.btn-metis-2[disabled].active,fieldset[disabled] .btn-metis-2.active{background-color:#9fd256;border-color:#6fac34}.btn-metis-3{color:#fff;background-color:#fbb450;border-color:#f89406}.btn-metis-3:hover,.btn-metis-3:focus,.btn-metis-3:active,.btn-metis-3.active,.open .dropdown-toggle.btn-metis-3{color:#fff;background-color:#faa328;border-color:#bc7005}.btn-metis-3:active,.btn-metis-3.active,.open .dropdown-toggle.btn-metis-3{background-image:none}.btn-metis-3.disabled,.btn-metis-3[disabled],fieldset[disabled] .btn-metis-3,.btn-metis-3.disabled:hover,.btn-metis-3[disabled]:hover,fieldset[disabled] .btn-metis-3:hover,.btn-metis-3.disabled:focus,.btn-metis-3[disabled]:focus,fieldset[disabled] .btn-metis-3:focus,.btn-metis-3.disabled:active,.btn-metis-3[disabled]:active,fieldset[disabled] .btn-metis-3:active,.btn-metis-3.disabled.active,.btn-metis-3[disabled].active,fieldset[disabled] .btn-metis-3.active{background-color:#fbb450;border-color:#f89406}.btn-metis-4{color:#fff;background-color:#a264e7;border-color:#62309a}.btn-metis-4:hover,.btn-metis-4:focus,.btn-metis-4:active,.btn-metis-4.active,.open .dropdown-toggle.btn-metis-4{color:#fff;background-color:#8d41e2;border-color:#44216b}.btn-metis-4:active,.btn-metis-4.active,.open .dropdown-toggle.btn-metis-4{background-image:none}.btn-metis-4.disabled,.btn-metis-4[disabled],fieldset[disabled] .btn-metis-4,.btn-metis-4.disabled:hover,.btn-metis-4[disabled]:hover,fieldset[disabled] .btn-metis-4:hover,.btn-metis-4.disabled:focus,.btn-metis-4[disabled]:focus,fieldset[disabled] .btn-metis-4:focus,.btn-metis-4.disabled:active,.btn-metis-4[disabled]:active,fieldset[disabled] .btn-metis-4:active,.btn-metis-4.disabled.active,.btn-metis-4[disabled].active,fieldset[disabled] .btn-metis-4.active{background-color:#a264e7;border-color:#62309a}.btn-metis-5{color:#fff;background-color:#777;border-color:#555}.btn-metis-5:hover,.btn-metis-5:focus,.btn-metis-5:active,.btn-metis-5.active,.open .dropdown-toggle.btn-metis-5{color:#fff;background-color:#636363;border-color:#363636}.btn-metis-5:active,.btn-metis-5.active,.open .dropdown-toggle.btn-metis-5{background-image:none}.btn-metis-5.disabled,.btn-metis-5[disabled],fieldset[disabled] .btn-metis-5,.btn-metis-5.disabled:hover,.btn-metis-5[disabled]:hover,fieldset[disabled] .btn-metis-5:hover,.btn-metis-5.disabled:focus,.btn-metis-5[disabled]:focus,fieldset[disabled] .btn-metis-5:focus,.btn-metis-5.disabled:active,.btn-metis-5[disabled]:active,fieldset[disabled] .btn-metis-5:active,.btn-metis-5.disabled.active,.btn-metis-5[disabled].active,fieldset[disabled] .btn-metis-5.active{background-color:#777;border-color:#555}.btn-metis-6{color:#fff;background-color:#00b4f5;border-color:#008dc5}.btn-metis-6:hover,.btn-metis-6:focus,.btn-metis-6:active,.btn-metis-6.active,.open .dropdown-toggle.btn-metis-6{color:#fff;background-color:#0096cc;border-color:#006188}.btn-metis-6:active,.btn-metis-6.active,.open .dropdown-toggle.btn-metis-6{background-image:none}.btn-metis-6.disabled,.btn-metis-6[disabled],fieldset[disabled] .btn-metis-6,.btn-metis-6.disabled:hover,.btn-metis-6[disabled]:hover,fieldset[disabled] .btn-metis-6:hover,.btn-metis-6.disabled:focus,.btn-metis-6[disabled]:focus,fieldset[disabled] .btn-metis-6:focus,.btn-metis-6.disabled:active,.btn-metis-6[disabled]:active,fieldset[disabled] .btn-metis-6:active,.btn-metis-6.disabled.active,.btn-metis-6[disabled].active,fieldset[disabled] .btn-metis-6.active{background-color:#00b4f5;border-color:#008dc5}.btn-circle{width:40px;height:40px;padding:8px 10px;border-radius:500px}.btn-circle.btn-lg{width:60px;height:60px;padding:14px 16px}.btn-circle.btn-sm{width:30px;height:30px;padding:5px 10px}.btn-circle.btn-xs{width:20px;height:20px;padding:0 5px}.btn-rect{border-radius:0!important}.btn-round.btn{border-radius:28px}.btn-round.btn-xs{border-radius:28px}.btn-round.btn-sm{border-radius:28px}.btn-round.btn-lg{border-radius:28px}.btn-line.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-line.btn-default:hover,.btn-line.btn-default:focus,.btn-line.btn-default:active,.btn-line.btn-default.active{color:#fff;background-color:#262626;border-color:#b3b3b3}.btn-line.btn-default.disabled,.btn-line.btn-default[disabled],fieldset[disabled] .btn-line.btn-default,.btn-line.btn-default.disabled:hover,.btn-line.btn-default[disabled]:hover,fieldset[disabled] .btn-line.btn-default:hover,.btn-line.btn-default.disabled:focus,.btn-line.btn-default[disabled]:focus,fieldset[disabled] .btn-line.btn-default:focus,.btn-line.btn-default.disabled:active,.btn-line.btn-default[disabled]:active,fieldset[disabled] .btn-line.btn-default:active,.btn-line.btn-default.disabled.active,.btn-line.btn-default[disabled].active,fieldset[disabled] .btn-line.btn-default.active{background-color:#fff;border-color:#ccc}.btn-line.btn-primary{color:#428bca;background-color:#fff;border-color:#357ebd}.btn-line.btn-primary:hover,.btn-line.btn-primary:focus,.btn-line.btn-primary:active,.btn-line.btn-primary.active{color:#fff;background-color:#357ebd;border-color:#2a6496}.btn-line.btn-primary.disabled,.btn-line.btn-primary[disabled],fieldset[disabled] .btn-line.btn-primary,.btn-line.btn-primary.disabled:hover,.btn-line.btn-primary[disabled]:hover,fieldset[disabled] .btn-line.btn-primary:hover,.btn-line.btn-primary.disabled:focus,.btn-line.btn-primary[disabled]:focus,fieldset[disabled] .btn-line.btn-primary:focus,.btn-line.btn-primary.disabled:active,.btn-line.btn-primary[disabled]:active,fieldset[disabled] .btn-line.btn-primary:active,.btn-line.btn-primary.disabled.active,.btn-line.btn-primary[disabled].active,fieldset[disabled] .btn-line.btn-primary.active{background-color:#fff;border-color:#357ebd}.btn-line.btn-warning{color:#f0ad4e;background-color:#fff;border-color:#eea236}.btn-line.btn-warning:hover,.btn-line.btn-warning:focus,.btn-line.btn-warning:active,.btn-line.btn-warning.active{color:#fff;background-color:#eea236;border-color:#df8a13}.btn-line.btn-warning.disabled,.btn-line.btn-warning[disabled],fieldset[disabled] .btn-line.btn-warning,.btn-line.btn-warning.disabled:hover,.btn-line.btn-warning[disabled]:hover,fieldset[disabled] .btn-line.btn-warning:hover,.btn-line.btn-warning.disabled:focus,.btn-line.btn-warning[disabled]:focus,fieldset[disabled] .btn-line.btn-warning:focus,.btn-line.btn-warning.disabled:active,.btn-line.btn-warning[disabled]:active,fieldset[disabled] .btn-line.btn-warning:active,.btn-line.btn-warning.disabled.active,.btn-line.btn-warning[disabled].active,fieldset[disabled] .btn-line.btn-warning.active{background-color:#fff;border-color:#eea236}.btn-line.btn-danger{color:#d9534f;background-color:#fff;border-color:#d43f3a}.btn-line.btn-danger:hover,.btn-line.btn-danger:focus,.btn-line.btn-danger:active,.btn-line.btn-danger.active{color:#fff;background-color:#d43f3a;border-color:#b52b27}.btn-line.btn-danger.disabled,.btn-line.btn-danger[disabled],fieldset[disabled] .btn-line.btn-danger,.btn-line.btn-danger.disabled:hover,.btn-line.btn-danger[disabled]:hover,fieldset[disabled] .btn-line.btn-danger:hover,.btn-line.btn-danger.disabled:focus,.btn-line.btn-danger[disabled]:focus,fieldset[disabled] .btn-line.btn-danger:focus,.btn-line.btn-danger.disabled:active,.btn-line.btn-danger[disabled]:active,fieldset[disabled] .btn-line.btn-danger:active,.btn-line.btn-danger.disabled.active,.btn-line.btn-danger[disabled].active,fieldset[disabled] .btn-line.btn-danger.active{background-color:#fff;border-color:#d43f3a}.btn-line.btn-success{color:#5cb85c;background-color:#fff;border-color:#4cae4c}.btn-line.btn-success:hover,.btn-line.btn-success:focus,.btn-line.btn-success:active,.btn-line.btn-success.active{color:#fff;background-color:#4cae4c;border-color:#3d8b3d}.btn-line.btn-success.disabled,.btn-line.btn-success[disabled],fieldset[disabled] .btn-line.btn-success,.btn-line.btn-success.disabled:hover,.btn-line.btn-success[disabled]:hover,fieldset[disabled] .btn-line.btn-success:hover,.btn-line.btn-success.disabled:focus,.btn-line.btn-success[disabled]:focus,fieldset[disabled] .btn-line.btn-success:focus,.btn-line.btn-success.disabled:active,.btn-line.btn-success[disabled]:active,fieldset[disabled] .btn-line.btn-success:active,.btn-line.btn-success.disabled.active,.btn-line.btn-success[disabled].active,fieldset[disabled] .btn-line.btn-success.active{background-color:#fff;border-color:#4cae4c}.btn-line.btn-info{color:#5bc0de;background-color:#fff;border-color:#46b8da}.btn-line.btn-info:hover,.btn-line.btn-info:focus,.btn-line.btn-info:active,.btn-line.btn-info.active{color:#fff;background-color:#46b8da;border-color:#28a1c5}.btn-line.btn-info.disabled,.btn-line.btn-info[disabled],fieldset[disabled] .btn-line.btn-info,.btn-line.btn-info.disabled:hover,.btn-line.btn-info[disabled]:hover,fieldset[disabled] .btn-line.btn-info:hover,.btn-line.btn-info.disabled:focus,.btn-line.btn-info[disabled]:focus,fieldset[disabled] .btn-line.btn-info:focus,.btn-line.btn-info.disabled:active,.btn-line.btn-info[disabled]:active,fieldset[disabled] .btn-line.btn-info:active,.btn-line.btn-info.disabled.active,.btn-line.btn-info[disabled].active,fieldset[disabled] .btn-line.btn-info.active{background-color:#fff;border-color:#46b8da}.btn-line.btn-metis-1{color:#ee465a;background-color:#fff;border-color:#c11a39}.btn-line.btn-metis-1:hover,.btn-line.btn-metis-1:focus,.btn-line.btn-metis-1:active,.btn-line.btn-metis-1.active{color:#fff;background-color:#ec2f45;border-color:#94142c}.btn-line.btn-metis-1.disabled,.btn-line.btn-metis-1[disabled],fieldset[disabled] .btn-line.btn-metis-1,.btn-line.btn-metis-1.disabled:hover,.btn-line.btn-metis-1[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-1:hover,.btn-line.btn-metis-1.disabled:focus,.btn-line.btn-metis-1[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-1:focus,.btn-line.btn-metis-1.disabled:active,.btn-line.btn-metis-1[disabled]:active,fieldset[disabled] .btn-line.btn-metis-1:active,.btn-line.btn-metis-1.disabled.active,.btn-line.btn-metis-1[disabled].active,fieldset[disabled] .btn-line.btn-metis-1.active{background-color:#fff;border-color:#c11a39}.btn-line.btn-metis-2{color:#9fd256;background-color:#fff;border-color:#6fac34}.btn-line.btn-metis-2:hover,.btn-line.btn-metis-2:focus,.btn-line.btn-metis-2:active,.btn-line.btn-metis-2.active{color:#fff;background-color:#94cd42;border-color:#568528}.btn-line.btn-metis-2.disabled,.btn-line.btn-metis-2[disabled],fieldset[disabled] .btn-line.btn-metis-2,.btn-line.btn-metis-2.disabled:hover,.btn-line.btn-metis-2[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-2:hover,.btn-line.btn-metis-2.disabled:focus,.btn-line.btn-metis-2[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-2:focus,.btn-line.btn-metis-2.disabled:active,.btn-line.btn-metis-2[disabled]:active,fieldset[disabled] .btn-line.btn-metis-2:active,.btn-line.btn-metis-2.disabled.active,.btn-line.btn-metis-2[disabled].active,fieldset[disabled] .btn-line.btn-metis-2.active{background-color:#fff;border-color:#6fac34}.btn-line.btn-metis-3{color:#fbb450;background-color:#fff;border-color:#f89406}.btn-line.btn-metis-3:hover,.btn-line.btn-metis-3:focus,.btn-line.btn-metis-3:active,.btn-line.btn-metis-3.active{color:#fff;background-color:#faa937;border-color:#c67605}.btn-line.btn-metis-3.disabled,.btn-line.btn-metis-3[disabled],fieldset[disabled] .btn-line.btn-metis-3,.btn-line.btn-metis-3.disabled:hover,.btn-line.btn-metis-3[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-3:hover,.btn-line.btn-metis-3.disabled:focus,.btn-line.btn-metis-3[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-3:focus,.btn-line.btn-metis-3.disabled:active,.btn-line.btn-metis-3[disabled]:active,fieldset[disabled] .btn-line.btn-metis-3:active,.btn-line.btn-metis-3.disabled.active,.btn-line.btn-metis-3[disabled].active,fieldset[disabled] .btn-line.btn-metis-3.active{background-color:#fff;border-color:#f89406}.btn-line.btn-metis-4{color:#a264e7;background-color:#fff;border-color:#62309a}.btn-line.btn-metis-4:hover,.btn-line.btn-metis-4:focus,.btn-line.btn-metis-4:active,.btn-line.btn-metis-4.active{color:#fff;background-color:#954ee4;border-color:#492473}.btn-line.btn-metis-4.disabled,.btn-line.btn-metis-4[disabled],fieldset[disabled] .btn-line.btn-metis-4,.btn-line.btn-metis-4.disabled:hover,.btn-line.btn-metis-4[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-4:hover,.btn-line.btn-metis-4.disabled:focus,.btn-line.btn-metis-4[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-4:focus,.btn-line.btn-metis-4.disabled:active,.btn-line.btn-metis-4[disabled]:active,fieldset[disabled] .btn-line.btn-metis-4:active,.btn-line.btn-metis-4.disabled.active,.btn-line.btn-metis-4[disabled].active,fieldset[disabled] .btn-line.btn-metis-4.active{background-color:#fff;border-color:#62309a}.btn-line.btn-metis-5{color:#777;background-color:#fff;border-color:#555}.btn-line.btn-metis-5:hover,.btn-line.btn-metis-5:focus,.btn-line.btn-metis-5:active,.btn-line.btn-metis-5.active{color:#fff;background-color:#6a6a6a;border-color:#3b3b3b}.btn-line.btn-metis-5.disabled,.btn-line.btn-metis-5[disabled],fieldset[disabled] .btn-line.btn-metis-5,.btn-line.btn-metis-5.disabled:hover,.btn-line.btn-metis-5[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-5:hover,.btn-line.btn-metis-5.disabled:focus,.btn-line.btn-metis-5[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-5:focus,.btn-line.btn-metis-5.disabled:active,.btn-line.btn-metis-5[disabled]:active,fieldset[disabled] .btn-line.btn-metis-5:active,.btn-line.btn-metis-5.disabled.active,.btn-line.btn-metis-5[disabled].active,fieldset[disabled] .btn-line.btn-metis-5.active{background-color:#fff;border-color:#555}.btn-line.btn-metis-6{color:#00b4f5;background-color:#fff;border-color:#008dc5}.btn-line.btn-metis-6:hover,.btn-line.btn-metis-6:focus,.btn-line.btn-metis-6:active,.btn-line.btn-metis-6.active{color:#fff;background-color:#00a1dc;border-color:#006892}.btn-line.btn-metis-6.disabled,.btn-line.btn-metis-6[disabled],fieldset[disabled] .btn-line.btn-metis-6,.btn-line.btn-metis-6.disabled:hover,.btn-line.btn-metis-6[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-6:hover,.btn-line.btn-metis-6.disabled:focus,.btn-line.btn-metis-6[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-6:focus,.btn-line.btn-metis-6.disabled:active,.btn-line.btn-metis-6[disabled]:active,fieldset[disabled] .btn-line.btn-metis-6:active,.btn-line.btn-metis-6.disabled.active,.btn-line.btn-metis-6[disabled].active,fieldset[disabled] .btn-line.btn-metis-6.active{background-color:#fff;border-color:#008dc5}.btn-grad.btn-default{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#fff,#b3b3b3);background-image:linear-gradient(to bottom,#fff,#b3b3b3);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-default:hover,.btn-grad.btn-default:focus,.btn-grad.btn-default:active,.btn-grad.btn-default.active{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)}.btn-grad.btn-default.disabled,.btn-grad.btn-default[disabled],fieldset[disabled] .btn-grad.btn-default,.btn-grad.btn-default.disabled:hover,.btn-grad.btn-default[disabled]:hover,fieldset[disabled] .btn-grad.btn-default:hover,.btn-grad.btn-default.disabled:focus,.btn-grad.btn-default[disabled]:focus,fieldset[disabled] .btn-grad.btn-default:focus,.btn-grad.btn-default.disabled:active,.btn-grad.btn-default[disabled]:active,fieldset[disabled] .btn-grad.btn-default:active,.btn-grad.btn-default.disabled.active,.btn-grad.btn-default[disabled].active,fieldset[disabled] .btn-grad.btn-default.active{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)}.btn-grad.btn-primary{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#428bca,#2a6496);background-image:linear-gradient(to bottom,#428bca,#2a6496);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-primary:hover,.btn-grad.btn-primary:focus,.btn-grad.btn-primary:active,.btn-grad.btn-primary.active{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)}.btn-grad.btn-primary.disabled,.btn-grad.btn-primary[disabled],fieldset[disabled] .btn-grad.btn-primary,.btn-grad.btn-primary.disabled:hover,.btn-grad.btn-primary[disabled]:hover,fieldset[disabled] .btn-grad.btn-primary:hover,.btn-grad.btn-primary.disabled:focus,.btn-grad.btn-primary[disabled]:focus,fieldset[disabled] .btn-grad.btn-primary:focus,.btn-grad.btn-primary.disabled:active,.btn-grad.btn-primary[disabled]:active,fieldset[disabled] .btn-grad.btn-primary:active,.btn-grad.btn-primary.disabled.active,.btn-grad.btn-primary[disabled].active,fieldset[disabled] .btn-grad.btn-primary.active{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)}.btn-grad.btn-warning{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#f0ad4e,#df8a13);background-image:linear-gradient(to bottom,#f0ad4e,#df8a13);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-warning:hover,.btn-grad.btn-warning:focus,.btn-grad.btn-warning:active,.btn-grad.btn-warning.active{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)}.btn-grad.btn-warning.disabled,.btn-grad.btn-warning[disabled],fieldset[disabled] .btn-grad.btn-warning,.btn-grad.btn-warning.disabled:hover,.btn-grad.btn-warning[disabled]:hover,fieldset[disabled] .btn-grad.btn-warning:hover,.btn-grad.btn-warning.disabled:focus,.btn-grad.btn-warning[disabled]:focus,fieldset[disabled] .btn-grad.btn-warning:focus,.btn-grad.btn-warning.disabled:active,.btn-grad.btn-warning[disabled]:active,fieldset[disabled] .btn-grad.btn-warning:active,.btn-grad.btn-warning.disabled.active,.btn-grad.btn-warning[disabled].active,fieldset[disabled] .btn-grad.btn-warning.active{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)}.btn-grad.btn-danger{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#d9534f,#b52b27);background-image:linear-gradient(to bottom,#d9534f,#b52b27);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-danger:hover,.btn-grad.btn-danger:focus,.btn-grad.btn-danger:active,.btn-grad.btn-danger.active{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)}.btn-grad.btn-danger.disabled,.btn-grad.btn-danger[disabled],fieldset[disabled] .btn-grad.btn-danger,.btn-grad.btn-danger.disabled:hover,.btn-grad.btn-danger[disabled]:hover,fieldset[disabled] .btn-grad.btn-danger:hover,.btn-grad.btn-danger.disabled:focus,.btn-grad.btn-danger[disabled]:focus,fieldset[disabled] .btn-grad.btn-danger:focus,.btn-grad.btn-danger.disabled:active,.btn-grad.btn-danger[disabled]:active,fieldset[disabled] .btn-grad.btn-danger:active,.btn-grad.btn-danger.disabled.active,.btn-grad.btn-danger[disabled].active,fieldset[disabled] .btn-grad.btn-danger.active{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)}.btn-grad.btn-success{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#5cb85c,#3d8b3d);background-image:linear-gradient(to bottom,#5cb85c,#3d8b3d);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-success:hover,.btn-grad.btn-success:focus,.btn-grad.btn-success:active,.btn-grad.btn-success.active{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)}.btn-grad.btn-success.disabled,.btn-grad.btn-success[disabled],fieldset[disabled] .btn-grad.btn-success,.btn-grad.btn-success.disabled:hover,.btn-grad.btn-success[disabled]:hover,fieldset[disabled] .btn-grad.btn-success:hover,.btn-grad.btn-success.disabled:focus,.btn-grad.btn-success[disabled]:focus,fieldset[disabled] .btn-grad.btn-success:focus,.btn-grad.btn-success.disabled:active,.btn-grad.btn-success[disabled]:active,fieldset[disabled] .btn-grad.btn-success:active,.btn-grad.btn-success.disabled.active,.btn-grad.btn-success[disabled].active,fieldset[disabled] .btn-grad.btn-success.active{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)}.btn-grad.btn-info{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#5bc0de,#28a1c5);background-image:linear-gradient(to bottom,#5bc0de,#28a1c5);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-info:hover,.btn-grad.btn-info:focus,.btn-grad.btn-info:active,.btn-grad.btn-info.active{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)}.btn-grad.btn-info.disabled,.btn-grad.btn-info[disabled],fieldset[disabled] .btn-grad.btn-info,.btn-grad.btn-info.disabled:hover,.btn-grad.btn-info[disabled]:hover,fieldset[disabled] .btn-grad.btn-info:hover,.btn-grad.btn-info.disabled:focus,.btn-grad.btn-info[disabled]:focus,fieldset[disabled] .btn-grad.btn-info:focus,.btn-grad.btn-info.disabled:active,.btn-grad.btn-info[disabled]:active,fieldset[disabled] .btn-grad.btn-info:active,.btn-grad.btn-info.disabled.active,.btn-grad.btn-info[disabled].active,fieldset[disabled] .btn-grad.btn-info.active{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)}.btn-grad.btn-metis-1{text-shadow:0 -1px 0 gba(0,0,0,0.2);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)}.btn-grad.btn-metis-1:hover,.btn-grad.btn-metis-1:focus,.btn-grad.btn-metis-1:active,.btn-grad.btn-metis-1.active{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)}.btn-grad.btn-metis-1.disabled,.btn-grad.btn-metis-1[disabled],fieldset[disabled] .btn-grad.btn-metis-1,.btn-grad.btn-metis-1.disabled:hover,.btn-grad.btn-metis-1[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-1:hover,.btn-grad.btn-metis-1.disabled:focus,.btn-grad.btn-metis-1[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-1:focus,.btn-grad.btn-metis-1.disabled:active,.btn-grad.btn-metis-1[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-1:active,.btn-grad.btn-metis-1.disabled.active,.btn-grad.btn-metis-1[disabled].active,fieldset[disabled] .btn-grad.btn-metis-1.active{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)}.btn-grad.btn-metis-2{text-shadow:0 -1px 0 gba(0,0,0,0.2);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)}.btn-grad.btn-metis-2:hover,.btn-grad.btn-metis-2:focus,.btn-grad.btn-metis-2:active,.btn-grad.btn-metis-2.active{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)}.btn-grad.btn-metis-2.disabled,.btn-grad.btn-metis-2[disabled],fieldset[disabled] .btn-grad.btn-metis-2,.btn-grad.btn-metis-2.disabled:hover,.btn-grad.btn-metis-2[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-2:hover,.btn-grad.btn-metis-2.disabled:focus,.btn-grad.btn-metis-2[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-2:focus,.btn-grad.btn-metis-2.disabled:active,.btn-grad.btn-metis-2[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-2:active,.btn-grad.btn-metis-2.disabled.active,.btn-grad.btn-metis-2[disabled].active,fieldset[disabled] .btn-grad.btn-metis-2.active{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)}.btn-grad.btn-metis-3{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-metis-3:hover,.btn-grad.btn-metis-3:focus,.btn-grad.btn-metis-3:active,.btn-grad.btn-metis-3.active{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)}.btn-grad.btn-metis-3.disabled,.btn-grad.btn-metis-3[disabled],fieldset[disabled] .btn-grad.btn-metis-3,.btn-grad.btn-metis-3.disabled:hover,.btn-grad.btn-metis-3[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-3:hover,.btn-grad.btn-metis-3.disabled:focus,.btn-grad.btn-metis-3[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-3:focus,.btn-grad.btn-metis-3.disabled:active,.btn-grad.btn-metis-3[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-3:active,.btn-grad.btn-metis-3.disabled.active,.btn-grad.btn-metis-3[disabled].active,fieldset[disabled] .btn-grad.btn-metis-3.active{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)}.btn-grad.btn-metis-4{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#a264e7,#62309a);background-image:linear-gradient(to bottom,#a264e7,#62309a);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-metis-4:hover,.btn-grad.btn-metis-4:focus,.btn-grad.btn-metis-4:active,.btn-grad.btn-metis-4.active{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)}.btn-grad.btn-metis-4.disabled,.btn-grad.btn-metis-4[disabled],fieldset[disabled] .btn-grad.btn-metis-4,.btn-grad.btn-metis-4.disabled:hover,.btn-grad.btn-metis-4[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-4:hover,.btn-grad.btn-metis-4.disabled:focus,.btn-grad.btn-metis-4[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-4:focus,.btn-grad.btn-metis-4.disabled:active,.btn-grad.btn-metis-4[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-4:active,.btn-grad.btn-metis-4.disabled.active,.btn-grad.btn-metis-4[disabled].active,fieldset[disabled] .btn-grad.btn-metis-4.active{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)}.btn-grad.btn-metis-5{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#777,#555);background-image:linear-gradient(to bottom,#777,#555);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-metis-5:hover,.btn-grad.btn-metis-5:focus,.btn-grad.btn-metis-5:active,.btn-grad.btn-metis-5.active{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)}.btn-grad.btn-metis-5.disabled,.btn-grad.btn-metis-5[disabled],fieldset[disabled] .btn-grad.btn-metis-5,.btn-grad.btn-metis-5.disabled:hover,.btn-grad.btn-metis-5[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-5:hover,.btn-grad.btn-metis-5.disabled:focus,.btn-grad.btn-metis-5[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-5:focus,.btn-grad.btn-metis-5.disabled:active,.btn-grad.btn-metis-5[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-5:active,.btn-grad.btn-metis-5.disabled.active,.btn-grad.btn-metis-5[disabled].active,fieldset[disabled] .btn-grad.btn-metis-5.active{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)}.btn-grad.btn-metis-6{text-shadow:0 -1px 0 gba(0,0,0,0.2);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)}.btn-grad.btn-metis-6:hover,.btn-grad.btn-metis-6:focus,.btn-grad.btn-metis-6:active,.btn-grad.btn-metis-6.active{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)}.btn-grad.btn-metis-6.disabled,.btn-grad.btn-metis-6[disabled],fieldset[disabled] .btn-grad.btn-metis-6,.btn-grad.btn-metis-6.disabled:hover,.btn-grad.btn-metis-6[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-6:hover,.btn-grad.btn-metis-6.disabled:focus,.btn-grad.btn-metis-6[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-6:focus,.btn-grad.btn-metis-6.disabled:active,.btn-grad.btn-metis-6[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-6:active,.btn-grad.btn-metis-6.disabled.active,.btn-grad.btn-metis-6[disabled].active,fieldset[disabled] .btn-grad.btn-metis-6.active{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)}.btn-flat{border-width:0!important}.progress.lg{height:28px}.progress.md{height:12px}.progress.xs{height:6px}.inner hr{margin-top:10px;border-top-color:#ccc}.well.dark{padding-top:10px;margin-bottom:10px;color:#999;background-color:#202020;background-color:rgba(0,0,0,0.3);border:0;-webkit-box-shadow:rgba(255,255,255,0.1) 0 1px 0,rgba(0,0,0,0.8) 0 1px 7px 0 inset;-moz-box-shadow:rgba(255,255,255,0.1) 0 1px 0,rgba(0,0,0,0.8) 0 1px 7px 0 inset;-o-box-shadow:rgba(255,255,255,0.1) 0 1px 0,rgba(0,0,0,0.8) 0 1px 7px 0 inset;box-shadow:rgba(255,255,255,0.1) 0 1px 0,rgba(0,0,0,0.8) 0 1px 7px 0 inset}.well.dark .alert{margin-bottom:0}.tac{text-align:center}.stats_box{display:inline-block;margin-top:20px;margin-left:0;list-style:none outside none}.stats_box li{display:inline-block;padding:0 10px;margin:0 10px 10px;line-height:18px;text-shadow:0 1px 0 rgba(255,255,255,0.6);background:#eee;-webkit-box-shadow:0 0 0 1px #f8f8f8 inset,0 0 0 1px #ccc;box-shadow:0 0 0 1px #f8f8f8 inset,0 0 0 1px #ccc}.stats_box .sparkline{float:left;width:50px;padding:10px 14px 0 4px;margin-right:12px;line-height:52px;border-right:1px solid #dcdcdc;-webkit-box-shadow:1px 0 0 0 #fff;box-shadow:1px 0 0 0 #fff}.stats_box .stat_text{position:relative;float:left;width:150px;padding:9px 10px 7px 0;font-size:12px;text-align:left}.stats_box .stat_text strong{display:block;font-size:16px}.stats_box .stat_text .percent{position:absolute;top:17px;right:0;float:right;font-size:20px;font-weight:bold;color:#444}.stats_box .stat_text .percent.up{color:#46a546}.stats_box .stat_text .percent.down{color:#c52f61}.quick-btn{position:relative;display:inline-block;width:90px;height:80px;padding-top:16px;margin:10px;color:#444;text-align:center;text-decoration:none;text-shadow:0 1px 0 rgba(255,255,255,0.6);background:#eee;-webkit-box-shadow:0 0 0 1px #f8f8f8 inset,0 0 0 1px #ccc;box-shadow:0 0 0 1px #f8f8f8 inset,0 0 0 1px #ccc}.quick-btn span{display:block}.quick-btn .label{position:absolute;top:-5px;right:-5px}.quick-btn:hover{color:#fff;text-decoration:none;text-shadow:0 1px 1px #000;background-color:#4d7589}.quick-btn.small{width:40px;height:30px;padding-top:6px}.simpleTable tr th:first-child,.simpleTable tr td:first-child{width:27px;text-align:center}.sortableTable th{cursor:pointer;background-image:-webkit-gradient(linear,left 0,left 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,0%,#f2f2f2,100%);background-image:-moz-linear-gradient(top,#fff 0,#f2f2f2 100%);background-image:linear-gradient(to bottom,#fff 0,#f2f2f2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0)}.sortableTable th i{display:none;float:right}.sortableTable th:hover{color:#888}.sortableTable th.tablesorter-header i.icon-sort{display:inline-block}.sortableTable th.tablesorter-header.tablesorter-headerDesc i.icon-sort{display:none}.sortableTable th.tablesorter-header.tablesorter-headerDesc i.icon-sort-up{display:inline-block}.sortableTable th.tablesorter-header.tablesorter-headerAsc i.icon-sort{display:none}.sortableTable th.tablesorter-header.tablesorter-headerAsc i.icon-sort-down{display:inline-block}@media only screen and (max-width:767px){.responsive-table{position:relative;display:block;width:100%}.responsive-table thead{display:block;float:left}.responsive-table thead tr{display:block}.responsive-table tbody{position:relative;display:block;width:auto;overflow-x:auto;white-space:nowrap}.responsive-table tbody tr{display:inline-block;vertical-align:top}.responsive-table th{display:block}.responsive-table td{display:block;min-height:1.25em}}.google-maps{width:100%;height:333px}.progress.vertical .bar.six-sec-ease-in-out{-webkit-transition:height 6s ease-in-out;-moz-transition:height 6s ease-in-out;-ms-transition:height 6s ease-in-out;-o-transition:height 6s ease-in-out;transition:height 6s ease-in-out}.progress.wide{width:60px}.vertical-progressbar-span{height:100px}.nav.nav-tabs{margin-bottom:0;border:medium none}.tab-content{padding:20px;margin:0;border:1px solid #ddd;border-radius:5px 5px 5px 5px}.comments .popover{position:relative;display:block;width:90%;margin:0 10px}.comments .popover .arrow{top:33%}
\ No newline at end of file
+#wrap{margin:0 auto}#footer{height:48px}@media(min-width:768px){html,body{height:100%}#wrap{height:auto!important;height:100%;min-height:100%;padding:0 0 48px;margin-bottom:-48px}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{border-radius:1em}::-webkit-scrollbar-thumb:hover{background-color:#999}::-webkit-scrollbar-track{background:transparent;border-radius:1em}::-webkit-scrollbar-track:hover{background:rgba(110,110,110,0.25)}body.padTop53{padding-top:95px;overflow:visible}@media(min-width:802px){body.padTop53{padding-top:54px}}#wrap:before,#top:before,.head:before,#footer:before,#wrap:after,#top:after,.head:after,#footer:after{display:table;content:" "}#wrap:after,#top:after,.head:after,#footer:after{clear:both}#wrap{background-color:#333}#right{display:none}@media(min-width:768px){#left{position:relative;float:left;width:100px}#left #menu.affix{position:fixed;top:0;width:100px;overflow-x:hidden;overflow-y:hidden;-webkit-overflow-scrolling:touch}#left #menu.affix:hover{overflow-y:scroll}#left #menu.affix>li:last-child>a:last-child{border-bottom:1px solid rgba(0,0,0,0.3);box-shadow:0 1px 0 rgba(255,255,255,0.05),0 1px 0 rgba(255,255,255,0.05) inset}body.padTop53 #left #menu.affix{top:53px}.side-right #left{float:right}#content{margin-left:100px}.side-right #content{margin-right:100px;margin-left:0}#left{margin-bottom:-10px}}@media(min-width:992px){#left{width:220px}#left #menu.affix{width:220px}.mini-sidebar #left{width:100px}.mini-sidebar #left #menu.affix{width:100px}#content{margin-left:220px}.side-right #content{margin-right:220px}.mini-sidebar #content{margin-left:100px}.mini-sidebar.side-right #content{margin-right:100px;margin-left:0}}@media(min-width:768px){.hide-sidebar #left,.hide-sidebar #right{display:none}.hide-sidebar #content{width:100%!important;margin:0!important}}@media(min-width:1200px){body.fixed #wrap,body.fixed #footer,body.fixed #top .navbar.navbar-fixed-top{max-width:1170px;margin-right:auto;margin-left:auto}}#top .navbar{margin-bottom:0;border-top:3px solid #cd0067}#top .navbar-brand{padding:0}#top .topnav{margin:10px 15px 10px auto}@media(min-width:768px){#top .topnav{float:right}}.head{text-shadow:0 1px 0 rgba(0,0,0,0.5);background:#404040;border-bottom:1px solid rgba(0,0,0,0.3);box-shadow:0 1px 0 rgba(255,255,255,0.05) inset}.head .search-bar{padding:10px 15px;margin:0 auto;border-bottom:1px solid rgba(0,0,0,0.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.05);box-shadow:0 1px 0 rgba(255,255,255,0.05)}.head .search-bar .main-search{margin-right:40px;border-bottom:1px solid #7c7c7c}.head .search-bar .main-search input[type="text"]{color:#ccc;background-color:transparent;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.head .search-bar .main-search button,.head .search-bar .main-search input[type=submit]{background:transparent;border:transparent}@media(min-width:768px){.head .search-bar{border-right:1px solid rgba(0,0,0,0.3);border-bottom-width:0;-webkit-box-shadow:-1px 0 0 rgba(255,255,255,0.05) inset;box-shadow:-1px 0 0 rgba(255,255,255,0.05) inset}.side-right .head .search-bar{border-left:1px solid rgba(0,0,0,0.3);border-right-width:0;-webkit-box-shadow:1px 0 0 rgba(255,255,255,0.05) inset;box-shadow:1px 0 0 rgba(255,255,255,0.05) inset}}.head .main-bar{padding:10px}.head .main-bar h3{margin-top:0;margin-bottom:0;color:#bababa}@media(min-width:768px){.head .main-bar h3{margin-top:5px}}@media(min-width:768px){.head .search-bar .main-search{margin-right:auto}}#menu-toggle{float:right;margin-left:15px}@media(min-width:768px){.search-bar{float:left;width:100px;padding:10px 4px}.side-right .search-bar{float:right}.search-bar .input-group-btn{display:none}.search-bar .input-small.form-control{border-radius:3px}.main-bar{margin-left:100px}.side-right .main-bar{margin-right:100px;margin-left:0}}@media(min-width:992px){.search-bar{width:220px;padding:10px 15px}.search-bar .input-group-btn{display:table-cell}.search-bar .input-small.form-control{border-radius:3px 0 0 3px}.mini-sidebar .search-bar{width:100px;padding:10px 4px}.mini-sidebar .search-bar .input-group-btn{display:none}.mini-sidebar .search-bar .input-small.form-control{border-radius:3px}.main-bar{margin-left:220px}.side-right .main-bar{margin-right:220px}.mini-sidebar .main-bar{margin-left:100px}.side-right.mini-sidebar .main-bar{margin-left:0}}.user-media{display:none;background-color:#444}@media(min-width:768px){.user-media{display:block}.user-media .media-body{display:none}.user-media .user-link{position:relative;display:block;margin-right:auto;margin-left:auto}.user-media .user-link .user-img{margin:10px auto}.user-media .user-link .user-label{position:absolute;top:-6px;right:6px}}@media(min-width:992px){.user-media .user-link{float:left}.user-media .user-link .user-img{margin:10px}.user-media .user-link .user-label{top:6px;right:0}.user-media .media-body{display:block;float:left;margin-left:12px}.user-media .media-body h5.media-heading{padding-top:8px;margin-bottom:3px;color:#fff}.user-media .media-body ul.user-info li{color:#ccc}}@media(min-width:768px){.mini-sidebar .media-body{display:none}.side-right .user-link .user-label{right:auto;left:6px}}#menu{position:relative;overflow:hidden;background-color:#333;border-bottom:1px solid rgba(0,0,0,0.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.05);box-shadow:0 1px 0 rgba(255,255,255,0.05)}#menu,#menu ul{padding:0;margin:0;list-style:none}@media(min-width:768px){#menu.collapse{display:inherit!important}}#menu>li{position:relative;display:block;margin:0;border-width:0;border-radius:0}#menu>li>a{position:relative;display:block;padding:10px 15px;color:#ccc;text-shadow:0 1px 0 rgba(0,0,0,0.5);border-top:1px solid rgba(0,0,0,0.3);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.05)}#menu>li>a:hover,#menu>li>a:focus{color:#fff;text-decoration:none;background-color:#404040;outline:0}#menu>li>a .label{float:right}#menu>li.active>a{color:#fff;background-color:#1a1a1a;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.3) inset;box-shadow:0 1px 3px rgba(0,0,0,0.3) inset}#menu>li.panel{background-color:transparent}#menu li>a{text-decoration:none}#menu ul{padding:5px 0 5px 15px;border-top:1px solid rgba(0,0,0,0.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.05) inset;box-shadow:0 1px 0 rgba(255,255,255,0.05) inset}#menu ul a{display:block;padding:2px 0;margin-left:15px;font-size:12px;color:#ccc}#menu .nav-header{padding:3px 15px;font-size:12px;font-weight:bold;color:#777;text-shadow:0 1px 0 rgba(0,0,0,0.5);text-transform:uppercase;background:#404040;border-top:1px solid rgba(0,0,0,0.3);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.05) inset;box-shadow:0 1px 0 rgba(255,255,255,0.05) inset}#menu .nav-divider{height:6px;margin:0;background:rgba(0,0,0,0.2);border-top:1px solid rgba(255,255,255,0.01);box-shadow:0 1px 3px rgba(0,0,0,0.3) inset}#menu>li.active>a{position:relative}#menu>li.panel.active ul>li.active>a:after{position:absolute;right:0;border-color:transparent #6e6e6e transparent transparent;border-style:solid;border-width:10px;content:""}.side-right #menu>li>a>.label{right:auto;left:3px}@media(min-width:768px){.mini-sidebar #menu>li>a,#menu>li>a{text-align:center}.mini-sidebar #menu>li>a>i,#menu>li>a>i{display:block;font-size:20px}.mini-sidebar #menu>li>a .label,#menu>li>a .label{position:absolute;top:3px;right:3px}.mini-sidebar.side-right #menu>li>a .label,.side-right #menu>li>a .label{right:auto}#menu:after,.mini-sidebar #menu:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:0;background:#333;content:" ";-webkit-box-shadow:97px 1px 5px 2px rgba(0,0,0,0.6);box-shadow:97px 1px 5px 2px rgba(0,0,0,0.6)}.side-right #menu:after,.side-right.mini-sidebar #menu:after{-webkit-box-shadow:3px 1px 5px 2px rgba(0,0,0,0.6);box-shadow:3px 1px 5px 2px rgba(0,0,0,0.6)}}@media(min-width:992px){#menu>li>a{text-align:left}#menu>li>a>i{display:inline;font-size:14px}#menu>li>a>.label{position:relative}#menu:after{-webkit-box-shadow:217px 1px 5px 2px rgba(0,0,0,0.6);box-shadow:217px 1px 5px 2px rgba(0,0,0,0.6)}.mini-sidebar #menu:after{-webkit-box-shadow:97px 1px 5px 2px rgba(0,0,0,0.6);box-shadow:97px 1px 5px 2px rgba(0,0,0,0.6)}}#content{-webkit-transition:margin .4s;transition:margin .4s}.outer{padding:10px;background-color:#6e6e6e}.outer:before,.outer:after{display:table;content:" "}.outer:after{clear:both}.inner{position:relative;min-height:1px;padding-right:10px;padding-left:10px;background:#fff;border:10px solid #e4e4e4}@media(min-width:768px){.inner{float:left;width:100%}}.inner .row{margin-right:-15px;margin-left:-15px}#footer{margin:0 auto;color:#f9f9f9;background:url("../img/pattern/px_by_Gre3g.png") repeat #444;border-top:1px solid #222;-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,0.05);box-shadow:0 -1px 0 0 rgba(0,0,0,0.05)}#footer p{padding:12px 0 0;text-align:center}.box{position:relative;display:block;margin:10px auto;border:1px solid #efefef}.box header{background-image:-webkit-gradient(linear,left 0,left 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,0%,#f2f2f2,100%);background-image:-moz-linear-gradient(top,#fff 0,#f2f2f2 100%);background-image:linear-gradient(to bottom,#fff 0,#f2f2f2 100%);background-repeat:repeat-x;border-bottom:1px solid #d4d4d4;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.box header:before,.box header:after{display:table;content:" "}.box header:after{clear:both}.box header .icons,.box header h5,.box header .toolbar{position:relative;display:block;float:left;min-height:1px;padding:0;margin:0}.box header .icons{padding:10px 15px;border-right:1px solid #ddd;-webkit-box-shadow:1px 0 0 #fff;box-shadow:1px 0 0 #fff}.box header h5{padding:12px;font-weight:bold}.box.inverse header{color:#f5f5f5;background-image:-webkit-gradient(linear,left 0,left 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,0%,#222,100%);background-image:-moz-linear-gradient(top,#333 0,#222 100%);background-image:linear-gradient(to bottom,#333 0,#222 100%);background-repeat:repeat-x;border-bottom:1px solid #4d4d4d;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff333333',endColorstr='#ff222222',GradientType=0)}.box.inverse header .icons{border-right:1px solid #222;-webkit-box-shadow:1px 0 0 #3c3c3c;box-shadow:1px 0 0 #3c3c3c}.box.primary header{color:#fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#428bca),to(#3071a9));background-image:-webkit-linear-gradient(top,#428bca,0%,#3071a9,100%);background-image:-moz-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;border-bottom:1px solid #428bca;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca',endColorstr='#ff3071a9',GradientType=0)}.box.primary header .icons{border-right:1px solid #245682;-webkit-box-shadow:1px 0 0 #6aa3d5;box-shadow:1px 0 0 #6aa3d5}.box.success header{color:#fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#5cb85c),to(#449d44));background-image:-webkit-linear-gradient(top,#5cb85c,0%,#449d44,100%);background-image:-moz-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;border-bottom:1px solid #5cb85c;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff449d44',GradientType=0)}.box.success header .icons{border-right:1px solid #357935;-webkit-box-shadow:1px 0 0 #80c780;box-shadow:1px 0 0 #80c780}.box.warning header{color:#fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#f0ad4e),to(#ec971f));background-image:-webkit-linear-gradient(top,#f0ad4e,0%,#ec971f,100%);background-image:-moz-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;border-bottom:1px solid #f0ad4e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.box.warning header .icons{border-right:1px solid #c77c11;-webkit-box-shadow:1px 0 0 #f4c37d;box-shadow:1px 0 0 #f4c37d}.box.danger header{color:#fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#d9534f),to(#c9302c));background-image:-webkit-linear-gradient(top,#d9534f,0%,#c9302c,100%);background-image:-moz-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;border-bottom:1px solid #d9534f;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.box.danger header .icons{border-right:1px solid #a02622;-webkit-box-shadow:1px 0 0 #e27c79;box-shadow:1px 0 0 #e27c79}.box.info header{color:#fff;background-image:-webkit-gradient(linear,left 0,left 100%,from(#5bc0de),to(#31b0d5));background-image:-webkit-linear-gradient(top,#5bc0de,0%,#31b0d5,100%);background-image:-moz-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;border-bottom:1px solid #5bc0de;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.box.info header .icons{border-right:1px solid #2390b0;-webkit-box-shadow:1px 0 0 #85d0e7;box-shadow:1px 0 0 #85d0e7}.box:not(.dark) header .toolbar .nav>li>a{color:#fff}.box header .toolbar{display:inline-table;float:right}.box header .toolbar .btn-toolbar{margin:6px 3px}.box header .toolbar .label,.box header .toolbar .badge{display:inline-block;margin:10px}.box header .toolbar .nav{margin:1px 1px 0 0}.box header .toolbar .nav>li{display:inline-block}.box header .toolbar .nav>li>a{padding-top:9px}.box header .toolbar .nav>li>a:hover,.box header .toolbar .nav>li>a:focus{color:#222}.box header .toolbar>.btn{margin-right:4px}.box header .toolbar>.btn-sm,.box header .toolbar>.btn-group{margin:4px}.box header .toolbar>.btn-xs{margin:6px}.box header .toolbar .input-sm{margin:4px -4px}.box header .toolbar .progress{min-width:120px;margin:10px 4px}.box header .toolbar .progress.middle{height:12px;margin:13px 4px}.box header .toolbar .progress.mini{height:6px;margin:16px 4px}.box.danger .dropdown-menu>li>a:hover,.box.danger .dropdown-menu>li>a:focus{background-image:-webkit-gradient(linear,left 0,left 100%,from(#d9534f),to(#c9302c));background-image:-webkit-linear-gradient(top,#d9534f,0%,#c9302c,100%);background-image:-moz-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f',endColorstr='#ffc9302c',GradientType=0)}.box.info .dropdown-menu>li>a:hover,.box.info .dropdown-menu>li>a:focus{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5bc0de),to(#31b0d5));background-image:-webkit-linear-gradient(top,#5bc0de,0%,#31b0d5,100%);background-image:-moz-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff31b0d5',GradientType=0)}.box.success .dropdown-menu>li>a:hover,.box.success .dropdown-menu>li>a:focus{background-image:-webkit-gradient(linear,left 0,left 100%,from(#5cb85c),to(#449d44));background-image:-webkit-linear-gradient(top,#5cb85c,0%,#449d44,100%);background-image:-moz-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c',endColorstr='#ff449d44',GradientType=0)}.box.warning .dropdown-menu>li>a:hover,.box.warning .dropdown-menu>li>a:focus{background-image:-webkit-gradient(linear,left 0,left 100%,from(#f0ad4e),to(#ec971f));background-image:-webkit-linear-gradient(top,#f0ad4e,0%,#ec971f,100%);background-image:-moz-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e',endColorstr='#ffec971f',GradientType=0)}.box.inverse .dropdown-menu>li>a:hover,.box.inverse .dropdown-menu>li>a:focus{background-image:-webkit-gradient(linear,left 0,left 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,0%,#222,100%);background-image:-moz-linear-gradient(top,#333 0,#222 100%);background-image:linear-gradient(to bottom,#333 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff333333',endColorstr='#ff222222',GradientType=0)}.box .body{padding:10px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.box .body hr{margin-right:-10px;margin-left:-10px}.body.collapse:not(.in){padding:0}.box>.block{padding:0}.row.ui-sortable .box header{cursor:move}.btn-metis-1{color:#fff;background-color:#ee465a;border-color:#c11a39}.btn-metis-1:hover,.btn-metis-1:focus,.btn-metis-1:active,.btn-metis-1.active,.open .dropdown-toggle.btn-metis-1{color:#fff;background-color:#eb2139;border-color:#8b1329}.btn-metis-1:active,.btn-metis-1.active,.open .dropdown-toggle.btn-metis-1{background-image:none}.btn-metis-1.disabled,.btn-metis-1[disabled],fieldset[disabled] .btn-metis-1,.btn-metis-1.disabled:hover,.btn-metis-1[disabled]:hover,fieldset[disabled] .btn-metis-1:hover,.btn-metis-1.disabled:focus,.btn-metis-1[disabled]:focus,fieldset[disabled] .btn-metis-1:focus,.btn-metis-1.disabled:active,.btn-metis-1[disabled]:active,fieldset[disabled] .btn-metis-1:active,.btn-metis-1.disabled.active,.btn-metis-1[disabled].active,fieldset[disabled] .btn-metis-1.active{background-color:#ee465a;border-color:#c11a39}.btn-metis-2{color:#fff;background-color:#9fd256;border-color:#6fac34}.btn-metis-2:hover,.btn-metis-2:focus,.btn-metis-2:active,.btn-metis-2.active,.open .dropdown-toggle.btn-metis-2{color:#fff;background-color:#8dc936;border-color:#517d26}.btn-metis-2:active,.btn-metis-2.active,.open .dropdown-toggle.btn-metis-2{background-image:none}.btn-metis-2.disabled,.btn-metis-2[disabled],fieldset[disabled] .btn-metis-2,.btn-metis-2.disabled:hover,.btn-metis-2[disabled]:hover,fieldset[disabled] .btn-metis-2:hover,.btn-metis-2.disabled:focus,.btn-metis-2[disabled]:focus,fieldset[disabled] .btn-metis-2:focus,.btn-metis-2.disabled:active,.btn-metis-2[disabled]:active,fieldset[disabled] .btn-metis-2:active,.btn-metis-2.disabled.active,.btn-metis-2[disabled].active,fieldset[disabled] .btn-metis-2.active{background-color:#9fd256;border-color:#6fac34}.btn-metis-3{color:#fff;background-color:#fbb450;border-color:#f89406}.btn-metis-3:hover,.btn-metis-3:focus,.btn-metis-3:active,.btn-metis-3.active,.open .dropdown-toggle.btn-metis-3{color:#fff;background-color:#faa328;border-color:#bc7005}.btn-metis-3:active,.btn-metis-3.active,.open .dropdown-toggle.btn-metis-3{background-image:none}.btn-metis-3.disabled,.btn-metis-3[disabled],fieldset[disabled] .btn-metis-3,.btn-metis-3.disabled:hover,.btn-metis-3[disabled]:hover,fieldset[disabled] .btn-metis-3:hover,.btn-metis-3.disabled:focus,.btn-metis-3[disabled]:focus,fieldset[disabled] .btn-metis-3:focus,.btn-metis-3.disabled:active,.btn-metis-3[disabled]:active,fieldset[disabled] .btn-metis-3:active,.btn-metis-3.disabled.active,.btn-metis-3[disabled].active,fieldset[disabled] .btn-metis-3.active{background-color:#fbb450;border-color:#f89406}.btn-metis-4{color:#fff;background-color:#a264e7;border-color:#62309a}.btn-metis-4:hover,.btn-metis-4:focus,.btn-metis-4:active,.btn-metis-4.active,.open .dropdown-toggle.btn-metis-4{color:#fff;background-color:#8d41e2;border-color:#44216b}.btn-metis-4:active,.btn-metis-4.active,.open .dropdown-toggle.btn-metis-4{background-image:none}.btn-metis-4.disabled,.btn-metis-4[disabled],fieldset[disabled] .btn-metis-4,.btn-metis-4.disabled:hover,.btn-metis-4[disabled]:hover,fieldset[disabled] .btn-metis-4:hover,.btn-metis-4.disabled:focus,.btn-metis-4[disabled]:focus,fieldset[disabled] .btn-metis-4:focus,.btn-metis-4.disabled:active,.btn-metis-4[disabled]:active,fieldset[disabled] .btn-metis-4:active,.btn-metis-4.disabled.active,.btn-metis-4[disabled].active,fieldset[disabled] .btn-metis-4.active{background-color:#a264e7;border-color:#62309a}.btn-metis-5{color:#fff;background-color:#777;border-color:#555}.btn-metis-5:hover,.btn-metis-5:focus,.btn-metis-5:active,.btn-metis-5.active,.open .dropdown-toggle.btn-metis-5{color:#fff;background-color:#636363;border-color:#363636}.btn-metis-5:active,.btn-metis-5.active,.open .dropdown-toggle.btn-metis-5{background-image:none}.btn-metis-5.disabled,.btn-metis-5[disabled],fieldset[disabled] .btn-metis-5,.btn-metis-5.disabled:hover,.btn-metis-5[disabled]:hover,fieldset[disabled] .btn-metis-5:hover,.btn-metis-5.disabled:focus,.btn-metis-5[disabled]:focus,fieldset[disabled] .btn-metis-5:focus,.btn-metis-5.disabled:active,.btn-metis-5[disabled]:active,fieldset[disabled] .btn-metis-5:active,.btn-metis-5.disabled.active,.btn-metis-5[disabled].active,fieldset[disabled] .btn-metis-5.active{background-color:#777;border-color:#555}.btn-metis-6{color:#fff;background-color:#00b4f5;border-color:#008dc5}.btn-metis-6:hover,.btn-metis-6:focus,.btn-metis-6:active,.btn-metis-6.active,.open .dropdown-toggle.btn-metis-6{color:#fff;background-color:#0096cc;border-color:#006188}.btn-metis-6:active,.btn-metis-6.active,.open .dropdown-toggle.btn-metis-6{background-image:none}.btn-metis-6.disabled,.btn-metis-6[disabled],fieldset[disabled] .btn-metis-6,.btn-metis-6.disabled:hover,.btn-metis-6[disabled]:hover,fieldset[disabled] .btn-metis-6:hover,.btn-metis-6.disabled:focus,.btn-metis-6[disabled]:focus,fieldset[disabled] .btn-metis-6:focus,.btn-metis-6.disabled:active,.btn-metis-6[disabled]:active,fieldset[disabled] .btn-metis-6:active,.btn-metis-6.disabled.active,.btn-metis-6[disabled].active,fieldset[disabled] .btn-metis-6.active{background-color:#00b4f5;border-color:#008dc5}.btn-circle{width:40px;height:40px;padding:8px 10px;border-radius:500px}.btn-circle.btn-lg{width:60px;height:60px;padding:14px 16px}.btn-circle.btn-sm{width:30px;height:30px;padding:5px 10px}.btn-circle.btn-xs{width:20px;height:20px;padding:0 5px}.btn-rect{border-radius:0!important}.btn-round.btn{border-radius:28px}.btn-round.btn-xs{border-radius:28px}.btn-round.btn-sm{border-radius:28px}.btn-round.btn-lg{border-radius:28px}.btn-line.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-line.btn-default:hover,.btn-line.btn-default:focus,.btn-line.btn-default:active,.btn-line.btn-default.active{color:#fff;background-color:#262626;border-color:#b3b3b3}.btn-line.btn-default.disabled,.btn-line.btn-default[disabled],fieldset[disabled] .btn-line.btn-default,.btn-line.btn-default.disabled:hover,.btn-line.btn-default[disabled]:hover,fieldset[disabled] .btn-line.btn-default:hover,.btn-line.btn-default.disabled:focus,.btn-line.btn-default[disabled]:focus,fieldset[disabled] .btn-line.btn-default:focus,.btn-line.btn-default.disabled:active,.btn-line.btn-default[disabled]:active,fieldset[disabled] .btn-line.btn-default:active,.btn-line.btn-default.disabled.active,.btn-line.btn-default[disabled].active,fieldset[disabled] .btn-line.btn-default.active{background-color:#fff;border-color:#ccc}.btn-line.btn-primary{color:#428bca;background-color:#fff;border-color:#357ebd}.btn-line.btn-primary:hover,.btn-line.btn-primary:focus,.btn-line.btn-primary:active,.btn-line.btn-primary.active{color:#fff;background-color:#357ebd;border-color:#2a6496}.btn-line.btn-primary.disabled,.btn-line.btn-primary[disabled],fieldset[disabled] .btn-line.btn-primary,.btn-line.btn-primary.disabled:hover,.btn-line.btn-primary[disabled]:hover,fieldset[disabled] .btn-line.btn-primary:hover,.btn-line.btn-primary.disabled:focus,.btn-line.btn-primary[disabled]:focus,fieldset[disabled] .btn-line.btn-primary:focus,.btn-line.btn-primary.disabled:active,.btn-line.btn-primary[disabled]:active,fieldset[disabled] .btn-line.btn-primary:active,.btn-line.btn-primary.disabled.active,.btn-line.btn-primary[disabled].active,fieldset[disabled] .btn-line.btn-primary.active{background-color:#fff;border-color:#357ebd}.btn-line.btn-warning{color:#f0ad4e;background-color:#fff;border-color:#eea236}.btn-line.btn-warning:hover,.btn-line.btn-warning:focus,.btn-line.btn-warning:active,.btn-line.btn-warning.active{color:#fff;background-color:#eea236;border-color:#df8a13}.btn-line.btn-warning.disabled,.btn-line.btn-warning[disabled],fieldset[disabled] .btn-line.btn-warning,.btn-line.btn-warning.disabled:hover,.btn-line.btn-warning[disabled]:hover,fieldset[disabled] .btn-line.btn-warning:hover,.btn-line.btn-warning.disabled:focus,.btn-line.btn-warning[disabled]:focus,fieldset[disabled] .btn-line.btn-warning:focus,.btn-line.btn-warning.disabled:active,.btn-line.btn-warning[disabled]:active,fieldset[disabled] .btn-line.btn-warning:active,.btn-line.btn-warning.disabled.active,.btn-line.btn-warning[disabled].active,fieldset[disabled] .btn-line.btn-warning.active{background-color:#fff;border-color:#eea236}.btn-line.btn-danger{color:#d9534f;background-color:#fff;border-color:#d43f3a}.btn-line.btn-danger:hover,.btn-line.btn-danger:focus,.btn-line.btn-danger:active,.btn-line.btn-danger.active{color:#fff;background-color:#d43f3a;border-color:#b52b27}.btn-line.btn-danger.disabled,.btn-line.btn-danger[disabled],fieldset[disabled] .btn-line.btn-danger,.btn-line.btn-danger.disabled:hover,.btn-line.btn-danger[disabled]:hover,fieldset[disabled] .btn-line.btn-danger:hover,.btn-line.btn-danger.disabled:focus,.btn-line.btn-danger[disabled]:focus,fieldset[disabled] .btn-line.btn-danger:focus,.btn-line.btn-danger.disabled:active,.btn-line.btn-danger[disabled]:active,fieldset[disabled] .btn-line.btn-danger:active,.btn-line.btn-danger.disabled.active,.btn-line.btn-danger[disabled].active,fieldset[disabled] .btn-line.btn-danger.active{background-color:#fff;border-color:#d43f3a}.btn-line.btn-success{color:#5cb85c;background-color:#fff;border-color:#4cae4c}.btn-line.btn-success:hover,.btn-line.btn-success:focus,.btn-line.btn-success:active,.btn-line.btn-success.active{color:#fff;background-color:#4cae4c;border-color:#3d8b3d}.btn-line.btn-success.disabled,.btn-line.btn-success[disabled],fieldset[disabled] .btn-line.btn-success,.btn-line.btn-success.disabled:hover,.btn-line.btn-success[disabled]:hover,fieldset[disabled] .btn-line.btn-success:hover,.btn-line.btn-success.disabled:focus,.btn-line.btn-success[disabled]:focus,fieldset[disabled] .btn-line.btn-success:focus,.btn-line.btn-success.disabled:active,.btn-line.btn-success[disabled]:active,fieldset[disabled] .btn-line.btn-success:active,.btn-line.btn-success.disabled.active,.btn-line.btn-success[disabled].active,fieldset[disabled] .btn-line.btn-success.active{background-color:#fff;border-color:#4cae4c}.btn-line.btn-info{color:#5bc0de;background-color:#fff;border-color:#46b8da}.btn-line.btn-info:hover,.btn-line.btn-info:focus,.btn-line.btn-info:active,.btn-line.btn-info.active{color:#fff;background-color:#46b8da;border-color:#28a1c5}.btn-line.btn-info.disabled,.btn-line.btn-info[disabled],fieldset[disabled] .btn-line.btn-info,.btn-line.btn-info.disabled:hover,.btn-line.btn-info[disabled]:hover,fieldset[disabled] .btn-line.btn-info:hover,.btn-line.btn-info.disabled:focus,.btn-line.btn-info[disabled]:focus,fieldset[disabled] .btn-line.btn-info:focus,.btn-line.btn-info.disabled:active,.btn-line.btn-info[disabled]:active,fieldset[disabled] .btn-line.btn-info:active,.btn-line.btn-info.disabled.active,.btn-line.btn-info[disabled].active,fieldset[disabled] .btn-line.btn-info.active{background-color:#fff;border-color:#46b8da}.btn-line.btn-metis-1{color:#ee465a;background-color:#fff;border-color:#c11a39}.btn-line.btn-metis-1:hover,.btn-line.btn-metis-1:focus,.btn-line.btn-metis-1:active,.btn-line.btn-metis-1.active{color:#fff;background-color:#ec2f45;border-color:#94142c}.btn-line.btn-metis-1.disabled,.btn-line.btn-metis-1[disabled],fieldset[disabled] .btn-line.btn-metis-1,.btn-line.btn-metis-1.disabled:hover,.btn-line.btn-metis-1[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-1:hover,.btn-line.btn-metis-1.disabled:focus,.btn-line.btn-metis-1[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-1:focus,.btn-line.btn-metis-1.disabled:active,.btn-line.btn-metis-1[disabled]:active,fieldset[disabled] .btn-line.btn-metis-1:active,.btn-line.btn-metis-1.disabled.active,.btn-line.btn-metis-1[disabled].active,fieldset[disabled] .btn-line.btn-metis-1.active{background-color:#fff;border-color:#c11a39}.btn-line.btn-metis-2{color:#9fd256;background-color:#fff;border-color:#6fac34}.btn-line.btn-metis-2:hover,.btn-line.btn-metis-2:focus,.btn-line.btn-metis-2:active,.btn-line.btn-metis-2.active{color:#fff;background-color:#94cd42;border-color:#568528}.btn-line.btn-metis-2.disabled,.btn-line.btn-metis-2[disabled],fieldset[disabled] .btn-line.btn-metis-2,.btn-line.btn-metis-2.disabled:hover,.btn-line.btn-metis-2[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-2:hover,.btn-line.btn-metis-2.disabled:focus,.btn-line.btn-metis-2[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-2:focus,.btn-line.btn-metis-2.disabled:active,.btn-line.btn-metis-2[disabled]:active,fieldset[disabled] .btn-line.btn-metis-2:active,.btn-line.btn-metis-2.disabled.active,.btn-line.btn-metis-2[disabled].active,fieldset[disabled] .btn-line.btn-metis-2.active{background-color:#fff;border-color:#6fac34}.btn-line.btn-metis-3{color:#fbb450;background-color:#fff;border-color:#f89406}.btn-line.btn-metis-3:hover,.btn-line.btn-metis-3:focus,.btn-line.btn-metis-3:active,.btn-line.btn-metis-3.active{color:#fff;background-color:#faa937;border-color:#c67605}.btn-line.btn-metis-3.disabled,.btn-line.btn-metis-3[disabled],fieldset[disabled] .btn-line.btn-metis-3,.btn-line.btn-metis-3.disabled:hover,.btn-line.btn-metis-3[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-3:hover,.btn-line.btn-metis-3.disabled:focus,.btn-line.btn-metis-3[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-3:focus,.btn-line.btn-metis-3.disabled:active,.btn-line.btn-metis-3[disabled]:active,fieldset[disabled] .btn-line.btn-metis-3:active,.btn-line.btn-metis-3.disabled.active,.btn-line.btn-metis-3[disabled].active,fieldset[disabled] .btn-line.btn-metis-3.active{background-color:#fff;border-color:#f89406}.btn-line.btn-metis-4{color:#a264e7;background-color:#fff;border-color:#62309a}.btn-line.btn-metis-4:hover,.btn-line.btn-metis-4:focus,.btn-line.btn-metis-4:active,.btn-line.btn-metis-4.active{color:#fff;background-color:#954ee4;border-color:#492473}.btn-line.btn-metis-4.disabled,.btn-line.btn-metis-4[disabled],fieldset[disabled] .btn-line.btn-metis-4,.btn-line.btn-metis-4.disabled:hover,.btn-line.btn-metis-4[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-4:hover,.btn-line.btn-metis-4.disabled:focus,.btn-line.btn-metis-4[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-4:focus,.btn-line.btn-metis-4.disabled:active,.btn-line.btn-metis-4[disabled]:active,fieldset[disabled] .btn-line.btn-metis-4:active,.btn-line.btn-metis-4.disabled.active,.btn-line.btn-metis-4[disabled].active,fieldset[disabled] .btn-line.btn-metis-4.active{background-color:#fff;border-color:#62309a}.btn-line.btn-metis-5{color:#777;background-color:#fff;border-color:#555}.btn-line.btn-metis-5:hover,.btn-line.btn-metis-5:focus,.btn-line.btn-metis-5:active,.btn-line.btn-metis-5.active{color:#fff;background-color:#6a6a6a;border-color:#3b3b3b}.btn-line.btn-metis-5.disabled,.btn-line.btn-metis-5[disabled],fieldset[disabled] .btn-line.btn-metis-5,.btn-line.btn-metis-5.disabled:hover,.btn-line.btn-metis-5[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-5:hover,.btn-line.btn-metis-5.disabled:focus,.btn-line.btn-metis-5[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-5:focus,.btn-line.btn-metis-5.disabled:active,.btn-line.btn-metis-5[disabled]:active,fieldset[disabled] .btn-line.btn-metis-5:active,.btn-line.btn-metis-5.disabled.active,.btn-line.btn-metis-5[disabled].active,fieldset[disabled] .btn-line.btn-metis-5.active{background-color:#fff;border-color:#555}.btn-line.btn-metis-6{color:#00b4f5;background-color:#fff;border-color:#008dc5}.btn-line.btn-metis-6:hover,.btn-line.btn-metis-6:focus,.btn-line.btn-metis-6:active,.btn-line.btn-metis-6.active{color:#fff;background-color:#00a1dc;border-color:#006892}.btn-line.btn-metis-6.disabled,.btn-line.btn-metis-6[disabled],fieldset[disabled] .btn-line.btn-metis-6,.btn-line.btn-metis-6.disabled:hover,.btn-line.btn-metis-6[disabled]:hover,fieldset[disabled] .btn-line.btn-metis-6:hover,.btn-line.btn-metis-6.disabled:focus,.btn-line.btn-metis-6[disabled]:focus,fieldset[disabled] .btn-line.btn-metis-6:focus,.btn-line.btn-metis-6.disabled:active,.btn-line.btn-metis-6[disabled]:active,fieldset[disabled] .btn-line.btn-metis-6:active,.btn-line.btn-metis-6.disabled.active,.btn-line.btn-metis-6[disabled].active,fieldset[disabled] .btn-line.btn-metis-6.active{background-color:#fff;border-color:#008dc5}.btn-grad.btn-default{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#fff,#b3b3b3);background-image:linear-gradient(to bottom,#fff,#b3b3b3);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-default:hover,.btn-grad.btn-default:focus,.btn-grad.btn-default:active,.btn-grad.btn-default.active{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)}.btn-grad.btn-default.disabled,.btn-grad.btn-default[disabled],fieldset[disabled] .btn-grad.btn-default,.btn-grad.btn-default.disabled:hover,.btn-grad.btn-default[disabled]:hover,fieldset[disabled] .btn-grad.btn-default:hover,.btn-grad.btn-default.disabled:focus,.btn-grad.btn-default[disabled]:focus,fieldset[disabled] .btn-grad.btn-default:focus,.btn-grad.btn-default.disabled:active,.btn-grad.btn-default[disabled]:active,fieldset[disabled] .btn-grad.btn-default:active,.btn-grad.btn-default.disabled.active,.btn-grad.btn-default[disabled].active,fieldset[disabled] .btn-grad.btn-default.active{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)}.btn-grad.btn-primary{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#428bca,#2a6496);background-image:linear-gradient(to bottom,#428bca,#2a6496);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-primary:hover,.btn-grad.btn-primary:focus,.btn-grad.btn-primary:active,.btn-grad.btn-primary.active{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)}.btn-grad.btn-primary.disabled,.btn-grad.btn-primary[disabled],fieldset[disabled] .btn-grad.btn-primary,.btn-grad.btn-primary.disabled:hover,.btn-grad.btn-primary[disabled]:hover,fieldset[disabled] .btn-grad.btn-primary:hover,.btn-grad.btn-primary.disabled:focus,.btn-grad.btn-primary[disabled]:focus,fieldset[disabled] .btn-grad.btn-primary:focus,.btn-grad.btn-primary.disabled:active,.btn-grad.btn-primary[disabled]:active,fieldset[disabled] .btn-grad.btn-primary:active,.btn-grad.btn-primary.disabled.active,.btn-grad.btn-primary[disabled].active,fieldset[disabled] .btn-grad.btn-primary.active{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)}.btn-grad.btn-warning{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#f0ad4e,#df8a13);background-image:linear-gradient(to bottom,#f0ad4e,#df8a13);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-warning:hover,.btn-grad.btn-warning:focus,.btn-grad.btn-warning:active,.btn-grad.btn-warning.active{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)}.btn-grad.btn-warning.disabled,.btn-grad.btn-warning[disabled],fieldset[disabled] .btn-grad.btn-warning,.btn-grad.btn-warning.disabled:hover,.btn-grad.btn-warning[disabled]:hover,fieldset[disabled] .btn-grad.btn-warning:hover,.btn-grad.btn-warning.disabled:focus,.btn-grad.btn-warning[disabled]:focus,fieldset[disabled] .btn-grad.btn-warning:focus,.btn-grad.btn-warning.disabled:active,.btn-grad.btn-warning[disabled]:active,fieldset[disabled] .btn-grad.btn-warning:active,.btn-grad.btn-warning.disabled.active,.btn-grad.btn-warning[disabled].active,fieldset[disabled] .btn-grad.btn-warning.active{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)}.btn-grad.btn-danger{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#d9534f,#b52b27);background-image:linear-gradient(to bottom,#d9534f,#b52b27);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-danger:hover,.btn-grad.btn-danger:focus,.btn-grad.btn-danger:active,.btn-grad.btn-danger.active{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)}.btn-grad.btn-danger.disabled,.btn-grad.btn-danger[disabled],fieldset[disabled] .btn-grad.btn-danger,.btn-grad.btn-danger.disabled:hover,.btn-grad.btn-danger[disabled]:hover,fieldset[disabled] .btn-grad.btn-danger:hover,.btn-grad.btn-danger.disabled:focus,.btn-grad.btn-danger[disabled]:focus,fieldset[disabled] .btn-grad.btn-danger:focus,.btn-grad.btn-danger.disabled:active,.btn-grad.btn-danger[disabled]:active,fieldset[disabled] .btn-grad.btn-danger:active,.btn-grad.btn-danger.disabled.active,.btn-grad.btn-danger[disabled].active,fieldset[disabled] .btn-grad.btn-danger.active{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)}.btn-grad.btn-success{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#5cb85c,#3d8b3d);background-image:linear-gradient(to bottom,#5cb85c,#3d8b3d);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-success:hover,.btn-grad.btn-success:focus,.btn-grad.btn-success:active,.btn-grad.btn-success.active{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)}.btn-grad.btn-success.disabled,.btn-grad.btn-success[disabled],fieldset[disabled] .btn-grad.btn-success,.btn-grad.btn-success.disabled:hover,.btn-grad.btn-success[disabled]:hover,fieldset[disabled] .btn-grad.btn-success:hover,.btn-grad.btn-success.disabled:focus,.btn-grad.btn-success[disabled]:focus,fieldset[disabled] .btn-grad.btn-success:focus,.btn-grad.btn-success.disabled:active,.btn-grad.btn-success[disabled]:active,fieldset[disabled] .btn-grad.btn-success:active,.btn-grad.btn-success.disabled.active,.btn-grad.btn-success[disabled].active,fieldset[disabled] .btn-grad.btn-success.active{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)}.btn-grad.btn-info{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#5bc0de,#28a1c5);background-image:linear-gradient(to bottom,#5bc0de,#28a1c5);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-info:hover,.btn-grad.btn-info:focus,.btn-grad.btn-info:active,.btn-grad.btn-info.active{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)}.btn-grad.btn-info.disabled,.btn-grad.btn-info[disabled],fieldset[disabled] .btn-grad.btn-info,.btn-grad.btn-info.disabled:hover,.btn-grad.btn-info[disabled]:hover,fieldset[disabled] .btn-grad.btn-info:hover,.btn-grad.btn-info.disabled:focus,.btn-grad.btn-info[disabled]:focus,fieldset[disabled] .btn-grad.btn-info:focus,.btn-grad.btn-info.disabled:active,.btn-grad.btn-info[disabled]:active,fieldset[disabled] .btn-grad.btn-info:active,.btn-grad.btn-info.disabled.active,.btn-grad.btn-info[disabled].active,fieldset[disabled] .btn-grad.btn-info.active{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)}.btn-grad.btn-metis-1{text-shadow:0 -1px 0 gba(0,0,0,0.2);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)}.btn-grad.btn-metis-1:hover,.btn-grad.btn-metis-1:focus,.btn-grad.btn-metis-1:active,.btn-grad.btn-metis-1.active{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)}.btn-grad.btn-metis-1.disabled,.btn-grad.btn-metis-1[disabled],fieldset[disabled] .btn-grad.btn-metis-1,.btn-grad.btn-metis-1.disabled:hover,.btn-grad.btn-metis-1[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-1:hover,.btn-grad.btn-metis-1.disabled:focus,.btn-grad.btn-metis-1[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-1:focus,.btn-grad.btn-metis-1.disabled:active,.btn-grad.btn-metis-1[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-1:active,.btn-grad.btn-metis-1.disabled.active,.btn-grad.btn-metis-1[disabled].active,fieldset[disabled] .btn-grad.btn-metis-1.active{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)}.btn-grad.btn-metis-2{text-shadow:0 -1px 0 gba(0,0,0,0.2);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)}.btn-grad.btn-metis-2:hover,.btn-grad.btn-metis-2:focus,.btn-grad.btn-metis-2:active,.btn-grad.btn-metis-2.active{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)}.btn-grad.btn-metis-2.disabled,.btn-grad.btn-metis-2[disabled],fieldset[disabled] .btn-grad.btn-metis-2,.btn-grad.btn-metis-2.disabled:hover,.btn-grad.btn-metis-2[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-2:hover,.btn-grad.btn-metis-2.disabled:focus,.btn-grad.btn-metis-2[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-2:focus,.btn-grad.btn-metis-2.disabled:active,.btn-grad.btn-metis-2[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-2:active,.btn-grad.btn-metis-2.disabled.active,.btn-grad.btn-metis-2[disabled].active,fieldset[disabled] .btn-grad.btn-metis-2.active{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)}.btn-grad.btn-metis-3{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-metis-3:hover,.btn-grad.btn-metis-3:focus,.btn-grad.btn-metis-3:active,.btn-grad.btn-metis-3.active{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)}.btn-grad.btn-metis-3.disabled,.btn-grad.btn-metis-3[disabled],fieldset[disabled] .btn-grad.btn-metis-3,.btn-grad.btn-metis-3.disabled:hover,.btn-grad.btn-metis-3[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-3:hover,.btn-grad.btn-metis-3.disabled:focus,.btn-grad.btn-metis-3[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-3:focus,.btn-grad.btn-metis-3.disabled:active,.btn-grad.btn-metis-3[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-3:active,.btn-grad.btn-metis-3.disabled.active,.btn-grad.btn-metis-3[disabled].active,fieldset[disabled] .btn-grad.btn-metis-3.active{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)}.btn-grad.btn-metis-4{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#a264e7,#62309a);background-image:linear-gradient(to bottom,#a264e7,#62309a);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-metis-4:hover,.btn-grad.btn-metis-4:focus,.btn-grad.btn-metis-4:active,.btn-grad.btn-metis-4.active{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)}.btn-grad.btn-metis-4.disabled,.btn-grad.btn-metis-4[disabled],fieldset[disabled] .btn-grad.btn-metis-4,.btn-grad.btn-metis-4.disabled:hover,.btn-grad.btn-metis-4[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-4:hover,.btn-grad.btn-metis-4.disabled:focus,.btn-grad.btn-metis-4[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-4:focus,.btn-grad.btn-metis-4.disabled:active,.btn-grad.btn-metis-4[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-4:active,.btn-grad.btn-metis-4.disabled.active,.btn-grad.btn-metis-4[disabled].active,fieldset[disabled] .btn-grad.btn-metis-4.active{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)}.btn-grad.btn-metis-5{text-shadow:0 -1px 0 gba(0,0,0,0.2);background-image:-webkit-linear-gradient(top,#777,#555);background-image:linear-gradient(to bottom,#777,#555);border-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.4)}.btn-grad.btn-metis-5:hover,.btn-grad.btn-metis-5:focus,.btn-grad.btn-metis-5:active,.btn-grad.btn-metis-5.active{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)}.btn-grad.btn-metis-5.disabled,.btn-grad.btn-metis-5[disabled],fieldset[disabled] .btn-grad.btn-metis-5,.btn-grad.btn-metis-5.disabled:hover,.btn-grad.btn-metis-5[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-5:hover,.btn-grad.btn-metis-5.disabled:focus,.btn-grad.btn-metis-5[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-5:focus,.btn-grad.btn-metis-5.disabled:active,.btn-grad.btn-metis-5[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-5:active,.btn-grad.btn-metis-5.disabled.active,.btn-grad.btn-metis-5[disabled].active,fieldset[disabled] .btn-grad.btn-metis-5.active{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)}.btn-grad.btn-metis-6{text-shadow:0 -1px 0 gba(0,0,0,0.2);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)}.btn-grad.btn-metis-6:hover,.btn-grad.btn-metis-6:focus,.btn-grad.btn-metis-6:active,.btn-grad.btn-metis-6.active{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)}.btn-grad.btn-metis-6.disabled,.btn-grad.btn-metis-6[disabled],fieldset[disabled] .btn-grad.btn-metis-6,.btn-grad.btn-metis-6.disabled:hover,.btn-grad.btn-metis-6[disabled]:hover,fieldset[disabled] .btn-grad.btn-metis-6:hover,.btn-grad.btn-metis-6.disabled:focus,.btn-grad.btn-metis-6[disabled]:focus,fieldset[disabled] .btn-grad.btn-metis-6:focus,.btn-grad.btn-metis-6.disabled:active,.btn-grad.btn-metis-6[disabled]:active,fieldset[disabled] .btn-grad.btn-metis-6:active,.btn-grad.btn-metis-6.disabled.active,.btn-grad.btn-metis-6[disabled].active,fieldset[disabled] .btn-grad.btn-metis-6.active{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)}.btn-flat{border-width:0!important}.progress.lg{height:28px}.progress.md{height:12px}.progress.xs{height:6px}.inner hr{margin-top:10px;border-top-color:#ccc}.well.dark{padding-top:10px;margin-bottom:10px;color:#999;background-color:#202020;background-color:rgba(0,0,0,0.3);border:0;-webkit-box-shadow:rgba(255,255,255,0.1) 0 1px 0,rgba(0,0,0,0.8) 0 1px 7px 0 inset;-moz-box-shadow:rgba(255,255,255,0.1) 0 1px 0,rgba(0,0,0,0.8) 0 1px 7px 0 inset;-o-box-shadow:rgba(255,255,255,0.1) 0 1px 0,rgba(0,0,0,0.8) 0 1px 7px 0 inset;box-shadow:rgba(255,255,255,0.1) 0 1px 0,rgba(0,0,0,0.8) 0 1px 7px 0 inset}.well.dark .alert{margin-bottom:0}.tac{text-align:center}.stats_box{display:inline-block;margin-top:20px;margin-left:0;list-style:none outside none}.stats_box li{display:inline-block;padding:0 10px;margin:0 10px 10px;line-height:18px;text-shadow:0 1px 0 rgba(255,255,255,0.6);background:#eee;-webkit-box-shadow:0 0 0 1px #f8f8f8 inset,0 0 0 1px #ccc;box-shadow:0 0 0 1px #f8f8f8 inset,0 0 0 1px #ccc}.stats_box .sparkline{float:left;width:50px;padding:10px 14px 0 4px;margin-right:12px;line-height:52px;border-right:1px solid #dcdcdc;-webkit-box-shadow:1px 0 0 0 #fff;box-shadow:1px 0 0 0 #fff}.stats_box .stat_text{position:relative;float:left;width:150px;padding:9px 10px 7px 0;font-size:12px;text-align:left}.stats_box .stat_text strong{display:block;font-size:16px}.stats_box .stat_text .percent{position:absolute;top:17px;right:0;float:right;font-size:20px;font-weight:bold;color:#444}.stats_box .stat_text .percent.up{color:#46a546}.stats_box .stat_text .percent.down{color:#c52f61}.quick-btn{position:relative;display:inline-block;width:90px;height:80px;padding-top:16px;margin:10px;color:#444;text-align:center;text-decoration:none;text-shadow:0 1px 0 rgba(255,255,255,0.6);background:#eee;-webkit-box-shadow:0 0 0 1px #f8f8f8 inset,0 0 0 1px #ccc;box-shadow:0 0 0 1px #f8f8f8 inset,0 0 0 1px #ccc}.quick-btn span{display:block}.quick-btn .label{position:absolute;top:-5px;right:-5px}.quick-btn:hover{color:#fff;text-decoration:none;text-shadow:0 1px 1px #000;background-color:#4d7589}.quick-btn.small{width:40px;height:30px;padding-top:6px}.simpleTable tr th:first-child,.simpleTable tr td:first-child{width:27px;text-align:center}.sortableTable th{cursor:pointer;background-image:-webkit-gradient(linear,left 0,left 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,0%,#f2f2f2,100%);background-image:-moz-linear-gradient(top,#fff 0,#f2f2f2 100%);background-image:linear-gradient(to bottom,#fff 0,#f2f2f2 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0)}.sortableTable th i{display:none;float:right}.sortableTable th:hover{color:#888}.sortableTable th.tablesorter-header i.icon-sort{display:inline-block}.sortableTable th.tablesorter-header.tablesorter-headerDesc i.icon-sort{display:none}.sortableTable th.tablesorter-header.tablesorter-headerDesc i.icon-sort-up{display:inline-block}.sortableTable th.tablesorter-header.tablesorter-headerAsc i.icon-sort{display:none}.sortableTable th.tablesorter-header.tablesorter-headerAsc i.icon-sort-down{display:inline-block}@media only screen and (max-width:767px){.responsive-table{position:relative;display:block;width:100%}.responsive-table thead{display:block;float:left}.responsive-table thead tr{display:block}.responsive-table tbody{position:relative;display:block;width:auto;overflow-x:auto;white-space:nowrap}.responsive-table tbody tr{display:inline-block;vertical-align:top}.responsive-table th{display:block}.responsive-table td{display:block;min-height:1.25em}}.google-maps{width:100%;height:333px}.progress.vertical .bar.six-sec-ease-in-out{-webkit-transition:height 6s ease-in-out;-moz-transition:height 6s ease-in-out;-ms-transition:height 6s ease-in-out;-o-transition:height 6s ease-in-out;transition:height 6s ease-in-out}.progress.wide{width:60px}.vertical-progressbar-span{height:100px}.nav.nav-tabs{margin-bottom:0;border:medium none}.tab-content{padding:20px;margin:0;border:1px solid #ddd;border-radius:5px 5px 5px 5px}.comments .popover{position:relative;display:block;width:90%;margin:0 10px}.comments .popover .arrow{top:33%}
\ No newline at end of file
diff --git a/dist/assets/js/main.js b/dist/assets/js/main.js
index aea2eef8..60d05736 100644
--- a/dist/assets/js/main.js
+++ b/dist/assets/js/main.js
@@ -505,7 +505,14 @@ function formGeneral() {
/*----------- END timepicker CODE -------------------------*/
/*----------- BEGIN toggleButtons CODE -------------------------*/
- $('.make-switch').bootstrapSwitch();
+ // Resets to the regular style
+$('#dimension-switch').bootstrapSwitch('setSizeClass', '');
+// Sets a mini switch
+$('#dimension-switch').bootstrapSwitch('setSizeClass', 'switch-mini');
+// Sets a small switch
+$('#dimension-switch').bootstrapSwitch('setSizeClass', 'switch-small');
+// Sets a large switch
+$('#dimension-switch').bootstrapSwitch('setSizeClass', 'switch-large');
/*----------- END toggleButtons CODE -------------------------*/
/*----------- BEGIN dualListBox CODE -------------------------*/
diff --git a/dist/assets/js/main.min.js b/dist/assets/js/main.min.js
index a078b4b4..f320cbff 100644
--- a/dist/assets/js/main.min.js
+++ b/dist/assets/js/main.min.js
@@ -4,4 +4,4 @@
* Author : Osman Nuri Okumuş
* Copyright 2013
*/
-function dashboard(){"use strict";function a(a,b,c){$(''+c+"
").css({position:"absolute",display:"none",top:b+5,left:a+5,border:"1px solid #fdd",padding:"2px","background-color":"#000",color:"#fff"}).appendTo("body").fadeIn(200)}$(".inlinesparkline").sparkline();var b=[10,8,5,7,4,4,1];$(".dynamicsparkline").sparkline(b),$(".dynamicbar").sparkline(b,{type:"bar",barColor:"green"}),$(".inlinebar").sparkline("html",{type:"bar",barColor:"red"}),$(".sparkline.bar_week").sparkline([5,6,7,2,0,-4,-2,4],{type:"bar",height:"40",barWidth:5,barColor:"#4d6189",negBarColor:"#a20051"}),$(".sparkline.line_day").sparkline([5,6,7,9,9,5,4,6,6,4,6,7],{type:"line",height:"40",drawNormalOnTop:!1}),$(".sparkline.pie_week").sparkline([1,1,2],{type:"pie",width:"40",height:"40"}),$(".sparkline.stacked_month").sparkline(["0:2","2:4","4:2","4:1"],{type:"bar",height:"40",barWidth:10,barColor:"#4d6189",negBarColor:"#a20051"});for(var c=new Date,d=c.getDate(),e=c.getMonth(),f=c.getFullYear(),g=$("#calendar").fullCalendar({header:{left:"prev,today,next,",center:"title",right:"month,agendaWeek,agendaDay"},selectable:!0,selectHelper:!0,select:function(a,b,c){var d=prompt("Event Title:");d&&g.fullCalendar("renderEvent",{title:d,start:a,end:b,allDay:c},!0),g.fullCalendar("unselect")},editable:!0,events:[{title:"All Day Event",start:new Date(f,e,1),className:"label label-success"},{title:"Long Event",start:new Date(f,e,d-5),end:new Date(f,e,d-2),className:"label label-info"},{id:999,title:"Repeating Event",start:new Date(f,e,d-3,16,0),allDay:!1,className:"label label-warning"},{id:999,title:"Repeating Event",start:new Date(f,e,d+4,16,0),allDay:!1,className:"label label-inverse"},{title:"Meeting",start:new Date(f,e,d,10,30),allDay:!1,className:"label label-important"},{title:"Lunch",start:new Date(f,e,d,12,0),end:new Date(f,e,d,14,0),allDay:!1},{title:"Birthday Party",start:new Date(f,e,d+1,19,0),end:new Date(f,e,d+1,22,30),allDay:!1},{title:"Click for Google",start:new Date(f,e,28),end:new Date(f,e,29),url:"http://google.com/"}]}),h=[],i=[],j=0;14>j;j+=.5)h.push([j,Math.sin(j)]),i.push([j,Math.cos(j)]);$.plot($("#trigo"),[{data:h,label:"sin(x)",points:{fillColor:"#4572A7",size:5},color:"#4572A7"},{data:i,label:"cos(x)",points:{fillColor:"#333",size:35},color:"#AA4643"}],{series:{lines:{show:!0},points:{show:!0}},grid:{hoverable:!0,clickable:!0},yaxis:{min:-1.2,max:1.2}});var k=null;$("#trigo").bind("plothover",function(b,c,d){if($("#x").text(c.x.toFixed(2)),$("#y").text(c.y.toFixed(2)),d){if(k!==d.dataIndex){k=d.dataIndex,$("#tooltip").remove();var e=d.datapoint[0].toFixed(2),f=d.datapoint[1].toFixed(2);a(d.pageX,d.pageY,d.series.label+" of "+e+" = "+f)}}else $("#tooltip").remove(),k=null}),$(".sortableTable").tablesorter()}function metisChart(){"use strict";function a(a){return Math.sqrt(2)*Math.cos(a)/(Math.pow(Math.sin(a),2)+1)}function b(a){return Math.sqrt(2)*Math.cos(a)*Math.sin(a)/(Math.pow(Math.sin(a),2)+1)}var c=[[0,3],[1,8],[2,5],[3,13],[4,1]],d=[[0,12],[2,2],[3,9],[4,4]];$.plot($("#trigo"),[{data:c,label:"MAN"},{data:d,label:"WOMAN"}],{clickable:!0,hoverable:!0,series:{lines:{show:!0,fill:!0,fillColor:{colors:[{opacity:.5},{opacity:.15}]}},points:{show:!0}}}),$.plot($("#trigo2"),[{data:c,label:"BAR"}],{clickable:!0,hoverable:!0,series:{bars:{show:!0,barWidth:.6},points:{show:!0}}});for(var e=[],f=[],g=-5;5>=g;g+=.5)e.push([g,Math.pow(g,2)-25]),f.push([g,-Math.pow(g,2)+25]);for(var h=[],i=-2;2.1>=i;i+=.1)h.push([i,Math.sqrt(400-100*i*i)]),h.push([i,-Math.sqrt(400-100*i*i)]);$.plot($("#eye"),[{data:f,lines:{show:!0,fill:!0}},{data:e,lines:{show:!0,fill:!0}},{data:h,lines:{show:!0}}]);var j=[];for(g=-2;5>=g;g+=.01)j.push([16*Math.pow(Math.sin(g),3),13*Math.cos(g)-5*Math.cos(2*g)-2*Math.cos(3*g)-Math.cos(4*g)]);$.plot($("#heart"),[{data:j,label:' ',color:"#9A004D"}],{series:{lines:{show:!0,fill:!0},points:{show:!1}},yaxis:{show:!0},xaxis:{show:!0}}),$("#heart .legendLabel").addClass("animated pulse"),setInterval(function(){$("#heart .legendLabel").toggleClass("animated")},400);for(var k=[],l=0;l<=2*Math.PI;l+=.01)k.push([a(l),b(l)]);$.plot($("#bernoilli"),[{data:k,label:"Lemniscate of Bernoulli",lines:{show:!0,fill:!0}}])}function formGeneral(){"use strict";$(".with-tooltip").tooltip({selector:".input-tooltip"}),$("#autosize").autosize(),$("#limiter").inputlimiter({limit:140,remText:"You only have %n character%s remaining...",limitText:"You're allowed to input %n character%s into this field."}),$("#tags").tagsInput(),$(".chzn-select").chosen(),$(".chzn-select-deselect").chosen({allow_single_deselect:!0}),$("#spin1").spinner(),$("#spin2").spinner({step:.01,numberFormat:"n"}),$("#spin3").spinner({culture:"en-US",min:5,max:2500,step:25,start:1e3,numberFormat:"C"}),$(".uniform").uniform(),$("#validVal").validVal(),$("#cp1").colorpicker({format:"hex"}),$("#cp2").colorpicker(),$("#cp3").colorpicker(),$("#cp4").colorpicker().on("changeColor",function(a){$("#colorPickerBlock").css("background-color",a.color.toHex())}),$("#dp1").datepicker({format:"mm-dd-yyyy"}),$("#dp2").datepicker(),$("#dp3").datepicker(),$("#dp3").datepicker(),$("#dpYears").datepicker(),$("#dpMonths").datepicker();var a=new Date(2012,1,20),b=new Date(2012,1,25);$("#dp4").datepicker().on("changeDate",function(c){c.date.valueOf()>b.valueOf()?$("#alert").show().find("strong").text("The start date can not be greater then the end date"):($("#alert").hide(),a=new Date(c.date),$("#startDate").text($("#dp4").data("date"))),$("#dp4").datepicker("hide")}),$("#dp5").datepicker().on("changeDate",function(c){c.date.valueOf()'+a+" ");jQuery("#external-events").append(d),c(d)};$("#external-events li.external-event").each(function(){c($(this))}),$("#add-event").click(function(){var a=$("#title").val(),b=$("input:radio[name=priority]:checked").val();d(a,b)}),$("#calendar").fullCalendar({header:b,buttonText:{prev:' ',next:' '},editable:!0,droppable:!0,drop:function(a,b){var c=$(this).data("eventObject"),d=$.extend({},c);d.start=a,d.allDay=b,$("#calendar").fullCalendar("renderEvent",d,!0),$("#drop-remove").is(":checked")&&$(this).remove()},windowResize:function(){$("#calendar").fullCalendar("render")}})}function metisFile(){"use strict";$("#elfinder").elfinder({url:"assets/elfinder-2.0-rc1/php/connector.php"}).elfinder("instance")}function metisMaps(){"use strict";var a,b,c,d,e,f,g;a=new GMaps({el:"#gmaps-basic",lat:-12.043333,lng:-77.028333,zoomControl:!0,zoomControlOpt:{style:"SMALL",position:"TOP_LEFT"},panControl:!1,streetViewControl:!1,mapTypeControl:!1,overviewMapControl:!1}),b=new GMaps({el:"#gmaps-marker",lat:-12.043333,lng:-77.028333}),b.addMarker({lat:-12.043333,lng:-77.03,title:"Lima",details:{database_id:42,author:"HPNeo"},click:function(a){console.log&&console.log(a),alert("You clicked in this marker")},mouseover:function(a){console.log&&console.log(a)}}),b.addMarker({lat:-12.042,lng:-77.028333,title:"Marker with InfoWindow",infoWindow:{content:"HTML Content
"}}),c=new GMaps({el:"#gmaps-geolocation",lat:-12.043333,lng:-77.028333}),GMaps.geolocate({success:function(a){c.setCenter(a.coords.latitude,a.coords.longitude)},error:function(a){alert("Geolocation failed: "+a.message)},not_supported:function(){alert("Your browser does not support geolocation")},always:function(){}}),d=new GMaps({el:"#gmaps-polylines",lat:-12.043333,lng:-77.028333,click:function(a){console.log(a)}}),g=[[-12.044012922866312,-77.02470665341184],[-12.05449279282314,-77.03024273281858],[-12.055122327623378,-77.03039293652341],[-12.075917129727586,-77.02764635449216],[-12.07635776902266,-77.02792530422971],[-12.076819390363665,-77.02893381481931],[-12.088527520066453,-77.0241058385925],[-12.090814532191756,-77.02271108990476]],d.drawPolyline({path:g,strokeColor:"#131540",strokeOpacity:.6,strokeWeight:6}),e=new GMaps({el:"#gmaps-route",lat:-12.043333,lng:-77.028333}),e.drawRoute({origin:[-12.044012922866312,-77.02470665341184],destination:[-12.090814532191756,-77.02271108990476],travelMode:"driving",strokeColor:"#131540",strokeOpacity:.6,strokeWeight:6}),f=new GMaps({el:"#gmaps-geocoding",lat:-12.043333,lng:-77.028333}),$("#geocoding_form").submit(function(a){a.preventDefault(),GMaps.geocode({address:$("#address").val().trim(),callback:function(a,b){if("OK"===b){var c=a[0].geometry.location;f.setCenter(c.lat(),c.lng()),f.addMarker({lat:c.lat(),lng:c.lng()})}}})})}function metisTable(){"use strict";$(".sortableTable").tablesorter(),$("#dataTable").dataTable({sDom:"<'pull-right'l>t<'row'<'col-lg-6'f><'col-lg-6'p>>",sPaginationType:"bootstrap",oLanguage:{sLengthMenu:"Show _MENU_ entries"}}),$("#actionTable button.remove").on("click",function(){$(this).closest("tr").remove()}),$("#actionTable button.edit").on("click",function(){$("#editModal").modal({show:!0});var a=$(this).closest("tr").children("td").eq(1),b=$(this).closest("tr").children("td").eq(2),c=$(this).closest("tr").children("td").eq(3);$("#editModal #fName").val(a.html()),$("#editModal #lName").val(b.html()),$("#editModal #uName").val(c.html()),$("#editModal #sbmtBtn").on("click",function(){a.html($("#editModal #fName").val()),b.html($("#editModal #lName").val()),c.html($("#editModal #uName").val())})})}function progRess(){window.prettyPrint&&prettyPrint(),$.each($(".progress .progress-bar"),function(){$(this).animate({width:$(this).attr("aria-valuenow")+"%"}),$(this).popover({placement:"bottom",title:"Source",content:this.outerHTML})})}function metisButton(){window.prettyPrint&&prettyPrint(),$.each($(".inner a.btn"),function(){$(this).popover({placement:"bottom",title:this.innerHTML,content:this.outerHTML,trigger:"hover"})})}function metisSortable(){$(".inner .row").sortable({})}$(function(){"use strict";$("a[href=#]").on("click",function(a){a.preventDefault()}),$("a[data-toggle=tooltip]").tooltip(),$("a[data-tooltip=tooltip]").tooltip(),$(".minimize-box").on("click",function(a){a.preventDefault();var b=$(this).children("i");b.hasClass("icon-chevron-down")?b.removeClass("icon-chevron-down").addClass("icon-chevron-up"):b.hasClass("icon-chevron-up")&&b.removeClass("icon-chevron-up").addClass("icon-chevron-down")}),$(".close-box").click(function(){$(this).closest(".box").hide("slow")}),$("#changeSidebarPos").on("click",function(){$("body").toggleClass("hide-sidebar")}),$("li.accordion-group > a").on("click",function(){$(this).children("span").children("i").toggleClass("icon-angle-down")})});
\ No newline at end of file
+function dashboard(){"use strict";function a(a,b,c){$(''+c+"
").css({position:"absolute",display:"none",top:b+5,left:a+5,border:"1px solid #fdd",padding:"2px","background-color":"#000",color:"#fff"}).appendTo("body").fadeIn(200)}$(".inlinesparkline").sparkline();var b=[10,8,5,7,4,4,1];$(".dynamicsparkline").sparkline(b),$(".dynamicbar").sparkline(b,{type:"bar",barColor:"green"}),$(".inlinebar").sparkline("html",{type:"bar",barColor:"red"}),$(".sparkline.bar_week").sparkline([5,6,7,2,0,-4,-2,4],{type:"bar",height:"40",barWidth:5,barColor:"#4d6189",negBarColor:"#a20051"}),$(".sparkline.line_day").sparkline([5,6,7,9,9,5,4,6,6,4,6,7],{type:"line",height:"40",drawNormalOnTop:!1}),$(".sparkline.pie_week").sparkline([1,1,2],{type:"pie",width:"40",height:"40"}),$(".sparkline.stacked_month").sparkline(["0:2","2:4","4:2","4:1"],{type:"bar",height:"40",barWidth:10,barColor:"#4d6189",negBarColor:"#a20051"});for(var c=new Date,d=c.getDate(),e=c.getMonth(),f=c.getFullYear(),g=$("#calendar").fullCalendar({header:{left:"prev,today,next,",center:"title",right:"month,agendaWeek,agendaDay"},selectable:!0,selectHelper:!0,select:function(a,b,c){var d=prompt("Event Title:");d&&g.fullCalendar("renderEvent",{title:d,start:a,end:b,allDay:c},!0),g.fullCalendar("unselect")},editable:!0,events:[{title:"All Day Event",start:new Date(f,e,1),className:"label label-success"},{title:"Long Event",start:new Date(f,e,d-5),end:new Date(f,e,d-2),className:"label label-info"},{id:999,title:"Repeating Event",start:new Date(f,e,d-3,16,0),allDay:!1,className:"label label-warning"},{id:999,title:"Repeating Event",start:new Date(f,e,d+4,16,0),allDay:!1,className:"label label-inverse"},{title:"Meeting",start:new Date(f,e,d,10,30),allDay:!1,className:"label label-important"},{title:"Lunch",start:new Date(f,e,d,12,0),end:new Date(f,e,d,14,0),allDay:!1},{title:"Birthday Party",start:new Date(f,e,d+1,19,0),end:new Date(f,e,d+1,22,30),allDay:!1},{title:"Click for Google",start:new Date(f,e,28),end:new Date(f,e,29),url:"http://google.com/"}]}),h=[],i=[],j=0;14>j;j+=.5)h.push([j,Math.sin(j)]),i.push([j,Math.cos(j)]);$.plot($("#trigo"),[{data:h,label:"sin(x)",points:{fillColor:"#4572A7",size:5},color:"#4572A7"},{data:i,label:"cos(x)",points:{fillColor:"#333",size:35},color:"#AA4643"}],{series:{lines:{show:!0},points:{show:!0}},grid:{hoverable:!0,clickable:!0},yaxis:{min:-1.2,max:1.2}});var k=null;$("#trigo").bind("plothover",function(b,c,d){if($("#x").text(c.x.toFixed(2)),$("#y").text(c.y.toFixed(2)),d){if(k!==d.dataIndex){k=d.dataIndex,$("#tooltip").remove();var e=d.datapoint[0].toFixed(2),f=d.datapoint[1].toFixed(2);a(d.pageX,d.pageY,d.series.label+" of "+e+" = "+f)}}else $("#tooltip").remove(),k=null}),$(".sortableTable").tablesorter()}function metisChart(){"use strict";function a(a){return Math.sqrt(2)*Math.cos(a)/(Math.pow(Math.sin(a),2)+1)}function b(a){return Math.sqrt(2)*Math.cos(a)*Math.sin(a)/(Math.pow(Math.sin(a),2)+1)}var c=[[0,3],[1,8],[2,5],[3,13],[4,1]],d=[[0,12],[2,2],[3,9],[4,4]];$.plot($("#trigo"),[{data:c,label:"MAN"},{data:d,label:"WOMAN"}],{clickable:!0,hoverable:!0,series:{lines:{show:!0,fill:!0,fillColor:{colors:[{opacity:.5},{opacity:.15}]}},points:{show:!0}}}),$.plot($("#trigo2"),[{data:c,label:"BAR"}],{clickable:!0,hoverable:!0,series:{bars:{show:!0,barWidth:.6},points:{show:!0}}});for(var e=[],f=[],g=-5;5>=g;g+=.5)e.push([g,Math.pow(g,2)-25]),f.push([g,-Math.pow(g,2)+25]);for(var h=[],i=-2;2.1>=i;i+=.1)h.push([i,Math.sqrt(400-100*i*i)]),h.push([i,-Math.sqrt(400-100*i*i)]);$.plot($("#eye"),[{data:f,lines:{show:!0,fill:!0}},{data:e,lines:{show:!0,fill:!0}},{data:h,lines:{show:!0}}]);var j=[];for(g=-2;5>=g;g+=.01)j.push([16*Math.pow(Math.sin(g),3),13*Math.cos(g)-5*Math.cos(2*g)-2*Math.cos(3*g)-Math.cos(4*g)]);$.plot($("#heart"),[{data:j,label:' ',color:"#9A004D"}],{series:{lines:{show:!0,fill:!0},points:{show:!1}},yaxis:{show:!0},xaxis:{show:!0}}),$("#heart .legendLabel").addClass("animated pulse"),setInterval(function(){$("#heart .legendLabel").toggleClass("animated")},400);for(var k=[],l=0;l<=2*Math.PI;l+=.01)k.push([a(l),b(l)]);$.plot($("#bernoilli"),[{data:k,label:"Lemniscate of Bernoulli",lines:{show:!0,fill:!0}}])}function formGeneral(){"use strict";$(".with-tooltip").tooltip({selector:".input-tooltip"}),$("#autosize").autosize(),$("#limiter").inputlimiter({limit:140,remText:"You only have %n character%s remaining...",limitText:"You're allowed to input %n character%s into this field."}),$("#tags").tagsInput(),$(".chzn-select").chosen(),$(".chzn-select-deselect").chosen({allow_single_deselect:!0}),$("#spin1").spinner(),$("#spin2").spinner({step:.01,numberFormat:"n"}),$("#spin3").spinner({culture:"en-US",min:5,max:2500,step:25,start:1e3,numberFormat:"C"}),$(".uniform").uniform(),$("#validVal").validVal(),$("#cp1").colorpicker({format:"hex"}),$("#cp2").colorpicker(),$("#cp3").colorpicker(),$("#cp4").colorpicker().on("changeColor",function(a){$("#colorPickerBlock").css("background-color",a.color.toHex())}),$("#dp1").datepicker({format:"mm-dd-yyyy"}),$("#dp2").datepicker(),$("#dp3").datepicker(),$("#dp3").datepicker(),$("#dpYears").datepicker(),$("#dpMonths").datepicker();var a=new Date(2012,1,20),b=new Date(2012,1,25);$("#dp4").datepicker().on("changeDate",function(c){c.date.valueOf()>b.valueOf()?$("#alert").show().find("strong").text("The start date can not be greater then the end date"):($("#alert").hide(),a=new Date(c.date),$("#startDate").text($("#dp4").data("date"))),$("#dp4").datepicker("hide")}),$("#dp5").datepicker().on("changeDate",function(c){c.date.valueOf()'+a+" ");jQuery("#external-events").append(d),c(d)};$("#external-events li.external-event").each(function(){c($(this))}),$("#add-event").click(function(){var a=$("#title").val(),b=$("input:radio[name=priority]:checked").val();d(a,b)}),$("#calendar").fullCalendar({header:b,buttonText:{prev:' ',next:' '},editable:!0,droppable:!0,drop:function(a,b){var c=$(this).data("eventObject"),d=$.extend({},c);d.start=a,d.allDay=b,$("#calendar").fullCalendar("renderEvent",d,!0),$("#drop-remove").is(":checked")&&$(this).remove()},windowResize:function(){$("#calendar").fullCalendar("render")}})}function metisFile(){"use strict";$("#elfinder").elfinder({url:"assets/elfinder-2.0-rc1/php/connector.php"}).elfinder("instance")}function metisMaps(){"use strict";var a,b,c,d,e,f,g;a=new GMaps({el:"#gmaps-basic",lat:-12.043333,lng:-77.028333,zoomControl:!0,zoomControlOpt:{style:"SMALL",position:"TOP_LEFT"},panControl:!1,streetViewControl:!1,mapTypeControl:!1,overviewMapControl:!1}),b=new GMaps({el:"#gmaps-marker",lat:-12.043333,lng:-77.028333}),b.addMarker({lat:-12.043333,lng:-77.03,title:"Lima",details:{database_id:42,author:"HPNeo"},click:function(a){console.log&&console.log(a),alert("You clicked in this marker")},mouseover:function(a){console.log&&console.log(a)}}),b.addMarker({lat:-12.042,lng:-77.028333,title:"Marker with InfoWindow",infoWindow:{content:"HTML Content
"}}),c=new GMaps({el:"#gmaps-geolocation",lat:-12.043333,lng:-77.028333}),GMaps.geolocate({success:function(a){c.setCenter(a.coords.latitude,a.coords.longitude)},error:function(a){alert("Geolocation failed: "+a.message)},not_supported:function(){alert("Your browser does not support geolocation")},always:function(){}}),d=new GMaps({el:"#gmaps-polylines",lat:-12.043333,lng:-77.028333,click:function(a){console.log(a)}}),g=[[-12.044012922866312,-77.02470665341184],[-12.05449279282314,-77.03024273281858],[-12.055122327623378,-77.03039293652341],[-12.075917129727586,-77.02764635449216],[-12.07635776902266,-77.02792530422971],[-12.076819390363665,-77.02893381481931],[-12.088527520066453,-77.0241058385925],[-12.090814532191756,-77.02271108990476]],d.drawPolyline({path:g,strokeColor:"#131540",strokeOpacity:.6,strokeWeight:6}),e=new GMaps({el:"#gmaps-route",lat:-12.043333,lng:-77.028333}),e.drawRoute({origin:[-12.044012922866312,-77.02470665341184],destination:[-12.090814532191756,-77.02271108990476],travelMode:"driving",strokeColor:"#131540",strokeOpacity:.6,strokeWeight:6}),f=new GMaps({el:"#gmaps-geocoding",lat:-12.043333,lng:-77.028333}),$("#geocoding_form").submit(function(a){a.preventDefault(),GMaps.geocode({address:$("#address").val().trim(),callback:function(a,b){if("OK"===b){var c=a[0].geometry.location;f.setCenter(c.lat(),c.lng()),f.addMarker({lat:c.lat(),lng:c.lng()})}}})})}function metisTable(){"use strict";$(".sortableTable").tablesorter(),$("#dataTable").dataTable({sDom:"<'pull-right'l>t<'row'<'col-lg-6'f><'col-lg-6'p>>",sPaginationType:"bootstrap",oLanguage:{sLengthMenu:"Show _MENU_ entries"}}),$("#actionTable button.remove").on("click",function(){$(this).closest("tr").remove()}),$("#actionTable button.edit").on("click",function(){$("#editModal").modal({show:!0});var a=$(this).closest("tr").children("td").eq(1),b=$(this).closest("tr").children("td").eq(2),c=$(this).closest("tr").children("td").eq(3);$("#editModal #fName").val(a.html()),$("#editModal #lName").val(b.html()),$("#editModal #uName").val(c.html()),$("#editModal #sbmtBtn").on("click",function(){a.html($("#editModal #fName").val()),b.html($("#editModal #lName").val()),c.html($("#editModal #uName").val())})})}function progRess(){window.prettyPrint&&prettyPrint(),$.each($(".progress .progress-bar"),function(){$(this).animate({width:$(this).attr("aria-valuenow")+"%"}),$(this).popover({placement:"bottom",title:"Source",content:this.outerHTML})})}function metisButton(){window.prettyPrint&&prettyPrint(),$.each($(".inner a.btn"),function(){$(this).popover({placement:"bottom",title:this.innerHTML,content:this.outerHTML,trigger:"hover"})})}function metisSortable(){$(".inner .row").sortable({})}$(function(){"use strict";$("a[href=#]").on("click",function(a){a.preventDefault()}),$("a[data-toggle=tooltip]").tooltip(),$("a[data-tooltip=tooltip]").tooltip(),$(".minimize-box").on("click",function(a){a.preventDefault();var b=$(this).children("i");b.hasClass("icon-chevron-down")?b.removeClass("icon-chevron-down").addClass("icon-chevron-up"):b.hasClass("icon-chevron-up")&&b.removeClass("icon-chevron-up").addClass("icon-chevron-down")}),$(".close-box").click(function(){$(this).closest(".box").hide("slow")}),$("#changeSidebarPos").on("click",function(){$("body").toggleClass("hide-sidebar")}),$("li.accordion-group > a").on("click",function(){$(this).children("span").children("i").toggleClass("icon-angle-down")})});
\ No newline at end of file
diff --git a/dist/assets/lib/cssbeautify/cssbeautify.js b/dist/assets/lib/cssbeautify/cssbeautify.js
index 39f35aa1..b4ae0961 100644
--- a/dist/assets/lib/cssbeautify/cssbeautify.js
+++ b/dist/assets/lib/cssbeautify/cssbeautify.js
@@ -63,7 +63,7 @@
return (ch >= 'a' && ch <= 'z') ||
(ch >= 'A' && ch <= 'Z') ||
(ch >= '0' && ch <= '9') ||
- '-_*.:#'.indexOf(c) >= 0;
+ '-_*.:#[]'.indexOf(c) >= 0;
}
function appendIndent() {
@@ -89,13 +89,13 @@
}
function closeBlock() {
- var ch;
+ var last;
depth -= 1;
formatted = trimRight(formatted);
- if (autosemicolon) {
- ch = formatted.charAt(formatted.length - 1);
- if (ch !== ';' && ch !== '{') {
+ if (formatted.length > 0 && autosemicolon) {
+ last = formatted.charAt(formatted.length - 1);
+ if (last !== ';' && last !== '{') {
formatted += ';';
}
}
@@ -173,14 +173,13 @@
index += 1;
}
continue;
- } else {
- if (ch === '/' && ch2 === '*') {
- comment = true;
- formatted += ch;
- formatted += ch2;
- index += 1;
- continue;
- }
+ }
+ if (ch === '/' && ch2 === '*') {
+ comment = true;
+ formatted += ch;
+ formatted += ch2;
+ index += 1;
+ continue;
}
if (state === State.Start) {
@@ -199,7 +198,7 @@
}
// Selector or at-rule
- if (isName(ch) || (ch === '[') || (ch === '@')) {
+ if (isName(ch) || (ch === '@')) {
// Clear trailing whitespaces and linefeeds.
str = trimRight(formatted);
diff --git a/dist/assets/lib/cssbeautify/index.html b/dist/assets/lib/cssbeautify/index.html
index 0ea409b9..a93a4b57 100644
--- a/dist/assets/lib/cssbeautify/index.html
+++ b/dist/assets/lib/cssbeautify/index.html
@@ -52,7 +52,6 @@ Options:
-
diff --git a/dist/assets/lib/cssbeautify/test/test.js b/dist/assets/lib/cssbeautify/test/test.js
index e21049d7..8b1b4098 100644
--- a/dist/assets/lib/cssbeautify/test/test.js
+++ b/dist/assets/lib/cssbeautify/test/test.js
@@ -311,6 +311,24 @@ var tests = {
]
},
+ '@media directive (auto-semicolon)': {
+ input: [
+ '@media screen {',
+ ' menu { color: navy }',
+ '}'
+ ],
+ options: {
+ autosemicolon: true
+ },
+ expected: [
+ '@media screen {',
+ ' menu {',
+ ' color: navy;',
+ ' }',
+ '}'
+ ]
+ },
+
'URL': {
input: [
'menu { background-image: url(data:image/png;base64,AAAAAAA); }'
diff --git a/dist/assets/lib/daterangepicker/README.md b/dist/assets/lib/daterangepicker/README.md
index 01e6f29c..b648bf0c 100644
--- a/dist/assets/lib/daterangepicker/README.md
+++ b/dist/assets/lib/daterangepicker/README.md
@@ -1,8 +1,8 @@
-# Date Range Picker for Twitter Bootstrap
+# Date Range Picker for Bootstrap
![Improvely.com](http://i.imgur.com/LbAMf3D.png)
-This date range picker component for Twitter Bootstrap creates a dropdown menu from which a user can
+This date range picker component for Bootstrap creates a dropdown menu from which a user can
select a range of dates. I created it while building the UI for [Improvely](http://www.improvely.com),
which needed a way to select date ranges for reports.
@@ -15,7 +15,7 @@ into the text box. Otherwise, you can provide a custom callback function to rece
## Usage
-This component relies on [Twitter Bootstrap](http://twitter.github.com/bootstrap/),
+This component relies on [Bootstrap](http://getbootstrap.com),
[Moment.js](http://momentjs.com/) and [jQuery](http://jquery.com/).
Separate stylesheets are included for use with Bootstrap 2 or Bootstrap 3.
@@ -93,7 +93,7 @@ $('input[name="daterange"]').daterangepicker(
## License
-This code is made available under the same license as Twitter Bootstrap. Moment.js is included in this repository
+This code is made available under the same license as Bootstrap. Moment.js is included in this repository
for convenience. It is available under the [MIT license](http://www.opensource.org/licenses/mit-license.php).
--
diff --git a/dist/assets/lib/daterangepicker/daterangepicker-bs2.css b/dist/assets/lib/daterangepicker/daterangepicker-bs2.css
index 94eed243..a36fb08a 100644
--- a/dist/assets/lib/daterangepicker/daterangepicker-bs2.css
+++ b/dist/assets/lib/daterangepicker/daterangepicker-bs2.css
@@ -10,6 +10,7 @@
.daterangepicker.dropdown-menu {
max-width: none;
+ z-index: 3000;
}
.daterangepicker.opensleft .ranges, .daterangepicker.opensleft .calendar {
@@ -231,4 +232,4 @@
.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.ampmselect {
width: 60px;
margin-bottom: 0;
-}
\ No newline at end of file
+}
diff --git a/dist/assets/lib/daterangepicker/daterangepicker-bs3.css b/dist/assets/lib/daterangepicker/daterangepicker-bs3.css
index 1410a87a..eed1e9f4 100644
--- a/dist/assets/lib/daterangepicker/daterangepicker-bs3.css
+++ b/dist/assets/lib/daterangepicker/daterangepicker-bs3.css
@@ -10,6 +10,7 @@
.daterangepicker.dropdown-menu {
max-width: none;
+ z-index: 3000;
}
.daterangepicker.opensleft .ranges, .daterangepicker.opensleft .calendar {
@@ -241,4 +242,4 @@
.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.ampmselect {
width: 50px;
margin-bottom: 0;
-}
\ No newline at end of file
+}
diff --git a/dist/assets/lib/daterangepicker/daterangepicker.js b/dist/assets/lib/daterangepicker/daterangepicker.js
index f14df675..68f25747 100644
--- a/dist/assets/lib/daterangepicker/daterangepicker.js
+++ b/dist/assets/lib/daterangepicker/daterangepicker.js
@@ -594,13 +594,13 @@
}
if (isLeft) {
- var start = this.startDate;
+ var start = this.startDate.clone();
start.hour(hour);
start.minute(minute);
this.startDate = start;
this.leftCalendar.month.hour(hour).minute(minute);
} else {
- var end = this.endDate;
+ var end = this.endDate.clone();
end.hour(hour);
end.minute(minute);
this.endDate = end;
@@ -663,13 +663,14 @@
if (dayOfWeek == this.locale.firstDay)
startDay = daysInLastMonth - 6;
- var curDate = moment([lastYear, lastMonth, startDay, hour, minute]);
- for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add('day', 1)) {
+ var curDate = moment([lastYear, lastMonth, startDay, 12, minute]);
+ for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add('hour', 24)) {
if (i > 0 && col % 7 == 0) {
col = 0;
row++;
}
- calendar[row][col] = curDate;
+ calendar[row][col] = curDate.clone().hour(hour);
+ curDate.hour(12);
}
return calendar;
@@ -694,7 +695,7 @@
var currentYear = selected.year();
var maxYear = (maxDate && maxDate.year()) || (currentYear + 5);
var minYear = (minDate && minDate.year()) || (currentYear - 50);
- var yearHtml = ''
+ var yearHtml = '';
for (var y = minYear; y <= maxYear; y++) {
yearHtml += '
- A date range picker for Twitter Bootstrap
+ A date range picker for Bootstrap
diff --git a/dist/assets/lib/gmaps/README.md b/dist/assets/lib/gmaps/README.md
index 0d53dc21..1bf43ab7 100644
--- a/dist/assets/lib/gmaps/README.md
+++ b/dist/assets/lib/gmaps/README.md
@@ -20,6 +20,13 @@ grunt
Changelog
---------
+0.4.6
+-----------------------
+* Allow initialising GMaps without new
+* Added styled map support for static maps
+* Fixed name display for styled maps
+* Allow no zoom for static map request
+
0.4.5
-----------------------
* Fix IE8 bug using array_map
diff --git a/dist/assets/lib/gmaps/examples/static.html b/dist/assets/lib/gmaps/examples/static.html
index 076119c4..f69f644c 100644
--- a/dist/assets/lib/gmaps/examples/static.html
+++ b/dist/assets/lib/gmaps/examples/static.html
@@ -36,7 +36,7 @@ GMaps.js — Static map
$('<img/>').attr('src', url)
.appendTo('#map');
You must define a size and the latitude and longitude of the map's center.
- Note: You also can define zoom (by default is 15).
+ Note: You also can define zoom (by default is 15, unless zoom is set to false, in which case Google will set zoom based on marker positions).
diff --git a/dist/assets/lib/gmaps/examples/static_styles.html b/dist/assets/lib/gmaps/examples/static_styles.html
new file mode 100644
index 00000000..a8c5e4f5
--- /dev/null
+++ b/dist/assets/lib/gmaps/examples/static_styles.html
@@ -0,0 +1,73 @@
+
+
+
+
+ GMaps.js — Static map
+
+
+
+
+
+
+
+
+ GMaps.js — Static map
+
+
+
+
You can use the same styles as for a normal styled map to make a static map using GMaps.js:
+
url = GMaps.staticMapURL({
+ size: [610, 350],
+ lat: -12.043333,
+ lng: -77.028333
+ styles: [{
+ featureType: "all",
+ elementType: "all",
+ stylers: [
+ { hue: '#FF0000' }
+ ]
+ },
+ {
+ featureType: "landscape",
+ elementType: "all",
+ stylers: [
+ { hue: '#0A2D3F'},
+ { saturation: 50 },
+ { lightness: -10 }
+ ]
+ }]
+});
+
+$('<img/>').attr('src', url)
+ .appendTo('#map');
+
+
+
+
diff --git a/dist/assets/lib/gmaps/gmaps.js b/dist/assets/lib/gmaps/gmaps.js
index 8fadff91..74a5e047 100644
--- a/dist/assets/lib/gmaps/gmaps.js
+++ b/dist/assets/lib/gmaps/gmaps.js
@@ -1,5 +1,5 @@
/*!
- * GMaps.js v0.4.5
+ * GMaps.js v0.4.6
* http://hpneo.github.com/gmaps/
*
* Copyright 2013, Gustavo Leon
@@ -136,6 +136,8 @@ var GMaps = (function(global) {
var doc = document;
var GMaps = function(options) {
+ if (!this) return new GMaps(options);
+
options.zoom = options.zoom || 15;
options.mapType = options.mapType || 'roadmap';
@@ -1546,6 +1548,10 @@ GMaps.staticMapURL = function(options){
delete options.marker;
}
+ var styles = options.styles;
+
+ delete options.styles;
+
var polyline = options.polyline;
delete options.polyline;
@@ -1580,7 +1586,7 @@ GMaps.staticMapURL = function(options){
}
parameters.push('size=' + size);
- if (!options.zoom) {
+ if (!options.zoom && options.zoom !== false) {
options.zoom = 15;
}
@@ -1603,20 +1609,33 @@ GMaps.staticMapURL = function(options){
if (data.size && data.size !== 'normal') {
marker.push('size:' + data.size);
+ delete data.size;
}
else if (data.icon) {
marker.push('icon:' + encodeURI(data.icon));
+ delete data.icon;
}
if (data.color) {
marker.push('color:' + data.color.replace('#', '0x'));
+ delete data.color;
}
if (data.label) {
marker.push('label:' + data.label[0].toUpperCase());
+ delete data.label;
}
loc = (data.address ? data.address : data.lat + ',' + data.lng);
+ delete data.address;
+ delete data.lat;
+ delete data.lng;
+
+ for(var param in data){
+ if (data.hasOwnProperty(param)) {
+ marker.push(param + ':' + data[param]);
+ }
+ }
if (marker.length || i === 0) {
marker.push(loc);
@@ -1631,6 +1650,35 @@ GMaps.staticMapURL = function(options){
}
}
+ /** Map Styles **/
+ if (styles) {
+ for (var i = 0; i < styles.length; i++) {
+ var styleRule = [];
+ if (styles[i].featureType && styles[i].featureType != 'all' ) {
+ styleRule.push('feature:' + styles[i].featureType);
+ }
+
+ if (styles[i].elementType && styles[i].elementType != 'all') {
+ styleRule.push('element:' + styles[i].elementType);
+ }
+
+ for (var j = 0; j < styles[i].stylers.length; j++) {
+ for (var p in styles[i].stylers[j]) {
+ var ruleArg = styles[i].stylers[j][p];
+ if (p == 'hue' || p == 'color') {
+ ruleArg = '0x' + ruleArg.substring(1);
+ }
+ styleRule.push(p + ':' + ruleArg);
+ }
+ }
+
+ var rule = styleRule.join('|');
+ if (rule != '') {
+ parameters.push('style=' + rule);
+ }
+ }
+ }
+
/** Polylines **/
function parseColor(color, opacity) {
if (color[0] === '#'){
@@ -1720,7 +1768,7 @@ GMaps.prototype.removeOverlayMapType = function(overlayMapTypeIndex) {
};
GMaps.prototype.addStyle = function(options) {
- var styledMapType = new google.maps.StyledMapType(options.styles, options.styledMapName);
+ var styledMapType = new google.maps.StyledMapType(options.styles, { name: options.styledMapName });
this.map.mapTypes.set(options.mapTypeId, styledMapType);
};
diff --git a/dist/assets/lib/gmaps/lib/gmaps.core.js b/dist/assets/lib/gmaps/lib/gmaps.core.js
index e1f71a1a..6dc7f95b 100644
--- a/dist/assets/lib/gmaps/lib/gmaps.core.js
+++ b/dist/assets/lib/gmaps/lib/gmaps.core.js
@@ -128,6 +128,8 @@ var GMaps = (function(global) {
var doc = document;
var GMaps = function(options) {
+ if (!this) return new GMaps(options);
+
options.zoom = options.zoom || 15;
options.mapType = options.mapType || 'roadmap';
diff --git a/dist/assets/lib/gmaps/lib/gmaps.static.js b/dist/assets/lib/gmaps/lib/gmaps.static.js
index 740001b9..7c2e6890 100644
--- a/dist/assets/lib/gmaps/lib/gmaps.static.js
+++ b/dist/assets/lib/gmaps/lib/gmaps.static.js
@@ -51,6 +51,10 @@ GMaps.staticMapURL = function(options){
delete options.marker;
}
+ var styles = options.styles;
+
+ delete options.styles;
+
var polyline = options.polyline;
delete options.polyline;
@@ -85,7 +89,7 @@ GMaps.staticMapURL = function(options){
}
parameters.push('size=' + size);
- if (!options.zoom) {
+ if (!options.zoom && options.zoom !== false) {
options.zoom = 15;
}
@@ -108,20 +112,33 @@ GMaps.staticMapURL = function(options){
if (data.size && data.size !== 'normal') {
marker.push('size:' + data.size);
+ delete data.size;
}
else if (data.icon) {
marker.push('icon:' + encodeURI(data.icon));
+ delete data.icon;
}
if (data.color) {
marker.push('color:' + data.color.replace('#', '0x'));
+ delete data.color;
}
if (data.label) {
marker.push('label:' + data.label[0].toUpperCase());
+ delete data.label;
}
loc = (data.address ? data.address : data.lat + ',' + data.lng);
+ delete data.address;
+ delete data.lat;
+ delete data.lng;
+
+ for(var param in data){
+ if (data.hasOwnProperty(param)) {
+ marker.push(param + ':' + data[param]);
+ }
+ }
if (marker.length || i === 0) {
marker.push(loc);
@@ -136,6 +153,35 @@ GMaps.staticMapURL = function(options){
}
}
+ /** Map Styles **/
+ if (styles) {
+ for (var i = 0; i < styles.length; i++) {
+ var styleRule = [];
+ if (styles[i].featureType && styles[i].featureType != 'all' ) {
+ styleRule.push('feature:' + styles[i].featureType);
+ }
+
+ if (styles[i].elementType && styles[i].elementType != 'all') {
+ styleRule.push('element:' + styles[i].elementType);
+ }
+
+ for (var j = 0; j < styles[i].stylers.length; j++) {
+ for (var p in styles[i].stylers[j]) {
+ var ruleArg = styles[i].stylers[j][p];
+ if (p == 'hue' || p == 'color') {
+ ruleArg = '0x' + ruleArg.substring(1);
+ }
+ styleRule.push(p + ':' + ruleArg);
+ }
+ }
+
+ var rule = styleRule.join('|');
+ if (rule != '') {
+ parameters.push('style=' + rule);
+ }
+ }
+ }
+
/** Polylines **/
function parseColor(color, opacity) {
if (color[0] === '#'){
diff --git a/dist/assets/lib/gmaps/lib/gmaps.styles.js b/dist/assets/lib/gmaps/lib/gmaps.styles.js
index 2dfe65aa..db06b455 100644
--- a/dist/assets/lib/gmaps/lib/gmaps.styles.js
+++ b/dist/assets/lib/gmaps/lib/gmaps.styles.js
@@ -1,5 +1,5 @@
GMaps.prototype.addStyle = function(options) {
- var styledMapType = new google.maps.StyledMapType(options.styles, options.styledMapName);
+ var styledMapType = new google.maps.StyledMapType(options.styles, { name: options.styledMapName });
this.map.mapTypes.set(options.mapTypeId, styledMapType);
};
diff --git a/dist/assets/lib/gmaps/package.json b/dist/assets/lib/gmaps/package.json
index 827954d7..89d449c0 100644
--- a/dist/assets/lib/gmaps/package.json
+++ b/dist/assets/lib/gmaps/package.json
@@ -1,6 +1,6 @@
{
"name": "gmaps",
- "version": "0.4.5",
+ "version": "0.4.6",
"description": "the easiest way to use Google Maps",
"main": "gmaps.js",
"scripts": {
diff --git a/dist/assets/lib/jasny/README.md b/dist/assets/lib/jasny/README.md
index 0de7b362..31978218 100644
--- a/dist/assets/lib/jasny/README.md
+++ b/dist/assets/lib/jasny/README.md
@@ -123,3 +123,7 @@ 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.
+
+
+[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/jasny/bootstrap/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
+
diff --git a/dist/assets/lib/plupload/examples/jquery/s3.php b/dist/assets/lib/plupload/examples/jquery/s3.php
index 706cab6d..c378aba6 100644
--- a/dist/assets/lib/plupload/examples/jquery/s3.php
+++ b/dist/assets/lib/plupload/examples/jquery/s3.php
@@ -115,8 +115,7 @@ function hash_hmac($algo, $data, $key, $raw_output = false)
'key': '${filename}', // use filename as a key
'Filename': '${filename}', // adding this to keep consistency across the runtimes
'acl': 'public-read',
- 'Content-Type': 'image/jpeg',
- 'success_action_status': '201',
+ 'Content-Type': 'image/jpeg'
'AWSAccessKeyId' : '',
'policy': '',
'signature': ''
diff --git a/dist/assets/lib/plupload/src/jquery.ui.plupload/jquery.ui.plupload.js b/dist/assets/lib/plupload/src/jquery.ui.plupload/jquery.ui.plupload.js
index b7a089ba..8b266ee0 100644
--- a/dist/assets/lib/plupload/src/jquery.ui.plupload/jquery.ui.plupload.js
+++ b/dist/assets/lib/plupload/src/jquery.ui.plupload/jquery.ui.plupload.js
@@ -400,15 +400,12 @@ $.widget("ui.plupload", {
options.drop_element = this.id + '_dropbox';
}
+ uploader = this.uploader = uploaders[id] = new plupload.Uploader($.extend(this.options, options));
+
if (self.options.views.thumbs) {
- if (o.typeOf(self.options.required_features) === 'string') {
- self.options.required_features += ",display_media";
- } else {
- self.options.required_features = "display_media";
- }
+ uploader.settings.required_features.display_media = true;
}
- uploader = this.uploader = uploaders[id] = new plupload.Uploader($.extend(this.options, options));
uploader.bind('Error', function(up, err) {
var message, details = "";
@@ -530,10 +527,20 @@ $.widget("ui.plupload", {
// uploader internal events must run first
uploader.init();
+
+ uploader.bind('FileFiltered', function(up, file) {
+ self._addFiles(file);
+ });
uploader.bind('FilesAdded', function(up, files) {
- self._addFiles(files);
self._trigger('selected', null, { up: up, files: files } );
+
+ // re-enable sortable
+ if (self.options.sortable && $.ui.sortable) {
+ self._enableSortingList();
+ }
+
+ self._trigger('updatelist', null, { filelist: self.filelist });
if (self.options.autostart) {
// set a little delay to make sure that QueueChanged triggered by the core has time to complete
@@ -547,12 +554,7 @@ $.widget("ui.plupload", {
self._trigger('removed', null, { up: up, files: files } );
});
- uploader.bind('QueueChanged', function() {
- self._handleState();
- self._updateTotalProgress();
- });
-
- uploader.bind('StateChanged', function() {
+ uploader.bind('QueueChanged StateChanged', function() {
self._handleState();
});
@@ -951,11 +953,6 @@ $.widget("ui.plupload", {
files = [files];
}
- // destroy sortable if enabled
- if ($.ui.sortable && this.options.sortable) {
- $('tbody', self.filelist).sortable('destroy');
- }
-
// loop over files to add
$.each(files, function(i, file) {
@@ -1004,13 +1001,6 @@ $.widget("ui.plupload", {
if (queue.length) {
o.inSeries(queue);
}
-
- // re-enable sortable
- if (this.options.sortable && $.ui.sortable) {
- this._enableSortingList();
- }
-
- this._trigger('updatelist', null, { filelist: this.filelist });
},
@@ -1185,13 +1175,17 @@ $.widget("ui.plupload", {
_enableSortingList: function() {
- var self = this, filelist = $('.plupload_filelist_content', this.element);
+ var self = this;
- if ($('.plupload_file', filelist).length < 2) {
+ if ($('.plupload_file', this.filelist).length < 2) {
return;
}
+
+ // destroy sortable if enabled
+ $('tbody', this.filelist).sortable('destroy');
- filelist.sortable({
+ // enable
+ this.filelist.sortable({
items: '.plupload_delete',
cancel: 'object, .plupload_clearer',
diff --git a/dist/assets/lib/plupload/src/plupload.js b/dist/assets/lib/plupload/src/plupload.js
index 7948d883..c6e0cec8 100644
--- a/dist/assets/lib/plupload/src/plupload.js
+++ b/dist/assets/lib/plupload/src/plupload.js
@@ -289,6 +289,32 @@ var plupload = {
*/
guid : o.guid,
+ /**
+ * Get array of DOM Elements by their ids.
+ *
+ * @method get
+ * @for Utils
+ * @param {String} id Identifier of the DOM Element
+ * @return {Array}
+ */
+ get : function get(ids) {
+ var els = [], el;
+
+ if (o.typeOf(ids) !== 'array') {
+ ids = [ids];
+ }
+
+ var i = ids.length;
+ while (i--) {
+ el = o.get(ids[i]);
+ if (el) {
+ els.push(el);
+ }
+ }
+
+ return els.length ? els : null;
+ },
+
/**
* Executes the callback function for each item in array/object. If you return false in the
* callback it will break the loop.
@@ -609,7 +635,7 @@ var plupload = {
plupload.addFileFilter('mime_types', (function() {
- var _filters, _extRegExp;
+ var _extRegExp;
// Convert extensions to regexp
function getExtRegExp(filters) {
@@ -629,9 +655,8 @@ plupload.addFileFilter('mime_types', (function() {
}
return function(filters, file, cb) {
- if (!_extRegExp || filters != _filters) { // make sure we do it only once, unless filters got changed
+ if (!_extRegExp) { // make sure we do it only once, unless filters got changed
_extRegExp = getExtRegExp(filters);
- _filters = [].slice.call(filters);
}
if (!_extRegExp.test(file.name)) {
@@ -778,13 +803,21 @@ plupload.Uploader = function(settings) {
*/
/**
- * Fires while a file was removed from queue.
+ * Fires when file is removed from the queue.
*
* @event FilesRemoved
* @param {plupload.Uploader} uploader Uploader instance sending the event.
* @param {Array} files Array of files that got removed.
*/
+ /**
+ * Fires for every filtered file before it is added to the queue.
+ *
+ * @event FileFiltered
+ * @param {plupload.Uploader} uploader Uploader instance sending the event.
+ * @param {plupload.File} file Another file that has to be added to the queue.
+ */
+
/**
* Fires after files were filtered and added to the queue.
*
@@ -836,7 +869,7 @@ plupload.Uploader = function(settings) {
var uid = plupload.guid(),
files = [], required_caps = {},
startTime, total, disabled = false,
- fileInput, fileDrop, xhr;
+ fileInputs = [], fileDrops = [], xhr;
// Private methods
@@ -913,7 +946,7 @@ plupload.Uploader = function(settings) {
}
function initControls() {
- var self = this, initialized = 0;
+ var self = this, initialized = 0, queue = [];
// common settings
var options = {
@@ -931,15 +964,15 @@ plupload.Uploader = function(settings) {
}
});
- o.inSeries([
- function(cb) {
- // Initialize file dialog trigger
- if (settings.browse_button) {
- fileInput = new o.FileInput(plupload.extend({}, options, {
+ // initialize file pickers - there can be many
+ if (settings.browse_button) {
+ plupload.each(settings.browse_button, function(el) {
+ queue.push(function(cb) {
+ var fileInput = new o.FileInput(plupload.extend({}, options, {
name: settings.file_data_name,
multiple: settings.multi_selection,
container: settings.container,
- browse_button: settings.browse_button
+ browse_button: el
}));
fileInput.onready = function() {
@@ -953,6 +986,7 @@ plupload.Uploader = function(settings) {
});
initialized++;
+ fileInputs.push(this);
cb();
};
@@ -962,24 +996,20 @@ plupload.Uploader = function(settings) {
fileInput.bind('mouseenter mouseleave mousedown mouseup', function(e) {
if (!disabled) {
- var bButton = o.get(settings.browse_button);
- if (bButton) {
- if (settings.browse_button_hover) {
- if ('mouseenter' === e.type) {
- o.addClass(bButton, settings.browse_button_hover);
- } else if ('mouseleave' === e.type) {
- o.removeClass(bButton, settings.browse_button_hover);
- }
+ if (settings.browse_button_hover) {
+ if ('mouseenter' === e.type) {
+ o.addClass(el, settings.browse_button_hover);
+ } else if ('mouseleave' === e.type) {
+ o.removeClass(el, settings.browse_button_hover);
}
+ }
- if (settings.browse_button_active) {
- if ('mousedown' === e.type) {
- o.addClass(bButton, settings.browse_button_active);
- } else if ('mouseup' === e.type) {
- o.removeClass(bButton, settings.browse_button_active);
- }
+ if (settings.browse_button_active) {
+ if ('mousedown' === e.type) {
+ o.addClass(el, settings.browse_button_active);
+ } else if ('mouseup' === e.type) {
+ o.removeClass(el, settings.browse_button_active);
}
- bButton = null;
}
}
});
@@ -990,24 +1020,25 @@ plupload.Uploader = function(settings) {
});
fileInput.init();
- } else {
- cb();
- }
- },
+ });
+ });
+ }
- function(cb) {
- // Initialize drag/drop interface if requested
- if (settings.drop_element) {
- fileDrop = new o.FileDrop(plupload.extend({}, options, {
- drop_zone: settings.drop_element
+ // initialize drop zones
+ if (settings.drop_element) {
+ plupload.each(settings.drop_element, function(el) {
+ queue.push(function(cb) {
+ var fileDrop = new o.FileDrop(plupload.extend({}, options, {
+ drop_zone: el
}));
fileDrop.onready = function() {
var info = o.Runtime.getInfo(this.ruid);
- self.features.dragdrop = info.can('drag_and_drop');
+ self.features.dragdrop = info.can('drag_and_drop'); // for backward compatibility
initialized++;
+ fileDrops.push(this);
cb();
};
@@ -1021,12 +1052,12 @@ plupload.Uploader = function(settings) {
});
fileDrop.init();
- } else {
- cb();
- }
- }
- ],
- function() {
+ });
+ });
+ }
+
+
+ o.inSeries(queue, function() {
if (typeof(settings.init) == "function") {
settings.init(self);
} else {
@@ -1036,6 +1067,8 @@ plupload.Uploader = function(settings) {
}
if (initialized) {
+ self.runtime = o.Runtime.getInfo(getRUID()).type;
+ self.trigger('Init', { runtime: self.runtime });
self.trigger('PostInit');
} else {
self.trigger('Error', {
@@ -1046,6 +1079,14 @@ plupload.Uploader = function(settings) {
});
}
+ function getRUID() {
+ var ctrl = fileInputs[0] || fileDrops[0];
+ if (ctrl) {
+ return ctrl.getRuntime().uid;
+ }
+ return false;
+ }
+
function runtimeCan(file, cap) {
if (file.ruid) {
var info = o.Runtime.getInfo(file.ruid);
@@ -1161,7 +1202,7 @@ plupload.Uploader = function(settings) {
* @property runtime
* @type String
*/
- runtime : o.Runtime.thatCan(required_caps, settings.runtimes), // predict runtime
+ runtime : null,
/**
* Current upload queue, an array of File instances.
@@ -1197,10 +1238,10 @@ plupload.Uploader = function(settings) {
init : function() {
var self = this;
- settings.browse_button = o.get(settings.browse_button);
+ settings.browse_button = plupload.get(settings.browse_button);
// Check if drop zone requested
- settings.drop_element = o.get(settings.drop_element);
+ settings.drop_element = plupload.get(settings.drop_element);
if (typeof(settings.preinit) == "function") {
@@ -1494,10 +1535,6 @@ plupload.Uploader = function(settings) {
}, 1);
});
- // some dependent scripts hook onto Init to alter configuration options, raw UI, etc (like Queue Widget),
- // therefore we got to fire this one, before we dive into the actual initializaion
- self.trigger('Init', { runtime: this.runtime });
-
initControls.call(this);
},
@@ -1508,8 +1545,10 @@ plupload.Uploader = function(settings) {
* @method refresh
*/
refresh : function() {
- if (fileInput) {
- fileInput.trigger("Refresh");
+ if (fileInputs.length) {
+ plupload.each(fileInputs, function(fileInput) {
+ fileInput.trigger("Refresh");
+ });
}
this.trigger("Refresh");
},
@@ -1551,8 +1590,10 @@ plupload.Uploader = function(settings) {
disableBrowse : function() {
disabled = arguments[0] !== undef ? arguments[0] : true;
- if (fileInput) {
- fileInput.disable(disabled);
+ if (fileInputs.length) {
+ plupload.each(fileInputs, function(fileInput) {
+ fileInput.disable(disabled);
+ });
}
this.trigger("DisableBrowse", disabled);
@@ -1590,14 +1631,6 @@ plupload.Uploader = function(settings) {
, ruid
;
- function getRUID() {
- var ctrl = fileDrop || fileInput;
- if (ctrl) {
- return ctrl.getRuntime().uid;
- }
- return false;
- }
-
function filterFile(file, cb) {
var queue = [];
o.each(self.settings.filters, function(rule, name) {
@@ -1647,8 +1680,9 @@ plupload.Uploader = function(settings) {
filterFile(file, function(err) {
if (!err) {
files.push(file);
+ self.trigger("FileFiltered", file);
}
- cb();
+ delay(cb, 1); // do not build up recursions or eventually we might hit the limits
});
});
}
@@ -1711,13 +1745,15 @@ plupload.Uploader = function(settings) {
var removed = files.splice(start === undef ? 0 : start, length === undef ? files.length : length);
this.trigger("FilesRemoved", removed);
- this.trigger("QueueChanged");
// Dispose any resources allocated by those files
plupload.each(removed, function(file) {
file.destroy();
});
+ this.trigger("QueueChanged");
+ this.refresh();
+
return removed;
},
@@ -1785,14 +1821,18 @@ plupload.Uploader = function(settings) {
});
files = [];
- if (fileInput) {
- fileInput.destroy();
- fileInput = null;
+ if (fileInputs.length) {
+ plupload.each(fileInputs, function(fileInput) {
+ fileInput.destroy();
+ });
+ fileInputs = [];
}
- if (fileDrop) {
- fileDrop.destroy();
- fileDrop = null;
+ if (fileDrops.length) {
+ plupload.each(fileDrops, function(fileDrop) {
+ fileDrop.destroy();
+ });
+ fileDrops = [];
}
required_caps = {};
@@ -1806,7 +1846,7 @@ plupload.Uploader = function(settings) {
});
};
-plupload.Uploader.prototype = mOxie.EventTarget.instance;
+plupload.Uploader.prototype = o.EventTarget.instance;
/**
* Constructs a new file instance.
diff --git a/dist/assets/lib/switch/static/js/bootstrap-switch.js b/dist/assets/lib/switch/static/js/bootstrap-switch.js
index 7251eb2f..b59feeaa 100644
--- a/dist/assets/lib/switch/static/js/bootstrap-switch.js
+++ b/dist/assets/lib/switch/static/js/bootstrap-switch.js
@@ -61,7 +61,7 @@
.addClass("switch-left")
.addClass(myClasses)
.addClass(color)
- .html(onLabel);
+ .html('' + onLabel + '');
color = '';
if ($element.data('off') !== undefined)
@@ -71,7 +71,7 @@
.addClass("switch-right")
.addClass(myClasses)
.addClass(color)
- .html(offLabel);
+ .html('' + offLabel + '');
$label = $('')
.html(" ")
diff --git a/dist/assets/lib/tablesorter/README.md b/dist/assets/lib/tablesorter/README.md
index 151ff271..26ccb7d9 100644
--- a/dist/assets/lib/tablesorter/README.md
+++ b/dist/assets/lib/tablesorter/README.md
@@ -1,9 +1,3 @@
-#### **I'll be on sabbitical starting June 5, 2013 for approximately 2-3 months. So, sadly, I won't be able to fix any problems or add enhancements until I return; I will return :)**
-
-#### 8/31/2013 update: *** sorry everyone, I'm going to be away a bit longer. At least another month and a half :( ***
-
----
-
tablesorter is a jQuery plugin for turning a standard HTML table with THEAD and TBODY tags into a sortable table without page refreshes.
tablesorter can successfully parse and sort many types of data including linked data in a cell.
@@ -49,6 +43,106 @@ tablesorter can successfully parse and sort many types of data including linked
View the [complete listing here](https://github.com/Mottie/tablesorter/wiki/Change).
+#### Version 2.11.1 (10/11/2013)
+
+* Fixed an updating bug:
+ * The pager was not updating properly
+ * The `updateComplete` event was not firing when not using ajax.
+ * Thanks @sbine for sharing the fix!
+
+#### Version 2.11 (10/10/2013)
+
+**Core**
+* Initialized widgets (widgets with options) are now tracked to ensure widget options are extended when using "applyWidgets". Fixes [issue #330](https://github.com/Mottie/tablesorter/issues/330).
+* An javascript error no longer pops up when setting the `delayInit` option to `true` and using the `saveSort` widget (or triggering a `sorton` method). Fixes [issue #346](https://github.com/Mottie/tablesorter/issues/346).
+* Only visible columns will be considered when fixing column widths. Fixes [issue #371](https://github.com/Mottie/tablesorter/issues/371).
+* Merged in fix for jQuery version check ([pull #338](https://github.com/Mottie/tablesorter/pull/338)). This also fixes [issue #379](https://github.com/Mottie/tablesorter/issues/379). Thanks @lemoinem!
+* Removed natural sort's ability to sort dates. This shouldn't be a problem since tablesorter uses parsers detect & parse date columns automatically. Fixes [issue #373](https://github.com/Mottie/tablesorter/issues/373).
+* Fixed [issue #381](https://github.com/Mottie/tablesorter/issues/381).
+ * Any class name that is set by an option and is later used to search for that element now has an empty default class name.
+ * The reasoning is that if a developer adds two class names to the option, the jQuery find breaks.
+ * All default single class name options are now contained within `$.tablesorter.css`
+ * Options affected include: tableClass, cssAsc, cssDesc, cssHeader, cssIcon, cssHeaderRow, cssProcessing in the core.
+ * Note that the `cssIcon` option retains it's default class name & functionality to not add an `` inside the table cell if this *extra class name* is undefined.
+ * Widget options affected include: filter_cssFilter and stickyHeaders.
+* Removed `return false` from header mouse/keyboard interaction. Fixes [issue #305](https://github.com/Mottie/tablesorter/pull/305) & [issue #366](https://github.com/Mottie/tablesorter/issues/366).
+
+**Parsers**
+* Fixed sugar date parser demo to point to the correct parser file and sugarjs resource.
+* General cleaned up date, fraction and metric parsers & fixing of minor bugs.
+
+**Build Table Widget (new)**
+* Build a table starting with an assortment of data types ( array, text (CSV, HTML) or object (json) ).
+* This widget isn't really a widget because it is run and does it's processing before tablesorter has initialized; but the options for it are contained within the tablesorter `widgetOptions`.
+
+**Column Widget**
+* General cleanup
+
+**Filter Widget**
+* Exact matches can still be made if the user enters an exact match indicator twice (i.e. `John==` will still find `John` in the column; before it would think the user was looking for `John=` after the second `=` was typed)
+* Dynamically added filter reset buttons will now work automatically. Added by [pull #327](https://github.com/Mottie/tablesorter/pull/327). Thanks @riker09!
+* Chrome appears to have fixed the hidden input bug, so reverted changes to the basic filter demo. Fixes [issue #341](https://github.com/Mottie/tablesorter/issues/341).
+* The filter widget will work properly with sub-tables. Fixes [issue #354](https://github.com/Mottie/tablesorter/issues/354). Thanks @johngrogg!
+* Fixed issues with `filter_columnFilters` set to `false`. Fixes [issue #355](https://github.com/Mottie/tablesorter/issues/355).
+* Searches now have accents replaced if the `sortLocaleCompare` option is `true`. Fixes [issue #357](https://github.com/Mottie/tablesorter/issues/357).
+* Merged in enhancement for the filter widget & updated docs - add row to `filter_functions` parameters ([issue #367](https://github.com/Mottie/tablesorter/issues/367), [pull #368](https://github.com/Mottie/tablesorter/pull/368)). Thanks @gknights!
+* FilterFormatter jQuery UI Datepicker now includes the user selected time for comparisons. Thanks @TheSin-!
+* Another fix to the filteFormatter jQuery UI Datepicker to make it work properly with the sticky header widget. Thanks @TheSin-!
+* Removed filter_cssFilter default class name. The "tablesorter-filter" class name is automatically added, and this option now contains any additional class names to add. Fixes [issue #381](https://github.com/Mottie/tablesorter/issues/381).
+
+**Grouping Widget**
+* The grouping widget now works across multiple tbodies.
+* Added `group-false` header option which disables the grouping widget for a specific column. Fixes [issue #344](https://github.com/Mottie/tablesorter/issues/344).
+* Added the `group_collapsed` option which when true and the `group_collapsible` option is also true, all groups will start collapsed. Fulfills [issue #352](https://github.com/Mottie/tablesorter/issues/352).
+* You can now toggle *all* group rows by holding down the shift key while clicking on a group header.
+* This widget now works properly with the pager addon (pager addon updated). Fixes [issue #281](https://github.com/Mottie/tablesorter/issues/281).
+
+**StickyHeaders Widget**
+* Caption outerheight now used to get the correct full height of the caption. Thanks @TheSin-!
+* `stickyHeaders_zIndex` option added to allow users to customize their sticky header z-index. Fixes [issue #332](https://github.com/Mottie/tablesorter/pull/332). Thanks @TheSin-!
+
+**UITheme widget**
+* Updated Bootstrap theme to work with Bootstrap v3
+ * Only additions were made to the sorting icons class names within in the `$.tablesorter.themes.bootstrap` defaults (contained in the `jquery.tablesorter.widgets.js` file).
+ * So the theme will support all current versions of Bootstrap, just make sure you are using the appropriate icon class name (`icon-{name}` = v2; `glyphicon glyphicon-{name}` = v3).
+ * Removed the gradient background from the header & footer cells.
+ * Added a reduced icon font side for header sort icons.
+ * Renamed the pager class from `pager` to `ts-pager` as Bootstrap adds a lot of padding to that class. See [Bootstrap theme demo](http://mottie.github.io/tablesorter/docs/example-widget-bootstrap-theme.html).
+ * Thanks @YeaYeah for sharing how to fix the top border in [issue #365](https://github.com/Mottie/tablesorter/issues/365).
+
+**Pager**
+* Fixed the `removeRows` option error when set to `true`.
+* The pager now stores any object returned by the `ajaxProcessing` function in `table.config.pager.ajaxData`
+ * The object should contain attributes for `total` (numeric), `headers` (array) and `rows` (array of arrays).
+ * A replacement `output` option can also be loaded via this method and must be included in the `output` attribute (i.e. `ajaxData.output`).
+ * Additional attributes are also available to the output display by using the attribute key wrapped in curly brackets (e.g. `{extra}` from `ajaxData.extra`).
+ * Additional attributes can also be objects or arrays and can be accessed via the output string as `{extra:0}` (for arrays) or `{extra:key}` for objects.
+ * The page number is processed first, so it would be possible to use this string `{extra:{page}}` (`{page}` is a one-based index), or if you need a different value use `{page+1}` (zero-based index plus any number), or `{page-1}` (zero-based index minus any number).
+ * For more details, please see [issue #326](https://github.com/Mottie/tablesorter/issues/326).
+ * Thanks @camallen for the suggestions & feedback!
+* The "updateComplete" event should now properly trigger after an ansynchronous ajax call has completed. Fixes [issue #343](https://github.com/Mottie/tablesorter/issues/343).
+* Added a new `savePages` option
+ * Requires requires the `$.tablesorter.storage` script within the `jquery.tablesorter.widget.js` file to work properly.
+ * When `true`, it saves pager page & size if the storage script is loaded (requires $.tablesorter.storage in jquery.tablesorter.widgets.js).
+ * The pager will continue to function properly without the storage script, it just won't save the current page or pager size.
+ * Fulfills enhancement request from [issue #345](https://github.com/Mottie/tablesorter/issues/345).
+* Removed table update when using ajax with a server that is already doing all of the work. Fixes [issue #372](https://github.com/Mottie/tablesorter/issues/372) & [issue #361](https://github.com/Mottie/tablesorter/issues/361). Thanks @sbine!
+* Merged in change to count table th length after ajaxProcessing ([pull #383](https://github.com/Mottie/tablesorter/pull/383)). Thanks @harryxu!
+* Reverted changes made in [pull #349](https://github.com/Mottie/tablesorter/pull/349) as the error row was not showing because the urls did not exactly equal each other.
+* Child rows within the pager will now properly display/hide. Fixes [issue #348](https://github.com/Mottie/tablesorter/issues/348).
+* Merged in fix for pager redundant ajax requests ([pull #336](https://github.com/Mottie/tablesorter/pull/336)). Thanks @camallen!
+* Merged in fix for pager totalRows check ([pull #324](https://github.com/Mottie/tablesorter/pull/324)). Thanks @camallen!
+
+**Internal fixes**
+* Modified the pager plugin internal variables to use `p` for pager options and `c` for table config options - for consistency.
+* Cleaned up the formatting of a few parsers (mostly cosmetic!)
+* Some parser functions were added to the `$.tablesorter` object instead of keeping them as private functions, just because my OCD compelled me to do it.
+* Some of the changes made the parsers are no longer backward compatible to the original version of tablesorter. Break away man, just do it!
+
+**Thanks**
+* Thanks to @thezoggy and @TheSin- for help maintaining and supporting the tablesorter github project while I was away!
+* Also thanks to everyone else that contributed and even more thanks to those that helped troubleshoot and solve problems!
+
#### Version 2.10.8 (6/3/2013)
* Updated the percent parser to only detect if the content is shorter than 15 characters. This prevents columns with a lot of content and one percent sign (%) from being set to be parsed as a percent numeric column. Fixes [issue #320](https://github.com/Mottie/tablesorter/issues/320).
@@ -79,395 +173,3 @@ View the [complete listing here](https://github.com/Mottie/tablesorter/wiki/Chan
#### Version 2.10.5 (5/30/2013)
* Filter formatter functions now works properly within sticky headers. Fixes issues [#290](https://github.com/Mottie/tablesorter/issues/290) & [#317](https://github.com/Mottie/tablesorter/issues/317).
-
-#### Version 2.10.4 (5/28/2013)
-
-* Added `stickyHeadersInit` event, which is triggered on the table after the sticky headers widget has completed initializing.
-* Filtering child rows should now work properly; [fixes #306](https://github.com/Mottie/tablesorter/issues/306).
-
-#### Version 2.10.3 (5/27/2013)
-
-* Updated pager `pageSize` method to properly store the set page size; [fixes #287](https://github.com/Mottie/tablesorter/issues/287).
-
-#### Version 2.10.2 (5/27/2013)
-
-* The minified scripts are now updated =/.
-
-#### Version 2.10.1 (5/27/2013)
-
-* Core fixes
- * Fixed `updateAll` function to properly refresh the widgets.
- * Added keyboard accessibility
- * Header cells can now be accessed using the tab key and sorted by pressing enter when they have "focus".
- * Thanks to [debugwand](https://github.com/debugwand) for sharing the code!
-
-* Filter widget updates:
- * Added `filter_onlyAvail` option
- * Updated main & filter demo page docs.
- * Updated [custom filter demo](http://mottie.github.io/tablesorter/docs/example-widget-filter-custom.html) (see the Discount column).
- * Fixes [issue #292](https://github.com/Mottie/tablesorter/issues/292).
- * Thanks to [The Sin-](https://github.com/TheSin-) for sharing the idea and code!
- * Added `compare` option to various filter formatter functions
- * This addition was made to the "uiSpinner", "uiSlider", "html5Range", "html5Number" and the new "uiDateCompare" functions
- * So, for example the html5Number function can be set up as follows:
-
- ```js
- filter_formatter : {
- 0: function($cell, indx) {
- return $.tablesorter.filterFormatter.html5Number( $cell, indx, {
- value: 1,
- min: 1,
- max: 100,
- delay: true,
- addToggle: false,
- exactMatch: false,
- compare: '>='
- })
- }
- }
- ```
-
- now the number type input will allow filtering rows with values greater than or equal to the selected value.
-
- * Thanks to [The Sin-](https://github.com/TheSin-) for sharing the idea and code in [issue #304](https://github.com/Mottie/tablesorter/issues/304).
- * The jQuery UI Datepicker range filter formatter code has been updated:
- * Use the new `uiDateCompare` filter formatter for one input comparisons, or use this `uiDatepicker` update to do comparisons within the two inputs.
- * The two input now functions so that when the "to" input is empty, all dates greater than the "from" date are shown.
- * If the "from" input is empty, all dates less than the "to" input date are shown.
- * Added options `textFrom` (default is `from`) and `textTo` (default is `to`) to allow changing the text label language.
- * Modified the logical "or" search such that it tries to find an exact match for each "or". For example:
- * If `"1|2|3"` is entered into the filter, only column cells that exactly match `1`, `2`, or `3` will be visible.
- * If `"Mike|Br|John"` is entered, only cells with `Mike`, `Br` and `John` will be visible. If you want to include `Bruce`, then use a wild card: `"Mike|Br*|John"`.
- * To only match content using the logical "or" search, simply add the class name `filter-match` to the header cell, then `"1|2|3"` will show cells with `1`, `11`, `12`, etc.
- * Updated the [basic filter widget demo](http://mottie.github.io/tablesorter/docs/example-widget-filter.html) to include a "filter-match" column toggle.
- * Fixed javascript error from improper reference to the "dateFormat". Fixes [issue #306](https://github.com/Mottie/tablesorter/issues/306).
- * Fixed `$.tablesorter.getFilters()` and `$.tablesorter.setFilters()` functions to work properly when the `filter_columnFilters` option is `false` (do not build filter row).
- * Fixed filter widget numeric range error introduces in v2.10.0. Sorry =(.
- * Fixed filter search delay issue, again. =(
- * Fixed filter widget data comparisons, so now you can type in the filter something like `> 1/1/2010` (using the same date format as the column).
- * Filter search input placeholders can now be set using jQuery data:
- * Previously, only a data attribute could contain the filter placeholder text `data-placeholder="Enter something..."`
- * Another method using script can now be used: `$('.tablesorter th:eq(0)').data('placeholder', 'Enter something...');` (where `eq()` contains a zero-based index of the column).
- * Optimized filter queries to search already filtered rows if the previous search is contained within the current search. Fulfills part of [issue #313](https://github.com/Mottie/tablesorter/issues/313).
- * Added a caution note in the filter widget (basic) demo stating the issue with Chrome not rendering search input text properly when previously hidden.
- * For now, I set the `filter_hideFilters` option to `false` until the source of this problem is determined.
- * Check out [this demo](http://jsfiddle.net/Mottie/Mjbab/1/) to see the issue (in Chrome); but I think I'm the only one seeing it.
-* Updated the `$.tablesorter.storage()` function
- * The update is to checking for localStorage browser support.
- * It should now work properly in iOS with private browsing protection.
- * Check out [this great summary](https://gist.github.com/paulirish/5558557) of [Modernizr](http://modernizr.com/) updates by Paul Irish.
-* Documentation fixes
- * Removed `console.log` from the documentation script. Fixes [issue #309](https://github.com/Mottie/tablesorter/issues/309).
- * Updated all `` elements in the documentation to include a type (``) to prevent IE from triggering a form submit. Fixes [issue #285](https://github.com/Mottie/tablesorter/issues/285#issuecomment-17991235).
-
-#### Version 2.10 (5/8/2013)
-
-* Core changes:
- * Fixed/updated content selection & form interaction in both headers and sticky headers.
- * Added missing `sortBegin` event when the `sorton` method is used. YAY for unit testing!
- * Fixed digit and currency parsers not returning appropriately formatted text, when encountered. Another point for unit testing! :P
-
-* Added a public function `$.tablesorter.addHeaderResizeEvent`
- * This function exists within the `jquery.tablesorter.widgets.js` file.
- * There is no built-in resize event for non-window elements, so when this function is active it triggers a `resize` event when the header cell changes size.
- * Enable the triggering of header cell resize events as follows:
-
- ```js
- var table = $('table')[0],
- disable = false,
- options = {
- timer : 250 // header cell size is checked every 250 milliseconds (1/4 of a second)
- };
- $.tablesorter.addHeaderResizeEvent( table, disable, options );
- ```
-
- * To disable resize event triggering:
-
- ```js
- var table = $('table')[0];
- $.tablesorter.addHeaderResizeEvent( table, true );
- ```
-
-* Filter widget updates:
- * Triggered filter searches now properly update the filter column inputs. See [issue #146](https://github.com/Mottie/tablesorter/issues/146).
- * Added disabled filter styling to the Bootstrap theme. Thanks to [riker09](https://github.com/riker09) ([issue #283](https://github.com/Mottie/tablesorter/pull/283)).
- * Fixed `filter_liveSearch` option to properly work in non-webkit browsers. See [issue #285](https://github.com/Mottie/tablesorter/issues/285).
- * Modified `filter_liveSearch` to allow adding a numeric value to the option, this sets a character threshold which triggers the search when met. Fulfills [issue #286](https://github.com/Mottie/tablesorter/issues/286).
- * Fixed select dropdowns within the sticky header now work properly. Fixes [issue #288](https://github.com/Mottie/tablesorter/issues/288).
- * Added a method to allow properly parsed dates to be comparible using `<`, `<=`, `>`, `>=` and date ranges. Fulfills [issue #302](https://github.com/Mottie/tablesorter/issues/302).
- * Added `filter_filteredRow` option which contains the class name added to each visible filtered row. Used by the pager to properly count filtered rows.
- * Fixed a problem with `filter_searchDelay` which was broken in v2.9.0. Opps, sorry!
- * Minor tweaks to the filter formatter file to allow elements in multiple tables (removed some IDs). More fixing needed!
-
-* Sticky Headers widget:
- * Fixed/updated content selection & form interaction in both headers and sticky headers. Fixes [issue #57](https://github.com/Mottie/tablesorter/issues/57).
- * Fixed an issue with content resizing the table, but not the sticky header.
- * Added `stickyHeaders_addResizeEvent` option to enable this updating.
- * This option uses the new `$.tablesorter.addHeaderResizeEvent` function.
- * Fixes [issue #289](https://github.com/Mottie/tablesorter/issues/289).
- * Added `stickyHeaders_offset` option
- * This option sets the point where the sticky header locks while scrolling. Allowing space for sticky navigation bars, etc.
- * This option accepts:
- * pixel value: `stickyHeaders_offset: 20`
- * jQuery selector: `stickyHeaders_offset: '.navbar-fixed-top`
- * jQuery object: `stickyHeaders_offset: $('.navbar-fixed-top')`
- * Fullfills feature request [#294](https://github.com/Mottie/tablesorter/issues/294).
-
-* Pager addon updates:
- * Controls are now cached internally.
- * `table.config.pager.$container` now stores the jQuery object targeted by the pager `container` option.
- * `table.config.pager.$goto` stores the jQuery object targeted by `cssGoto`.
- * `table.config.pager.$size` stores the jQuery object targeted by `cssPageSize`.
- * Page size selectors should now update properly when the `pageSet` or `pageSize` methods are used.
- * The pager should now properly target the *first sortable* tbody (it will skip any "info-only" tbodies).
- * Fixed `pagerComplete` callback firing more than once while sorting or filtering. Fixes [issue #291](https://github.com/Mottie/tablesorter/issues/291).
- * Fixed pager not updating when the filter widget reveals zero matches. Fixes [issue #297](https://github.com/Mottie/tablesorter/issues/297).
- * The pager ajax function now does better error handling.
- * Updated the pager ajax error displayed row; including updating all themes.
- * Added `ajaxObject` option:
- * You can now customize how the pager plugin interacts performs its ajax functioning.
- * Modify the `ajaxObject` to include any of the [ajax settings](http://api.jquery.com/jQuery.ajax/#jQuery-ajax-settings):
-
- ```js
- ajaxObject: {
- dataType: 'json'
- }
- ```
-
- * The only option that gets overwritten is the `url` option. It is set by the `ajaxUrl` and `customAjaxUrl` options.
- * Fulfills [issue #280](https://github.com/Mottie/tablesorter/pull/280).
-
- * Updated `ajaxProcessing` to now make returning rows optional, or it can now accept the rows as a jQuery object instead of an array. The addon triggers an "update" event internally, so no need to include that.
- * Return a jQuery object
-
- ```js
- ajaxProcessing: function(data, table){
- if (data && data.hasOwnProperty('rows')) {
- var r, row, c, d = data.rows,
- // total number of rows (required)
- total = data.total_rows,
- // array of header names (optional)
- headers = data.headers,
- // all rows: array of arrays; each internal array has the table cell data for that row
- rows = '',
- // len should match pager set size (c.size)
- len = d.length;
- // this will depend on how the json is set up - see City0.json
- // rows
- for ( r=0; r < len; r++ ) {
- rows += ''; // new row array
- // cells
- for ( c in d[r] ) {
- if (typeof(c) === "string") {
- rows += '' + d[r][c] + ' '; // add each table cell data to row array
- }
- }
- rows += ' '; // add new row array to rows array
- }
- // don't attach the $(rows) because it's difficult to tell old from new data
- // and no need to trigger an update method, it's done internally
- return [ total, $(rows), headers ];
- }
- }
- ```
-
- * Build the table yourself (just return the total number of rows):
-
- ```js
- ajaxProcessing: function(data, table){
- if (data && data.hasOwnProperty('rows')) {
- var r, row, c, d = data.rows,
- // total number of rows (required)
- total = data.total_rows,
- // all rows: array of arrays; each internal array has the table cell data for that row
- rows = '',
- // len should match pager set size (c.size)
- len = d.length;
- // this will depend on how the json is set up - see City0.json
- // rows
- for ( r=0; r < len; r++ ) {
- rows += ''; // new row array
- // cells
- for ( c in d[r] ) {
- if (typeof(c) === "string") {
- rows += '' + d[r][c] + ' '; // add each table cell data to row array
- }
- }
- rows += ' '; // add new row array to rows array
- }
- // find first sortable tbody, then add new rows
- table.config.$tbodies.eq(0).html(rows);
- return [ total ];
- }
- }
- ```
-
-* Tablesorter unit testing updates; tests for the following have been added:
- * `sortStart`, `sortBegin` & `sortEnd` events.
- * `updateComplete` event.
- * empty cells: `emptyTo`, empty to `top`, `bottom` & `zero`.
- * strings in numeric columns: `stringTo`, string to `max`, `min`, `top`, `bottom` & `none`.
- * `sort` method
- * table class, table header class & tbody info only class.
-
-#### Version 2.9.1 (4/13/2013)
-
-* Modified `stickHeaders`:
- * Only visible cells within the sticky header will be adjusted
- * Fixes [issue #278](https://github.com/Mottie/tablesorter/issues/278).
- * Thanks to [Exinaus](https://github.com/Exinaus) for sharing his code!
- * This change doesn't fix the lag on a table with a lot of visible columns; I don't have an exact number where it will start lagging, but the one in issue #278 had 68 columns.
-
-#### Version 2.9.0 (4/12/2013)
-
-* **Core changes**
- * Added a column sort method.
- * With this method, you can target a header column and trigger a sort:
-
- ```javascript
- $('table').find('th:eq(2)').trigger('sort');
- ```
-
- * This method will maintain the sorting order; so, if the column is already sorted in ascending order, this method will act as if you manually clicked on the header.
- * Whatever next sort order is applied is dependent on other option settings such as `initialSortOrder`, `lockedOrder` (set within the `headers`), `sortReset` option, `sortRestart` and will be ignored if the column sort is disabled (`sorter: false`).
- * Triggering a `click` on the header cell will not work as expected.
-
-* **Widgets, general**
- * All of the current widgets within `jquery.tablesorter.widgets.js` and in the `js/widgets` directory use the newest addWidget template, and are **no longer compatible** with tablesorter versions older than 2.8!
-
-* **Added widget priorities**
- * Basically when a widget is added, it can be assigned a priority number and applied in that order from lowest to highest.
- * The priority can be any number and can be thought of as similar to applying a z-index to an element in that multiple widgets can have the same priority.
- * This is needed in case a widget is applied to the table, but is dependent on another widget. For example:
- * The `uitheme` widget is the first to be applied (priority of `10`) because other widgets that copy/clone the table will need the jQuery UI/Bootstrap class names already applied to the table.
- * The sticky headers widget (priority `60`) is applied after the filter widget (priority `50`), so that it knows to update the filters within the sticky header.
- * Priorities are *optional*, and any widget applied without a priority value will automatically be assigned a priority of `10`.
- * Updated the [writing custom widgets](http://mottie.github.io/tablesorter/docs/example-widgets.html) demo to show how to add a widget priority.
- * I was planning on adding this in version 3.0, but the need arose sooner with the additions of all of the new widgets.
-
-* **Updated Filter widget**
- * Fixed a bug that only occurred when using the filter widget with the pager plugin getting ajax data
- * The pager no longers repeatedly tries to get the first page of table content
- * Fixes [issue #270](https://github.com/Mottie/tablesorter/issues/270).
- * Fixed filter widget to correctly target the filter row cells.
- * The current filter row cells (`td`'s) are now saved to `table.config.$filters`.
- * Added a `filter_liveSearch` option:
- * If `true` (default), a search is performed while the user is typing, after a short delay.
- * If `false`, the user will have to press enter on the keyboard to initiate the search
- * Added a filter get method to work with the filter inputs
- * Use `$.tablesorter.getFilters( $('table') );` to get an array of the current filters applied to the table
- * Added a filter set method to work with the filter inputs
- * Use `$.tablesorter.setFilters( $('table'), ['abc', '1'] );` to set the first two filters values to "abc" and "1" respectively; but this does not initiate a search.
- * Use `$.tablesorter.setFilters( $('table'), ['abc', '1'], true );` to set the filters values and initiate a search.
- * The difference between `$.tablesorter.setFilters( $('table'), ['abc', '1'] );` and `$('table').trigger('search', [ ['abc', '1'] ]);` is that the `setFilters` method will update the actual filter inputs with the search query, whereas the triggered search will not.
- * If the `$('table')` does not target a table with a filter widget applied, it will return `false`.
-
-* **Updated Resizable widget**
- * Added `resizable_addLastColumn` option which allows you to make the last column resizable, essentially making a non-full width table resizable.
- * Updated [the resizable demo](http://mottie.github.io/tablesorter/docs/example-widget-resizable.html) to show this option.
- * The resizable demo also now highlights the non-resizable "Age" column to make it more obvious.
-
-* **Updated Sticky headers widget**
- * Added a `stickyHeaders_cloneId` option
- * This option is only used if the table has an ID defined, then the value from this option will be added to the end of the ID of the cloned sticky table.
- * Default value is `-sticky`.
- * Fixes [issue #271](https://github.com/Mottie/tablesorter/issues/271).
- * Fixed an issue with scrolling lag:
- * If the page had a large number of hidden tables (inside tabs), there would be a noticable delay while scrolling up.
- * Only visible tables are now monitored.
- * Fixes [issue #278](https://github.com/Mottie/tablesorter/issues/278).
- * This widget will now include the table caption in the sticky header:
- * Additional css was added to every theme to apply a background color to the caption, otherwise it would be transparent and content could then be seen to scroll behind it.
-
- ```css
- caption { background: #fff; }
- ```
-
- * This fullfills the enhancement request in [issue #126](https://github.com/Mottie/tablesorter/issues/126).
- * This widget will now include the filter row in the sticky header:
- * The filter row is duplicated, so searches within either filter row will update the content of the other filter row.
- * This fullfills the enhancement request in [issue #249](https://github.com/Mottie/tablesorter/issues/249).
- * Removed the processing icon from the sticky header (reported via email).
-
-* **Added a content editable widget**
- * Added a widget to enable content editing of the table (using the contenteditable attribute), by column.
- * It has four options, used as follows:
-
- ```javascript
- $('table.tablesorter').tablesorter({
- widgets: ['editable'],
- widgetOptions: {
- editable_columns : [0,1,2], // array that points to the columns to make editable (zero-based index)
- editable_enterToAccept : true, // press enter to accept content, or click outside if false
- editable_autoResort : false, // auto resort after the content has changed.
- editable_noEdit : 'no-edit' // class name of cell that is no editable
- }
- });
- ```
-
- * Make a table cell uneditable by added the class `no-edit`, set in the `editable_noEdit` option.
- * Added a [content editable widget demo](http://mottie.github.io/tablesorter/docs/example-widget-editable.html).
-
-* **Added Repeat headers widget**
- * This widget has always been the example used in the [Writing custom widgets](http://mottie.github.io/tablesorter/docs/example-widgets.html) demo.
- * It has been updated and now follows the same format as the widget template for tablesorter version 2.9+
- * As written, it will no longer work with tablesorter versions older than 2.8.
- * Only one option for this widget is available:
-
- ```javascript
- $('table.tablesorter').tablesorter({
- widgets: ['zebra', 'scroller'],
- widgetOptions : {
- rowsToSkip : 4 // number of rows to show between the repeated headers
- }
- });
- ```
-
-* **Added Scroller widget**
- * This widget is a modified version of the scroller widget made by Tim Connell ([original demo](http://tconnell.com/samples/scroller/))
- * It has four options, used as follows:
-
- ```javascript
- $('table.tablesorter').tablesorter({
- widgets: ['zebra', 'scroller'],
- widgetOptions : {
- scroller_height : 300, // height of scroll window
- scroller_barWidth : 17, // scroll bar width
- scroller_jumpToHeader : true, // header snap to browser top when scrolling the tbody
- scroller_idPrefix : 's_' // cloned thead id prefix (random number added to end)
- }
- });
- ```
-
- * Added a [scroller widget demo](http://mottie.github.io/tablesorter/docs/example-widget-scroller.html).
-
-* **Updated Pager Plugin**
- * Added all pager plugin options within the [widget options table](http://mottie.github.io/tablesorter/docs/index.html#Widget-options) on the main documentation page.
- * Added a better example of how to use the `customAjaxUrl` function.
- * Updated the `{page}` tag used withing the `ajaxUrl` option:
- * Previously `{page}` was replaced with a zero-based index of the targetted page number, now this format can also be used `{page+1}`.
- * A tag of `{page+1}` will be replaced with the targetted page number plus one, making it a one-based index.
- * Actually any number can be added, or subtracted, from the page number using this format: `{page+2}`, `{page-1}`, `{page+10}`, etc.
- * The `List` portion of the `{sortList:col}` and `{filterList:fcol}` tag are now optional:
- * These tags are used within the `ajaxUrl` option.
- * So, `{sort:col}` and `{filter:fcol}` can now be used. It just seems clearer/cleaner to me.
- * The pager's `ajaxProcessing` function is now more flexible
- * When returning the processed ajax data, it was required to return it in this form: `[ total, rows, headers ]`.
- * With this update, you can now also return the data as `[ rows, total, headers ]`.
- * If your database is dynamic and doesn't have a total, then you can just give it a really big number & disable the "last" page button. The only reason the plugin needs the `total` is to calculate the total pages and to know what number to set when the user clicks on the last page button.
-
-* **General documentation cleanup & updates**
- * Grouping widget corrections
- * Updated the [repeat headers widget](http://mottie.github.io/tablesorter/docs/example-widgets.html) to use the newest widget template.
-
-#### Version 2.8.2 (3/28/2013)
-
-* Updated the "ignore-leads" parser:
- * Renamed the parser to "ignore-articles"
- * Added language support and a few languages
- * Added a method to add custom articles.
- * Please see the [updated demo](http://mottie.github.io/tablesorter/docs/example-parsers-ignore-articles.html) (also renamed)
- * Thanks for [thezoggy](https://github.com/thezoggy) for feedback.
-* Fixed a bug in the grouping widget demo:
- * The "priority (letter)" column was incorrectly parsing the data which, for some reason, worked in some browsers.
- * Thanks again to [thezoggy](https://github.com/thezoggy) for reporting [this issue](https://github.com/Mottie/tablesorter/issues/267).
diff --git a/dist/assets/lib/tablesorter/addons/pager/jquery.tablesorter.pager.js b/dist/assets/lib/tablesorter/addons/pager/jquery.tablesorter.pager.js
index f56b7f83..c3b7ca4b 100644
--- a/dist/assets/lib/tablesorter/addons/pager/jquery.tablesorter.pager.js
+++ b/dist/assets/lib/tablesorter/addons/pager/jquery.tablesorter.pager.js
@@ -1,11 +1,14 @@
/*!
* tablesorter pager plugin
- * updated 5/27/2013
+ * updated 10/11/2013
*/
/*jshint browser:true, jquery:true, unused:false */
+/*global toString:true */
;(function($) {
"use strict";
/*jshint supernew:true */
+ var ts = $.tablesorter;
+
$.extend({ tablesorterPager: new function() {
this.defaults = {
@@ -56,6 +59,9 @@
// Number of visible rows
size: 10,
+ // Save pager page & size if the storage script is loaded (requires $.tablesorter.storage in jquery.tablesorter.widgets.js)
+ savePages: true,
+
// if true, the table will remain the same height no matter how many records are displayed. The space is made up by an empty
// table row set to a height to compensate; default is false
fixedHeight: false,
@@ -88,128 +94,139 @@
var $this = this,
// hide arrows at extremes
- pagerArrows = function(c, disable) {
+ pagerArrows = function(p, disable) {
var a = 'addClass',
r = 'removeClass',
- d = c.cssDisabled,
+ d = p.cssDisabled,
dis = !!disable,
- tp = Math.min( c.totalPages, c.filteredPages );
- if ( c.updateArrows ) {
- c.$container.find(c.cssFirst + ',' + c.cssPrev)[ ( dis || c.page === 0 ) ? a : r ](d);
- c.$container.find(c.cssNext + ',' + c.cssLast)[ ( dis || c.page === tp - 1 ) ? a : r ](d);
+ tp = Math.min( p.totalPages, p.filteredPages );
+ if ( p.updateArrows ) {
+ p.$container.find(p.cssFirst + ',' + p.cssPrev)[ ( dis || p.page === 0 ) ? a : r ](d);
+ p.$container.find(p.cssNext + ',' + p.cssLast)[ ( dis || p.page === tp - 1 ) ? a : r ](d);
}
},
- updatePageDisplay = function(table, c, flag) {
- var i, p, s, t, out,
- tc = table.config,
- f = $(table).hasClass('hasFilters') && !c.ajaxUrl;
- c.totalPages = Math.ceil( c.totalRows / c.size ); // needed for "pageSize" method
- c.filteredRows = (f) ? tc.$tbodies.eq(0).children('tr:not(.' + (tc.widgetOptions && tc.widgetOptions.filter_filteredRow || 'filtered') + ',' + tc.selectorRemove + ')').length : c.totalRows;
- c.filteredPages = (f) ? Math.ceil( c.filteredRows / c.size ) || 1 : c.totalPages;
- if ( Math.min( c.totalPages, c.filteredPages ) >= 0 ) {
- t = (c.size * c.page > c.filteredRows);
- c.startRow = (t) ? 1 : (c.filteredRows === 0 ? 0 : c.size * c.page + 1);
- c.page = (t) ? 0 : c.page;
- c.endRow = Math.min( c.filteredRows, c.totalRows, c.size * ( c.page + 1 ) );
- out = c.$container.find(c.cssPageDisplay);
- // form the output string
- s = c.output.replace(/\{(page|filteredRows|filteredPages|totalPages|startRow|endRow|totalRows)\}/gi, function(m){
- return {
- '{page}' : c.page + 1,
- '{filteredRows}' : c.filteredRows,
- '{filteredPages}' : c.filteredPages,
- '{totalPages}' : c.totalPages,
- '{startRow}' : c.startRow,
- '{endRow}' : c.endRow,
- '{totalRows}' : c.totalRows
- }[m];
- });
+ updatePageDisplay = function(table, p, flag) {
+ var i, pg, s, out,
+ c = table.config,
+ f = c.$table.hasClass('hasFilters') && !p.ajaxUrl,
+ t = (c.widgetOptions && c.widgetOptions.filter_filteredRow || 'filtered') + ',' + c.selectorRemove;
+ p.totalPages = Math.ceil( p.totalRows / p.size ); // needed for "pageSize" method
+ p.filteredRows = (f) ? c.$tbodies.eq(0).children('tr:not(.' + t + ')').length : p.totalRows;
+ p.filteredPages = (f) ? Math.ceil( p.filteredRows / p.size ) || 1 : p.totalPages;
+ if ( Math.min( p.totalPages, p.filteredPages ) >= 0 ) {
+ t = (p.size * p.page > p.filteredRows);
+ p.startRow = (t) ? 1 : (p.filteredRows === 0 ? 0 : p.size * p.page + 1);
+ p.page = (t) ? 0 : p.page;
+ p.endRow = Math.min( p.filteredRows, p.totalRows, p.size * ( p.page + 1 ) );
+ out = p.$container.find(p.cssPageDisplay);
+ // form the output string (can now get a new output string from the server)
+ s = ( p.ajaxData && p.ajaxData.hasOwnProperty('output') ? p.ajaxData.output || p.output : p.output )
+ // {page} = one-based index; {page+#} = zero based index +/- value
+ .replace(/\{page([\-+]\d+)?\}/gi, function(m,n){
+ return p.page + (n ? parseInt(n, 10) : 1);
+ })
+ // {totalPages}, {extra}, {extra:0} (array) or {extra : key} (object)
+ .replace(/\{\w+(\s*:\s*\w+)?\}/gi, function(m){
+ var t = m.replace(/[{}\s]/g,''), a = t.split(':'), d = p.ajaxData;
+ return a.length > 1 && d && d[a[0]] ? d[a[0]][a[1]] : p[t] || (d ? d[t] : '') || '';
+ });
if (out.length) {
out[ (out[0].tagName === 'INPUT') ? 'val' : 'html' ](s);
- if ( c.$goto.length ) {
+ if ( p.$goto.length ) {
t = '';
- p = Math.min( c.totalPages, c.filteredPages );
- for ( i = 1; i <= p; i++ ) {
+ pg = Math.min( p.totalPages, p.filteredPages );
+ for ( i = 1; i <= pg; i++ ) {
t += '' + i + ' ';
}
- c.$goto.html(t).val( c.page + 1 );
+ p.$goto.html(t).val( p.page + 1 );
}
}
}
- pagerArrows(c);
- if (c.initialized && flag !== false) { $(table).trigger('pagerComplete', c); }
+ pagerArrows(p);
+ if (p.initialized && flag !== false) {
+ c.$table.trigger('pagerComplete', p);
+ // save pager info to storage
+ if (p.savePages && ts.storage) {
+ ts.storage(table, 'tablesorter-pager', {
+ page : p.page,
+ size : p.size
+ });
+ }
+ }
},
- fixHeight = function(table, c) {
- var d, h, $b = table.config.$tbodies.eq(0);
- if (c.fixedHeight) {
+ fixHeight = function(table, p) {
+ var d, h,
+ c = table.config,
+ $b = c.$tbodies.eq(0);
+ if (p.fixedHeight) {
$b.find('tr.pagerSavedHeightSpacer').remove();
h = $.data(table, 'pagerSavedHeight');
if (h) {
d = h - $b.height();
- if ( d > 5 && $.data(table, 'pagerLastSize') === c.size && $b.children('tr:visible').length < c.size ) {
- $b.append('');
+ if ( d > 5 && $.data(table, 'pagerLastSize') === p.size && $b.children('tr:visible').length < p.size ) {
+ $b.append('');
}
}
}
},
- changeHeight = function(table, c) {
+ changeHeight = function(table, p) {
var $b = table.config.$tbodies.eq(0);
$b.find('tr.pagerSavedHeightSpacer').remove();
$.data(table, 'pagerSavedHeight', $b.height());
- fixHeight(table, c);
- $.data(table, 'pagerLastSize', c.size);
+ fixHeight(table, p);
+ $.data(table, 'pagerLastSize', p.size);
},
- hideRows = function(table, c){
- if (!c.ajaxUrl) {
+ hideRows = function(table, p){
+ if (!p.ajaxUrl) {
var i,
- tc = table.config,
- rows = tc.$tbodies.eq(0).children('tr:not(.' + tc.cssChildRow + ')'),
+ c = table.config,
+ rows = c.$tbodies.eq(0).children(),
l = rows.length,
- s = ( c.page * c.size ),
- e = s + c.size,
- f = tc.widgetOptions && tc.widgetOptions.filter_filteredRow || 'filtered',
+ s = ( p.page * p.size ),
+ e = s + p.size,
+ f = c.widgetOptions && c.widgetOptions.filter_filteredRow || 'filtered',
j = 0; // size counter
for ( i = 0; i < l; i++ ){
if ( !rows[i].className.match(f) ) {
rows[i].style.display = ( j >= s && j < e ) ? '' : 'none';
- j++;
+ // don't count child rows
+ j += rows[i].className.match(c.cssChildRow + '|' + c.selectorRemove.slice(1)) ? 0 : 1;
}
}
}
},
- hideRowsSetup = function(table, c){
- c.size = parseInt( c.$size.val(), 10 ) || c.size;
- $.data(table, 'pagerLastSize', c.size);
- pagerArrows(c);
- if ( !c.removeRows ) {
- hideRows(table, c);
+ hideRowsSetup = function(table, p){
+ p.size = parseInt( p.$size.val(), 10 ) || p.size;
+ $.data(table, 'pagerLastSize', p.size);
+ pagerArrows(p);
+ if ( !p.removeRows ) {
+ hideRows(table, p);
$(table).bind('sortEnd.pager filterEnd.pager', function(){
- hideRows(table, c);
+ hideRows(table, p);
});
}
},
- renderAjax = function(data, table, c, xhr, exception){
+ renderAjax = function(data, table, p, xhr, exception){
// process data
- if ( typeof(c.ajaxProcessing) === "function" ) {
+ if ( typeof(p.ajaxProcessing) === "function" ) {
// ajaxProcessing result: [ total, rows, headers ]
- var i, j, hsh, $f, $sh, th, d, l, $err,
- $t = $(table),
- tc = table.config,
- hl = $t.find('thead th').length, tds = '',
- result = c.ajaxProcessing(data, table) || [ 0, [] ],
- // allow [ total, rows, headers ] or [ rows, total, headers ]
- t = isNaN(result[0]) && !isNaN(result[1]);
+ var i, j, hsh, $f, $sh, t, th, d, l, $err, rr_count,
+ c = table.config,
+ $t = c.$table,
+ tds = '',
+ result = p.ajaxProcessing(data, table) || [ 0, [] ],
+ hl = $t.find('thead th').length;
- $t.find('thead tr.' + c.cssErrorRow).remove(); // Clean up any previous error.
+ $t.find('thead tr.' + p.cssErrorRow).remove(); // Clean up any previous error.
if ( exception ) {
- $err = $('' + (
+ $err = $(' ' + (
xhr.status === 0 ? 'Not connected, verify Network' :
xhr.status === 404 ? 'Requested page not found [404]' :
xhr.status === 500 ? 'Internal Server Error [500]' :
@@ -222,16 +239,28 @@
})
// add error row to thead instead of tbody, or clicking on the header will result in a parser error
.appendTo( $t.find('thead:first') );
- tc.$tbodies.eq(0).empty();
+ c.$tbodies.eq(0).empty();
} else {
- c.totalRows = result[t ? 1 : 0] || c.totalRows || 0;
- d = result[t ? 0 : 1] || []; // row data
+ // process ajax object
+ if (toString.call(result) !== "[object Array]") {
+ p.ajaxData = result;
+ p.totalRows = result.total;
+ th = result.headers;
+ d = result.rows;
+ } else {
+ // allow [ total, rows, headers ] or [ rows, total, headers ]
+ t = isNaN(result[0]) && !isNaN(result[1]);
+ //ensure a zero returned row count doesn't fail the logical ||
+ rr_count = result[t ? 1 : 0];
+ p.totalRows = isNaN(rr_count) ? p.totalRows || 0 : rr_count;
+ d = result[t ? 0 : 1] || []; // row data
+ th = result[2]; // headers
+ }
l = d.length;
- th = result[2]; // headers
if (d instanceof jQuery) {
// append jQuery object
- tc.$tbodies.eq(0).empty().append(d);
- } else if (d.length) {
+ c.$tbodies.eq(0).empty().append(d);
+ } else if (l) {
// build table from array
if ( l > 0 ) {
for ( i = 0; i < l; i++ ) {
@@ -244,21 +273,22 @@
}
}
// add rows to first tbody
- tc.$tbodies.eq(0).html( tds );
+ c.$tbodies.eq(0).html( tds );
}
// only add new header text if the length matches
if ( th && th.length === hl ) {
hsh = $t.hasClass('hasStickyHeaders');
- $sh = hsh ? tc.$sticky.children('thead:first').children().children() : '';
+ $sh = hsh ? c.$sticky.children('thead:first').children().children() : '';
$f = $t.find('tfoot tr:first').children();
- $t.find('th.' + tc.cssHeader).each(function(j){
+ // don't change td headers (may contain pager)
+ c.$headers.filter('th').each(function(j){
var $t = $(this), icn;
// add new test within the first span it finds, or just in the header
- if ( $t.find('.' + tc.cssIcon).length ) {
- icn = $t.find('.' + tc.cssIcon).clone(true);
+ if ( $t.find('.' + ts.css.icon).length ) {
+ icn = $t.find('.' + ts.css.icon).clone(true);
$t.find('.tablesorter-header-inner').html( th[j] ).append(icn);
if ( hsh && $sh.length ) {
- icn = $sh.eq(j).find('.' + tc.cssIcon).clone(true);
+ icn = $sh.eq(j).find('.' + ts.css.icon).clone(true);
$sh.eq(j).find('.tablesorter-header-inner').html( th[j] ).append(icn);
}
} else {
@@ -271,55 +301,56 @@
});
}
}
- if (tc.showProcessing) {
- $.tablesorter.isProcessing(table); // remove loading icon
+ if (c.showProcessing) {
+ ts.isProcessing(table); // remove loading icon
+ }
+ p.totalPages = Math.ceil( p.totalRows / p.size );
+ updatePageDisplay(table, p);
+ fixHeight(table, p);
+ if (p.initialized) {
+ $t.trigger('pagerChange', p);
+ $t.trigger('updateComplete');
+ } else {
+ $t.trigger('update');
}
- $t.trigger('update');
- c.totalPages = Math.ceil( c.totalRows / c.size );
- updatePageDisplay(table, c);
- fixHeight(table, c);
- if (c.initialized) { $t.trigger('pagerChange', c); }
}
- if (!c.initialized) {
- c.initialized = true;
- $(table).trigger('pagerInitialized', c);
+ if (!p.initialized) {
+ p.initialized = true;
+ $(table).trigger('pagerInitialized', p);
}
},
- getAjax = function(table, c){
- var url = getAjaxUrl(table, c),
+ getAjax = function(table, p){
+ var url = getAjaxUrl(table, p),
$doc = $(document),
- tc = table.config;
+ c = table.config;
if ( url !== '' ) {
- if (tc.showProcessing) {
- $.tablesorter.isProcessing(table, true); // show loading icon
+ if (c.showProcessing) {
+ ts.isProcessing(table, true); // show loading icon
}
$doc.bind('ajaxError.pager', function(e, xhr, settings, exception) {
- //show the error message on the table
- if (url === settings.url) {
- renderAjax(null, table, c, xhr, exception);
- $doc.unbind('ajaxError.pager');
- }
+ renderAjax(null, table, p, xhr, exception);
+ $doc.unbind('ajaxError.pager');
});
- c.ajaxObject.url = url; // from the ajaxUrl option and modified by customAjaxUrl
- c.ajaxObject.success = function(data) {
- renderAjax(data, table, c);
+ p.ajaxObject.url = url; // from the ajaxUrl option and modified by customAjaxUrl
+ p.ajaxObject.success = function(data) {
+ renderAjax(data, table, p);
$doc.unbind('ajaxError.pager');
- if (typeof c.oldAjaxSuccess === 'function') {
- c.oldAjaxSuccess(data);
+ if (typeof p.oldAjaxSuccess === 'function') {
+ p.oldAjaxSuccess(data);
}
};
- $.ajax(c.ajaxObject);
+ $.ajax(p.ajaxObject);
}
},
- getAjaxUrl = function(table, c) {
- var url = (c.ajaxUrl) ? c.ajaxUrl
+ getAjaxUrl = function(table, p) {
+ var url = (p.ajaxUrl) ? p.ajaxUrl
// allow using "{page+1}" in the url string to switch to a non-zero based index
- .replace(/\{page([\-+]\d+)?\}/, function(s,n){ return c.page + (n ? parseInt(n, 10) : 0); })
- .replace(/\{size\}/g, c.size) : '',
+ .replace(/\{page([\-+]\d+)?\}/, function(s,n){ return p.page + (n ? parseInt(n, 10) : 0); })
+ .replace(/\{size\}/g, p.size) : '',
sl = table.config.sortList,
- fl = c.currentFilters || [],
+ fl = p.currentFilters || [],
sortCol = url.match(/\{\s*sort(?:List)?\s*:\s*(\w*)\s*\}/),
filterCol = url.match(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/),
arry = [];
@@ -342,147 +373,143 @@
// if the arry is empty, just add the fcol parameter... "&{filterList:fcol}" becomes "&fcol"
url = url.replace(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/g, arry.length ? arry.join('&') : filterCol );
}
- if ( typeof(c.customAjaxUrl) === "function" ) {
- url = c.customAjaxUrl(table, url);
+ if ( typeof(p.customAjaxUrl) === "function" ) {
+ url = p.customAjaxUrl(table, url);
}
return url;
},
- renderTable = function(table, rows, c) {
- c.isDisabled = false; // needed because sorting will change the page and re-enable the pager
+ renderTable = function(table, rows, p) {
+ p.isDisabled = false; // needed because sorting will change the page and re-enable the pager
var i, j, o, $tb,
l = rows.length,
- s = ( c.page * c.size ),
- e = ( s + c.size );
+ s = ( p.page * p.size ),
+ e = ( s + p.size );
if ( l < 1 ) { return; } // empty table, abort!
- if (c.initialized) { $(table).trigger('pagerChange', c); }
- if ( !c.removeRows ) {
- hideRows(table, c);
+ if (p.initialized) { $(table).trigger('pagerChange', p); }
+ if ( !p.removeRows ) {
+ hideRows(table, p);
} else {
if ( e > rows.length ) {
e = rows.length;
}
- $.tablesorter.clearTableBody(table);
- $tb = $.tablesorter.processTbody(table, table.config.$tbodies.eq(0), true);
+ ts.clearTableBody(table);
+ $tb = ts.processTbody(table, table.config.$tbodies.eq(0), true);
for ( i = s; i < e; i++ ) {
- o = rows[i];
- l = o.length;
- for ( j = 0; j < l; j++ ) {
- $tb.appendChild(o[j]);
- }
+ $tb.append(rows[i]);
}
- $.tablesorter.processTbody(table, $tb, false);
+ ts.processTbody(table, $tb, false);
}
- if ( c.page >= c.totalPages ) {
- moveToLastPage(table, c);
+ if ( p.page >= p.totalPages ) {
+ moveToLastPage(table, p);
}
- updatePageDisplay(table, c);
- if ( !c.isDisabled ) { fixHeight(table, c); }
+ updatePageDisplay(table, p);
+ if ( !p.isDisabled ) { fixHeight(table, p); }
$(table).trigger('applyWidgets');
},
- showAllRows = function(table, c){
- if ( c.ajax ) {
- pagerArrows(c, true);
+ showAllRows = function(table, p){
+ if ( p.ajax ) {
+ pagerArrows(p, true);
} else {
- c.isDisabled = true;
- $.data(table, 'pagerLastPage', c.page);
- $.data(table, 'pagerLastSize', c.size);
- c.page = 0;
- c.size = c.totalRows;
- c.totalPages = 1;
+ p.isDisabled = true;
+ $.data(table, 'pagerLastPage', p.page);
+ $.data(table, 'pagerLastSize', p.size);
+ p.page = 0;
+ p.size = p.totalRows;
+ p.totalPages = 1;
$(table).find('tr.pagerSavedHeightSpacer').remove();
- renderTable(table, table.config.rowsCopy, c);
+ renderTable(table, table.config.rowsCopy, p);
}
// disable size selector
- c.$size.add(c.$goto).each(function(){
- $(this).addClass(c.cssDisabled)[0].disabled = true;
+ p.$size.add(p.$goto).each(function(){
+ $(this).addClass(p.cssDisabled)[0].disabled = true;
});
},
- moveToPage = function(table, c, flag) {
- if ( c.isDisabled ) { return; }
- var p = Math.min( c.totalPages, c.filteredPages );
- if ( c.page < 0 ) { c.page = 0; }
- if ( c.page > ( p - 1 ) && p !== 0 ) { c.page = p - 1; }
- if (c.ajax) {
- getAjax(table, c);
- } else if (!c.ajax) {
- renderTable(table, table.config.rowsCopy, c);
+ moveToPage = function(table, p, flag) {
+ if ( p.isDisabled ) { return; }
+ var pg = Math.min( p.totalPages, p.filteredPages );
+ if ( p.page < 0 ) { p.page = 0; }
+ if ( p.page > ( pg - 1 ) && pg !== 0 ) { p.page = pg - 1; }
+ if (p.ajax) {
+ getAjax(table, p);
+ } else if (!p.ajax) {
+ renderTable(table, table.config.rowsCopy, p);
}
- $.data(table, 'pagerLastPage', c.page);
+ $.data(table, 'pagerLastPage', p.page);
$.data(table, 'pagerUpdateTriggered', true);
- if (c.initialized && flag !== false) {
- $(table).trigger('pageMoved', c);
+ if (p.initialized && flag !== false) {
+ $(table).trigger('pageMoved', p);
}
},
- setPageSize = function(table, size, c) {
- c.size = size;
- c.$size.val(size);
- $.data(table, 'pagerLastPage', c.page);
- $.data(table, 'pagerLastSize', c.size);
- c.totalPages = Math.ceil( c.totalRows / c.size );
- moveToPage(table, c);
+ setPageSize = function(table, size, p) {
+ p.size = size;
+ p.$size.val(size);
+ $.data(table, 'pagerLastPage', p.page);
+ $.data(table, 'pagerLastSize', p.size);
+ p.totalPages = Math.ceil( p.totalRows / p.size );
+ moveToPage(table, p);
},
- moveToFirstPage = function(table, c) {
- c.page = 0;
- moveToPage(table, c);
+ moveToFirstPage = function(table, p) {
+ p.page = 0;
+ moveToPage(table, p);
},
- moveToLastPage = function(table, c) {
- c.page = ( Math.min( c.totalPages, c.filteredPages ) - 1 );
- moveToPage(table, c);
+ moveToLastPage = function(table, p) {
+ p.page = ( Math.min( p.totalPages, p.filteredPages ) - 1 );
+ moveToPage(table, p);
},
- moveToNextPage = function(table, c) {
- c.page++;
- if ( c.page >= ( Math.min( c.totalPages, c.filteredPages ) - 1 ) ) {
- c.page = ( Math.min( c.totalPages, c.filteredPages ) - 1 );
+ moveToNextPage = function(table, p) {
+ p.page++;
+ if ( p.page >= ( Math.min( p.totalPages, p.filteredPages ) - 1 ) ) {
+ p.page = ( Math.min( p.totalPages, p.filteredPages ) - 1 );
}
- moveToPage(table, c);
+ moveToPage(table, p);
},
- moveToPrevPage = function(table, c) {
- c.page--;
- if ( c.page <= 0 ) {
- c.page = 0;
+ moveToPrevPage = function(table, p) {
+ p.page--;
+ if ( p.page <= 0 ) {
+ p.page = 0;
}
- moveToPage(table, c);
+ moveToPage(table, p);
},
- destroyPager = function(table, c){
- showAllRows(table, c);
- c.$container.hide(); // hide pager
+ destroyPager = function(table, p){
+ showAllRows(table, p);
+ p.$container.hide(); // hide pager
table.config.appender = null; // remove pager appender function
$(table).unbind('destroy.pager sortEnd.pager filterEnd.pager enable.pager disable.pager');
},
- enablePager = function(table, c, triggered){
- var p = c.$size.removeClass(c.cssDisabled).removeAttr('disabled');
- c.$goto.removeClass(c.cssDisabled).removeAttr('disabled');
- c.isDisabled = false;
- c.page = $.data(table, 'pagerLastPage') || c.page || 0;
- c.size = $.data(table, 'pagerLastSize') || parseInt(p.find('option[selected]').val(), 10) || c.size;
- p.val(c.size); // set page size
- c.totalPages = Math.ceil( Math.min( c.totalPages, c.filteredPages ) / c.size);
+ enablePager = function(table, p, triggered){
+ var pg = p.$size.removeClass(p.cssDisabled).removeAttr('disabled');
+ p.$goto.removeClass(p.cssDisabled).removeAttr('disabled');
+ p.isDisabled = false;
+ p.page = $.data(table, 'pagerLastPage') || p.page || 0;
+ p.size = $.data(table, 'pagerLastSize') || parseInt(pg.find('option[selected]').val(), 10) || p.size;
+ pg.val(p.size); // set page size
+ p.totalPages = Math.ceil( Math.min( p.totalPages, p.filteredPages ) / p.size);
if ( triggered ) {
$(table).trigger('update');
- setPageSize(table, c.size, c);
- hideRowsSetup(table, c);
- fixHeight(table, c);
+ setPageSize(table, p.size, p);
+ hideRowsSetup(table, p);
+ fixHeight(table, p);
}
};
$this.appender = function(table, rows) {
- var c = table.config.pager;
- if ( !c.ajax ) {
+ var p = table.config.pager;
+ if ( !p.ajax ) {
table.config.rowsCopy = rows;
- c.totalRows = rows.length;
- c.size = $.data(table, 'pagerLastSize') || c.size;
- c.totalPages = Math.ceil(c.totalRows / c.size);
- renderTable(table, rows, c);
+ p.totalRows = rows.length;
+ p.size = $.data(table, 'pagerLastSize') || p.size;
+ p.totalPages = Math.ceil(p.totalRows / p.size);
+ renderTable(table, rows, p);
}
};
@@ -491,21 +518,26 @@
// check if tablesorter has initialized
if (!(this.config && this.hasInitialized)) { return; }
var t, ctrls, fxn,
- config = this.config,
- c = config.pager = $.extend( {}, $.tablesorterPager.defaults, settings ),
- table = this,
- tc = table.config,
- $t = $(table),
- // added in case the pager is reinitialized after being destroyed.
- pager = c.$container = $(c.container).addClass('tablesorter-pager').show();
- c.oldAjaxSuccess = c.oldAjaxSuccess || c.ajaxObject.success;
- config.appender = $this.appender;
+ table = this,
+ c = table.config,
+ p = c.pager = $.extend( {}, $.tablesorterPager.defaults, settings ),
+ $t = c.$table,
+ // added in case the pager is reinitialized after being destroyed.
+ pager = p.$container = $(p.container).addClass('tablesorter-pager').show();
+ p.oldAjaxSuccess = p.oldAjaxSuccess || p.ajaxObject.success;
+ c.appender = $this.appender;
+
+ if (p.savePages && ts.storage) {
+ t = ts.storage(table, 'tablesorter-pager');
+ p.page = isNaN(t.page) ? p.page : t.page;
+ p.size = isNaN(t.size) ? p.size : t.size;
+ }
$t
.unbind('filterStart.pager filterEnd.pager sortEnd.pager disable.pager enable.pager destroy.pager update.pager pageSize.pager')
.bind('filterStart.pager', function(e, filters) {
$.data(table, 'pagerUpdateTriggered', false);
- c.currentFilters = filters;
+ p.currentFilters = filters;
})
// update pager after filter widget completes
.bind('filterEnd.pager sortEnd.pager', function(e) {
@@ -514,52 +546,55 @@
$.data(table, 'pagerUpdateTriggered', false);
return;
}
- moveToPage(table, c, false);
- updatePageDisplay(table, c, false);
- fixHeight(table, c);
+ //only run the server side sorting if it has been enabled
+ if (e.type === "filterEnd" || (e.type === "sortEnd" && c.serverSideSorting)) {
+ moveToPage(table, p, false);
+ }
+ updatePageDisplay(table, p, false);
+ fixHeight(table, p);
})
.bind('disable.pager', function(e){
e.stopPropagation();
- showAllRows(table, c);
+ showAllRows(table, p);
})
.bind('enable.pager', function(e){
e.stopPropagation();
- enablePager(table, c, true);
+ enablePager(table, p, true);
})
.bind('destroy.pager', function(e){
e.stopPropagation();
- destroyPager(table, c);
+ destroyPager(table, p);
})
.bind('update.pager', function(e){
e.stopPropagation();
- hideRows(table, c);
+ hideRows(table, p);
})
.bind('pageSize.pager', function(e,v){
e.stopPropagation();
- setPageSize(table, parseInt(v, 10) || 10, c);
- hideRows(table, c);
- updatePageDisplay(table, c, false);
- if (c.$size.length) { c.$size.val(c.size); } // twice?
+ setPageSize(table, parseInt(v, 10) || 10, p);
+ hideRows(table, p);
+ updatePageDisplay(table, p, false);
+ if (p.$size.length) { p.$size.val(p.size); } // twice?
})
.bind('pageSet.pager', function(e,v){
e.stopPropagation();
- c.page = (parseInt(v, 10) || 1) - 1;
- if (c.$goto.length) { c.$goto.val(c.size); } // twice?
- moveToPage(table, c);
- updatePageDisplay(table, c, false);
+ p.page = (parseInt(v, 10) || 1) - 1;
+ if (p.$goto.length) { p.$goto.val(p.size); } // twice?
+ moveToPage(table, p);
+ updatePageDisplay(table, p, false);
});
// clicked controls
- ctrls = [ c.cssFirst, c.cssPrev, c.cssNext, c.cssLast ];
+ ctrls = [ p.cssFirst, p.cssPrev, p.cssNext, p.cssLast ];
fxn = [ moveToFirstPage, moveToPrevPage, moveToNextPage, moveToLastPage ];
pager.find(ctrls.join(','))
.unbind('click.pager')
.bind('click.pager', function(e){
var i, $t = $(this), l = ctrls.length;
- if ( !$t.hasClass(c.cssDisabled) ) {
+ if ( !$t.hasClass(p.cssDisabled) ) {
for (i = 0; i < l; i++) {
if ($t.is(ctrls[i])) {
- fxn[i](table, c);
+ fxn[i](table, p);
break;
}
}
@@ -568,57 +603,56 @@
});
// goto selector
- c.$goto = pager.find(c.cssGoto);
- if ( c.$goto.length ) {
- c.$goto
+ p.$goto = pager.find(p.cssGoto);
+ if ( p.$goto.length ) {
+ p.$goto
.unbind('change')
.bind('change', function(){
- c.page = $(this).val() - 1;
- moveToPage(table, c);
+ p.page = $(this).val() - 1;
+ moveToPage(table, p);
});
- updatePageDisplay(table, c, false);
}
// page size selector
- c.$size = pager.find(c.cssPageSize);
- if ( c.$size.length ) {
- c.$size.unbind('change.pager').bind('change.pager', function() {
- c.$size.val( $(this).val() ); // in case there are more than one pagers
- if ( !$(this).hasClass(c.cssDisabled) ) {
- setPageSize(table, parseInt( $(this).val(), 10 ), c);
- changeHeight(table, c);
+ p.$size = pager.find(p.cssPageSize);
+ if ( p.$size.length ) {
+ p.$size.unbind('change.pager').bind('change.pager', function() {
+ p.$size.val( $(this).val() ); // in case there are more than one pagers
+ if ( !$(this).hasClass(p.cssDisabled) ) {
+ setPageSize(table, parseInt( $(this).val(), 10 ), p);
+ changeHeight(table, p);
}
return false;
});
}
// clear initialized flag
- c.initialized = false;
+ p.initialized = false;
// before initialization event
- $t.trigger('pagerBeforeInitialized', c);
+ $t.trigger('pagerBeforeInitialized', p);
- enablePager(table, c, false);
+ enablePager(table, p, false);
- if ( typeof(c.ajaxUrl) === 'string' ) {
+ if ( typeof(p.ajaxUrl) === 'string' ) {
// ajax pager; interact with database
- c.ajax = true;
+ p.ajax = true;
//When filtering with ajax, allow only custom filtering function, disable default filtering since it will be done server side.
- tc.widgetOptions.filter_serversideFiltering = true;
- tc.serverSideSorting = true;
- moveToPage(table, c);
+ c.widgetOptions.filter_serversideFiltering = true;
+ c.serverSideSorting = true;
+ moveToPage(table, p);
} else {
- c.ajax = false;
+ p.ajax = false;
// Regular pager; all rows stored in memory
$(this).trigger("appendCache", true);
- hideRowsSetup(table, c);
+ hideRowsSetup(table, p);
}
- changeHeight(table, c);
+ changeHeight(table, p);
// pager initialized
- if (!c.ajax) {
- c.initialized = true;
- $(table).trigger('pagerInitialized', c);
+ if (!p.ajax) {
+ p.initialized = true;
+ $(table).trigger('pagerInitialized', p);
}
});
};
@@ -630,4 +664,4 @@ $.fn.extend({
tablesorterPager: $.tablesorterPager.construct
});
-})(jQuery);
\ No newline at end of file
+})(jQuery);
diff --git a/dist/assets/lib/tablesorter/addons/pager/jquery.tablesorter.pager.min.js b/dist/assets/lib/tablesorter/addons/pager/jquery.tablesorter.pager.min.js
index 6bc8d18a..f197dce1 100644
--- a/dist/assets/lib/tablesorter/addons/pager/jquery.tablesorter.pager.min.js
+++ b/dist/assets/lib/tablesorter/addons/pager/jquery.tablesorter.pager.min.js
@@ -1,2 +1,2 @@
-/*! tablesorter pager plugin minified - updated 5/27/2013 */
-;(function(f){f.extend({tablesorterPager:new function(){this.defaults={container:null,ajaxUrl:null,customAjaxUrl:function(b,a){return a},ajaxObject:{dataType:"json"},ajaxProcessing:function(){return[0,[],null]},output:"{startRow} to {endRow} of {totalRows} rows",updateArrows:!0,page:0,size:10,fixedHeight:!1,removeRows:!1,cssFirst:".first",cssPrev:".prev",cssNext:".next",cssLast:".last",cssGoto:".gotoPage",cssPageDisplay:".pagedisplay",cssPageSize:".pagesize",cssErrorRow:"tablesorter-errorRow",cssDisabled:"disabled", totalRows:0,totalPages:0,filteredRows:0,filteredPages:0};var t=this,u=function(b,a){var d=b.cssDisabled,e=!!a,c=Math.min(b.totalPages,b.filteredPages);b.updateArrows&&(b.$container.find(b.cssFirst+","+b.cssPrev)[e||0===b.page?"addClass":"removeClass"](d),b.$container.find(b.cssNext+","+b.cssLast)[e||b.page===c-1?"addClass":"removeClass"](d))},q=function(b,a,d){var e,c,g;e=b.config;c=f(b).hasClass("hasFilters")&&!a.ajaxUrl;a.totalPages=Math.ceil(a.totalRows/a.size);a.filteredRows=c?e.$tbodies.eq(0).children("tr:not(."+ (e.widgetOptions&&e.widgetOptions.filter_filteredRow||"filtered")+","+e.selectorRemove+")").length:a.totalRows;a.filteredPages=c?Math.ceil(a.filteredRows/a.size)||1:a.totalPages;if(0<=Math.min(a.totalPages,a.filteredPages)&&(g=a.size*a.page>a.filteredRows,a.startRow=g?1:0===a.filteredRows?0:a.size*a.page+1,a.page=g?0:a.page,a.endRow=Math.min(a.filteredRows,a.totalRows,a.size*(a.page+1)),c=a.$container.find(a.cssPageDisplay),e=a.output.replace(/\{(page|filteredRows|filteredPages|totalPages|startRow|endRow|totalRows)\}/gi, function(b){return{"{page}":a.page+1,"{filteredRows}":a.filteredRows,"{filteredPages}":a.filteredPages,"{totalPages}":a.totalPages,"{startRow}":a.startRow,"{endRow}":a.endRow,"{totalRows}":a.totalRows}[b]}),c.length&&(c["INPUT"===c[0].tagName?"val":"html"](e),a.$goto.length))){g="";c=Math.min(a.totalPages,a.filteredPages);for(e=1;e<=c;e++)g+=""+e+" ";a.$goto.html(g).val(a.page+1)}u(a);a.initialized&&!1!==d&&f(b).trigger("pagerComplete",a)},r=function(b,a){var d,e=b.config.$tbodies.eq(0); if(a.fixedHeight&&(e.find("tr.pagerSavedHeightSpacer").remove(),d=f.data(b,"pagerSavedHeight")))d-=e.height(),5 ')},x=function(b,a){var d=b.config.$tbodies.eq(0);d.find("tr.pagerSavedHeightSpacer").remove();f.data(b,"pagerSavedHeight",d.height());r(b,a);f.data(b,"pagerLastSize",a.size)},s=function(b, a){if(!a.ajaxUrl){var d;d=b.config;var e=d.$tbodies.eq(0).children("tr:not(."+d.cssChildRow+")"),c=e.length,f=a.page*a.size,p=f+a.size,k=d.widgetOptions&&d.widgetOptions.filter_filteredRow||"filtered",h=0;for(d=0;d=f&&h
'+(0===e.status?"Not connected, verify Network":404===e.status?"Requested page not found [404]":500===e.status?"Internal Server Error [500]":"parsererror"===c?"Requested JSON parse failed":"timeout"===c?"Time out error":"abort"=== c?"Ajax Request aborted":"Uncaught error: "+e.statusText+" ["+e.status+"]")+" ").click(function(){f(this).remove()}).appendTo(m.find("thead:first")),n.$tbodies.eq(0).empty();else{d.totalRows=b[g?1:0]||d.totalRows||0;e=b[g?0:1]||[];c=e.length;l=b[2];if(e instanceof jQuery)n.$tbodies.eq(0).empty().append(e);else if(e.length){if(0";for(g=0;g"+e[b][g]+"";j+=""}n.$tbodies.eq(0).html(j)}l&&l.length===z&&(h=(p=m.hasClass("hasStickyHeaders"))? n.$sticky.children("thead:first").children().children():"",k=m.find("tfoot tr:first").children(),m.find("th."+n.cssHeader).each(function(a){var b=f(this),c;b.find("."+n.cssIcon).length?(c=b.find("."+n.cssIcon).clone(!0),b.find(".tablesorter-header-inner").html(l[a]).append(c),p&&h.length&&(c=h.eq(a).find("."+n.cssIcon).clone(!0),h.eq(a).find(".tablesorter-header-inner").html(l[a]).append(c))):(b.find(".tablesorter-header-inner").html(l[a]),p&&h.length&&h.eq(a).find(".tablesorter-header-inner").html(l[a])); k.eq(a).html(l[a])}))}n.showProcessing&&f.tablesorter.isProcessing(a);m.trigger("update");d.totalPages=Math.ceil(d.totalRows/d.size);q(a,d);r(a,d);d.initialized&&m.trigger("pagerChange",d)}d.initialized||(d.initialized=!0,f(a).trigger("pagerInitialized",d))},v=function(b,a,d){d.isDisabled=!1;var e,c,g,j,k=a.length;e=d.page*d.size;var h=e+d.size;if(!(1>k)){d.initialized&&f(b).trigger("pagerChange",d);if(d.removeRows){h>a.length&&(h=a.length);f.tablesorter.clearTableBody(b);for(j=f.tablesorter.processTbody(b, b.config.$tbodies.eq(0),!0);e=d.totalPages&&B(b,d);q(b,d);d.isDisabled||r(b,d);f(b).trigger("applyWidgets")}},C=function(b,a){a.ajax?u(a,!0):(a.isDisabled=!0,f.data(b,"pagerLastPage",a.page),f.data(b,"pagerLastSize",a.size),a.page=0,a.size=a.totalRows,a.totalPages=1,f(b).find("tr.pagerSavedHeightSpacer").remove(),v(b,b.config.rowsCopy,a));a.$size.add(a.$goto).each(function(){f(this).addClass(a.cssDisabled)[0].disabled= !0})},j=function(b,a,d){if(!a.isDisabled){var e=Math.min(a.totalPages,a.filteredPages);0>a.page&&(a.page=0);a.page>e-1&&0!==e&&(a.page=e-1);if(a.ajax){var c,e=a.ajaxUrl?a.ajaxUrl.replace(/\{page([\-+]\d+)?\}/,function(b,c){return a.page+(c?parseInt(c,10):0)}).replace(/\{size\}/g,a.size):"",g=b.config.sortList,j=a.currentFilters||[],k=e.match(/\{\s*sort(?:List)?\s*:\s*(\w*)\s*\}/),h=e.match(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/),l=[];k&&(k=k[1],f.each(g,function(a,b){l.push(k+"["+b[0]+"]="+b[1])}), e=e.replace(/\{\s*sort(?:List)?\s*:\s*(\w*)\s*\}/g,l.length?l.join("&"):k),l=[]);h&&(h=h[1],f.each(j,function(a,b){b&&l.push(h+"["+a+"]="+encodeURIComponent(b))}),e=e.replace(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/g,l.length?l.join("&"):h));"function"===typeof a.customAjaxUrl&&(e=a.customAjaxUrl(b,e));c=e;var m=f(document),e=b.config;""!==c&&(e.showProcessing&&f.tablesorter.isProcessing(b,!0),m.bind("ajaxError.pager",function(d,e,f,g){c.match(f.url)&&(A(null,b,a,e,g),m.unbind("ajaxError.pager"))}), a.ajaxObject.url=c,a.ajaxObject.success=function(c){A(c,b,a);m.unbind("ajaxError.pager");"function"===typeof a.oldAjaxSuccess&&a.oldAjaxSuccess(c)},f.ajax(a.ajaxObject))}else a.ajax||v(b,b.config.rowsCopy,a);f.data(b,"pagerLastPage",a.page);f.data(b,"pagerUpdateTriggered",!0);a.initialized&&!1!==d&&f(b).trigger("pageMoved",a)}},w=function(b,a,d){d.size=a;d.$size.val(a);f.data(b,"pagerLastPage",d.page);f.data(b,"pagerLastSize",d.size);d.totalPages=Math.ceil(d.totalRows/d.size);j(b,d)},E=function(b, a){a.page=0;j(b,a)},B=function(b,a){a.page=Math.min(a.totalPages,a.filteredPages)-1;j(b,a)},F=function(b,a){a.page++;a.page>=Math.min(a.totalPages,a.filteredPages)-1&&(a.page=Math.min(a.totalPages,a.filteredPages)-1);j(b,a)},G=function(b,a){a.page--;0>=a.page&&(a.page=0);j(b,a)},D=function(b,a,d){var e=a.$size.removeClass(a.cssDisabled).removeAttr("disabled");a.$goto.removeClass(a.cssDisabled).removeAttr("disabled");a.isDisabled=!1;a.page=f.data(b,"pagerLastPage")||a.page||0;a.size=f.data(b,"pagerLastSize")|| parseInt(e.find("option[selected]").val(),10)||a.size;e.val(a.size);a.totalPages=Math.ceil(Math.min(a.totalPages,a.filteredPages)/a.size);d&&(f(b).trigger("update"),w(b,a.size,a),y(b,a),r(b,a))};t.appender=function(b,a){var d=b.config.pager;d.ajax||(b.config.rowsCopy=a,d.totalRows=a.length,d.size=f.data(b,"pagerLastSize")||d.size,d.totalPages=Math.ceil(d.totalRows/d.size),v(b,a,d))};t.construct=function(b){return this.each(function(){if(this.config&&this.hasInitialized){var a,d,e=this.config,c=e.pager= f.extend({},f.tablesorterPager.defaults,b),g=this,p=g.config,k=f(g),h=c.$container=f(c.container).addClass("tablesorter-pager").show();c.oldAjaxSuccess=c.oldAjaxSuccess||c.ajaxObject.success;e.appender=t.appender;k.unbind("filterStart.pager filterEnd.pager sortEnd.pager disable.pager enable.pager destroy.pager update.pager pageSize.pager").bind("filterStart.pager",function(a,b){f.data(g,"pagerUpdateTriggered",!1);c.currentFilters=b}).bind("filterEnd.pager sortEnd.pager",function(){f.data(g,"pagerUpdateTriggered")? f.data(g,"pagerUpdateTriggered",!1):(j(g,c,!1),q(g,c,!1),r(g,c))}).bind("disable.pager",function(a){a.stopPropagation();C(g,c)}).bind("enable.pager",function(a){a.stopPropagation();D(g,c,!0)}).bind("destroy.pager",function(a){a.stopPropagation();C(g,c);c.$container.hide();g.config.appender=null;f(g).unbind("destroy.pager sortEnd.pager filterEnd.pager enable.pager disable.pager")}).bind("update.pager",function(a){a.stopPropagation();s(g,c)}).bind("pageSize.pager",function(a,b){a.stopPropagation(); w(g,parseInt(b,10)||10,c);s(g,c);q(g,c,!1);c.$size.length&&c.$size.val(c.size)}).bind("pageSet.pager",function(a,b){a.stopPropagation();c.page=(parseInt(b,10)||1)-1;c.$goto.length&&c.$goto.val(c.size);j(g,c);q(g,c,!1)});a=[c.cssFirst,c.cssPrev,c.cssNext,c.cssLast];d=[E,G,F,B];h.find(a.join(",")).unbind("click.pager").bind("click.pager",function(){var b,e=f(this),h=a.length;if(!e.hasClass(c.cssDisabled))for(b=0;ba.filteredRows,a.startRow=h?1:0===a.filteredRows?0:a.size*a.page+1,a.page=h?0:a.page,a.endRow=Math.min(a.filteredRows,a.totalRows,a.size*(a.page+1)),f=a.$container.find(a.cssPageDisplay),h=(a.ajaxData&&a.ajaxData.hasOwnProperty("output")? a.ajaxData.output||a.output:a.output).replace(/\{page([\-+]\d+)?\}/gi,function(b,c){return a.page+(c?parseInt(c,10):1)}).replace(/\{\w+(\s*:\s*\w+)?\}/gi,function(b){b=b.replace(/[{}\s]/g,"");var c=b.split(":"),d=a.ajaxData;return 1"+f+" ";a.$goto.html(h).val(a.page+1)}x(a);a.initialized&& !1!==c&&(d.$table.trigger("pagerComplete",a),a.savePages&&m.storage&&m.storage(b,"tablesorter-pager",{page:a.page,size:a.size}))},t=function(b,a){var c,f=b.config,e=f.$tbodies.eq(0);a.fixedHeight&&(e.find("tr.pagerSavedHeightSpacer").remove(),c=g.data(b,"pagerSavedHeight"))&&(c-=e.height(),5
diff --git a/dist/assets/lib/tablesorter/docs/example-widget-bootstrap-theme.html b/dist/assets/lib/tablesorter/docs/example-widget-bootstrap-theme.html
index 0be08f45..443a7a56 100644
--- a/dist/assets/lib/tablesorter/docs/example-widget-bootstrap-theme.html
+++ b/dist/assets/lib/tablesorter/docs/example-widget-bootstrap-theme.html
@@ -9,7 +9,7 @@
-
+
@@ -34,8 +34,8 @@
footerCells: '',
icons : '', // add "icon-white" to make them white; this icon class is added to the in the header
sortNone : 'bootstrap-icon-unsorted',
- sortAsc : 'icon-chevron-up',
- sortDesc : 'icon-chevron-down',
+ sortAsc : 'icon-chevron-up glyphicon glyphicon-chevron-up', // includes classes for Bootstrap v2 & v3
+ sortDesc : 'icon-chevron-down glyphicon glyphicon-chevron-down', // includes classes for Bootstrap v2 & v3
active : '', // applied when column is sorted
hover : '', // use custom css here - bootstrap class may not override it
filterRow : '', // filter row class
@@ -74,7 +74,7 @@
.tablesorterPager({
// target the pager markup - see the HTML block below
- container: $(".pager"),
+ container: $(".ts-pager"),
// target the pager page select dropdown - choose a page
cssGoto : ".pagenum",
@@ -117,7 +117,7 @@
$(this)
.toggleClass('btn-danger btn-success')
.find('i')
- .toggleClass('icon-ok icon-remove').end()
+ .toggleClass('icon-ok icon-remove glyphicon-ok glyphicon-remove').end()
.find('span')
.text(t ? 'disabled' : 'enabled');
$('table').trigger('refreshWidgets', [false]);
@@ -141,15 +141,24 @@ Flexible client-side table sorting
NOTE!