From 6e59be5f96607dea6ba1f4ddee5bc12c573d8ca8 Mon Sep 17 00:00:00 2001 From: Kevin Ross Date: Wed, 25 Nov 2015 16:01:18 -0600 Subject: [PATCH] #728 Initial restructuring of project and alignment with BS4 tooling and documentation. --- .editorconfig | 26 +- .gitattributes | 16 + .gitignore | 68 +- .hound.yml | 6 + .travis.yml | 56 +- .versions | 27 - CONTRIBUTING.md | 2 + Gemfile | 11 +- Gemfile.lock | 47 + Gruntfile.js | 945 +- LICENSE.md | 2 +- README.md | 296 +- _config.yml | 33 +- bootstrap-elements.html | 1984 -- bower.json | 66 +- demo/imgs/banner.jpg | Bin 89056 -> 0 bytes demo/imgs/gittip-button.jpg | Bin 16563 -> 0 bytes demo/imgs/issues-button.jpg | Bin 17236 -> 0 bytes dist/css/bootstrap-material-design.css | 3118 --- dist/css/bootstrap-material-design.css.map | 1 - dist/css/bootstrap-material-design.min.css | 2 - .../css/bootstrap-material-design.min.css.map | 1 - dist/css/ripples.css | 47 - dist/css/ripples.css.map | 1 - dist/css/ripples.min.css | 2 - dist/css/ripples.min.css.map | 1 - dist/js/material.js | 308 - dist/js/material.min.js | 2 - dist/js/material.min.js.map | 1 - dist/js/ripples.min.js | 2 - dist/js/ripples.min.js.map | 1 - docs/CNAME | 1 + docs/LICENSE | 332 +- docs/_data/browser-bugs.yml | 275 +- docs/_data/core-team.yml | 2 +- docs/_data/icons.yml | 763 - docs/_data/nav.yml | 64 + docs/_data/showcase.yml | 19 + docs/_data/translations.yml | 9 + docs/_includes/ads.html | 11 +- docs/_includes/components/alerts.html | 89 - docs/_includes/components/badges.html | 45 - docs/_includes/components/breadcrumbs.html | 27 - .../components/button-dropdowns.html | 321 - docs/_includes/components/button-groups.html | 268 - docs/_includes/components/dropdowns.html | 156 - docs/_includes/components/icons.html | 95 - docs/_includes/components/input-groups.html | 365 - docs/_includes/components/jumbotron.html | 27 - docs/_includes/components/labels.html | 40 - docs/_includes/components/list-group.html | 188 - docs/_includes/components/media.html | 207 - docs/_includes/components/navbar.html | 461 - docs/_includes/components/navs.html | 189 - docs/_includes/components/page-header.html | 15 - docs/_includes/components/pagination.html | 197 - docs/_includes/components/panels.html | 279 - docs/_includes/components/progress-bars.html | 214 - .../components/responsive-embed.html | 23 - docs/_includes/components/thumbnails.html | 94 - docs/_includes/components/wells.html | 33 - docs/_includes/css/buttons.html | 189 - docs/_includes/css/code.html | 52 - docs/_includes/css/forms.html | 1029 - docs/_includes/css/grid.html | 560 - docs/_includes/css/helpers.html | 207 - docs/_includes/css/images.html | 31 - docs/_includes/css/less.html | 499 - docs/_includes/css/overview.html | 52 - docs/_includes/css/responsive-utilities.html | 258 - docs/_includes/css/sass.html | 52 - docs/_includes/css/tables.html | 467 - docs/_includes/css/type.html | 461 - docs/_includes/footer.html | 105 +- .../getting-started/accessibility.html | 37 - .../browser-device-support.html | 210 - docs/_includes/getting-started/community.html | 13 - .../disabling-responsiveness.html | 22 - docs/_includes/getting-started/download.html | 63 - docs/_includes/getting-started/examples.html | 161 - docs/_includes/getting-started/grunt.html | 35 - docs/_includes/getting-started/license.html | 34 - docs/_includes/getting-started/template.html | 37 - .../getting-started/third-party-support.html | 51 - docs/_includes/getting-started/tools.html | 6 - .../getting-started/translations.html | 12 - .../getting-started/whats-included.html | 55 - docs/_includes/header.html | 67 +- docs/_includes/js/affix.html | 129 - docs/_includes/js/alerts.html | 73 - docs/_includes/js/buttons.html | 139 - docs/_includes/js/carousel.html | 260 - docs/_includes/js/collapse.html | 277 - docs/_includes/js/dropdowns.html | 201 - docs/_includes/js/modal.html | 520 - docs/_includes/js/overview.html | 86 - docs/_includes/js/popovers.html | 309 - docs/_includes/js/scrollspy.html | 151 - docs/_includes/js/tabs.html | 147 - docs/_includes/js/tooltips.html | 276 - docs/_includes/js/transitions.html | 15 - docs/_includes/nav-docs.html | 60 + docs/_includes/nav-home.html | 42 + docs/_includes/nav/about.html | 6 - docs/_includes/nav/components.html | 146 - docs/_includes/nav/css.html | 136 - docs/_includes/nav/customize.html | 47 - docs/_includes/nav/getting-started.html | 76 - docs/_includes/nav/javascript.html | 124 - docs/_includes/nav/main.html | 36 - docs/_includes/nav/migration.html | 12 - docs/_includes/page-headers.html | 41 + docs/_jade/customizer-nav.jade | 17 - docs/_jade/customizer-variables.jade | 25 - docs/_layouts/default.html | 57 +- docs/_layouts/docs.html | 36 + docs/_layouts/home.html | 13 +- docs/_layouts/simple.html | 17 + docs/_plugins/bridge.rb | 3 +- docs/_plugins/bugify.rb | 2 +- docs/_plugins/callout.rb | 28 + docs/_plugins/highlight_alt.rb | 85 + docs/_plugins/markdown-block.rb | 20 + docs/about.html | 37 - docs/about/history.md | 9 + docs/about/license.md | 32 + docs/about/team.md | 22 + docs/apple-touch-icon.png | Bin 0 -> 6140 bytes docs/assets/css/docs.min.css | 9 +- docs/assets/css/docs.min.css.map | 2 +- .../css/ie10-viewport-bug-workaround.css | 15 - docs/assets/css/src/_ads.less | 87 - docs/assets/css/src/_anchors.less | 51 - docs/assets/css/src/_brand.less | 77 - docs/assets/css/src/_callouts.less | 59 - docs/assets/css/src/_clipboard.less | 40 - docs/assets/css/src/_code.less | 33 - docs/assets/css/src/_color-swatches.less | 83 - docs/assets/css/src/_customizer.less | 133 - docs/assets/css/src/_examples.less | 372 - docs/assets/css/src/_featured.less | 31 - docs/assets/css/src/_featurette.less | 82 - docs/assets/css/src/_footer.less | 40 - docs/assets/css/src/_grid.less | 20 - docs/assets/css/src/_header.less | 47 - docs/assets/css/src/_home.less | 78 - docs/assets/css/src/_icons.less | 56 - docs/assets/css/src/_nav.less | 43 - docs/assets/css/src/_responsive.less | 80 - docs/assets/css/src/_sections.less | 19 - docs/assets/css/src/_sidebar.less | 142 - docs/assets/css/src/_team.less | 29 - docs/assets/css/src/docs.css | 1504 -- docs/assets/css/src/docs.css.map | 1 - docs/assets/css/src/docs.less | 163 - docs/assets/css/src/pygments-manni.css | 66 - docs/assets/flash/ZeroClipboard.swf | Bin 2157 -> 0 bytes docs/assets/img/bs-themes.png | Bin 0 -> 179980 bytes docs/assets/img/devices.png | Bin 6654 -> 3316 bytes docs/assets/img/expo-lyft.jpg | Bin 159273 -> 159269 bytes docs/assets/img/expo-newsweek.jpg | Bin 201647 -> 201643 bytes docs/assets/img/expo-riot.jpg | Bin 161715 -> 161711 bytes docs/assets/img/expo-vogue.jpg | Bin 198624 -> 198620 bytes .../img/material-design-color-palette.jpg | Bin 28270 -> 0 bytes docs/assets/img/sass-less.png | Bin 14588 -> 0 bytes docs/assets/img/sass.png | Bin 0 -> 11376 bytes docs/assets/js/.jshintrc | 15 - docs/assets/js/customize.min.js | 47 - docs/assets/js/customize.min.js.map | 1 - docs/assets/js/docs.min.js | 32 +- docs/assets/js/docs.min.js.map | 1 - docs/assets/js/ie-emulation-modes-warning.js | 2 +- .../assets/js/ie10-viewport-bug-workaround.js | 2 +- docs/assets/js/ie8-responsive-file-warning.js | 13 - docs/assets/js/raw-files.min.js | 8 - docs/assets/js/src/application.js | 166 +- docs/assets/js/src/customizer.js | 521 - docs/assets/js/vendor/Blob.js | 211 - docs/assets/js/vendor/FileSaver.js | 248 - docs/assets/js/vendor/ZeroClipboard.min.js | 9 - docs/assets/js/vendor/anchor.js | 196 - docs/assets/js/vendor/anchor.min.js | 6 + docs/assets/js/vendor/autoprefixer.js | 21114 ---------------- docs/assets/js/vendor/clipboard.min.js | 7 + docs/assets/js/vendor/holder.min.js | 6 +- docs/assets/js/vendor/jekyll-search.js | 1 + docs/assets/js/vendor/jquery.min.js | 9 +- docs/assets/js/vendor/jszip.min.js | 14 - docs/assets/js/vendor/less.min.js | 16 - docs/assets/js/vendor/tether.min.js | 2 + docs/assets/js/vendor/uglify.min.js | 6 - docs/assets/scss/_ads.scss | 68 + docs/assets/scss/_anchor.scss | 22 + docs/assets/scss/_booticon.scss | 25 + docs/assets/scss/_brand.scss | 108 + docs/assets/scss/_browser-bugs.scss | 12 + docs/assets/scss/_buttons.scss | 17 + docs/assets/scss/_callouts.scss | 36 + docs/assets/scss/_clipboard-js.scss | 34 + docs/assets/scss/_component-examples.scss | 344 + docs/assets/scss/_content.scss | 85 + docs/assets/scss/_examples.scss | 24 + docs/assets/scss/_featured-sites.scss | 21 + docs/assets/scss/_featurettes.scss | 97 + docs/assets/scss/_footer.scss | 41 + docs/assets/scss/_masthead.scss | 92 + docs/assets/scss/_nav.scss | 38 + docs/assets/scss/_page-header.scss | 58 + docs/assets/scss/_responsive-tests.scss | 92 + docs/assets/scss/_sidebar.scss | 106 + docs/assets/scss/_skiplink.scss | 12 + docs/assets/scss/_syntax.scss | 64 + docs/assets/scss/_team.scss | 28 + docs/assets/scss/docs.scss | 64 + docs/browser-bugs.html | 43 - docs/browser-bugs.md | 38 + docs/components.html | 29 - docs/components/alerts.md | 114 + docs/components/breadcrumb.md | 24 + docs/components/button-dropdown.md | 307 + docs/components/button-group.md | 157 + docs/components/buttons.md | 185 + docs/components/card.md | 446 + docs/components/carousel.md | 247 + docs/components/collapse.md | 209 + docs/components/dropdowns.md | 178 + docs/components/forms.md | 696 + docs/components/input-group.md | 201 + docs/components/jumbotron.md | 32 + docs/components/label.md | 46 + docs/components/list-group.md | 132 + docs/components/modal.md | 495 + docs/components/navbar.md | 230 + docs/components/navs.md | 351 + docs/components/pagination.md | 179 + docs/components/popovers.md | 349 + docs/components/progress.md | 74 + docs/components/scrollspy.md | 162 + docs/components/tooltips.md | 306 + docs/components/utilities.md | 336 + docs/content/code.md | 53 + docs/content/figures.md | 25 + docs/content/images.md | 80 + docs/content/tables.md | 611 + docs/content/typography.md | 267 + docs/css.html | 20 - docs/dist/css/bootstrap.css | 6113 +++++ docs/dist/css/bootstrap.css.map | 1 + docs/dist/css/bootstrap.min.css | 6 + docs/dist/css/bootstrap.min.css.map | 1 + docs/dist/js/bootstrap.js | 3560 +++ docs/dist/js/bootstrap.min.js | 7 + docs/dist/js/npm.js | 12 + docs/dist/js/umd/alert.js | 211 + docs/dist/js/umd/button.js | 187 + docs/dist/js/umd/carousel.js | 497 + docs/dist/js/umd/collapse.js | 383 + docs/dist/js/umd/dropdown.js | 312 + docs/dist/js/umd/modal.js | 555 + docs/dist/js/umd/popover.js | 220 + docs/dist/js/umd/scrollspy.js | 339 + docs/dist/js/umd/tab.js | 282 + docs/dist/js/umd/tooltip.js | 638 + docs/dist/js/umd/util.js | 172 + docs/examples/album/album.css | 85 + docs/examples/album/index.html | 130 + docs/examples/blog/blog.css | 93 +- docs/examples/blog/index.html | 43 +- docs/examples/carousel/carousel.css | 91 +- docs/examples/carousel/index.html | 99 +- docs/examples/cover/cover.css | 73 +- docs/examples/cover/index.html | 29 +- docs/examples/dashboard/dashboard.css | 1 - docs/examples/dashboard/index.html | 67 +- docs/examples/grid/grid.css | 25 +- docs/examples/grid/index.html | 53 +- docs/examples/index.md | 165 + .../jumbotron-narrow/jumbotron-narrow.css | 80 - docs/examples/jumbotron/index.html | 63 +- docs/examples/jumbotron/jumbotron.css | 4 +- docs/examples/justified-nav/index.html | 22 +- docs/examples/justified-nav/justified-nav.css | 4 +- .../index.html | 36 +- .../narrow-jumbotron/narrow-jumbotron.css | 79 + docs/examples/navbar-fixed-top/index.html | 99 - .../navbar-fixed-top/navbar-fixed-top.css | 5 - docs/examples/navbar-static-top/index.html | 100 - .../navbar-static-top/navbar-static-top.css | 8 - docs/examples/navbar-top-fixed/index.html | 54 + .../navbar-top-fixed/navbar-top-fixed.css | 5 + docs/examples/navbar-top/index.html | 52 + docs/examples/navbar-top/navbar-top.css | 4 + docs/examples/navbar/index.html | 87 +- docs/examples/navbar/navbar.css | 1 - docs/examples/non-responsive/index.html | 115 - .../non-responsive/non-responsive.css | 263 - docs/examples/offcanvas/index.html | 75 +- docs/examples/offcanvas/offcanvas.css | 1 - docs/examples/offcanvas/offcanvas.js | 2 +- docs/examples/screenshots/album.jpg | Bin 0 -> 64394 bytes docs/examples/signin/index.html | 18 +- docs/examples/signin/signin.css | 2 - docs/examples/starter-template/index.html | 49 +- .../starter-template/starter-template.css | 5 +- docs/examples/sticky-footer-navbar/index.html | 41 +- .../sticky-footer-navbar.css | 1 - docs/examples/sticky-footer/index.html | 18 +- docs/examples/sticky-footer/sticky-footer.css | 1 - docs/examples/theme/index.html | 644 - docs/examples/theme/theme.css | 19 - docs/examples/tooltip-viewport/index.html | 36 +- .../tooltip-viewport/tooltip-viewport.css | 1 - docs/extend/approach.md | 5 + docs/extend/icon-fonts.md | 5 + docs/extend/index.md | 6 + docs/favicon.ico | Bin 0 -> 5430 bytes docs/getting-started.html | 28 - docs/getting-started/accessibility.md | 55 + docs/getting-started/best-practices.md | 16 + docs/getting-started/browsers-devices.md | 259 + docs/getting-started/build-tools.md | 71 + docs/getting-started/contents.md | 44 + docs/getting-started/download.md | 72 + docs/getting-started/flexbox.md | 51 + docs/getting-started/introduction.md | 111 + docs/getting-started/javascript.md | 106 + docs/getting-started/options.md | 21 + docs/index.html | 111 +- docs/javascript.html | 21 - docs/layout/grid.md | 432 + docs/layout/media-object.md | 173 + docs/layout/overview.md | 114 + docs/layout/responsive-utilities.md | 230 + docs/migration.md | 196 + docs/search.json | 13 + docs/sitemap.xml | 23 - grunt/.jshintrc | 9 - grunt/bmd-icons-data-generator.js | 37 - grunt/bs-commonjs-generator.js | 29 + grunt/bs-sass-compile/libsass.js | 34 + grunt/bs-sass-compile/sass.js | 38 + grunt/configBridge.json | 40 +- grunt/npm-shrinkwrap.json | 4182 +++ grunt/sauce_browsers.yml | 71 + index.css | 360 - index.html | 1106 - js/.eslintrc | 178 + {scripts => js}/.jscsrc | 4 +- {scripts => js/src}/material.js | 25 +- {dist/js => js/src}/ripples.js | 0 js/tests/README.md | 61 + js/tests/index.html | 168 + .../materialSpec.js => js/tests/unit/.gitkeep | 0 js/tests/vendor/jquery.min.js | 4 + js/tests/vendor/qunit.css | 291 + js/tests/vendor/qunit.js | 3828 +++ js/tests/vendor/tether.min.js | 2 + .../tests/visual/.gitkeep | 0 less/.csslintrc | 22 - less/_alerts.less | 24 - less/_bootstrap-material-design.less | 121 - less/_buttons.less | 227 - less/_cards.less | 66 - less/_checkboxes.less | 253 - less/_colors.less | 362 - less/_dialogs.less | 52 - less/_dividers.less | 71 - less/_form.less | 22 - less/_icons-material-design.less | 3250 --- less/_icons.less | 21 - less/_import-bs-less.less | 2 - less/_import-bs-sass.less | 4 - less/_inputs-size.less | 221 - less/_inputs.less | 351 - less/_lists.less | 102 - less/_mixins.less | 86 - less/_navbar.less | 239 - less/_panels.less | 21 - less/_plugins.less | 5 - less/_popups.less | 18 - less/_progress.less | 10 - less/_radios.less | 115 - less/_shadows.less | 81 - less/_tabs.less | 24 - less/_themes.less | 6 - less/_togglebutton.less | 77 - less/_typography.less | 15 - less/_variables.less | 164 - less/_welljumbo.less | 26 - less/bootstrap-material-design.less | 5 - less/plugins/_plugin-dropdownjs.less | 19 - less/plugins/_plugin-nouislider.less | 110 - less/plugins/_plugin-selectize.less | 91 - less/plugins/_plugin-snackbarjs.less | 32 - less/ripples.less | 36 - meteor/README.md | 69 - meteor/example/.meteor/.gitignore | 1 - meteor/example/.meteor/packages | 7 - meteor/example/.meteor/release | 1 - meteor/example/client/bmd.css | 3 - meteor/example/client/bmd.html | 14 - meteor/example/client/bmd.js | 15 - meteor/example/run.bat | 5 - meteor/example/run.sh | 15 - meteor/init.js | 3 - meteor/package-fullpalette.js | 39 - meteor/package-noglyph.js | 39 - meteor/package-noicons.js | 34 - meteor/package.js | 41 - meteor/test-noicons.js | 63 - meteor/test.js | 106 - package.js | 28 +- package.json | 130 +- sache.json | 5 + scripts/.jshintrc | 43 - scripts/index.js | 2 - scripts/ripples.js | 324 - scss/.csscomb.json | 304 + scss/.scss-lint.yml | 458 + {sass => scss}/_alerts.scss | 0 .../_bootstrap-material-design.scss | 0 {sass => scss}/_buttons.scss | 0 {sass => scss}/_cards.scss | 0 {sass => scss}/_checkboxes.scss | 0 {sass => scss}/_colors-map.scss | 0 {sass => scss}/_colors.scss | 0 {sass => scss}/_dialogs.scss | 0 {sass => scss}/_dividers.scss | 0 {sass => scss}/_form.scss | 0 {sass => scss}/_icons-material-design.scss | 0 {sass => scss}/_icons.scss | 0 {sass => scss}/_import-bs-less.scss | 0 {sass => scss}/_import-bs-sass.scss | 0 {sass => scss}/_inputs-size.scss | 0 {sass => scss}/_inputs.scss | 0 {sass => scss}/_labels.scss | 0 {sass => scss}/_lists.scss | 0 {sass => scss}/_mixins-utilities.scss | 0 {sass => scss}/_mixins.scss | 0 {sass => scss}/_navbar.scss | 0 {sass => scss}/_panels.scss | 0 {sass => scss}/_plugins.scss | 0 {sass => scss}/_popups.scss | 0 {sass => scss}/_progress.scss | 0 {sass => scss}/_radios.scss | 0 {sass => scss}/_shadows.scss | 0 {sass => scss}/_tabs.scss | 0 {sass => scss}/_themes.scss | 0 {sass => scss}/_togglebutton.scss | 0 {sass => scss}/_typography.scss | 0 {sass => scss}/_variables.scss | 0 {sass => scss}/_welljumbo.scss | 0 {sass => scss}/bootstrap-material-design.scss | 0 .../plugins/_plugin-dropdownjs.scss | 0 .../plugins/_plugin-nouislider.scss | 0 {sass => scss}/plugins/_plugin-selectize.scss | 0 .../plugins/_plugin-snackbarjs.scss | 0 {sass => scss}/ripples.scss | 0 458 files changed, 36164 insertions(+), 55493 deletions(-) create mode 100644 .gitattributes create mode 100644 .hound.yml delete mode 100644 .versions create mode 100644 Gemfile.lock delete mode 100644 bootstrap-elements.html delete mode 100644 demo/imgs/banner.jpg delete mode 100644 demo/imgs/gittip-button.jpg delete mode 100644 demo/imgs/issues-button.jpg delete mode 100644 dist/css/bootstrap-material-design.css delete mode 100644 dist/css/bootstrap-material-design.css.map delete mode 100644 dist/css/bootstrap-material-design.min.css delete mode 100644 dist/css/bootstrap-material-design.min.css.map delete mode 100644 dist/css/ripples.css delete mode 100644 dist/css/ripples.css.map delete mode 100644 dist/css/ripples.min.css delete mode 100644 dist/css/ripples.min.css.map delete mode 100644 dist/js/material.js delete mode 100644 dist/js/material.min.js delete mode 100644 dist/js/material.min.js.map delete mode 100644 dist/js/ripples.min.js delete mode 100644 dist/js/ripples.min.js.map create mode 100644 docs/CNAME delete mode 100644 docs/_data/icons.yml create mode 100644 docs/_data/nav.yml create mode 100644 docs/_data/showcase.yml create mode 100644 docs/_data/translations.yml delete mode 100644 docs/_includes/components/alerts.html delete mode 100644 docs/_includes/components/badges.html delete mode 100644 docs/_includes/components/breadcrumbs.html delete mode 100644 docs/_includes/components/button-dropdowns.html delete mode 100644 docs/_includes/components/button-groups.html delete mode 100644 docs/_includes/components/dropdowns.html delete mode 100644 docs/_includes/components/icons.html delete mode 100644 docs/_includes/components/input-groups.html delete mode 100644 docs/_includes/components/jumbotron.html delete mode 100644 docs/_includes/components/labels.html delete mode 100644 docs/_includes/components/list-group.html delete mode 100644 docs/_includes/components/media.html delete mode 100644 docs/_includes/components/navbar.html delete mode 100644 docs/_includes/components/navs.html delete mode 100644 docs/_includes/components/page-header.html delete mode 100644 docs/_includes/components/pagination.html delete mode 100644 docs/_includes/components/panels.html delete mode 100644 docs/_includes/components/progress-bars.html delete mode 100644 docs/_includes/components/responsive-embed.html delete mode 100644 docs/_includes/components/thumbnails.html delete mode 100644 docs/_includes/components/wells.html delete mode 100644 docs/_includes/css/buttons.html delete mode 100644 docs/_includes/css/code.html delete mode 100644 docs/_includes/css/forms.html delete mode 100644 docs/_includes/css/grid.html delete mode 100644 docs/_includes/css/helpers.html delete mode 100644 docs/_includes/css/images.html delete mode 100644 docs/_includes/css/less.html delete mode 100644 docs/_includes/css/overview.html delete mode 100644 docs/_includes/css/responsive-utilities.html delete mode 100644 docs/_includes/css/sass.html delete mode 100644 docs/_includes/css/tables.html delete mode 100644 docs/_includes/css/type.html delete mode 100644 docs/_includes/getting-started/accessibility.html delete mode 100644 docs/_includes/getting-started/browser-device-support.html delete mode 100644 docs/_includes/getting-started/community.html delete mode 100644 docs/_includes/getting-started/disabling-responsiveness.html delete mode 100644 docs/_includes/getting-started/download.html delete mode 100644 docs/_includes/getting-started/examples.html delete mode 100644 docs/_includes/getting-started/grunt.html delete mode 100644 docs/_includes/getting-started/license.html delete mode 100644 docs/_includes/getting-started/template.html delete mode 100644 docs/_includes/getting-started/third-party-support.html delete mode 100644 docs/_includes/getting-started/tools.html delete mode 100644 docs/_includes/getting-started/translations.html delete mode 100644 docs/_includes/getting-started/whats-included.html delete mode 100644 docs/_includes/js/affix.html delete mode 100644 docs/_includes/js/alerts.html delete mode 100644 docs/_includes/js/buttons.html delete mode 100644 docs/_includes/js/carousel.html delete mode 100644 docs/_includes/js/collapse.html delete mode 100644 docs/_includes/js/dropdowns.html delete mode 100644 docs/_includes/js/modal.html delete mode 100644 docs/_includes/js/overview.html delete mode 100644 docs/_includes/js/popovers.html delete mode 100644 docs/_includes/js/scrollspy.html delete mode 100644 docs/_includes/js/tabs.html delete mode 100644 docs/_includes/js/tooltips.html delete mode 100644 docs/_includes/js/transitions.html create mode 100644 docs/_includes/nav-docs.html create mode 100644 docs/_includes/nav-home.html delete mode 100644 docs/_includes/nav/about.html delete mode 100644 docs/_includes/nav/components.html delete mode 100644 docs/_includes/nav/css.html delete mode 100644 docs/_includes/nav/customize.html delete mode 100644 docs/_includes/nav/getting-started.html delete mode 100644 docs/_includes/nav/javascript.html delete mode 100644 docs/_includes/nav/main.html delete mode 100644 docs/_includes/nav/migration.html create mode 100644 docs/_includes/page-headers.html delete mode 100644 docs/_jade/customizer-nav.jade delete mode 100644 docs/_jade/customizer-variables.jade create mode 100644 docs/_layouts/docs.html create mode 100644 docs/_layouts/simple.html create mode 100644 docs/_plugins/callout.rb create mode 100644 docs/_plugins/highlight_alt.rb create mode 100644 docs/_plugins/markdown-block.rb delete mode 100644 docs/about.html create mode 100644 docs/about/history.md create mode 100644 docs/about/license.md create mode 100644 docs/about/team.md create mode 100644 docs/apple-touch-icon.png delete mode 100644 docs/assets/css/ie10-viewport-bug-workaround.css delete mode 100644 docs/assets/css/src/_ads.less delete mode 100644 docs/assets/css/src/_anchors.less delete mode 100644 docs/assets/css/src/_brand.less delete mode 100644 docs/assets/css/src/_callouts.less delete mode 100644 docs/assets/css/src/_clipboard.less delete mode 100644 docs/assets/css/src/_code.less delete mode 100644 docs/assets/css/src/_color-swatches.less delete mode 100644 docs/assets/css/src/_customizer.less delete mode 100644 docs/assets/css/src/_examples.less delete mode 100644 docs/assets/css/src/_featured.less delete mode 100644 docs/assets/css/src/_featurette.less delete mode 100644 docs/assets/css/src/_footer.less delete mode 100644 docs/assets/css/src/_grid.less delete mode 100644 docs/assets/css/src/_header.less delete mode 100644 docs/assets/css/src/_home.less delete mode 100644 docs/assets/css/src/_icons.less delete mode 100644 docs/assets/css/src/_nav.less delete mode 100644 docs/assets/css/src/_responsive.less delete mode 100644 docs/assets/css/src/_sections.less delete mode 100644 docs/assets/css/src/_sidebar.less delete mode 100644 docs/assets/css/src/_team.less delete mode 100644 docs/assets/css/src/docs.css delete mode 100644 docs/assets/css/src/docs.css.map delete mode 100644 docs/assets/css/src/docs.less delete mode 100644 docs/assets/css/src/pygments-manni.css delete mode 100644 docs/assets/flash/ZeroClipboard.swf create mode 100644 docs/assets/img/bs-themes.png delete mode 100644 docs/assets/img/material-design-color-palette.jpg delete mode 100644 docs/assets/img/sass-less.png create mode 100644 docs/assets/img/sass.png delete mode 100644 docs/assets/js/.jshintrc delete mode 100644 docs/assets/js/customize.min.js delete mode 100644 docs/assets/js/customize.min.js.map delete mode 100644 docs/assets/js/docs.min.js.map delete mode 100644 docs/assets/js/ie8-responsive-file-warning.js delete mode 100644 docs/assets/js/raw-files.min.js delete mode 100644 docs/assets/js/src/customizer.js delete mode 100644 docs/assets/js/vendor/Blob.js delete mode 100644 docs/assets/js/vendor/FileSaver.js delete mode 100644 docs/assets/js/vendor/ZeroClipboard.min.js delete mode 100644 docs/assets/js/vendor/anchor.js create mode 100644 docs/assets/js/vendor/anchor.min.js delete mode 100644 docs/assets/js/vendor/autoprefixer.js create mode 100644 docs/assets/js/vendor/clipboard.min.js create mode 100644 docs/assets/js/vendor/jekyll-search.js delete mode 100644 docs/assets/js/vendor/jszip.min.js delete mode 100644 docs/assets/js/vendor/less.min.js create mode 100644 docs/assets/js/vendor/tether.min.js delete mode 100644 docs/assets/js/vendor/uglify.min.js create mode 100644 docs/assets/scss/_ads.scss create mode 100644 docs/assets/scss/_anchor.scss create mode 100644 docs/assets/scss/_booticon.scss create mode 100644 docs/assets/scss/_brand.scss create mode 100644 docs/assets/scss/_browser-bugs.scss create mode 100644 docs/assets/scss/_buttons.scss create mode 100644 docs/assets/scss/_callouts.scss create mode 100644 docs/assets/scss/_clipboard-js.scss create mode 100644 docs/assets/scss/_component-examples.scss create mode 100644 docs/assets/scss/_content.scss create mode 100644 docs/assets/scss/_examples.scss create mode 100644 docs/assets/scss/_featured-sites.scss create mode 100644 docs/assets/scss/_featurettes.scss create mode 100644 docs/assets/scss/_footer.scss create mode 100644 docs/assets/scss/_masthead.scss create mode 100644 docs/assets/scss/_nav.scss create mode 100644 docs/assets/scss/_page-header.scss create mode 100644 docs/assets/scss/_responsive-tests.scss create mode 100644 docs/assets/scss/_sidebar.scss create mode 100644 docs/assets/scss/_skiplink.scss create mode 100644 docs/assets/scss/_syntax.scss create mode 100644 docs/assets/scss/_team.scss create mode 100644 docs/assets/scss/docs.scss delete mode 100644 docs/browser-bugs.html create mode 100644 docs/browser-bugs.md delete mode 100644 docs/components.html create mode 100644 docs/components/alerts.md create mode 100644 docs/components/breadcrumb.md create mode 100644 docs/components/button-dropdown.md create mode 100644 docs/components/button-group.md create mode 100644 docs/components/buttons.md create mode 100644 docs/components/card.md create mode 100644 docs/components/carousel.md create mode 100644 docs/components/collapse.md create mode 100644 docs/components/dropdowns.md create mode 100644 docs/components/forms.md create mode 100644 docs/components/input-group.md create mode 100644 docs/components/jumbotron.md create mode 100644 docs/components/label.md create mode 100644 docs/components/list-group.md create mode 100644 docs/components/modal.md create mode 100644 docs/components/navbar.md create mode 100644 docs/components/navs.md create mode 100644 docs/components/pagination.md create mode 100644 docs/components/popovers.md create mode 100644 docs/components/progress.md create mode 100644 docs/components/scrollspy.md create mode 100644 docs/components/tooltips.md create mode 100644 docs/components/utilities.md create mode 100644 docs/content/code.md create mode 100644 docs/content/figures.md create mode 100644 docs/content/images.md create mode 100644 docs/content/tables.md create mode 100644 docs/content/typography.md delete mode 100644 docs/css.html create mode 100644 docs/dist/css/bootstrap.css create mode 100644 docs/dist/css/bootstrap.css.map create mode 100644 docs/dist/css/bootstrap.min.css create mode 100644 docs/dist/css/bootstrap.min.css.map create mode 100644 docs/dist/js/bootstrap.js create mode 100644 docs/dist/js/bootstrap.min.js create mode 100644 docs/dist/js/npm.js create mode 100644 docs/dist/js/umd/alert.js create mode 100644 docs/dist/js/umd/button.js create mode 100644 docs/dist/js/umd/carousel.js create mode 100644 docs/dist/js/umd/collapse.js create mode 100644 docs/dist/js/umd/dropdown.js create mode 100644 docs/dist/js/umd/modal.js create mode 100644 docs/dist/js/umd/popover.js create mode 100644 docs/dist/js/umd/scrollspy.js create mode 100644 docs/dist/js/umd/tab.js create mode 100644 docs/dist/js/umd/tooltip.js create mode 100644 docs/dist/js/umd/util.js create mode 100644 docs/examples/album/album.css create mode 100644 docs/examples/album/index.html create mode 100644 docs/examples/index.md delete mode 100644 docs/examples/jumbotron-narrow/jumbotron-narrow.css rename docs/examples/{jumbotron-narrow => narrow-jumbotron}/index.html (69%) create mode 100644 docs/examples/narrow-jumbotron/narrow-jumbotron.css delete mode 100644 docs/examples/navbar-fixed-top/index.html delete mode 100644 docs/examples/navbar-fixed-top/navbar-fixed-top.css delete mode 100644 docs/examples/navbar-static-top/index.html delete mode 100644 docs/examples/navbar-static-top/navbar-static-top.css create mode 100644 docs/examples/navbar-top-fixed/index.html create mode 100644 docs/examples/navbar-top-fixed/navbar-top-fixed.css create mode 100644 docs/examples/navbar-top/index.html create mode 100644 docs/examples/navbar-top/navbar-top.css delete mode 100644 docs/examples/non-responsive/index.html delete mode 100644 docs/examples/non-responsive/non-responsive.css create mode 100644 docs/examples/screenshots/album.jpg delete mode 100644 docs/examples/theme/index.html delete mode 100644 docs/examples/theme/theme.css create mode 100644 docs/extend/approach.md create mode 100644 docs/extend/icon-fonts.md create mode 100644 docs/extend/index.md create mode 100644 docs/favicon.ico delete mode 100644 docs/getting-started.html create mode 100644 docs/getting-started/accessibility.md create mode 100644 docs/getting-started/best-practices.md create mode 100644 docs/getting-started/browsers-devices.md create mode 100644 docs/getting-started/build-tools.md create mode 100644 docs/getting-started/contents.md create mode 100644 docs/getting-started/download.md create mode 100644 docs/getting-started/flexbox.md create mode 100644 docs/getting-started/introduction.md create mode 100644 docs/getting-started/javascript.md create mode 100644 docs/getting-started/options.md delete mode 100644 docs/javascript.html create mode 100644 docs/layout/grid.md create mode 100644 docs/layout/media-object.md create mode 100644 docs/layout/overview.md create mode 100644 docs/layout/responsive-utilities.md create mode 100644 docs/migration.md create mode 100644 docs/search.json delete mode 100644 docs/sitemap.xml delete mode 100644 grunt/.jshintrc delete mode 100644 grunt/bmd-icons-data-generator.js create mode 100644 grunt/bs-commonjs-generator.js create mode 100644 grunt/bs-sass-compile/libsass.js create mode 100644 grunt/bs-sass-compile/sass.js create mode 100644 grunt/npm-shrinkwrap.json create mode 100644 grunt/sauce_browsers.yml delete mode 100644 index.css delete mode 100644 index.html create mode 100644 js/.eslintrc rename {scripts => js}/.jscsrc (94%) rename {scripts => js/src}/material.js (90%) rename {dist/js => js/src}/ripples.js (100%) create mode 100644 js/tests/README.md create mode 100644 js/tests/index.html rename test/materialSpec.js => js/tests/unit/.gitkeep (100%) create mode 100644 js/tests/vendor/jquery.min.js create mode 100644 js/tests/vendor/qunit.css create mode 100644 js/tests/vendor/qunit.js create mode 100644 js/tests/vendor/tether.min.js rename test/ripplesSpec.js => js/tests/visual/.gitkeep (100%) delete mode 100644 less/.csslintrc delete mode 100755 less/_alerts.less delete mode 100644 less/_bootstrap-material-design.less delete mode 100644 less/_buttons.less delete mode 100644 less/_cards.less delete mode 100644 less/_checkboxes.less delete mode 100644 less/_colors.less delete mode 100644 less/_dialogs.less delete mode 100644 less/_dividers.less delete mode 100644 less/_form.less delete mode 100644 less/_icons-material-design.less delete mode 100644 less/_icons.less delete mode 100644 less/_import-bs-less.less delete mode 100644 less/_import-bs-sass.less delete mode 100644 less/_inputs-size.less delete mode 100644 less/_inputs.less delete mode 100644 less/_lists.less delete mode 100755 less/_mixins.less delete mode 100755 less/_navbar.less delete mode 100644 less/_panels.less delete mode 100644 less/_plugins.less delete mode 100644 less/_popups.less delete mode 100644 less/_progress.less delete mode 100644 less/_radios.less delete mode 100644 less/_shadows.less delete mode 100644 less/_tabs.less delete mode 100644 less/_themes.less delete mode 100644 less/_togglebutton.less delete mode 100644 less/_typography.less delete mode 100644 less/_variables.less delete mode 100644 less/_welljumbo.less delete mode 100644 less/bootstrap-material-design.less delete mode 100644 less/plugins/_plugin-dropdownjs.less delete mode 100644 less/plugins/_plugin-nouislider.less delete mode 100644 less/plugins/_plugin-selectize.less delete mode 100644 less/plugins/_plugin-snackbarjs.less delete mode 100644 less/ripples.less delete mode 100644 meteor/README.md delete mode 100644 meteor/example/.meteor/.gitignore delete mode 100644 meteor/example/.meteor/packages delete mode 100644 meteor/example/.meteor/release delete mode 100644 meteor/example/client/bmd.css delete mode 100644 meteor/example/client/bmd.html delete mode 100644 meteor/example/client/bmd.js delete mode 100755 meteor/example/run.bat delete mode 100755 meteor/example/run.sh delete mode 100644 meteor/init.js delete mode 100644 meteor/package-fullpalette.js delete mode 100644 meteor/package-noglyph.js delete mode 100644 meteor/package-noicons.js delete mode 100644 meteor/package.js delete mode 100644 meteor/test-noicons.js delete mode 100644 meteor/test.js create mode 100644 sache.json delete mode 100644 scripts/.jshintrc delete mode 100644 scripts/index.js delete mode 100644 scripts/ripples.js create mode 100644 scss/.csscomb.json create mode 100644 scss/.scss-lint.yml rename {sass => scss}/_alerts.scss (100%) rename {sass => scss}/_bootstrap-material-design.scss (100%) rename {sass => scss}/_buttons.scss (100%) rename {sass => scss}/_cards.scss (100%) rename {sass => scss}/_checkboxes.scss (100%) rename {sass => scss}/_colors-map.scss (100%) rename {sass => scss}/_colors.scss (100%) rename {sass => scss}/_dialogs.scss (100%) rename {sass => scss}/_dividers.scss (100%) rename {sass => scss}/_form.scss (100%) rename {sass => scss}/_icons-material-design.scss (100%) rename {sass => scss}/_icons.scss (100%) rename {sass => scss}/_import-bs-less.scss (100%) rename {sass => scss}/_import-bs-sass.scss (100%) rename {sass => scss}/_inputs-size.scss (100%) rename {sass => scss}/_inputs.scss (100%) rename {sass => scss}/_labels.scss (100%) rename {sass => scss}/_lists.scss (100%) rename {sass => scss}/_mixins-utilities.scss (100%) rename {sass => scss}/_mixins.scss (100%) rename {sass => scss}/_navbar.scss (100%) rename {sass => scss}/_panels.scss (100%) rename {sass => scss}/_plugins.scss (100%) rename {sass => scss}/_popups.scss (100%) rename {sass => scss}/_progress.scss (100%) rename {sass => scss}/_radios.scss (100%) rename {sass => scss}/_shadows.scss (100%) rename {sass => scss}/_tabs.scss (100%) rename {sass => scss}/_themes.scss (100%) rename {sass => scss}/_togglebutton.scss (100%) rename {sass => scss}/_typography.scss (100%) rename {sass => scss}/_variables.scss (100%) rename {sass => scss}/_welljumbo.scss (100%) rename {sass => scss}/bootstrap-material-design.scss (100%) rename {sass => scss}/plugins/_plugin-dropdownjs.scss (100%) rename {sass => scss}/plugins/_plugin-nouislider.scss (100%) rename {sass => scss}/plugins/_plugin-selectize.scss (100%) rename {sass => scss}/plugins/_plugin-snackbarjs.scss (100%) rename {sass => scss}/ripples.scss (100%) diff --git a/.editorconfig b/.editorconfig index 95b7e776..c193ae07 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,15 +1,17 @@ +# editorconfig.org + root = true + [*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space insert_final_newline = true -[*.js] -indent_style = space -indent_size = 2 -[*.json] -indent_style = space -indent_size = 2 -[*.less] -indent_style = space -indent_size = 2 -[*.sass] -indent_style = space -indent_size = 2 +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.py] +indent_size = 4 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..bd2165d0 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,16 @@ +# Enforce Unix newlines +*.css text eol=lf +*.html text eol=lf +*.js text eol=lf +*.json text eol=lf +*.md text eol=lf +*.py text eol=lf +*.rb text eol=lf +*.scss text eol=lf +*.svg text eol=lf +*.yml text eol=lf +# Don't diff or textually merge source maps +*.map binary + +bootstrap-material-design.css linguist-vendored=false +bootstrap-material-design.js linguist-vendored=false diff --git a/.gitignore b/.gitignore index 09ae2fa8..49a88e64 100644 --- a/.gitignore +++ b/.gitignore @@ -1,22 +1,56 @@ -# https://git-scm.com/docs/gitignore -# https://help.github.com/articles/ignoring-files -# Example .gitignore files: https://github.com/github/gitignore - - -# Jekyll metadata +# Ignore docs files _gh_pages _site -docs/.jekyll-metadata -docs/dist +# Ignore ruby files +.ruby-version +.bundle +vendor/cache +vendor/bundle + +# Numerous always-ignore extensions +*.diff +*.err *.log -.sass-cache -Thumbs.db +*.orig +*.rej +*.swo +*.swp +*.vi +*.zip +*~ + +# OS or Editor folders +._* +.cache .DS_Store -/node_modules/ -.grunt/ -/bower_components/ -.build* -/_SpecRunner.html -Gemfile.lock -dist/sassc +.idea +.project +.settings +.tmproj +*.esproj +*.sublime-project +*.sublime-workspace +nbproject +Thumbs.db + +# Komodo +.komodotools +*.komodoproject + +# grunt-html-validation +validation-report.json +validation-status.json + +# SCSS-Lint +scss-lint-report.xml + +# grunt-contrib-sass cache +.sass-cache + +# Jekyll metadata +docs/.jekyll-metadata + +# Folders to ignore +bower_components +node_modules diff --git a/.hound.yml b/.hound.yml new file mode 100644 index 00000000..1dd8ae60 --- /dev/null +++ b/.hound.yml @@ -0,0 +1,6 @@ +javascript: + enabled: false +scss: + config_file: scss/.scss-lint.yml + enabled: true + ignore_file: scss/_normalize.scss diff --git a/.travis.yml b/.travis.yml index 70e8d377..b06efc51 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,22 +1,48 @@ +sudo: false # use the container infrastructure language: node_js - -node_js: 0.10.33 - -sudo: false # use new container infrastructure - -# sass setup -cache: bundler # speeds up bundler +git: + depth: 10 +node_js: + - "4" + - "stable" rvm: - 2.2.2 +before_install: + - npm install -g npm@3 + - "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\"" + - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export BMD_DO_VALIDATOR=$?; true + - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip sauce\]'; export BMD_DO_SAUCE=$?; true +# - if [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then export BMD_DO_VALIDATOR=0; fi -before_script: +install: + - bundle install --deployment --jobs=3 + - cp grunt/npm-shrinkwrap.json ./ - npm install -g grunt-cli - npm install -g bower - #- export DISPLAY=:99.0 - #- sh -e /etc/init.d/xvfb start - # Install meteor - #- curl https://install.meteor.com | /bin/sh - # Install spacejam, Meteor's CI helper - #- npm install -g spacejam + - bower install -script: bower install && bundle install && grunt +cache: + directories: + - node_modules + - vendor/bundle + - bower-components + +addons: + sauce_connect: + username: "bmaterialdesign" + access_key: + secure: "eFSRVOJsJFi8Yhh0pCQpuJELDk0/B6s5tfvR3hi8oWXmW7FjNvRMgesoBKXbEW2HBhjJFMpt+1Rf49pweqgtZQ9vfz0GD47OjwJCTzip2Wv+EANLTJESdI5E0kw7STxrjL3Y12MBQQFHUYh9mhLdpAobNIppsIB5CG4pjtFSiG0=" + +env: + matrix: + - BMD_TEST=core + - BMD_TEST=validate-html + - BMD_TEST=sauce-js-unit + +matrix: + fast_finish: true + exclude: + - node_js: "4" + env: BMD_TEST=validate-html + - node_js: "4" + env: BMD_TEST=sauce-js-unit diff --git a/.versions b/.versions deleted file mode 100644 index 0b1df6fe..00000000 --- a/.versions +++ /dev/null @@ -1,27 +0,0 @@ -application-configuration@1.0.4 -base64@1.0.2 -binary-heap@1.0.2 -callback-hook@1.0.2 -check@1.0.4 -ddp@1.0.14 -ejson@1.0.5 -fezvrasta:bootstrap-material-design@0.3.0-dev -follower-livedata@1.0.3 -geojson-utils@1.0.2 -http@1.0.10 -id-map@1.0.2 -jquery@1.11.3 -json@1.0.2 -local-test:fezvrasta:bootstrap-material-design@0.3.0-dev -logging@1.0.6 -meteor@1.1.4 -minimongo@1.0.6 -mongo@1.0.11 -ordered-dict@1.0.2 -random@1.0.2 -retry@1.0.2 -tinytest@1.0.4 -tracker@1.0.5 -twbs:bootstrap@3.3.1 -underscore@1.0.2 -url@1.0.3 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ccc98d07..a65d8c92 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -36,6 +36,8 @@ restrictions: Our bug tracker utilizes several labels to help organize and identify issues. Here's what they represent and how we use them: +- `spec compliance` - Issues that are not conforming to the [Material Design Specification](https://www.google.com/design/spec/material-design/introduction.html). +- `bootstrap compliance` - Issues that are implemented in Bootstrap, but have no Material Design implementation - `bug confirmed` - Issues that have been confirmed with a reduced test case and identify a bug in Bootstrap. - `docs & examples` - Issues for improving or updating our documentation or examples. - `feature` - Issues asking for a new feature to be added, or an existing one to be extended or modified. New features require a minor version bump (e.g., `v3.0.0` to `v3.1.0`). diff --git a/Gemfile b/Gemfile index a3e37be2..cbf752ca 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,9 @@ source 'https://rubygems.org' -gem 'sass' -# gem 'jekyll' -# gem 'jekyll-less' -gem 'therubyracer' +group :development, :test do + gem 'jekyll', '~> 3.0.0' + gem 'jekyll-redirect-from', '~> 0.9.0' + gem 'jekyll-sitemap', '~> 0.9.0' + gem 'sass', '~> 3.4.19' + gem 'scss_lint', '~> 0.42.2' +end diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 00000000..864d6777 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,47 @@ +GEM + remote: https://rubygems.org/ + specs: + colorator (0.1) + ffi (1.9.10) + jekyll (3.0.1) + colorator (~> 0.1) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 1.1) + kramdown (~> 1.3) + liquid (~> 3.0) + mercenary (~> 0.3.3) + rouge (~> 1.7) + safe_yaml (~> 1.0) + jekyll-redirect-from (0.9.0) + jekyll (>= 2.0) + jekyll-sass-converter (1.3.0) + sass (~> 3.2) + jekyll-sitemap (0.9.0) + jekyll-watch (1.3.0) + listen (~> 3.0) + kramdown (1.9.0) + liquid (3.0.6) + listen (3.0.5) + rb-fsevent (>= 0.9.3) + rb-inotify (>= 0.9) + mercenary (0.3.5) + rainbow (2.0.0) + rb-fsevent (0.9.6) + rb-inotify (0.9.5) + ffi (>= 0.5.0) + rouge (1.10.1) + safe_yaml (1.0.4) + sass (3.4.19) + scss_lint (0.42.2) + rainbow (~> 2.0) + sass (~> 3.4.15) + +PLATFORMS + ruby + +DEPENDENCIES + jekyll (~> 3.0.0) + jekyll-redirect-from (~> 0.9.0) + jekyll-sitemap (~> 0.9.0) + sass (~> 3.4.19) + scss_lint (~> 0.42.2) diff --git a/Gruntfile.js b/Gruntfile.js index 1c35c47c..d7523d78 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,24 +1,65 @@ module.exports = function (grunt) { - "use strict"; + 'use strict'; - require("load-grunt-tasks")(grunt); + // Force use of Unix newlines + grunt.util.linefeed = '\n'; + RegExp.quote = function (string) { + return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&'); + }; + + var fs = require('fs'); var path = require('path'); - var configBridge = grunt.file.readJSON('./grunt/configBridge.json', {encoding: 'utf8'}); - var generateIconsData = require('./grunt/bmd-icons-data-generator.js'); - + var glob = require('glob'); + var isTravis = require('is-travis'); + var npmShrinkwrap = require('npm-shrinkwrap'); + var mq4HoverShim = require('mq4-hover-shim'); + var autoprefixer = require('autoprefixer')({ + browsers: [ + 'Android 2.3', + 'Android >= 4', + 'Chrome >= 35', + 'Firefox >= 31', + // Note: Edge versions in Autoprefixer & Can I Use refer to the EdgeHTML rendering engine version, + // NOT the Edge app version shown in Edge's "About" screen. + // For example, at the time of writing, Edge 20 on an up-to-date system uses EdgeHTML 12. + // See also https://github.com/Fyrd/caniuse/issues/1928 + 'Edge >= 12', + 'Explorer >= 9', + 'iOS >= 7', + 'Opera >= 12', + 'Safari >= 7.1' + ] + }); + + var generateCommonJSModule = require('./grunt/bs-commonjs-generator.js'); + var configBridge = grunt.file.readJSON('./grunt/configBridge.json', { encoding: 'utf8' }); + Object.keys(configBridge.paths).forEach(function (key) { configBridge.paths[key].forEach(function (val, i, arr) { arr[i] = path.join('./docs/assets', val); }); }); + // Project configuration. grunt.initConfig({ + // Metadata. pkg: grunt.file.readJSON('package.json'), - jqueryCheck: configBridge.config.jqueryCheck.join('\n'), - jqueryVersionCheck: configBridge.config.jqueryVersionCheck.join('\n'), - + banner: '/*!\n' + + ' * Bootstrap Material Design v<%= pkg.version %> (<%= pkg.homepage %>)\n' + + ' * Copyright 2014-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' + + ' * Licensed under MIT (https://github.com/FezVrasta/bootstrap-material-design/blob/master/LICENSE)\n' + + ' */\n', + jqueryCheck: 'if (typeof jQuery === \'undefined\') {\n' + + ' throw new Error(\'Bootstrap Material Design\\\'s JavaScript requires jQuery\')\n' + + '}\n', + jqueryVersionCheck: '+function ($) {\n' + + ' var version = $.fn.jquery.split(\' \')[0].split(\'.\')\n' + + ' if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 3)) {\n' + + ' throw new Error(\'Bootstrap Material Design\\\'s JavaScript requires at least jQuery v1.9.1 but less than v3.0.0\')\n' + + ' }\n' + + '}(jQuery);\n\n', // Task configuration. clean: { @@ -26,282 +67,188 @@ module.exports = function (grunt) { docs: 'docs/dist' }, - jekyll: { - options: { - config: '_config.yml' - }, - docs: {}, - github: { + // JS build configuration + lineremover: { + es6Import: { + files: { + '<%= concat.bootstrap.dest %>': '<%= concat.bootstrap.dest %>' + }, options: { - raw: 'github: true' + exclusionPattern: /^(import|export)/g } } }, - htmlmin: { + babel: { + dev: { + options: { + sourceMap: true, + modules: 'ignore' + }, + files: { + 'js/dist/util.js' : 'js/src/util.js', + 'js/dist/alert.js' : 'js/src/alert.js', + 'js/dist/button.js' : 'js/src/button.js', + 'js/dist/carousel.js' : 'js/src/carousel.js', + 'js/dist/collapse.js' : 'js/src/collapse.js', + 'js/dist/dropdown.js' : 'js/src/dropdown.js', + 'js/dist/modal.js' : 'js/src/modal.js', + 'js/dist/scrollspy.js' : 'js/src/scrollspy.js', + 'js/dist/tab.js' : 'js/src/tab.js', + 'js/dist/tooltip.js' : 'js/src/tooltip.js', + 'js/dist/popover.js' : 'js/src/popover.js' + } + }, dist: { options: { - collapseWhitespace: true, - conservativeCollapse: true, - minifyCSS: true, - minifyJS: true, - removeAttributeQuotes: true, - removeComments: true + modules: 'ignore' }, - expand: true, - cwd: '_gh_pages', - dest: '_gh_pages', + files: { + '<%= concat.bootstrap.dest %>' : '<%= concat.bootstrap.dest %>' + } + }, + umd: { + options: { + modules: 'umd' + }, + files: { + 'dist/js/umd/util.js' : 'js/src/util.js', + 'dist/js/umd/alert.js' : 'js/src/alert.js', + 'dist/js/umd/button.js' : 'js/src/button.js', + 'dist/js/umd/carousel.js' : 'js/src/carousel.js', + 'dist/js/umd/collapse.js' : 'js/src/collapse.js', + 'dist/js/umd/dropdown.js' : 'js/src/dropdown.js', + 'dist/js/umd/modal.js' : 'js/src/modal.js', + 'dist/js/umd/scrollspy.js' : 'js/src/scrollspy.js', + 'dist/js/umd/tab.js' : 'js/src/tab.js', + 'dist/js/umd/tooltip.js' : 'js/src/tooltip.js', + 'dist/js/umd/popover.js' : 'js/src/popover.js' + } + } + }, + + eslint: { + options: { + configFile: 'js/.eslintrc' + }, + target: 'js/src/*.js' + }, + + jscs: { + options: { + config: 'js/.jscsrc' + }, + grunt: { + src: ['Gruntfile.js', 'grunt/*.js'] + }, + core: { + src: 'js/src/*.js' + }, + test: { + src: 'js/tests/unit/*.js' + }, + assets: { + options: { + requireCamelCaseOrUpperCaseIdentifiers: null + }, + src: ['docs/assets/js/src/*.js', 'docs/assets/js/*.js', '!docs/assets/js/*.min.js'] + } + }, + + stamp: { + options: { + banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>\n+function ($) {\n', + footer: '\n}(jQuery);' + }, + bootstrap: { + files: { + src: '<%= concat.bootstrap.dest %>' + } + } + }, + + concat: { + options: { + stripBanners: false + }, + bootstrap: { src: [ - '**/*.html', - '!examples/**/*.html' - ] + 'js/src/util.js', + 'js/src/alert.js', + 'js/src/button.js', + 'js/src/carousel.js', + 'js/src/collapse.js', + 'js/src/dropdown.js', + 'js/src/modal.js', + 'js/src/scrollspy.js', + 'js/src/tab.js', + 'js/src/tooltip.js', + 'js/src/popover.js' + ], + dest: 'dist/js/<%= pkg.name %>.js' } }, - htmllint: { - //options: { - // stoponerror: false, - // relaxerror: [] - //}, - //files: ['index.html', 'bootstrap-elements.html'] - all: { - options: { - ignore: '“&” did not start a character reference. (“&” probably should have been escaped as “&”.)' - }, - src: ["*.html"] - } - }, - - - // Make sure we are structurally correct for bootstrap - bootlint: { + uglify: { options: { - stoponerror: false, - relaxerror: [] + compress: { + warnings: false + }, + mangle: true, + preserveComments: /^!|@preserve|@license|@cc_on/i }, - files: ['index.html', 'bootstrap-elements.html'] + core: { + src: '<%= concat.bootstrap.dest %>', + dest: 'dist/js/<%= pkg.name %>.min.js' + }, + docsJs: { + src: configBridge.paths.docsJs, + dest: 'docs/assets/js/docs.min.js' + } }, - // Convert from less to sass - lessToSass: { - convert: { - files: [{ - expand: true, - cwd: "less", - src: ["**/*.less", "!_mixins.less", "!_import-bs*"], - ext: ".scss", - dest: "sass" - }], + qunit: { + options: { + inject: 'js/tests/unit/phantom.js' + }, + files: 'js/tests/index.html' + }, + + // CSS build configuration + scsslint: { + options: { + bundleExec: true, + config: 'scss/.scss-lint.yml', + reporterOutput: null + }, + src: ['scss/*.scss', '!scss/_normalize.scss'] + }, + + postcss: { + core: { options: { - replacements: [ - - // convert bootstrap imports - { // https://regex101.com/r/bM6cP0/2 - pattern: /bower_components\/(bootstrap\/less\/)/gi, - replacement: "bower_components\/bootstrap-sass\/assets\/stylesheets\/bootstrap\/", - order: 2 - }, - - // convert conditional when not - { // https://regex101.com/r/cX6uF4/1 - pattern: /& when not \(isstring\(\$parent\)\)/gi, - replacement: "@if not $parent", - order: 2 - }, - - // convert conditional when - { // https://regex101.com/r/gH0jP0/2 - pattern: /& when \(isstring\(\$parent\)\)/gi, - replacement: "@else", - order: 2 - }, - - // convert conditional when - { // https://regex101.com/r/dL1lI8/2 - pattern: /& when /gi, - replacement: "@if ", - order: 2 - }, - - // convert all shadow mixins - { // https://regex101.com/r/sJ2lH4/1 - pattern: /.shadow-z-(\d+)((?:-hover)?) {/gi, - replacement: "@mixin shadow-z-$1$2 {", - order: 2 - }, - // bad conversions of .shadow-z-* - { // https://regex101.com/r/pV0yB0/3 - pattern: /\.shadow-z-(\d+)((?:-hover)?)(?:\(\))?;/gi, - replacement: "@include shadow-z-$1$2;", - order: 2 - }, - - // bad conversions to @include instead of @extend - { - pattern: /@include (foo1|foo2)\(\);/gi, - replacement: "@extend .$1;", - order: 2 - }, - - // hack - (no conditional replacements) - { // https://regex101.com/r/pV0yB0/2 - pattern: /@extend @extend/gi, - replacement: "@extend", - order: 10 - }, - - // button variations mixin replacement(s) - //{ // Multi-line replacement - https://regex101.com/r/qD9qB8/2 - // pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)contrast[\s\S]+?(?!\r|\n)(\d+)[\s\S]+?(?!\r|\n)}\);$\n/mg, - // replacement: "@include button-variations(unquote($1), $2, $3%);\n", - // order: 20 - //}, - - //// background-color generic-variations - //{ // Multi-line replacement - https://regex101.com/r/cW6pH8/2 - // pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)background-color[\s\S]+?(?!\r|\n)(\(\d+\/\d+\))[\s\S]+?(?!\r|\n)}\);$\n/mg, - // replacement: "@include bg-color-variations(unquote($1), $2, $3);\n", - // order: 21 - //}, - - //// bg-box-shadow generic-variations - //{ // Multi-line replacement - https://regex101.com/r/jW8kR1/1 - // pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)box-shadow[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)}\);$\n/mg, - // replacement: "@include bg-box-shadow-variations(unquote($1), $2);\n", - // order: 22 - //}, - - //// bg-img generic-variations - //{ // Multi-line replacement - https://regex101.com/r/aP2hH2/1 - // pattern: /.generic-variations\(unquote\(("[^"]+")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)background-image[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)}\);$\n/mg, - // replacement: "@include bg-img-variations(unquote($1), $2);\n", - // order: 23 - //}, - - // material-placeholder - { // Multi-line replacement - https://regex101.com/r/eS2vQ3/2 - pattern: /.material-placeholder\({$\n([\s\S]+?)}\);$\n/mg, - replacement: "@include material-placeholder {\n$1\n}\n", - order: 24 - }, - - // navbar generic-variations - { // Multi-line replacement - https://regex101.com/r/lX1hH1/4 - pattern: /.generic-variations\(unquote\((".navbar"), ~("([^"]+)?")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)[\s\S]+?(?!\r|\n)}\);$/mg, - replacement: "@include navbar-variations(unquote($1), unquote($2), $4);\n", - order: 25 - }, - - // fix calc references - { // https://regex101.com/r/aZ8iI5/1 - pattern: /calc\(unquote\("([^"]+)"\)\)/gi, - replacement: "calc($1)", - order: 100 - }, - - // fix unquote("", ~"") - { // https://regex101.com/r/vX4nO9/6 - pattern: /\(unquote\(("([^"]+)?"), ~("([^"]+)?")\),/gi, - replacement: "(unquote($1), unquote($3),", - order: 101 - }, - - // alert generic-variations (convert this one last - very broad search) - { // Multi-line replacement - https://regex101.com/r/jB1uL1/2 - pattern: /.generic-variations\(unquote\(("([^"]+)?")\), unquote\(("([^"]+)?")\), (\$[\s\S]+?(?!\r|\n)), {$\n[\s\S]+}\);$\n/mg, - replacement: "@include alert-variations(unquote($1), unquote($3), $5);\n", - order: 250 // very broad search, do this last - }, - - // auto generated notice - { // Multi-line replacement - https://regex101.com/r/aR2kT5/1 - pattern: /([\s\S]+)/mg, - replacement: "\/\/ This file has been autogenerated by grunt task lessToSass. Any changes will be overwritten.\n\n$1", - order: 1000 // very broad search, do this last - }, - + map: true, + processors: [ + mq4HoverShim.postprocessorFor({ hoverSelectorPrefix: '.bs-true-hover ' }), + autoprefixer ] - } - } - }, - - // Test compile sass - sass: { - compile: { - files: [{ - expand: true, - cwd: "sass", - src: ["bootstrap-material-design.scss", "ripples.scss"], - dest: "dist/sassc", // added to gitignore, only used for local testing - ext: ".css" - }] - } - }, - - // Compile less to .css - // Compile less to .min.css - // Create source maps of both - less: { - material: { - options: { - paths: ["less"], - sourceMap: true, - sourceMapRootpath: "/", - sourceMapFilename: "dist/css/bootstrap-material-design.css.map", - sourceMapURL: "bootstrap-material-design.css.map" }, - files: { - "dist/css/bootstrap-material-design.css": "less/bootstrap-material-design.less", - } - }, - ripples: { - options: { - paths: ["less"], - sourceMap: true, - sourceMapRootpath: "/", - sourceMapFilename: "dist/css/ripples.css.map", - sourceMapURL: "ripples.css.map", - outputSourceFiles: true - }, - files: { - "dist/css/ripples.css": "less/ripples.less", - } + src: 'dist/css/*.css' }, docs: { options: { - paths: ["less"], - sourceMap: true, - sourceMapRootpath: "/", - sourceMapFilename: "docs/assets/css/src/docs.css.map", - sourceMapURL: "docs.css.map" + processors: [ + autoprefixer + ] }, - files: { - "docs/assets/css/src/docs.css": "docs/assets/css/src/docs.less", - } - } - }, - - // Autoprefix .css and edit its source map - // Autoprefix .min.css an edit its source map - autoprefixer: { - options: { - map: true, - browsers: configBridge.config.autoprefixerBrowsers - }, - material: { - files: { - "dist/css/bootstrap-material-design.css": "dist/css/bootstrap-material-design.css" - } - }, - ripples: { - files: { - "dist/css/ripples.css": "dist/css/ripples.css" - } - }, - docs: { - src: ['docs/assets/css/src/docs.css'] + src: 'docs/assets/css/docs.min.css' }, examples: { + options: { + processors: [ + autoprefixer + ] + }, expand: true, cwd: 'docs/examples/', src: ['**/*.css'], @@ -309,76 +256,55 @@ module.exports = function (grunt) { } }, - csslint: { - options: { - csslintrc: 'less/.csslintrc' - }, - dist: [ - 'dist/css/bootstrap-material-design.css', - 'dist/css/ripples.css', - ], - distmin: [ - 'dist/css/bootstrap-material-design.min.css', - 'dist/css/ripples.min.css', - ], - examples: [ - 'docs/examples/**/*.css' - ], - docs: { - options: { - ids: false, - 'overqualified-elements': false - }, - src: 'docs/assets/css/src/docs.css' - } - }, - - // Minify CSS and adapt maps cssmin: { options: { // TODO: disable `zeroUnits` optimization once clean-css 3.2 is released // and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly - compatibility: 'ie8', + compatibility: 'ie9', keepSpecialComments: '*', sourceMap: true, - advanced: false + noAdvanced: true }, - material: { - src: "dist/css/bootstrap-material-design.css", - dest: "dist/css/bootstrap-material-design.min.css" - }, - ripples: { - src: "dist/css/ripples.css", - dest: "dist/css/ripples.min.css" + core: { + files: [ + { + expand: true, + cwd: 'dist/css', + src: ['*.css', '!*.min.css'], + dest: 'dist/css', + ext: '.min.css' + } + ] }, docs: { - src: [ - 'docs/assets/css/ie10-viewport-bug-workaround.css', - 'docs/assets/css/src/pygments-manni.css', - 'docs/assets/css/src/docs.css' - ], + src: 'docs/assets/css/docs.min.css', dest: 'docs/assets/css/docs.min.css' } }, - // Copy .js to dist/js/ folder - copy: { - material: { - src: "scripts/material.js", - dest: "dist/js/material.js" + csscomb: { + options: { + config: 'scss/.csscomb.json' }, - ripples: { - src: "scripts/ripples.js", - dest: "dist/js/ripples.js" - }, - fonts: { + dist: { expand: true, - cwd: "fonts/", - src: "**", - dest: "dist/fonts/", - flatten: true, - filter: "isFile" + cwd: 'dist/css/', + src: ['*.css', '!*.min.css'], + dest: 'dist/css/' }, + examples: { + expand: true, + cwd: 'docs/examples/', + src: '**/*.css', + dest: 'docs/examples/' + }, + docs: { + src: 'docs/assets/css/src/docs.css', + dest: 'docs/assets/css/src/docs.css' + } + }, + + copy: { docs: { expand: true, cwd: 'dist/', @@ -389,282 +315,209 @@ module.exports = function (grunt) { } }, - // Compile .js to .min.js - uglify: { - options: { - sourceMap: true - }, - material: { - files: { - "dist/js/material.min.js": "dist/js/material.js" - } - }, - ripples: { - files: { - "dist/js/ripples.min.js": "dist/js/ripples.js" - } - }, - customize: { - src: configBridge.paths.customizerJs, - dest: 'docs/assets/js/customize.min.js' - }, - docsJs: { - src: configBridge.paths.docsJs, - dest: 'docs/assets/js/docs.min.js' - } - }, - connect: { - options: { - port: 8040, - hostname: "localhost", - livereload: 35729 - - }, - livereload: { + server: { options: { - open: true, - base: "." - } - }, - test: { - options: { - port: 8041, - open: "http://localhost:8041/_SpecRunner.html", - base: "." + port: 3000, + base: '.' } } }, - jasmine: { - scripts: "scripts/**/*.js", + + jekyll: { options: { - build: true, - specs: "test/*Spec.js", - helpers: "test/*Helper.js", - vendor: [ - "https://code.jquery.com/jquery-1.10.2.min.js", - "https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js" + bundleExec: true, + config: '_config.yml', + incremental: false + }, + docs: {}, + github: { + options: { + raw: 'github: true' + } + } + }, + + htmllint: { + options: { + ignore: [ + 'Element “img” is missing required attribute “src”.', + 'Attribute “autocomplete” is only allowed when the input type is “color”, “date”, “datetime”, “datetime-local”, “email”, “month”, “number”, “password”, “range”, “search”, “tel”, “text”, “time”, “url”, or “week”.', + 'Attribute “autocomplete” not allowed on element “button” at this point.', + 'Element “div” not allowed as child of element “progress” in this context. (Suppressing further errors from this subtree.)', + 'Consider using the “h1” element as a top-level heading only (all “h1” elements are treated as top-level headings by many screen readers and other tools).', + 'The “datetime” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.' ] - } - }, - jshint: { - options: { - jshintrc: "scripts/.jshintrc", - reporter: require("jshint-stylish") }, - grunt: { - options: { - jshintrc: 'grunt/.jshintrc' - }, - src: ['Gruntfile.js', 'package.js'] - }, - core: { - src: ["scripts/**/*.js"] - }, - test: { - src: ["test/**/*.js"] - }, - assets: { - options: { - jshintrc: "docs/assets/js/.jshintrc" - }, - src: ['docs/assets/js/src/*.js', 'docs/assets/js/*.js', '!docs/assets/js/*.min.js'] - } - }, - - jscs: { - options: { - config: 'scripts/.jscsrc' - }, - grunt: { - src: '<%= jshint.grunt.src %>' - }, - core: { - src: '<%= jshint.core.src %>' - }, - test: { - src: '<%= jshint.test.src %>' - }, - assets: { - options: { - requireCamelCaseOrUpperCaseIdentifiers: null - }, - src: '<%= jshint.assets.src %>' - } + src: ['_gh_pages/**/*.html', 'js/tests/visual/*.html'] }, watch: { - html: { - files: ["index.html", "bootstrap-elements.html", "test.html"], - tasks: ["htmllint", "bootlint"] + src: { + files: '<%= jscs.core.src %>', + tasks: ['babel:dev'] }, - //src: { - // files: '<%= jshint.core.src %>', - // tasks: ['jshint:core', 'dist-js'] // add tests when working again - //}, - test: { - files: ["test/**/*.js"], - tasks: ["jshint:test", "jasmine"] + sass: { + files: 'scss/**/*.scss', + tasks: ['dist-css', 'docs'] }, - less: { - files: ["less/**/*.less"], - tasks: ["dist-less"] - }, - livereload: { - options: { - livereload: "<%= connect.options.livereload %>" - }, - files: [ - "index.html", - "bootstrap-elements.html", - "dist/js/**/*.js", - "dist/css/**/*.css", - "demo/**/*.{png,jpg,jpeg,gif,webp,svg}" - ] + docs: { + files: 'docs/assets/scss/**/*.scss', + tasks: ['dist-css', 'docs'] } }, - compress: { - main: { + sed: { + versionNumber: { + pattern: (function () { + var old = grunt.option('oldver'); + return old ? RegExp.quote(old) : old; + })(), + replacement: grunt.option('newver'), + recursive: true + } + }, + + 'saucelabs-qunit': { + all: { options: { - archive: 'bootstrap-material-design-<%= pkg.version %>-dist.zip', - mode: 'zip', - level: 9, - pretty: true - }, - files: [ - { - expand: true, - cwd: 'dist/', - src: ['**'], - dest: 'bootstrap-material-design-<%= pkg.version %>-dist' - } - ] + build: process.env.TRAVIS_JOB_ID, + concurrency: 10, + maxRetries: 3, + maxPollRetries: 4, + urls: ['http://127.0.0.1:3000/js/tests/index.html?hidepassed'], + browsers: grunt.file.readYAML('grunt/sauce_browsers.yml') + } } }, exec: { - "meteor-init": { - command: [ - // Make sure Meteor is installed, per https://meteor.com/install. - // The curl'ed script is safe; takes 2 minutes to read source & check. - "type meteor >/dev/null 2>&1 || { curl https://install.meteor.com/ | sh; }", - // Meteor expects package.js to be in the root directory of - // the checkout, so copy it there temporarily - "cp meteor/package.js ." - ].join(";") + npmUpdate: { + command: 'npm update' + } + }, + + buildcontrol: { + options: { + dir: '_gh_pages', + commit: true, + push: true, + message: 'Built %sourceName% from commit %sourceCommit% on branch %sourceBranch%' }, - "meteor-cleanup": { - // remove build files and package.js - command: "rm -rf .build.* versions.json package.js" - }, - "meteor-test": { - command: "node_modules/.bin/spacejam --mongo-url mongodb:// test-packages ./" - }, - "meteor-publish": { - command: [ - "ALL_EXIT_CODE=0; for PACKAGE_FILE in meteor/package*.js", - "do cp $PACKAGE_FILE ./package.js && meteor publish $@", - "ALL_EXIT_CODE=$(echo $ALL_EXIT_CODE + $? | bc); done", - "exit $ALL_EXIT_CODE" - ].join(";") + pages: { + options: { + remote: 'git@github.com:twbs/derpstrap.git', + branch: 'gh-pages' + } } } - }); - require('load-grunt-tasks')(grunt, {scope: 'devDependencies'}); - //require('time-grunt')(grunt); - - grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']); - grunt.registerTask("test", [ - "dist", - "jasmine:scripts:build", - "connect:test:keepalive" - ]); + // These plugins provide necessary tasks. + require('load-grunt-tasks')(grunt, { scope: 'devDependencies', + // Exclude Sass compilers. We choose the one to load later on. + pattern: ['grunt-*', '!grunt-sass', '!grunt-contrib-sass'] }); + require('time-grunt')(grunt); // Docs HTML validation task grunt.registerTask('validate-html', ['jekyll:docs', 'htmllint']); - grunt.loadNpmTasks("grunt-less-to-sass"); + var runSubset = function (subset) { + return !process.env.BMD_TEST || process.env.BMD_TEST === subset; + }; + var isUndefOrNonZero = function (val) { + return val === undefined || val !== '0'; + }; - // CSS distribution tasks - grunt.registerTask("dist-sass", [ - "lessToSass:convert", - "sass:compile" - ]); + // Test task. + var testSubtasks = []; + // Skip core tests if running a different subset of the test suite + if (runSubset('core') && + // Skip core tests if this is a Savage build + process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') { + testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'test-scss', 'test-js', 'docs']); + } + // Skip HTML validation if running a different subset of the test suite + if (runSubset('validate-html') && + isTravis && + // Skip HTML5 validator when [skip validator] is in the commit message + isUndefOrNonZero(process.env.BMD_DO_VALIDATOR)) { + testSubtasks.push('validate-html'); + } + // Only run Sauce Labs tests if there's a Sauce access key + if (typeof process.env.SAUCE_ACCESS_KEY !== 'undefined' && + // Skip Sauce if running a different subset of the test suite + runSubset('sauce-js-unit') && + // Skip Sauce on Travis when [skip sauce] is in the commit message + isUndefOrNonZero(process.env.BMD_DO_SAUCE)) { + testSubtasks.push('babel:dev'); + testSubtasks.push('connect'); + testSubtasks.push('saucelabs-qunit'); + } + grunt.registerTask('test', testSubtasks); + grunt.registerTask('test-js', ['eslint', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']); - grunt.registerTask('less-compile', [ - "less:material", - "less:ripples" - ]); + // JS distribution task. + grunt.registerTask('dist-js', ['babel:dev', 'concat', 'lineremover', 'babel:dist', 'stamp', 'uglify:core', 'commonjs']); - grunt.registerTask("dist-less", [ - "less-compile", + grunt.registerTask('test-scss', ['scsslint']); - "autoprefixer:material", - "autoprefixer:ripples", - "csslint:dist", - "cssmin:material", - "cssmin:ripples", - "csslint:distmin" - ]); + // CSS distribution task. + // Supported Compilers: sass (Ruby) and libsass. + (function (sassCompilerName) { + require('./grunt/bs-sass-compile/' + sassCompilerName + '.js')(grunt); + })(process.env.BMD_SASS || 'libsass'); + // grunt.registerTask('sass-compile', ['sass:core', 'sass:extras', 'sass:docs']); + grunt.registerTask('sass-compile', ['sass:core', 'sass:docs']); - grunt.registerTask("dist-js", [ - "jshint", - "copy:material", - "uglify:material", - "copy:ripples", - "uglify:ripples" - ]); + grunt.registerTask('dist-css', ['sass-compile', 'postcss:core', 'csscomb:dist', 'cssmin:core', 'cssmin:docs']); - grunt.registerTask("dist-fonts", [ - "copy:fonts" - ]); - - // Full distribution - grunt.registerTask("dist", [ - "clean:dist", - - "htmllint", - "bootlint", - - "dist-less", - "dist-js", - "dist-fonts", - "dist-sass" - ]); + // Full distribution task. + grunt.registerTask('dist', ['clean:dist', 'dist-css', 'dist-js']); // Default task. - grunt.registerTask('default', ['dist']); // test as well when it works? + grunt.registerTask('default', ['clean:dist', 'test']); + // Version numbering task. + // grunt change-version-number --oldver=A.B.C --newver=X.Y.Z + // This can be overzealous, so its changes should always be manually reviewed! + grunt.registerTask('change-version-number', 'sed'); - grunt.registerTask("serve", [ - "htmllint", - "bootlint", - "dist-less", - "dist-js", - "dist-fonts", - "connect:livereload", - "watch" - ]); - - // Meteor tasks - grunt.registerTask("meteor-test", ["exec:meteor-init", "exec:meteor-test", "exec:meteor-cleanup"]); - grunt.registerTask("meteor-publish", ["exec:meteor-init", "exec:meteor-publish", "exec:meteor-cleanup"]); - grunt.registerTask("meteor", ["exec:meteor-init", "exec:meteor-test", "exec:meteor-publish", "exec:meteor-cleanup"]); + grunt.registerTask('commonjs', ['babel:umd', 'npm-js']); + grunt.registerTask('npm-js', 'Generate npm-js entrypoint module in dist dir.', function () { + var srcFiles = Object.keys(grunt.config.get('babel.umd.files')).map(function (filename) { + return './' + path.join('umd', path.basename(filename)) + }) + var destFilepath = 'dist/js/npm.js'; + generateCommonJSModule(grunt, srcFiles, destFilepath); + }); // Docs task. - grunt.registerTask('build-icons-data', function () { generateIconsData.call(this, grunt); }); - grunt.registerTask('docs-css', ['less:docs','autoprefixer:docs', 'autoprefixer:examples', 'cssmin:docs']); - grunt.registerTask('lint-docs-css', ['csslint:docs', 'csslint:examples']); - grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']); - grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']); - grunt.registerTask('docs', [ - 'docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-icons-data' - ]); + grunt.registerTask('docs-css', ['postcss:docs', 'postcss:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']); + grunt.registerTask('docs-js', ['uglify:docsJs']); + grunt.registerTask('lint-docs-js', ['jscs:assets']); + grunt.registerTask('docs', ['docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs']); - grunt.registerTask('prep-release', ['dist', 'docs', 'jekyll:github', 'htmlmin']); //, 'compress']); + grunt.registerTask('prep-release', ['dist', 'docs', 'jekyll:github', 'htmlmin', 'compress']); + + // Publish to GitHub + grunt.registerTask('publish', ['buildcontrol:pages']); + + // Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json). + // This task should be run and the updated file should be committed whenever Bootstrap's dependencies change. + grunt.registerTask('update-shrinkwrap', ['exec:npmUpdate', '_update-shrinkwrap']); + grunt.registerTask('_update-shrinkwrap', function () { + var done = this.async(); + npmShrinkwrap({ dev: true, dirname: __dirname }, function (err) { + if (err) { + grunt.fail.warn(err); + } + var dest = 'grunt/npm-shrinkwrap.json'; + fs.renameSync('npm-shrinkwrap.json', dest); + grunt.log.writeln('File ' + dest.cyan + ' updated.'); + done(); + }); + }); }; diff --git a/LICENSE.md b/LICENSE.md index b96e2b7a..997e2e01 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -23,7 +23,7 @@ SOFTWARE. Acknowledgements: -# Some original Bootstrap code and documentation http://getbootstrap.com +# Some original Bootstrap tooling code and documentation http://getbootstrap.com Copyright (c) 2011-2015 Twitter, Inc # Some original MDL code http://www.getmdl.io/ diff --git a/README.md b/README.md index ba11efb9..de5635dc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # bootstrap-material-design -WARNING: THESE DOCS RELATE TO 0.5.0, WHICH IS A SIGNIFICANT CHANGE FROM PREVIOUS VERSIONS. +## **WARNING:** These docs relate to the next major release and integration with bootstrap V4. [![build status](https://travis-ci.org/FezVrasta/bootstrap-material-design.svg?branch=master)](https://travis-ci.org/FezVrasta/bootstrap-material-design) [![gratipay](https://img.shields.io/gratipay/FezVrasta.svg)](https://gratipay.com/FezVrasta) @@ -8,12 +8,12 @@ WARNING: THESE DOCS RELATE TO 0.5.0, WHICH IS A SIGNIFICANT CHANGE FROM PREVIOUS [![banner](demo/imgs/banner.jpg)](#) -This Bootstrap theme is an easy way to use the new [Material Design guidelines by Google](http://www.google.com/design/spec/material-design/introduction.html) in your Bootstrap 3 based application. -Just include the theme, after the Bootstrap CSS and include the JavaScript at the end of your document (just before the `` tag), and everything will be converted to Material Design (Paper) style. +Bootstrap Material Design is the best way to use [Material Design guidelines by Google](http://www.google.com/design/spec/material-design/introduction.html) +in your Bootstrap 4 based application. Since this is a fully customizable version of Bootstrap, +just include Bootstrap Material Design CSS instead of Bootstrap CSS, and include the JavaScript at +the end of your document (just before the `` tag), and everything will be converted to Material Design (Paper) style. -**NOTE**: This theme is still in development, it could be used on production websites but I can't guarantee compatibility with previous versions. - -Check out [the demo at this link](http://fezvrasta.github.io/bootstrap-material-design/). +TODO: docs/demo link ## How to install @@ -37,12 +37,8 @@ To embed Roboto into your web page, copy the code as the first element in the - - - - ``` ## Support @@ -52,281 +48,45 @@ If you like this project you may support it by donating via Gittip, starring thi [![gittip](demo/imgs/gittip-button.jpg)](https://www.gratipay.com/FezVrasta/) [![issues](demo/imgs/issues-button.jpg)](https://github.com/FezVrasta/bootstrap-material-design/issues) -## Contribute -Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file. +## Contributing + +Please read through our [contributing guidelines](CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development. + +Moreover, if your pull request contains JavaScript patches or features, you must include relevant unit tests. All HTML and CSS should conform to the [Code Guide](http://codeguide.co/), maintained by one of Bootstrap's founder's [Mark Otto](https://github.com/mdo). + +Editor preferences are available in the [editor config](https://github.com/FezVrasta/bootstrap-material-design/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at . + ## Development -We are using Grunt to automate the workflow and build process. Ensure you have nodejs installed and grunt-cli installed globally. -After cloning the repo, run `npm install` to ensure you have all dev dependencies. +### Tools -### Grunt +We are using Grunt to automate the workflow and build process. Ensure you have `nodejs` installed and `grunt-cli` +and `bower` installed globally. After cloning the repo, run `npm install` to ensure you have all dev dependencies. -- `grunt build` - run the tests and compile the less/sass. See [Gruntfile.js](Gruntfile.js) for details on targets. -- `grunt test` - browser-based Jasmine unit tests. -- `grunt serve` - build and fire up an http server with live-reload and a watch for development purposes. +### SASS -### LESS & SASS +The Bootstrap 4.x compatible version is developed using SASS. -The bootstrap 3.x compatible version (master) is developed using LESS, with an automated conversion to SASS. - -The upcoming 4.x version (no branch yet) will be developed using SASS. +The Bootstrap 3.x compatible version was developed using LESS, with an automated conversion to SASS. +TODO: The Bootstrap 3.x compatibile version is available as version 0.x.x ## Documentation -Material Design ([spec](http://www.google.com/design/spec/material-design/introduction.html)) for Bootstrap provides -styles for bootstrap based markup to comply with Material Design concepts. +TODO: For customization and examples, please see the documentation (link) +[Material Design Specification](http://www.google.com/design/spec/material-design/introduction.html) -### Customization -#### Themes +## Versioning -NOTE: (In active) development -First, this is probably not what you think when a 'theme' is mentioned. +For transparency into our release cycle and in striving to maintain backward compatibility, this project is maintained under +[the Semantic Versioning guidelines](http://semver.org/). Sometimes we screw up, but we'll adhere to those rules whenever possible. -The [material design specification mentions `light` vs. `dark` themes](https://www.google.com/design/spec/style/color.html#) -throughout. By default, the source is written assuming a light theme is being used, but as reviews/refactorings -occur, the `.theme-dark` marker class is being used to denote differences. -This could be used on the top level elements such as `body` or `.container`. Effort on -this is just beginning, but search the codebase for `.theme-dark` to see variations. Help/PR's welcome. - -#### Colors - -There are 17 color variations (in addition to the classic 4 variations) described by the Material Design color palette: - -![palette](docs/assets/img/material-design-color-palette.jpg) - -##### TODO: Describe variable override via less/sass -- describe variables, and the well defined material design colors in _colors.less - -##### TODO: Describe customization/compilation of static css - - -### Forms - -All inputs should be surrounded by a standard `.form-group`, and as such `material.js` will enforce this. The `.form-group` is -used to signal different input styles and variations. See the examples for variations. - -#### Sizing - -In general, it is preferred that sizing be altered with either `.form-group-sm` or `.form-group-lg`. Due to the interconnected -nature of inputs, labels, margins and padding, `material.js` will convert any use of `.input-sm` or `.input-lg` to -`.form-group-sm` or `.form-group-lg` in order to reduce the necessary markup/variations and get a standard sizing with -fewer side effects. - -#### Buttons - -Add `.btn-flat` to a button to make it flat, without shadows. -Add `.btn-raised` to a button to add a permanent shadow to it. - -#### Inputs - -##### Labels - -The following classes should be placed on the `.form-group` to indicate the label style: - -- `.label-floating` - renders label as a placeholder, that animates above the field upon focus -- `.label-static` - renders label above the field. `input placeholder` attribute can also be used in conjunction -- `.label-placeholder` - renders a label as a placeholder only -- no label, but use of `input placeholder` attribute - same rendering as `.label-placeholder` - -##### Hints - -Upon focus, a hint can be displayed. Use any `p | span` with `.help-block`. - - -##### Examples - -```html -
- - -

This is a hint as a p.help-block.hint

-
- -
- - - This is a hint as a span.help-block.hint -
- -
- - - This is a hint as a span.help-block.hint -
-``` - - -#### Radio, Checkbox, Toggle - -Be sure to inspect the source of the demos to find proper markup examples. Remember to use the proper HTML markup. - -Radio example: - -```html -
- - -
-
- -
-
- -
-
-
-``` - - - -### Icons - -Material Design for Bootstrap includes 490 original Material Design icons! -These icons are extracted from the original Google sources and are licensed under the BSD license. -They are provided as an iconic and easy to use font. - -Variations are available for every icon, including the original Bootstrap icons. - -The syntax to add a Material icon is: - -```html - -``` - -### Cards - -A card will expand to fill all of the available width (e.g. column's width). Card's height will be automatically resized to match width. - -Here is an example on how to use it: - -```html -
- -
- -
- -
- Loading image... -

Lorem Ipsum Dolor

-
- -
-

Lorem Ipsum is simply dummy text of the printing and typesetting industry.

-
- -
- - -
- -
- -
-``` - -Cards will adapt to column's width. The card below will have width equal to col-lg-6: - -```html -
-
- -
-
- ... -
-
- -
-
-``` - -## material.js - -`material.js` is a jQuery plugin that adds some magic to your markup and allows Material Design for Bootstrap to style some elements like inputs, checkboxes, radios etc. - -### Functions - -* `$.material.init()` - shortcut to run all the following commands: -* `$.material.ripples()` will apply ripples.js to the default elements. -* `$.material.input()` will enable the MD style to the text inputs, and other kind of inputs (number, email, file etc). -* `$.material.checkbox():` will enable the MD style to the checkboxes (remember to follow the markup guidelines explained in the [Inputs section](#inputs). -* `$.material.radio():` will enable the MD style to the checkboxes (remember to follow the markup guidelines explained in the Inputs section. - -### Apply only to specific elements - -Every function expects an optional value that will be used as a selector for the function; for example, -`$.material.ripples("#selector, #foobar")` will apply Ripples.js only to `#selector` and `#foobar`. -The functions that allows an optional selector are `$.material.ripples`, `$.material.input`, `$.material.checkbox` and `$.material.radio`. - -You can even override the default values using the `$.material.options` function. The default values are: - -```javascript -$.material.options = { - "withRipples": ".btn:not(.btn-link), .card-image, .navbar a:not(.withoutripple), .nav-tabs a:not(.withoutripple), .withripple", - "inputElements": "input.form-control, textarea.form-control, select.form-control", - "checkboxElements": ".checkbox > label > input[type=checkbox]", - "radioElements": ".radio > label > input[type=radio]" -} -``` - -### Arrive.js support - -If you need to dynamically add elements to your DOM then you may need to include `Arrive.js` before `Material.js`. This will automatically apply `material.js` to every new element added via JavaScript. - -## Plugins - -Material Design for Bootstrap comes with styling support for various external scripts: - -### SnackbarJS - -Create snackbars and toasts with the [SnackbarJS plugin](https://github.com/FezVrasta/snackbarjs). The default toast style is the squared one (snackbar style). If you like to use the rounded style (toast style), please add the `toast` class to the `style` option of SnackbarJS. - -### RipplesJS - -This is part of the Material Design for Bootstrap project and is a plain JavaScript script which creates the ripple effect when clicking on the specified elements. -At the moment RipplesJS does not have its own repository but it will probably have one in the future. - -You may want to set a custom color to the ripples of a specific element, to do so write: - -```html - -``` - -### noUiSlider - -Make cross-browser sliders and get them styled with Material Design thanks to the support provided by this theme. -Read more about [noUiSlider here](http://refreshless.com/nouislider/). - -### Dropdown.js - -Finally a dropdown plugin that transforms select inputs in nice dropdowns and does not drive you crazy. -Read more about [Dropdown.js here](https://github.com/FezVrasta/dropdown.js). - -### Selectize.js - -Transform select and multi-select inputs into advanced text inputs. Material Design for BS provides a full replacement of the plugin's CSS, so don't include it. -Read more about [selectize.js](http://brianreavis.github.io/selectize.js/). - -### Bootstrap Material Datepicker - -A Material Design datepicker created to be used with Material Design for Bootstrap. -Read more about [Bootstrap Material Datepicker](https://github.com/T00rk/bootstrap-material-datepicker) - -## Compatibility - -Currently, Material Design for Bootstrap supports Google Chrome (tested v37+), Mozilla Firefox (tested 30+), and Internet Explorer (tested 11+). Mobile browsers are not currently tested but they may work. +See [the Releases section of our GitHub project](https://github.com/fezvrasta/bootstrap-material-design/releases) for changelogs +of each release version. ## License diff --git a/_config.yml b/_config.yml index 404a2e20..1510210f 100644 --- a/_config.yml +++ b/_config.yml @@ -1,11 +1,10 @@ -baseurl: "/bootstrap-material-design" +#baseurl: "/bootstrap-material-design" #url: "http://fezvrasta.github.io" -url: "http://rosskevin.github.io" +#url: "http://rosskevin.github.io" include: - .nojekyll -gems: ['jekyll-less'] sass: sass_dir: sass @@ -14,6 +13,9 @@ sass: markdown: kramdown highlighter: rouge +kramdown: + auto_ids: true + # Permalinks permalink: pretty @@ -25,26 +27,27 @@ port: 9001 url: http://fezvrasta.github.io/bootstrap-material-design encoding: UTF-8 +gems: + - jekyll-redirect-from + - jekyll-sitemap + # Custom vars -current_version: 0.4.1 +current_version: 4.0.0-alpha repo: https://github.com/fezvrasta/bootstrap-material-design -#sass_repo: https://github.com/fezvrasta/bootstrap-material-design-sass download: source: https://github.com/fezvrasta/bootstrap-material-design/archive/v0.4.1.zip dist: https://github.com/fezvrasta/bootstrap-material-design/releases/download/v0.4.1/bootstrap-0.4.1-dist.zip -# sass: https://github.com/fezvrasta/bootstrap-material-design-sass/archive/v0.4.1.tar.gz #blog: http://blog.getbootstrap.com #expo: http://expo.getbootstrap.com +#themes: http://themes.getbootstrap.com + # -#cdn: +cdn: # # See https://www.srihash.org for info on how to generate the hashes -# css: https://maxcdn.bootstrapcdn.com/bootstrap/0.4.1/css/bootstrap.min.css -# css_hash: "sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" -# css_theme: https://maxcdn.bootstrapcdn.com/bootstrap/0.4.1/css/bootstrap-theme.min.css -# css_theme_hash: "sha384-aUGj/X2zp5rLCbBxumKTCw2Z50WgIr1vs/PFN4praOTvYXWlVyh2UtNUU0KAUhAX" -# js: https://maxcdn.bootstrapcdn.com/bootstrap/0.4.1/js/bootstrap.min.js -# js_hash: "sha512-K1qjQ+NcF2TYO/eI3M6v8EiNYZfA95pQumfvcVrTHtwQVDG+aHRqLi/ETn2uB+1JqwYqVG3LIvdm9lj6imS/pQ==" - - + css: https://cdn.rawgit.com/fezvrasta/bootstrap-material-design/v4-dev/dist/css/bootstrap-material-design.css +# css_hash: "sha384-XXXXXXXX" + js: https://cdn.rawgit.com/fezvrasta/bootstrap-material-design/v4-dev/dist/js/bootstrap-material-design.js +# js_hash: "sha384-XXXXXXXX" + jquery: https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js diff --git a/bootstrap-elements.html b/bootstrap-elements.html deleted file mode 100644 index be6dee7b..00000000 --- a/bootstrap-elements.html +++ /dev/null @@ -1,1984 +0,0 @@ - - - - - - - - - Bootstrap Material - - - - - - - - - - - - - - - - - - - -Fork me on GitHub - -
- - - - -
-
-
- - -
- -
- -
- -
- -
- -
- -
-
-
- - - -
- - -
-
- -

Flat buttons default - no class needed

-

- btn only - .active - Default - Primary - Success - Info - Warning - Danger - Link -

- - -

Raised buttons .btn-raised

-

- .active - Default - Primary - Success - Info - Warning - Danger - Link -

- - -

Disabled buttons

- -
- -

flat - default - no class needed

-

- btn only - Default - Primary - Success - Info - Warning - Danger - Link -

- - -

.btn-raised

-

- Default - Primary - Success - Info - Warning - Danger - Link -

-
- -

Button sizes

- -

- Large button - Default button - Small button - xs button -

- -

Floating action buttons a.k.a fab

-

- grade - grade - grade - grade - grade - grade -

-

.btn-group-sm .btn-fab or .btn-fab-mini

-

- grade - grade - grade - grade - grade - grade -

- -
-
-

Group variations with .btn-raised

- -

Button groups

- - - - -

btn-lg.btn-block.btn-raised

- - - -
-

btn-group.btn-group-justified.btn-group-raised

-
- Left - Middle - Right -
- -

disabled btn-group.btn-group-justified.btn-group-raised

-
-
- Left - Middle - Right -
-
-
- -
-

btn-toolbar

-
-
- 1 - 2 - 3 - 4 -
- -
- 5 - 6 - 7 -
- - -
-
- -
-

.btn-group-vertical

- -
- - -
-
-
- - -
-
-
- -
-
- - - -
-
-
-

Heading 1

- -

Heading 2

- -

Heading 3

-

Heading 4

-
Heading 5
-
Heading 6
- -

Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

-
-
-
-
-

Example body text

- -

Nullam quis risus eget - urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula. -

- -

- This line of text is meant to be treated as fine print. -

-

The following snippet of text is rendered as bold text.

- -

The following snippet of text is rendered as italicized text.

- -

An abbreviation of the word attribute is attr.

-
- -
-
-
-

Emphasis classes

- -

Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.

- -

Nullam id dolor id nibh ultricies vehicula ut id elit.

- -

Etiam porta sem malesuada magna mollis euismod.

- -

Donec ullamcorper nulla non metus auctor fringilla.

- -

Duis mollis, est non commodo luctus, nisi erat porttitor ligula.

- -

Maecenas sed diam eget risus varius blandit sit amet non magna.

-
- -
-
- - - -
-
-

Blockquotes

-
-
-
-
-
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

- Someone famous in Source Title -
-
-
-
-
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

- Someone famous in Source Title -
-
-
-
-
- - -
- -
-
- -
-
-
- - - -
- -
-
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#Column headingColumn headingColumn heading
1Column contentColumn contentColumn content
2Column contentColumn contentColumn content
3Column contentColumn contentColumn content
4Column contentColumn contentColumn content
5Column contentColumn contentColumn content
6Column contentColumn contentColumn content
7Column contentColumn contentColumn content
-
-
-
-
- - -
-
-
- -
-
- -
-
-
-
-
- Legend -
- - -
- -
-
-
- - -
- - - -
-
-
-
-
- - -
-
-
-
-
-
- -
-
-
-
- - -
- - -
-
-
- - -
- - A longer block of help text that breaks onto a new line and may extend beyond one line. -
-
-
- - -
-
- -
-
- -
-
-
-
- - -
- -
-
-
- - -
- -
-
-
-
- - -
-
-
-
-
-
-
- -
-
- - -
- -
- - -

You should really write something here

-
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- -
- $ - - - - -
-
- -
-
- $ - - -

The label is inside the input-group so that it is positioned properly as a placeholder.

- - - -
-
- -
- - -
- - - - -
-
- -
- -
- - - - -
-
- - -
- -
-
-
- - -
- -
-
- -
-
- -
-
- - -
- -
-
-

Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.

-
-
-

Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit.

-
- - -
-
-
- -
- - -
- - - - - -
- -
-
- - -
-
-

Pagination

- -
- - - - - -
-
-
-

Pager

- -
- - - -
-
-
- -
-
-
- - -
- -
-
- -
-
- -
-
-

Alerts

- -
-
- -

Warning!

- -

Best check yo self, you're not looking too good. Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, - vel scelerisque nisl consectetur et.

-
-
-
-
-
-
-
-
- - Oh snap! - Change a few things up and try submitting again. -
-
-
-
-
-
- - Well done! You successfully read - this important alert message. -
-
-
-
-
-
- - Heads up! This - alert needs your attention, but it's not super important. -
-
-
-
-
-
-

Labels

- -
- Default - Primary - Success - Warning - Danger - Info -
-
-
-

Badges

- - -
-
-
- - -
- -
-
- - -

Basic

- -
-
-
-
-
- -

Contextual alternatives

- -
-
-
-
- -
-
-
- -
-
-
- -
-
-
-
- -

Striped

- -
-
-
-
- -
-
-
- -
-
-
- -
-
-
-
- -

Animated

- -
-
-
-
-
- -

Stacked

- -
-
-
-
-
-
-
-
-
-
- - - -
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-

Read more about noUiSlider here.

-
-
-
- - -
- -
-
- -
-
-

Jumbotron

- -

This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.

- -

Learn more

-
-
-
-
- - -
-
-

List groups

-
-
-
-
-
-
-
-
- folder -
-
-
15m
-

Tile with a label

- -

Donec id elit non mi porta gravida at eget metus.

-
-
-
-
-
- folder -
-
-
10m
-

Tile with a label

- -

Maecenas sed diam eget risus varius blandit.

-
-
-
-
-
- folder -
-
-
8m
-

Tile with a label

- -

Maecenas sed diam eget risus varius blandit.

-
-
-
-
-
-
-
-
-
-
-
- folder -
-
-
info
-

Tile with an icon

- -

Donec id elit non mi porta gravida at eget metus.

-
-
-
-
-
- folder -
-
-
info
-

Tile with an icon

- -

Maecenas sed diam eget risus varius blandit.

-
-
-
-
-
- folder -
-
-
info
-

Tile with an icon

- -

Maecenas sed diam eget risus varius blandit.

-
-
-
-
-
-
-
-
-
-
-
- icon -
-
-

Tile with avatar

- -

Donec id elit non mi porta gravida at eget metus

-
-
-
-
-
- icon -
-
-

Tile with another avatar

- -

Maecenas sed diam eget risus varius blandit.

-
-
-
-
-
- -
-
-

Tile with a checkbox in it

- -

Donec id elit non mi risus varius blandit.

-
-
-
-
-
-
-
- - -
-
-

Panels

-
-
-
-
-
-
-
- Basic panel -
-
- -
-
Panel heading
-
- Panel content -
-
- -
-
- Panel content -
- -
-
-
-
-
-
-
-

Panel primary

-
-
- Panel content -
-
- -
-
-

Panel success

-
-
- Panel content -
-
- -
-
-

Panel warning

-
-
- Panel content -
-
-
-
-
-
-
-
-

Panel danger

-
-
- Panel content -
-
- -
-
-

Panel info

-
-
- Panel content -
-
-
-
-
- -
-
-

Wells

-
-
-
-
-
-
- Look, I'm in a well! -
-
-
-
-
-
- Look, I'm in a small well! -
-
-
-
-
-
- Look, I'm in a large well! -
-
-
-
-
- - -
- -
-
- -
-
-
-
-

Modals

- -
- -
-
-
-

Popovers

- -
- - - - - - - -
-

Tooltips

- -
- - - - - - - -
-
-
-
-
-

Snackbars and toasts (with SnackbarJS)

- -

SnackbarJS is the ad-hoc developed plugin to create snackbars and toasts, read more about it on the - official page of the project.

- -
- - - -
-
-
-
- - -
-
- - - - - - - - - - - - - diff --git a/bower.json b/bower.json index 3e36ff5b..0f2af223 100644 --- a/bower.json +++ b/bower.json @@ -1,49 +1,37 @@ { "name": "bootstrap-material-design", - "homepage": "http://fezvrasta.github.io/bootstrap-material-design", - "authors": [ - "Federico Zivolo " - ], - "description": "Material Design theme for Bootstrap 3", - "main": [ - "dist/css/material.css", - "dist/js/material.js", - "dist/css/ripples.css", - "dist/js/ripples.js", - "dist/fonts/Material-Design-Icons.eot", - "dist/fonts/Material-Design-Icons.svg", - "dist/fonts/Material-Design-Icons.ttf", - "dist/fonts/Material-Design-Icons.woff" - ], - "ignore": [ - "test", - "screenshots", - "demo", - ".editorconfig", - ".gitignore", - ".jshintrc", - ".travis.yml", - "CONTRIBUTING.md", - "Gruntfile.json", - "index.html", - "**/.*", - "node_modules", - "bower_components", - "test", - "tests" - ], + "description": "Bootstrap Material Design for Bootstrap 4", "keywords": [ "material", "design", "bootstrap", - "theme", - "google", - "android" + "css", + "js", + "sass", + "mobile-first", + "responsive", + "front-end", + "framework", + "web" + ], + "homepage": "http://fezvrasta.github.io/bootstrap-material-design", + "license": "MIT", + "moduleType": "globals", + "main": [ + "scss/bootstrap-material-design.scss", + "dist/js/bootstrap-material-design.js" + ], + "ignore": [ + "/.*", + "_config.yml", + "CNAME", + "composer.json", + "CONTRIBUTING.md", + "docs", + "js/tests", + "test-infra" ], - "license": "https://github.com/FezVrasta/bootstrap-material-design/blob/master/LICENSE.md", "dependencies": { - "jquery": "~2.1.1", - "bootstrap": "~3.3.5", - "bootstrap-sass": "~3.3.5" + "bootstrap": "v4-dev" } } diff --git a/demo/imgs/banner.jpg b/demo/imgs/banner.jpg deleted file mode 100644 index c819982bc5768fa64dc16e2806a639db8a794557..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89056 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 .dropdown-toggle.btn, -.btn-group-vertical.open > .dropdown-toggle.btn, -.btn-group.open > .dropdown-toggle.btn.btn-default, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-default { - background-color: transparent; -} -.btn-group.open > .dropdown-toggle.btn.btn-inverse, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-inverse { - background-color: #3f51b5; -} -.btn-group.open > .dropdown-toggle.btn.btn-primary, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-primary { - background-color: #009688; -} -.btn-group.open > .dropdown-toggle.btn.btn-success, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-success { - background-color: #4caf50; -} -.btn-group.open > .dropdown-toggle.btn.btn-info, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-info { - background-color: #03a9f4; -} -.btn-group.open > .dropdown-toggle.btn.btn-warning, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-warning { - background-color: #ff5722; -} -.btn-group.open > .dropdown-toggle.btn.btn-danger, -.btn-group-vertical.open > .dropdown-toggle.btn.btn-danger { - background-color: #f44336; -} -.btn-group .dropdown-menu, -.btn-group-vertical .dropdown-menu { - border-radius: 0 0 2px 2px; -} -.btn-group.btn-group-raised, -.btn-group-vertical.btn-group-raised { - -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); -} -.btn-group .btn + .btn, -.btn-group-vertical .btn + .btn, -.btn-group .btn, -.btn-group-vertical .btn, -.btn-group .btn:active, -.btn-group-vertical .btn:active, -.btn-group .btn-group, -.btn-group-vertical .btn-group { - margin: 0; -} -.checkbox label { - cursor: pointer; - padding-left: 0; - color: rgba(0, 0, 0, 0.54); -} -.checkbox input[type=checkbox] { - opacity: 0; - position: absolute; - margin: 0; - z-index: -1; - width: 0; - height: 0; - overflow: hidden; - left: 0; - pointer-events: none; -} -.checkbox .checkbox-material { - vertical-align: middle; - position: relative; - top: 3px; -} -.checkbox .checkbox-material:before { - display: block; - position: absolute; - left: 0; - content: ""; - background-color: rgba(0, 0, 0, 0.84); - height: 20px; - width: 20px; - border-radius: 100%; - z-index: 1; - opacity: 0; - margin: 0; - -webkit-transform: scale3d(2.3, 2.3, 1); - transform: scale3d(2.3, 2.3, 1); -} -.checkbox .checkbox-material .check { - position: relative; - display: inline-block; - width: 20px; - height: 20px; - border: 2px solid rgba(0, 0, 0, 0.54); - overflow: hidden; - z-index: 1; -} -.checkbox .checkbox-material .check:before { - position: absolute; - content: ""; - -webkit-transform: rotate(45deg); - -ms-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); - display: block; - margin-top: -4px; - margin-left: 6px; - width: 0; - height: 0; - -webkit-box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0 inset; - box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0 inset; - -webkit-animation: checkbox-off 0.3s forwards; - -o-animation: checkbox-off 0.3s forwards; - animation: checkbox-off 0.3s forwards; -} -.checkbox input[type=checkbox]:focus + .checkbox-material .check:after { - opacity: 0.2; -} -.checkbox input[type=checkbox]:checked + .checkbox-material .check { - color: #4caf50; - border-color: #4caf50; -} -.checkbox input[type=checkbox]:checked + .checkbox-material .check:before { - color: #4caf50; - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; - -webkit-animation: checkbox-on 0.3s forwards; - -o-animation: checkbox-on 0.3s forwards; - animation: checkbox-on 0.3s forwards; -} -.checkbox input[type=checkbox]:checked + .checkbox-material:before { - -webkit-animation: rippleOn 500ms; - -o-animation: rippleOn 500ms; - animation: rippleOn 500ms; -} -.checkbox input[type=checkbox]:checked + .checkbox-material .check:after { - -webkit-animation: rippleOn 500ms forwards; - -o-animation: rippleOn 500ms forwards; - animation: rippleOn 500ms forwards; -} -.checkbox input[type=checkbox]:not(:checked) + .checkbox-material:before { - -webkit-animation: rippleOff 500ms; - -o-animation: rippleOff 500ms; - animation: rippleOff 500ms; -} -.checkbox input[type=checkbox]:not(:checked) + .checkbox-material .check:after { - -webkit-animation: rippleOff 500ms forwards; - -o-animation: rippleOff 500ms forwards; - animation: rippleOff 500ms forwards; -} -fieldset[disabled] .checkbox, -fieldset[disabled] .checkbox input[type=checkbox], -.checkbox input[type=checkbox][disabled]:not(:checked) ~ .checkbox-material .check:before, -.checkbox input[type=checkbox][disabled]:not(:checked) ~ .checkbox-material .check, -.checkbox input[type=checkbox][disabled] + .circle { - opacity: 0.5; -} -.checkbox input[type=checkbox][disabled] + .checkbox-material .check:after { - background-color: rgba(0,0,0, 0.87); - -webkit-transform: rotate(-45deg); - -ms-transform: rotate(-45deg); - -o-transform: rotate(-45deg); - transform: rotate(-45deg); -} -@-webkit-keyframes checkbox-on { - 0% { - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; - } - 50% { - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; - } - 100% { - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; - } -} -@-o-keyframes checkbox-on { - 0% { - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; - } - 50% { - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; - } - 100% { - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; - } -} -@keyframes checkbox-on { - 0% { - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; - } - 50% { - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; - } - 100% { - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; - } -} -@-webkit-keyframes checkbox-off { - 0% { - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; - } - 25% { - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; - } - 50% { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - margin-top: -4px; - margin-left: 6px; - width: 0; - height: 0; - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset; - } - 51% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - margin-top: -2px; - margin-left: -2px; - width: 20px; - height: 20px; - -webkit-box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0px 0 0 10px inset; - box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0px 0 0 10px inset; - } - 100% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - margin-top: -2px; - margin-left: -2px; - width: 20px; - height: 20px; - -webkit-box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0px 0 0 0 inset; - box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0px 0 0 0 inset; - } -} -@-o-keyframes checkbox-off { - 0% { - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; - } - 25% { - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; - } - 50% { - -o-transform: rotate(45deg); - transform: rotate(45deg); - margin-top: -4px; - margin-left: 6px; - width: 0; - height: 0; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset; - } - 51% { - -o-transform: rotate(0deg); - transform: rotate(0deg); - margin-top: -2px; - margin-left: -2px; - width: 20px; - height: 20px; - box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0px 0 0 10px inset; - } - 100% { - -o-transform: rotate(0deg); - transform: rotate(0deg); - margin-top: -2px; - margin-left: -2px; - width: 20px; - height: 20px; - box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0px 0 0 0 inset; - } -} -@keyframes checkbox-off { - 0% { - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; - } - 25% { - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px, 0 0 0 0 inset; - } - 50% { - -webkit-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); - margin-top: -4px; - margin-left: 6px; - width: 0; - height: 0; - -webkit-box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset; - box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px, 0 0 0 0 inset; - } - 51% { - -webkit-transform: rotate(0deg); - -o-transform: rotate(0deg); - transform: rotate(0deg); - margin-top: -2px; - margin-left: -2px; - width: 20px; - height: 20px; - -webkit-box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0px 0 0 10px inset; - box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0px 0 0 10px inset; - } - 100% { - -webkit-transform: rotate(0deg); - -o-transform: rotate(0deg); - transform: rotate(0deg); - margin-top: -2px; - margin-left: -2px; - width: 20px; - height: 20px; - -webkit-box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0px 0 0 0 inset; - box-shadow: 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0 0 0 0, - 0px 0 0 0 inset; - } -} -@-webkit-keyframes rippleOn { - 0% { - opacity: 0; - } - 50% { - opacity: 0.2; - } - 100% { - opacity: 0; - } -} -@-o-keyframes rippleOn { - 0% { - opacity: 0; - } - 50% { - opacity: 0.2; - } - 100% { - opacity: 0; - } -} -@keyframes rippleOn { - 0% { - opacity: 0; - } - 50% { - opacity: 0.2; - } - 100% { - opacity: 0; - } -} -@-webkit-keyframes rippleOff { - 0% { - opacity: 0; - } - 50% { - opacity: 0.2; - } - 100% { - opacity: 0; - } -} -@-o-keyframes rippleOff { - 0% { - opacity: 0; - } - 50% { - opacity: 0.2; - } - 100% { - opacity: 0; - } -} -@keyframes rippleOff { - 0% { - opacity: 0; - } - 50% { - opacity: 0.2; - } - 100% { - opacity: 0; - } -} -.togglebutton { - vertical-align: middle; -} -.togglebutton, -.togglebutton label, -.togglebutton input, -.togglebutton .toggle { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.togglebutton label { - cursor: pointer; - color: rgba(0, 0, 0, 0.54); -} -.togglebutton label input[type=checkbox] { - opacity: 0; - width: 0; - height: 0; -} -.togglebutton label .toggle, -.togglebutton label input[type=checkbox][disabled] + .toggle { - content: ""; - display: inline-block; - width: 30px; - height: 15px; - background-color: rgba(80, 80, 80, 0.7); - border-radius: 15px; - margin-right: 15px; - -webkit-transition: background 0.3s ease; - -o-transition: background 0.3s ease; - transition: background 0.3s ease; - vertical-align: middle; -} -.togglebutton label .toggle:after { - content: ""; - display: inline-block; - width: 20px; - height: 20px; - background-color: #F1F1F1; - border-radius: 20px; - position: relative; - -webkit-box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4); - box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4); - left: -5px; - top: -2px; - -webkit-transition: left 0.3s ease, background 0.3s ease, -webkit-box-shadow 0.1s ease; - -o-transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease; - transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease; -} -.togglebutton label input[type=checkbox][disabled] + .toggle:after, -.togglebutton label input[type=checkbox][disabled]:checked + .toggle:after { - background-color: #BDBDBD; -} -.togglebutton label input[type=checkbox] + .toggle:active:after, -.togglebutton label input[type=checkbox][disabled] + .toggle:active:after { - -webkit-box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.1); - box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.1); -} -.togglebutton label input[type=checkbox]:checked + .toggle:after { - left: 15px; -} -.togglebutton label label input[type=checkbox]:checked + .toggle { - background-color: rgba(0, 150, 136, 0.5); -} -.togglebutton label label input[type=checkbox]:checked + .toggle:after { - background-color: #009688; -} -.togglebutton label label input[type=checkbox]:checked + .toggle:active:after { - -webkit-box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 150, 136, 0.1); - box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 150, 136, 0.1); -} -.radio label { - cursor: pointer; - padding-left: 45px; - position: relative; - color: rgba(0, 0, 0, 0.54); -} -.radio label span { - display: block; - position: absolute; - left: 10px; - top: 2px; - -webkit-transition-duration: 0.2s; - -o-transition-duration: 0.2s; - transition-duration: 0.2s; -} -.radio label .circle { - border: 2px solid rgba(0, 0, 0, 0.54); - height: 15px; - width: 15px; - border-radius: 100%; -} -.radio label .check { - height: 15px; - width: 15px; - border-radius: 100%; - background-color: #009688; - -webkit-transform: scale3d(0, 0, 0); - transform: scale3d(0, 0, 0); -} -.radio label .check:after { - display: block; - position: absolute; - content: ""; - background-color: rgba(0,0,0, 0.87); - left: -18px; - top: -18px; - height: 50px; - width: 50px; - border-radius: 100%; - z-index: 1; - opacity: 0; - margin: 0; - -webkit-transform: scale3d(1.5, 1.5, 1); - transform: scale3d(1.5, 1.5, 1); -} -.radio label input[type=radio]:not(:checked) ~ .check:after { - -webkit-animation: rippleOff 500ms; - -o-animation: rippleOff 500ms; - animation: rippleOff 500ms; -} -.radio label input[type=radio]:checked ~ .check:after { - -webkit-animation: rippleOn 500ms; - -o-animation: rippleOn 500ms; - animation: rippleOn 500ms; -} -.radio input[type=radio] { - opacity: 0; - height: 0; - width: 0; - overflow: hidden; -} -.radio input[type=radio]:checked ~ .check, -.radio input[type=radio]:checked ~ .circle { - opacity: 1; -} -.radio input[type=radio]:checked ~ .check { - background-color: #009688; -} -.radio input[type=radio]:checked ~ .circle { - border-color: #009688; -} -.radio input[type=radio]:checked ~ .check { - -webkit-transform: scale3d(0.55, 0.55, 1); - transform: scale3d(0.55, 0.55, 1); -} -.radio input[type=radio][disabled] ~ .check, -.radio input[type=radio][disabled] ~ .circle { - opacity: 0.26; -} -.radio input[type=radio][disabled] ~ .check { - background-color: #000000; -} -.radio input[type=radio][disabled] ~ .circle { - border-color: #000000; -} -.theme-dark .radio input[type=radio][disabled] ~ .check, -.theme-dark .radio input[type=radio][disabled] ~ .circle { - opacity: 0.3; -} -.theme-dark .radio input[type=radio][disabled] ~ .check { - background-color: #ffffff; -} -.theme-dark .radio input[type=radio][disabled] ~ .circle { - border-color: #ffffff; -} -@keyframes rippleOn { - 0% { - opacity: 0; - } - 50% { - opacity: 0.2; - } - 100% { - opacity: 0; - } -} -@keyframes rippleOff { - 0% { - opacity: 0; - } - 50% { - opacity: 0.2; - } - 100% { - opacity: 0; - } -} -legend { - margin-bottom: 22px; - font-size: 24px; -} -output { - padding-top: 8px; - font-size: 16px; - line-height: 1.42857143; -} -.form-control { - height: 38px; - padding: 7px 0; - font-size: 16px; - line-height: 1.42857143; -} -@media screen and (-webkit-min-device-pixel-ratio: 0) { - input[type="date"].form-control, - input[type="time"].form-control, - input[type="datetime-local"].form-control, - input[type="month"].form-control { - line-height: 38px; - } - input[type="date"].input-sm, - input[type="time"].input-sm, - input[type="datetime-local"].input-sm, - input[type="month"].input-sm, - .input-group-sm input[type="date"], - .input-group-sm input[type="time"], - .input-group-sm input[type="datetime-local"], - .input-group-sm input[type="month"] { - line-height: 24px; - } - input[type="date"].input-lg, - input[type="time"].input-lg, - input[type="datetime-local"].input-lg, - input[type="month"].input-lg, - .input-group-lg input[type="date"], - .input-group-lg input[type="time"], - .input-group-lg input[type="datetime-local"], - .input-group-lg input[type="month"] { - line-height: 44px; - } -} -.radio label, -.checkbox label { - min-height: 22px; -} -.form-control-static { - padding-top: 8px; - padding-bottom: 8px; - min-height: 38px; -} -.input-sm .input-sm { - height: 24px; - padding: 3px 0; - font-size: 11px; - line-height: 1.5; - border-radius: 0; -} -.input-sm select.input-sm { - height: 24px; - line-height: 24px; -} -.input-sm textarea.input-sm, -.input-sm select[multiple].input-sm { - height: auto; -} -.form-group-sm .form-control { - height: 24px; - padding: 3px 0; - font-size: 11px; - line-height: 1.5; -} -.form-group-sm select.form-control { - height: 24px; - line-height: 24px; -} -.form-group-sm textarea.form-control, -.form-group-sm select[multiple].form-control { - height: auto; -} -.form-group-sm .form-control-static { - height: 24px; - min-height: 33px; - padding: 4px 0; - font-size: 11px; - line-height: 1.5; -} -.input-lg .input-lg { - height: 44px; - padding: 9px 0; - font-size: 18px; - line-height: 1.3333333; - border-radius: 0; -} -.input-lg select.input-lg { - height: 44px; - line-height: 44px; -} -.input-lg textarea.input-lg, -.input-lg select[multiple].input-lg { - height: auto; -} -.form-group-lg .form-control { - height: 44px; - padding: 9px 0; - font-size: 18px; - line-height: 1.3333333; -} -.form-group-lg select.form-control { - height: 44px; - line-height: 44px; -} -.form-group-lg textarea.form-control, -.form-group-lg select[multiple].form-control { - height: auto; -} -.form-group-lg .form-control-static { - height: 44px; - min-height: 40px; - padding: 10px 0; - font-size: 18px; - line-height: 1.3333333; -} -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - padding-top: 8px; -} -.form-horizontal .radio, -.form-horizontal .checkbox { - min-height: 30px; -} -@media (min-width: 768px) { - .form-horizontal .control-label { - padding-top: 8px; - } -} -@media (min-width: 768px) { - .form-horizontal .form-group-lg .control-label { - padding-top: 12.9999997px; - font-size: 18px; - } -} -@media (min-width: 768px) { - .form-horizontal .form-group-sm .control-label { - padding-top: 4px; - font-size: 11px; - } -} -.label { - border-radius: 1px; -} -.label, -.label.label-default { - background-color: #9e9e9e; -} -.label.label-inverse { - background-color: #3f51b5; -} -.label.label-primary { - background-color: #009688; -} -.label.label-success { - background-color: #4caf50; -} -.label.label-info { - background-color: #03a9f4; -} -.label.label-warning { - background-color: #ff5722; -} -.label.label-danger { - background-color: #f44336; -} -.form-control, -.form-group .form-control { - border: 0; - background-image: -webkit-gradient(linear, left top, left bottom, from(#009688), to(#009688)), -webkit-gradient(linear, left top, left bottom, from(#D2D2D2), to(#D2D2D2)); - background-image: -webkit-linear-gradient(#009688, #009688), -webkit-linear-gradient(#D2D2D2, #D2D2D2); - background-image: -o-linear-gradient(#009688, #009688), -o-linear-gradient(#D2D2D2, #D2D2D2); - background-image: linear-gradient(#009688, #009688), linear-gradient(#D2D2D2, #D2D2D2); - -webkit-background-size: 0 2px, 100% 1px; - background-size: 0 2px, 100% 1px; - background-repeat: no-repeat; - background-position: center bottom, center -webkit-calc(100% - 1px); - background-position: center bottom, center calc(100% - 1px); - background-color: rgba(0, 0, 0, 0); - -webkit-transition: background 0s ease-out; - -o-transition: background 0s ease-out; - transition: background 0s ease-out; - float: none; - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0; -} -.form-control::-moz-placeholder, -.form-group .form-control::-moz-placeholder { - color: #BDBDBD; - font-weight: 400; -} -.form-control:-ms-input-placeholder, -.form-group .form-control:-ms-input-placeholder { - color: #BDBDBD; - font-weight: 400; -} -.form-control::-webkit-input-placeholder, -.form-group .form-control::-webkit-input-placeholder { - color: #BDBDBD; - font-weight: 400; -} -.form-control[readonly], -.form-group .form-control[readonly], -.form-control[disabled], -.form-group .form-control[disabled], -fieldset[disabled] .form-control, -fieldset[disabled] .form-group .form-control { - background-color: rgba(0, 0, 0, 0); -} -.form-control[disabled], -.form-group .form-control[disabled], -fieldset[disabled] .form-control, -fieldset[disabled] .form-group .form-control { - background-image: none; - border-bottom: 1px dotted #D2D2D2; -} -.form-group { - position: relative; -} -.form-group.label-static label.control-label, -.form-group.label-placeholder label.control-label, -.form-group.label-floating label.control-label { - position: absolute; - pointer-events: none; - -webkit-transition: 0.3s ease all; - -o-transition: 0.3s ease all; - transition: 0.3s ease all; -} -.form-group.label-floating label.control-label { - will-change: left, top, contents; -} -.form-group.label-placeholder:not(.is-empty) label.control-label { - display: none; -} -.form-group .help-block { - position: absolute; - display: none; -} -.form-group.is-focused .form-control { - outline: none; - background-image: -webkit-gradient(linear, left top, left bottom, from(#009688), to(#009688)), -webkit-gradient(linear, left top, left bottom, from(#D2D2D2), to(#D2D2D2)); - background-image: -webkit-linear-gradient(#009688, #009688), -webkit-linear-gradient(#D2D2D2, #D2D2D2); - background-image: -o-linear-gradient(#009688, #009688), -o-linear-gradient(#D2D2D2, #D2D2D2); - background-image: linear-gradient(#009688, #009688), linear-gradient(#D2D2D2, #D2D2D2); - -webkit-background-size: 100% 2px, 100% 1px; - background-size: 100% 2px, 100% 1px; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transition-duration: 0.3s; - -o-transition-duration: 0.3s; - transition-duration: 0.3s; -} -.form-group.is-focused .form-control .material-input:after { - background-color: #009688; -} -.form-group.is-focused label, -.form-group.is-focused label.control-label { - color: #009688; -} -.form-group.is-focused.label-placeholder label, -.form-group.is-focused.label-placeholder label.control-label { - color: #BDBDBD; -} -.form-group.is-focused .help-block { - display: block; -} -.form-group.has-warning .form-control { - -webkit-box-shadow: none; - box-shadow: none; -} -.form-group.has-warning.is-focused .form-control { - background-image: -webkit-gradient(linear, left top, left bottom, from(#ff5722), to(#ff5722)), -webkit-gradient(linear, left top, left bottom, from(#D2D2D2), to(#D2D2D2)); - background-image: -webkit-linear-gradient(#ff5722, #ff5722), -webkit-linear-gradient(#D2D2D2, #D2D2D2); - background-image: -o-linear-gradient(#ff5722, #ff5722), -o-linear-gradient(#D2D2D2, #D2D2D2); - background-image: linear-gradient(#ff5722, #ff5722), linear-gradient(#D2D2D2, #D2D2D2); -} -.form-group.has-warning label.control-label, -.form-group.has-warning .help-block { - color: #ff5722; -} -.form-group.has-error .form-control { - -webkit-box-shadow: none; - box-shadow: none; -} -.form-group.has-error.is-focused .form-control { - background-image: -webkit-gradient(linear, left top, left bottom, from(#f44336), to(#f44336)), -webkit-gradient(linear, left top, left bottom, from(#D2D2D2), to(#D2D2D2)); - background-image: -webkit-linear-gradient(#f44336, #f44336), -webkit-linear-gradient(#D2D2D2, #D2D2D2); - background-image: -o-linear-gradient(#f44336, #f44336), -o-linear-gradient(#D2D2D2, #D2D2D2); - background-image: linear-gradient(#f44336, #f44336), linear-gradient(#D2D2D2, #D2D2D2); -} -.form-group.has-error label.control-label, -.form-group.has-error .help-block { - color: #f44336; -} -.form-group.has-success .form-control { - -webkit-box-shadow: none; - box-shadow: none; -} -.form-group.has-success.is-focused .form-control { - background-image: -webkit-gradient(linear, left top, left bottom, from(#4caf50), to(#4caf50)), -webkit-gradient(linear, left top, left bottom, from(#D2D2D2), to(#D2D2D2)); - background-image: -webkit-linear-gradient(#4caf50, #4caf50), -webkit-linear-gradient(#D2D2D2, #D2D2D2); - background-image: -o-linear-gradient(#4caf50, #4caf50), -o-linear-gradient(#D2D2D2, #D2D2D2); - background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#D2D2D2, #D2D2D2); -} -.form-group.has-success label.control-label, -.form-group.has-success .help-block { - color: #4caf50; -} -.form-group.has-info .form-control { - -webkit-box-shadow: none; - box-shadow: none; -} -.form-group.has-info.is-focused .form-control { - background-image: -webkit-gradient(linear, left top, left bottom, from(#03a9f4), to(#03a9f4)), -webkit-gradient(linear, left top, left bottom, from(#D2D2D2), to(#D2D2D2)); - background-image: -webkit-linear-gradient(#03a9f4, #03a9f4), -webkit-linear-gradient(#D2D2D2, #D2D2D2); - background-image: -o-linear-gradient(#03a9f4, #03a9f4), -o-linear-gradient(#D2D2D2, #D2D2D2); - background-image: linear-gradient(#03a9f4, #03a9f4), linear-gradient(#D2D2D2, #D2D2D2); -} -.form-group.has-info label.control-label, -.form-group.has-info .help-block { - color: #03a9f4; -} -.form-group textarea { - resize: none; -} -.form-group textarea ~ .form-control-highlight { - margin-top: -11px; -} -.form-group select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} -.form-group select ~ .material-input:after { - display: none; -} -.form-control { - margin-bottom: 7px; -} -.form-control::-moz-placeholder { - font-size: 16px; - line-height: 1.42857143; - color: #BDBDBD; - font-weight: 400; -} -.form-control:-ms-input-placeholder { - font-size: 16px; - line-height: 1.42857143; - color: #BDBDBD; - font-weight: 400; -} -.form-control::-webkit-input-placeholder { - font-size: 16px; - line-height: 1.42857143; - color: #BDBDBD; - font-weight: 400; -} -.checkbox label, -.radio label, -label { - font-size: 16px; - line-height: 1.42857143; - color: #BDBDBD; - font-weight: 400; -} -label.control-label { - font-size: 12px; - line-height: 1.07142857; - color: #BDBDBD; - font-weight: 400; - margin: 16px 0 0 0; -} -.help-block { - margin-top: 0; - font-size: 12px; -} -.form-group { - padding-bottom: 7px; - margin: 28px 0 0 0; -} -.form-group .form-control { - margin-bottom: 7px; -} -.form-group .form-control::-moz-placeholder { - font-size: 16px; - line-height: 1.42857143; - color: #BDBDBD; - font-weight: 400; -} -.form-group .form-control:-ms-input-placeholder { - font-size: 16px; - line-height: 1.42857143; - color: #BDBDBD; - font-weight: 400; -} -.form-group .form-control::-webkit-input-placeholder { - font-size: 16px; - line-height: 1.42857143; - color: #BDBDBD; - font-weight: 400; -} -.form-group .checkbox label, -.form-group .radio label, -.form-group label { - font-size: 16px; - line-height: 1.42857143; - color: #BDBDBD; - font-weight: 400; -} -.form-group label.control-label { - font-size: 12px; - line-height: 1.07142857; - color: #BDBDBD; - font-weight: 400; - margin: 16px 0 0 0; -} -.form-group .help-block { - margin-top: 0; - font-size: 12px; -} -.form-group.label-floating label.control-label, -.form-group.label-placeholder label.control-label { - top: -7px; - font-size: 16px; - line-height: 1.42857143; -} -.form-group.label-static label.control-label, -.form-group.label-floating.is-focused label.control-label, -.form-group.label-floating:not(.is-empty) label.control-label { - top: -30px; - left: 0; - font-size: 12px; - line-height: 1.07142857; -} -.form-group.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label { - top: -30px; - left: 0; - font-size: 12px; - line-height: 1.07142857; -} -.form-group.form-group-sm { - padding-bottom: 3px; - margin: 21px 0 0 0; -} -.form-group.form-group-sm .form-control { - margin-bottom: 3px; -} -.form-group.form-group-sm .form-control::-moz-placeholder { - font-size: 11px; - line-height: 1.5; - color: #BDBDBD; - font-weight: 400; -} -.form-group.form-group-sm .form-control:-ms-input-placeholder { - font-size: 11px; - line-height: 1.5; - color: #BDBDBD; - font-weight: 400; -} -.form-group.form-group-sm .form-control::-webkit-input-placeholder { - font-size: 11px; - line-height: 1.5; - color: #BDBDBD; - font-weight: 400; -} -.form-group.form-group-sm .checkbox label, -.form-group.form-group-sm .radio label, -.form-group.form-group-sm label { - font-size: 11px; - line-height: 1.5; - color: #BDBDBD; - font-weight: 400; -} -.form-group.form-group-sm label.control-label { - font-size: 9px; - line-height: 1.125; - color: #BDBDBD; - font-weight: 400; - margin: 16px 0 0 0; -} -.form-group.form-group-sm .help-block { - margin-top: 0; - font-size: 9px; -} -.form-group.form-group-sm.label-floating label.control-label, -.form-group.form-group-sm.label-placeholder label.control-label { - top: -11px; - font-size: 11px; - line-height: 1.5; -} -.form-group.form-group-sm.label-static label.control-label, -.form-group.form-group-sm.label-floating.is-focused label.control-label, -.form-group.form-group-sm.label-floating:not(.is-empty) label.control-label { - top: -25px; - left: 0; - font-size: 9px; - line-height: 1.125; -} -.form-group.form-group-sm.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label { - top: -25px; - left: 0; - font-size: 9px; - line-height: 1.125; -} -.form-group.form-group-lg { - padding-bottom: 9px; - margin: 30px 0 0 0; -} -.form-group.form-group-lg .form-control { - margin-bottom: 9px; -} -.form-group.form-group-lg .form-control::-moz-placeholder { - font-size: 18px; - line-height: 1.3333333; - color: #BDBDBD; - font-weight: 400; -} -.form-group.form-group-lg .form-control:-ms-input-placeholder { - font-size: 18px; - line-height: 1.3333333; - color: #BDBDBD; - font-weight: 400; -} -.form-group.form-group-lg .form-control::-webkit-input-placeholder { - font-size: 18px; - line-height: 1.3333333; - color: #BDBDBD; - font-weight: 400; -} -.form-group.form-group-lg .checkbox label, -.form-group.form-group-lg .radio label, -.form-group.form-group-lg label { - font-size: 18px; - line-height: 1.3333333; - color: #BDBDBD; - font-weight: 400; -} -.form-group.form-group-lg label.control-label { - font-size: 14px; - line-height: 0.99999998; - color: #BDBDBD; - font-weight: 400; - margin: 16px 0 0 0; -} -.form-group.form-group-lg .help-block { - margin-top: 0; - font-size: 14px; -} -.form-group.form-group-lg.label-floating label.control-label, -.form-group.form-group-lg.label-placeholder label.control-label { - top: -5px; - font-size: 18px; - line-height: 1.3333333; -} -.form-group.form-group-lg.label-static label.control-label, -.form-group.form-group-lg.label-floating.is-focused label.control-label, -.form-group.form-group-lg.label-floating:not(.is-empty) label.control-label { - top: -32px; - left: 0; - font-size: 14px; - line-height: 0.99999998; -} -.form-group.form-group-lg.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label { - top: -32px; - left: 0; - font-size: 14px; - line-height: 0.99999998; -} -select.form-control { - border: 0; - -webkit-box-shadow: none; - box-shadow: none; - border-radius: 0; -} -.form-group.is-focused select.form-control { - -webkit-box-shadow: none; - box-shadow: none; - border-color: #D2D2D2; -} -select.form-control[multiple], -.form-group.is-focused select.form-control[multiple] { - height: 85px; -} -.input-group-btn .btn { - margin: 0 0 7px 0; -} -.form-group.form-group-sm .input-group-btn .btn { - margin: 0 0 3px 0; -} -.form-group.form-group-lg .input-group-btn .btn { - margin: 0 0 9px 0; -} -.input-group .input-group-btn { - padding: 0 12px; -} -.input-group .input-group-addon { - border: 0; - background: transparent; -} -.form-group input[type=file] { - opacity: 0; - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 100; -} -.form-horizontal .radio, -.form-horizontal .checkbox, -.form-horizontal .radio-inline, -.form-horizontal .checkbox-inline { - padding-top: 0; -} -.form-horizontal .radio { - margin-bottom: 10px; -} -.form-horizontal label { - text-align: right; -} -.form-horizontal label.control-label { - margin: 0; -} -legend { - border-bottom: 0; -} -.list-group { - border-radius: 0; -} -.list-group .list-group-item { - background-color: transparent; - overflow: hidden; - border: 0; - border-radius: 0; - padding: 0 16px; -} -.list-group .list-group-item.baseline { - border-bottom: 1px solid #cecece; -} -.list-group .list-group-item.baseline:last-child { - border-bottom: none; -} -.list-group .list-group-item .row-picture, -.list-group .list-group-item .row-action-primary { - display: inline-block; - padding-right: 16px; -} -.list-group .list-group-item .row-picture img, -.list-group .list-group-item .row-action-primary img, -.list-group .list-group-item .row-picture i, -.list-group .list-group-item .row-action-primary i, -.list-group .list-group-item .row-picture label, -.list-group .list-group-item .row-action-primary label { - display: block; - width: 56px; - height: 56px; -} -.list-group .list-group-item .row-picture img, -.list-group .list-group-item .row-action-primary img { - background: rgba(0, 0, 0, 0.1); - padding: 1px; -} -.list-group .list-group-item .row-picture img.circle, -.list-group .list-group-item .row-action-primary img.circle { - border-radius: 100%; -} -.list-group .list-group-item .row-picture i, -.list-group .list-group-item .row-action-primary i { - background: rgba(0, 0, 0, 0.25); - border-radius: 100%; - text-align: center; - line-height: 56px; - font-size: 20px; - color: white; -} -.list-group .list-group-item .row-picture label, -.list-group .list-group-item .row-action-primary label { - margin-left: 7px; - margin-right: -7px; - margin-top: 5px; - margin-bottom: -5px; -} -.list-group .list-group-item .row-picture label .checkbox-material, -.list-group .list-group-item .row-action-primary label .checkbox-material { - left: -10px; -} -.list-group .list-group-item .row-content { - display: inline-block; - width: -webkit-calc(100% - 92px); - width: calc(100% - 92px); - min-height: 66px; -} -.list-group .list-group-item .row-content .action-secondary { - position: absolute; - right: 16px; - top: 16px; -} -.list-group .list-group-item .row-content .action-secondary i { - font-size: 20px; - color: rgba(0, 0, 0, 0.25); - cursor: pointer; -} -.list-group .list-group-item .row-content .action-secondary ~ * { - max-width: -webkit-calc(100% - 30px); - max-width: calc(100% - 30px); -} -.list-group .list-group-item .row-content .least-content { - position: absolute; - right: 16px; - top: 0; - color: rgba(0, 0, 0, 0.54); - font-size: 14px; -} -.list-group .list-group-item .list-group-item-heading { - color: rgba(0, 0, 0, 0.77); - font-size: 20px; - line-height: 29px; -} -.list-group .list-group-item.active:hover, -.list-group .list-group-item.active:focus { - background: rgba(0, 0, 0, 0.15); - outline: 10px solid rgba(0, 0, 0, 0.15); -} -.list-group .list-group-item.active .list-group-item-heading, -.list-group .list-group-item.active .list-group-item-text { - color: rgba(0,0,0, 0.87); -} -.list-group .list-group-separator { - clear: both; - overflow: hidden; - margin-top: 10px; - margin-bottom: 10px; -} -.list-group .list-group-separator:before { - content: ""; - width: -webkit-calc(100% - 90px); - width: calc(100% - 90px); - border-bottom: 1px solid rgba(0, 0, 0, 0.1); - float: right; -} -.navbar { - background-color: #009688; - border: 0; - border-radius: 0; -} -.navbar .navbar-brand { - position: relative; - height: 60px; - line-height: 30px; - color: inherit; -} -.navbar .navbar-brand:hover, -.navbar .navbar-brand:focus { - color: inherit; - background-color: transparent; -} -.navbar .navbar-text { - color: inherit; - margin-top: 20px; - margin-bottom: 20px; -} -.navbar .navbar-nav > li > a { - color: inherit; - padding-top: 20px; - padding-bottom: 20px; -} -.navbar .navbar-nav > li > a:hover, -.navbar .navbar-nav > li > a:focus { - color: inherit; - background-color: transparent; -} -.navbar .navbar-nav > .active > a, -.navbar .navbar-nav > .active > a:hover, -.navbar .navbar-nav > .active > a:focus { - color: inherit; - background-color: rgba(255, 255, 255, 0.1); -} -.navbar .navbar-nav > .disabled > a, -.navbar .navbar-nav > .disabled > a:hover, -.navbar .navbar-nav > .disabled > a:focus { - color: inherit; - background-color: transparent; - opacity: 0.9; -} -.navbar .navbar-toggle { - border: 0; -} -.navbar .navbar-toggle:hover, -.navbar .navbar-toggle:focus { - background-color: transparent; -} -.navbar .navbar-toggle .icon-bar { - background-color: inherit; - border: 1px solid; -} -.navbar .navbar-default .navbar-toggle, -.navbar .navbar-inverse .navbar-toggle { - border-color: transparent; -} -.navbar .navbar-collapse, -.navbar .navbar-form { - border-color: rgba(0, 0, 0, 0.1); -} -.navbar .navbar-nav > .open > a, -.navbar .navbar-nav > .open > a:hover, -.navbar .navbar-nav > .open > a:focus { - background-color: transparent; - color: inherit; -} -@media (max-width: 767px) { - .navbar .navbar-nav .navbar-text { - color: inherit; - margin-top: 15px; - margin-bottom: 15px; - } - .navbar .navbar-nav .open .dropdown-menu > .dropdown-header { - border: 0; - color: inherit; - } - .navbar .navbar-nav .open .dropdown-menu .divider { - border-bottom: 1px solid; - opacity: 0.08; - } - .navbar .navbar-nav .open .dropdown-menu > li > a { - color: inherit; - } - .navbar .navbar-nav .open .dropdown-menu > li > a:hover, - .navbar .navbar-nav .open .dropdown-menu > li > a:focus { - color: inherit; - background-color: transparent; - } - .navbar .navbar-nav .open .dropdown-menu > .active > a, - .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, - .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { - color: inherit; - background-color: transparent; - } - .navbar .navbar-nav .open .dropdown-menu > .disabled > a, - .navbar .navbar-nav .open .dropdown-menu > .disabled > a:hover, - .navbar .navbar-nav .open .dropdown-menu > .disabled > a:focus { - color: inherit; - background-color: transparent; - } -} -.navbar .navbar-link { - color: inherit; -} -.navbar .navbar-link:hover { - color: inherit; -} -.navbar .btn-link { - color: inherit; -} -.navbar .btn-link:hover, -.navbar .btn-link:focus { - color: inherit; -} -.navbar .btn-link[disabled]:hover, -fieldset[disabled] .navbar .btn-link:hover, -.navbar .btn-link[disabled]:focus, -fieldset[disabled] .navbar .btn-link:focus { - color: inherit; -} -.navbar .navbar-form { - margin-top: 16px; -} -.navbar .navbar-form .form-group { - margin: 0; - padding: 0; -} -.navbar .navbar-form .form-group .material-input:before, -.navbar .navbar-form .form-group.is-focused .material-input:after { - background-color: inherit; -} -.navbar .navbar-form .form-group .form-control, -.navbar .navbar-form .form-control { - border-color: inherit; - color: inherit; - padding: 0; - margin: 0; - height: 28px; - font-size: 14px; - line-height: 1.42857143; -} -.navbar, -.navbar.navbar-default { - background-color: #009688; - color: rgba(255,255,255, 0.84); -} -.navbar .navbar-form .form-group input.form-control::-moz-placeholder, -.navbar.navbar-default .navbar-form .form-group input.form-control::-moz-placeholder, -.navbar .navbar-form input.form-control::-moz-placeholder, -.navbar.navbar-default .navbar-form input.form-control::-moz-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar .navbar-form .form-group input.form-control:-ms-input-placeholder, -.navbar.navbar-default .navbar-form .form-group input.form-control:-ms-input-placeholder, -.navbar .navbar-form input.form-control:-ms-input-placeholder, -.navbar.navbar-default .navbar-form input.form-control:-ms-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar .navbar-form .form-group input.form-control::-webkit-input-placeholder, -.navbar.navbar-default .navbar-form .form-group input.form-control::-webkit-input-placeholder, -.navbar .navbar-form input.form-control::-webkit-input-placeholder, -.navbar.navbar-default .navbar-form input.form-control::-webkit-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar .dropdown-menu, -.navbar.navbar-default .dropdown-menu { - border-radius: 2px; -} -.navbar .dropdown-menu li > a, -.navbar.navbar-default .dropdown-menu li > a { - font-size: 16px; - padding: 13px 16px; -} -.navbar .dropdown-menu li > a:hover, -.navbar.navbar-default .dropdown-menu li > a:hover, -.navbar .dropdown-menu li > a:focus, -.navbar.navbar-default .dropdown-menu li > a:focus { - color: #009688; - background-color: #eeeeee; -} -.navbar .dropdown-menu .active > a, -.navbar.navbar-default .dropdown-menu .active > a { - background-color: #009688; - color: rgba(255,255,255, 0.84); -} -.navbar .dropdown-menu .active > a:hover, -.navbar.navbar-default .dropdown-menu .active > a:hover, -.navbar .dropdown-menu .active > a:focus, -.navbar.navbar-default .dropdown-menu .active > a:focus { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-inverse { - background-color: #3f51b5; - color: #ffffff; -} -.navbar.navbar-inverse .navbar-form .form-group input.form-control::-moz-placeholder, -.navbar.navbar-inverse .navbar-form input.form-control::-moz-placeholder { - color: #ffffff; -} -.navbar.navbar-inverse .navbar-form .form-group input.form-control:-ms-input-placeholder, -.navbar.navbar-inverse .navbar-form input.form-control:-ms-input-placeholder { - color: #ffffff; -} -.navbar.navbar-inverse .navbar-form .form-group input.form-control::-webkit-input-placeholder, -.navbar.navbar-inverse .navbar-form input.form-control::-webkit-input-placeholder { - color: #ffffff; -} -.navbar.navbar-inverse .dropdown-menu { - border-radius: 2px; -} -.navbar.navbar-inverse .dropdown-menu li > a { - font-size: 16px; - padding: 13px 16px; -} -.navbar.navbar-inverse .dropdown-menu li > a:hover, -.navbar.navbar-inverse .dropdown-menu li > a:focus { - color: #3f51b5; - background-color: #eeeeee; -} -.navbar.navbar-inverse .dropdown-menu .active > a { - background-color: #3f51b5; - color: #ffffff; -} -.navbar.navbar-inverse .dropdown-menu .active > a:hover, -.navbar.navbar-inverse .dropdown-menu .active > a:focus { - color: #ffffff; -} -.navbar.navbar-primary { - background-color: #009688; - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-primary .navbar-form .form-group input.form-control::-moz-placeholder, -.navbar.navbar-primary .navbar-form input.form-control::-moz-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-primary .navbar-form .form-group input.form-control:-ms-input-placeholder, -.navbar.navbar-primary .navbar-form input.form-control:-ms-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-primary .navbar-form .form-group input.form-control::-webkit-input-placeholder, -.navbar.navbar-primary .navbar-form input.form-control::-webkit-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-primary .dropdown-menu { - border-radius: 2px; -} -.navbar.navbar-primary .dropdown-menu li > a { - font-size: 16px; - padding: 13px 16px; -} -.navbar.navbar-primary .dropdown-menu li > a:hover, -.navbar.navbar-primary .dropdown-menu li > a:focus { - color: #009688; - background-color: #eeeeee; -} -.navbar.navbar-primary .dropdown-menu .active > a { - background-color: #009688; - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-primary .dropdown-menu .active > a:hover, -.navbar.navbar-primary .dropdown-menu .active > a:focus { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-success { - background-color: #4caf50; - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-success .navbar-form .form-group input.form-control::-moz-placeholder, -.navbar.navbar-success .navbar-form input.form-control::-moz-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-success .navbar-form .form-group input.form-control:-ms-input-placeholder, -.navbar.navbar-success .navbar-form input.form-control:-ms-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-success .navbar-form .form-group input.form-control::-webkit-input-placeholder, -.navbar.navbar-success .navbar-form input.form-control::-webkit-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-success .dropdown-menu { - border-radius: 2px; -} -.navbar.navbar-success .dropdown-menu li > a { - font-size: 16px; - padding: 13px 16px; -} -.navbar.navbar-success .dropdown-menu li > a:hover, -.navbar.navbar-success .dropdown-menu li > a:focus { - color: #4caf50; - background-color: #eeeeee; -} -.navbar.navbar-success .dropdown-menu .active > a { - background-color: #4caf50; - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-success .dropdown-menu .active > a:hover, -.navbar.navbar-success .dropdown-menu .active > a:focus { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-info { - background-color: #03a9f4; - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-info .navbar-form .form-group input.form-control::-moz-placeholder, -.navbar.navbar-info .navbar-form input.form-control::-moz-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-info .navbar-form .form-group input.form-control:-ms-input-placeholder, -.navbar.navbar-info .navbar-form input.form-control:-ms-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-info .navbar-form .form-group input.form-control::-webkit-input-placeholder, -.navbar.navbar-info .navbar-form input.form-control::-webkit-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-info .dropdown-menu { - border-radius: 2px; -} -.navbar.navbar-info .dropdown-menu li > a { - font-size: 16px; - padding: 13px 16px; -} -.navbar.navbar-info .dropdown-menu li > a:hover, -.navbar.navbar-info .dropdown-menu li > a:focus { - color: #03a9f4; - background-color: #eeeeee; -} -.navbar.navbar-info .dropdown-menu .active > a { - background-color: #03a9f4; - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-info .dropdown-menu .active > a:hover, -.navbar.navbar-info .dropdown-menu .active > a:focus { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-warning { - background-color: #ff5722; - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-warning .navbar-form .form-group input.form-control::-moz-placeholder, -.navbar.navbar-warning .navbar-form input.form-control::-moz-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-warning .navbar-form .form-group input.form-control:-ms-input-placeholder, -.navbar.navbar-warning .navbar-form input.form-control:-ms-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-warning .navbar-form .form-group input.form-control::-webkit-input-placeholder, -.navbar.navbar-warning .navbar-form input.form-control::-webkit-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-warning .dropdown-menu { - border-radius: 2px; -} -.navbar.navbar-warning .dropdown-menu li > a { - font-size: 16px; - padding: 13px 16px; -} -.navbar.navbar-warning .dropdown-menu li > a:hover, -.navbar.navbar-warning .dropdown-menu li > a:focus { - color: #ff5722; - background-color: #eeeeee; -} -.navbar.navbar-warning .dropdown-menu .active > a { - background-color: #ff5722; - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-warning .dropdown-menu .active > a:hover, -.navbar.navbar-warning .dropdown-menu .active > a:focus { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-danger { - background-color: #f44336; - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-danger .navbar-form .form-group input.form-control::-moz-placeholder, -.navbar.navbar-danger .navbar-form input.form-control::-moz-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-danger .navbar-form .form-group input.form-control:-ms-input-placeholder, -.navbar.navbar-danger .navbar-form input.form-control:-ms-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-danger .navbar-form .form-group input.form-control::-webkit-input-placeholder, -.navbar.navbar-danger .navbar-form input.form-control::-webkit-input-placeholder { - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-danger .dropdown-menu { - border-radius: 2px; -} -.navbar.navbar-danger .dropdown-menu li > a { - font-size: 16px; - padding: 13px 16px; -} -.navbar.navbar-danger .dropdown-menu li > a:hover, -.navbar.navbar-danger .dropdown-menu li > a:focus { - color: #f44336; - background-color: #eeeeee; -} -.navbar.navbar-danger .dropdown-menu .active > a { - background-color: #f44336; - color: rgba(255,255,255, 0.84); -} -.navbar.navbar-danger .dropdown-menu .active > a:hover, -.navbar.navbar-danger .dropdown-menu .active > a:focus { - color: rgba(255,255,255, 0.84); -} -.navbar-inverse { - background-color: #3f51b5; -} -@media (max-width: 1199px) { - .navbar .navbar-brand { - height: 50px; - padding: 10px 15px; - } - .navbar .navbar-form { - margin-top: 10px; - } - .navbar .navbar-nav > li > a { - padding-top: 15px; - padding-bottom: 15px; - } -} -.dropdown-menu { - border: 0; - -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); - box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); -} -.dropdown-menu .divider { - background-color: rgba(229, 229, 229, 0.12); -} -.dropdown-menu li { - overflow: hidden; - position: relative; -} -.dropdown-menu li a:hover { - background-color: transparent; - color: #009688; -} -.alert { - border: 0; - border-radius: 0; -} -.alert, -.alert.alert-default { - background-color: rgba(255,255,255, 0.84); - color: rgba(255,255,255, 0.84); -} -.alert a, -.alert.alert-default a, -.alert .alert-link, -.alert.alert-default .alert-link { - color: rgba(255,255,255, 0.84); -} -.alert.alert-inverse { - background-color: #3f51b5; - color: #ffffff; -} -.alert.alert-inverse a, -.alert.alert-inverse .alert-link { - color: #ffffff; -} -.alert.alert-primary { - background-color: #009688; - color: rgba(255,255,255, 0.84); -} -.alert.alert-primary a, -.alert.alert-primary .alert-link { - color: rgba(255,255,255, 0.84); -} -.alert.alert-success { - background-color: #4caf50; - color: rgba(255,255,255, 0.84); -} -.alert.alert-success a, -.alert.alert-success .alert-link { - color: rgba(255,255,255, 0.84); -} -.alert.alert-info { - background-color: #03a9f4; - color: rgba(255,255,255, 0.84); -} -.alert.alert-info a, -.alert.alert-info .alert-link { - color: rgba(255,255,255, 0.84); -} -.alert.alert-warning { - background-color: #ff5722; - color: rgba(255,255,255, 0.84); -} -.alert.alert-warning a, -.alert.alert-warning .alert-link { - color: rgba(255,255,255, 0.84); -} -.alert.alert-danger { - background-color: #f44336; - color: rgba(255,255,255, 0.84); -} -.alert.alert-danger a, -.alert.alert-danger .alert-link { - color: rgba(255,255,255, 0.84); -} -.alert-info, -.alert-danger, -.alert-warning, -.alert-success { - color: rgba(255,255,255, 0.84); -} -.alert-default a, -.alert-default .alert-link { - color: rgba(0,0,0, 0.87); -} -.progress { - height: 4px; - border-radius: 0; - -webkit-box-shadow: none; - box-shadow: none; - background: #c8c8c8; -} -.progress .progress-bar { - -webkit-box-shadow: none; - box-shadow: none; -} -.progress .progress-bar, -.progress .progress-bar.progress-bar-default { - background-color: #009688; -} -.progress .progress-bar.progress-bar-inverse { - background-color: #3f51b5; -} -.progress .progress-bar.progress-bar-primary { - background-color: #009688; -} -.progress .progress-bar.progress-bar-success { - background-color: #4caf50; -} -.progress .progress-bar.progress-bar-info { - background-color: #03a9f4; -} -.progress .progress-bar.progress-bar-warning { - background-color: #ff5722; -} -.progress .progress-bar.progress-bar-danger { - background-color: #f44336; -} -.text-warning { - color: #ff5722; -} -.text-primary { - color: #009688; -} -.text-danger { - color: #f44336; -} -.text-success { - color: #4caf50; -} -.text-info { - color: #03a9f4; -} -.nav-tabs { - background: #009688; -} -.nav-tabs > li > a { - color: #FFFFFF; - border: 0; - margin: 0; -} -.nav-tabs > li > a:hover { - background-color: transparent; - border: 0; -} -.nav-tabs > li > a, -.nav-tabs > li > a:hover, -.nav-tabs > li > a:focus { - background-color: transparent !important; - border: 0 !important; - color: #FFFFFF !important; - font-weight: 500; -} -.nav-tabs > li.disabled > a, -.nav-tabs > li.disabled > a:hover { - color: rgba(255, 255, 255, 0.5); -} -.popover, -.tooltip-inner { - color: #ececec; - line-height: 1em; - background: rgba(101, 101, 101, 0.9); - border: none; - border-radius: 2px; - -webkit-box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.12), 0 1px 6px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.12), 0 1px 6px 0 rgba(0, 0, 0, 0.12); -} -.tooltip, -.tooltip.in { - opacity: 1; -} -.popover .arrow, -.tooltip .arrow, -.popover .tooltip-arrow, -.tooltip .tooltip-arrow { - display: none; -} -.card { - /***** Make height equal to width (http://stackoverflow.com/a/6615994) ****/ - display: inline-block; - position: relative; - width: 100%; - /**************************************************************************/ - border-radius: 2px; - color: rgba(0,0,0, 0.87); - background: #fff; - -webkit-box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); - box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); -} -.card .card-height-indicator { - margin-top: 100%; -} -.card .card-content { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; -} -.card .card-image { - height: 60%; - position: relative; - overflow: hidden; -} -.card .card-image img { - width: 100%; - height: 100%; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - pointer-events: none; -} -.card .card-image .card-image-headline { - position: absolute; - bottom: 16px; - left: 18px; - color: #fff; - font-size: 2em; -} -.card .card-body { - height: 30%; - padding: 18px; -} -.card .card-footer { - height: 10%; - padding: 18px; -} -.card .card-footer button { - margin: 0 !important; - position: relative; - bottom: 25px; - width: auto; -} -.card .card-footer button:first-child { - left: -15px; -} -.modal-content { - -webkit-box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22); - box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22); - border-radius: 2px; - border: none; -} -.modal-content .modal-header { - border-bottom: none; - padding-top: 24px; - padding-right: 24px; - padding-bottom: 0; - padding-left: 24px; -} -.modal-content .modal-body { - padding-top: 24px; - padding-right: 24px; - padding-bottom: 16px; - padding-left: 24px; -} -.modal-content .modal-footer { - border-top: none; - padding: 7px; -} -.modal-content .modal-footer button { - margin: 0; - padding-left: 16px; - padding-right: 16px; - width: auto; -} -.modal-content .modal-footer button.pull-left { - padding-left: 5px; - padding-right: 5px; - position: relative; - left: -5px; -} -.modal-content .modal-footer button + button { - margin-bottom: 16px; -} -.modal-content .modal-body + .modal-footer { - padding-top: 0; -} -.modal-backdrop { - background: rgba(0, 0, 0, 0.3); -} -.panel { - border-radius: 2px; - border: 0; - -webkit-box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.12), 0 1px 6px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.12), 0 1px 6px 0 rgba(0, 0, 0, 0.12); -} -.panel > .panel-heading, -.panel.panel-default > .panel-heading { - background-color: #eeeeee; -} -.panel.panel-inverse > .panel-heading { - background-color: #3f51b5; -} -.panel.panel-primary > .panel-heading { - background-color: #009688; -} -.panel.panel-success > .panel-heading { - background-color: #4caf50; -} -.panel.panel-info > .panel-heading { - background-color: #03a9f4; -} -.panel.panel-warning > .panel-heading { - background-color: #ff5722; -} -.panel.panel-danger > .panel-heading { - background-color: #f44336; -} -[class*="panel-"] > .panel-heading { - color: rgba(255,255,255, 0.84); - border: 0; -} -.panel-default > .panel-heading, -.panel:not([class*="panel-"]) > .panel-heading { - color: rgba(0,0,0, 0.87); -} -.panel-footer { - background-color: #eeeeee; -} -hr.on-dark { - color: #1a1a1a; -} -hr.on-light { - color: #ffffff; -} -@media (-webkit-min-device-pixel-ratio: 0.75), (min--moz-device-pixel-ratio: 0.75), (-o-device-pixel-ratio: 3/4), (min-device-pixel-ratio: 0.75), (-o-min-device-pixel-ratio: 3/4), (min-resolution: 0.75dppx), (-webkit-min-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5/4), (min-resolution: 120dpi) { - hr { - height: 0.75px; - } -} -@media (-webkit-min-device-pixel-ratio: 1), (min--moz-device-pixel-ratio: 1), (-o-device-pixel-ratio: 1), (min-device-pixel-ratio: 1), (-o-min-device-pixel-ratio: 1/1), (min-resolution: 1dppx), (-webkit-min-device-pixel-ratio: 1.6666666666666667), (-o-min-device-pixel-ratio: 5/3), (min-resolution: 160dpi) { - hr { - height: 1px; - } -} -@media (-webkit-min-device-pixel-ratio: 1.33), (min--moz-device-pixel-ratio: 1.33), (-o-device-pixel-ratio: 133/100), (min-device-pixel-ratio: 1.33), (-o-min-device-pixel-ratio: 133/100), (min-resolution: 1.33dppx), (-webkit-min-device-pixel-ratio: 2.21875), (-o-min-device-pixel-ratio: 71/32), (min-resolution: 213dpi) { - hr { - height: 1.333px; - } -} -@media (-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-device-pixel-ratio: 3/2), (min-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx), (-webkit-min-device-pixel-ratio: 2.5), (-o-min-device-pixel-ratio: 5/2), (min-resolution: 240dpi) { - hr { - height: 1.5px; - } -} -@media (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-device-pixel-ratio: 2/1), (min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-resolution: 2dppx), (-webkit-min-device-pixel-ratio: 3.9583333333333335), (-o-min-device-pixel-ratio: 95/24), (min-resolution: 380dpi) { - hr { - height: 2px; - } -} -@media (-webkit-min-device-pixel-ratio: 3), (min--moz-device-pixel-ratio: 3), (-o-device-pixel-ratio: 3/1), (min-device-pixel-ratio: 3), (-o-min-device-pixel-ratio: 3/1), (min-resolution: 3dppx), (-webkit-min-device-pixel-ratio: 5), (-o-min-device-pixel-ratio: 5/1), (min-resolution: 480dpi) { - hr { - height: 3px; - } -} -@media (-webkit-min-device-pixel-ratio: 4), (min--moz-device-pixel-ratio: 4), (-o-device-pixel-ratio: 4/1), (min-device-pixel-ratio: 3), (-o-min-device-pixel-ratio: 4/1), (min-resolution: 4dppx), (-webkit-min-device-pixel-ratio: 6.666666666666667), (-o-min-device-pixel-ratio: 20/3), (min-resolution: 640dpi) { - hr { - height: 4px; - } -} -* { - -webkit-tap-highlight-color: rgba(255, 255, 255, 0); - -webkit-tap-highlight-color: transparent; -} -*:focus { - outline: 0; -} -.snackbar { - background-color: #323232; - color: rgba(255,255,255, 0.84); - font-size: 14px; - border-radius: 2px; - -webkit-box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.12), 0 1px 6px 0 rgba(0, 0, 0, 0.12); - box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.12), 0 1px 6px 0 rgba(0, 0, 0, 0.12); - height: 0; - -webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, padding 0 linear 0.2s, height 0 linear 0.2s; - -o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, padding 0 linear 0.2s, height 0 linear 0.2s; - transition: transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, padding 0 linear 0.2s, height 0 linear 0.2s; - -webkit-transform: translateY(200%); - -ms-transform: translateY(200%); - -o-transform: translateY(200%); - transform: translateY(200%); -} -.snackbar.snackbar-opened { - padding: 14px 15px; - margin-bottom: 20px; - height: auto; - -webkit-transition: -webkit-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, height 0 linear 0.2s; - -o-transition: -o-transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, height 0 linear 0.2s; - transition: transform 0.2s ease-in-out, opacity 0.2s ease-in, height 0 linear 0.2s, height 0 linear 0.2s; - -webkit-transform: none; - -ms-transform: none; - -o-transform: none; - transform: none; -} -.snackbar.toast { - border-radius: 200px; -} -.noUi-target, -.noUi-target * { - -webkit-touch-callout: none; - -ms-touch-action: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.noUi-base { - width: 100%; - height: 100%; - position: relative; -} -.noUi-origin { - position: absolute; - right: 0; - top: 0; - left: 0; - bottom: 0; -} -.noUi-handle { - position: relative; - z-index: 1; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.noUi-stacking .noUi-handle { - z-index: 10; -} -.noUi-state-tap .noUi-origin { - -webkit-transition: left 0.3s, top 0.3s; - -o-transition: left 0.3s, top 0.3s; - transition: left 0.3s, top 0.3s; -} -.noUi-state-drag * { - cursor: inherit !important; -} -.noUi-horizontal { - height: 10px; -} -.noUi-handle { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 12px; - height: 12px; - left: -10px; - top: -5px; - cursor: ew-resize; - border-radius: 100%; - -webkit-transition: all 0.2s ease-out; - -o-transition: all 0.2s ease-out; - transition: all 0.2s ease-out; - border: 1px solid; -} -.noUi-vertical .noUi-handle { - margin-left: 5px; - cursor: ns-resize; -} -.noUi-horizontal.noUi-extended { - padding: 0 15px; -} -.noUi-horizontal.noUi-extended .noUi-origin { - right: -15px; -} -.noUi-background { - height: 2px; - margin: 20px 0; -} -.noUi-origin { - margin: 0; - border-radius: 0; - height: 2px; - background: #c8c8c8; -} -.noUi-origin[style^="left: 0"] .noUi-handle { - background-color: #fff; - border: 2px solid #c8c8c8; -} -.noUi-origin[style^="left: 0"] .noUi-handle.noUi-active { - border-width: 1px; -} -.noUi-target { - border-radius: 2px; -} -.noUi-horizontal { - height: 2px; - margin: 15px 0; -} -.noUi-vertical { - height: 100%; - width: 2px; - margin: 0 15px; - display: inline-block; -} -.noUi-handle.noUi-active { - -webkit-transform: scale3d(2.5, 2.5, 1); - transform: scale3d(2.5, 2.5, 1); -} -[disabled].noUi-slider { - opacity: 0.5; -} -[disabled] .noUi-handle { - cursor: not-allowed; -} -.slider { - background: #c8c8c8; -} -.slider.noUi-connect, -.slider.slider-default.noUi-connect { - background-color: #009688; -} -.slider.slider-inverse.noUi-connect { - background-color: #3f51b5; -} -.slider.slider-primary.noUi-connect { - background-color: #009688; -} -.slider.slider-success.noUi-connect { - background-color: #4caf50; -} -.slider.slider-info.noUi-connect { - background-color: #03a9f4; -} -.slider.slider-warning.noUi-connect { - background-color: #ff5722; -} -.slider.slider-danger.noUi-connect { - background-color: #f44336; -} -.slider .noUi-connect, -.slider.slider-default .noUi-connect { - background-color: #009688; -} -.slider.slider-inverse .noUi-connect { - background-color: #3f51b5; -} -.slider.slider-primary .noUi-connect { - background-color: #009688; -} -.slider.slider-success .noUi-connect { - background-color: #4caf50; -} -.slider.slider-info .noUi-connect { - background-color: #03a9f4; -} -.slider.slider-warning .noUi-connect { - background-color: #ff5722; -} -.slider.slider-danger .noUi-connect { - background-color: #f44336; -} -.slider .noUi-handle, -.slider.slider-default .noUi-handle { - background-color: #009688; -} -.slider.slider-inverse .noUi-handle { - background-color: #3f51b5; -} -.slider.slider-primary .noUi-handle { - background-color: #009688; -} -.slider.slider-success .noUi-handle { - background-color: #4caf50; -} -.slider.slider-info .noUi-handle { - background-color: #03a9f4; -} -.slider.slider-warning .noUi-handle { - background-color: #ff5722; -} -.slider.slider-danger .noUi-handle { - background-color: #f44336; -} -.slider .noUi-handle, -.slider.slider-default .noUi-handle { - border-color: #009688; -} -.slider.slider-inverse .noUi-handle { - border-color: #3f51b5; -} -.slider.slider-primary .noUi-handle { - border-color: #009688; -} -.slider.slider-success .noUi-handle { - border-color: #4caf50; -} -.slider.slider-info .noUi-handle { - border-color: #03a9f4; -} -.slider.slider-warning .noUi-handle { - border-color: #ff5722; -} -.slider.slider-danger .noUi-handle { - border-color: #f44336; -} -.selectize-control.single, -.selectize-control.multi { - padding: 0; -} -.selectize-control.single .selectize-input, -.selectize-control.multi .selectize-input, -.selectize-control.single .selectize-input.input-active, -.selectize-control.multi .selectize-input.input-active { - cursor: text; - background: transparent; - -webkit-box-shadow: none; - box-shadow: none; - border: 0; - padding: 0; - height: 100%; - font-size: 14px; - line-height: 30px; -} -.selectize-control.single .selectize-input .has-items, -.selectize-control.multi .selectize-input .has-items, -.selectize-control.single .selectize-input.input-active .has-items, -.selectize-control.multi .selectize-input.input-active .has-items { - padding: 0; -} -.selectize-control.single .selectize-input:after, -.selectize-control.multi .selectize-input:after, -.selectize-control.single .selectize-input.input-active:after, -.selectize-control.multi .selectize-input.input-active:after { - right: 5px; - position: absolute; - font-size: 7px; - content: "\e894"; - font-family: "Material-Design-Icons"; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 4; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.selectize-control.single .selectize-input input, -.selectize-control.multi .selectize-input input, -.selectize-control.single .selectize-input.input-active input, -.selectize-control.multi .selectize-input.input-active input { - font-size: 14px; - outline: 0; - border: 0; - background: transparent; -} -.selectize-control.single .selectize-input.label-floating-fix input, -.selectize-control.multi .selectize-input.label-floating-fix input, -.selectize-control.single .selectize-input.input-active.label-floating-fix input, -.selectize-control.multi .selectize-input.input-active.label-floating-fix input { - opacity: 0; -} -.selectize-control.single .selectize-input > div, -.selectize-control.multi .selectize-input > div, -.selectize-control.single .selectize-input.input-active > div, -.selectize-control.multi .selectize-input.input-active > div, -.selectize-control.single .selectize-input > .item, -.selectize-control.multi .selectize-input > .item, -.selectize-control.single .selectize-input.input-active > .item, -.selectize-control.multi .selectize-input.input-active > .item { - display: inline-block; - margin: 0 8px 3px 0; - padding: 0; - background: transparent; - border: 0; -} -.selectize-control.single .selectize-input > div:after, -.selectize-control.multi .selectize-input > div:after, -.selectize-control.single .selectize-input.input-active > div:after, -.selectize-control.multi .selectize-input.input-active > div:after, -.selectize-control.single .selectize-input > .item:after, -.selectize-control.multi .selectize-input > .item:after, -.selectize-control.single .selectize-input.input-active > .item:after, -.selectize-control.multi .selectize-input.input-active > .item:after { - content: ","; -} -.selectize-control.single .selectize-input > div:last-of-type:after, -.selectize-control.multi .selectize-input > div:last-of-type:after, -.selectize-control.single .selectize-input.input-active > div:last-of-type:after, -.selectize-control.multi .selectize-input.input-active > div:last-of-type:after, -.selectize-control.single .selectize-input > .item:last-of-type:after, -.selectize-control.multi .selectize-input > .item:last-of-type:after, -.selectize-control.single .selectize-input.input-active > .item:last-of-type:after, -.selectize-control.multi .selectize-input.input-active > .item:last-of-type:after { - content: ""; -} -.selectize-control.single .selectize-input > div.active, -.selectize-control.multi .selectize-input > div.active, -.selectize-control.single .selectize-input.input-active > div.active, -.selectize-control.multi .selectize-input.input-active > div.active, -.selectize-control.single .selectize-input > .item.active, -.selectize-control.multi .selectize-input > .item.active, -.selectize-control.single .selectize-input.input-active > .item.active, -.selectize-control.multi .selectize-input.input-active > .item.active { - font-weight: bold; - background: transparent; - border: 0; -} -.selectize-control.single .selectize-dropdown, -.selectize-control.multi .selectize-dropdown { - position: absolute; - z-index: 1000; - border: 0; - width: 100% !important; - left: 0 !important; - height: auto; - background-color: #FFF; - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); - border-radius: 2px; - padding: 0; - margin-top: 3px; -} -.selectize-control.single .selectize-dropdown .active, -.selectize-control.multi .selectize-dropdown .active { - background-color: inherit; -} -.selectize-control.single .selectize-dropdown .highlight, -.selectize-control.multi .selectize-dropdown .highlight { - background-color: #d5d8ff; -} -.selectize-control.single .selectize-dropdown .selected, -.selectize-control.multi .selectize-dropdown .selected, -.selectize-control.single .selectize-dropdown .selected.active, -.selectize-control.multi .selectize-dropdown .selected.active { - background-color: #EEEEEE; -} -.selectize-control.single .selectize-dropdown [data-selectable], -.selectize-control.multi .selectize-dropdown [data-selectable], -.selectize-control.single .selectize-dropdown .optgroup-header, -.selectize-control.multi .selectize-dropdown .optgroup-header { - padding: 10px 20px; - cursor: pointer; -} -.selectize-control.single .dropdown-active ~ .selectize-dropdown, -.selectize-control.multi .dropdown-active ~ .selectize-dropdown { - display: block; -} -.dropdownjs:after { - right: 5px; - top: 3px; - font-size: 25px; - position: absolute; - content: "\e8ac"; - font-family: "Material-Design-Icons"; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - pointer-events: none; - color: #757575; -} -/*# sourceMappingURL=bootstrap-material-design.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap-material-design.css.map b/dist/css/bootstrap-material-design.css.map deleted file mode 100644 index 62a1ab7d..00000000 --- a/dist/css/bootstrap-material-design.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["bootstrap-material-design.css","/less/_bootstrap-material-design.less","/less/_welljumbo.less","/less/_shadows.less","/less/_mixins.less","/less/_buttons.less","/less/_checkboxes.less","/less/_togglebutton.less","/less/_radios.less","/less/_inputs-size.less","/less/_inputs.less","/less/_form.less","/less/_lists.less","/less/_navbar.less","/less/_alerts.less","/less/_progress.less","/less/_typography.less","/less/_tabs.less","/less/_popups.less","/less/_cards.less","/less/_dialogs.less","/less/_panels.less","/less/_dividers.less","/less/plugins/_plugin-snackbarjs.less","/less/plugins/_plugin-nouislider.less","/less/plugins/_plugin-selectize.less","/less/plugins/_plugin-dropdownjs.less"],"names":[],"mappings":"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0BAAA;CbyjDP;Aa5tDD;;EAyKM,sBAAA;EACA,eAAA;EACA,WAAA;EACA,UAAA;EAOA,aAAA;EACA,gBAAA;EACA,wBAAA;CbijDL;AItrDC;;ES4IE,0BAAA;EACA,+BAAA;Cb8iDH;AIzuDC;;;;ESgMM,+BAAA;Cb+iDP;AI9uDC;;;;ES+LM,+BAAA;CbqjDP;AInvDC;;;;ES8LM,+BAAA;Cb2jDP;AI7sDC;;ESsJI,mBAAA;Cb2jDL;AIjtDC;;ESwJM,gBAAA;EACA,mBAAA;Cb6jDP;Aa5jDO;;;;EAEE,eAAA;EACA,0BAAA;CbgkDT;AI7tDC;;ESqKM,0BAAA;EACA,+BAAA;Cb4jDP;AajkDO;;;;EAEE,+BAAA;CbqkDT;AIluDC;ESsIE,0BAAA;EACA,eAAA;Cb+lDH;AI1xDC;;ESgMM,eAAA;Cb8lDP;AI7xDC;;ES+LM,eAAA;CbkmDP;AIhyDC;;ES8LM,eAAA;CbsmDP;AIlvDC;ESgJI,mBAAA;CbqmDL;AIrvDC;ESkJM,gBAAA;EACA,mBAAA;CbsmDP;AarmDO;;EAEE,eAAA;EACA,0BAAA;CbumDT;AI9vDC;ES+JM,0BAAA;EACA,eAAA;CbkmDP;AavmDO;;EAEE,eAAA;CbymDT;AIhwDC;ESgIE,0BAAA;EACA,+BAAA;CbmoDH;AI9zDC;;ESgMM,+BAAA;CbkoDP;AIj0DC;;ES+LM,+BAAA;CbsoDP;AIp0DC;;ES8LM,+BAAA;Cb0oDP;AIhxDC;ES0II,mBAAA;CbyoDL;AInxDC;ES4IM,gBAAA;EACA,mBAAA;Cb0oDP;AazoDO;;EAEE,eAAA;EACA,0BAAA;Cb2oDT;AI5xDC;ESyJM,0BAAA;EACA,+BAAA;CbsoDP;Aa3oDO;;EAEE,+BAAA;Cb6oDT;AI/xDC;ES2HE,0BAAA;EACA,+BAAA;CbuqDH;AIl2DC;;ESgMM,+BAAA;CbsqDP;AIr2DC;;ES+LM,+BAAA;Cb0qDP;AIx2DC;;ES8LM,+BAAA;Cb8qDP;AI/yDC;ESqII,mBAAA;Cb6qDL;AIlzDC;ESuIM,gBAAA;EACA,mBAAA;Cb8qDP;Aa7qDO;;EAEE,eAAA;EACA,0BAAA;Cb+qDT;AI3zDC;ESoJM,0BAAA;EACA,+BAAA;Cb0qDP;Aa/qDO;;EAEE,+BAAA;CbirDT;AI9zDC;ESsHE,0BAAA;EACA,+BAAA;Cb2sDH;AIt4DC;;ESgMM,+BAAA;Cb0sDP;AIz4DC;;ES+LM,+BAAA;Cb8sDP;AI54DC;;ES8LM,+BAAA;CbktDP;AI90DC;ESgII,mBAAA;CbitDL;AIj1DC;ESkIM,gBAAA;EACA,mBAAA;CbktDP;AajtDO;;EAEE,eAAA;EACA,0BAAA;CbmtDT;AI11DC;ES+IM,0BAAA;EACA,+BAAA;Cb8sDP;AantDO;;EAEE,+BAAA;CbqtDT;AI71DC;ESiHE,0BAAA;EACA,+BAAA;Cb+uDH;AI16DC;;ESgMM,+BAAA;Cb8uDP;AI76DC;;ES+LM,+BAAA;CbkvDP;AIh7DC;;ES8LM,+BAAA;CbsvDP;AI72DC;ES2HI,mBAAA;CbqvDL;AIh3DC;ES6HM,gBAAA;EACA,mBAAA;CbsvDP;AarvDO;;EAEE,eAAA;EACA,0BAAA;CbuvDT;AIz3DC;ES0IM,0BAAA;EACA,+BAAA;CbkvDP;AavvDO;;EAEE,+BAAA;CbyvDT;AI53DC;ES4GE,0BAAA;EACA,+BAAA;CbmxDH;AI98DC;;ESgMM,+BAAA;CbkxDP;AIj9DC;;ES+LM,+BAAA;CbsxDP;AIp9DC;;ES8LM,+BAAA;Cb0xDP;AI54DC;ESsHI,mBAAA;CbyxDL;AI/4DC;ESwHM,gBAAA;EACA,mBAAA;Cb0xDP;AazxDO;;EAEE,eAAA;EACA,0BAAA;Cb2xDT;AIx5DC;ESqIM,0BAAA;EACA,+BAAA;CbsxDP;Aa3xDO;;EAEE,+BAAA;Cb6xDT;AarxDC;EACE,0BAAA;CbuxDH;AarwDD;EACA;IAbM,aAAA;IACA,mBAAA;GbqxDH;EazwDH;IATM,iBAAA;GbqxDH;Ea5wDH;IALM,kBAAA;IACA,qBAAA;GboxDH;CACF;AC57DD;EACE,UAAA;EACA,oDAAA;UAAA,4CAAA;CD87DD;ACh8DD;EAII,4CAAA;CD+7DH;ACn8DD;EAOI,iBAAA;EACA,mBAAA;CD+7DH;ACv8DD;EAUM,8BAAA;EACA,eAAA;CDg8DL;Ac/gED;EACI,UAAA;EACA,iBAAA;CdihEH;AIn+DC;;EU1CM,0CAAA;EACA,+BAAA;CdihEP;AIx+DC;;;;EUtCU,+BAAA;CdohEX;AIx+DC;EUhDM,0BAAA;EACA,eAAA;Cd2hEP;AI5+DC;;EU5CU,eAAA;Cd4hEX;AI1+DC;EUtDM,0BAAA;EACA,+BAAA;CdmiEP;AI9+DC;;EUlDU,+BAAA;CdoiEX;AI7+DC;EU3DM,0BAAA;EACA,+BAAA;Cd2iEP;AIj/DC;;EUvDU,+BAAA;Cd4iEX;AIh/DC;EUhEM,0BAAA;EACA,+BAAA;CdmjEP;AIp/DC;;EU5DU,+BAAA;CdojEX;AIn/DC;EUrEM,0BAAA;EACA,+BAAA;Cd2jEP;AIv/DC;;EUjEU,+BAAA;Cd4jEX;AIt/DC;EU1EM,0BAAA;EACA,+BAAA;CdmkEP;AI1/DC;;EUtEU,+BAAA;CdokEX;AchkEG;;;;EACI,+BAAA;CdqkEP;AclkEG;;EAEQ,yBAAA;CdokEX;AexlED;EACI,YAAA;EACA,iBAAA;EACA,yBAAA;UAAA,iBAAA;EACA,oBAAA;Cf0lEH;Ae9lED;EAMQ,yBAAA;UAAA,iBAAA;Cf2lEP;AIjjEC;;EArCE,0BAAA;CJ0lEH;AI/iEC;EA3CE,0BAAA;CJ6lEH;AI5iEC;EAjDE,0BAAA;CJgmEH;AI1iEC;EAtDE,0BAAA;CJmmEH;AIxiEC;EA3DE,0BAAA;CJsmEH;AItiEC;EAhEE,0BAAA;CJymEH;AIpiEC;EArEE,0BAAA;CJ4mEH;AgBvnED;EACE,eAAA;ChBynED;AgBvnED;EACE,eAAA;ChBynED;AgBvnED;EACE,eAAA;ChBynED;AgBvnED;EACE,eAAA;ChBynED;AgBvnED;EACE,eAAA;ChBynED;AiBtoED;EACI,oBAAA;CjBwoEH;AiBzoED;EAIY,eAAA;EACA,UAAA;EACA,UAAA;CjBwoEX;AiBvoEW;EACI,8BAAA;EACA,UAAA;CjByoEf;AiBtoEO;;;EACI,yCAAA;EACA,qBAAA;EACA,0BAAA;EACA,iBAAA;CjB0oEX;AiBxoEO;;EACI,gCAAA;CjB2oEX;AkB9pED;;EACE,eAAA;EACA,iBAAA;EACA,qCAAA;EACA,aAAA;EACA,mBAAA;EfJA,qFAAA;UAAA,6EAAA;CHsqED;AkB9pED;;EACE,WAAA;ClBiqED;AkB9pED;;;;EAEI,cAAA;ClBkqEH;AmBjrED;EnBmrEE,4EAA4E;EmB/qE1E,sBAAA;EACA,mBAAA;EACA,YAAA;EnBirEF,4EAA4E;EmBlqE1E,mBAAA;EACA,yBAAA;EACA,iBAAA;EhBVF,sFAAA;UAAA,8EAAA;CH+qED;AmB5rED;EAQQ,iBAAA;CnBurEP;AmB/rED;EAWQ,mBAAA;EACA,OAAA;EACA,UAAA;EACA,QAAA;EACA,SAAA;CnBurEP;AmBtsED;EA4BQ,YAAA;EACA,mBAAA;EACA,iBAAA;CnB6qEP;AmB3sED;EAgCY,YAAA;EACA,aAAA;EACA,4BAAA;EACA,6BAAA;EACA,qBAAA;CnB8qEX;AmBltED;EAuCY,mBAAA;EACA,aAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;CnB8qEX;AmBztED;EAgDQ,YAAA;EACA,cAAA;CnB4qEP;AmB7tED;EAqDQ,YAAA;EACA,cAAA;CnB2qEP;AmBjuED;EAwDY,qBAAA;EACA,mBAAA;EACA,aAAA;EACA,YAAA;CnB4qEX;AmB3qEW;EACI,YAAA;CnB6qEf;AoBtuED;EjB2BE,wFAAA;UAAA,gFAAA;EiBzBA,mBAAA;EACA,aAAA;CpBwuED;AoB3uED;EAOI,oBAAA;EACA,kBAAA;EACA,oBAAA;EACA,kBAAA;EACA,mBAAA;CpBuuEH;AoBlvED;EAgBI,kBAAA;EACA,oBAAA;EACA,qBAAA;EACA,mBAAA;CpBquEH;AoBxvED;EAuBI,iBAAA;EACA,aAAA;CpBouEH;AoB5vED;EA0BM,UAAA;EACA,mBAAA;EACA,oBAAA;EACA,YAAA;CpBquEL;AoBpuEK;EACE,kBAAA;EACA,mBAAA;EACA,mBAAA;EACA,WAAA;CpBsuEP;AoBxwED;EAsCM,oBAAA;CpBquEL;AoB3wED;EA0CI,eAAA;CpBouEH;AoBjuED;EACE,+BAAA;CpBmuED;AqBrxED;EACE,mBAAA;EACA,UAAA;ElBDA,qFAAA;UAAA,6EAAA;CHyxED;AI1uEC;;EArCE,0BAAA;CJmxEH;AIxuEC;EA3CE,0BAAA;CJsxEH;AIruEC;EAjDE,0BAAA;CJyxEH;AInuEC;EAtDE,0BAAA;CJ4xEH;AIjuEC;EA3DE,0BAAA;CJ+xEH;AI/tEC;EAhEE,0BAAA;CJkyEH;AI7tEC;EArEE,0BAAA;CJqyEH;AqBvyED;EACE,+BAAA;EACA,UAAA;CrByyED;AqBvyED;;EAEI,yBAAA;CrByyEH;AqBtyED;EACE,0BAAA;CrBwyED;AsB1zEC;EACE,eAAA;CtB4zEH;AsBzzEC;EACE,eAAA;CtB2zEH;AsB/yEC;EAqDF;IAxDM,eAAA;GtBszEH;CACF;AsB5yEC;EA6CF;IA/CM,YAAA;GtBkzEH;CACF;AsBzyEC;EAqCF;IAvCM,gBAAA;GtB+yEH;CACF;AsBryEC;EA4BF;IA/BM,cAAA;GtB4yEH;CACF;AsBjyEC;EAmBF;IAtBM,YAAA;GtBwyEH;CACF;AsB7xEC;EAUF;IAbM,YAAA;GtBoyEH;CACF;AsBzxED;EACA;IAJM,YAAA;GtBgyEH;CACF;ACxvED;EACE,oDAAA;EACA,yCAAA;CD0vED;ACzvEC;EACE,WAAA;CD2vEH;AuBx2ED;EAEI,0BAAA;EACA,+BAAA;EACA,gBAAA;EACA,mBAAA;EpBPF,qFAAA;UAAA,6EAAA;EoBWE,UAAA;EACA,gJAAA;OAAA,sIAAA;UAAA,gIAAA;EACA,oCAAA;MAAA,gCAAA;OAAA,+BAAA;UAAA,4BAAA;CvBu2EH;AuBp2ED;EAEI,mBAAA;EACA,oBAAA;EAGA,aAAA;EACA,yHAAA;OAAA,+GAAA;UAAA,yGAAA;EACA,wBAAA;MAAA,oBAAA;OAAA,mBAAA;UAAA,gBAAA;CvBm2EH;AuB/1ED;EACI,qBAAA;CvBi2EH;AwB/3ED;;EAEI,4BAAA;EACA,uBAAA;EACA,0BAAA;KAAA,uBAAA;MAAA,sBAAA;UAAA,kBAAA;EACA,+BAAA;KAAA,4BAAA;UAAA,uBAAA;CxBi4EH;AwB/3ED;EACI,YAAA;EACA,aAAA;EACA,mBAAA;CxBi4EH;AwB/3ED;EACI,mBAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;EACA,UAAA;CxBi4EH;AwB/3ED;EACI,mBAAA;EACA,WAAA;EACA,+BAAA;KAAA,4BAAA;UAAA,uBAAA;CxBi4EH;AwB/3ED;EACI,YAAA;CxBi4EH;AwB53ED;EACI,wCAAA;OAAA,mCAAA;UAAA,gCAAA;CxB83EH;AwB53ED;EACI,2BAAA;CxB83EH;AwB53ED;EACI,aAAA;CxB83EH;AwB53ED;EACI,+BAAA;KAAA,4BAAA;UAAA,uBAAA;EACA,YAAA;EACA,aAAA;EACA,YAAA;EACA,UAAA;EACA,kBAAA;EACA,oBAAA;EACA,sCAAA;OAAA,iCAAA;UAAA,8BAAA;EACA,kBAAA;CxB83EH;AwB53ED;EACI,iBAAA;EACA,kBAAA;CxB83EH;AwB53ED;EACI,gBAAA;CxB83EH;AwB53ED;EACI,aAAA;CxB83EH;AwB53ED;EACI,YAAA;EACA,eAAA;CxB83EH;AwB53ED;EACI,UAAA;EACA,iBAAA;EACA,YAAA;EACA,oBAAA;CxB83EH;AwB73EG;EACI,uBAAA;EACA,0BAAA;CxB+3EP;AwB93EO;EACI,kBAAA;CxBg4EX;AwB53ED;EACI,mBAAA;CxB83EH;AwB53ED;EACI,YAAA;EACA,eAAA;CxB83EH;AwB53ED;EACI,aAAA;EACA,WAAA;EACA,eAAA;EACA,sBAAA;CxB83EH;AwB53ED;EACI,wCAAA;UAAA,gCAAA;CxB83EH;AwB53ED;EACI,aAAA;CxB83EH;AwB53ED;EACI,oBAAA;CxB83EH;AwB33ED;EACI,oBAAA;CxB63EH;AIl7EC;;EArCE,0BAAA;CJ29EH;AIh7EC;EA3CE,0BAAA;CJ89EH;AI76EC;EAjDE,0BAAA;CJi+EH;AI36EC;EAtDE,0BAAA;CJo+EH;AIz6EC;EA3DE,0BAAA;CJu+EH;AIv6EC;EAhEE,0BAAA;CJ0+EH;AIr6EC;EArEE,0BAAA;CJ6+EH;AIx8EC;;EArCE,0BAAA;CJi/EH;AIt8EC;EA3CE,0BAAA;CJo/EH;AIn8EC;EAjDE,0BAAA;CJu/EH;AIj8EC;EAtDE,0BAAA;CJ0/EH;AI/7EC;EA3DE,0BAAA;CJ6/EH;AI77EC;EAhEE,0BAAA;CJggFH;AI37EC;EArEE,0BAAA;CJmgFH;AI99EC;;EArCE,0BAAA;CJugFH;AI59EC;EA3CE,0BAAA;CJ0gFH;AIz9EC;EAjDE,0BAAA;CJ6gFH;AIv9EC;EAtDE,0BAAA;CJghFH;AIr9EC;EA3DE,0BAAA;CJmhFH;AIn9EC;EAhEE,0BAAA;CJshFH;AIj9EC;EArEE,0BAAA;CJyhFH;AIp/EC;;EArCE,sBAAA;CJ6hFH;AIl/EC;EA3CE,sBAAA;CJgiFH;AI/+EC;EAjDE,sBAAA;CJmiFH;AI7+EC;EAtDE,sBAAA;CJsiFH;AI3+EC;EA3DE,sBAAA;CJyiFH;AIz+EC;EAhEE,sBAAA;CJ4iFH;AIv+EC;EArEE,sBAAA;CJ+iFH;AyBvjFD;;EACI,WAAA;CzB0jFH;AyB3jFD;;;;EAIQ,aAAA;EACA,wBAAA;EACA,yBAAA;UAAA,iBAAA;EACA,UAAA;EACA,WAAA;EACA,aAAA;EACA,gBAAA;EACA,kBAAA;CzB6jFP;AyBxkFD;;;;EAaY,WAAA;CzBikFX;AyB/jFO;;;;EACI,WAAA;EACA,mBAAA;EACA,eAAA;EACA,iBAAA;EACA,qCAAA;EACA,YAAA;EACA,mBAAA;EACA,oBAAA;EACA,qBAAA;EACA,qBAAA;EACA,eAAA;EACA,oCAAA;EACA,mCAAA;CzBokFX;AyBhmFD;;;;EA+BY,gBAAA;EACA,WAAA;EACA,UAAA;EACA,wBAAA;CzBukFX;AyBrkFO;;;;EACI,WAAA;CzB0kFX;AyB/mFD;;;;;;;;EAwCY,sBAAA;EACA,oBAAA;EACA,WAAA;EACA,wBAAA;EACA,UAAA;CzBilFX;AyBhlFW;;;;;;;;EACI,aAAA;CzBylFf;AyBvlFW;;;;;;;;EACI,YAAA;CzBgmFf;AyB9lFW;;;;;;;;EACI,kBAAA;EACA,wBAAA;EACA,UAAA;CzBumFf;AyB7pFD;;EA2DQ,mBAAA;EACA,cAAA;EACA,UAAA;EACA,uBAAA;EACA,mBAAA;EACA,aAAA;EACA,uBAAA;EACA,iFAAA;UAAA,yEAAA;EACA,mBAAA;EACA,WAAA;EACA,gBAAA;CzBsmFP;AyB3qFD;;EAuEY,0BAAA;CzBwmFX;AyB/qFD;;EA0EY,0BAAA;CzBymFX;AyBnrFD;;;;EA6EY,0BAAA;CzB4mFX;AyBzrFD;;;;EAgFY,mBAAA;EACA,gBAAA;CzB+mFX;AyBhsFD;;EAqFQ,eAAA;CzB+mFP;A0BvsFD;EACI,WAAA;EACA,SAAA;EACA,gBAAA;EACA,mBAAA;EACA,iBAAA;EACA,qCAAA;EACA,YAAA;EACA,mBAAA;EACA,oBAAA;EACA,qBAAA;EACA,qBAAA;EACA,eAAA;EACA,oCAAA;EACA,mCAAA;EACA,qBAAA;EACA,eAAA;C1BysFH","file":"bootstrap-material-design.css"} \ No newline at end of file diff --git a/dist/css/bootstrap-material-design.min.css b/dist/css/bootstrap-material-design.min.css deleted file mode 100644 index b728fe39..00000000 --- a/dist/css/bootstrap-material-design.min.css +++ /dev/null @@ -1,2 +0,0 @@ -body{background-color:#EEE}body.inverse{background:#333}body.inverse,body.inverse .form-control{color:rgba(255,255,255,.84)}body.inverse .card,body.inverse .card .form-control,body.inverse .modal,body.inverse .modal .form-control,body.inverse .panel-default,body.inverse .panel-default .form-control{background-color:initial;color:initial}h5,h6{font-weight:400}a,a:focus,a:hover{color:#009688}a .material-icons,a:focus .material-icons,a:hover .material-icons{vertical-align:middle}body .container .well.well-sm,body .container-fluid .well.well-sm{padding:10px}body .container .well.well-lg,body .container-fluid .well.well-lg{padding:26px}body .container .jumbotron,body .container .well,body .container-fluid .jumbotron,body .container-fluid .well{background-color:#fff;padding:19px;margin-bottom:20px;-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);border-radius:2px;border:0}body .container .jumbotron p,body .container .well p,body .container-fluid .jumbotron p,body .container-fluid .well p{font-weight:300}body .container .jumbotron,body .container .jumbotron-default,body .container .well,body .container .well-default,body .container-fluid .jumbotron,body .container-fluid .jumbotron-default,body .container-fluid .well,body .container-fluid .well-default{background-color:#fff}body .container .jumbotron-inverse,body .container .well-inverse,body .container-fluid .jumbotron-inverse,body .container-fluid .well-inverse{background-color:#3f51b5}body .container .jumbotron-primary,body .container .well-primary,body .container-fluid .jumbotron-primary,body .container-fluid .well-primary{background-color:#009688}body .container .jumbotron-success,body .container .well-success,body .container-fluid .jumbotron-success,body .container-fluid .well-success{background-color:#4caf50}body .container .jumbotron-info,body .container .well-info,body .container-fluid .jumbotron-info,body .container-fluid .well-info{background-color:#03a9f4}body .container .jumbotron-warning,body .container .well-warning,body .container-fluid .jumbotron-warning,body .container-fluid .well-warning{background-color:#ff5722}body .container .jumbotron-danger,body .container .well-danger,body .container-fluid .jumbotron-danger,body .container-fluid .well-danger{background-color:#f44336}.btn,.input-group-btn .btn{border:none;border-radius:2px;position:relative;padding:8px 30px;margin:10px 1px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:0;will-change:box-shadow,transform;-webkit-transition:-webkit-box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);-o-transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:0;cursor:pointer;text-decoration:none;background:0 0}.btn::-moz-focus-inner,.input-group-btn .btn::-moz-focus-inner{border:0}.btn:not(.btn-raised),.input-group-btn .btn:not(.btn-raised){-webkit-box-shadow:none;box-shadow:none}.btn:not(.btn-raised),.btn:not(.btn-raised).btn-default,.input-group-btn .btn:not(.btn-raised),.input-group-btn .btn:not(.btn-raised).btn-default{color:rgba(0,0,0,.87)}.btn:not(.btn-raised).btn-inverse,.input-group-btn .btn:not(.btn-raised).btn-inverse{color:#3f51b5}.btn:not(.btn-raised).btn-primary,.input-group-btn .btn:not(.btn-raised).btn-primary{color:#009688}.btn:not(.btn-raised).btn-success,.input-group-btn .btn:not(.btn-raised).btn-success{color:#4caf50}.btn:not(.btn-raised).btn-info,.input-group-btn .btn:not(.btn-raised).btn-info{color:#03a9f4}.btn:not(.btn-raised).btn-warning,.input-group-btn .btn:not(.btn-raised).btn-warning{color:#ff5722}.btn:not(.btn-raised).btn-danger,.input-group-btn .btn:not(.btn-raised).btn-danger{color:#f44336}.btn:not(.btn-raised):not(.btn-link):focus,.btn:not(.btn-raised):not(.btn-link):hover,.input-group-btn .btn:not(.btn-raised):not(.btn-link):focus,.input-group-btn .btn:not(.btn-raised):not(.btn-link):hover{background-color:rgba(153,153,153,.2)}.theme-dark .btn:not(.btn-raised):not(.btn-link):focus,.theme-dark .btn:not(.btn-raised):not(.btn-link):hover,.theme-dark .input-group-btn .btn:not(.btn-raised):not(.btn-link):focus,.theme-dark .input-group-btn .btn:not(.btn-raised):not(.btn-link):hover{background-color:rgba(204,204,204,.15)}.btn.btn-fab,.btn.btn-fab.btn-default,.btn.btn-raised,.btn.btn-raised.btn-default,.input-group-btn .btn.btn-fab,.input-group-btn .btn.btn-fab.btn-default,.input-group-btn .btn.btn-raised,.input-group-btn .btn.btn-raised.btn-default{background-color:transparent;color:rgba(0,0,0,.87)}.btn.btn-fab.btn-inverse,.btn.btn-raised.btn-inverse,.input-group-btn .btn.btn-fab.btn-inverse,.input-group-btn .btn.btn-raised.btn-inverse{background-color:#3f51b5;color:#fff}.btn.btn-fab.btn-primary,.btn.btn-raised.btn-primary,.input-group-btn .btn.btn-fab.btn-primary,.input-group-btn .btn.btn-raised.btn-primary{background-color:#009688;color:rgba(255,255,255,.84)}.btn.btn-fab.btn-success,.btn.btn-raised.btn-success,.input-group-btn .btn.btn-fab.btn-success,.input-group-btn .btn.btn-raised.btn-success{background-color:#4caf50;color:rgba(255,255,255,.84)}.btn.btn-fab.btn-info,.btn.btn-raised.btn-info,.input-group-btn .btn.btn-fab.btn-info,.input-group-btn .btn.btn-raised.btn-info{background-color:#03a9f4;color:rgba(255,255,255,.84)}.btn.btn-fab.btn-warning,.btn.btn-raised.btn-warning,.input-group-btn .btn.btn-fab.btn-warning,.input-group-btn .btn.btn-raised.btn-warning{background-color:#ff5722;color:rgba(255,255,255,.84)}.btn.btn-fab.btn-danger,.btn.btn-raised.btn-danger,.input-group-btn .btn.btn-fab.btn-danger,.input-group-btn .btn.btn-raised.btn-danger{background-color:#f44336;color:rgba(255,255,255,.84)}.btn.btn-raised:not(.btn-link),.input-group-btn .btn.btn-raised:not(.btn-link){-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn.btn-raised:not(.btn-link).active,.btn.btn-raised:not(.btn-link):active,.input-group-btn .btn.btn-raised:not(.btn-link).active,.input-group-btn .btn.btn-raised:not(.btn-link):active{-webkit-box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.btn.btn-raised:not(.btn-link):focus:not(:active),.input-group-btn .btn.btn-raised:not(.btn-link):focus:not(:active){-webkit-box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.btn.btn-fab,.input-group-btn .btn.btn-fab{border-radius:50%;font-size:24px;height:56px;margin:auto;min-width:56px;width:56px;padding:0;overflow:hidden;-webkit-box-shadow:0 1px 1.5px 0 rgba(0,0,0,.12),0 1px 1px 0 rgba(0,0,0,.24);box-shadow:0 1px 1.5px 0 rgba(0,0,0,.12),0 1px 1px 0 rgba(0,0,0,.24);position:relative;line-height:normal}.btn.btn-fab .ripple-container,.input-group-btn .btn.btn-fab .ripple-container{border-radius:50%}.btn-group-sm .btn.btn-fab,.btn-group-sm .input-group-btn .btn.btn-fab,.btn.btn-fab.btn-fab-mini,.input-group-btn .btn.btn-fab.btn-fab-mini{height:40px;min-width:40px;width:40px}.btn-group-sm .btn.btn-fab.material-icons,.btn-group-sm .input-group-btn .btn.btn-fab.material-icons,.btn.btn-fab.btn-fab-mini.material-icons,.input-group-btn .btn.btn-fab.btn-fab-mini.material-icons{top:0;left:0}.btn.btn-fab i.material-icons,.input-group-btn .btn.btn-fab i.material-icons{position:absolute;top:50%;left:50%;-webkit-transform:translate(-12px,-12px);-ms-transform:translate(-12px,-12px);-o-transform:translate(-12px,-12px);transform:translate(-12px,-12px);line-height:24px;width:24px}.btn i.material-icons,.input-group-btn .btn i.material-icons{vertical-align:middle}.btn-group-lg .btn,.btn-group-lg .input-group-btn .btn,.btn.btn-lg,.input-group-btn .btn.btn-lg{font-size:16px}.btn-group-sm .btn,.btn-group-sm .input-group-btn .btn,.btn.btn-sm,.input-group-btn .btn.btn-sm{padding:5px 20px;font-size:12px}.btn-group-xs .btn,.btn-group-xs .input-group-btn .btn,.btn.btn-xs,.input-group-btn .btn.btn-xs{padding:4px 15px;font-size:10px}.btn-group-vertical.disabled,.btn-group-vertical:disabled,.btn-group-vertical[disabled][disabled],.btn-group.disabled,.btn-group:disabled,.btn-group[disabled][disabled],.btn.disabled,.btn:disabled,.btn[disabled][disabled],.input-group-btn .btn.disabled,.input-group-btn .btn:disabled,.input-group-btn .btn[disabled][disabled],fieldset[disabled][disabled] .btn,fieldset[disabled][disabled] .btn-group,fieldset[disabled][disabled] .btn-group-vertical,fieldset[disabled][disabled] .input-group-btn .btn{color:rgba(0,0,0,.26);background:0 0}.theme-dark .btn-group-vertical.disabled,.theme-dark .btn-group-vertical:disabled,.theme-dark .btn-group-vertical[disabled][disabled],.theme-dark .btn-group.disabled,.theme-dark .btn-group:disabled,.theme-dark .btn-group[disabled][disabled],.theme-dark .btn.disabled,.theme-dark .btn:disabled,.theme-dark .btn[disabled][disabled],.theme-dark .input-group-btn .btn.disabled,.theme-dark .input-group-btn .btn:disabled,.theme-dark .input-group-btn .btn[disabled][disabled],.theme-dark fieldset[disabled][disabled] .btn,.theme-dark fieldset[disabled][disabled] .btn-group,.theme-dark fieldset[disabled][disabled] .btn-group-vertical,.theme-dark fieldset[disabled][disabled] .input-group-btn .btn{color:rgba(255,255,255,.3)}.btn-group-vertical.disabled.btn-group-raised,.btn-group-vertical.disabled.btn-group-raised.active,.btn-group-vertical.disabled.btn-group-raised:active,.btn-group-vertical.disabled.btn-group-raised:focus:not(:active),.btn-group-vertical.disabled.btn-raised,.btn-group-vertical.disabled.btn-raised.active,.btn-group-vertical.disabled.btn-raised:active,.btn-group-vertical.disabled.btn-raised:focus:not(:active),.btn-group-vertical:disabled.btn-group-raised,.btn-group-vertical:disabled.btn-group-raised.active,.btn-group-vertical:disabled.btn-group-raised:active,.btn-group-vertical:disabled.btn-group-raised:focus:not(:active),.btn-group-vertical:disabled.btn-raised,.btn-group-vertical:disabled.btn-raised.active,.btn-group-vertical:disabled.btn-raised:active,.btn-group-vertical:disabled.btn-raised:focus:not(:active),.btn-group-vertical[disabled][disabled].btn-group-raised,.btn-group-vertical[disabled][disabled].btn-group-raised.active,.btn-group-vertical[disabled][disabled].btn-group-raised:active,.btn-group-vertical[disabled][disabled].btn-group-raised:focus:not(:active),.btn-group-vertical[disabled][disabled].btn-raised,.btn-group-vertical[disabled][disabled].btn-raised.active,.btn-group-vertical[disabled][disabled].btn-raised:active,.btn-group-vertical[disabled][disabled].btn-raised:focus:not(:active),.btn-group.disabled.btn-group-raised,.btn-group.disabled.btn-group-raised.active,.btn-group.disabled.btn-group-raised:active,.btn-group.disabled.btn-group-raised:focus:not(:active),.btn-group.disabled.btn-raised,.btn-group.disabled.btn-raised.active,.btn-group.disabled.btn-raised:active,.btn-group.disabled.btn-raised:focus:not(:active),.btn-group:disabled.btn-group-raised,.btn-group:disabled.btn-group-raised.active,.btn-group:disabled.btn-group-raised:active,.btn-group:disabled.btn-group-raised:focus:not(:active),.btn-group:disabled.btn-raised,.btn-group:disabled.btn-raised.active,.btn-group:disabled.btn-raised:active,.btn-group:disabled.btn-raised:focus:not(:active),.btn-group[disabled][disabled].btn-group-raised,.btn-group[disabled][disabled].btn-group-raised.active,.btn-group[disabled][disabled].btn-group-raised:active,.btn-group[disabled][disabled].btn-group-raised:focus:not(:active),.btn-group[disabled][disabled].btn-raised,.btn-group[disabled][disabled].btn-raised.active,.btn-group[disabled][disabled].btn-raised:active,.btn-group[disabled][disabled].btn-raised:focus:not(:active),.btn.disabled.btn-group-raised,.btn.disabled.btn-group-raised.active,.btn.disabled.btn-group-raised:active,.btn.disabled.btn-group-raised:focus:not(:active),.btn.disabled.btn-raised,.btn.disabled.btn-raised.active,.btn.disabled.btn-raised:active,.btn.disabled.btn-raised:focus:not(:active),.btn:disabled.btn-group-raised,.btn:disabled.btn-group-raised.active,.btn:disabled.btn-group-raised:active,.btn:disabled.btn-group-raised:focus:not(:active),.btn:disabled.btn-raised,.btn:disabled.btn-raised.active,.btn:disabled.btn-raised:active,.btn:disabled.btn-raised:focus:not(:active),.btn[disabled][disabled].btn-group-raised,.btn[disabled][disabled].btn-group-raised.active,.btn[disabled][disabled].btn-group-raised:active,.btn[disabled][disabled].btn-group-raised:focus:not(:active),.btn[disabled][disabled].btn-raised,.btn[disabled][disabled].btn-raised.active,.btn[disabled][disabled].btn-raised:active,.btn[disabled][disabled].btn-raised:focus:not(:active),.input-group-btn .btn.disabled.btn-group-raised,.input-group-btn .btn.disabled.btn-group-raised.active,.input-group-btn .btn.disabled.btn-group-raised:active,.input-group-btn .btn.disabled.btn-group-raised:focus:not(:active),.input-group-btn .btn.disabled.btn-raised,.input-group-btn .btn.disabled.btn-raised.active,.input-group-btn .btn.disabled.btn-raised:active,.input-group-btn .btn.disabled.btn-raised:focus:not(:active),.input-group-btn .btn:disabled.btn-group-raised,.input-group-btn .btn:disabled.btn-group-raised.active,.input-group-btn .btn:disabled.btn-group-raised:active,.input-group-btn .btn:disabled.btn-group-raised:focus:not(:active),.input-group-btn .btn:disabled.btn-raised,.input-group-btn .btn:disabled.btn-raised.active,.input-group-btn .btn:disabled.btn-raised:active,.input-group-btn .btn:disabled.btn-raised:focus:not(:active),.input-group-btn .btn[disabled][disabled].btn-group-raised,.input-group-btn .btn[disabled][disabled].btn-group-raised.active,.input-group-btn .btn[disabled][disabled].btn-group-raised:active,.input-group-btn .btn[disabled][disabled].btn-group-raised:focus:not(:active),.input-group-btn .btn[disabled][disabled].btn-raised,.input-group-btn .btn[disabled][disabled].btn-raised.active,.input-group-btn .btn[disabled][disabled].btn-raised:active,.input-group-btn .btn[disabled][disabled].btn-raised:focus:not(:active),fieldset[disabled][disabled] .btn-group-vertical.btn-group-raised,fieldset[disabled][disabled] .btn-group-vertical.btn-group-raised.active,fieldset[disabled][disabled] .btn-group-vertical.btn-group-raised:active,fieldset[disabled][disabled] .btn-group-vertical.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .btn-group-vertical.btn-raised,fieldset[disabled][disabled] .btn-group-vertical.btn-raised.active,fieldset[disabled][disabled] .btn-group-vertical.btn-raised:active,fieldset[disabled][disabled] .btn-group-vertical.btn-raised:focus:not(:active),fieldset[disabled][disabled] .btn-group.btn-group-raised,fieldset[disabled][disabled] .btn-group.btn-group-raised.active,fieldset[disabled][disabled] .btn-group.btn-group-raised:active,fieldset[disabled][disabled] .btn-group.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .btn-group.btn-raised,fieldset[disabled][disabled] .btn-group.btn-raised.active,fieldset[disabled][disabled] .btn-group.btn-raised:active,fieldset[disabled][disabled] .btn-group.btn-raised:focus:not(:active),fieldset[disabled][disabled] .btn.btn-group-raised,fieldset[disabled][disabled] .btn.btn-group-raised.active,fieldset[disabled][disabled] .btn.btn-group-raised:active,fieldset[disabled][disabled] .btn.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .btn.btn-raised,fieldset[disabled][disabled] .btn.btn-raised.active,fieldset[disabled][disabled] .btn.btn-raised:active,fieldset[disabled][disabled] .btn.btn-raised:focus:not(:active),fieldset[disabled][disabled] .input-group-btn .btn.btn-group-raised,fieldset[disabled][disabled] .input-group-btn .btn.btn-group-raised.active,fieldset[disabled][disabled] .input-group-btn .btn.btn-group-raised:active,fieldset[disabled][disabled] .input-group-btn .btn.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .input-group-btn .btn.btn-raised,fieldset[disabled][disabled] .input-group-btn .btn.btn-raised.active,fieldset[disabled][disabled] .input-group-btn .btn.btn-raised:active,fieldset[disabled][disabled] .input-group-btn .btn.btn-raised:focus:not(:active){-webkit-box-shadow:none;box-shadow:none}.btn-group,.btn-group-vertical{position:relative;margin:10px 1px}.btn-group-vertical.open>.dropdown-toggle.btn,.btn-group-vertical.open>.dropdown-toggle.btn.btn-default,.btn-group.open>.dropdown-toggle.btn,.btn-group.open>.dropdown-toggle.btn.btn-default{background-color:transparent}.btn-group-vertical.open>.dropdown-toggle.btn.btn-inverse,.btn-group.open>.dropdown-toggle.btn.btn-inverse{background-color:#3f51b5}.btn-group-vertical.open>.dropdown-toggle.btn.btn-primary,.btn-group.open>.dropdown-toggle.btn.btn-primary{background-color:#009688}.btn-group-vertical.open>.dropdown-toggle.btn.btn-success,.btn-group.open>.dropdown-toggle.btn.btn-success{background-color:#4caf50}.btn-group-vertical.open>.dropdown-toggle.btn.btn-info,.btn-group.open>.dropdown-toggle.btn.btn-info{background-color:#03a9f4}.btn-group-vertical.open>.dropdown-toggle.btn.btn-warning,.btn-group.open>.dropdown-toggle.btn.btn-warning{background-color:#ff5722}.btn-group-vertical.open>.dropdown-toggle.btn.btn-danger,.btn-group.open>.dropdown-toggle.btn.btn-danger{background-color:#f44336}.btn-group .dropdown-menu,.btn-group-vertical .dropdown-menu{border-radius:0 0 2px 2px}.btn-group-vertical.btn-group-raised,.btn-group.btn-group-raised{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn-group .btn,.btn-group .btn+.btn,.btn-group .btn-group,.btn-group .btn:active,.btn-group-vertical .btn,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn-group,.btn-group-vertical .btn:active{margin:0}.checkbox label{cursor:pointer;padding-left:0;color:rgba(0,0,0,.54)}.checkbox input[type=checkbox]{opacity:0;position:absolute;margin:0;z-index:-1;width:0;height:0;overflow:hidden;left:0;pointer-events:none}.checkbox .checkbox-material{vertical-align:middle;position:relative;top:3px}.checkbox .checkbox-material:before{display:block;position:absolute;left:0;content:"";background-color:rgba(0,0,0,.84);height:20px;width:20px;border-radius:100%;z-index:1;opacity:0;margin:0;-webkit-transform:scale3d(2.3,2.3,1);transform:scale3d(2.3,2.3,1)}.checkbox .checkbox-material .check{position:relative;display:inline-block;width:20px;height:20px;border:2px solid rgba(0,0,0,.54);overflow:hidden;z-index:1}.checkbox .checkbox-material .check:before{position:absolute;content:"";-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);display:block;margin-top:-4px;margin-left:6px;width:0;height:0;-webkit-box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0 inset;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0 inset;-webkit-animation:checkbox-off .3s forwards;-o-animation:checkbox-off .3s forwards;animation:checkbox-off .3s forwards}.checkbox input[type=checkbox]:focus+.checkbox-material .check:after{opacity:.2}.checkbox input[type=checkbox]:checked+.checkbox-material .check{color:#4caf50;border-color:#4caf50}.checkbox input[type=checkbox]:checked+.checkbox-material .check:before{color:#4caf50;-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px;-webkit-animation:checkbox-on .3s forwards;-o-animation:checkbox-on .3s forwards;animation:checkbox-on .3s forwards}.checkbox input[type=checkbox]:checked+.checkbox-material:before{-webkit-animation:rippleOn .5s;-o-animation:rippleOn .5s;animation:rippleOn .5s}.checkbox input[type=checkbox]:checked+.checkbox-material .check:after{-webkit-animation:rippleOn .5s forwards;-o-animation:rippleOn .5s forwards;animation:rippleOn .5s forwards}.checkbox input[type=checkbox]:not(:checked)+.checkbox-material:before{-webkit-animation:rippleOff .5s;-o-animation:rippleOff .5s;animation:rippleOff .5s}.checkbox input[type=checkbox]:not(:checked)+.checkbox-material .check:after{-webkit-animation:rippleOff .5s forwards;-o-animation:rippleOff .5s forwards;animation:rippleOff .5s forwards}.checkbox input[type=checkbox][disabled]+.circle,.checkbox input[type=checkbox][disabled]:not(:checked)~.checkbox-material .check,.checkbox input[type=checkbox][disabled]:not(:checked)~.checkbox-material .check:before,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox input[type=checkbox]{opacity:.5}.checkbox input[type=checkbox][disabled]+.checkbox-material .check:after{background-color:rgba(0,0,0,.87);-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}@-webkit-keyframes checkbox-on{0%{-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px}50%{-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px 2px 0 11px;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px 2px 0 11px}100%{-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px}}@-o-keyframes checkbox-on{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px}50%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px 2px 0 11px}100%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px}}@keyframes checkbox-on{0%{-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px}50%{-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px 2px 0 11px;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px 2px 0 11px}100%{-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px}}@-webkit-keyframes checkbox-off{0%{-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,0 0 0 0 inset;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,0 0 0 0 inset}25%{-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,0 0 0 0 inset;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,0 0 0 0 inset}50%{-webkit-transform:rotate(45deg);transform:rotate(45deg);margin-top:-4px;margin-left:6px;width:0;height:0;-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px,0 0 0 0 inset;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px,0 0 0 0 inset}51%{-webkit-transform:rotate(0);transform:rotate(0);margin-top:-2px;margin-left:-2px;width:20px;height:20px;-webkit-box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 10px inset;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 10px inset}100%{-webkit-transform:rotate(0);transform:rotate(0);margin-top:-2px;margin-left:-2px;width:20px;height:20px;-webkit-box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0 inset;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0 inset}}@-o-keyframes checkbox-off{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,0 0 0 0 inset}25%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,0 0 0 0 inset}50%{-o-transform:rotate(45deg);transform:rotate(45deg);margin-top:-4px;margin-left:6px;width:0;height:0;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px,0 0 0 0 inset}51%{-o-transform:rotate(0);transform:rotate(0);margin-top:-2px;margin-left:-2px;width:20px;height:20px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 10px inset}100%{-o-transform:rotate(0);transform:rotate(0);margin-top:-2px;margin-left:-2px;width:20px;height:20px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0 inset}}@keyframes checkbox-off{0%{-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,0 0 0 0 inset;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,0 0 0 0 inset}25%{-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,0 0 0 0 inset;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,0 0 0 0 inset}50%{-webkit-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);margin-top:-4px;margin-left:6px;width:0;height:0;-webkit-box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px,0 0 0 0 inset;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px,0 0 0 0 inset}51%{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0);margin-top:-2px;margin-left:-2px;width:20px;height:20px;-webkit-box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 10px inset;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 10px inset}100%{-webkit-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0);margin-top:-2px;margin-left:-2px;width:20px;height:20px;-webkit-box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0 inset;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0 inset}}@-webkit-keyframes rippleOn{0%{opacity:0}50%{opacity:.2}100%{opacity:0}}@-o-keyframes rippleOn{0%{opacity:0}50%{opacity:.2}100%{opacity:0}}@keyframes rippleOn{0%{opacity:0}50%{opacity:.2}100%{opacity:0}}@-webkit-keyframes rippleOff{0%{opacity:0}50%{opacity:.2}100%{opacity:0}}@-o-keyframes rippleOff{0%{opacity:0}50%{opacity:.2}100%{opacity:0}}@keyframes rippleOff{0%{opacity:0}50%{opacity:.2}100%{opacity:0}}.togglebutton{vertical-align:middle}.togglebutton,.togglebutton .toggle,.togglebutton input,.togglebutton label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.togglebutton label{cursor:pointer;color:rgba(0,0,0,.54)}.togglebutton label input[type=checkbox]{opacity:0;width:0;height:0}.togglebutton label .toggle,.togglebutton label input[type=checkbox][disabled]+.toggle{content:"";display:inline-block;width:30px;height:15px;background-color:rgba(80,80,80,.7);border-radius:15px;margin-right:15px;-webkit-transition:background .3s ease;-o-transition:background .3s ease;transition:background .3s ease;vertical-align:middle}.togglebutton label .toggle:after{content:"";display:inline-block;width:20px;height:20px;background-color:#F1F1F1;border-radius:20px;position:relative;-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.4);box-shadow:0 1px 3px 1px rgba(0,0,0,.4);left:-5px;top:-2px;-webkit-transition:left .3s ease,background .3s ease,-webkit-box-shadow .1s ease;-o-transition:left .3s ease,background .3s ease,box-shadow .1s ease;transition:left .3s ease,background .3s ease,box-shadow .1s ease}.togglebutton label input[type=checkbox][disabled]+.toggle:after,.togglebutton label input[type=checkbox][disabled]:checked+.toggle:after{background-color:#BDBDBD}.togglebutton label input[type=checkbox]+.toggle:active:after,.togglebutton label input[type=checkbox][disabled]+.toggle:active:after{-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.1);box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.1)}.togglebutton label input[type=checkbox]:checked+.toggle:after{left:15px}.togglebutton label label input[type=checkbox]:checked+.toggle{background-color:rgba(0,150,136,.5)}.togglebutton label label input[type=checkbox]:checked+.toggle:after{background-color:#009688}.togglebutton label label input[type=checkbox]:checked+.toggle:active:after{-webkit-box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,150,136,.1);box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,150,136,.1)}.radio label{cursor:pointer;padding-left:45px;position:relative;color:rgba(0,0,0,.54)}.radio label span{display:block;position:absolute;left:10px;top:2px;-webkit-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s}.radio label .circle{border:2px solid rgba(0,0,0,.54);height:15px;width:15px;border-radius:100%}.radio label .check{height:15px;width:15px;border-radius:100%;background-color:#009688;-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}.radio label .check:after{display:block;position:absolute;content:"";background-color:rgba(0,0,0,.87);left:-18px;top:-18px;height:50px;width:50px;border-radius:100%;z-index:1;opacity:0;margin:0;-webkit-transform:scale3d(1.5,1.5,1);transform:scale3d(1.5,1.5,1)}.radio label input[type=radio]:not(:checked)~.check:after{-webkit-animation:rippleOff .5s;-o-animation:rippleOff .5s;animation:rippleOff .5s}.radio label input[type=radio]:checked~.check:after{-webkit-animation:rippleOn .5s;-o-animation:rippleOn .5s;animation:rippleOn .5s}.radio input[type=radio]{opacity:0;height:0;width:0;overflow:hidden}.radio input[type=radio]:checked~.check,.radio input[type=radio]:checked~.circle{opacity:1}.radio input[type=radio]:checked~.check{background-color:#009688}.radio input[type=radio]:checked~.circle{border-color:#009688}.radio input[type=radio]:checked~.check{-webkit-transform:scale3d(.55,.55,1);transform:scale3d(.55,.55,1)}.radio input[type=radio][disabled]~.check,.radio input[type=radio][disabled]~.circle{opacity:.26}.radio input[type=radio][disabled]~.check{background-color:#000}.radio input[type=radio][disabled]~.circle{border-color:#000}.theme-dark .radio input[type=radio][disabled]~.check,.theme-dark .radio input[type=radio][disabled]~.circle{opacity:.3}.theme-dark .radio input[type=radio][disabled]~.check{background-color:#fff}.theme-dark .radio input[type=radio][disabled]~.circle{border-color:#fff}@keyframes rippleOn{0%{opacity:0}50%{opacity:.2}100%{opacity:0}}@keyframes rippleOff{0%{opacity:0}50%{opacity:.2}100%{opacity:0}}legend{margin-bottom:22px;font-size:24px}output{padding-top:8px;font-size:16px;line-height:1.42857143}.form-control{height:38px;padding:7px 0;font-size:16px;line-height:1.42857143}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:38px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:24px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:44px}}.checkbox label,.radio label{min-height:22px}.form-control-static{padding-top:8px;padding-bottom:8px;min-height:38px}.input-sm .input-sm{height:24px;padding:3px 0;font-size:11px;line-height:1.5;border-radius:0}.input-sm select.input-sm{height:24px;line-height:24px}.input-sm select[multiple].input-sm,.input-sm textarea.input-sm{height:auto}.form-group-sm .form-control{height:24px;padding:3px 0;font-size:11px;line-height:1.5}.form-group-sm select.form-control{height:24px;line-height:24px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:24px;min-height:33px;padding:4px 0;font-size:11px;line-height:1.5}.input-lg .input-lg{height:44px;padding:9px 0;font-size:18px;line-height:1.3333333;border-radius:0}.input-lg select.input-lg{height:44px;line-height:44px}.input-lg select[multiple].input-lg,.input-lg textarea.input-lg{height:auto}.form-group-lg .form-control{height:44px;padding:9px 0;font-size:18px;line-height:1.3333333}.form-group-lg select.form-control{height:44px;line-height:44px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:44px;min-height:40px;padding:10px 0;font-size:18px;line-height:1.3333333}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:8px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:30px}@media (min-width:768px){.form-horizontal .control-label{padding-top:8px}}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:13px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:4px;font-size:11px}}.label{border-radius:1px}.label,.label.label-default{background-color:#9e9e9e}.label.label-inverse{background-color:#3f51b5}.label.label-primary{background-color:#009688}.label.label-success{background-color:#4caf50}.label.label-info{background-color:#03a9f4}.label.label-warning{background-color:#ff5722}.label.label-danger{background-color:#f44336}.form-control,.form-group .form-control{border:0;background-image:-webkit-gradient(linear,left top,left bottom,from(#009688),to(#009688)),-webkit-gradient(linear,left top,left bottom,from(#D2D2D2),to(#D2D2D2));background-image:-webkit-linear-gradient(#009688,#009688),-webkit-linear-gradient(#D2D2D2,#D2D2D2);background-image:-o-linear-gradient(#009688,#009688),-o-linear-gradient(#D2D2D2,#D2D2D2);background-image:linear-gradient(#009688,#009688),linear-gradient(#D2D2D2,#D2D2D2);-webkit-background-size:0 2px,100% 1px;background-size:0 2px,100% 1px;background-repeat:no-repeat;background-position:center bottom,center -webkit-calc(100% - 1px);background-position:center bottom,center calc(100% - 1px);background-color:rgba(0,0,0,0);-webkit-transition:background 0s ease-out;-o-transition:background 0s ease-out;transition:background 0s ease-out;float:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.form-control::-moz-placeholder,.form-group .form-control::-moz-placeholder{color:#BDBDBD;font-weight:400}.form-control:-ms-input-placeholder,.form-group .form-control:-ms-input-placeholder{color:#BDBDBD;font-weight:400}.form-control::-webkit-input-placeholder,.form-group .form-control::-webkit-input-placeholder{color:#BDBDBD;font-weight:400}.form-control[disabled],.form-control[readonly],.form-group .form-control[disabled],.form-group .form-control[readonly],fieldset[disabled] .form-control,fieldset[disabled] .form-group .form-control{background-color:rgba(0,0,0,0)}.form-control[disabled],.form-group .form-control[disabled],fieldset[disabled] .form-control,fieldset[disabled] .form-group .form-control{background-image:none;border-bottom:1px dotted #D2D2D2}.form-group{position:relative}.form-group.label-floating label.control-label,.form-group.label-placeholder label.control-label,.form-group.label-static label.control-label{position:absolute;pointer-events:none;-webkit-transition:.3s ease all;-o-transition:.3s ease all;transition:.3s ease all}.form-group.label-floating label.control-label{will-change:left,top,contents}.form-group.label-placeholder:not(.is-empty) label.control-label{display:none}.form-group .help-block{position:absolute;display:none}.form-group.is-focused .form-control{outline:0;background-image:-webkit-gradient(linear,left top,left bottom,from(#009688),to(#009688)),-webkit-gradient(linear,left top,left bottom,from(#D2D2D2),to(#D2D2D2));background-image:-webkit-linear-gradient(#009688,#009688),-webkit-linear-gradient(#D2D2D2,#D2D2D2);background-image:-o-linear-gradient(#009688,#009688),-o-linear-gradient(#D2D2D2,#D2D2D2);background-image:linear-gradient(#009688,#009688),linear-gradient(#D2D2D2,#D2D2D2);-webkit-background-size:100% 2px,100% 1px;background-size:100% 2px,100% 1px;-webkit-box-shadow:none;box-shadow:none;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.form-group.is-focused .form-control .material-input:after{background-color:#009688}.form-group.is-focused label,.form-group.is-focused label.control-label{color:#009688}.form-group.is-focused.label-placeholder label,.form-group.is-focused.label-placeholder label.control-label{color:#BDBDBD}.form-group.is-focused .help-block{display:block}.form-group.has-warning .form-control{-webkit-box-shadow:none;box-shadow:none}.form-group.has-warning.is-focused .form-control{background-image:-webkit-gradient(linear,left top,left bottom,from(#ff5722),to(#ff5722)),-webkit-gradient(linear,left top,left bottom,from(#D2D2D2),to(#D2D2D2));background-image:-webkit-linear-gradient(#ff5722,#ff5722),-webkit-linear-gradient(#D2D2D2,#D2D2D2);background-image:-o-linear-gradient(#ff5722,#ff5722),-o-linear-gradient(#D2D2D2,#D2D2D2);background-image:linear-gradient(#ff5722,#ff5722),linear-gradient(#D2D2D2,#D2D2D2)}.form-group.has-warning .help-block,.form-group.has-warning label.control-label{color:#ff5722}.form-group.has-error .form-control{-webkit-box-shadow:none;box-shadow:none}.form-group.has-error.is-focused .form-control{background-image:-webkit-gradient(linear,left top,left bottom,from(#f44336),to(#f44336)),-webkit-gradient(linear,left top,left bottom,from(#D2D2D2),to(#D2D2D2));background-image:-webkit-linear-gradient(#f44336,#f44336),-webkit-linear-gradient(#D2D2D2,#D2D2D2);background-image:-o-linear-gradient(#f44336,#f44336),-o-linear-gradient(#D2D2D2,#D2D2D2);background-image:linear-gradient(#f44336,#f44336),linear-gradient(#D2D2D2,#D2D2D2)}.form-group.has-error .help-block,.form-group.has-error label.control-label{color:#f44336}.form-group.has-success .form-control{-webkit-box-shadow:none;box-shadow:none}.form-group.has-success.is-focused .form-control{background-image:-webkit-gradient(linear,left top,left bottom,from(#4caf50),to(#4caf50)),-webkit-gradient(linear,left top,left bottom,from(#D2D2D2),to(#D2D2D2));background-image:-webkit-linear-gradient(#4caf50,#4caf50),-webkit-linear-gradient(#D2D2D2,#D2D2D2);background-image:-o-linear-gradient(#4caf50,#4caf50),-o-linear-gradient(#D2D2D2,#D2D2D2);background-image:linear-gradient(#4caf50,#4caf50),linear-gradient(#D2D2D2,#D2D2D2)}.form-group.has-success .help-block,.form-group.has-success label.control-label{color:#4caf50}.form-group.has-info .form-control{-webkit-box-shadow:none;box-shadow:none}.form-group.has-info.is-focused .form-control{background-image:-webkit-gradient(linear,left top,left bottom,from(#03a9f4),to(#03a9f4)),-webkit-gradient(linear,left top,left bottom,from(#D2D2D2),to(#D2D2D2));background-image:-webkit-linear-gradient(#03a9f4,#03a9f4),-webkit-linear-gradient(#D2D2D2,#D2D2D2);background-image:-o-linear-gradient(#03a9f4,#03a9f4),-o-linear-gradient(#D2D2D2,#D2D2D2);background-image:linear-gradient(#03a9f4,#03a9f4),linear-gradient(#D2D2D2,#D2D2D2)}.form-group.has-info .help-block,.form-group.has-info label.control-label{color:#03a9f4}.form-group textarea{resize:none}.form-group textarea~.form-control-highlight{margin-top:-11px}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group select~.material-input:after{display:none}.form-control{margin-bottom:7px}.form-control::-moz-placeholder{font-size:16px;line-height:1.42857143;color:#BDBDBD;font-weight:400}.form-control:-ms-input-placeholder{font-size:16px;line-height:1.42857143;color:#BDBDBD;font-weight:400}.form-control::-webkit-input-placeholder{font-size:16px;line-height:1.42857143;color:#BDBDBD;font-weight:400}.checkbox label,.radio label,label{font-size:16px;line-height:1.42857143;color:#BDBDBD;font-weight:400}label.control-label{font-size:12px;line-height:1.07142857;color:#BDBDBD;font-weight:400;margin:16px 0 0 0}.help-block{margin-top:0;font-size:12px}.form-group{padding-bottom:7px;margin:28px 0 0 0}.form-group .form-control{margin-bottom:7px}.form-group .form-control::-moz-placeholder{font-size:16px;line-height:1.42857143;color:#BDBDBD;font-weight:400}.form-group .form-control:-ms-input-placeholder{font-size:16px;line-height:1.42857143;color:#BDBDBD;font-weight:400}.form-group .form-control::-webkit-input-placeholder{font-size:16px;line-height:1.42857143;color:#BDBDBD;font-weight:400}.form-group .checkbox label,.form-group .radio label,.form-group label{font-size:16px;line-height:1.42857143;color:#BDBDBD;font-weight:400}.form-group label.control-label{font-size:12px;line-height:1.07142857;color:#BDBDBD;font-weight:400;margin:16px 0 0 0}.form-group .help-block{margin-top:0;font-size:12px}.form-group.label-floating label.control-label,.form-group.label-placeholder label.control-label{top:-7px;font-size:16px;line-height:1.42857143}.form-group.label-floating.is-focused label.control-label,.form-group.label-floating:not(.is-empty) label.control-label,.form-group.label-static label.control-label{top:-30px;left:0;font-size:12px;line-height:1.07142857}.form-group.label-floating input.form-control:-webkit-autofill~label.control-label label.control-label{top:-30px;left:0;font-size:12px;line-height:1.07142857}.form-group.form-group-sm{padding-bottom:3px;margin:21px 0 0 0}.form-group.form-group-sm .form-control{margin-bottom:3px}.form-group.form-group-sm .form-control::-moz-placeholder{font-size:11px;line-height:1.5;color:#BDBDBD;font-weight:400}.form-group.form-group-sm .form-control:-ms-input-placeholder{font-size:11px;line-height:1.5;color:#BDBDBD;font-weight:400}.form-group.form-group-sm .form-control::-webkit-input-placeholder{font-size:11px;line-height:1.5;color:#BDBDBD;font-weight:400}.form-group.form-group-sm .checkbox label,.form-group.form-group-sm .radio label,.form-group.form-group-sm label{font-size:11px;line-height:1.5;color:#BDBDBD;font-weight:400}.form-group.form-group-sm label.control-label{font-size:9px;line-height:1.125;color:#BDBDBD;font-weight:400;margin:16px 0 0 0}.form-group.form-group-sm .help-block{margin-top:0;font-size:9px}.form-group.form-group-sm.label-floating label.control-label,.form-group.form-group-sm.label-placeholder label.control-label{top:-11px;font-size:11px;line-height:1.5}.form-group.form-group-sm.label-floating.is-focused label.control-label,.form-group.form-group-sm.label-floating:not(.is-empty) label.control-label,.form-group.form-group-sm.label-static label.control-label{top:-25px;left:0;font-size:9px;line-height:1.125}.form-group.form-group-sm.label-floating input.form-control:-webkit-autofill~label.control-label label.control-label{top:-25px;left:0;font-size:9px;line-height:1.125}.form-group.form-group-lg{padding-bottom:9px;margin:30px 0 0 0}.form-group.form-group-lg .form-control{margin-bottom:9px}.form-group.form-group-lg .form-control::-moz-placeholder{font-size:18px;line-height:1.3333333;color:#BDBDBD;font-weight:400}.form-group.form-group-lg .form-control:-ms-input-placeholder{font-size:18px;line-height:1.3333333;color:#BDBDBD;font-weight:400}.form-group.form-group-lg .form-control::-webkit-input-placeholder{font-size:18px;line-height:1.3333333;color:#BDBDBD;font-weight:400}.form-group.form-group-lg .checkbox label,.form-group.form-group-lg .radio label,.form-group.form-group-lg label{font-size:18px;line-height:1.3333333;color:#BDBDBD;font-weight:400}.form-group.form-group-lg label.control-label{font-size:14px;line-height:.99999998;color:#BDBDBD;font-weight:400;margin:16px 0 0 0}.form-group.form-group-lg .help-block{margin-top:0;font-size:14px}.form-group.form-group-lg.label-floating label.control-label,.form-group.form-group-lg.label-placeholder label.control-label{top:-5px;font-size:18px;line-height:1.3333333}.form-group.form-group-lg.label-floating.is-focused label.control-label,.form-group.form-group-lg.label-floating:not(.is-empty) label.control-label,.form-group.form-group-lg.label-static label.control-label{top:-32px;left:0;font-size:14px;line-height:.99999998}.form-group.form-group-lg.label-floating input.form-control:-webkit-autofill~label.control-label label.control-label{top:-32px;left:0;font-size:14px;line-height:.99999998}select.form-control{border:0;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.form-group.is-focused select.form-control{-webkit-box-shadow:none;box-shadow:none;border-color:#D2D2D2}.form-group.is-focused select.form-control[multiple],select.form-control[multiple]{height:85px}.input-group-btn .btn{margin:0 0 7px 0}.form-group.form-group-sm .input-group-btn .btn{margin:0 0 3px 0}.form-group.form-group-lg .input-group-btn .btn{margin:0 0 9px 0}.input-group .input-group-btn{padding:0 12px}.input-group .input-group-addon{border:0;background:0 0}.form-group input[type=file]{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:0}.form-horizontal .radio{margin-bottom:10px}.form-horizontal label{text-align:right}.form-horizontal label.control-label{margin:0}legend{border-bottom:0}.list-group{border-radius:0}.list-group .list-group-item{background-color:transparent;overflow:hidden;border:0;border-radius:0;padding:0 16px}.list-group .list-group-item.baseline{border-bottom:1px solid #cecece}.list-group .list-group-item.baseline:last-child{border-bottom:none}.list-group .list-group-item .row-action-primary,.list-group .list-group-item .row-picture{display:inline-block;padding-right:16px}.list-group .list-group-item .row-action-primary i,.list-group .list-group-item .row-action-primary img,.list-group .list-group-item .row-action-primary label,.list-group .list-group-item .row-picture i,.list-group .list-group-item .row-picture img,.list-group .list-group-item .row-picture label{display:block;width:56px;height:56px}.list-group .list-group-item .row-action-primary img,.list-group .list-group-item .row-picture img{background:rgba(0,0,0,.1);padding:1px}.list-group .list-group-item .row-action-primary img.circle,.list-group .list-group-item .row-picture img.circle{border-radius:100%}.list-group .list-group-item .row-action-primary i,.list-group .list-group-item .row-picture i{background:rgba(0,0,0,.25);border-radius:100%;text-align:center;line-height:56px;font-size:20px;color:#fff}.list-group .list-group-item .row-action-primary label,.list-group .list-group-item .row-picture label{margin-left:7px;margin-right:-7px;margin-top:5px;margin-bottom:-5px}.list-group .list-group-item .row-action-primary label .checkbox-material,.list-group .list-group-item .row-picture label .checkbox-material{left:-10px}.list-group .list-group-item .row-content{display:inline-block;width:-webkit-calc(100% - 92px);width:calc(100% - 92px);min-height:66px}.list-group .list-group-item .row-content .action-secondary{position:absolute;right:16px;top:16px}.list-group .list-group-item .row-content .action-secondary i{font-size:20px;color:rgba(0,0,0,.25);cursor:pointer}.list-group .list-group-item .row-content .action-secondary~*{max-width:-webkit-calc(100% - 30px);max-width:calc(100% - 30px)}.list-group .list-group-item .row-content .least-content{position:absolute;right:16px;top:0;color:rgba(0,0,0,.54);font-size:14px}.list-group .list-group-item .list-group-item-heading{color:rgba(0,0,0,.77);font-size:20px;line-height:29px}.list-group .list-group-item.active:focus,.list-group .list-group-item.active:hover{background:rgba(0,0,0,.15);outline:10px solid rgba(0,0,0,.15)}.list-group .list-group-item.active .list-group-item-heading,.list-group .list-group-item.active .list-group-item-text{color:rgba(0,0,0,.87)}.list-group .list-group-separator{clear:both;overflow:hidden;margin-top:10px;margin-bottom:10px}.list-group .list-group-separator:before{content:"";width:-webkit-calc(100% - 90px);width:calc(100% - 90px);border-bottom:1px solid rgba(0,0,0,.1);float:right}.navbar{background-color:#009688;border:0;border-radius:0}.navbar .navbar-brand{position:relative;height:60px;line-height:30px;color:inherit}.navbar .navbar-brand:focus,.navbar .navbar-brand:hover{color:inherit;background-color:transparent}.navbar .navbar-text{color:inherit;margin-top:20px;margin-bottom:20px}.navbar .navbar-nav>li>a{color:inherit;padding-top:20px;padding-bottom:20px}.navbar .navbar-nav>li>a:focus,.navbar .navbar-nav>li>a:hover{color:inherit;background-color:transparent}.navbar .navbar-nav>.active>a,.navbar .navbar-nav>.active>a:focus,.navbar .navbar-nav>.active>a:hover{color:inherit;background-color:rgba(255,255,255,.1)}.navbar .navbar-nav>.disabled>a,.navbar .navbar-nav>.disabled>a:focus,.navbar .navbar-nav>.disabled>a:hover{color:inherit;background-color:transparent;opacity:.9}.navbar .navbar-toggle{border:0}.navbar .navbar-toggle:focus,.navbar .navbar-toggle:hover{background-color:transparent}.navbar .navbar-toggle .icon-bar{background-color:inherit;border:1px solid}.navbar .navbar-default .navbar-toggle,.navbar .navbar-inverse .navbar-toggle{border-color:transparent}.navbar .navbar-collapse,.navbar .navbar-form{border-color:rgba(0,0,0,.1)}.navbar .navbar-nav>.open>a,.navbar .navbar-nav>.open>a:focus,.navbar .navbar-nav>.open>a:hover{background-color:transparent;color:inherit}@media (max-width:767px){.navbar .navbar-nav .navbar-text{color:inherit;margin-top:15px;margin-bottom:15px}.navbar .navbar-nav .open .dropdown-menu>.dropdown-header{border:0;color:inherit}.navbar .navbar-nav .open .dropdown-menu .divider{border-bottom:1px solid;opacity:.08}.navbar .navbar-nav .open .dropdown-menu>li>a{color:inherit}.navbar .navbar-nav .open .dropdown-menu>li>a:focus,.navbar .navbar-nav .open .dropdown-menu>li>a:hover{color:inherit;background-color:transparent}.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:inherit;background-color:transparent}.navbar .navbar-nav .open .dropdown-menu>.disabled>a,.navbar .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:inherit;background-color:transparent}}.navbar .navbar-link{color:inherit}.navbar .navbar-link:hover{color:inherit}.navbar .btn-link{color:inherit}.navbar .btn-link:focus,.navbar .btn-link:hover{color:inherit}.navbar .btn-link[disabled]:focus,.navbar .btn-link[disabled]:hover,fieldset[disabled] .navbar .btn-link:focus,fieldset[disabled] .navbar .btn-link:hover{color:inherit}.navbar .navbar-form{margin-top:16px}.navbar .navbar-form .form-group{margin:0;padding:0}.navbar .navbar-form .form-group .material-input:before,.navbar .navbar-form .form-group.is-focused .material-input:after{background-color:inherit}.navbar .navbar-form .form-control,.navbar .navbar-form .form-group .form-control{border-color:inherit;color:inherit;padding:0;margin:0;height:28px;font-size:14px;line-height:1.42857143}.navbar,.navbar.navbar-default{background-color:#009688;color:rgba(255,255,255,.84)}.navbar .navbar-form .form-group input.form-control::-moz-placeholder,.navbar .navbar-form input.form-control::-moz-placeholder,.navbar.navbar-default .navbar-form .form-group input.form-control::-moz-placeholder,.navbar.navbar-default .navbar-form input.form-control::-moz-placeholder{color:rgba(255,255,255,.84)}.navbar .navbar-form .form-group input.form-control:-ms-input-placeholder,.navbar .navbar-form input.form-control:-ms-input-placeholder,.navbar.navbar-default .navbar-form .form-group input.form-control:-ms-input-placeholder,.navbar.navbar-default .navbar-form input.form-control:-ms-input-placeholder{color:rgba(255,255,255,.84)}.navbar .navbar-form .form-group input.form-control::-webkit-input-placeholder,.navbar .navbar-form input.form-control::-webkit-input-placeholder,.navbar.navbar-default .navbar-form .form-group input.form-control::-webkit-input-placeholder,.navbar.navbar-default .navbar-form input.form-control::-webkit-input-placeholder{color:rgba(255,255,255,.84)}.navbar .dropdown-menu,.navbar.navbar-default .dropdown-menu{border-radius:2px}.navbar .dropdown-menu li>a,.navbar.navbar-default .dropdown-menu li>a{font-size:16px;padding:13px 16px}.navbar .dropdown-menu li>a:focus,.navbar .dropdown-menu li>a:hover,.navbar.navbar-default .dropdown-menu li>a:focus,.navbar.navbar-default .dropdown-menu li>a:hover{color:#009688;background-color:#eee}.navbar .dropdown-menu .active>a,.navbar.navbar-default .dropdown-menu .active>a{background-color:#009688;color:rgba(255,255,255,.84)}.navbar .dropdown-menu .active>a:focus,.navbar .dropdown-menu .active>a:hover,.navbar.navbar-default .dropdown-menu .active>a:focus,.navbar.navbar-default .dropdown-menu .active>a:hover{color:rgba(255,255,255,.84)}.navbar.navbar-inverse{background-color:#3f51b5;color:#fff}.navbar.navbar-inverse .navbar-form .form-group input.form-control::-moz-placeholder,.navbar.navbar-inverse .navbar-form input.form-control::-moz-placeholder{color:#fff}.navbar.navbar-inverse .navbar-form .form-group input.form-control:-ms-input-placeholder,.navbar.navbar-inverse .navbar-form input.form-control:-ms-input-placeholder{color:#fff}.navbar.navbar-inverse .navbar-form .form-group input.form-control::-webkit-input-placeholder,.navbar.navbar-inverse .navbar-form input.form-control::-webkit-input-placeholder{color:#fff}.navbar.navbar-inverse .dropdown-menu{border-radius:2px}.navbar.navbar-inverse .dropdown-menu li>a{font-size:16px;padding:13px 16px}.navbar.navbar-inverse .dropdown-menu li>a:focus,.navbar.navbar-inverse .dropdown-menu li>a:hover{color:#3f51b5;background-color:#eee}.navbar.navbar-inverse .dropdown-menu .active>a{background-color:#3f51b5;color:#fff}.navbar.navbar-inverse .dropdown-menu .active>a:focus,.navbar.navbar-inverse .dropdown-menu .active>a:hover{color:#fff}.navbar.navbar-primary{background-color:#009688;color:rgba(255,255,255,.84)}.navbar.navbar-primary .navbar-form .form-group input.form-control::-moz-placeholder,.navbar.navbar-primary .navbar-form input.form-control::-moz-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-primary .navbar-form .form-group input.form-control:-ms-input-placeholder,.navbar.navbar-primary .navbar-form input.form-control:-ms-input-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-primary .navbar-form .form-group input.form-control::-webkit-input-placeholder,.navbar.navbar-primary .navbar-form input.form-control::-webkit-input-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-primary .dropdown-menu{border-radius:2px}.navbar.navbar-primary .dropdown-menu li>a{font-size:16px;padding:13px 16px}.navbar.navbar-primary .dropdown-menu li>a:focus,.navbar.navbar-primary .dropdown-menu li>a:hover{color:#009688;background-color:#eee}.navbar.navbar-primary .dropdown-menu .active>a{background-color:#009688;color:rgba(255,255,255,.84)}.navbar.navbar-primary .dropdown-menu .active>a:focus,.navbar.navbar-primary .dropdown-menu .active>a:hover{color:rgba(255,255,255,.84)}.navbar.navbar-success{background-color:#4caf50;color:rgba(255,255,255,.84)}.navbar.navbar-success .navbar-form .form-group input.form-control::-moz-placeholder,.navbar.navbar-success .navbar-form input.form-control::-moz-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-success .navbar-form .form-group input.form-control:-ms-input-placeholder,.navbar.navbar-success .navbar-form input.form-control:-ms-input-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-success .navbar-form .form-group input.form-control::-webkit-input-placeholder,.navbar.navbar-success .navbar-form input.form-control::-webkit-input-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-success .dropdown-menu{border-radius:2px}.navbar.navbar-success .dropdown-menu li>a{font-size:16px;padding:13px 16px}.navbar.navbar-success .dropdown-menu li>a:focus,.navbar.navbar-success .dropdown-menu li>a:hover{color:#4caf50;background-color:#eee}.navbar.navbar-success .dropdown-menu .active>a{background-color:#4caf50;color:rgba(255,255,255,.84)}.navbar.navbar-success .dropdown-menu .active>a:focus,.navbar.navbar-success .dropdown-menu .active>a:hover{color:rgba(255,255,255,.84)}.navbar.navbar-info{background-color:#03a9f4;color:rgba(255,255,255,.84)}.navbar.navbar-info .navbar-form .form-group input.form-control::-moz-placeholder,.navbar.navbar-info .navbar-form input.form-control::-moz-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-info .navbar-form .form-group input.form-control:-ms-input-placeholder,.navbar.navbar-info .navbar-form input.form-control:-ms-input-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-info .navbar-form .form-group input.form-control::-webkit-input-placeholder,.navbar.navbar-info .navbar-form input.form-control::-webkit-input-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-info .dropdown-menu{border-radius:2px}.navbar.navbar-info .dropdown-menu li>a{font-size:16px;padding:13px 16px}.navbar.navbar-info .dropdown-menu li>a:focus,.navbar.navbar-info .dropdown-menu li>a:hover{color:#03a9f4;background-color:#eee}.navbar.navbar-info .dropdown-menu .active>a{background-color:#03a9f4;color:rgba(255,255,255,.84)}.navbar.navbar-info .dropdown-menu .active>a:focus,.navbar.navbar-info .dropdown-menu .active>a:hover{color:rgba(255,255,255,.84)}.navbar.navbar-warning{background-color:#ff5722;color:rgba(255,255,255,.84)}.navbar.navbar-warning .navbar-form .form-group input.form-control::-moz-placeholder,.navbar.navbar-warning .navbar-form input.form-control::-moz-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-warning .navbar-form .form-group input.form-control:-ms-input-placeholder,.navbar.navbar-warning .navbar-form input.form-control:-ms-input-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-warning .navbar-form .form-group input.form-control::-webkit-input-placeholder,.navbar.navbar-warning .navbar-form input.form-control::-webkit-input-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-warning .dropdown-menu{border-radius:2px}.navbar.navbar-warning .dropdown-menu li>a{font-size:16px;padding:13px 16px}.navbar.navbar-warning .dropdown-menu li>a:focus,.navbar.navbar-warning .dropdown-menu li>a:hover{color:#ff5722;background-color:#eee}.navbar.navbar-warning .dropdown-menu .active>a{background-color:#ff5722;color:rgba(255,255,255,.84)}.navbar.navbar-warning .dropdown-menu .active>a:focus,.navbar.navbar-warning .dropdown-menu .active>a:hover{color:rgba(255,255,255,.84)}.navbar.navbar-danger{background-color:#f44336;color:rgba(255,255,255,.84)}.navbar.navbar-danger .navbar-form .form-group input.form-control::-moz-placeholder,.navbar.navbar-danger .navbar-form input.form-control::-moz-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-danger .navbar-form .form-group input.form-control:-ms-input-placeholder,.navbar.navbar-danger .navbar-form input.form-control:-ms-input-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-danger .navbar-form .form-group input.form-control::-webkit-input-placeholder,.navbar.navbar-danger .navbar-form input.form-control::-webkit-input-placeholder{color:rgba(255,255,255,.84)}.navbar.navbar-danger .dropdown-menu{border-radius:2px}.navbar.navbar-danger .dropdown-menu li>a{font-size:16px;padding:13px 16px}.navbar.navbar-danger .dropdown-menu li>a:focus,.navbar.navbar-danger .dropdown-menu li>a:hover{color:#f44336;background-color:#eee}.navbar.navbar-danger .dropdown-menu .active>a{background-color:#f44336;color:rgba(255,255,255,.84)}.navbar.navbar-danger .dropdown-menu .active>a:focus,.navbar.navbar-danger .dropdown-menu .active>a:hover{color:rgba(255,255,255,.84)}.navbar-inverse{background-color:#3f51b5}@media (max-width:1199px){.navbar .navbar-brand{height:50px;padding:10px 15px}.navbar .navbar-form{margin-top:10px}.navbar .navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.dropdown-menu{border:0;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.26);box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.dropdown-menu .divider{background-color:rgba(229,229,229,.12)}.dropdown-menu li{overflow:hidden;position:relative}.dropdown-menu li a:hover{background-color:transparent;color:#009688}.alert{border:0;border-radius:0}.alert,.alert.alert-default{background-color:rgba(255,255,255,.84);color:rgba(255,255,255,.84)}.alert .alert-link,.alert a,.alert.alert-default .alert-link,.alert.alert-default a{color:rgba(255,255,255,.84)}.alert.alert-inverse{background-color:#3f51b5;color:#fff}.alert.alert-inverse .alert-link,.alert.alert-inverse a{color:#fff}.alert.alert-primary{background-color:#009688;color:rgba(255,255,255,.84)}.alert.alert-primary .alert-link,.alert.alert-primary a{color:rgba(255,255,255,.84)}.alert.alert-success{background-color:#4caf50;color:rgba(255,255,255,.84)}.alert.alert-success .alert-link,.alert.alert-success a{color:rgba(255,255,255,.84)}.alert.alert-info{background-color:#03a9f4;color:rgba(255,255,255,.84)}.alert.alert-info .alert-link,.alert.alert-info a{color:rgba(255,255,255,.84)}.alert.alert-warning{background-color:#ff5722;color:rgba(255,255,255,.84)}.alert.alert-warning .alert-link,.alert.alert-warning a{color:rgba(255,255,255,.84)}.alert.alert-danger{background-color:#f44336;color:rgba(255,255,255,.84)}.alert.alert-danger .alert-link,.alert.alert-danger a{color:rgba(255,255,255,.84)}.alert-danger,.alert-info,.alert-success,.alert-warning{color:rgba(255,255,255,.84)}.alert-default .alert-link,.alert-default a{color:rgba(0,0,0,.87)}.progress{height:4px;border-radius:0;-webkit-box-shadow:none;box-shadow:none;background:#c8c8c8}.progress .progress-bar{-webkit-box-shadow:none;box-shadow:none}.progress .progress-bar,.progress .progress-bar.progress-bar-default{background-color:#009688}.progress .progress-bar.progress-bar-inverse{background-color:#3f51b5}.progress .progress-bar.progress-bar-primary{background-color:#009688}.progress .progress-bar.progress-bar-success{background-color:#4caf50}.progress .progress-bar.progress-bar-info{background-color:#03a9f4}.progress .progress-bar.progress-bar-warning{background-color:#ff5722}.progress .progress-bar.progress-bar-danger{background-color:#f44336}.text-warning{color:#ff5722}.text-primary{color:#009688}.text-danger{color:#f44336}.text-success{color:#4caf50}.text-info{color:#03a9f4}.nav-tabs{background:#009688}.nav-tabs>li>a{color:#FFF;border:0;margin:0}.nav-tabs>li>a:hover{background-color:transparent;border:0}.nav-tabs>li>a,.nav-tabs>li>a:focus,.nav-tabs>li>a:hover{background-color:transparent!important;border:0!important;color:#FFF!important;font-weight:500}.nav-tabs>li.disabled>a,.nav-tabs>li.disabled>a:hover{color:rgba(255,255,255,.5)}.popover,.tooltip-inner{color:#ececec;line-height:1em;background:rgba(101,101,101,.9);border:none;border-radius:2px;-webkit-box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12);box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.tooltip,.tooltip.in{opacity:1}.popover .arrow,.popover .tooltip-arrow,.tooltip .arrow,.tooltip .tooltip-arrow{display:none}.card{display:inline-block;position:relative;width:100%;border-radius:2px;color:rgba(0,0,0,.87);background:#fff;-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.card .card-height-indicator{margin-top:100%}.card .card-content{position:absolute;top:0;bottom:0;left:0;right:0}.card .card-image{height:60%;position:relative;overflow:hidden}.card .card-image img{width:100%;height:100%;border-top-left-radius:2px;border-top-right-radius:2px;pointer-events:none}.card .card-image .card-image-headline{position:absolute;bottom:16px;left:18px;color:#fff;font-size:2em}.card .card-body{height:30%;padding:18px}.card .card-footer{height:10%;padding:18px}.card .card-footer button{margin:0!important;position:relative;bottom:25px;width:auto}.card .card-footer button:first-child{left:-15px}.modal-content{-webkit-box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22);box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22);border-radius:2px;border:none}.modal-content .modal-header{border-bottom:none;padding-top:24px;padding-right:24px;padding-bottom:0;padding-left:24px}.modal-content .modal-body{padding-top:24px;padding-right:24px;padding-bottom:16px;padding-left:24px}.modal-content .modal-footer{border-top:none;padding:7px}.modal-content .modal-footer button{margin:0;padding-left:16px;padding-right:16px;width:auto}.modal-content .modal-footer button.pull-left{padding-left:5px;padding-right:5px;position:relative;left:-5px}.modal-content .modal-footer button+button{margin-bottom:16px}.modal-content .modal-body+.modal-footer{padding-top:0}.modal-backdrop{background:rgba(0,0,0,.3)}.panel{border-radius:2px;border:0;-webkit-box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12);box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.panel.panel-default>.panel-heading,.panel>.panel-heading{background-color:#eee}.panel.panel-inverse>.panel-heading{background-color:#3f51b5}.panel.panel-primary>.panel-heading{background-color:#009688}.panel.panel-success>.panel-heading{background-color:#4caf50}.panel.panel-info>.panel-heading{background-color:#03a9f4}.panel.panel-warning>.panel-heading{background-color:#ff5722}.panel.panel-danger>.panel-heading{background-color:#f44336}[class*=panel-]>.panel-heading{color:rgba(255,255,255,.84);border:0}.panel-default>.panel-heading,.panel:not([class*=panel-])>.panel-heading{color:rgba(0,0,0,.87)}.panel-footer{background-color:#eee}hr.on-dark{color:#1a1a1a}hr.on-light{color:#fff}@media (-webkit-min-device-pixel-ratio:0.75),(min--moz-device-pixel-ratio:0.75),(-o-device-pixel-ratio:3/4),(min-device-pixel-ratio:0.75),(-o-min-device-pixel-ratio:3/4),(min-resolution:0.75dppx),(-webkit-min-device-pixel-ratio:1.25),(-o-min-device-pixel-ratio:5/4),(min-resolution:120dpi){hr{height:.75px}}@media (-webkit-min-device-pixel-ratio:1),(min--moz-device-pixel-ratio:1),(-o-device-pixel-ratio:1),(min-device-pixel-ratio:1),(-o-min-device-pixel-ratio:1/1),(min-resolution:1dppx),(-webkit-min-device-pixel-ratio:1.6666666666666667),(-o-min-device-pixel-ratio:5/3),(min-resolution:160dpi){hr{height:1px}}@media (-webkit-min-device-pixel-ratio:1.33),(min--moz-device-pixel-ratio:1.33),(-o-device-pixel-ratio:133/100),(min-device-pixel-ratio:1.33),(-o-min-device-pixel-ratio:133/100),(min-resolution:1.33dppx),(-webkit-min-device-pixel-ratio:2.21875),(-o-min-device-pixel-ratio:71/32),(min-resolution:213dpi){hr{height:1.33px}}@media (-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(-o-device-pixel-ratio:3/2),(min-device-pixel-ratio:1.5),(-o-min-device-pixel-ratio:3/2),(min-resolution:1.5dppx),(-webkit-min-device-pixel-ratio:2.5),(-o-min-device-pixel-ratio:5/2),(min-resolution:240dpi){hr{height:1.5px}}@media (-webkit-min-device-pixel-ratio:2),(min--moz-device-pixel-ratio:2),(-o-device-pixel-ratio:2/1),(min-device-pixel-ratio:2),(-o-min-device-pixel-ratio:2/1),(min-resolution:2dppx),(-webkit-min-device-pixel-ratio:3.9583333333333335),(-o-min-device-pixel-ratio:95/24),(min-resolution:380dpi){hr{height:2px}}@media (-webkit-min-device-pixel-ratio:3),(min--moz-device-pixel-ratio:3),(-o-device-pixel-ratio:3/1),(min-device-pixel-ratio:3),(-o-min-device-pixel-ratio:3/1),(min-resolution:3dppx),(-webkit-min-device-pixel-ratio:5),(-o-min-device-pixel-ratio:5/1),(min-resolution:480dpi){hr{height:3px}}@media (-webkit-min-device-pixel-ratio:4),(min--moz-device-pixel-ratio:4),(-o-device-pixel-ratio:4/1),(min-device-pixel-ratio:3),(-o-min-device-pixel-ratio:4/1),(min-resolution:4dppx),(-webkit-min-device-pixel-ratio:6.666666666666667),(-o-min-device-pixel-ratio:20/3),(min-resolution:640dpi){hr{height:4px}}*{-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent}:focus{outline:0}.snackbar{background-color:#323232;color:rgba(255,255,255,.84);font-size:14px;border-radius:2px;-webkit-box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12);box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12);height:0;-webkit-transition:-webkit-transform .2s ease-in-out,opacity .2s ease-in,height 0 linear .2s,padding 0 linear .2s,height 0 linear .2s;-o-transition:-o-transform .2s ease-in-out,opacity .2s ease-in,height 0 linear .2s,padding 0 linear .2s,height 0 linear .2s;transition:transform .2s ease-in-out,opacity .2s ease-in,height 0 linear .2s,padding 0 linear .2s,height 0 linear .2s;-webkit-transform:translateY(200%);-ms-transform:translateY(200%);-o-transform:translateY(200%);transform:translateY(200%)}.snackbar.snackbar-opened{padding:14px 15px;margin-bottom:20px;height:auto;-webkit-transition:-webkit-transform .2s ease-in-out,opacity .2s ease-in,height 0 linear .2s,height 0 linear .2s;-o-transition:-o-transform .2s ease-in-out,opacity .2s ease-in,height 0 linear .2s,height 0 linear .2s;transition:transform .2s ease-in-out,opacity .2s ease-in,height 0 linear .2s,height 0 linear .2s;-webkit-transform:none;-ms-transform:none;-o-transform:none;transform:none}.snackbar.toast{border-radius:200px}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-ms-touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-stacking .noUi-handle{z-index:10}.noUi-state-tap .noUi-origin{-webkit-transition:left .3s,top .3s;-o-transition:left .3s,top .3s;transition:left .3s,top .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:10px}.noUi-handle{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:12px;height:12px;left:-10px;top:-5px;cursor:ew-resize;border-radius:100%;-webkit-transition:all .2s ease-out;-o-transition:all .2s ease-out;transition:all .2s ease-out;border:1px solid}.noUi-vertical .noUi-handle{margin-left:5px;cursor:ns-resize}.noUi-horizontal.noUi-extended{padding:0 15px}.noUi-horizontal.noUi-extended .noUi-origin{right:-15px}.noUi-background{height:2px;margin:20px 0}.noUi-origin{margin:0;border-radius:0;height:2px;background:#c8c8c8}.noUi-origin[style^="left: 0"] .noUi-handle{background-color:#fff;border:2px solid #c8c8c8}.noUi-origin[style^="left: 0"] .noUi-handle.noUi-active{border-width:1px}.noUi-target{border-radius:2px}.noUi-horizontal{height:2px;margin:15px 0}.noUi-vertical{height:100%;width:2px;margin:0 15px;display:inline-block}.noUi-handle.noUi-active{-webkit-transform:scale3d(2.5,2.5,1);transform:scale3d(2.5,2.5,1)}[disabled].noUi-slider{opacity:.5}[disabled] .noUi-handle{cursor:not-allowed}.slider{background:#c8c8c8}.slider.noUi-connect,.slider.slider-default.noUi-connect{background-color:#009688}.slider.slider-inverse.noUi-connect{background-color:#3f51b5}.slider.slider-primary.noUi-connect{background-color:#009688}.slider.slider-success.noUi-connect{background-color:#4caf50}.slider.slider-info.noUi-connect{background-color:#03a9f4}.slider.slider-warning.noUi-connect{background-color:#ff5722}.slider.slider-danger.noUi-connect{background-color:#f44336}.slider .noUi-connect,.slider.slider-default .noUi-connect{background-color:#009688}.slider.slider-inverse .noUi-connect{background-color:#3f51b5}.slider.slider-primary .noUi-connect{background-color:#009688}.slider.slider-success .noUi-connect{background-color:#4caf50}.slider.slider-info .noUi-connect{background-color:#03a9f4}.slider.slider-warning .noUi-connect{background-color:#ff5722}.slider.slider-danger .noUi-connect{background-color:#f44336}.slider .noUi-handle,.slider.slider-default .noUi-handle{background-color:#009688}.slider.slider-inverse .noUi-handle{background-color:#3f51b5}.slider.slider-primary .noUi-handle{background-color:#009688}.slider.slider-success .noUi-handle{background-color:#4caf50}.slider.slider-info .noUi-handle{background-color:#03a9f4}.slider.slider-warning .noUi-handle{background-color:#ff5722}.slider.slider-danger .noUi-handle{background-color:#f44336}.slider .noUi-handle,.slider.slider-default .noUi-handle{border-color:#009688}.slider.slider-inverse .noUi-handle{border-color:#3f51b5}.slider.slider-primary .noUi-handle{border-color:#009688}.slider.slider-success .noUi-handle{border-color:#4caf50}.slider.slider-info .noUi-handle{border-color:#03a9f4}.slider.slider-warning .noUi-handle{border-color:#ff5722}.slider.slider-danger .noUi-handle{border-color:#f44336}.selectize-control.multi,.selectize-control.single{padding:0}.selectize-control.multi .selectize-input,.selectize-control.multi .selectize-input.input-active,.selectize-control.single .selectize-input,.selectize-control.single .selectize-input.input-active{cursor:text;background:0 0;-webkit-box-shadow:none;box-shadow:none;border:0;padding:0;height:100%;font-size:14px;line-height:30px}.selectize-control.multi .selectize-input .has-items,.selectize-control.multi .selectize-input.input-active .has-items,.selectize-control.single .selectize-input .has-items,.selectize-control.single .selectize-input.input-active .has-items{padding:0}.selectize-control.multi .selectize-input.input-active:after,.selectize-control.multi .selectize-input:after,.selectize-control.single .selectize-input.input-active:after,.selectize-control.single .selectize-input:after{right:5px;position:absolute;font-size:7px;content:"\e894";font-family:Material-Design-Icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.selectize-control.multi .selectize-input input,.selectize-control.multi .selectize-input.input-active input,.selectize-control.single .selectize-input input,.selectize-control.single .selectize-input.input-active input{font-size:14px;outline:0;border:0;background:0 0}.selectize-control.multi .selectize-input.input-active.label-floating-fix input,.selectize-control.multi .selectize-input.label-floating-fix input,.selectize-control.single .selectize-input.input-active.label-floating-fix input,.selectize-control.single .selectize-input.label-floating-fix input{opacity:0}.selectize-control.multi .selectize-input.input-active>.item,.selectize-control.multi .selectize-input.input-active>div,.selectize-control.multi .selectize-input>.item,.selectize-control.multi .selectize-input>div,.selectize-control.single .selectize-input.input-active>.item,.selectize-control.single .selectize-input.input-active>div,.selectize-control.single .selectize-input>.item,.selectize-control.single .selectize-input>div{display:inline-block;margin:0 8px 3px 0;padding:0;background:0 0;border:0}.selectize-control.multi .selectize-input.input-active>.item:after,.selectize-control.multi .selectize-input.input-active>div:after,.selectize-control.multi .selectize-input>.item:after,.selectize-control.multi .selectize-input>div:after,.selectize-control.single .selectize-input.input-active>.item:after,.selectize-control.single .selectize-input.input-active>div:after,.selectize-control.single .selectize-input>.item:after,.selectize-control.single .selectize-input>div:after{content:","}.selectize-control.multi .selectize-input.input-active>.item:last-of-type:after,.selectize-control.multi .selectize-input.input-active>div:last-of-type:after,.selectize-control.multi .selectize-input>.item:last-of-type:after,.selectize-control.multi .selectize-input>div:last-of-type:after,.selectize-control.single .selectize-input.input-active>.item:last-of-type:after,.selectize-control.single .selectize-input.input-active>div:last-of-type:after,.selectize-control.single .selectize-input>.item:last-of-type:after,.selectize-control.single .selectize-input>div:last-of-type:after{content:""}.selectize-control.multi .selectize-input.input-active>.item.active,.selectize-control.multi .selectize-input.input-active>div.active,.selectize-control.multi .selectize-input>.item.active,.selectize-control.multi .selectize-input>div.active,.selectize-control.single .selectize-input.input-active>.item.active,.selectize-control.single .selectize-input.input-active>div.active,.selectize-control.single .selectize-input>.item.active,.selectize-control.single .selectize-input>div.active{font-weight:700;background:0 0;border:0}.selectize-control.multi .selectize-dropdown,.selectize-control.single .selectize-dropdown{position:absolute;z-index:1000;border:0;width:100%!important;left:0!important;height:auto;background-color:#FFF;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);border-radius:2px;padding:0;margin-top:3px}.selectize-control.multi .selectize-dropdown .active,.selectize-control.single .selectize-dropdown .active{background-color:inherit}.selectize-control.multi .selectize-dropdown .highlight,.selectize-control.single .selectize-dropdown .highlight{background-color:#d5d8ff}.selectize-control.multi .selectize-dropdown .selected,.selectize-control.multi .selectize-dropdown .selected.active,.selectize-control.single .selectize-dropdown .selected,.selectize-control.single .selectize-dropdown .selected.active{background-color:#EEE}.selectize-control.multi .selectize-dropdown .optgroup-header,.selectize-control.multi .selectize-dropdown [data-selectable],.selectize-control.single .selectize-dropdown .optgroup-header,.selectize-control.single .selectize-dropdown [data-selectable]{padding:10px 20px;cursor:pointer}.selectize-control.multi .dropdown-active~.selectize-dropdown,.selectize-control.single .dropdown-active~.selectize-dropdown{display:block}.dropdownjs:after{right:5px;top:3px;font-size:25px;position:absolute;content:"\e8ac";font-family:Material-Design-Icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;pointer-events:none;color:#757575} -/*# sourceMappingURL=bootstrap-material-design.min.css.map */ \ No newline at end of file diff --git a/dist/css/bootstrap-material-design.min.css.map b/dist/css/bootstrap-material-design.min.css.map deleted file mode 100644 index 5d967e56..00000000 --- a/dist/css/bootstrap-material-design.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["less/_bootstrap-material-design.less","less/_welljumbo.less","less/_shadows.less","less/_mixins.less","less/_buttons.less","less/_checkboxes.less","dist/css/bootstrap-material-design.css","bootstrap-material-design.css","less/_togglebutton.less","less/_radios.less","less/_inputs-size.less","less/_inputs.less","less/_form.less","less/_lists.less","less/_navbar.less","less/_alerts.less","less/_progress.less","less/_typography.less","less/_tabs.less","less/_popups.less","less/_cards.less","less/_dialogs.less","less/_panels.less","less/_dividers.less","less/plugins/_plugin-snackbarjs.less","less/plugins/_plugin-nouislider.less","less/plugins/_plugin-selectize.less"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/css/ripples.css b/dist/css/ripples.css deleted file mode 100644 index cc88c40f..00000000 --- a/dist/css/ripples.css +++ /dev/null @@ -1,47 +0,0 @@ -.withripple { - position: relative; -} -.ripple-container { - position: absolute; - top: 0; - left: 0; - z-index: 1; - width: 100%; - height: 100%; - overflow: hidden; - border-radius: inherit; - pointer-events: none; -} -.ripple { - position: absolute; - width: 20px; - height: 20px; - margin-left: -10px; - margin-top: -10px; - border-radius: 100%; - background-color: #000; - background-color: rgba(0, 0, 0, 0.05); - -webkit-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); - -webkit-transform-origin: 50%; - -ms-transform-origin: 50%; - -o-transform-origin: 50%; - transform-origin: 50%; - opacity: 0; - pointer-events: none; -} -.ripple.ripple-on { - -webkit-transition: opacity 0.15s ease-in 0s, -webkit-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; - -o-transition: opacity 0.15s ease-in 0s, -o-transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; - transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; - opacity: 0.1; -} -.ripple.ripple-out { - -webkit-transition: opacity 0.1s linear 0s !important; - -o-transition: opacity 0.1s linear 0s !important; - transition: opacity 0.1s linear 0s !important; - opacity: 0; -} -/*# sourceMappingURL=ripples.css.map */ \ No newline at end of file diff --git a/dist/css/ripples.css.map b/dist/css/ripples.css.map deleted file mode 100644 index e52d9785..00000000 --- a/dist/css/ripples.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["/less/ripples.less","ripples.css"],"names":[],"mappings":"AAAA;EACI,mBAAA;CCCH;ADCD;EACI,mBAAA;EACA,OAAA;EACA,QAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,iBAAA;EACA,uBAAA;EACA,qBAAA;CCCH;ADCD;EACI,mBAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,kBAAA;EACA,oBAAA;EACA,uBAAA;EACA,sCAAA;EACA,4BAAA;MAAA,wBAAA;OAAA,uBAAA;UAAA,oBAAA;EACA,8BAAA;MAAA,0BAAA;OAAA,yBAAA;UAAA,sBAAA;EACA,WAAA;EACA,qBAAA;CCCH;ADCD;EACI,uGAAA;OAAA,6FAAA;UAAA,uFAAA;EACA,aAAA;CCCH;ADCD;EACI,sDAAA;OAAA,iDAAA;UAAA,8CAAA;EACA,WAAA;CCCH","file":"ripples.css","sourcesContent":[".withripple {\n position: relative;\n}\n.ripple-container {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: inherit;\n pointer-events: none;\n}\n.ripple {\n position: absolute;\n width: 20px;\n height: 20px;\n margin-left: -10px;\n margin-top: -10px;\n border-radius: 100%;\n background-color: #000; // fallback color\n background-color: rgba(0,0,0,0.05);\n transform: scale(1);\n transform-origin: 50%;\n opacity: 0;\n pointer-events: none;\n}\n.ripple.ripple-on {\n transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;\n opacity: 0.1;\n}\n.ripple.ripple-out {\n transition: opacity 0.1s linear 0s !important;\n opacity: 0;\n}\n",".withripple {\n position: relative;\n}\n.ripple-container {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: inherit;\n pointer-events: none;\n}\n.ripple {\n position: absolute;\n width: 20px;\n height: 20px;\n margin-left: -10px;\n margin-top: -10px;\n border-radius: 100%;\n background-color: #000;\n background-color: rgba(0, 0, 0, 0.05);\n transform: scale(1);\n transform-origin: 50%;\n opacity: 0;\n pointer-events: none;\n}\n.ripple.ripple-on {\n transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;\n opacity: 0.1;\n}\n.ripple.ripple-out {\n transition: opacity 0.1s linear 0s !important;\n opacity: 0;\n}\n/*# sourceMappingURL=ripples.css.map */"]} \ No newline at end of file diff --git a/dist/css/ripples.min.css b/dist/css/ripples.min.css deleted file mode 100644 index 80151ded..00000000 --- a/dist/css/ripples.min.css +++ /dev/null @@ -1,2 +0,0 @@ -.withripple{position:relative}.ripple-container{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;overflow:hidden;border-radius:inherit;pointer-events:none}.ripple{position:absolute;width:20px;height:20px;margin-left:-10px;margin-top:-10px;border-radius:100%;background-color:#000;background-color:rgba(0,0,0,.05);-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);-webkit-transform-origin:50%;-ms-transform-origin:50%;-o-transform-origin:50%;transform-origin:50%;opacity:0;pointer-events:none}.ripple.ripple-on{-webkit-transition:opacity .15s ease-in 0s,-webkit-transform .5s cubic-bezier(.4,0,.2,1) .1s;-o-transition:opacity .15s ease-in 0s,-o-transform .5s cubic-bezier(.4,0,.2,1) .1s;transition:opacity .15s ease-in 0s,transform .5s cubic-bezier(.4,0,.2,1) .1s;opacity:.1}.ripple.ripple-out{-webkit-transition:opacity .1s linear 0s!important;-o-transition:opacity .1s linear 0s!important;transition:opacity .1s linear 0s!important;opacity:0} -/*# sourceMappingURL=ripples.min.css.map */ \ No newline at end of file diff --git a/dist/css/ripples.min.css.map b/dist/css/ripples.min.css.map deleted file mode 100644 index 43b7a707..00000000 --- a/dist/css/ripples.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["less/ripples.less"],"names":[],"mappings":"AAAA,YACI,SAAA,SAEJ,kBACI,SAAA,SACA,IAAA,EACA,KAAA,EACA,QAAA,EACA,MAAA,KACA,OAAA,KACA,SAAA,OACA,cAAA,QACA,eAAA,KAEJ,QACI,SAAA,SACA,MAAA,KACA,OAAA,KACA,YAAA,MACA,WAAA,MACA,cAAA,KACA,iBAAA,KACA,iBAAA,gBACA,kBAAA,SAAA,cAAA,SAAA,aAAA,SAAA,UAAA,SACA,yBAAA,IAAA,qBAAA,IAAA,oBAAA,IAAA,iBAAA,IACA,QAAA,EACA,eAAA,KAEJ,kBACI,mBAAA,QAAA,KAAA,QAAA,GAAA,kBAAA,IAAA,wBAAA,IAAA,cAAA,QAAA,KAAA,QAAA,GAAA,aAAA,IAAA,wBAAA,IAAA,WAAA,QAAA,KAAA,QAAA,GAAA,UAAA,IAAA,wBAAA,IACA,QAAA,GAEJ,mBACI,mBAAA,QAAA,IAAA,OAAA,aAAA,cAAA,QAAA,IAAA,OAAA,aAAA,WAAA,QAAA,IAAA,OAAA,aACA,QAAA"} \ No newline at end of file diff --git a/dist/js/material.js b/dist/js/material.js deleted file mode 100644 index 4fa32263..00000000 --- a/dist/js/material.js +++ /dev/null @@ -1,308 +0,0 @@ -/* globals jQuery */ - -(function($) { - // Selector to select only not already processed elements - $.expr[":"].notmdproc = function(obj){ - if ($(obj).data("mdproc")) { - return false; - } else { - return true; - } - }; - - function _isChar(evt) { - if (typeof evt.which == "undefined") { - return true; - } else if (typeof evt.which == "number" && evt.which > 0) { - return !evt.ctrlKey && !evt.metaKey && !evt.altKey && evt.which != 8 && evt.which != 9; - } - return false; - } - - function _addFormGroupFocus(element){ - $(element).closest(".form-group").addClass("is-focused"); - } - - function _removeFormGroupFocus(element){ - $(element).closest(".form-group").removeClass("is-focused"); // remove class from form-group - } - - $.material = { - "options": { - // These options set what will be started by $.material.init() - "input": true, - "ripples": true, - "checkbox": true, - "togglebutton": true, - "radio": true, - "arrive": true, - "autofill": false, - - "withRipples": [ - ".btn:not(.btn-link)", - ".card-image", - ".navbar a:not(.withoutripple)", - ".dropdown-menu a", - ".nav-tabs a:not(.withoutripple)", - ".withripple", - ".pagination li:not(.active):not(.disabled) a:not(.withoutripple)" - ].join(","), - "inputElements": "input.form-control, textarea.form-control, select.form-control", - "checkboxElements": ".checkbox > label > input[type=checkbox]", - "togglebuttonElements": ".togglebutton > label > input[type=checkbox]", - "radioElements": ".radio > label > input[type=radio]" - }, - "checkbox": function(selector) { - // Add fake-checkbox to material checkboxes - $((selector) ? selector : this.options.checkboxElements) - .filter(":notmdproc") - .data("mdproc", true) - .after(""); - }, - "togglebutton": function(selector) { - // Add fake-checkbox to material checkboxes - $((selector) ? selector : this.options.togglebuttonElements) - .filter(":notmdproc") - .data("mdproc", true) - .after(""); - }, - "radio": function(selector) { - // Add fake-radio to material radios - $((selector) ? selector : this.options.radioElements) - .filter(":notmdproc") - .data("mdproc", true) - .after(""); - }, - "input": function(selector) { - $((selector) ? selector : this.options.inputElements) - .filter(":notmdproc") - .data("mdproc", true) - .each( function() { - var $input = $(this); - - // Requires form-group standard markup (will add it if necessary) - var $formGroup = $input.closest(".form-group"); // note that form-group may be grandparent in the case of an input-group - if($formGroup.length === 0){ - $input.wrap("

"); - $formGroup = $input.closest(".form-group"); // find node after attached (otherwise additional attachments don't work) - } - - // Legacy - Add hint label if using the old shorthand data-hint attribute on the input - if ($input.attr("data-hint")) { - $input.after("

" + $input.attr("data-hint") + "

"); - $input.removeAttr("data-hint"); - } - - // Legacy - Change input-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants) - var legacySizes = { - "input-lg": "form-group-lg", - "input-sm": "form-group-sm" - }; - $.each( legacySizes, function( legacySize, standardSize ) { - if ($input.hasClass(legacySize)) { - $input.removeClass(legacySize); - $formGroup.addClass(standardSize); - } - }); - - // Legacy - Add label-floating if using old shorthand - if ($input.hasClass("floating-label")) { - var placeholder = $input.attr("placeholder"); - $input.attr("placeholder", null).removeClass("floating-label"); - var id = $input.attr("id"); - var forAttribute = ""; - if(id) { - forAttribute = "for='" + id + "'"; - } - $formGroup.addClass("label-floating"); - $input.after(""); - } - - // Set as empty if is empty (damn I must improve this...) - if ($input.val() === null || $input.val() == "undefined" || $input.val() === "") { - $formGroup.addClass("is-empty"); - } - - // Add at the end of the form-group - $formGroup.append(""); - - // Support for file input - if ($formGroup.find("input[type=file]").length > 0) { - $formGroup.addClass("is-fileinput"); - } - }); - }, - "attachInputEventHandlers": function() { - - // checkboxes didn't appear to bubble to the document, so we'll bind these directly - $(".form-group .checkbox label").hover(function() { - _addFormGroupFocus(this); - }, function() { - _removeFormGroupFocus(this); - }); - - $(document) - .on("change", ".checkbox input[type=checkbox]", function() { $(this).blur(); }) - .on("keydown paste", ".form-control", function(e) { - if(_isChar(e)) { - $(this).closest(".form-group").removeClass("is-empty"); - } - }) - .on("keyup change", ".form-control", function() { - var $input = $(this); - var $formGroup = $input.closest(".form-group"); - var isValid = (typeof $input[0].checkValidity === "undefined" || $input[0].checkValidity()); - - if ($input.val() === "" && isValid) { - $formGroup.addClass("is-empty"); - } - else { - $formGroup.removeClass("is-empty"); - } - - // Validation events do not bubble, so they must be attached directly to the input: http://jsfiddle.net/PEpRM/1/ - // Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter - // the form-group on change. - // - // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code. - // BUT, I've left it here for backwards compatibility. - if(isValid){ - $formGroup.removeClass("has-error"); - } - else{ - $formGroup.addClass("has-error"); - } - }) - .on("focus", ".form-control, .form-group.is-fileinput", function() { - _addFormGroupFocus(this); - }) - .on("blur", ".form-control, .form-group.is-fileinput", function() { - _removeFormGroupFocus(this); - }) - // make sure empty is added back when there is a programmatic value change. - // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change') - .on("change", ".form-group input", function() { - var $input = $(this); - if($input.attr("type") == "file") { - return; - } - - var $formGroup = $input.closest(".form-group"); - var value = $input.val(); - if (value) { - $formGroup.removeClass("is-empty"); - } else { - $formGroup.addClass("is-empty"); - } - }) - // set the fileinput readonly field with the name of the file - .on("change", ".form-group.is-fileinput input[type='file']", function() { - var $input = $(this); - var $formGroup = $input.closest(".form-group"); - var value = ""; - $.each(this.files, function(i, file) { - value += file.name + ", "; - }); - value = value.substring(0, value.length - 2); - if (value) { - $formGroup.removeClass("is-empty"); - } else { - $formGroup.addClass("is-empty"); - } - $formGroup.find("input.form-control[readonly]").val(value); - }); - }, - "ripples": function(selector) { - $((selector) ? selector : this.options.withRipples).ripples(); - }, - "autofill": function() { - // This part of code will detect autofill when the page is loading (username and password inputs for example) - var loading = setInterval(function() { - $("input[type!=checkbox]").each(function() { - var $this = $(this); - if ($this.val() && $this.val() !== $this.attr("value")) { - $this.trigger("change"); - } - }); - }, 100); - - // After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them - setTimeout(function() { - clearInterval(loading); - }, 10000); - }, - "attachAutofillEventHandlers": function() { - // Listen on inputs of the focused form (because user can select from the autofill dropdown only when the input has focus) - var focused; - $(document) - .on("focus", "input", function() { - var $inputs = $(this).parents("form").find("input").not("[type=file]"); - focused = setInterval(function() { - $inputs.each(function() { - var $this = $(this); - if ($this.val() !== $this.attr("value")) { - $this.trigger("change"); - } - }); - }, 100); - }) - .on("blur", ".form-group input", function() { - clearInterval(focused); - }); - }, - "init": function() { - var $document = $(document); - - if ($.fn.ripples && this.options.ripples) { - this.ripples(); - } - if (this.options.input) { - this.input(); - this.attachInputEventHandlers(); - } - if (this.options.checkbox) { - this.checkbox(); - } - if (this.options.togglebutton) { - this.togglebutton(); - } - if (this.options.radio) { - this.radio(); - } - if (this.options.autofill) { - this.autofill(); - this.attachAutofillEventHandlers(); - } - - if (document.arrive && this.options.arrive) { - if ($.fn.ripples && this.options.ripples) { - $document.arrive(this.options.withRipples, function() { - $.material.ripples($(this)); - }); - } - if (this.options.input) { - $document.arrive(this.options.inputElements, function() { - $.material.input($(this)); - }); - } - if (this.options.checkbox) { - $document.arrive(this.options.checkboxElements, function() { - $.material.checkbox($(this)); - }); - } - if (this.options.radio) { - $document.arrive(this.options.radioElements, function() { - $.material.radio($(this)); - }); - } - if (this.options.togglebutton) { - $document.arrive(this.options.togglebuttonElements, function() { - $.material.togglebutton($(this)); - }); - } - - } - } - }; - -})(jQuery); diff --git a/dist/js/material.min.js b/dist/js/material.min.js deleted file mode 100644 index d8e689a9..00000000 --- a/dist/js/material.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(a){function b(a){return"undefined"==typeof a.which?!0:"number"==typeof a.which&&a.which>0?!a.ctrlKey&&!a.metaKey&&!a.altKey&&8!=a.which&&9!=a.which:!1}function c(b){a(b).closest(".form-group").addClass("is-focused")}function d(b){a(b).closest(".form-group").removeClass("is-focused")}a.expr[":"].notmdproc=function(b){return a(b).data("mdproc")?!1:!0},a.material={options:{input:!0,ripples:!0,checkbox:!0,togglebutton:!0,radio:!0,arrive:!0,autofill:!1,withRipples:[".btn:not(.btn-link)",".card-image",".navbar a:not(.withoutripple)",".dropdown-menu a",".nav-tabs a:not(.withoutripple)",".withripple",".pagination li:not(.active):not(.disabled) a:not(.withoutripple)"].join(","),inputElements:"input.form-control, textarea.form-control, select.form-control",checkboxElements:".checkbox > label > input[type=checkbox]",togglebuttonElements:".togglebutton > label > input[type=checkbox]",radioElements:".radio > label > input[type=radio]"},checkbox:function(b){a(b?b:this.options.checkboxElements).filter(":notmdproc").data("mdproc",!0).after("")},togglebutton:function(b){a(b?b:this.options.togglebuttonElements).filter(":notmdproc").data("mdproc",!0).after("")},radio:function(b){a(b?b:this.options.radioElements).filter(":notmdproc").data("mdproc",!0).after("")},input:function(b){a(b?b:this.options.inputElements).filter(":notmdproc").data("mdproc",!0).each(function(){var b=a(this),c=b.closest(".form-group");0===c.length&&(b.wrap("
"),c=b.closest(".form-group")),b.attr("data-hint")&&(b.after("

"+b.attr("data-hint")+"

"),b.removeAttr("data-hint"));var d={"input-lg":"form-group-lg","input-sm":"form-group-sm"};if(a.each(d,function(a,d){b.hasClass(a)&&(b.removeClass(a),c.addClass(d))}),b.hasClass("floating-label")){var e=b.attr("placeholder");b.attr("placeholder",null).removeClass("floating-label");var f=b.attr("id"),g="";f&&(g="for='"+f+"'"),c.addClass("label-floating"),b.after("")}(null===b.val()||"undefined"==b.val()||""===b.val())&&c.addClass("is-empty"),c.append(""),c.find("input[type=file]").length>0&&c.addClass("is-fileinput")})},attachInputEventHandlers:function(){a(".form-group .checkbox label").hover(function(){c(this)},function(){d(this)}),a(document).on("change",".checkbox input[type=checkbox]",function(){a(this).blur()}).on("keydown paste",".form-control",function(c){b(c)&&a(this).closest(".form-group").removeClass("is-empty")}).on("keyup change",".form-control",function(){var b=a(this),c=b.closest(".form-group"),d="undefined"==typeof b[0].checkValidity||b[0].checkValidity();""===b.val()&&d?c.addClass("is-empty"):c.removeClass("is-empty"),d?c.removeClass("has-error"):c.addClass("has-error")}).on("focus",".form-control, .form-group.is-fileinput",function(){c(this)}).on("blur",".form-control, .form-group.is-fileinput",function(){d(this)}).on("change",".form-group input",function(){var b=a(this);if("file"!=b.attr("type")){var c=b.closest(".form-group"),d=b.val();d?c.removeClass("is-empty"):c.addClass("is-empty")}}).on("change",".form-group.is-fileinput input[type='file']",function(){var b=a(this),c=b.closest(".form-group"),d="";a.each(this.files,function(a,b){d+=b.name+", "}),d=d.substring(0,d.length-2),d?c.removeClass("is-empty"):c.addClass("is-empty"),c.find("input.form-control[readonly]").val(d)})},ripples:function(b){a(b?b:this.options.withRipples).ripples()},autofill:function(){var b=setInterval(function(){a("input[type!=checkbox]").each(function(){var b=a(this);b.val()&&b.val()!==b.attr("value")&&b.trigger("change")})},100);setTimeout(function(){clearInterval(b)},1e4)},attachAutofillEventHandlers:function(){var b;a(document).on("focus","input",function(){var c=a(this).parents("form").find("input").not("[type=file]");b=setInterval(function(){c.each(function(){var b=a(this);b.val()!==b.attr("value")&&b.trigger("change")})},100)}).on("blur",".form-group input",function(){clearInterval(b)})},init:function(){var b=a(document);a.fn.ripples&&this.options.ripples&&this.ripples(),this.options.input&&(this.input(),this.attachInputEventHandlers()),this.options.checkbox&&this.checkbox(),this.options.togglebutton&&this.togglebutton(),this.options.radio&&this.radio(),this.options.autofill&&(this.autofill(),this.attachAutofillEventHandlers()),document.arrive&&this.options.arrive&&(a.fn.ripples&&this.options.ripples&&b.arrive(this.options.withRipples,function(){a.material.ripples(a(this))}),this.options.input&&b.arrive(this.options.inputElements,function(){a.material.input(a(this))}),this.options.checkbox&&b.arrive(this.options.checkboxElements,function(){a.material.checkbox(a(this))}),this.options.radio&&b.arrive(this.options.radioElements,function(){a.material.radio(a(this))}),this.options.togglebutton&&b.arrive(this.options.togglebuttonElements,function(){a.material.togglebutton(a(this))}))}}}(jQuery); -//# sourceMappingURL=material.min.js.map \ No newline at end of file diff --git a/dist/js/material.min.js.map b/dist/js/material.min.js.map deleted file mode 100644 index 8336203e..00000000 --- a/dist/js/material.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["material.js"],"names":["$","_isChar","evt","which","ctrlKey","metaKey","altKey","_addFormGroupFocus","element","closest","addClass","_removeFormGroupFocus","removeClass","expr","notmdproc","obj","data","material","options","input","ripples","checkbox","togglebutton","radio","arrive","autofill","withRipples","join","inputElements","checkboxElements","togglebuttonElements","radioElements","selector","this","filter","after","each","$input","$formGroup","length","wrap","attr","removeAttr","legacySizes","input-lg","input-sm","legacySize","standardSize","hasClass","placeholder","id","forAttribute","val","append","find","attachInputEventHandlers","hover","document","on","blur","e","isValid","checkValidity","value","files","i","file","name","substring","loading","setInterval","$this","trigger","setTimeout","clearInterval","attachAutofillEventHandlers","focused","$inputs","parents","not","init","$document","fn","jQuery"],"mappings":"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","file":"material.min.js"} \ No newline at end of file diff --git a/dist/js/ripples.min.js b/dist/js/ripples.min.js deleted file mode 100644 index 5c01e4c1..00000000 --- a/dist/js/ripples.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(a,b,c,d){"use strict";function e(b,c){g=this,this.element=a(b),this.options=a.extend({},h,c),this._defaults=h,this._name=f,this.init()}var f="ripples",g=null,h={};e.prototype.init=function(){var c=this.element;c.on("mousedown touchstart",function(d){if(!g.isTouch()||"mousedown"!==d.type){c.find(".ripple-container").length||c.append('
');var e=c.children(".ripple-container"),f=g.getRelY(e,d),h=g.getRelX(e,d);if(f||h){var i=g.getRipplesColor(c),j=a("
");j.addClass("ripple").css({left:h,top:f,"background-color":i}),e.append(j),function(){return b.getComputedStyle(j[0]).opacity}(),g.rippleOn(c,j),setTimeout(function(){g.rippleEnd(j)},500),c.on("mouseup mouseleave touchend",function(){j.data("mousedown","off"),"off"===j.data("animating")&&g.rippleOut(j)})}}})},e.prototype.getNewSize=function(a,b){return Math.max(a.outerWidth(),a.outerHeight())/b.outerWidth()*2.5},e.prototype.getRelX=function(a,b){var c=a.offset();return g.isTouch()?(b=b.originalEvent,1===b.touches.length?b.touches[0].pageX-c.left:!1):b.pageX-c.left},e.prototype.getRelY=function(a,b){var c=a.offset();return g.isTouch()?(b=b.originalEvent,1===b.touches.length?b.touches[0].pageY-c.top:!1):b.pageY-c.top},e.prototype.getRipplesColor=function(a){var c=a.data("ripple-color")?a.data("ripple-color"):b.getComputedStyle(a[0]).color;return c},e.prototype.hasTransitionSupport=function(){var a=c.body||c.documentElement,b=a.style,e=b.transition!==d||b.WebkitTransition!==d||b.MozTransition!==d||b.MsTransition!==d||b.OTransition!==d;return e},e.prototype.isTouch=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},e.prototype.rippleEnd=function(a){a.data("animating","off"),"off"===a.data("mousedown")&&g.rippleOut(a)},e.prototype.rippleOut=function(a){a.off(),g.hasTransitionSupport()?a.addClass("ripple-out"):a.animate({opacity:0},100,function(){a.trigger("transitionend")}),a.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){a.remove()})},e.prototype.rippleOn=function(a,b){var c=g.getNewSize(a,b);g.hasTransitionSupport()?b.css({"-ms-transform":"scale("+c+")","-moz-transform":"scale("+c+")","-webkit-transform":"scale("+c+")",transform:"scale("+c+")"}).addClass("ripple-on").data("animating","on").data("mousedown","on"):b.animate({width:2*Math.max(a.outerWidth(),a.outerHeight()),height:2*Math.max(a.outerWidth(),a.outerHeight()),"margin-left":-1*Math.max(a.outerWidth(),a.outerHeight()),"margin-top":-1*Math.max(a.outerWidth(),a.outerHeight()),opacity:.2},500,function(){b.trigger("transitionend")})},a.fn.ripples=function(b){return this.each(function(){a.data(this,"plugin_"+f)||a.data(this,"plugin_"+f,new e(this,b))})}}(jQuery,window,document); -//# sourceMappingURL=ripples.min.js.map \ No newline at end of file diff --git a/dist/js/ripples.min.js.map b/dist/js/ripples.min.js.map deleted file mode 100644 index 90f64363..00000000 --- a/dist/js/ripples.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["ripples.js"],"names":["$","window","document","undefined","Ripples","element","options","self","this","extend","defaults","_defaults","_name","ripples","init","prototype","$element","on","event","isTouch","type","find","append","$wrapper","children","relY","getRelY","relX","getRelX","rippleColor","getRipplesColor","$ripple","addClass","css","left","top","background-color","getComputedStyle","opacity","rippleOn","setTimeout","rippleEnd","data","rippleOut","getNewSize","Math","max","outerWidth","outerHeight","wrapperOffset","offset","originalEvent","touches","length","pageX","pageY","color","hasTransitionSupport","thisBody","body","documentElement","thisStyle","style","support","transition","WebkitTransition","MozTransition","MsTransition","OTransition","test","navigator","userAgent","off","animate","trigger","remove","size","-ms-transform","-moz-transform","-webkit-transform","transform","width","height","margin-left","margin-top","fn","each","jQuery"],"mappings":"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","file":"ripples.min.js"} \ No newline at end of file diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 00000000..039362df --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +v4-alpha.getbootstrap.com diff --git a/docs/LICENSE b/docs/LICENSE index d11c4ef5..1d658d6d 100644 --- a/docs/LICENSE +++ b/docs/LICENSE @@ -1,21 +1,319 @@ -The MIT License (MIT) +Creative Commons Legal Code -Copyright (c) 2015, Federico Zivolo +Attribution 3.0 Unported -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +License -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE +TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY +BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND +CONDITIONS. + +1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined above) for the purposes of this + License. + c. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + d. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + e. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + f. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + g. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + h. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + i. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, +limit, or restrict any uses free from copyright or rights arising from +limitations or exceptions that are provided for in connection with the +copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, +Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +perpetual (for the duration of the applicable copyright) license to +exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now +known or hereafter devised. The above rights include the right to make +such modifications as are technically necessary to exercise the rights in +other media and formats. Subject to Section 8(f), all rights not expressly +granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(b), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(b), as requested. + b. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Section 3(b), in the case of an Adaptation, + a credit identifying the use of the Work in the Adaptation (e.g., + "French translation of the Work by Original Author," or "Screenplay + based on original Work by Original Author"). The credit required by + this Section 4 (b) may be implemented in any reasonable manner; + provided, however, that in the case of a Adaptation or Collection, at + a minimum such credit will appear, if a credit for all contributing + authors of the Adaptation or Collection appears, then as part of these + credits and in a manner at least as prominent as the credits for the + other contributing authors. For the avoidance of doubt, You may only + use the credit required by this Section for the purpose of attribution + in the manner set out above and, by exercising Your rights under this + License, You may not implicitly or explicitly assert or imply any + connection with, sponsorship or endorsement by the Original Author, + Licensor and/or Attribution Parties, as appropriate, of You or Your + use of the Work, without the separate, express prior written + permission of the Original Author, Licensor and/or Attribution + Parties. + c. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR +OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, +INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF +LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, +WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE +LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR +ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES +ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + +8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of this License. + + Creative Commons may be contacted at http://creativecommons.org/. diff --git a/docs/_data/browser-bugs.yml b/docs/_data/browser-bugs.yml index 4c21429a..06da14a7 100644 --- a/docs/_data/browser-bugs.yml +++ b/docs/_data/browser-bugs.yml @@ -2,9 +2,280 @@ browser: > Internet Explorer 11 & Microsoft Edge summary: > - Sample bug list item + Hovered element still remains in `:hover` state after scrolling away. upstream_bug: > IE#926665 origin: > - BMD#14211 + Bootstrap#14211 +- + browser: > + Internet Explorer 11 & Microsoft Edge + summary: > + When hovering over a `` increment button flashes the decrement button. + upstream_bug: > + Chromium#419108 + origin: > + Offshoot of Bootstrap#8350 & Chromium#337668 + +- + browser: > + Chrome (OS X) + summary: > + Caps Lock indicator not shown in `` with `display: block` + upstream_bug: > + Chromium#460200 + origin: > + Bootstrap#15832 + +- + browser: > + Chrome + summary: > + Focus ring of image map within a modal is displayed in the wrong location. + upstream_bug: > + Chromium#475128 + origin: > + Bootstrap#16180 + +- + browser: > + Chrome + summary: > + Incorrect viewport size used for media queries when printing. + upstream_bug: > + Chromium#273306 + origin: > + Bootstrap#12078 + +- + browser: > + Chrome + summary: > + CSS infinite linear animation with alpha transparency leaks memory. + upstream_bug: > + Chromium#429375 + origin: > + Bootstrap#14409 + +- + browser: > + Chrome + summary: > + `:focus` `outline` style causes cursor to not be displayed when toggling a `readonly` `` to read-write. + upstream_bug: > + Chromium#465274 + origin: > + Bootstrap#16022 + +- + browser: > + Chrome + summary: > + `width: 1%` on nested table cell causes its table to hog horizontal space. + upstream_bug: > + Chromium#427994 + origin: > + Bootstrap#16372 + +- + browser: > + Chrome + summary: > + `table-cell` borders not overlapping despite `margin-right: -1px` + upstream_bug: > + Chromium#534750 + origin: > + Bootstrap#17438, Bootstrap#14237 + +- + browser: > + Chrome (Windows & Linux) + summary: > + Animation glitch when returning to inactive tab after animations occurred while tab was hidden. + upstream_bug: > + Chromium#449180 + origin: > + Bootstrap#15298 + +- + browser: > + Safari + summary: > + `width: 1%` on nested table cell causes its table to hog horizontal space. + upstream_bug: > + WebKit#144696, Safari#20839572 + origin: > + Bootstrap#16372 + +- + browser: > + Safari + summary: > + Incorrect placement of `position: fixed` element when it's a child of a `position: relative; left: X%;` element. + upstream_bug: > + WebKit#147284, Safari#21993128 + origin: > + Bootstrap#16814 + +- + browser: > + Safari (OS X) + summary: > + Scrollbar clipped in `select[multiple]` with padding. + upstream_bug: > + WebKit#128489, Safari#19208483 + origin: > + Bootstrap#12536 + +- + browser: > + Safari (OS X) + summary: > + Weird button behavior with some `` elements. + upstream_bug: > + WebKit#137269, Safari#18834768 + origin: > + Bootstrap#8350, + Normalize#283, + Chromium#337668 + +- + browser: > + Safari (OS X) + summary: > + Small font size when printing webpage with fixed-width `.container`. + upstream_bug: > + WebKit#138192, Safari#19435018 + origin: > + Bootstrap#14868 + +- + browser: > + Safari (OS X) + summary: > + Focus ring of image map within a modal is displayed in the wrong location. + upstream_bug: > + WebKit#143527, Safari#21908735 + origin: > + Bootstrap#16180 + +- + browser: > + Safari (iPad) + summary: > + `` + upstream_bug: > + WebKit#148061, Safari#22299624 + origin: > + Bootstrap#16988 + +- + browser: > + Safari (iOS) + summary: > + `display: block` causes text of temporal ``s to become vertically misaligned + upstream_bug: > + WebKit#139848, Safari#19434878 + origin: > + Bootstrap#11266, Bootstrap#13098 + +- + browser: > + Safari (iOS 9+) + summary: > + Sometimes excessive automatic zoom is applied after opening a modal, and the user isn't allowed to zoom out + upstream_bug: > + WebKit#150715 + origin: > + WebKit#138201 diff --git a/docs/_data/core-team.yml b/docs/_data/core-team.yml index a4acc9c2..8cfb2b1c 100644 --- a/docs/_data/core-team.yml +++ b/docs/_data/core-team.yml @@ -1,4 +1,4 @@ -- name: Fez Vrasta +- name: Federico Zivolo user: FezVrasta gravatar: diff --git a/docs/_data/icons.yml b/docs/_data/icons.yml deleted file mode 100644 index 00041a93..00000000 --- a/docs/_data/icons.yml +++ /dev/null @@ -1,763 +0,0 @@ -# This file is generated via Grunt task. **Do not edit directly.** -# See the 'build-icons-data' task in Gruntfile.js. - -- mdi-action-3d-rotation -- mdi-action-accessibility -- mdi-action-account-balance-wallet -- mdi-action-account-balance -- mdi-action-account-box -- mdi-action-account-child -- mdi-action-account-circle -- mdi-action-add-shopping-cart -- mdi-action-alarm-add -- mdi-action-alarm-off -- mdi-action-alarm-on -- mdi-action-alarm -- mdi-action-android -- mdi-action-announcement -- mdi-action-aspect-ratio -- mdi-action-assessment -- mdi-action-assignment-ind -- mdi-action-assignment-late -- mdi-action-assignment-return -- mdi-action-assignment-returned -- mdi-action-assignment-turned-in -- mdi-action-assignment -- mdi-action-autorenew -- mdi-action-backup -- mdi-action-book -- mdi-action-bookmark-outline -- mdi-action-bookmark -- mdi-action-bug-report -- mdi-action-cached -- mdi-action-check-circle -- mdi-action-class -- mdi-action-credit-card -- mdi-action-dashboard -- mdi-action-delete -- mdi-action-description -- mdi-action-dns -- mdi-action-done-all -- mdi-action-done -- mdi-action-event -- mdi-action-exit-to-app -- mdi-action-explore -- mdi-action-extension -- mdi-action-face-unlock -- mdi-action-favorite-outline -- mdi-action-favorite -- mdi-action-find-in-page -- mdi-action-find-replace -- mdi-action-flip-to-back -- mdi-action-flip-to-front -- mdi-action-get-app -- mdi-action-grade -- mdi-action-group-work -- mdi-action-help -- mdi-action-highlight-remove -- mdi-action-history -- mdi-action-home -- mdi-action-https -- mdi-action-info-outline -- mdi-action-info -- mdi-action-input -- mdi-action-invert-colors -- mdi-action-label-outline -- mdi-action-label -- mdi-action-language -- mdi-action-launch -- mdi-action-list -- mdi-action-lock-open -- mdi-action-lock-outline -- mdi-action-lock -- mdi-action-loyalty -- mdi-action-markunread-mailbox -- mdi-action-note-add -- mdi-action-open-in-browser -- mdi-action-open-in-new -- mdi-action-open-with -- mdi-action-pageview -- mdi-action-payment -- mdi-action-perm-camera-mic -- mdi-action-perm-contact-cal -- mdi-action-perm-data-setting -- mdi-action-perm-device-info -- mdi-action-perm-identity -- mdi-action-perm-media -- mdi-action-perm-phone-msg -- mdi-action-perm-scan-wifi -- mdi-action-picture-in-picture -- mdi-action-polymer -- mdi-action-print -- mdi-action-query-builder -- mdi-action-question-answer -- mdi-action-receipt -- mdi-action-redeem -- mdi-action-reorder -- mdi-action-report-problem -- mdi-action-restore -- mdi-action-room -- mdi-action-schedule -- mdi-action-search -- mdi-action-settings-applications -- mdi-action-settings-backup-restore -- mdi-action-settings-bluetooth -- mdi-action-settings-cell -- mdi-action-settings-display -- mdi-action-settings-ethernet -- mdi-action-settings-input-antenna -- mdi-action-settings-input-component -- mdi-action-settings-input-composite -- mdi-action-settings-input-hdmi -- mdi-action-settings-input-svideo -- mdi-action-settings-overscan -- mdi-action-settings-phone -- mdi-action-settings-power -- mdi-action-settings-remote -- mdi-action-settings-voice -- mdi-action-settings -- mdi-action-shop-two -- mdi-action-shop -- mdi-action-shopping-basket -- mdi-action-shopping-cart -- mdi-action-speaker-notes -- mdi-action-spellcheck -- mdi-action-star-rate -- mdi-action-stars -- mdi-action-store -- mdi-action-subject -- mdi-action-supervisor-account -- mdi-action-swap-horiz -- mdi-action-swap-vert-circle -- mdi-action-swap-vert -- mdi-action-system-update-tv -- mdi-action-tab-unselected -- mdi-action-tab -- mdi-action-theaters -- mdi-action-thumb-down -- mdi-action-thumb-up -- mdi-action-thumbs-up-down -- mdi-action-toc -- mdi-action-today -- mdi-action-track-changes -- mdi-action-translate -- mdi-action-trending-down -- mdi-action-trending-neutral -- mdi-action-trending-up -- mdi-action-turned-in-not -- mdi-action-turned-in -- mdi-action-verified-user -- mdi-action-view-agenda -- mdi-action-view-array -- mdi-action-view-carousel -- mdi-action-view-column -- mdi-action-view-day -- mdi-action-view-headline -- mdi-action-view-list -- mdi-action-view-module -- mdi-action-view-quilt -- mdi-action-view-stream -- mdi-action-view-week -- mdi-action-visibility-off -- mdi-action-visibility -- mdi-action-wallet-giftcard -- mdi-action-wallet-membership -- mdi-action-wallet-travel -- mdi-action-work -- mdi-alert-error -- mdi-alert-warning -- mdi-av-album -- mdi-av-closed-caption -- mdi-av-equalizer -- mdi-av-explicit -- mdi-av-fast-forward -- mdi-av-fast-rewind -- mdi-av-games -- mdi-av-hearing -- mdi-av-high-quality -- mdi-av-loop -- mdi-av-mic-none -- mdi-av-mic-off -- mdi-av-mic -- mdi-av-movie -- mdi-av-my-library-add -- mdi-av-my-library-books -- mdi-av-my-library-music -- mdi-av-new-releases -- mdi-av-not-interested -- mdi-av-pause-circle-fill -- mdi-av-pause-circle-outline -- mdi-av-pause -- mdi-av-play-arrow -- mdi-av-play-circle-fill -- mdi-av-play-circle-outline -- mdi-av-play-shopping-bag -- mdi-av-playlist-add -- mdi-av-queue-music -- mdi-av-queue -- mdi-av-radio -- mdi-av-recent-actors -- mdi-av-repeat-one -- mdi-av-repeat -- mdi-av-replay -- mdi-av-shuffle -- mdi-av-skip-next -- mdi-av-skip-previous -- mdi-av-snooze -- mdi-av-stop -- mdi-av-subtitles -- mdi-av-surround-sound -- mdi-av-timer -- mdi-av-video-collection -- mdi-av-videocam-off -- mdi-av-videocam -- mdi-av-volume-down -- mdi-av-volume-mute -- mdi-av-volume-off -- mdi-av-volume-up -- mdi-av-web -- mdi-communication-business -- mdi-communication-call-end -- mdi-communication-call-made -- mdi-communication-call-merge -- mdi-communication-call-missed -- mdi-communication-call-received -- mdi-communication-call-split -- mdi-communication-call -- mdi-communication-chat -- mdi-communication-clear-all -- mdi-communication-comment -- mdi-communication-contacts -- mdi-communication-dialer-sip -- mdi-communication-dialpad -- mdi-communication-dnd-on -- mdi-communication-email -- mdi-communication-forum -- mdi-communication-import-export -- mdi-communication-invert-colors-off -- mdi-communication-invert-colors-on -- mdi-communication-live-help -- mdi-communication-location-off -- mdi-communication-location-on -- mdi-communication-message -- mdi-communication-messenger -- mdi-communication-no-sim -- mdi-communication-phone -- mdi-communication-portable-wifi-off -- mdi-communication-quick-contacts-dialer -- mdi-communication-quick-contacts-mail -- mdi-communication-ring-volume -- mdi-communication-stay-current-landscape -- mdi-communication-stay-current-portrait -- mdi-communication-stay-primary-landscape -- mdi-communication-stay-primary-portrait -- mdi-communication-swap-calls -- mdi-communication-textsms -- mdi-communication-voicemail -- mdi-communication-vpn-key -- mdi-content-add-box -- mdi-content-add-circle-outline -- mdi-content-add-circle -- mdi-content-add -- mdi-content-archive -- mdi-content-backspace -- mdi-content-block -- mdi-content-clear -- mdi-content-content-copy -- mdi-content-content-cut -- mdi-content-content-paste -- mdi-content-create -- mdi-content-drafts -- mdi-content-filter-list -- mdi-content-flag -- mdi-content-forward -- mdi-content-gesture -- mdi-content-inbox -- mdi-content-link -- mdi-content-mail -- mdi-content-markunread -- mdi-content-redo -- mdi-content-remove-circle-outline -- mdi-content-remove-circle -- mdi-content-remove -- mdi-content-reply-all -- mdi-content-reply -- mdi-content-report -- mdi-content-save -- mdi-content-select-all -- mdi-content-send -- mdi-content-sort -- mdi-content-text-format -- mdi-content-undo -- mdi-editor-attach-file -- mdi-editor-attach-money -- mdi-editor-border-all -- mdi-editor-border-bottom -- mdi-editor-border-clear -- mdi-editor-border-color -- mdi-editor-border-horizontal -- mdi-editor-border-inner -- mdi-editor-border-left -- mdi-editor-border-outer -- mdi-editor-border-right -- mdi-editor-border-style -- mdi-editor-border-top -- mdi-editor-border-vertical -- mdi-editor-format-align-center -- mdi-editor-format-align-justify -- mdi-editor-format-align-left -- mdi-editor-format-align-right -- mdi-editor-format-bold -- mdi-editor-format-clear -- mdi-editor-format-color-fill -- mdi-editor-format-color-reset -- mdi-editor-format-color-text -- mdi-editor-format-indent-decrease -- mdi-editor-format-indent-increase -- mdi-editor-format-italic -- mdi-editor-format-line-spacing -- mdi-editor-format-list-bulleted -- mdi-editor-format-list-numbered -- mdi-editor-format-paint -- mdi-editor-format-quote -- mdi-editor-format-size -- mdi-editor-format-strikethrough -- mdi-editor-format-textdirection-l-to-r -- mdi-editor-format-textdirection-r-to-l -- mdi-editor-format-underline -- mdi-editor-functions -- mdi-editor-insert-chart -- mdi-editor-insert-comment -- mdi-editor-insert-drive-file -- mdi-editor-insert-emoticon -- mdi-editor-insert-invitation -- mdi-editor-insert-link -- mdi-editor-insert-photo -- mdi-editor-merge-type -- mdi-editor-mode-comment -- mdi-editor-mode-edit -- mdi-editor-publish -- mdi-editor-vertical-align-bottom -- mdi-editor-vertical-align-center -- mdi-editor-vertical-align-top -- mdi-editor-wrap-text -- mdi-file-attachment -- mdi-file-cloud-circle -- mdi-file-cloud-done -- mdi-file-cloud-download -- mdi-file-cloud-off -- mdi-file-cloud-queue -- mdi-file-cloud-upload -- mdi-file-cloud -- mdi-file-file-download -- mdi-file-file-upload -- mdi-file-folder-open -- mdi-file-folder-shared -- mdi-file-folder -- mdi-device-access-alarm -- mdi-device-access-alarms -- mdi-device-access-time -- mdi-device-add-alarm -- mdi-device-airplanemode-off -- mdi-device-airplanemode-on -- mdi-device-battery-20 -- mdi-device-battery-30 -- mdi-device-battery-50 -- mdi-device-battery-60 -- mdi-device-battery-80 -- mdi-device-battery-90 -- mdi-device-battery-alert -- mdi-device-battery-charging-20 -- mdi-device-battery-charging-30 -- mdi-device-battery-charging-50 -- mdi-device-battery-charging-60 -- mdi-device-battery-charging-80 -- mdi-device-battery-charging-90 -- mdi-device-battery-charging-full -- mdi-device-battery-full -- mdi-device-battery-std -- mdi-device-battery-unknown -- mdi-device-bluetooth-connected -- mdi-device-bluetooth-disabled -- mdi-device-bluetooth-searching -- mdi-device-bluetooth -- mdi-device-brightness-auto -- mdi-device-brightness-high -- mdi-device-brightness-low -- mdi-device-brightness-medium -- mdi-device-data-usage -- mdi-device-developer-mode -- mdi-device-devices -- mdi-device-dvr -- mdi-device-gps-fixed -- mdi-device-gps-not-fixed -- mdi-device-gps-off -- mdi-device-location-disabled -- mdi-device-location-searching -- mdi-device-multitrack-audio -- mdi-device-network-cell -- mdi-device-network-wifi -- mdi-device-nfc -- mdi-device-now-wallpaper -- mdi-device-now-widgets -- mdi-device-screen-lock-landscape -- mdi-device-screen-lock-portrait -- mdi-device-screen-lock-rotation -- mdi-device-screen-rotation -- mdi-device-sd-storage -- mdi-device-settings-system-daydream -- mdi-device-signal-cellular-0-bar -- mdi-device-signal-cellular-1-bar -- mdi-device-signal-cellular-2-bar -- mdi-device-signal-cellular-3-bar -- mdi-device-signal-cellular-4-bar -- mdi-signal-wifi-statusbar-connected-no-internet-after -- mdi-device-signal-cellular-connected-no-internet-0-bar -- mdi-device-signal-cellular-connected-no-internet-1-bar -- mdi-device-signal-cellular-connected-no-internet-2-bar -- mdi-device-signal-cellular-connected-no-internet-3-bar -- mdi-device-signal-cellular-connected-no-internet-4-bar -- mdi-device-signal-cellular-no-sim -- mdi-device-signal-cellular-null -- mdi-device-signal-cellular-off -- mdi-device-signal-wifi-0-bar -- mdi-device-signal-wifi-1-bar -- mdi-device-signal-wifi-2-bar -- mdi-device-signal-wifi-3-bar -- mdi-device-signal-wifi-4-bar -- mdi-device-signal-wifi-off -- mdi-device-signal-wifi-statusbar-1-bar -- mdi-device-signal-wifi-statusbar-2-bar -- mdi-device-signal-wifi-statusbar-3-bar -- mdi-device-signal-wifi-statusbar-4-bar -- mdi-device-signal-wifi-statusbar-connected-no-internet- -- mdi-device-signal-wifi-statusbar-connected-no-internet -- mdi-device-signal-wifi-statusbar-connected-no-internet-2 -- mdi-device-signal-wifi-statusbar-connected-no-internet-3 -- mdi-device-signal-wifi-statusbar-connected-no-internet-4 -- mdi-signal-wifi-statusbar-not-connected-after -- mdi-device-signal-wifi-statusbar-not-connected -- mdi-device-signal-wifi-statusbar-null -- mdi-device-storage -- mdi-device-usb -- mdi-device-wifi-lock -- mdi-device-wifi-tethering -- mdi-hardware-cast-connected -- mdi-hardware-cast -- mdi-hardware-computer -- mdi-hardware-desktop-mac -- mdi-hardware-desktop-windows -- mdi-hardware-dock -- mdi-hardware-gamepad -- mdi-hardware-headset-mic -- mdi-hardware-headset -- mdi-hardware-keyboard-alt -- mdi-hardware-keyboard-arrow-down -- mdi-hardware-keyboard-arrow-left -- mdi-hardware-keyboard-arrow-right -- mdi-hardware-keyboard-arrow-up -- mdi-hardware-keyboard-backspace -- mdi-hardware-keyboard-capslock -- mdi-hardware-keyboard-control -- mdi-hardware-keyboard-hide -- mdi-hardware-keyboard-return -- mdi-hardware-keyboard-tab -- mdi-hardware-keyboard-voice -- mdi-hardware-keyboard -- mdi-hardware-laptop-chromebook -- mdi-hardware-laptop-mac -- mdi-hardware-laptop-windows -- mdi-hardware-laptop -- mdi-hardware-memory -- mdi-hardware-mouse -- mdi-hardware-phone-android -- mdi-hardware-phone-iphone -- mdi-hardware-phonelink-off -- mdi-hardware-phonelink -- mdi-hardware-security -- mdi-hardware-sim-card -- mdi-hardware-smartphone -- mdi-hardware-speaker -- mdi-hardware-tablet-android -- mdi-hardware-tablet-mac -- mdi-hardware-tablet -- mdi-hardware-tv -- mdi-hardware-watch -- mdi-image-add-to-photos -- mdi-image-adjust -- mdi-image-assistant-photo -- mdi-image-audiotrack -- mdi-image-blur-circular -- mdi-image-blur-linear -- mdi-image-blur-off -- mdi-image-blur-on -- mdi-image-brightness-1 -- mdi-image-brightness-2 -- mdi-image-brightness-3 -- mdi-image-brightness-4 -- mdi-image-brightness-5 -- mdi-image-brightness-6 -- mdi-image-brightness-7 -- mdi-image-brush -- mdi-image-camera-alt -- mdi-image-camera-front -- mdi-image-camera-rear -- mdi-image-camera-roll -- mdi-image-camera -- mdi-image-center-focus-strong -- mdi-image-center-focus-weak -- mdi-image-collections -- mdi-image-color-lens -- mdi-image-colorize -- mdi-image-compare -- mdi-image-control-point-duplicate -- mdi-image-control-point -- mdi-image-crop-3-2 -- mdi-image-crop-5-4 -- mdi-image-crop-7-5 -- mdi-image-crop-16-9 -- mdi-image-crop-din -- mdi-image-crop-free -- mdi-image-crop-landscape -- mdi-image-crop-original -- mdi-image-crop-portrait -- mdi-image-crop-square -- mdi-image-crop -- mdi-image-dehaze -- mdi-image-details -- mdi-image-edit -- mdi-image-exposure-minus-1 -- mdi-image-exposure-minus-2 -- mdi-image-exposure-plus-1 -- mdi-image-exposure-plus-2 -- mdi-image-exposure-zero -- mdi-image-exposure -- mdi-image-filter-1 -- mdi-image-filter-2 -- mdi-image-filter-3 -- mdi-image-filter-4 -- mdi-image-filter-5 -- mdi-image-filter-6 -- mdi-image-filter-7 -- mdi-image-filter-8 -- mdi-image-filter-9-plus -- mdi-image-filter-9 -- mdi-image-filter-b-and-w -- mdi-image-filter-center-focus -- mdi-image-filter-drama -- mdi-image-filter-frames -- mdi-image-filter-hdr -- mdi-image-filter-none -- mdi-image-filter-tilt-shift -- mdi-image-filter-vintage -- mdi-image-filter -- mdi-image-flare -- mdi-image-flash-auto -- mdi-image-flash-off -- mdi-image-flash-on -- mdi-image-flip -- mdi-image-gradient -- mdi-image-grain -- mdi-image-grid-off -- mdi-image-grid-on -- mdi-image-hdr-off -- mdi-image-hdr-on -- mdi-image-hdr-strong -- mdi-image-hdr-weak -- mdi-image-healing -- mdi-image-image-aspect-ratio -- mdi-image-image -- mdi-image-iso -- mdi-image-landscape -- mdi-image-leak-add -- mdi-image-leak-remove -- mdi-image-lens -- mdi-image-looks-3 -- mdi-image-looks-4 -- mdi-image-looks-5 -- mdi-image-looks-6 -- mdi-image-looks-one -- mdi-image-looks-two -- mdi-image-looks -- mdi-image-loupe -- mdi-image-movie-creation -- mdi-image-nature-people -- mdi-image-nature -- mdi-image-navigate-before -- mdi-image-navigate-next -- mdi-image-palette -- mdi-image-panorama-fisheye -- mdi-image-panorama-horizontal -- mdi-image-panorama-vertical -- mdi-image-panorama-wide-angle -- mdi-image-panorama -- mdi-image-photo-album -- mdi-image-photo-camera -- mdi-image-photo-library -- mdi-image-photo -- mdi-image-portrait -- mdi-image-remove-red-eye -- mdi-image-rotate-left -- mdi-image-rotate-right -- mdi-image-slideshow -- mdi-image-straighten -- mdi-image-style -- mdi-image-switch-camera -- mdi-image-switch-video -- mdi-image-tag-faces -- mdi-image-texture -- mdi-image-timelapse -- mdi-image-timer-3 -- mdi-image-timer-10 -- mdi-image-timer-auto -- mdi-image-timer-off -- mdi-image-timer -- mdi-image-tonality -- mdi-image-transform -- mdi-image-tune -- mdi-image-wb-auto -- mdi-image-wb-cloudy -- mdi-image-wb-incandescent -- mdi-image-wb-irradescent -- mdi-image-wb-sunny -- mdi-maps-beenhere -- mdi-maps-directions-bike -- mdi-maps-directions-bus -- mdi-maps-directions-car -- mdi-maps-directions-ferry -- mdi-maps-directions-subway -- mdi-maps-directions-train -- mdi-maps-directions-transit -- mdi-maps-directions-walk -- mdi-maps-directions -- mdi-maps-flight -- mdi-maps-hotel -- mdi-maps-layers-clear -- mdi-maps-layers -- mdi-maps-local-airport -- mdi-maps-local-atm -- mdi-maps-local-attraction -- mdi-maps-local-bar -- mdi-maps-local-cafe -- mdi-maps-local-car-wash -- mdi-maps-local-convenience-store -- mdi-maps-local-drink -- mdi-maps-local-florist -- mdi-maps-local-gas-station -- mdi-maps-local-grocery-store -- mdi-maps-local-hospital -- mdi-maps-local-hotel -- mdi-maps-local-laundry-service -- mdi-maps-local-library -- mdi-maps-local-mall -- mdi-maps-local-movies -- mdi-maps-local-offer -- mdi-maps-local-parking -- mdi-maps-local-pharmacy -- mdi-maps-local-phone -- mdi-maps-local-pizza -- mdi-maps-local-play -- mdi-maps-local-post-office -- mdi-maps-local-print-shop -- mdi-maps-local-restaurant -- mdi-maps-local-see -- mdi-maps-local-shipping -- mdi-maps-local-taxi -- mdi-maps-location-history -- mdi-maps-map -- mdi-maps-my-location -- mdi-maps-navigation -- mdi-maps-pin-drop -- mdi-maps-place -- mdi-maps-rate-review -- mdi-maps-restaurant-menu -- mdi-maps-satellite -- mdi-maps-store-mall-directory -- mdi-maps-terrain -- mdi-maps-traffic -- mdi-navigation-apps -- mdi-navigation-arrow-back -- mdi-navigation-arrow-drop-down-circle -- mdi-navigation-arrow-drop-down -- mdi-navigation-arrow-drop-up -- mdi-navigation-arrow-forward -- mdi-navigation-cancel -- mdi-navigation-check -- mdi-navigation-chevron-left -- mdi-navigation-chevron-right -- mdi-navigation-close -- mdi-navigation-expand-less -- mdi-navigation-expand-more -- mdi-navigation-fullscreen-exit -- mdi-navigation-fullscreen -- mdi-navigation-menu -- mdi-navigation-more-horiz -- mdi-navigation-more-vert -- mdi-navigation-refresh -- mdi-navigation-unfold-less -- mdi-navigation-unfold-more -- mdi-notification-adb -- mdi-notification-bluetooth-audio -- mdi-notification-disc-full -- mdi-notification-dnd-forwardslash -- mdi-notification-do-not-disturb -- mdi-notification-drive-eta -- mdi-notification-event-available -- mdi-notification-event-busy -- mdi-notification-event-note -- mdi-notification-folder-special -- mdi-notification-mms -- mdi-notification-more -- mdi-notification-network-locked -- mdi-notification-phone-bluetooth-speaker -- mdi-notification-phone-forwarded -- mdi-notification-phone-in-talk -- mdi-notification-phone-locked -- mdi-notification-phone-missed -- mdi-notification-phone-paused -- mdi-notification-play-download -- mdi-notification-play-install -- mdi-notification-sd-card -- mdi-notification-sim-card-alert -- mdi-notification-sms-failed -- mdi-notification-sms -- mdi-notification-sync-disabled -- mdi-notification-sync-problem -- mdi-notification-sync -- mdi-notification-system-update -- mdi-notification-tap-and-play -- mdi-notification-time-to-leave -- mdi-notification-vibration -- mdi-notification-voice-chat -- mdi-notification-vpn-lock -- mdi-social-cake -- mdi-social-domain -- mdi-social-group-add -- mdi-social-group -- mdi-social-location-city -- mdi-social-mood -- mdi-social-notifications-none -- mdi-social-notifications-off -- mdi-social-notifications-on -- mdi-social-notifications-paused -- mdi-social-notifications -- mdi-social-pages -- mdi-social-party-mode -- mdi-social-people-outline -- mdi-social-people -- mdi-social-person-add -- mdi-social-person-outline -- mdi-social-person -- mdi-social-plus-one -- mdi-social-poll -- mdi-social-public -- mdi-social-school -- mdi-social-share -- mdi-social-whatshot -- mdi-toggle-check-box-outline-blank -- mdi-toggle-check-box -- mdi-toggle-radio-button-off -- mdi-toggle-radio-button-on -- mdi-toggle-star-half -- mdi-toggle-star-outline -- mdi-toggle-star diff --git a/docs/_data/nav.yml b/docs/_data/nav.yml new file mode 100644 index 00000000..b9239d2f --- /dev/null +++ b/docs/_data/nav.yml @@ -0,0 +1,64 @@ +- title: Getting started + pages: + - title: Introduction + - title: Download + - title: Browsers & devices + - title: Options + - title: Flexbox + - title: Build tools + - title: Best practices + +- title: Layout + pages: + - title: Overview + - title: Grid + - title: Media object + - title: Responsive utilities + +- title: Content + pages: + - title: Typography + - title: Code + - title: Images + - title: Tables + - title: Figures + +- title: Components + pages: + - title: Buttons + - title: Button group + - title: Button dropdown + - title: Forms + - title: Input group + - title: Dropdowns + - title: Jumbotron + - title: Label + - title: Alerts + - title: Card + - title: Navs + - title: Navbar + - title: Breadcrumb + - title: Pagination + - title: Progress + - title: List group + - title: Modal + - title: Scrollspy + - title: Tooltips + - title: Popovers + - title: Collapse + - title: Carousel + - title: Utilities + +# - title: Extend +# pages: +# - title: Approach +# - title: Icon fonts + +- title: About + pages: + - title: History + - title: Team +# - title: Accessibility + - title: License + +- title: Migration diff --git a/docs/_data/showcase.yml b/docs/_data/showcase.yml new file mode 100644 index 00000000..45e9b0cc --- /dev/null +++ b/docs/_data/showcase.yml @@ -0,0 +1,19 @@ +- name: Lyft + url: https://www.lyft.com + expo_url: http://expo.getbootstrap.com/2014/10/29/lyft/ + img: lyft + +- name: Vogue + url: http://www.vogue.com + expo_url: http://expo.getbootstrap.com/2014/09/30/vogue/ + img: vogue + +- name: Riot Design + url: http://riotdesign.eu/en/ + expo_url: http://expo.getbootstrap.com/2014/03/13/riot-design/ + img: riot + +- name: Newsweek + url: http://www.newsweek.com/ + expo_url: http://expo.getbootstrap.com/2014/02/12/newsweek/ + img: newsweek diff --git a/docs/_data/translations.yml b/docs/_data/translations.yml new file mode 100644 index 00000000..57bf28f5 --- /dev/null +++ b/docs/_data/translations.yml @@ -0,0 +1,9 @@ +- name: Chinese + code: zh + description: Bootstrap 中文文档 + url: http://v4.bootcss.com/ + +- name: Chinese + code: zh + description: Bootstrap 4 中文文档教程 + url: http://boot4.com/ diff --git a/docs/_includes/ads.html b/docs/_includes/ads.html index 25a226b4..b4c7639c 100644 --- a/docs/_includes/ads.html +++ b/docs/_includes/ads.html @@ -1,5 +1,8 @@ -
- -
Seems like you are using AdBlock to hide banners... Carbon ADS are quite nice and don't take much space, you may consider disabling it on this website.
This is the only AD on the entire website.

Thanks! + diff --git a/docs/_includes/components/alerts.html b/docs/_includes/components/alerts.html deleted file mode 100644 index 7487a968..00000000 --- a/docs/_includes/components/alerts.html +++ /dev/null @@ -1,89 +0,0 @@ -
-

Alerts

- -

Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages.

- -

Examples

-

Wrap any text and an optional dismiss button in .alert and one of the four contextual classes (e.g., .alert-success) for basic alert messages.

- -
-

No default class

-

Alerts don't have default classes, only base and modifier classes. A default gray alert doesn't make too much sense, so you're required to specify a type via contextual class. Choose from success, info, warning, or danger.

-
- -
- - - - -
-{% highlight html %} - - - - -{% endhighlight %} - -

Dismissible alerts

-

Build on any alert by adding an optional .alert-dismissible and close button.

-
-

Requires JavaScript alert plugin

-

For fully functioning, dismissible alerts, you must use the alerts JavaScript plugin.

-
-
- -
-{% highlight html %} - -{% endhighlight %} - -
-

Ensure proper behavior across all devices

-

Be sure to use the <button> element with the data-dismiss="alert" data attribute.

-
- - -

Use the .alert-link utility class to quickly provide matching colored links within any alert.

-
- - - - -
-{% highlight html %} - - - - -{% endhighlight %} -
diff --git a/docs/_includes/components/badges.html b/docs/_includes/components/badges.html deleted file mode 100644 index a7fff732..00000000 --- a/docs/_includes/components/badges.html +++ /dev/null @@ -1,45 +0,0 @@ -
-

Badges

- -

Easily highlight new or unread items by adding a <span class="badge"> to links, Bootstrap navs, and more.

- -
- Inbox 42 -

- -
-{% highlight html %} -Inbox 42 - - -{% endhighlight %} - -

Self collapsing

-

When there are no new or unread items, badges will simply collapse (via CSS's :empty selector) provided no content exists within.

- -
-

Cross-browser compatibility

-

Badges won't self collapse in Internet Explorer 8 because it lacks support for the :empty selector.

-
- -

Adapts to active nav states

-

Built-in styles are included for placing badges in active states in pill navigations.

-
- -
-{% highlight html %} - -{% endhighlight %} -
diff --git a/docs/_includes/components/breadcrumbs.html b/docs/_includes/components/breadcrumbs.html deleted file mode 100644 index 39c6c14b..00000000 --- a/docs/_includes/components/breadcrumbs.html +++ /dev/null @@ -1,27 +0,0 @@ -
-

Breadcrumbs

- -

Indicate the current page's location within a navigational hierarchy.

-

Separators are automatically added in CSS through :before and content.

-
- - - -
-{% highlight html %} - -{% endhighlight %} -
diff --git a/docs/_includes/components/button-dropdowns.html b/docs/_includes/components/button-dropdowns.html deleted file mode 100644 index 6f621086..00000000 --- a/docs/_includes/components/button-dropdowns.html +++ /dev/null @@ -1,321 +0,0 @@ -
-

Button dropdowns

- -

Use any button to trigger a dropdown menu by placing it within a .btn-group and providing the proper menu markup.

- -
-

Plugin dependency

-

Button dropdowns require the dropdown plugin to be included in your version of Bootstrap.

-
- -

Single button dropdowns

-

Turn a button into a dropdown toggle with some basic markup changes.

- -{% highlight html %} - - -{% endhighlight %} - -

Split button dropdowns

-

Similarly, create split button dropdowns with the same markup changes, only with a separate button.

-
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
-{% highlight html %} - -
- - - -
-{% endhighlight %} - -

Sizing

-

Button dropdowns work with buttons of all sizes.

-
- - - -
-{% highlight html %} - -
- - -
- - -
- - -
- - -
- - -
-{% endhighlight %} - -

Dropup variation

-

Trigger dropdown menus above elements by adding .dropup to the parent.

-
- -
-{% highlight html %} -
- - - -
-{% endhighlight %} -
diff --git a/docs/_includes/components/button-groups.html b/docs/_includes/components/button-groups.html deleted file mode 100644 index 58f39c71..00000000 --- a/docs/_includes/components/button-groups.html +++ /dev/null @@ -1,268 +0,0 @@ -
-

Button groups

- -

Group a series of buttons together on a single line with the button group. Add on optional JavaScript radio and checkbox style behavior with our buttons plugin.

- -
-

Tooltips & popovers in button groups require special setting

-

When using tooltips or popovers on elements within a .btn-group, you'll have to specify the option container: 'body' to avoid unwanted side effects (such as the element growing wider and/or losing its rounded corners when the tooltip or popover is triggered).

-
- -
-

Ensure correct role and provide a label

-

In order for assistive technologies – such as screen readers – to convey that a series of buttons is grouped, an appropriate role attribute needs to be provided. For button groups, this would be role="group", while toolbars should have a role="toolbar".

-

One exception are groups which only contain a single control (for instance the justified button groups with <button> elements) or a dropdown.

-

In addition, groups and toolbars should be given an explicit label, as most assistive technologies will otherwise not announce them, despite the presence of the correct role attribute. In the examples provided here, we use aria-label, but alternatives such as aria-labelledby can also be used.

-
- -

Basic example

-

Wrap a series of buttons with .btn in .btn-group.

-
-
- - - -
-
-{% highlight html %} -
- - - -
-{% endhighlight %} - -

Button toolbar

-

Combine sets of <div class="btn-group"> into a <div class="btn-toolbar"> for more complex components.

-
- -
-{% highlight html %} - -{% endhighlight %} - -

Sizing

-

Instead of applying button sizing classes to every button in a group, just add .btn-group-* to each .btn-group, including when nesting multiple groups.

-
-
- - - -
-
-
- - - -
-
-
- - - -
-
-
- - - -
-
-{% highlight html %} -
...
-
...
-
...
-
...
-{% endhighlight %} - -

Nesting

-

Place a .btn-group within another .btn-group when you want dropdown menus mixed with a series of buttons.

-
-
- - - -
- - -
-
-
-{% highlight html %} -
- - - -
- - -
-
-{% endhighlight %} - -

Vertical variation

-

Make a set of buttons appear vertically stacked rather than horizontally. Split button dropdowns are not supported here.

-
-
- - -
- - -
- - -
- - -
-
- - -
-
- - -
-
-
-{% highlight html %} -
- ... -
-{% endhighlight %} - -

Justified button groups

-

Make a group of buttons stretch at equal sizes to span the entire width of its parent. Also works with button dropdowns within the button group.

- -
-

Handling borders

-

Due to the specific HTML and CSS used to justify buttons (namely display: table-cell), the borders between them are doubled. In regular button groups, margin-left: -1px is used to stack the borders instead of removing them. However, margin doesn't work with display: table-cell. As a result, depending on your customizations to Bootstrap, you may wish to remove or re-color the borders.

-
-
-

IE8 and borders

-

Internet Explorer 8 doesn't render borders on buttons in a justified button group, whether it's on <a> or <button> elements. To get around that, wrap each button in another .btn-group.

-

See #12476 for more information.

-
- -

With <a> elements

-

Just wrap a series of .btns in .btn-group.btn-group-justified.

- -{% highlight html %} -
- ... -
-{% endhighlight %} - -
-

Links acting as buttons

-

If the <a> elements are used to act as buttons – triggering in-page functionality, rather than navigating to another document or section within the current page – they should also be given an appropriate role="button".

-
- -

With <button> elements

-

To use justified button groups with <button> elements, you must wrap each button in a button group. Most browsers don't properly apply our CSS for justification to <button> elements, but since we support button dropdowns, we can work around that.

-
-
-
- -
-
- -
-
- -
-
-
-{% highlight html %} -
-
- -
-
- -
-
- -
-
-{% endhighlight %} -
diff --git a/docs/_includes/components/dropdowns.html b/docs/_includes/components/dropdowns.html deleted file mode 100644 index 25dab56e..00000000 --- a/docs/_includes/components/dropdowns.html +++ /dev/null @@ -1,156 +0,0 @@ -
-

Dropdowns

- -

Toggleable, contextual menu for displaying lists of links. Made interactive with the dropdown JavaScript plugin.

- - -

Wrap the dropdown's trigger and the dropdown menu within .dropdown, or another element that declares position: relative;. Then add the menu's HTML.

-
- -
-{% highlight html %} - -{% endhighlight %} - -

Dropdown menus can be changed to expand upwards (instead of downwards) by adding .dropup to the parent.

-
-
- - -
-
-{% highlight html %} - -{% endhighlight %} - - -

By default, a dropdown menu is automatically positioned 100% from the top and along the left side of its parent. Add .dropdown-menu-right to a .dropdown-menu to right align the dropdown menu.

-
-

May require additional positioning

-

Dropdowns are automatically positioned via CSS within the normal flow of the document. This means dropdowns may be cropped by parents with certain overflow properties or appear out of bounds of the viewport. Address these issues on your own as they arise.

-
-
-

Deprecated .pull-right alignment

-

As of v3.1.0, we've deprecated .pull-right on dropdown menus. To right-align a menu, use .dropdown-menu-right. Right-aligned nav components in the navbar use a mixin version of this class to automatically align the menu. To override it, use .dropdown-menu-left.

-
-{% highlight html %} - -{% endhighlight %} - - -

Add a header to label sections of actions in any dropdown menu.

-
- -
-{% highlight html %} - -{% endhighlight %} - - -

Add a divider to separate series of links in a dropdown menu.

-
- -
-{% highlight html %} - -{% endhighlight %} - - -

Add .disabled to a <li> in the dropdown to disable the link.

-
- -
-{% highlight html %} - -{% endhighlight %} -
diff --git a/docs/_includes/components/icons.html b/docs/_includes/components/icons.html deleted file mode 100644 index 11bdd61b..00000000 --- a/docs/_includes/components/icons.html +++ /dev/null @@ -1,95 +0,0 @@ -
-

Icons

- -

Available icons

-

Includes {{ site.data.icons.size }} icons in font format.

-
-
    - {% for iconClassName in site.data.icons %} -
  • - - - {{ iconClassName }} -
  • - {% endfor %} -
-
- - -

How to use

-

For performance reasons, all icons require a base class and individual icon class. To use, place the following code just about anywhere. Be sure to leave a space between the icon and text for proper padding.

-
-

Don't mix with other components

-

Icon classes cannot be directly combined with other components. They should not be used along with other classes on the same element. Instead, add a nested <span> and apply the icon classes to the <span>.

-
-
-

Only for use on empty elements

-

Icon classes should only be used on elements that contain no text content and have no child elements.

-
-
-

Changing the icon font location

-

Bootstrap assumes icon font files will be located in the ../fonts/ directory, relative to the compiled CSS files. Moving or renaming those font files means updating the CSS in one of three ways:

-
    -
  • Change the @icon-font-path and/or @icon-font-name variables in the source Less files.
  • -
  • Utilize the relative URLs option provided by the Less compiler.
  • -
  • Change the url() paths in the compiled CSS.
  • -
-

Use whatever option best suits your specific development setup.

-
-
-

Accessible icons

-

Modern versions of assistive technologies will announce CSS generated content, as well as specific Unicode characters. To avoid unintended and confusing output in screen readers (particularly when icons are used purely for decoration), we hide them with the aria-hidden="true" attribute.

-

If you're using an icon to convey meaning (rather than only as a decorative element), ensure that this meaning is also conveyed to assistive technologies – for instance, include additional content, visually hidden with the .sr-only class.

-

If you're creating controls with no other text (such as a <button> that only contains an icon), you should always provide alternative content to identify the purpose of the control, so that it will make sense to users of assistive technologies. In this case, you could add an aria-label attribute on the control itself.

-
-{% highlight html %} - -{% endhighlight %} - - -

Examples

-

Use them in buttons, button groups for a toolbar, navigation, or prepended form inputs.

-
- - -
-{% highlight html %} - - - -{% endhighlight %} -

An icon used in an alert to convey that it's an error message, with additional .sr-only text to convey this hint to users of assistive technologies.

-
- -
-{% highlight html %} - -{% endhighlight %} -
diff --git a/docs/_includes/components/input-groups.html b/docs/_includes/components/input-groups.html deleted file mode 100644 index 6453af1c..00000000 --- a/docs/_includes/components/input-groups.html +++ /dev/null @@ -1,365 +0,0 @@ -
-

Input groups

- -

Extend form controls by adding text or buttons before, after, or on both sides of any text-based <input>. Use .input-group with an .input-group-addon or .input-group-btn to prepend or append elements to a single .form-control.

- -
-

Textual <input>s only

-

Avoid using <select> elements here as they cannot be fully styled in WebKit browsers.

-

Avoid using <textarea> elements here as their rows attribute will not be respected in some cases.

-
-
-

Tooltips & popovers in input groups require special setting

-

When using tooltips or popovers on elements within an .input-group, you'll have to specify the option container: 'body' to avoid unwanted side effects (such as the element growing wider and/or losing its rounded corners when the tooltip or popover is triggered).

-
-
-

Don't mix with other components

-

Do not mix form groups or grid column classes directly with input groups. Instead, nest the input group inside of the form group or grid-related element.

-
-
-

Always add labels

-

Screen readers will have trouble with your forms if you don't include a label for every input. For these input groups, ensure that any additional label or functionality is conveyed to assistive technologies.

-

The exact technique to be used (visible <label> elements, <label> elements hidden using the .sr-only class, or use of the aria-label, aria-labelledby, aria-describedby, title or placeholder attribute) and what additional information will need to be conveyed will vary depending on the exact type of interface widget you're implementing. The examples in this section provide a few suggested, case-specific approaches.

-
- -

Basic example

-

Place one add-on or button on either side of an input. You may also place one on both sides of an input.

-

We do not support multiple add-ons (.input-group-addon or .input-group-btn) on a single side.

-

We do not support multiple form-controls in a single input group.

-
-
- @ - -
-
-
- - @example.com -
-
-
- $ - - .00 -
-
- -
- https://example.com/users/ - -
-
-{% highlight html %} -
- @ - -
- -
- - @example.com -
- -
- $ - - .00 -
- - -
- https://example.com/users/ - -
-{% endhighlight %} - -

Sizing

-

Add the relative form sizing classes to the .input-group itself and contents within will automatically resize—no need for repeating the form control size classes on each element.

-
-
- @ - -
-
-
- @ - -
-
-
- @ - -
-
-{% highlight html %} -
- @ - -
- -
- @ - -
- -
- @ - -
-{% endhighlight %} - -

Checkboxes and radio addons

-

Place any checkbox or radio option within an input group's addon instead of text.

-
-
-
-
- - - - -
-
-
-
- - - - -
-
-
-
-{% highlight html %} -
-
-
- - - - -
-
-
-
- - - - -
-
-
-{% endhighlight %} - -

Button addons

-

Buttons in input groups are a bit different and require one extra level of nesting. Instead of .input-group-addon, you'll need to use .input-group-btn to wrap the buttons. This is required due to default browser styles that cannot be overridden.

-
-
-
-
- - - - -
-
-
-
- - - - -
-
-
-
-{% highlight html %} -
-
-
- - - - -
-
-
-
- - - - -
-
-
-{% endhighlight %} - -

Buttons with dropdowns

-
-
-
-
- - -
-
-
-
- - -
-
-
-
-{% highlight html %} -
-
-
- - -
-
-
-
- - -
-
-
-{% endhighlight %} - -

Segmented buttons

-
-
-
-
-
- - - -
- -
-
-
-
- -
- - - -
-
-
-
-
-{% highlight html %} -
-
- -
- -
- -
- -
- -
-
-{% endhighlight %} - -

Multiple buttons

-

While you can only have one add-on per side, you can have multiple buttons inside a single .input-group-btn.

-
-
-
-
-
- - -
- -
-
-
-
- -
- - -
-
-
-
-
-{% highlight html %} -
-
- -
- -
- -
- -
- -
-
-{% endhighlight %} -
diff --git a/docs/_includes/components/jumbotron.html b/docs/_includes/components/jumbotron.html deleted file mode 100644 index b61ffe06..00000000 --- a/docs/_includes/components/jumbotron.html +++ /dev/null @@ -1,27 +0,0 @@ -
-

Jumbotron

- -

A lightweight, flexible component that can optionally extend the entire viewport to showcase key content on your site.

-
-
-

Hello, world!

-

This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.

-

Learn more

-
-
-{% highlight html %} -
-

Hello, world!

-

...

-

Learn more

-
-{% endhighlight %} -

To make the jumbotron full width, and without rounded corners, place it outside all .containers and instead add a .container within.

-{% highlight html %} -
-
- ... -
-
-{% endhighlight %} -
diff --git a/docs/_includes/components/labels.html b/docs/_includes/components/labels.html deleted file mode 100644 index dfaa57da..00000000 --- a/docs/_includes/components/labels.html +++ /dev/null @@ -1,40 +0,0 @@ -
-

Labels

- -

Example

-
-

Example heading New

-

Example heading New

-

Example heading New

-

Example heading New

-
Example heading New
-
Example heading New
-
-{% highlight html %} -

Example heading New

-{% endhighlight %} - -

Available variations

-

Add any of the below mentioned modifier classes to change the appearance of a label.

-
- Default - Primary - Success - Info - Warning - Danger -
-{% highlight html %} -Default -Primary -Success -Info -Warning -Danger -{% endhighlight %} - -
-

Have tons of labels?

-

Rendering problems can arise when you have dozens of inline labels within a narrow container, each containing its own inline-block element (like an icon). The way around this is setting display: inline-block;. For context and an example, see #13219.

-
-
diff --git a/docs/_includes/components/list-group.html b/docs/_includes/components/list-group.html deleted file mode 100644 index f192896c..00000000 --- a/docs/_includes/components/list-group.html +++ /dev/null @@ -1,188 +0,0 @@ -
-

List group

- -

List groups are a flexible and powerful component for displaying not only simple lists of elements, but complex ones with custom content.

- -

Basic example

-

The most basic list group is simply an unordered list with list items, and the proper classes. Build upon it with the options that follow, or your own CSS as needed.

-
-
    -
  • Cras justo odio
  • -
  • Dapibus ac facilisis in
  • -
  • Morbi leo risus
  • -
  • Porta ac consectetur ac
  • -
  • Vestibulum at eros
  • -
-
-{% highlight html %} -
    -
  • Cras justo odio
  • -
  • Dapibus ac facilisis in
  • -
  • Morbi leo risus
  • -
  • Porta ac consectetur ac
  • -
  • Vestibulum at eros
  • -
-{% endhighlight %} - -

Badges

-

Add the badges component to any list group item and it will automatically be positioned on the right.

-
-
    -
  • - 14 - Cras justo odio -
  • -
  • - 2 - Dapibus ac facilisis in -
  • -
  • - 1 - Morbi leo risus -
  • -
-
-{% highlight html %} -
    -
  • - 14 - Cras justo odio -
  • -
-{% endhighlight %} - -

Linked items

-

Linkify list group items by using anchor tags instead of list items (that also means a parent <div> instead of an <ul>). No need for individual parents around each element.

- -{% highlight html %} - -{% endhighlight %} - -

Button items

-

List group items may be buttons instead of list items (that also means a parent <div> instead of an <ul>). No need for individual parents around each element. Don't use the standard .btn classes here.

-
-
- - - - - -
-
-{% highlight html %} -
- - - - - -
-{% endhighlight %} - -

Disabled items

-

Add .disabled to a .list-group-item to gray it out to appear disabled.

- -{% highlight html %} - -{% endhighlight %} - -

Contextual classes

-

Use contextual classes to style list items, default or linked. Also includes .active state.

-
-
-
-
    -
  • Dapibus ac facilisis in
  • -
  • Cras sit amet nibh libero
  • -
  • Porta ac consectetur ac
  • -
  • Vestibulum at eros
  • -
-
- -
-
-{% highlight html %} -
    -
  • Dapibus ac facilisis in
  • -
  • Cras sit amet nibh libero
  • -
  • Porta ac consectetur ac
  • -
  • Vestibulum at eros
  • -
- -{% endhighlight %} - -

Custom content

-

Add nearly any HTML within, even for linked list groups like the one below.

- -{% highlight html %} - -{% endhighlight %} -
diff --git a/docs/_includes/components/media.html b/docs/_includes/components/media.html deleted file mode 100644 index f03a1259..00000000 --- a/docs/_includes/components/media.html +++ /dev/null @@ -1,207 +0,0 @@ -
-

Media object

- -

Abstract object styles for building various types of components (like blog comments, Tweets, etc) that feature a left- or right-aligned image alongside textual content.

- -

Default media

-

The default media displays a media object (images, video, audio) to the left or right of a content block.

-
-
-
- - Generic placeholder image - -
-
-

Media heading

- Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus. -
-
-
-
- - Generic placeholder image - -
-
-

Media heading

- Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus. -
-
- - Generic placeholder image - -
-
-

Nested media heading

- Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus. -
-
-
-
-
-
-

Media heading

- Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. -
-
- - Generic placeholder image - -
-
-
-
- - Generic placeholder image - -
-
-

Media heading

- Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. -
-
- - Generic placeholder image - -
-
-
-{% highlight html %} -
-
- - ... - -
-
-

Media heading

- ... -
-
-{% endhighlight %} - -

The classes .pull-left and .pull-right also exist and were previously used as part of the media component, but are deprecated for that use as of v3.3.0. They are approximately equivalent to .media-left and .media-right, except that .media-right should be placed after the .media-body in the html.

-

Media alignment

-

The images or other media can be aligned top, middle, or bottom. The default is top aligned.

-
-
-
- - Generic placeholder image - -
-
-

Top aligned media

-

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.

-

Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

-
-
-
-
- - Generic placeholder image - -
-
-

Middle aligned media

-

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.

-

Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

-
-
-
-
- - Generic placeholder image - -
-
-

Bottom aligned media

-

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.

-

Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.

-
-
-
-{% highlight html %} -
-
- - ... - -
-
-

Middle aligned media

- ... -
-
-{% endhighlight %} - -

Media list

-

With a bit of extra markup, you can use media inside list (useful for comment threads or articles lists).

-
-
    -
  • -
    - - Generic placeholder image - -
    -
    -

    Media heading

    -

    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.

    - -
    -
    - - Generic placeholder image - -
    -
    -

    Nested media heading

    - Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. - -
    -
    - - Generic placeholder image - -
    -
    -

    Nested media heading

    - Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. -
    -
    -
    -
    - -
    -
    - - Generic placeholder image - -
    -
    -

    Nested media heading

    - Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. -
    -
    -
    -
  • -
-
-{% highlight html %} -
    -
  • -
    - - ... - -
    -
    -

    Media heading

    - ... -
    -
  • -
-{% endhighlight %} -
diff --git a/docs/_includes/components/navbar.html b/docs/_includes/components/navbar.html deleted file mode 100644 index 418da791..00000000 --- a/docs/_includes/components/navbar.html +++ /dev/null @@ -1,461 +0,0 @@ -
-

Navbar

- - -

Navbars are responsive meta components that serve as navigation headers for your application or site. They begin collapsed (and are toggleable) in mobile views and become horizontal as the available viewport width increases.

-

Justified navbar nav links are currently not supported.

- -
-

Overflowing content

-

Since Bootstrap doesn't know how much space the content in your navbar needs, you might run into issues with content wrapping into a second row. To resolve this, you can:

-
    -
  1. Reduce the amount or width of navbar items.
  2. -
  3. Hide certain navbar items at certain screen sizes using responsive utility classes.
  4. -
  5. Change the point at which your navbar switches between collapsed and horizontal mode. Customize the @grid-float-breakpoint variable or add your own media query.
  6. -
-
-
-

Requires JavaScript plugin

-

If JavaScript is disabled and the viewport is narrow enough that the navbar collapses, it will be impossible to expand the navbar and view the content within the .navbar-collapse.

-

The responsive navbar requires the collapse plugin to be included in your version of Bootstrap.

-
-
-

Changing the collapsed mobile navbar breakpoint

-

The navbar collapses into its vertical mobile view when the viewport is narrower than @grid-float-breakpoint, and expands into its horizontal non-mobile view when the viewport is at least @grid-float-breakpoint in width. Adjust this variable in the Less source to control when the navbar collapses/expands. The default value is 768px (the smallest "small" or "tablet" screen).

-
-
-

Make navbars accessible

-

Be sure to use a <nav> element or, if using a more generic element such as a <div>, add a role="navigation" to every navbar to explicitly identify it as a landmark region for users of assistive technologies.

-
- -
- -
-{% highlight html %} - -{% endhighlight %} - - - -

Replace the navbar brand with your own image by swapping the text for an <img>. Since the .navbar-brand has its own padding and height, you may need to override some CSS depending on your image.

-
- -
-{% highlight html %} - -{% endhighlight %} - - - -

Place form content within .navbar-form for proper vertical alignment and collapsed behavior in narrow viewports. Use the alignment options to decide where it resides within the navbar content.

-

As a heads up, .navbar-form shares much of its code with .form-inline via mixin. Some form controls, like input groups, may require fixed widths to be show up properly within a navbar.

-
- -
-{% highlight html %} - -{% endhighlight %} - -
-

Mobile device caveats

-

There are some caveats regarding using form controls within fixed elements on mobile devices. See our browser support docs for details.

-
- -
-

Always add labels

-

Screen readers will have trouble with your forms if you don't include a label for every input. For these inline forms, you can hide the labels using the .sr-only class. There are further alternative methods of providing a label for assistive technologies, such as the aria-label, aria-labelledby or title attribute. If none of these is present, screen readers may resort to using the placeholder attribute, if present, but note that use of placeholder as a replacement for other labelling methods is not advised.

-
- - - -

Add the .navbar-btn class to <button> elements not residing in a <form> to vertically center them in the navbar.

-
- -
-{% highlight html %} - -{% endhighlight %} - -
-

Context-specific usage

-

Like the standard button classes, .navbar-btn can be used on <a> and <input> elements. However, neither .navbar-btn nor the standard button classes should be used on <a> elements within .navbar-nav.

-
- - -

Wrap strings of text in an element with .navbar-text, usually on a <p> tag for proper leading and color.

-
- -
-{% highlight html %} - -{% endhighlight %} - - - -

For folks using standard links that are not within the regular navbar navigation component, use the .navbar-link class to add the proper colors for the default and inverse navbar options.

-
- -
-{% highlight html %} - -{% endhighlight %} - - - -

Align nav links, forms, buttons, or text, using the .navbar-left or .navbar-right utility classes. Both classes will add a CSS float in the specified direction. For example, to align nav links, put them in a separate <ul> with the respective utility class applied.

-

These classes are mixin-ed versions of .pull-left and .pull-right, but they're scoped to media queries for easier handling of navbar components across device sizes.

-
-

Right aligning multiple components

-

Navbars currently have a limitation with multiple .navbar-right classes. To properly space content, we use negative margin on the last .navbar-right element. When there are multiple elements using that class, these margins don't work as intended.

-

We'll revisit this when we can rewrite that component in v4.

-
- - - -

Add .navbar-fixed-top and include a .container or .container-fluid to center and pad navbar content.

-
- -
-{% highlight html %} - -{% endhighlight %} - -
-

Body padding required

-

The fixed navbar will overlay your other content, unless you add padding to the top of the <body>. Try out your own values or use our snippet below. Tip: By default, the navbar is 50px high.

-{% highlight scss %} -body { padding-top: 70px; } -{% endhighlight %} -

Make sure to include this after the core Bootstrap CSS.

-
- - - -

Add .navbar-fixed-bottom and include a .container or .container-fluid to center and pad navbar content.

-
- -
-{% highlight html %} - -{% endhighlight %} - -
-

Body padding required

-

The fixed navbar will overlay your other content, unless you add padding to the bottom of the <body>. Try out your own values or use our snippet below. Tip: By default, the navbar is 50px high.

-{% highlight scss %} -body { padding-bottom: 70px; } -{% endhighlight %} -

Make sure to include this after the core Bootstrap CSS.

-
- - - -

Create a full-width navbar that scrolls away with the page by adding .navbar-static-top and include a .container or .container-fluid to center and pad navbar content.

-

Unlike the .navbar-fixed-* classes, you do not need to change any padding on the body.

-
- -
-{% highlight html %} - -{% endhighlight %} - - - -

Modify the look of the navbar by adding .navbar-inverse.

-
- -
-{% highlight html %} - -{% endhighlight %} -
diff --git a/docs/_includes/components/navs.html b/docs/_includes/components/navs.html deleted file mode 100644 index cb1bc01b..00000000 --- a/docs/_includes/components/navs.html +++ /dev/null @@ -1,189 +0,0 @@ -
-

Navs

- -

Navs available in Bootstrap have shared markup, starting with the base .nav class, as well as shared states. Swap modifier classes to switch between each style.

- -
-

Using navs for tab panels requires JavaScript tabs plugin

-

For tabs with tabbable areas, you must use the tabs JavaScript plugin. The markup will also require additional role and ARIA attributes – see the plugin's example markup for further details.

-
- -
-

Make navs used as navigation accessible

-

If you are using navs to provide a navigation bar, be sure to add a role="navigation" to the most logical parent container of the <ul>, or wrap a <nav> element around the whole navigation. Do not add the role to the <ul> itself, as this would prevent it from being announced as an actual list by assistive technologies.

-
- - -

Note the .nav-tabs class requires the .nav base class.

-
- -
-{% highlight html %} - -{% endhighlight %} - - - -

Take that same HTML, but use .nav-pills instead:

-
- -
-{% highlight html %} - -{% endhighlight %} -

Pills are also vertically stackable. Just add .nav-stacked.

-
- -
-{% highlight html %} - -{% endhighlight %} - - - -

Easily make tabs or pills equal widths of their parent at screens wider than 768px with .nav-justified. On smaller screens, the nav links are stacked.

-

Justified navbar nav links are currently not supported.

-
-

Safari and responsive justified navs

-

As of v8.0, Safari exhibits a bug in which resizing your browser horizontally causes rendering errors in the justified nav that are cleared upon refreshing. This bug is also shown in the justified nav example.

-
-
- -
- -
-{% highlight html %} - - -{% endhighlight %} - - - -

For any nav component (tabs or pills), add .disabled for gray links and no hover effects.

- -
-

Link functionality not impacted

-

This class will only change the <a>'s appearance, not its functionality. Use custom JavaScript to disable links here.

-
- - -{% highlight html %} - -{% endhighlight %} - - - -

Add dropdown menus with a little extra HTML and the dropdowns JavaScript plugin.

- -

Tabs with dropdowns

- -{% highlight html %} - -{% endhighlight %} - -

Pills with dropdowns

- -{% highlight html %} - -{% endhighlight %} -
diff --git a/docs/_includes/components/page-header.html b/docs/_includes/components/page-header.html deleted file mode 100644 index 3f7a8a09..00000000 --- a/docs/_includes/components/page-header.html +++ /dev/null @@ -1,15 +0,0 @@ -
-

Page header

- -

A simple shell for an h1 to appropriately space out and segment sections of content on a page. It can utilize the h1's default small element, as well as most other components (with additional styles).

-
- -
-{% highlight html %} - -{% endhighlight %} -
diff --git a/docs/_includes/components/pagination.html b/docs/_includes/components/pagination.html deleted file mode 100644 index 46ee1f1e..00000000 --- a/docs/_includes/components/pagination.html +++ /dev/null @@ -1,197 +0,0 @@ -
-

Pagination

- -

Provide pagination links for your site or app with the multi-page pagination component, or the simpler pager alternative.

- -

Default pagination

-

Simple pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.

-
- -
-{% highlight html %} - -{% endhighlight %} - -

Disabled and active states

-

Links are customizable for different circumstances. Use .disabled for unclickable links and .active to indicate the current page.

-
- -
-{% highlight html %} - -{% endhighlight %} -

You can optionally swap out active or disabled anchors for <span>, or omit the anchor in the case of the previous/next arrows, to remove click functionality while retaining intended styles.

-{% highlight html %} - -{% endhighlight %} - - -

Sizing

-

Fancy larger or smaller pagination? Add .pagination-lg or .pagination-sm for additional sizes.

-
- - - -
-{% highlight html %} - - - -{% endhighlight %} - - -

Pager

-

Quick previous and next links for simple pagination implementations with light markup and styles. It's great for simple sites like blogs or magazines.

- -

Default example

-

By default, the pager centers links.

-
- -
-{% highlight html %} - -{% endhighlight %} - -

Aligned links

-

Alternatively, you can align each link to the sides:

-
- -
-{% highlight html %} - -{% endhighlight %} - - -

Optional disabled state

-

Pager links also use the general .disabled utility class from the pagination.

-
- -
-{% highlight html %} - -{% endhighlight %} -
diff --git a/docs/_includes/components/panels.html b/docs/_includes/components/panels.html deleted file mode 100644 index 97ce8625..00000000 --- a/docs/_includes/components/panels.html +++ /dev/null @@ -1,279 +0,0 @@ -
-

Panels

- -

While not always necessary, sometimes you need to put your DOM in a box. For those situations, try the panel component.

- -

Basic example

-

By default, all the .panel does is apply some basic border and padding to contain some content.

-
-
-
- Basic panel example -
-
-
-{% highlight html %} -
-
- Basic panel example -
-
-{% endhighlight %} - -

Panel with heading

-

Easily add a heading container to your panel with .panel-heading. You may also include any <h1>-<h6> with a .panel-title class to add a pre-styled heading. However, the font sizes of <h1>-<h6> are overridden by .panel-heading.

-

For proper link coloring, be sure to place links in headings within .panel-title.

-
-
-
Panel heading without title
-
- Panel content -
-
-
-
-

Panel title

-
-
- Panel content -
-
-
-{% highlight html %} -
-
Panel heading without title
-
- Panel content -
-
- -
-
-

Panel title

-
-
- Panel content -
-
-{% endhighlight %} - - -

Wrap buttons or secondary text in .panel-footer. Note that panel footers do not inherit colors and borders when using contextual variations as they are not meant to be in the foreground.

-
-
-
- Panel content -
- -
-
-{% highlight html %} -
-
- Panel content -
- -
-{% endhighlight %} - -

Contextual alternatives

-

Like other components, easily make a panel more meaningful to a particular context by adding any of the contextual state classes.

-
-
-
-

Panel title

-
-
- Panel content -
-
-
-
-

Panel title

-
-
- Panel content -
-
-
-
-

Panel title

-
-
- Panel content -
-
-
-
-

Panel title

-
-
- Panel content -
-
-
-
-

Panel title

-
-
- Panel content -
-
-
-{% highlight html %} -
...
-
...
-
...
-
...
-
...
-{% endhighlight %} - -

With tables

-

Add any non-bordered .table within a panel for a seamless design. If there is a .panel-body, we add an extra border to the top of the table for separation.

-
-
- -
Panel heading
-
-

Some default panel content here. Nulla vitae elit libero, a pharetra augue. Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nullam id dolor id nibh ultricies vehicula ut id elit.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
-
-
-{% highlight html %} -
- -
Panel heading
-
-

...

-
- - - - ... -
-
-{% endhighlight %} - -

If there is no panel body, the component moves from panel header to table without interruption.

-
-
- -
Panel heading
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
-
-
-{% highlight html %} -
- -
Panel heading
- - - - ... -
-
-{% endhighlight %} - - -

With list groups

-

Easily include full-width list groups within any panel.

-
-
- -
Panel heading
-
-

Some default panel content here. Nulla vitae elit libero, a pharetra augue. Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nullam id dolor id nibh ultricies vehicula ut id elit.

-
- - -
    -
  • Cras justo odio
  • -
  • Dapibus ac facilisis in
  • -
  • Morbi leo risus
  • -
  • Porta ac consectetur ac
  • -
  • Vestibulum at eros
  • -
-
-
-{% highlight html %} -
- -
Panel heading
-
-

...

-
- - -
    -
  • Cras justo odio
  • -
  • Dapibus ac facilisis in
  • -
  • Morbi leo risus
  • -
  • Porta ac consectetur ac
  • -
  • Vestibulum at eros
  • -
-
-{% endhighlight %} -
diff --git a/docs/_includes/components/progress-bars.html b/docs/_includes/components/progress-bars.html deleted file mode 100644 index 13b76539..00000000 --- a/docs/_includes/components/progress-bars.html +++ /dev/null @@ -1,214 +0,0 @@ -
-

Progress bars

- -

Provide up-to-date feedback on the progress of a workflow or action with simple yet flexible progress bars.

- -
-

Cross-browser compatibility

-

Progress bars use CSS3 transitions and animations to achieve some of their effects. These features are not supported in Internet Explorer 9 and below or older versions of Firefox. Opera 12 does not support animations.

-
- -
-

Content Security Policy (CSP) compatibility

-

If your website has a Content Security Policy (CSP) which doesn't allow style-src 'unsafe-inline', then you won't be able to use inline style attributes to set progress bar widths as shown in our examples below. Alternative methods for setting the widths that are compatible with strict CSPs include using a little custom JavaScript (that sets element.style.width) or using custom CSS classes.

-
- -

Basic example

-

Default progress bar.

-
-
-
- 60% Complete -
-
-
-{% highlight html %} -
-
- 60% Complete -
-
-{% endhighlight %} - -

With label

-

Remove the <span> with .sr-only class from within the progress bar to show a visible percentage.

-
-
-
- 60% -
-
-
-{% highlight html %} -
-
- 60% -
-
-{% endhighlight %} -

To ensure that the label text remains legible even for low percentages, consider adding a min-width to the progress bar.

-
-
-
- 0% -
-
-
-
- 2% -
-
-
-{% highlight html %} -
-
- 0% -
-
-
-
- 2% -
-
-{% endhighlight %} - - -

Contextual alternatives

-

Progress bars use some of the same button and alert classes for consistent styles.

-
-
-
- 40% Complete (success) -
-
-
-
- 20% Complete -
-
-
-
- 60% Complete (warning) -
-
-
-
- 80% Complete (danger) -
-
-
-{% highlight html %} -
-
- 40% Complete (success) -
-
-
-
- 20% Complete -
-
-
-
- 60% Complete (warning) -
-
-
-
- 80% Complete (danger) -
-
-{% endhighlight %} - -

Striped

-

Uses a gradient to create a striped effect. Not available in IE9 and below.

-
-
-
- 40% Complete (success) -
-
-
-
- 20% Complete -
-
-
-
- 60% Complete (warning) -
-
-
-
- 80% Complete (danger) -
-
-
-{% highlight html %} -
-
- 40% Complete (success) -
-
-
-
- 20% Complete -
-
-
-
- 60% Complete (warning) -
-
-
-
- 80% Complete (danger) -
-
-{% endhighlight %} - -

Animated

-

Add .active to .progress-bar-striped to animate the stripes right to left. Not available in IE9 and below.

-
-
-
45% Complete
-
- -
-{% highlight html %} -
-
- 45% Complete -
-
-{% endhighlight %} - -

Stacked

-

Place multiple bars into the same .progress to stack them.

-
-
-
- 35% Complete (success) -
-
- 20% Complete (warning) -
-
- 10% Complete (danger) -
-
-
-{% highlight html %} -
-
- 35% Complete (success) -
-
- 20% Complete (warning) -
-
- 10% Complete (danger) -
-
-{% endhighlight %} -
diff --git a/docs/_includes/components/responsive-embed.html b/docs/_includes/components/responsive-embed.html deleted file mode 100644 index bb79053c..00000000 --- a/docs/_includes/components/responsive-embed.html +++ /dev/null @@ -1,23 +0,0 @@ -
-

Responsive embed

- -

Allow browsers to determine video or slideshow dimensions based on the width of their containing block by creating an intrinsic ratio that will properly scale on any device.

-

Rules are directly applied to <iframe>, <embed>, <video>, and <object> elements; optionally use an explicit descendant class .embed-responsive-item when you want to match the styling for other attributes.

-

Pro-Tip! You don't need to include frameborder="0" in your <iframe>s as we override that for you.

-
-
- -
-
-{% highlight html %} - -
- -
- - -
- -
-{% endhighlight %} -
diff --git a/docs/_includes/components/thumbnails.html b/docs/_includes/components/thumbnails.html deleted file mode 100644 index 0f838261..00000000 --- a/docs/_includes/components/thumbnails.html +++ /dev/null @@ -1,94 +0,0 @@ -
-

Thumbnails

- -

Extend Bootstrap's grid system with the thumbnail component to easily display grids of images, videos, text, and more.

-

If you're looking for Pinterest-like presentation of thumbnails of varying heights and/or widths, you'll need to use a third-party plugin such as Masonry, Isotope, or Salvattore.

- -

Default example

-

By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.

-
-
-
- - Generic placeholder thumbnail - -
-
- - Generic placeholder thumbnail - -
-
- - Generic placeholder thumbnail - -
-
- - Generic placeholder thumbnail - -
-
-
-{% highlight html %} -
-
- - ... - -
- ... -
-{% endhighlight %} - -

Custom content

-

With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.

-
-
-
-
- Generic placeholder thumbnail -
-

Thumbnail label

-

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

-

Button Button

-
-
-
-
-
- Generic placeholder thumbnail -
-

Thumbnail label

-

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

-

Button Button

-
-
-
-
-
- Generic placeholder thumbnail -
-

Thumbnail label

-

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

-

Button Button

-
-
-
-
-
-{% highlight html %} -
-
-
- ... -
-

Thumbnail label

-

...

-

Button Button

-
-
-
-
-{% endhighlight %} -
diff --git a/docs/_includes/components/wells.html b/docs/_includes/components/wells.html deleted file mode 100644 index e502f2b3..00000000 --- a/docs/_includes/components/wells.html +++ /dev/null @@ -1,33 +0,0 @@ -
-

Wells

- -

Default well

-

Use the well as a simple effect on an element to give it an inset effect.

-
-
- Look, I'm in a well! -
-
-{% highlight html %} -
...
-{% endhighlight %} -

Optional classes

-

Control padding and rounded corners with two optional modifier classes.

-
-
- Look, I'm in a large well! -
-
-{% highlight html %} -
...
-{% endhighlight %} - -
-
- Look, I'm in a small well! -
-
-{% highlight html %} -
...
-{% endhighlight %} -
diff --git a/docs/_includes/css/buttons.html b/docs/_includes/css/buttons.html deleted file mode 100644 index 66bb3d9e..00000000 --- a/docs/_includes/css/buttons.html +++ /dev/null @@ -1,189 +0,0 @@ -
-

Buttons

- -

Button tags

-

Use the button classes on an <a>, <button>, or <input> element.

-
- Link - - - -
-{% highlight html %} -Link - - - -{% endhighlight %} - -
-

Context-specific usage

-

While button classes can be used on <a> and <button> elements, only <button> elements are supported within our nav and navbar components.

-
- -
-

Links acting as buttons

-

If the <a> elements are used to act as buttons – triggering in-page functionality, rather than navigating to another document or section within the current page – they should also be given an appropriate role="button".

-
- -
-

Cross-browser rendering

-

As a best practice, we highly recommend using the <button> element whenever possible to ensure matching cross-browser rendering.

-

Among other things, there's a bug in Firefox <30 that prevents us from setting the line-height of <input>-based buttons, causing them to not exactly match the height of other buttons on Firefox.

-
- -

Options

-

Use any of the available button classes to quickly create a styled button.

-
- - - - - - - -
-{% highlight html %} - - - - - - - - - - - - - - - - - - - - -{% endhighlight %} - -
-

Conveying meaning to assistive technologies

-

Using color to add meaning to a button only provides a visual indication, which will not be conveyed to users of assistive technologies – such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (the visible text of the button), or is included through alternative means, such as additional text hidden with the .sr-only class.

-
- -

Sizes

-

Fancy larger or smaller buttons? Add .btn-lg, .btn-sm, or .btn-xs for additional sizes.

-
-

- - -

-

- - -

-

- - -

-

- - -

-
-{% highlight html %} -

- - -

-

- - -

-

- - -

-

- - -

-{% endhighlight %} - -

Create block level buttons—those that span the full width of a parent— by adding .btn-block.

-
-
- - -
-
-{% highlight html %} - - -{% endhighlight %} - - -

Active state

-

Buttons will appear pressed (with a darker background, darker border, and inset shadow) when active. For <button> elements, this is done via :active. For <a> elements, it's done with .active. However, you may use .active on <button>s (and include the aria-pressed="true" attribute) should you need to replicate the active state programmatically.

- -

Button element

-

No need to add :active as it's a pseudo-class, but if you need to force the same appearance, go ahead and add .active.

-

- - -

-{% highlight html %} - - -{% endhighlight %} - -

Anchor element

-

Add the .active class to <a> buttons.

-

- Primary link - Link -

-{% highlight html %} -Primary link -Link -{% endhighlight %} - - -

Disabled state

-

Make buttons look unclickable by fading them back with opacity.

- -

Button element

-

Add the disabled attribute to <button> buttons.

-

- - -

-{% highlight html %} - - -{% endhighlight %} - -
-

Cross-browser compatibility

-

If you add the disabled attribute to a <button>, Internet Explorer 9 and below will render text gray with a nasty text-shadow that we cannot fix.

-
- -

Anchor element

-

Add the .disabled class to <a> buttons.

-

- Primary link - Link -

-{% highlight html %} -Primary link -Link -{% endhighlight %} -

- We use .disabled as a utility class here, similar to the common .active class, so no prefix is required. -

-
-

Link functionality caveat

-

This class uses pointer-events: none to try to disable the link functionality of <a>s, but that CSS property is not yet standardized and isn't fully supported in Opera 18 and below, or in Internet Explorer 11. In addition, even in browsers that do support pointer-events: none, keyboard navigation remains unaffected, meaning that sighted keyboard users and users of assistive technologies will still be able to activate these links. So to be safe, use custom JavaScript to disable such links.

-
- -
diff --git a/docs/_includes/css/code.html b/docs/_includes/css/code.html deleted file mode 100644 index 02acb123..00000000 --- a/docs/_includes/css/code.html +++ /dev/null @@ -1,52 +0,0 @@ -
-

Code

- -

Inline

-

Wrap inline snippets of code with <code>.

-
- For example, <section> should be wrapped as inline. -
-{% highlight html %} -For example, <section> should be wrapped as inline. -{% endhighlight %} - -

User input

-

Use the <kbd> to indicate input that is typically entered via keyboard.

-
- To switch directories, type cd followed by the name of the directory.
- To edit settings, press ctrl + , -
-{% highlight html %} -To switch directories, type cd followed by the name of the directory.
-To edit settings, press ctrl + , -{% endhighlight %} - -

Basic block

-

Use <pre> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.

-
-
<p>Sample text here...</p>
-
-{% highlight html %} -
<p>Sample text here...</p>
-{% endhighlight %} - -

You may optionally add the .pre-scrollable class, which will set a max-height of 350px and provide a y-axis scrollbar.

-

Variables

-

For indicating variables use the <var> tag.

-
-

y = mx + b

- -
-{% highlight html %} -y = mx + b -{% endhighlight %} - -

Sample output

-

For indicating blocks sample output from a program use the <samp> tag.

-
-

This text is meant to be treated as sample output from a computer program.

-
-{% highlight html %} -This text is meant to be treated as sample output from a computer program. -{% endhighlight %} -
diff --git a/docs/_includes/css/forms.html b/docs/_includes/css/forms.html deleted file mode 100644 index 4a8772a0..00000000 --- a/docs/_includes/css/forms.html +++ /dev/null @@ -1,1029 +0,0 @@ -
-

Forms

- -

Basic example

-

Individual form controls automatically receive some global styling. All textual <input>, <textarea>, and <select> elements with .form-control are set to width: 100%; by default. Wrap labels and controls in .form-group for optimum spacing.

-
-
-
- - -
-
- - -
-
- - -

Example block-level help text here.

-
-
- -
- -
-
-{% highlight html %} -
-
- - -
-
- - -
-
- - -

Example block-level help text here.

-
-
- -
- -
-{% endhighlight %} -
-

Don't mix form groups with input groups

-

Do not mix form groups directly with input groups. Instead, nest the input group inside of the form group.

-
- - -

Inline form

-

Add .form-inline to your form (which doesn't have to be a <form>) for left-aligned and inline-block controls. This only applies to forms within viewports that are at least 768px wide.

-
-

May require custom widths

-

Inputs and selects have width: 100%; applied by default in Bootstrap. Within inline forms, we reset that to width: auto; so multiple controls can reside on the same line. Depending on your layout, additional custom widths may be required.

-
-
-

Always add labels

-

Screen readers will have trouble with your forms if you don't include a label for every input. For these inline forms, you can hide the labels using the .sr-only class. There are further alternative methods of providing a label for assistive technologies, such as the aria-label, aria-labelledby or title attribute. If none of these is present, screen readers may resort to using the placeholder attribute, if present, but note that use of placeholder as a replacement for other labelling methods is not advised.

-
- -
-
-
- - -
-
- - -
- -
-
-{% highlight html %} -
-
- - -
-
- - -
- -
-{% endhighlight %} - -
-
-
- - -
-
- - -
-
- -
- -
-
-{% highlight html %} -
-
- - -
-
- - -
-
- -
- -
-{% endhighlight %} - -
-
-
- -
-
$
- -
.00
-
-
- -
-
-{% highlight html %} -
-
- -
-
$
- -
.00
-
-
- -
-{% endhighlight %} - -

Horizontal form

-

Use Bootstrap's predefined grid classes to align labels and groups of form controls in a horizontal layout by adding .form-horizontal to the form (which doesn't have to be a <form>). Doing so changes .form-groups to behave as grid rows, so no need for .row.

-
-
-
- -
- -
-
-
- -
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-{% highlight html %} -
-
- -
- -
-
-
- -
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-{% endhighlight %} - - -

Supported controls

-

Examples of standard form controls supported in an example form layout.

- -

Inputs

-

Most common form control, text-based input fields. Includes support for all HTML5 types: text, password, datetime, datetime-local, date, month, time, week, number, email, url, search, tel, and color.

-
-

Type declaration required

-

Inputs will only be fully styled if their type is properly declared.

-
-
-
- -
-
-{% highlight html %} - -{% endhighlight %} -
-

Input groups

-

To add integrated text or buttons before and/or after any text-based <input>, check out the input group component.

-
- -

Textarea

-

Form control which supports multiple lines of text. Change rows attribute as necessary.

-
-
- -
-
-{% highlight html %} - -{% endhighlight %} - -

Checkboxes and radios

-

Checkboxes are for selecting one or several options in a list, while radios are for selecting one option from many.

-

Disabled checkboxes and radios are supported, but to provide a "not-allowed" cursor on hover of the parent <label>, you'll need to add the .disabled class to the parent .radio, .radio-inline, .checkbox, or .checkbox-inline.

-

Default (stacked)

-
-
-
- -
-
- -
-
-
- -
-
- -
-
- -
-
-
-{% highlight html %} -
- -
-
- -
- -
- -
-
- -
-
- -
-{% endhighlight %} - -

Inline checkboxes and radios

-

Use the .checkbox-inline or .radio-inline classes on a series of checkboxes or radios for controls that appear on the same line.

-
-
- - - -
-
-
- - - -
-
-{% highlight html %} - - - - - - - -{% endhighlight %} - -

Checkboxes and radios without label text

-

Should you have no text within the <label>, the input is positioned as you'd expect. Currently only works on non-inline checkboxes and radios. Remember to still provide some form of label for assistive technologies (for instance, using aria-label).

-
-
-
- -
-
- -
-
-
-{% highlight html %} -
- -
-
- -
-{% endhighlight %} - -

Selects

-

Note that many native select menus—namely in Safari and Chrome—have rounded corners that cannot be modified via border-radius properties.

-
-
- -
-
-{% highlight html %} - -{% endhighlight %} - -

For <select> controls with the multiple attribute, multiple options are shown by default.

- -
-
- -
-
- -{% highlight html %} - -{% endhighlight %} - - -

Static control

-

When you need to place plain text next to a form label within a form, use the .form-control-static class on a <p>.

-
-
-
- -
-

email@example.com

-
-
-
- -
- -
-
-
-
-{% highlight html %} -
-
- -
-

email@example.com

-
-
-
- -
- -
-
-
-{% endhighlight %} -
-
-
- -

email@example.com

-
-
- - -
- -
-
-{% highlight html %} -
-
- -

email@example.com

-
-
- - -
- -
-{% endhighlight %} - -

Focus state

-

We remove the default outline styles on some form controls and apply a box-shadow in its place for :focus.

-
-
- -
-
-
-

Demo :focus state

-

The above example input uses custom styles in our documentation to demonstrate the :focus state on a .form-control.

-
- - -

Disabled state

-

Add the disabled boolean attribute on an input to prevent user interactions. Disabled inputs appear lighter and add a not-allowed cursor.

-
-
- -
-
-{% highlight html %} - -{% endhighlight %} - -

Disabled fieldsets

-

Add the disabled attribute to a <fieldset> to disable all the controls within the <fieldset> at once.

- -
-

Caveat about link functionality of <a>

-

By default, browsers will treat all native form controls (<input>, <select> and <button> elements) inside a <fieldset disabled> as disabled, preventing both keyboard and mouse interactions on them. However, if your form also includes <a ... class="btn btn-*"> elements, these will only be given a style of pointer-events: none. As noted in the section about disabled state for buttons (and specifically in the sub-section for anchor elements), this CSS property is not yet standardized and isn't fully supported in Opera 18 and below, or in Internet Explorer 11, and won't prevent keyboard users from being able to focus or activate these links. So to be safe, use custom JavaScript to disable such links.

-
- -
-

Cross-browser compatibility

-

While Bootstrap will apply these styles in all browsers, Internet Explorer 11 and below don't fully support the disabled attribute on a <fieldset>. Use custom JavaScript to disable the fieldset in these browsers.

-
- -
-
-
-
- - -
-
- - -
-
- -
- -
-
-
-{% highlight html %} -
-
-
- - -
-
- - -
-
- -
- -
-
-{% endhighlight %} - - -

Readonly state

-

Add the readonly boolean attribute on an input to prevent modification of the input's value. Read-only inputs appear lighter (just like disabled inputs), but retain the standard cursor.

-
-
- -
-
-{% highlight html %} - -{% endhighlight %} - - -

Help text

-

Block level help text for form controls.

-
-

Associating help text with form controls

-

Help text should be explicitly associated with the form control it relates to using the aria-describedby attribute. This will ensure that assistive technologies – such as screen readers – will announce this help text when the user focuses or enters the control.

-
-
-
-
- - -
- A block of help text that breaks onto a new line and may extend beyond one line. -
-
-{% highlight html %} - - -... -A block of help text that breaks onto a new line and may extend beyond one line. -{% endhighlight %} -
- - -

Validation states

-

Bootstrap includes validation styles for error, warning, and success states on form controls. To use, add .has-warning, .has-error, or .has-success to the parent element. Any .control-label, .form-control, and .help-block within that element will receive the validation styles.

- -
-

Conveying validation state to assistive technologies and colorblind users

-

Using these validation styles to denote the state of a form control only provides a visual, color-based indication, which will not be conveyed to users of assistive technologies - such as screen readers - or to colorblind users.

-

Ensure that an alternative indication of state is also provided. For instance, you can include a hint about state in the form control's <label> text itself (as is the case in the following code example), include a Glyphicon (with appropriate alternative text using the .sr-only class - see the Glyphicon examples), or by providing an additional help text block. Specifically for assistive technologies, invalid form controls can also be assigned an aria-invalid="true" attribute.

-
- -
-
-
- - - A block of help text that breaks onto a new line and may extend beyond one line. -
-
- - -
-
- - -
-
-
- -
-
-
-
- -
-
-
-
- -
-
-
-
-{% highlight html %} -
- - - A block of help text that breaks onto a new line and may extend beyond one line. -
-
- - -
-
- - -
-
-
- -
-
-
-
- -
-
-
-
- -
-
-{% endhighlight %} - -

With optional icons

-

You can also add optional feedback icons with the addition of .has-feedback and the right icon.

-

Feedback icons only work with textual <input class="form-control"> elements.

-
-

Icons, labels, and input groups

-

Manual positioning of feedback icons is required for inputs without a label and for input groups with an add-on on the right. You are strongly encouraged to provide labels for all inputs for accessibility reasons. If you wish to prevent labels from being displayed, hide them with the .sr-only class. If you must do without labels, adjust the top value of the feedback icon. For input groups, adjust the right value to an appropriate pixel value depending on the width of your addon.

-
-
-

Conveying the icon's meaning to assistive technologies

-

To ensure that assistive technologies – such as screen readers – correctly convey the meaning of an icon, additional hidden text should be included with the .sr-only class and explicitly associated with the form control it relates to using aria-describedby. Alternatively, ensure that the meaning (for instance, the fact that there is a warning for a particular text entry field) is conveyed in some other form, such as changing the text of the actual <label> associated with the form control.

-

Although the following examples already mention the validation state of their respective form controls in the <label> text itself, the above technique (using .sr-only text and aria-describedby) has been included for illustrative purposes.

-
-
-
-
- - - - (success) -
-
- - - - (warning) -
-
- - - - (error) -
-
- -
- @ - -
- - (success) -
-
-
-{% highlight html %} -
- - - - (success) -
-
- - - - (warning) -
-
- - - - (error) -
-
- -
- @ - -
- - (success) -
-{% endhighlight %} - -

Optional icons in horizontal and inline forms

-
-
-
- -
- - - (success) -
-
-
- -
-
- @ - -
- - (success) -
-
-
-
-{% highlight html %} -
-
- -
- - - (success) -
-
-
- -
-
- @ - -
- - (success) -
-
-
-{% endhighlight %} - -
-
-
- - - - (success) -
-
-
-
-
- -
- @ - -
- - (success) -
-
-
-{% highlight html %} -
-
- - - - (success) -
-
-
-
- -
- @ - -
- - (success) -
-
-{% endhighlight %} - -

Optional icons with hidden .sr-only labels

-

If you use the .sr-only class to hide a form control's <label> (rather than using other labelling options, such as the aria-label attribute), Bootstrap will automatically adjust the position of the icon once it's been added.

-
-
- - - - (success) -
-
- -
- @ - -
- - (success) -
-
-{% highlight html %} -
- - - - (success) -
-
- -
- @ - -
- - (success) -
-{% endhighlight %} - - -

Control sizing

-

Set heights using classes like .input-lg, and set widths using grid column classes like .col-lg-*.

- -

Height sizing

-

Create taller or shorter form controls that match button sizes.

-
-
-
- - - - - - - -
-
-
-{% highlight html %} - - - - - - - -{% endhighlight %} - -

Horizontal form group sizes

-

Quickly size labels and form controls within .form-horizontal by adding .form-group-lg or .form-group-sm.

-
-
-
- -
- -
-
-
- -
- -
-
-
-
-{% highlight html %} -
-
- -
- -
-
-
- -
- -
-
-
-{% endhighlight %} - - -

Column sizing

-

Wrap inputs in grid columns, or any custom parent element, to easily enforce desired widths.

-
-
-
-
- -
-
- -
-
- -
-
-
-
-{% highlight html %} -
-
- -
-
- -
-
- -
-
-{% endhighlight %} - diff --git a/docs/_includes/css/grid.html b/docs/_includes/css/grid.html deleted file mode 100644 index 46ed4662..00000000 --- a/docs/_includes/css/grid.html +++ /dev/null @@ -1,560 +0,0 @@ -
-

Grid system

- -

Bootstrap includes a responsive, mobile first fluid grid system that appropriately scales up to 12 columns as the device or viewport size increases. It includes predefined classes for easy layout options, as well as powerful mixins for generating more semantic layouts.

- -

Introduction

-

Grid systems are used for creating page layouts through a series of rows and columns that house your content. Here's how the Bootstrap grid system works:

-
    -
  • Rows must be placed within a .container (fixed-width) or .container-fluid (full-width) for proper alignment and padding.
  • -
  • Use rows to create horizontal groups of columns.
  • -
  • Content should be placed within columns, and only columns may be immediate children of rows.
  • -
  • Predefined grid classes like .row and .col-xs-4 are available for quickly making grid layouts. Less mixins can also be used for more semantic layouts.
  • -
  • Columns create gutters (gaps between column content) via padding. That padding is offset in rows for the first and last column via negative margin on .rows.
  • -
  • The negative margin is why the examples below are outdented. It's so that content within grid columns is lined up with non-grid content.
  • -
  • Grid columns are created by specifying the number of twelve available columns you wish to span. For example, three equal columns would use three .col-xs-4.
  • -
  • If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.
  • -
  • Grid classes apply to devices with screen widths greater than or equal to the breakpoint sizes, and override grid classes targeted at smaller devices. Therefore, e.g. applying any .col-md-* class to an element will not only affect its styling on medium devices but also on large devices if a .col-lg-* class is not present.
  • -
-

Look to the examples for applying these principles to your code.

- -

Media queries

-

We use the following media queries in our Less files to create the key breakpoints in our grid system.

-{% highlight scss %} -/* Extra small devices (phones, less than 768px) */ -/* No media query since this is the default in Bootstrap */ - -/* Small devices (tablets, 768px and up) */ -@media (min-width: @screen-sm-min) { ... } - -/* Medium devices (desktops, 992px and up) */ -@media (min-width: @screen-md-min) { ... } - -/* Large devices (large desktops, 1200px and up) */ -@media (min-width: @screen-lg-min) { ... } -{% endhighlight %} -

We occasionally expand on these media queries to include a max-width to limit CSS to a narrower set of devices.

-{% highlight scss %} -@media (max-width: @screen-xs-max) { ... } -@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... } -@media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... } -@media (min-width: @screen-lg-min) { ... } -{% endhighlight %} - -

Grid options

-

See how aspects of the Bootstrap grid system work across multiple devices with a handy table.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Extra small devices - Phones (<768px) - - Small devices - Tablets (≥768px) - - Medium devices - Desktops (≥992px) - - Large devices - Desktops (≥1200px) -
Grid behaviorHorizontal at all timesCollapsed to start, horizontal above breakpoints
Container widthNone (auto)750px970px1170px
Class prefix.col-xs-.col-sm-.col-md-.col-lg-
# of columns12
Column widthAuto~62px~81px~97px
Gutter width30px (15px on each side of a column)
NestableYes
OffsetsYes
Column orderingYes
-
- -

Example: Stacked-to-horizontal

-

Using a single set of .col-md-* grid classes, you can create a basic grid system that starts out stacked on mobile devices and tablet devices (the extra small to small range) before becoming horizontal on desktop (medium) devices. Place grid columns in any .row.

-
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
-
-
.col-md-8
-
.col-md-4
-
-
-
.col-md-4
-
.col-md-4
-
.col-md-4
-
-
-
.col-md-6
-
.col-md-6
-
-{% highlight html %} -
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
.col-md-1
-
-
-
.col-md-8
-
.col-md-4
-
-
-
.col-md-4
-
.col-md-4
-
.col-md-4
-
-
-
.col-md-6
-
.col-md-6
-
-{% endhighlight %} - -

Example: Fluid container

-

Turn any fixed-width grid layout into a full-width layout by changing your outermost .container to .container-fluid.

-{% highlight html %} -
-
- ... -
-
-{% endhighlight %} - -

Example: Mobile and desktop

-

Don't want your columns to simply stack in smaller devices? Use the extra small and medium device grid classes by adding .col-xs-* .col-md-* to your columns. See the example below for a better idea of how it all works.

-
-
.col-xs-12 .col-md-8
-
.col-xs-6 .col-md-4
-
-
-
.col-xs-6 .col-md-4
-
.col-xs-6 .col-md-4
-
.col-xs-6 .col-md-4
-
-
-
.col-xs-6
-
.col-xs-6
-
-{% highlight html %} - -
-
.col-xs-12 .col-md-8
-
.col-xs-6 .col-md-4
-
- - -
-
.col-xs-6 .col-md-4
-
.col-xs-6 .col-md-4
-
.col-xs-6 .col-md-4
-
- - -
-
.col-xs-6
-
.col-xs-6
-
-{% endhighlight %} - -

Example: Mobile, tablet, desktop

-

Build on the previous example by creating even more dynamic and powerful layouts with tablet .col-sm-* classes.

-
-
.col-xs-12 .col-sm-6 .col-md-8
-
.col-xs-6 .col-md-4
-
-
-
.col-xs-6 .col-sm-4
-
.col-xs-6 .col-sm-4
- -
-
.col-xs-6 .col-sm-4
-
-{% highlight html %} -
-
.col-xs-12 .col-sm-6 .col-md-8
-
.col-xs-6 .col-md-4
-
-
-
.col-xs-6 .col-sm-4
-
.col-xs-6 .col-sm-4
- -
-
.col-xs-6 .col-sm-4
-
-{% endhighlight %} - -

Example: Column wrapping

-

If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.

-
-
.col-xs-9
-
.col-xs-4
Since 9 + 4 = 13 > 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.
-
.col-xs-6
Subsequent columns continue along the new line.
-
-{% highlight html %} -
-
.col-xs-9
-
.col-xs-4
Since 9 + 4 = 13 > 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.
-
.col-xs-6
Subsequent columns continue along the new line.
-
-{% endhighlight %} - -

Responsive column resets

-

With the four tiers of grids available you're bound to run into issues where, at certain breakpoints, your columns don't clear quite right as one is taller than the other. To fix that, use a combination of a .clearfix and our responsive utility classes.

-
-
- .col-xs-6 .col-sm-3 -
- Resize your viewport or check it out on your phone for an example. -
-
.col-xs-6 .col-sm-3
- - -
- -
.col-xs-6 .col-sm-3
-
.col-xs-6 .col-sm-3
-
-{% highlight html %} -
-
.col-xs-6 .col-sm-3
-
.col-xs-6 .col-sm-3
- - -
- -
.col-xs-6 .col-sm-3
-
.col-xs-6 .col-sm-3
-
-{% endhighlight %} -

In addition to column clearing at responsive breakpoints, you may need to reset offsets, pushes, or pulls. See this in action in the grid example.

-{% highlight html %} -
-
.col-sm-5 .col-md-6
-
.col-sm-5 .col-sm-offset-2 .col-md-6 .col-md-offset-0
-
- -
-
.col-sm-6 .col-md-5 .col-lg-6
-
.col-sm-6 .col-md-5 .col-md-offset-2 .col-lg-6 .col-lg-offset-0
-
-{% endhighlight %} - - -

Offsetting columns

-

Move columns to the right using .col-md-offset-* classes. These classes increase the left margin of a column by * columns. For example, .col-md-offset-4 moves .col-md-4 over four columns.

-
-
.col-md-4
-
.col-md-4 .col-md-offset-4
-
-
-
.col-md-3 .col-md-offset-3
-
.col-md-3 .col-md-offset-3
-
-
-
.col-md-6 .col-md-offset-3
-
-{% highlight html %} -
-
.col-md-4
-
.col-md-4 .col-md-offset-4
-
-
-
.col-md-3 .col-md-offset-3
-
.col-md-3 .col-md-offset-3
-
-
-
.col-md-6 .col-md-offset-3
-
-{% endhighlight %} - -

You can also override offsets from lower grid tiers with .col-*-offset-0 classes.

-{% highlight html %} -
-
-
-
-
-
-
-
-{% endhighlight %} - -

Nesting columns

-

To nest your content with the default grid, add a new .row and set of .col-sm-* columns within an existing .col-sm-* column. Nested rows should include a set of columns that add up to 12 or fewer (it is not required that you use all 12 available columns).

-
-
- Level 1: .col-sm-9 -
-
- Level 2: .col-xs-8 .col-sm-6 -
-
- Level 2: .col-xs-4 .col-sm-6 -
-
-
-
-{% highlight html %} -
-
- Level 1: .col-sm-9 -
-
- Level 2: .col-xs-8 .col-sm-6 -
-
- Level 2: .col-xs-4 .col-sm-6 -
-
-
-
-{% endhighlight %} - -

Column ordering

-

Easily change the order of our built-in grid columns with .col-md-push-* and .col-md-pull-* modifier classes.

-
-
.col-md-9 .col-md-push-3
-
.col-md-3 .col-md-pull-9
-
- -{% highlight html %} -
-
.col-md-9 .col-md-push-3
-
.col-md-3 .col-md-pull-9
-
-{% endhighlight %} - -

Less mixins and variables

-

In addition to prebuilt grid classes for fast layouts, Bootstrap includes Less variables and mixins for quickly generating your own simple, semantic layouts.

- -

Variables

-

Variables determine the number of columns, the gutter width, and the media query point at which to begin floating columns. We use these to generate the predefined grid classes documented above, as well as for the custom mixins listed below.

-{% highlight scss %} -@grid-columns: 12; -@grid-gutter-width: 30px; -@grid-float-breakpoint: 768px; -{% endhighlight %} - -

Mixins

-

Mixins are used in conjunction with the grid variables to generate semantic CSS for individual grid columns.

-{% highlight scss %} -// Creates a wrapper for a series of columns -.make-row(@gutter: @grid-gutter-width) { - // Then clear the floated columns - .clearfix(); - - @media (min-width: @screen-sm-min) { - margin-left: (@gutter / -2); - margin-right: (@gutter / -2); - } - - // Negative margin nested rows out to align the content of columns - .row { - margin-left: (@gutter / -2); - margin-right: (@gutter / -2); - } -} - -// Generate the extra small columns -.make-xs-column(@columns; @gutter: @grid-gutter-width) { - position: relative; - // Prevent columns from collapsing when empty - min-height: 1px; - // Inner gutter via padding - padding-left: (@gutter / 2); - padding-right: (@gutter / 2); - - // Calculate width based on number of columns available - @media (min-width: @grid-float-breakpoint) { - float: left; - width: percentage((@columns / @grid-columns)); - } -} - -// Generate the small columns -.make-sm-column(@columns; @gutter: @grid-gutter-width) { - position: relative; - // Prevent columns from collapsing when empty - min-height: 1px; - // Inner gutter via padding - padding-left: (@gutter / 2); - padding-right: (@gutter / 2); - - // Calculate width based on number of columns available - @media (min-width: @screen-sm-min) { - float: left; - width: percentage((@columns / @grid-columns)); - } -} - -// Generate the small column offsets -.make-sm-column-offset(@columns) { - @media (min-width: @screen-sm-min) { - margin-left: percentage((@columns / @grid-columns)); - } -} -.make-sm-column-push(@columns) { - @media (min-width: @screen-sm-min) { - left: percentage((@columns / @grid-columns)); - } -} -.make-sm-column-pull(@columns) { - @media (min-width: @screen-sm-min) { - right: percentage((@columns / @grid-columns)); - } -} - -// Generate the medium columns -.make-md-column(@columns; @gutter: @grid-gutter-width) { - position: relative; - // Prevent columns from collapsing when empty - min-height: 1px; - // Inner gutter via padding - padding-left: (@gutter / 2); - padding-right: (@gutter / 2); - - // Calculate width based on number of columns available - @media (min-width: @screen-md-min) { - float: left; - width: percentage((@columns / @grid-columns)); - } -} - -// Generate the medium column offsets -.make-md-column-offset(@columns) { - @media (min-width: @screen-md-min) { - margin-left: percentage((@columns / @grid-columns)); - } -} -.make-md-column-push(@columns) { - @media (min-width: @screen-md-min) { - left: percentage((@columns / @grid-columns)); - } -} -.make-md-column-pull(@columns) { - @media (min-width: @screen-md-min) { - right: percentage((@columns / @grid-columns)); - } -} - -// Generate the large columns -.make-lg-column(@columns; @gutter: @grid-gutter-width) { - position: relative; - // Prevent columns from collapsing when empty - min-height: 1px; - // Inner gutter via padding - padding-left: (@gutter / 2); - padding-right: (@gutter / 2); - - // Calculate width based on number of columns available - @media (min-width: @screen-lg-min) { - float: left; - width: percentage((@columns / @grid-columns)); - } -} - -// Generate the large column offsets -.make-lg-column-offset(@columns) { - @media (min-width: @screen-lg-min) { - margin-left: percentage((@columns / @grid-columns)); - } -} -.make-lg-column-push(@columns) { - @media (min-width: @screen-lg-min) { - left: percentage((@columns / @grid-columns)); - } -} -.make-lg-column-pull(@columns) { - @media (min-width: @screen-lg-min) { - right: percentage((@columns / @grid-columns)); - } -} -{% endhighlight %} - -

Example usage

-

You can modify the variables to your own custom values, or just use the mixins with their default values. Here's an example of using the default settings to create a two-column layout with a gap between.

-{% highlight scss %} -.wrapper { - .make-row(); -} -.content-main { - .make-lg-column(8); -} -.content-secondary { - .make-lg-column(3); - .make-lg-column-offset(1); -} -{% endhighlight %} -{% highlight html %} -
-
...
-
...
-
-{% endhighlight %} -
diff --git a/docs/_includes/css/helpers.html b/docs/_includes/css/helpers.html deleted file mode 100644 index 2da68dff..00000000 --- a/docs/_includes/css/helpers.html +++ /dev/null @@ -1,207 +0,0 @@ -
-

Helper classes

- -

Contextual colors

-

Convey meaning through color with a handful of emphasis utility classes. These may also be applied to links and will darken on hover just like our default link styles.

-
-

Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.

-

Nullam id dolor id nibh ultricies vehicula ut id elit.

-

Duis mollis, est non commodo luctus, nisi erat porttitor ligula.

-

Maecenas sed diam eget risus varius blandit sit amet non magna.

-

Etiam porta sem malesuada magna mollis euismod.

-

Donec ullamcorper nulla non metus auctor fringilla.

-
-{% highlight html %} -

...

-

...

-

...

-

...

-

...

-

...

-{% endhighlight %} -
-

Dealing with specificity

-

Sometimes emphasis classes cannot be applied due to the specificity of another selector. In most cases, a sufficient workaround is to wrap your text in a <span> with the class.

-
-
-

Conveying meaning to assistive technologies

-

Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies – such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (the contextual colors are only used to reinforce meaning that is already present in the text/markup), or is included through alternative means, such as additional text hidden with the .sr-only class.

-
- -

Contextual backgrounds

-

Similar to the contextual text color classes, easily set the background of an element to any contextual class. Anchor components will darken on hover, just like the text classes.

-
-

Nullam id dolor id nibh ultricies vehicula ut id elit.

-

Duis mollis, est non commodo luctus, nisi erat porttitor ligula.

-

Maecenas sed diam eget risus varius blandit sit amet non magna.

-

Etiam porta sem malesuada magna mollis euismod.

-

Donec ullamcorper nulla non metus auctor fringilla.

-
-{% highlight html %} -

...

-

...

-

...

-

...

-

...

-{% endhighlight %} -
-

Dealing with specificity

-

Sometimes contextual background classes cannot be applied due to the specificity of another selector. In some cases, a sufficient workaround is to wrap your element's content in a <div> with the class.

-
-
-

Conveying meaning to assistive technologies

-

As with contextual colors, ensure that any meaning conveyed through color is also conveyed in a format that is not purely presentational.

-
- -

Close icon

-

Use the generic close icon for dismissing content like modals and alerts.

-
-

-
-{% highlight html %} - -{% endhighlight %} - - -

Carets

-

Use carets to indicate dropdown functionality and direction. Note that the default caret will reverse automatically in dropup menus.

-
- -
-{% highlight html %} - -{% endhighlight %} - - -

Quick floats

-

Float an element to the left or right with a class. !important is included to avoid specificity issues. Classes can also be used as mixins.

-{% highlight html %} -
...
-
...
-{% endhighlight %} -{% highlight scss %} -// Classes -.pull-left { - float: left !important; -} -.pull-right { - float: right !important; -} - -// Usage as mixins -.element { - .pull-left(); -} -.another-element { - .pull-right(); -} -{% endhighlight %} - -
-

Not for use in navbars

-

To align components in navbars with utility classes, use .navbar-left or .navbar-right instead. See the navbar docs for details.

-
- - -

Center content blocks

-

Set an element to display: block and center via margin. Available as a mixin and class.

-{% highlight html %} -
...
-{% endhighlight %} -{% highlight scss %} -// Class -.center-block { - display: block; - margin-left: auto; - margin-right: auto; -} - -// Usage as a mixin -.element { - .center-block(); -} -{% endhighlight %} - - -

Clearfix

-

Easily clear floats by adding .clearfix to the parent element. Utilizes the micro clearfix as popularized by Nicolas Gallagher. Can also be used as a mixin.

-{% highlight html %} - -
...
-{% endhighlight %} -{% highlight scss %} -// Mixin itself -.clearfix() { - &:before, - &:after { - content: " "; - display: table; - } - &:after { - clear: both; - } -} - -// Usage as a mixin -.element { - .clearfix(); -} -{% endhighlight %} - - -

Showing and hiding content

-

Force an element to be shown or hidden (including for screen readers) with the use of .show and .hidden classes. These classes use !important to avoid specificity conflicts, just like the quick floats. They are only available for block level toggling. They can also be used as mixins.

-

.hide is available, but it does not always affect screen readers and is deprecated as of v3.0.1. Use .hidden or .sr-only instead.

-

Furthermore, .invisible can be used to toggle only the visibility of an element, meaning its display is not modified and the element can still affect the flow of the document.

-{% highlight html %} -
...
- -{% endhighlight %} -{% highlight scss %} -// Classes -.show { - display: block !important; -} -.hidden { - display: none !important; -} -.invisible { - visibility: hidden; -} - -// Usage as mixins -.element { - .show(); -} -.another-element { - .hidden(); -} -{% endhighlight %} - - -

Screen reader and keyboard navigation content

-

Hide an element to all devices except screen readers with .sr-only. Combine .sr-only with .sr-only-focusable to show the element again when it's focused (e.g. by a keyboard-only user). Necessary for following accessibility best practices. Can also be used as mixins.

-{% highlight html %} -Skip to main content -{% endhighlight %} -{% highlight scss %} -// Usage as a mixin -.skip-navigation { - .sr-only(); - .sr-only-focusable(); -} -{% endhighlight %} - - -

Image replacement

-

Utilize the .text-hide class or mixin to help replace an element's text content with a background image.

-{% highlight html %} -

Custom heading

-{% endhighlight %} -{% highlight scss %} -// Usage as a mixin -.heading { - .text-hide(); -} -{% endhighlight %} -
diff --git a/docs/_includes/css/images.html b/docs/_includes/css/images.html deleted file mode 100644 index a79a4d92..00000000 --- a/docs/_includes/css/images.html +++ /dev/null @@ -1,31 +0,0 @@ -
-

Images

- -

Responsive images

-

Images in Bootstrap 3 can be made responsive-friendly via the addition of the .img-responsive class. This applies max-width: 100%;, height: auto; and display: block; to the image so that it scales nicely to the parent element.

-

To center images which use the .img-responsive class, use .center-block instead of .text-center. See the helper classes section for more details about .center-block usage.

-
-

SVG images and IE 8-10

-

In Internet Explorer 8-10, SVG images with .img-responsive are disproportionately sized. To fix this, add width: 100% \9; where necessary. Bootstrap doesn't apply this automatically as it causes complications to other image formats.

-
-{% highlight html %} -Responsive image -{% endhighlight %} - -

Image shapes

-

Add classes to an <img> element to easily style images in any project.

-
-

Cross-browser compatibility

-

Keep in mind that Internet Explorer 8 lacks support for rounded corners.

-
-
- A generic square placeholder image with rounded corners - A generic square placeholder image where only the portion within the circle circumscribed about said square is visible - A generic square placeholder image with a white border around it, making it resemble a photograph taken with an old instant camera -
-{% highlight html %} -... -... -... -{% endhighlight %} -
diff --git a/docs/_includes/css/less.html b/docs/_includes/css/less.html deleted file mode 100644 index bfecb8a3..00000000 --- a/docs/_includes/css/less.html +++ /dev/null @@ -1,499 +0,0 @@ -
-

Using Less

- -

Bootstrap's CSS is built on Less, a preprocessor with additional functionality like variables, mixins, and functions for compiling CSS. Those looking to use the source Less files instead of our compiled CSS files can make use of the numerous variables and mixins we use throughout the framework.

- -

Grid variables and mixins are covered within the Grid system section.

- - -

Compiling Bootstrap

-

Bootstrap can be used in at least two ways: with the compiled CSS or with the source Less files. To compile the Less files, consult the Getting Started section for how to setup your development environment to run the necessary commands.

-

Third party compilation tools may work with Bootstrap, but they are not supported by our core team.

- -

Variables

-

Variables are used throughout the entire project as a way to centralize and share commonly used values like colors, spacing, or font stacks. For a complete breakdown, please see the Customizer.

- -

Colors

-

Easily make use of two color schemes: grayscale and semantic. Grayscale colors provide quick access to commonly used shades of black while semantic include various colors assigned to meaningful contextual values.

-
-
-
-
-
-
-
-
-
-{% highlight scss %} -@gray-darker: lighten(#000, 13.5%); // #222 -@gray-dark: lighten(#000, 20%); // #333 -@gray: lighten(#000, 33.5%); // #555 -@gray-light: lighten(#000, 46.7%); // #777 -@gray-lighter: lighten(#000, 93.5%); // #eee -{% endhighlight %} - -
-
-
-
-
-
-
-
-
-{% highlight scss %} -@brand-primary: darken(#428bca, 6.5%); // #337ab7 -@brand-success: #5cb85c; -@brand-info: #5bc0de; -@brand-warning: #f0ad4e; -@brand-danger: #d9534f; -{% endhighlight %} - -

Use any of these color variables as they are or reassign them to more meaningful variables for your project.

-{% highlight scss %} -// Use as-is -.masthead { - background-color: @brand-primary; -} - -// Reassigned variables in Less -@alert-message-background: @brand-info; -.alert { - background-color: @alert-message-background; -} -{% endhighlight %} - -

Scaffolding

-

A handful of variables for quickly customizing key elements of your site's skeleton.

-{% highlight scss %} -// Scaffolding -@body-bg: #fff; -@text-color: @black-50; -{% endhighlight %} - - -

Easily style your links with the right color with only one value.

-{% highlight scss %} -// Variables -@link-color: @brand-primary; -@link-hover-color: darken(@link-color, 15%); - -// Usage -a { - color: @link-color; - text-decoration: none; - - &:hover { - color: @link-hover-color; - text-decoration: underline; - } -} -{% endhighlight %} -

Note that the @link-hover-color uses a function, another awesome tool from Less, to automagically create the right hover color. You can use darken, lighten, saturate, and desaturate.

- -

Typography

-

Easily set your typeface, text size, leading, and more with a few quick variables. Bootstrap makes use of these as well to provide easy typographic mixins.

-{% highlight scss %} -@font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif; -@font-family-serif: Georgia, "Times New Roman", Times, serif; -@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace; -@font-family-base: @font-family-sans-serif; - -@font-size-base: 14px; -@font-size-large: ceil((@font-size-base * 1.25)); // ~18px -@font-size-small: ceil((@font-size-base * 0.85)); // ~12px - -@font-size-h1: floor((@font-size-base * 2.6)); // ~36px -@font-size-h2: floor((@font-size-base * 2.15)); // ~30px -@font-size-h3: ceil((@font-size-base * 1.7)); // ~24px -@font-size-h4: ceil((@font-size-base * 1.25)); // ~18px -@font-size-h5: @font-size-base; -@font-size-h6: ceil((@font-size-base * 0.85)); // ~12px - -@line-height-base: 1.428571429; // 20/14 -@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px - -@headings-font-family: inherit; -@headings-font-weight: 500; -@headings-line-height: 1.1; -@headings-color: inherit; -{% endhighlight %} - -

Icons

-

Two quick variables for customizing the location and filename of your icons.

-{% highlight scss %} -@icon-font-path: "../fonts/"; -@icon-font-name: "icons-halflings-regular"; -{% endhighlight %} - -

Components

-

Components throughout Bootstrap make use of some default variables for setting common values. Here are the most commonly used.

-{% highlight scss %} -@padding-base-vertical: 6px; -@padding-base-horizontal: 12px; - -@padding-large-vertical: 10px; -@padding-large-horizontal: 16px; - -@padding-small-vertical: 5px; -@padding-small-horizontal: 10px; - -@padding-xs-vertical: 1px; -@padding-xs-horizontal: 5px; - -@line-height-large: 1.33; -@line-height-small: 1.5; - -@border-radius-base: 4px; -@border-radius-large: 6px; -@border-radius-small: 3px; - -@component-active-color: #fff; -@component-active-bg: @brand-primary; - -@caret-width-base: 4px; -@caret-width-large: 5px; -{% endhighlight %} - - -

Vendor mixins

-

Vendor mixins are mixins to help support multiple browsers by including all relevant vendor prefixes in your compiled CSS.

- - -

Box-sizing

-

Reset your components' box model with a single mixin. For context, see this helpful article from Mozilla.

-

The mixin is deprecated as of v3.2.0, with the introduction of Autoprefixer. To preserve backwards-compatibility, Bootstrap will continue to use the mixin internally until Bootstrap v4.

-{% highlight scss %} -.box-sizing(@box-model) { - -webkit-box-sizing: @box-model; // Safari <= 5 - -moz-box-sizing: @box-model; // Firefox <= 19 - box-sizing: @box-model; -} -{% endhighlight %} - -

Rounded corners

-

Today all modern browsers support the non-prefixed border-radius property. As such, there is no .border-radius() mixin, but Bootstrap does include shortcuts for quickly rounding two corners on a particular side of an object.

-{% highlight scss %} -.border-top-radius(@radius) { - border-top-right-radius: @radius; - border-top-left-radius: @radius; -} -.border-right-radius(@radius) { - border-bottom-right-radius: @radius; - border-top-right-radius: @radius; -} -.border-bottom-radius(@radius) { - border-bottom-right-radius: @radius; - border-bottom-left-radius: @radius; -} -.border-left-radius(@radius) { - border-bottom-left-radius: @radius; - border-top-left-radius: @radius; -} -{% endhighlight %} - -

Box (Drop) shadows

-

If your target audience is using the latest and greatest browsers and devices, be sure to just use the box-shadow property on its own. If you need support for older Android (pre-v4) and iOS devices (pre-iOS 5), use the deprecated mixin to pick up the required -webkit prefix.

-

The mixin is deprecated as of v3.1.0, since Bootstrap doesn't officially support the outdated platforms that don't support the standard property. To preserve backwards-compatibility, Bootstrap will continue to use the mixin internally until Bootstrap v4.

-

Be sure to use rgba() colors in your box shadows so they blend as seamlessly as possible with backgrounds.

-{% highlight scss %} -.box-shadow(@shadow: 0 1px 3px rgba(0,0,0,.25)) { - -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1 - box-shadow: @shadow; -} -{% endhighlight %} - -

Transitions

-

Multiple mixins for flexibility. Set all transition information with one, or specify a separate delay and duration as needed.

-

The mixins are deprecated as of v3.2.0, with the introduction of Autoprefixer. To preserve backwards-compatibility, Bootstrap will continue to use the mixins internally until Bootstrap v4.

-{% highlight scss %} -.transition(@transition) { - -webkit-transition: @transition; - transition: @transition; -} -.transition-property(@transition-property) { - -webkit-transition-property: @transition-property; - transition-property: @transition-property; -} -.transition-delay(@transition-delay) { - -webkit-transition-delay: @transition-delay; - transition-delay: @transition-delay; -} -.transition-duration(@transition-duration) { - -webkit-transition-duration: @transition-duration; - transition-duration: @transition-duration; -} -.transition-timing-function(@timing-function) { - -webkit-transition-timing-function: @timing-function; - transition-timing-function: @timing-function; -} -.transition-transform(@transition) { - -webkit-transition: -webkit-transform @transition; - -moz-transition: -moz-transform @transition; - -o-transition: -o-transform @transition; - transition: transform @transition; -} -{% endhighlight %} - -

Transformations

-

Rotate, scale, translate (move), or skew any object.

-

The mixins are deprecated as of v3.2.0, with the introduction of Autoprefixer. To preserve backwards-compatibility, Bootstrap will continue to use the mixins internally until Bootstrap v4.

-{% highlight scss %} -.rotate(@degrees) { - -webkit-transform: rotate(@degrees); - -ms-transform: rotate(@degrees); // IE9 only - transform: rotate(@degrees); -} -.scale(@ratio; @ratio-y...) { - -webkit-transform: scale(@ratio, @ratio-y); - -ms-transform: scale(@ratio, @ratio-y); // IE9 only - transform: scale(@ratio, @ratio-y); -} -.translate(@x; @y) { - -webkit-transform: translate(@x, @y); - -ms-transform: translate(@x, @y); // IE9 only - transform: translate(@x, @y); -} -.skew(@x; @y) { - -webkit-transform: skew(@x, @y); - -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+ - transform: skew(@x, @y); -} -.translate3d(@x; @y; @z) { - -webkit-transform: translate3d(@x, @y, @z); - transform: translate3d(@x, @y, @z); -} - -.rotateX(@degrees) { - -webkit-transform: rotateX(@degrees); - -ms-transform: rotateX(@degrees); // IE9 only - transform: rotateX(@degrees); -} -.rotateY(@degrees) { - -webkit-transform: rotateY(@degrees); - -ms-transform: rotateY(@degrees); // IE9 only - transform: rotateY(@degrees); -} -.perspective(@perspective) { - -webkit-perspective: @perspective; - -moz-perspective: @perspective; - perspective: @perspective; -} -.perspective-origin(@perspective) { - -webkit-perspective-origin: @perspective; - -moz-perspective-origin: @perspective; - perspective-origin: @perspective; -} -.transform-origin(@origin) { - -webkit-transform-origin: @origin; - -moz-transform-origin: @origin; - -ms-transform-origin: @origin; // IE9 only - transform-origin: @origin; -} -{% endhighlight %} - -

Animations

-

A single mixin for using all of CSS3's animation properties in one declaration and other mixins for individual properties.

-

The mixins are deprecated as of v3.2.0, with the introduction of Autoprefixer. To preserve backwards-compatibility, Bootstrap will continue to use the mixins internally until Bootstrap v4.

-{% highlight scss %} -.animation(@animation) { - -webkit-animation: @animation; - animation: @animation; -} -.animation-name(@name) { - -webkit-animation-name: @name; - animation-name: @name; -} -.animation-duration(@duration) { - -webkit-animation-duration: @duration; - animation-duration: @duration; -} -.animation-timing-function(@timing-function) { - -webkit-animation-timing-function: @timing-function; - animation-timing-function: @timing-function; -} -.animation-delay(@delay) { - -webkit-animation-delay: @delay; - animation-delay: @delay; -} -.animation-iteration-count(@iteration-count) { - -webkit-animation-iteration-count: @iteration-count; - animation-iteration-count: @iteration-count; -} -.animation-direction(@direction) { - -webkit-animation-direction: @direction; - animation-direction: @direction; -} -{% endhighlight %} - -

Opacity

-

Set the opacity for all browsers and provide a filter fallback for IE8.

-{% highlight scss %} -.opacity(@opacity) { - opacity: @opacity; - // IE8 filter - @opacity-ie: (@opacity * 100); - filter: ~"alpha(opacity=@{opacity-ie})"; -} -{% endhighlight %} - -

Placeholder text

-

Provide context for form controls within each field.

-{% highlight scss %} -.placeholder(@color: @input-color-placeholder) { - &::-moz-placeholder { color: @color; } // Firefox - &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+ - &::-webkit-input-placeholder { color: @color; } // Safari and Chrome -} -{% endhighlight %} - -

Columns

-

Generate columns via CSS within a single element.

-{% highlight scss %} -.content-columns(@width; @count; @gap) { - -webkit-column-width: @width; - -moz-column-width: @width; - column-width: @width; - -webkit-column-count: @count; - -moz-column-count: @count; - column-count: @count; - -webkit-column-gap: @gap; - -moz-column-gap: @gap; - column-gap: @gap; -} -{% endhighlight %} - -

Gradients

-

Easily turn any two colors into a background gradient. Get more advanced and set a direction, use three colors, or use a radial gradient. With a single mixin you get all the prefixed syntaxes you'll need.

-{% highlight scss %} -#gradient > .vertical(#333; #000); -#gradient > .horizontal(#333; #000); -#gradient > .radial(#333; #000); -{% endhighlight %} -

You can also specify the angle of a standard two-color, linear gradient:

-{% highlight scss %} -#gradient > .directional(#333; #000; 45deg); -{% endhighlight %} -

If you need a barber-stripe style gradient, that's easy, too. Just specify a single color and we'll overlay a translucent white stripe.

-{% highlight scss %} -#gradient > .striped(#333; 45deg); -{% endhighlight %} -

Up the ante and use three colors instead. Set the first color, the second color, the second color's color stop (a percentage value like 25%), and the third color with these mixins:

-{% highlight scss %} -#gradient > .vertical-three-colors(#777; #333; 25%; #000); -#gradient > .horizontal-three-colors(#777; #333; 25%; #000); -{% endhighlight %} -

Heads up! Should you ever need to remove a gradient, be sure to remove any IE-specific filter you may have added. You can do that by using the .reset-filter() mixin alongside background-image: none;.

- - -

Utility mixins

-

Utility mixins are mixins that combine otherwise unrelated CSS properties to achieve a specific goal or task.

- -

Clearfix

-

Forget adding class="clearfix" to any element and instead add the .clearfix() mixin where appropriate. Uses the micro clearfix from Nicolas Gallagher.

-{% highlight scss %} -// Mixin -.clearfix() { - &:before, - &:after { - content: " "; - display: table; - } - &:after { - clear: both; - } -} - -// Usage -.container { - .clearfix(); -} -{% endhighlight %} - -

Horizontal centering

-

Quickly center any element within its parent. Requires width or max-width to be set.

-{% highlight scss %} -// Mixin -.center-block() { - display: block; - margin-left: auto; - margin-right: auto; -} - -// Usage -.container { - width: 940px; - .center-block(); -} -{% endhighlight %} - -

Sizing helpers

-

Specify the dimensions of an object more easily.

-{% highlight scss %} -// Mixins -.size(@width; @height) { - width: @width; - height: @height; -} -.square(@size) { - .size(@size; @size); -} - -// Usage -.image { .size(400px; 300px); } -.avatar { .square(48px); } -{% endhighlight %} - -

Resizable textareas

-

Easily configure the resize options for any textarea, or any other element. Defaults to normal browser behavior (both).

-{% highlight scss %} -.resizable(@direction: both) { - // Options: horizontal, vertical, both - resize: @direction; - // Safari fix - overflow: auto; -} -{% endhighlight %} - -

Truncating text

-

Easily truncate text with an ellipsis with a single mixin. Requires element to be block or inline-block level.

-{% highlight scss %} -// Mixin -.text-overflow() { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -// Usage -.branch-name { - display: inline-block; - max-width: 200px; - .text-overflow(); -} -{% endhighlight %} - -

Retina images

-

Specify two image paths and the @1x image dimensions, and Bootstrap will provide an @2x media query. If you have many images to serve, consider writing your retina image CSS manually in a single media query.

-{% highlight scss %} -.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) { - background-image: url("@{file-1x}"); - - @media - only screen and (-webkit-min-device-pixel-ratio: 2), - only screen and ( min--moz-device-pixel-ratio: 2), - only screen and ( -o-min-device-pixel-ratio: 2/1), - only screen and ( min-device-pixel-ratio: 2), - only screen and ( min-resolution: 192dpi), - only screen and ( min-resolution: 2dppx) { - background-image: url("@{file-2x}"); - background-size: @width-1x @height-1x; - } -} - -// Usage -.jumbotron { - .img-retina("/img/bg-1x.png", "/img/bg-2x.png", 100px, 100px); -} -{% endhighlight %} -
diff --git a/docs/_includes/css/overview.html b/docs/_includes/css/overview.html deleted file mode 100644 index bd0e5384..00000000 --- a/docs/_includes/css/overview.html +++ /dev/null @@ -1,52 +0,0 @@ -
-

Overview

- -

Get the lowdown on the key pieces of Bootstrap's infrastructure, including our approach to better, faster, stronger web development.

- -

HTML5 doctype

-

Bootstrap makes use of certain HTML elements and CSS properties that require the use of the HTML5 doctype. Include it at the beginning of all your projects.

-{% highlight html %} - - - ... - -{% endhighlight %} - -

Mobile first

-

With Bootstrap 2, we added optional mobile friendly styles for key aspects of the framework. With Bootstrap 3, we've rewritten the project to be mobile friendly from the start. Instead of adding on optional mobile styles, they're baked right into the core. In fact, Bootstrap is mobile first. Mobile first styles can be found throughout the entire library instead of in separate files.

-

To ensure proper rendering and touch zooming, add the viewport meta tag to your <head>.

-{% highlight html %} - -{% endhighlight %} -

You can disable zooming capabilities on mobile devices by adding user-scalable=no to the viewport meta tag. This disables zooming, meaning users are only able to scroll, and results in your site feeling a bit more like a native application. Overall, we don't recommend this on every site, so use caution!

-{% highlight html %} - -{% endhighlight %} - - -

Bootstrap sets basic global display, typography, and link styles. Specifically, we:

-
    -
  • Set background-color: #fff; on the body
  • -
  • Use the @font-family-base, @font-size-base, and @line-height-base attributes as our typographic base
  • -
  • Set the global link color via @link-color and apply link underlines only on :hover
  • -
-

These styles can be found within scaffolding.less.

- -

Normalize.css

-

For improved cross-browser rendering, we use Normalize.css, a project by Nicolas Gallagher and Jonathan Neal.

- -

Containers

-

Bootstrap requires a containing element to wrap site contents and house our grid system. You may choose one of two containers to use in your projects. Note that, due to padding and more, neither container is nestable.

-

Use .container for a responsive fixed width container.

-{% highlight html %} -
- ... -
-{% endhighlight %} -

Use .container-fluid for a full width container, spanning the entire width of your viewport.

-{% highlight html %} -
- ... -
-{% endhighlight %} -
diff --git a/docs/_includes/css/responsive-utilities.html b/docs/_includes/css/responsive-utilities.html deleted file mode 100644 index ac73bf64..00000000 --- a/docs/_includes/css/responsive-utilities.html +++ /dev/null @@ -1,258 +0,0 @@ -
-

Responsive utilities

- -

For faster mobile-friendly development, use these utility classes for showing and hiding content by device via media query. Also included are utility classes for toggling content when printed.

-

Try to use these on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.

- - -

Available classes

-

Use a single or combination of the available classes for toggling content across viewport breakpoints.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Extra small devices - Phones (<768px) - - Small devices - Tablets (≥768px) - - Medium devices - Desktops (≥992px) - - Large devices - Desktops (≥1200px) -
.visible-xs-*Visible
.visible-sm-*Visible
.visible-md-*Visible
.visible-lg-*Visible
.hidden-xsVisibleVisibleVisible
.hidden-smVisibleVisibleVisible
.hidden-mdVisibleVisibleVisible
.hidden-lgVisibleVisibleVisible
-
- -

As of v3.2.0, the .visible-*-* classes for each breakpoint come in three variations, one for each CSS display property value listed below.

-
- - - - - - - - - - - - - - - - - - - - - -
Group of classesCSS display
.visible-*-blockdisplay: block;
.visible-*-inlinedisplay: inline;
.visible-*-inline-blockdisplay: inline-block;
-
-

So, for extra small (xs) screens for example, the available .visible-*-* classes are: .visible-xs-block, .visible-xs-inline, and .visible-xs-inline-block.

-

The classes .visible-xs, .visible-sm, .visible-md, and .visible-lg also exist, but are deprecated as of v3.2.0. They are approximately equivalent to .visible-*-block, except with additional special cases for toggling <table>-related elements.

- -

Print classes

-

Similar to the regular responsive classes, use these for toggling content for print.

-
- - - - - - - - - - - - - - - - - - - - -
ClassesBrowserPrint
- .visible-print-block
- .visible-print-inline
- .visible-print-inline-block -
Visible
.hidden-printVisible
-
-

The class .visible-print also exists but is deprecated as of v3.2.0. It is approximately equivalent to .visible-print-block, except with additional special cases for <table>-related elements.

- - -

Test cases

-

Resize your browser or load on different devices to test the responsive utility classes.

- -

Visible on...

-

Green checkmarks indicate the element is visible in your current viewport.

-
-
- - ✔ Visible on x-small -
-
- - ✔ Visible on small -
-
-
- Medium - ✔ Visible on medium -
-
- - ✔ Visible on large -
-
-
-
- - ✔ Visible on x-small and small -
-
- - ✔ Visible on medium and large -
-
-
- - ✔ Visible on x-small and medium -
-
- - ✔ Visible on small and large -
-
-
- - ✔ Visible on x-small and large -
-
- - ✔ Visible on small and medium -
-
- -

Hidden on...

-

Here, green checkmarks also indicate the element is hidden in your current viewport.

-
-
- - ✔ Hidden on x-small -
-
- - ✔ Hidden on small -
-
-
- Medium - ✔ Hidden on medium -
-
- - ✔ Hidden on large -
-
-
-
- - ✔ Hidden on x-small and small -
-
- - ✔ Hidden on medium and large -
-
-
- - ✔ Hidden on x-small and medium -
-
- - ✔ Hidden on small and large -
-
-
- - ✔ Hidden on x-small and large -
-
- - ✔ Hidden on small and medium -
-
-
diff --git a/docs/_includes/css/sass.html b/docs/_includes/css/sass.html deleted file mode 100644 index 35739ddc..00000000 --- a/docs/_includes/css/sass.html +++ /dev/null @@ -1,52 +0,0 @@ -
-

Using Sass

-

While Bootstrap is built on Less, it also has an official Sass port. We maintain it in a separate GitHub repository and handle updates with a conversion script.

- -

What's included

-

Since the Sass port has a separate repo and serves a slightly different audience, the contents of the project differ greatly from the main Bootstrap project. This ensures the Sass port is as compatible with as many Sass-based systems as possible.

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PathDescription
lib/Ruby gem code (Sass configuration, Rails and Compass integrations)
tasks/Converter scripts (turning upstream Less to Sass)
test/Compilation tests
templates/Compass package manifest
vendor/assets/Sass, JavaScript, and font files
RakefileInternal tasks, such as rake and convert
-
-

Visit the Sass port's GitHub repository to see these files in action.

- - -

Installation

-

For information on how to install and use Bootstrap for Sass, consult the GitHub repository readme. It's the most up to date source and includes information for use with Rails, Compass, and standard Sass projects.

-

- Bootstrap for Sass -

-
diff --git a/docs/_includes/css/tables.html b/docs/_includes/css/tables.html deleted file mode 100644 index d259cbab..00000000 --- a/docs/_includes/css/tables.html +++ /dev/null @@ -1,467 +0,0 @@ -
-

Tables

- -

Basic example

-

For basic styling—light padding and only horizontal dividers—add the base class .table to any <table>. It may seem super redundant, but given the widespread use of tables for other plugins like calendars and date pickers, we've opted to isolate our custom table styles.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Optional table caption.
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
-
-{% highlight html %} - - ... -
-{% endhighlight %} - - -

Striped rows

-

Use .table-striped to add zebra-striping to any table row within the <tbody>.

-
-

Cross-browser compatibility

-

Striped tables are styled via the :nth-child CSS selector, which is not available in Internet Explorer 8.

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
-
-{% highlight html %} - - ... -
-{% endhighlight %} - - -

Bordered table

-

Add .table-bordered for borders on all sides of the table and cells.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
-
-{% highlight html %} - - ... -
-{% endhighlight %} - - -

Hover rows

-

Add .table-hover to enable a hover state on table rows within a <tbody>.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
-
-{% highlight html %} - - ... -
-{% endhighlight %} - - -

Condensed table

-

Add .table-condensed to make tables more compact by cutting cell padding in half.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
-
-{% highlight html %} - - ... -
-{% endhighlight %} - - -

Contextual classes

-

Use contextual classes to color table rows or individual cells.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ClassDescription
- .active - Applies the hover color to a particular row or cell
- .success - Indicates a successful or positive action
- .info - Indicates a neutral informative change or action
- .warning - Indicates a warning that might need attention
- .danger - Indicates a dangerous or potentially negative action
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#Column headingColumn headingColumn heading
1Column contentColumn contentColumn content
2Column contentColumn contentColumn content
3Column contentColumn contentColumn content
4Column contentColumn contentColumn content
5Column contentColumn contentColumn content
6Column contentColumn contentColumn content
7Column contentColumn contentColumn content
8Column contentColumn contentColumn content
9Column contentColumn contentColumn content
-
-{% highlight html %} - -... -... -... -... -... - - - - ... - ... - ... - ... - ... - -{% endhighlight %} -
-

Conveying meaning to assistive technologies

-

Using color to add meaning to a table row or individual cell only provides a visual indication, which will not be conveyed to users of assistive technologies – such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (the visible text in the relevant table row/cell), or is included through alternative means, such as additional text hidden with the .sr-only class.

-
- -

Responsive tables

-

Create responsive tables by wrapping any .table in .table-responsive to make them scroll horizontally on small devices (under 768px). When viewing on anything larger than 768px wide, you will not see any difference in these tables.

- -
-

Vertical clipping/truncation

-

Responsive tables make use of overflow-y: hidden, which clips off any content that goes beyond the bottom or top edges of the table. In particular, this can clip off dropdown menus and other third-party widgets.

-
-
-

Firefox and fieldsets

-

Firefox has some awkward fieldset styling involving width that interferes with the responsive table. This cannot be overriden without a Firefox-specific hack that we don't provide in Bootstrap:

-{% highlight css %} -@-moz-document url-prefix() { - fieldset { display: table-cell; } -} -{% endhighlight %} -

For more information, read this Stack Overflow answer.

-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#Table headingTable headingTable headingTable headingTable headingTable heading
1Table cellTable cellTable cellTable cellTable cellTable cell
2Table cellTable cellTable cellTable cellTable cellTable cell
3Table cellTable cellTable cellTable cellTable cellTable cell
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#Table headingTable headingTable headingTable headingTable headingTable heading
1Table cellTable cellTable cellTable cellTable cellTable cell
2Table cellTable cellTable cellTable cellTable cellTable cell
3Table cellTable cellTable cellTable cellTable cellTable cell
-
-
-{% highlight html %} -
- - ... -
-
-{% endhighlight %} -
diff --git a/docs/_includes/css/type.html b/docs/_includes/css/type.html deleted file mode 100644 index 839336e6..00000000 --- a/docs/_includes/css/type.html +++ /dev/null @@ -1,461 +0,0 @@ -
-

Typography

- - -

Headings

-

All HTML headings, <h1> through <h6>, are available. .h1 through .h6 classes are also available, for when you want to match the font styling of a heading but still want your text to be displayed inline.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

h1. Bootstrap heading

Semibold 36px

h2. Bootstrap heading

Semibold 30px

h3. Bootstrap heading

Semibold 24px

h4. Bootstrap heading

Semibold 18px
h5. Bootstrap heading
Semibold 14px
h6. Bootstrap heading
Semibold 12px
-
-{% highlight html %} -

h1. Bootstrap heading

-

h2. Bootstrap heading

-

h3. Bootstrap heading

-

h4. Bootstrap heading

-
h5. Bootstrap heading
-
h6. Bootstrap heading
-{% endhighlight %} - -

Create lighter, secondary text in any heading with a generic <small> tag or the .small class.

-
- - - - - - - - - - - - - - - - - - - - - -

h1. Bootstrap heading Secondary text

h2. Bootstrap heading Secondary text

h3. Bootstrap heading Secondary text

h4. Bootstrap heading Secondary text

h5. Bootstrap heading Secondary text
h6. Bootstrap heading Secondary text
-
-{% highlight html %} -

h1. Bootstrap heading Secondary text

-

h2. Bootstrap heading Secondary text

-

h3. Bootstrap heading Secondary text

-

h4. Bootstrap heading Secondary text

-
h5. Bootstrap heading Secondary text
-
h6. Bootstrap heading Secondary text
-{% endhighlight %} - - - -

Body copy

-

Bootstrap's global default font-size is 14px, with a line-height of 1.428. This is applied to the <body> and all paragraphs. In addition, <p> (paragraphs) receive a bottom margin of half their computed line-height (10px by default).

-
-

Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula.

-

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec ullamcorper nulla non metus auctor fringilla. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla.

-

Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.

-
-{% highlight html %} -

...

-{% endhighlight %} - - -

Lead body copy

-

Make a paragraph stand out by adding .lead.

-
-

Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus.

-
-{% highlight html %} -

...

-{% endhighlight %} - - -

Built with Less

-

The typographic scale is based on two Less variables in variables.less: @font-size-base and @line-height-base. The first is the base font-size used throughout and the second is the base line-height. We use those variables and some simple math to create the margins, paddings, and line-heights of all our type and more. Customize them and Bootstrap adapts.

- - -

Inline text elements

-

Marked text

-

For highlighting a run of text due to its relevance in another context, use the <mark> tag.

-
-

You can use the mark tag to highlight text.

-
-{% highlight html %} -You can use the mark tag to highlight text. -{% endhighlight %} - - -

Deleted text

-

For indicating blocks of text that have been deleted use the <del> tag.

-
-

This line of text is meant to be treated as deleted text.

-
-{% highlight html %} -This line of text is meant to be treated as deleted text. -{% endhighlight %} - -

Strikethrough text

-

For indicating blocks of text that are no longer relevant use the <s> tag.

-
-

This line of text is meant to be treated as no longer accurate.

-
-{% highlight html %} -This line of text is meant to be treated as no longer accurate. -{% endhighlight %} - -

Inserted text

-

For indicating additions to the document use the <ins> tag.

-
-

This line of text is meant to be treated as an addition to the document.

-
-{% highlight html %} -This line of text is meant to be treated as an addition to the document. -{% endhighlight %} - -

Underlined text

-

To underline text use the <u> tag.

-
-

This line of text will render as underlined

-
-{% highlight html %} -This line of text will render as underlined -{% endhighlight %} - -

Make use of HTML's default emphasis tags with lightweight styles.

- -

Small text

-

For de-emphasizing inline or blocks of text, use the <small> tag to set text at 85% the size of the parent. Heading elements receive their own font-size for nested <small> elements.

-

You may alternatively use an inline element with .small in place of any <small>.

-
-

This line of text is meant to be treated as fine print.

-
-{% highlight html %} -This line of text is meant to be treated as fine print. -{% endhighlight %} - - -

Bold

-

For emphasizing a snippet of text with a heavier font-weight.

-
-

The following snippet of text is rendered as bold text.

-
-{% highlight html %} -rendered as bold text -{% endhighlight %} - -

Italics

-

For emphasizing a snippet of text with italics.

-
-

The following snippet of text is rendered as italicized text.

-
-{% highlight html %} -rendered as italicized text -{% endhighlight %} - -
-

Alternate elements

-

Feel free to use <b> and <i> in HTML5. <b> is meant to highlight words or phrases without conveying additional importance while <i> is mostly for voice, technical terms, etc.

-
- -

Alignment classes

-

Easily realign text to components with text alignment classes.

-
-

Left aligned text.

-

Center aligned text.

-

Right aligned text.

-

Justified text.

-

No wrap text.

-
-{% highlight html %} -

Left aligned text.

-

Center aligned text.

-

Right aligned text.

-

Justified text.

-

No wrap text.

-{% endhighlight %} - -

Transformation classes

-

Transform text in components with text capitalization classes.

-
-

Lowercased text.

-

Uppercased text.

-

Capitalized text.

-
-{% highlight html %} -

Lowercased text.

-

Uppercased text.

-

Capitalized text.

-{% endhighlight %} - - -

Abbreviations

-

Stylized implementation of HTML's <abbr> element for abbreviations and acronyms to show the expanded version on hover. Abbreviations with a title attribute have a light dotted bottom border and a help cursor on hover, providing additional context on hover and to users of assistive technologies.

- -

Basic abbreviation

-
-

An abbreviation of the word attribute is attr.

-
-{% highlight html %} -attr -{% endhighlight %} - -

Initialism

-

Add .initialism to an abbreviation for a slightly smaller font-size.

-
-

HTML is the best thing since sliced bread.

-
-{% highlight html %} -HTML -{% endhighlight %} - - - -

Addresses

-

Present contact information for the nearest ancestor or the entire body of work. Preserve formatting by ending all lines with <br>.

-
-
- Twitter, Inc.
- 1355 Market Street, Suite 900
- San Francisco, CA 94103
- P: (123) 456-7890 -
-
- Full Name
- first.last@example.com -
-
-{% highlight html %} -
- Twitter, Inc.
- 1355 Market Street, Suite 900
- San Francisco, CA 94103
- P: (123) 456-7890 -
- -
- Full Name
- first.last@example.com -
-{% endhighlight %} - - - -

Blockquotes

-

For quoting blocks of content from another source within your document.

- -

Default blockquote

-

Wrap <blockquote> around any HTML as the quote. For straight quotes, we recommend a <p>.

-
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

-
-
-{% highlight html %} -
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

-
-{% endhighlight %} - -

Blockquote options

-

Style and content changes for simple variations on a standard <blockquote>.

- -

Naming a source

-

Add a <footer> for identifying the source. Wrap the name of the source work in <cite>.

-
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

-
Someone famous in Source Title
-
-
-{% highlight html %} -
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

-
Someone famous in Source Title
-
-{% endhighlight %} - -

Alternate displays

-

Add .blockquote-reverse for a blockquote with right-aligned content.

-
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

-
Someone famous in Source Title
-
-
-{% highlight html %} -
- ... -
-{% endhighlight %} - - - -

Lists

- -

Unordered

-

A list of items in which the order does not explicitly matter.

-
-
    -
  • Lorem ipsum dolor sit amet
  • -
  • Consectetur adipiscing elit
  • -
  • Integer molestie lorem at massa
  • -
  • Facilisis in pretium nisl aliquet
  • -
  • Nulla volutpat aliquam velit -
      -
    • Phasellus iaculis neque
    • -
    • Purus sodales ultricies
    • -
    • Vestibulum laoreet porttitor sem
    • -
    • Ac tristique libero volutpat at
    • -
    -
  • -
  • Faucibus porta lacus fringilla vel
  • -
  • Aenean sit amet erat nunc
  • -
  • Eget porttitor lorem
  • -
-
-{% highlight html %} -
    -
  • ...
  • -
-{% endhighlight %} - -

Ordered

-

A list of items in which the order does explicitly matter.

-
-
    -
  1. Lorem ipsum dolor sit amet
  2. -
  3. Consectetur adipiscing elit
  4. -
  5. Integer molestie lorem at massa
  6. -
  7. Facilisis in pretium nisl aliquet
  8. -
  9. Nulla volutpat aliquam velit
  10. -
  11. Faucibus porta lacus fringilla vel
  12. -
  13. Aenean sit amet erat nunc
  14. -
  15. Eget porttitor lorem
  16. -
-
-{% highlight html %} -
    -
  1. ...
  2. -
-{% endhighlight %} - -

Unstyled

-

Remove the default list-style and left margin on list items (immediate children only). This only applies to immediate children list items, meaning you will need to add the class for any nested lists as well.

-
-
    -
  • Lorem ipsum dolor sit amet
  • -
  • Consectetur adipiscing elit
  • -
  • Integer molestie lorem at massa
  • -
  • Facilisis in pretium nisl aliquet
  • -
  • Nulla volutpat aliquam velit -
      -
    • Phasellus iaculis neque
    • -
    • Purus sodales ultricies
    • -
    • Vestibulum laoreet porttitor sem
    • -
    • Ac tristique libero volutpat at
    • -
    -
  • -
  • Faucibus porta lacus fringilla vel
  • -
  • Aenean sit amet erat nunc
  • -
  • Eget porttitor lorem
  • -
-
-{% highlight html %} -
    -
  • ...
  • -
-{% endhighlight %} - -

Inline

-

Place all list items on a single line with display: inline-block; and some light padding.

-
-
    -
  • Lorem ipsum
  • -
  • Phasellus iaculis
  • -
  • Nulla volutpat
  • -
-
-{% highlight html %} -
    -
  • ...
  • -
-{% endhighlight %} - -

Description

-

A list of terms with their associated descriptions.

-
-
-
Description lists
-
A description list is perfect for defining terms.
-
Euismod
-
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
-
Donec id elit non mi porta gravida at eget metus.
-
Malesuada porta
-
Etiam porta sem malesuada magna mollis euismod.
-
-
-{% highlight html %} -
-
...
-
...
-
-{% endhighlight %} - -

Horizontal description

-

Make terms and descriptions in <dl> line up side-by-side. Starts off stacked like default <dl>s, but when the navbar expands, so do these.

-
-
-
Description lists
-
A description list is perfect for defining terms.
-
Euismod
-
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
-
Donec id elit non mi porta gravida at eget metus.
-
Malesuada porta
-
Etiam porta sem malesuada magna mollis euismod.
-
Felis euismod semper eget lacinia
-
Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
-
-
-{% highlight html %} -
-
...
-
...
-
-{% endhighlight %} - -
-

Auto-truncating

-

Horizontal description lists will truncate terms that are too long to fit in the left column with text-overflow. In narrower viewports, they will change to the default stacked layout.

-
-
diff --git a/docs/_includes/footer.html b/docs/_includes/footer.html index d8a8ada5..d70e8f36 100644 --- a/docs/_includes/footer.html +++ b/docs/_includes/footer.html @@ -1,82 +1,63 @@ - -
- Generic placeholder image + Generic placeholder image
@@ -200,7 +165,7 @@
@@ -209,7 +174,7 @@ - + diff --git a/docs/examples/cover/cover.css b/docs/examples/cover/cover.css index d81b04ef..e9e6d65a 100644 --- a/docs/examples/cover/cover.css +++ b/docs/examples/cover/cover.css @@ -10,13 +10,13 @@ a:hover { } /* Custom default button */ -.btn-default, -.btn-default:hover, -.btn-default:focus { +.btn-secondary, +.btn-secondary:hover, +.btn-secondary:focus { color: #333; - text-shadow: none; /* Prevent inheritence from `body` */ + text-shadow: none; /* Prevent inheritance from `body` */ background-color: #fff; - border: 1px solid #fff; + border: .05rem solid #fff; } @@ -32,7 +32,7 @@ body { body { color: #fff; text-align: center; - text-shadow: 0 1px 3px rgba(0,0,0,.5); + text-shadow: 0 .05rem .1rem rgba(0,0,0,.5); } /* Extra markup and styles for table-esque vertical and horizontal centering */ @@ -41,8 +41,8 @@ body { width: 100%; height: 100%; /* For at least Firefox */ min-height: 100%; - -webkit-box-shadow: inset 0 0 100px rgba(0,0,0,.5); - box-shadow: inset 0 0 100px rgba(0,0,0,.5); + -webkit-box-shadow: inset 0 0 5rem rgba(0,0,0,.5); + box-shadow: inset 0 0 5rem rgba(0,0,0,.5); } .site-wrapper-inner { display: table-cell; @@ -55,51 +55,44 @@ body { /* Padding for spacing */ .inner { - padding: 30px; + padding: 2rem; } /* * Header */ -.masthead-brand { - margin-top: 10px; - margin-bottom: 10px; + +.masthead { + margin-bottom: 2rem; } -.masthead-nav > li { - display: inline-block; +.masthead-brand { + margin-bottom: 0; } -.masthead-nav > li + li { - margin-left: 20px; -} -.masthead-nav > li > a { - padding-right: 0; - padding-left: 0; - font-size: 16px; + +.nav-masthead .nav-link { + padding: .25rem 0; font-weight: bold; - color: #fff; /* IE8 proofing */ - color: rgba(255,255,255,.75); - border-bottom: 2px solid transparent; -} -.masthead-nav > li > a:hover, -.masthead-nav > li > a:focus { + color: rgba(255,255,255,.5); background-color: transparent; - border-bottom-color: #a9a9a9; - border-bottom-color: rgba(255,255,255,.25); + border-bottom: .25rem solid transparent; } -.masthead-nav > .active > a, -.masthead-nav > .active > a:hover, -.masthead-nav > .active > a:focus { + +.nav-masthead .nav-link + .nav-link { + margin-left: 1rem; +} + +.nav-masthead .active { color: #fff; border-bottom-color: #fff; } -@media (min-width: 768px) { +@media (min-width: 48em) { .masthead-brand { float: left; } - .masthead-nav { + .nav-masthead { float: right; } } @@ -110,10 +103,10 @@ body { */ .cover { - padding: 0 20px; + padding: 0 1.5rem; } .cover .btn-lg { - padding: 10px 20px; + padding: .75rem 1.25rem; font-weight: bold; } @@ -123,7 +116,6 @@ body { */ .mastfoot { - color: #999; /* IE8 proofing */ color: rgba(255,255,255,.5); } @@ -132,7 +124,7 @@ body { * Affix and center */ -@media (min-width: 768px) { +@media (min-width: 40em) { /* Pull out the header and footer */ .masthead { position: fixed; @@ -154,11 +146,10 @@ body { } } -@media (min-width: 992px) { +@media (min-width: 62em) { .masthead, .mastfoot, .cover-container { - width: 700px; + width: 42rem; } } -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvdmVyLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRzs7QUFFSCxXQUFXO0FBQ1g7OztFQUdFLFlBQVk7Q0FDYjs7QUFFRCwyQkFBMkI7QUFDM0I7OztFQUdFLFlBQVk7RUFDWixrQkFBa0IsQ0FBQyxxQ0FBcUM7RUFDeEQsdUJBQXVCO0VBQ3ZCLHVCQUF1QjtDQUN4Qjs7O0FBR0Q7O0dBRUc7O0FBRUg7O0VBRUUsYUFBYTtFQUNiLHVCQUF1QjtDQUN4QjtBQUNEO0VBQ0UsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixzQ0FBc0M7Q0FDdkM7O0FBRUQsK0VBQStFO0FBQy9FO0VBQ0UsZUFBZTtFQUNmLFlBQVk7RUFDWixhQUFhLENBQUMsMEJBQTBCO0VBQ3hDLGlCQUFpQjtFQUNqQixtREFBbUQ7VUFDM0MsMkNBQTJDO0NBQ3BEO0FBQ0Q7RUFDRSxvQkFBb0I7RUFDcEIsb0JBQW9CO0NBQ3JCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsa0JBQWtCO0NBQ25COztBQUVELHlCQUF5QjtBQUN6QjtFQUNFLGNBQWM7Q0FDZjs7O0FBR0Q7O0dBRUc7QUFDSDtFQUNFLGlCQUFpQjtFQUNqQixvQkFBb0I7Q0FDckI7O0FBRUQ7RUFDRSxzQkFBc0I7Q0FDdkI7QUFDRDtFQUNFLGtCQUFrQjtDQUNuQjtBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLFlBQVksQ0FBQyxrQkFBa0I7RUFDL0IsNkJBQTZCO0VBQzdCLHFDQUFxQztDQUN0QztBQUNEOztFQUVFLDhCQUE4QjtFQUM5Qiw2QkFBNkI7RUFDN0IsMkNBQTJDO0NBQzVDO0FBQ0Q7OztFQUdFLFlBQVk7RUFDWiwwQkFBMEI7Q0FDM0I7O0FBRUQ7RUFDRTtJQUNFLFlBQVk7R0FDYjtFQUNEO0lBQ0UsYUFBYTtHQUNkO0NBQ0Y7OztBQUdEOztHQUVHOztBQUVIO0VBQ0UsZ0JBQWdCO0NBQ2pCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsa0JBQWtCO0NBQ25COzs7QUFHRDs7R0FFRzs7QUFFSDtFQUNFLFlBQVksQ0FBQyxrQkFBa0I7RUFDL0IsNEJBQTRCO0NBQzdCOzs7QUFHRDs7R0FFRzs7QUFFSDtFQUNFLG9DQUFvQztFQUNwQztJQUNFLGdCQUFnQjtJQUNoQixPQUFPO0dBQ1I7RUFDRDtJQUNFLGdCQUFnQjtJQUNoQixVQUFVO0dBQ1g7RUFDRCxrQ0FBa0M7RUFDbEM7SUFDRSx1QkFBdUI7R0FDeEI7RUFDRCx1QkFBdUI7RUFDdkI7OztJQUdFLFlBQVksQ0FBQywyREFBMkQ7R0FDekU7Q0FDRjs7QUFFRDtFQUNFOzs7SUFHRSxhQUFhO0dBQ2Q7Q0FDRiIsImZpbGUiOiJjb3Zlci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogR2xvYmFsc1xuICovXG5cbi8qIExpbmtzICovXG5hLFxuYTpmb2N1cyxcbmE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLyogQ3VzdG9tIGRlZmF1bHQgYnV0dG9uICovXG4uYnRuLWRlZmF1bHQsXG4uYnRuLWRlZmF1bHQ6aG92ZXIsXG4uYnRuLWRlZmF1bHQ6Zm9jdXMge1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IC8qIFByZXZlbnQgaW5oZXJpdGVuY2UgZnJvbSBgYm9keWAgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cblxuXG4vKlxuICogQmFzZSBzdHJ1Y3R1cmVcbiAqL1xuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbn1cbmJvZHkge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsLjUpO1xufVxuXG4vKiBFeHRyYSBtYXJrdXAgYW5kIHN0eWxlcyBmb3IgdGFibGUtZXNxdWUgdmVydGljYWwgYW5kIGhvcml6b250YWwgY2VudGVyaW5nICovXG4uc2l0ZS13cmFwcGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IC8qIEZvciBhdCBsZWFzdCBGaXJlZm94ICovXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwMHB4IHJnYmEoMCwwLDAsLjUpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMDBweCByZ2JhKDAsMCwwLC41KTtcbn1cbi5zaXRlLXdyYXBwZXItaW5uZXIge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLmNvdmVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qIFBhZGRpbmcgZm9yIHNwYWNpbmcgKi9cbi5pbm5lciB7XG4gIHBhZGRpbmc6IDMwcHg7XG59XG5cblxuLypcbiAqIEhlYWRlclxuICovXG4ubWFzdGhlYWQtYnJhbmQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubWFzdGhlYWQtbmF2ID4gbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubWFzdGhlYWQtbmF2ID4gbGkgKyBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuLm1hc3RoZWFkLW5hdiA+IGxpID4gYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmY7IC8qIElFOCBwcm9vZmluZyAqL1xuICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNzUpO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4ubWFzdGhlYWQtbmF2ID4gbGkgPiBhOmhvdmVyLFxuLm1hc3RoZWFkLW5hdiA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjYTlhOWE5O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4yNSk7XG59XG4ubWFzdGhlYWQtbmF2ID4gLmFjdGl2ZSA+IGEsXG4ubWFzdGhlYWQtbmF2ID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4ubWFzdGhlYWQtbmF2ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXN0aGVhZC1icmFuZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1hc3RoZWFkLW5hdiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cblxuLypcbiAqIENvdmVyXG4gKi9cblxuLmNvdmVyIHtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuLmNvdmVyIC5idG4tbGcge1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi8qXG4gKiBGb290ZXJcbiAqL1xuXG4ubWFzdGZvb3Qge1xuICBjb2xvcjogIzk5OTsgLyogSUU4IHByb29maW5nICovXG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbn1cblxuXG4vKlxuICogQWZmaXggYW5kIGNlbnRlclxuICovXG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAvKiBQdWxsIG91dCB0aGUgaGVhZGVyIGFuZCBmb290ZXIgKi9cbiAgLm1hc3RoZWFkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5tYXN0Zm9vdCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuICAvKiBTdGFydCB0aGUgdmVydGljYWwgY2VudGVyaW5nICovXG4gIC5zaXRlLXdyYXBwZXItaW5uZXIge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgLyogSGFuZGxlIHRoZSB3aWR0aHMgKi9cbiAgLm1hc3RoZWFkLFxuICAubWFzdGZvb3QsXG4gIC5jb3Zlci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyAvKiBNdXN0IGJlIHBlcmNlbnRhZ2Ugb3IgcGl4ZWxzIGZvciBob3Jpem9udGFsIGFsaWdubWVudCAqL1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFzdGhlYWQsXG4gIC5tYXN0Zm9vdCxcbiAgLmNvdmVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDcwMHB4O1xuICB9XG59XG4iXX0= */ \ No newline at end of file diff --git a/docs/examples/cover/index.html b/docs/examples/cover/index.html index 9c655376..e55484bf 100644 --- a/docs/examples/cover/index.html +++ b/docs/examples/cover/index.html @@ -3,7 +3,7 @@ - + @@ -14,21 +14,8 @@ - - - - - - - - - - @@ -42,12 +29,10 @@

Cover

-
@@ -56,7 +41,7 @@

Cover your page.

Cover is a one-page template for building simple and beautiful home pages. Download, edit the text, and add your own fullscreen background photo to make it your own.

- Learn more + Learn more

@@ -75,7 +60,7 @@ - + diff --git a/docs/examples/dashboard/dashboard.css b/docs/examples/dashboard/dashboard.css index fe2ad66c..e0e3632b 100644 --- a/docs/examples/dashboard/dashboard.css +++ b/docs/examples/dashboard/dashboard.css @@ -103,4 +103,3 @@ body { display: inline-block; border-radius: 50%; } -/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRhc2hib2FyZC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7O0FBRUgsd0VBQXdFO0FBQ3hFO0VBQ0Usa0JBQWtCO0NBQ25COzs7QUFHRDs7R0FFRzs7QUFFSDtFQUNFLHFCQUFxQjtFQUNyQiw4QkFBOEI7Q0FDL0I7O0FBRUQ7OztHQUdHO0FBQ0g7RUFDRSxVQUFVO0NBQ1g7O0FBRUQ7O0dBRUc7O0FBRUgsaUNBQWlDO0FBQ2pDO0VBQ0UsY0FBYztDQUNmO0FBQ0Q7RUFDRTtJQUNFLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsVUFBVTtJQUNWLFFBQVE7SUFDUixjQUFjO0lBQ2QsZUFBZTtJQUNmLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsaUJBQWlCLENBQUMsOERBQThEO0lBQ2hGLDBCQUEwQjtJQUMxQiw2QkFBNkI7R0FDOUI7Q0FDRjs7QUFFRCx3QkFBd0I7QUFDeEI7RUFDRSxvQkFBb0IsQ0FBQywrQkFBK0I7RUFDcEQsb0JBQW9CO0VBQ3BCLG1CQUFtQjtDQUNwQjtBQUNEO0VBQ0Usb0JBQW9CO0VBQ3BCLG1CQUFtQjtDQUNwQjtBQUNEOzs7RUFHRSxZQUFZO0VBQ1osMEJBQTBCO0NBQzNCOzs7QUFHRDs7R0FFRzs7QUFFSDtFQUNFLGNBQWM7Q0FDZjtBQUNEO0VBQ0U7SUFDRSxvQkFBb0I7SUFDcEIsbUJBQW1CO0dBQ3BCO0NBQ0Y7QUFDRDtFQUNFLGNBQWM7Q0FDZjs7O0FBR0Q7O0dBRUc7O0FBRUg7RUFDRSxvQkFBb0I7RUFDcEIsbUJBQW1CO0NBQ3BCO0FBQ0Q7RUFDRSxpQkFBaUI7Q0FDbEI7QUFDRDtFQUNFLG9CQUFvQjtDQUNyQjtBQUNEO0VBQ0Usc0JBQXNCO0VBQ3RCLG1CQUFtQjtDQUNwQiIsImZpbGUiOiJkYXNoYm9hcmQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEJhc2Ugc3RydWN0dXJlXG4gKi9cblxuLyogTW92ZSBkb3duIGNvbnRlbnQgYmVjYXVzZSB3ZSBoYXZlIGEgZml4ZWQgbmF2YmFyIHRoYXQgaXMgNTBweCB0YWxsICovXG5ib2R5IHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG59XG5cblxuLypcbiAqIEdsb2JhbCBhZGQtb25zXG4gKi9cblxuLnN1Yi1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG59XG5cbi8qXG4gKiBUb3AgbmF2aWdhdGlvblxuICogSGlkZSBkZWZhdWx0IGJvcmRlciB0byByZW1vdmUgMXB4IGxpbmUuXG4gKi9cbi5uYXZiYXItZml4ZWQtdG9wIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKlxuICogU2lkZWJhclxuICovXG5cbi8qIEhpZGUgZm9yIG1vYmlsZSwgc2hvdyBsYXRlciAqL1xuLnNpZGViYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA1MXB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgLyogU2Nyb2xsYWJsZSBjb250ZW50cyBpZiB2aWV3cG9ydCBpcyBzaG9ydGVyIHRoYW4gY29udGVudC4gKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlZWU7XG4gIH1cbn1cblxuLyogU2lkZWJhciBuYXZpZ2F0aW9uICovXG4ubmF2LXNpZGViYXIge1xuICBtYXJnaW4tcmlnaHQ6IC0yMXB4OyAvKiAyMHB4IHBhZGRpbmcgKyAxcHggYm9yZGVyICovXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbn1cbi5uYXYtc2lkZWJhciA+IGxpID4gYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cbi5uYXYtc2lkZWJhciA+IC5hY3RpdmUgPiBhLFxuLm5hdi1zaWRlYmFyID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4ubmF2LXNpZGViYXIgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI4YmNhO1xufVxuXG5cbi8qXG4gKiBNYWluIGNvbnRlbnRcbiAqL1xuXG4ubWFpbiB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG4ubWFpbiAucGFnZS1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5cbi8qXG4gKiBQbGFjZWhvbGRlciBkYXNoYm9hcmQgaWRlYXNcbiAqL1xuXG4ucGxhY2Vob2xkZXJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBsYWNlaG9sZGVycyBoNCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGxhY2Vob2xkZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnBsYWNlaG9sZGVyIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuIl19 */ \ No newline at end of file diff --git a/docs/examples/dashboard/index.html b/docs/examples/dashboard/index.html index fd8f7cfa..08a91898 100644 --- a/docs/examples/dashboard/index.html +++ b/docs/examples/dashboard/index.html @@ -3,7 +3,7 @@ - + @@ -14,47 +14,30 @@ - - - - - - - - - - -