aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.babelrc (renamed from js/.babelrc)4
-rw-r--r--.hound.yml8
-rw-r--r--.travis.yml23
-rw-r--r--CONTRIBUTING.md10
-rw-r--r--Gemfile8
-rw-r--r--Gemfile.lock42
-rw-r--r--Gruntfile.js342
-rw-r--r--LICENSE4
-rw-r--r--README.md60
-rw-r--r--_config.yml22
-rw-r--r--bower.json5
-rwxr-xr-xbuild/change-version.js (renamed from grunt/change-version.js)92
-rw-r--r--build/gcp-key.json.enc (renamed from grunt/gcp-key.json.enc)bin2304 -> 2304 bytes
-rw-r--r--build/npm-shrinkwrap.json (renamed from grunt/npm-shrinkwrap.json)3405
-rw-r--r--build/postcss.config.js41
-rw-r--r--build/sauce_browsers.yml (renamed from grunt/sauce_browsers.yml)11
-rw-r--r--build/stamp.js41
-rwxr-xr-xbuild/upload-preview.sh13
-rw-r--r--dist/css/bootstrap-grid.css999
-rw-r--r--dist/css/bootstrap-grid.css.map2
-rw-r--r--dist/css/bootstrap-grid.min.css2
-rw-r--r--dist/css/bootstrap-grid.min.css.map2
-rw-r--r--dist/css/bootstrap-reboot.css392
-rw-r--r--dist/css/bootstrap-reboot.css.map2
-rw-r--r--dist/css/bootstrap-reboot.min.css2
-rw-r--r--dist/css/bootstrap-reboot.min.css.map2
-rw-r--r--dist/css/bootstrap.css2291
-rw-r--r--dist/css/bootstrap.css.map2
-rw-r--r--dist/css/bootstrap.min.css8
-rw-r--r--dist/css/bootstrap.min.css.map2
-rw-r--r--dist/js/bootstrap.js841
-rw-r--r--dist/js/bootstrap.min.js285
-rw-r--r--docs/.htmlhintrc4
-rw-r--r--docs/.htmllintrc19
-rw-r--r--docs/_data/core-team.yml4
-rw-r--r--docs/_data/nav.yml18
-rw-r--r--docs/_data/translations.yml4
-rw-r--r--docs/_includes/bootstrap-icon.html1
-rw-r--r--docs/_includes/callout-danger-async-methods.md7
-rw-r--r--docs/_includes/footer.html11
-rw-r--r--docs/_includes/header.html1
-rw-r--r--docs/_includes/nav-docs.html5
-rw-r--r--docs/_includes/nav-home.html30
-rw-r--r--docs/_layouts/default.html4
-rw-r--r--docs/_layouts/docs.html15
-rw-r--r--docs/_plugins/bridge.rb10
-rw-r--r--docs/about/brand.md6
-rw-r--r--docs/assets/css/docs.min.css6
-rw-r--r--docs/assets/css/docs.min.css.map2
-rw-r--r--docs/assets/js/docs.min.js21
-rw-r--r--docs/assets/js/ie-emulation-modes-warning.js4
-rw-r--r--docs/assets/js/ie10-viewport-bug-workaround.js8
-rw-r--r--docs/assets/js/src/application.js32
-rw-r--r--docs/assets/js/vendor/clipboard.min.js4
-rw-r--r--docs/assets/js/vendor/jekyll-search.min.js2
-rw-r--r--docs/assets/js/vendor/jquery-slim.min.js8160
-rw-r--r--docs/assets/js/vendor/jquery.min.js4
-rw-r--r--docs/assets/js/vendor/popper.min.js3
-rw-r--r--docs/assets/js/vendor/tether.min.js1
-rw-r--r--docs/assets/scss/_booticon.scss25
-rw-r--r--docs/assets/scss/_clipboard-js.scss1
-rw-r--r--docs/assets/scss/_component-examples.scss88
-rw-r--r--docs/assets/scss/_content.scss10
-rw-r--r--docs/assets/scss/_footer.scss3
-rw-r--r--docs/assets/scss/_masthead.scss3
-rw-r--r--docs/assets/scss/_responsive-tests.scss80
-rw-r--r--docs/assets/scss/_team.scss6
-rw-r--r--docs/assets/scss/docs.scss5
-rw-r--r--docs/browser-bugs.md84
-rw-r--r--docs/components/alerts.md3
-rw-r--r--docs/components/badge.md15
-rw-r--r--docs/components/button-group.md12
-rw-r--r--docs/components/buttons.md12
-rw-r--r--docs/components/card.md20
-rw-r--r--docs/components/carousel.md182
-rw-r--r--docs/components/collapse.md162
-rw-r--r--docs/components/dropdowns.md119
-rw-r--r--docs/components/forms.md118
-rw-r--r--docs/components/input-group.md16
-rw-r--r--docs/components/list-group.md232
-rw-r--r--docs/components/modal.md151
-rw-r--r--docs/components/navbar.md135
-rw-r--r--docs/components/navs.md269
-rw-r--r--docs/components/pagination.md2
-rw-r--r--docs/components/popovers.md314
-rw-r--r--docs/components/progress.md136
-rw-r--r--docs/components/scrollspy.md256
-rw-r--r--docs/components/tooltips.md305
-rw-r--r--docs/content/images.md4
-rw-r--r--docs/content/reboot.md6
-rw-r--r--docs/content/tables.md115
-rw-r--r--docs/content/typography.md5
-rw-r--r--docs/dist/css/bootstrap-grid.css1359
-rw-r--r--docs/dist/css/bootstrap-grid.css.map2
-rw-r--r--docs/dist/css/bootstrap-grid.min.css2
-rw-r--r--docs/dist/css/bootstrap-grid.min.css.map2
-rw-r--r--docs/dist/css/bootstrap-reboot.css392
-rw-r--r--docs/dist/css/bootstrap-reboot.css.map2
-rw-r--r--docs/dist/css/bootstrap-reboot.min.css2
-rw-r--r--docs/dist/css/bootstrap-reboot.min.css.map2
-rw-r--r--docs/dist/css/bootstrap.css2557
-rw-r--r--docs/dist/css/bootstrap.css.map2
-rw-r--r--docs/dist/css/bootstrap.min.css8
-rw-r--r--docs/dist/css/bootstrap.min.css.map2
-rw-r--r--docs/dist/js/bootstrap.js810
-rw-r--r--docs/dist/js/bootstrap.min.js285
-rw-r--r--docs/examples/album/index.html6
-rw-r--r--docs/examples/blog/index.html8
-rw-r--r--docs/examples/carousel/index.html18
-rw-r--r--docs/examples/cover/index.html6
-rw-r--r--docs/examples/dashboard/dashboard.css4
-rw-r--r--docs/examples/dashboard/index.html18
-rw-r--r--docs/examples/grid/index.html4
-rw-r--r--docs/examples/jumbotron/index.html18
-rw-r--r--docs/examples/jumbotron/jumbotron.css4
-rw-r--r--docs/examples/justified-nav/index.html16
-rw-r--r--docs/examples/narrow-jumbotron/index.html4
-rw-r--r--docs/examples/navbar-top-fixed/index.html14
-rw-r--r--docs/examples/navbar-top/index.html14
-rw-r--r--docs/examples/navbars/index.html229
-rw-r--r--docs/examples/offcanvas/index.html16
-rw-r--r--docs/examples/signin/index.html2
-rw-r--r--docs/examples/starter-template/index.html14
-rw-r--r--docs/examples/sticky-footer-navbar/index.html14
-rw-r--r--docs/examples/sticky-footer/index.html2
-rw-r--r--docs/examples/tooltip-viewport/index.html7
-rw-r--r--docs/extend/icon-fonts.md6
-rw-r--r--docs/extend/icons.md24
-rw-r--r--docs/getting-started/accessibility.md54
-rw-r--r--docs/getting-started/browsers-devices.md211
-rw-r--r--docs/getting-started/build-tools.md42
-rw-r--r--docs/getting-started/download.md10
-rw-r--r--docs/getting-started/introduction.md27
-rw-r--r--docs/getting-started/javascript.md55
-rw-r--r--docs/getting-started/options.md5
-rw-r--r--docs/getting-started/webpack.md106
-rw-r--r--docs/index.html10
-rw-r--r--docs/layout/grid.md286
-rw-r--r--docs/layout/media-object.md6
-rw-r--r--docs/layout/overview.md15
-rw-r--r--docs/layout/responsive-utilities.md245
-rw-r--r--docs/layout/utilities-for-layout.md31
-rw-r--r--docs/migration.md44
-rw-r--r--docs/utilities/colors.md1
-rw-r--r--docs/utilities/display-property.md29
-rw-r--r--docs/utilities/display.md64
-rw-r--r--docs/utilities/flexbox.md6
-rw-r--r--docs/utilities/invisible-content.md23
-rw-r--r--docs/utilities/position.md31
-rw-r--r--docs/utilities/responsive-helpers.md2
-rw-r--r--docs/utilities/sizing.md (renamed from docs/utilities/sizing-and-positioning.md)21
-rw-r--r--docs/utilities/spacing.md18
-rw-r--r--docs/utilities/typography.md33
-rw-r--r--docs/utilities/visibility.md32
-rw-r--r--grunt/bs-sass-compile/libsass.js33
-rw-r--r--grunt/bs-sass-compile/sass.js37
-rw-r--r--grunt/configBridge.json10
-rw-r--r--grunt/postcss.js42
-rwxr-xr-xgrunt/upload-preview.sh28
-rw-r--r--js/.eslintrc.json27
-rw-r--r--js/.jscsrc42
-rw-r--r--js/dist/alert.js6
-rw-r--r--js/dist/alert.js.map2
-rw-r--r--js/dist/button.js15
-rw-r--r--js/dist/button.js.map2
-rw-r--r--js/dist/carousel.js59
-rw-r--r--js/dist/carousel.js.map2
-rw-r--r--js/dist/collapse.js33
-rw-r--r--js/dist/collapse.js.map2
-rw-r--r--js/dist/dropdown.js224
-rw-r--r--js/dist/dropdown.js.map2
-rw-r--r--js/dist/modal.js90
-rw-r--r--js/dist/modal.js.map2
-rw-r--r--js/dist/popover.js24
-rw-r--r--js/dist/popover.js.map2
-rw-r--r--js/dist/scrollspy.js36
-rw-r--r--js/dist/scrollspy.js.map2
-rw-r--r--js/dist/tab.js22
-rw-r--r--js/dist/tab.js.map2
-rw-r--r--js/dist/tooltip.js206
-rw-r--r--js/dist/tooltip.js.map2
-rw-r--r--js/dist/util.js15
-rw-r--r--js/dist/util.js.map2
-rw-r--r--js/src/alert.js4
-rw-r--r--js/src/button.js16
-rw-r--r--js/src/carousel.js72
-rw-r--r--js/src/collapse.js34
-rw-r--r--js/src/dropdown.js243
-rw-r--r--js/src/modal.js89
-rw-r--r--js/src/popover.js21
-rw-r--r--js/src/scrollspy.js39
-rw-r--r--js/src/tab.js21
-rw-r--r--js/src/tooltip.js234
-rw-r--r--js/src/util.js13
-rw-r--r--js/tests/.eslintrc.json11
-rw-r--r--js/tests/README.md4
-rw-r--r--js/tests/index.html133
-rw-r--r--js/tests/unit/button.js46
-rw-r--r--js/tests/unit/carousel.js66
-rw-r--r--js/tests/unit/collapse.js162
-rw-r--r--js/tests/unit/dropdown.js546
-rw-r--r--js/tests/unit/modal.js135
-rw-r--r--js/tests/unit/phantom.js72
-rw-r--r--js/tests/unit/popover.js65
-rw-r--r--js/tests/unit/scrollspy.js222
-rw-r--r--js/tests/unit/tab.js48
-rw-r--r--js/tests/unit/tooltip.js193
-rw-r--r--js/tests/vendor/jquery.min.js4
-rw-r--r--js/tests/vendor/qunit.css31
-rw-r--r--js/tests/vendor/qunit.js9254
-rw-r--r--js/tests/vendor/tether.min.js1
-rw-r--r--js/tests/visual/alert.html3
-rw-r--r--js/tests/visual/button.html3
-rw-r--r--js/tests/visual/carousel.html43
-rw-r--r--js/tests/visual/collapse.html42
-rw-r--r--js/tests/visual/dropdown.html76
-rw-r--r--js/tests/visual/modal.html32
-rw-r--r--js/tests/visual/popover.html11
-rw-r--r--js/tests/visual/scrollspy.html29
-rw-r--r--js/tests/visual/tab.html67
-rw-r--r--js/tests/visual/tooltip.html48
-rw-r--r--nuget/bootstrap.nuspec8
-rw-r--r--nuget/bootstrap.sass.nuspec8
-rw-r--r--package.js2
-rw-r--r--package.json117
-rw-r--r--scss/.scss-lint.yml12
-rw-r--r--scss/_alert.scss8
-rw-r--r--scss/_badge.scss1
-rw-r--r--scss/_breadcrumb.scss2
-rw-r--r--scss/_button-group.scss42
-rw-r--r--scss/_buttons.scss35
-rw-r--r--scss/_card.scss34
-rw-r--r--scss/_carousel.scss41
-rw-r--r--scss/_close.scss4
-rw-r--r--scss/_custom-forms.scss18
-rw-r--r--scss/_dropdown.scss63
-rw-r--r--scss/_forms.scss49
-rw-r--r--scss/_grid.scss5
-rw-r--r--scss/_images.scss2
-rw-r--r--scss/_input-group.scss16
-rw-r--r--scss/_jumbotron.scss4
-rw-r--r--scss/_list-group.scss30
-rw-r--r--scss/_mixins.scss21
-rw-r--r--scss/_nav.scss27
-rw-r--r--scss/_navbar.scss166
-rw-r--r--scss/_normalize.scss461
-rw-r--r--scss/_pagination.scss7
-rw-r--r--scss/_popover.scss156
-rw-r--r--scss/_print.scss6
-rw-r--r--scss/_progress.scss103
-rw-r--r--scss/_reboot.scss286
-rw-r--r--scss/_responsive-embed.scss23
-rw-r--r--scss/_tables.scss73
-rw-r--r--scss/_tooltip.scss87
-rw-r--r--scss/_type.scss8
-rw-r--r--scss/_utilities.scss2
-rw-r--r--scss/_variables.scss368
-rw-r--r--scss/bootstrap-grid.scss10
-rw-r--r--scss/bootstrap-reboot.scss3
-rw-r--r--scss/bootstrap.scss10
-rw-r--r--scss/mixins/_alert.scss2
-rw-r--r--scss/mixins/_badge.scss2
-rw-r--r--scss/mixins/_border-radius.scss6
-rw-r--r--scss/mixins/_box-shadow.scss5
-rw-r--r--scss/mixins/_breakpoints.scss28
-rw-r--r--scss/mixins/_buttons.scss5
-rw-r--r--scss/mixins/_cards.scss6
-rw-r--r--scss/mixins/_clearfix.scss2
-rw-r--r--scss/mixins/_forms.scss36
-rw-r--r--scss/mixins/_gradients.scss3
-rw-r--r--scss/mixins/_grid-framework.scss3
-rw-r--r--scss/mixins/_grid.scss3
-rw-r--r--scss/mixins/_hover.scss12
-rw-r--r--scss/mixins/_list-group.scss6
-rw-r--r--scss/mixins/_nav-divider.scss6
-rw-r--r--scss/mixins/_progress.scss16
-rw-r--r--scss/mixins/_reset-text.scss7
-rw-r--r--scss/mixins/_resize.scss2
-rw-r--r--scss/mixins/_screen-reader.scss7
-rw-r--r--scss/mixins/_tab-focus.scss9
-rw-r--r--scss/mixins/_text-truncate.scss2
-rw-r--r--scss/mixins/_transforms.scss14
-rw-r--r--scss/mixins/_transition.scss9
-rw-r--r--scss/mixins/_visibility.scss4
-rw-r--r--scss/utilities/_display.scss38
-rw-r--r--scss/utilities/_flex.scss6
-rw-r--r--scss/utilities/_position.scss23
-rw-r--r--scss/utilities/_sizing.scss10
-rw-r--r--scss/utilities/_spacing.scss43
-rw-r--r--scss/utilities/_visibility.scss52
290 files changed, 27279 insertions, 16035 deletions
diff --git a/js/.babelrc b/.babelrc
index ffc5e3b79..eb52c30ac 100644
--- a/js/.babelrc
+++ b/.babelrc
@@ -3,8 +3,8 @@
[
"es2015",
{
- "modules": false,
- "loose": true
+ "loose": true,
+ "modules": false
}
]
],
diff --git a/.hound.yml b/.hound.yml
index 6c5f60998..3387b0ce0 100644
--- a/.hound.yml
+++ b/.hound.yml
@@ -2,19 +2,13 @@ fail_on_violations: true
scss:
config_file: scss/.scss-lint.yml
- enabled: true
-javascript:
+jshint:
enabled: false
eslint:
- enabled: true
config_file: js/.eslintrc.json
ignore_file: .houndignore
-jscs:
- enabled: true
- config_file: js/.jscsrc
-
ruby:
enabled: false
diff --git a/.travis.yml b/.travis.yml
index 238a6c0db..4efd7f293 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,34 +5,31 @@ git:
depth: 3
node_js:
- "4"
- - "6"
+ - "7"
before_install:
- - if [[ `npm -v` != 3* ]]; then npm install -g npm@3; fi
+ - if [[ `npm -v` != 4* ]]; then npm install -g npm@4; fi
- "export TRAVIS_COMMIT_MSG=\"`git log --format=%B --no-merges -n 1`\""
- - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export TWBS_DO_VALIDATOR=$?; true
- - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip sauce\]'; export TWBS_DO_SAUCE=$?; true
- - if [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then export TWBS_DO_VALIDATOR=0; fi
+ - echo "$TRAVIS_COMMIT_MSG" | grep '\[skip browser\]'; export TWBS_DO_BROWSER=$?; true
install:
- bundle install --deployment --jobs=3 --retry=3
- - cp grunt/npm-shrinkwrap.json ./
+ - cp build/npm-shrinkwrap.json ./
- npm install
+script:
+ - npm test
+ - if [ "$TWBS_TEST" = browser -a "$SAUCE_ACCESS_KEY" ]; then npm run js-test-cloud; fi
after_success:
- - if [ "$TWBS_TEST" = sauce-js-unit ]; then grunt/upload-preview.sh; fi
+ - if [ "$TRAVIS_REPO_SLUG" = twbs-savage/bootstrap ]; then npm run docs-upload-preview; fi
cache:
directories:
- node_modules
- vendor/bundle
- - "$HOME/google-cloud-sdk"
env:
- TWBS_TEST=core
- - TWBS_TEST=validate-html
- - TWBS_TEST=sauce-js-unit
+ - TWBS_TEST=browser
matrix:
exclude:
- node_js: "4"
- env: TWBS_TEST=validate-html
- - node_js: "4"
- env: TWBS_TEST=sauce-js-unit
+ env: TWBS_TEST=browser
notifications:
slack: heybb:iz4wwosL0N0EdaX1gvgkU0NH
webhooks:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index a0745d797..6fc088d6b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -25,13 +25,9 @@ restrictions:
respect the opinions of others.
* Please **do not** post comments consisting solely of "+1" or ":thumbsup:".
- Use [GitHub's "reactions" feature](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments)
+ Use [GitHub's "reactions" feature](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments)
instead. We reserve the right to delete comments which violate this rule.
-* Please **do not** open issues or pull requests regarding the code in
- [`Normalize`](https://github.com/necolas/normalize.css) (open them in
- its repository).
-
* Please **do not** open issues regarding the official themes offered on <https://themes.getbootstrap.com/>.
Instead, please email any questions or feedback regarding those themes to `themes AT getbootstrap DOT com`.
@@ -46,7 +42,7 @@ Our bug tracker utilizes several labels to help organize and identify issues. He
- `docs` - Issues for improving or updating our documentation.
- `examples` - Issues involving the example templates included in our docs.
- `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`).
-- `grunt` - Issues with our included JavaScript-based Gruntfile, which is used to run all our tests, concatenate and compile source files, and more.
+- `grunt` - Issues with our build system, which is used to run all our tests, concatenate and compile source files, and more.
- `help wanted` - Issues we need or would love help from the community to resolve.
- `js` - Issues stemming from our compiled or source JavaScript files.
- `meta` - Issues with the project itself or our GitHub repository.
@@ -245,7 +241,7 @@ includes code changes) and under the terms of the
### Checking coding style
-Run `grunt test` before committing to ensure your changes follow our coding standards.
+Run `npm run test` before committing to ensure your changes follow our coding standards.
## License
diff --git a/Gemfile b/Gemfile
index a82dd93b0..1a8977f8d 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,8 +1,8 @@
source 'https://rubygems.org'
group :development, :test do
- gem 'jekyll', '~> 3.3.0'
- gem 'jekyll-redirect-from', '~> 0.11.0'
- gem 'jekyll-sitemap', '~> 0.11.0'
- gem 'scss_lint', '~> 0.50.2'
+ gem 'jekyll', '~> 3.4.3'
+ gem 'jekyll-redirect-from', '~> 0.12.1'
+ gem 'jekyll-sitemap', '~> 1.1.1'
+ gem 'scss_lint', '~> 0.53.0'
end
diff --git a/Gemfile.lock b/Gemfile.lock
index c19955c72..4df2612fc 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,11 +1,12 @@
GEM
remote: https://rubygems.org/
specs:
- addressable (2.4.0)
+ addressable (2.5.1)
+ public_suffix (~> 2.0, >= 2.0.2)
colorator (1.1.0)
- ffi (1.9.14)
+ ffi (1.9.18)
forwardable-extended (2.6.0)
- jekyll (3.3.0)
+ jekyll (3.4.3)
addressable (~> 2.4)
colorator (~> 1.0)
jekyll-sass-converter (~> 1.0)
@@ -16,15 +17,15 @@ GEM
pathutil (~> 0.9)
rouge (~> 1.7)
safe_yaml (~> 1.0)
- jekyll-redirect-from (0.11.0)
- jekyll (>= 2.0)
- jekyll-sass-converter (1.4.0)
+ jekyll-redirect-from (0.12.1)
+ jekyll (~> 3.3)
+ jekyll-sass-converter (1.5.0)
sass (~> 3.4)
- jekyll-sitemap (0.11.0)
- addressable (~> 2.4.0)
+ jekyll-sitemap (1.1.1)
+ jekyll (~> 3.3)
jekyll-watch (1.5.0)
listen (~> 3.0, < 3.1)
- kramdown (1.12.0)
+ kramdown (1.13.2)
liquid (3.0.6)
listen (3.0.8)
rb-fsevent (~> 0.9, >= 0.9.4)
@@ -32,25 +33,26 @@ GEM
mercenary (0.3.6)
pathutil (0.14.0)
forwardable-extended (~> 2.6)
- rake (11.3.0)
- rb-fsevent (0.9.7)
- rb-inotify (0.9.7)
+ public_suffix (2.0.5)
+ rake (12.0.0)
+ rb-fsevent (0.9.8)
+ rb-inotify (0.9.8)
ffi (>= 0.5.0)
rouge (1.11.1)
safe_yaml (1.0.4)
- sass (3.4.22)
- scss_lint (0.50.2)
- rake (>= 0.9, < 12)
+ sass (3.4.23)
+ scss_lint (0.53.0)
+ rake (>= 0.9, < 13)
sass (~> 3.4.20)
PLATFORMS
ruby
DEPENDENCIES
- jekyll (~> 3.3.0)
- jekyll-redirect-from (~> 0.11.0)
- jekyll-sitemap (~> 0.11.0)
- scss_lint (~> 0.50.2)
+ jekyll (~> 3.4.3)
+ jekyll-redirect-from (~> 0.12.1)
+ jekyll-sitemap (~> 1.1.1)
+ scss_lint (~> 0.53.0)
BUNDLED WITH
- 1.13.2
+ 1.14.6
diff --git a/Gruntfile.js b/Gruntfile.js
index b707034f6..e3044bf04 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -1,203 +1,16 @@
/*!
* Bootstrap's Gruntfile
* https://getbootstrap.com
- * Copyright 2013-2016 The Bootstrap Authors
- * Copyright 2013-2016 Twitter, Inc.
+ * Copyright 2013-2017 The Bootstrap Authors
+ * Copyright 2013-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
module.exports = function (grunt) {
- 'use strict';
-
- // 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 isTravis = require('is-travis');
-
- 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', val);
- });
- });
+ 'use strict'
// Project configuration.
grunt.initConfig({
-
- // Metadata.
- pkg: grunt.file.readJSON('package.json'),
- banner: '/*!\n' +
- ' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
- ' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
- ' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' +
- ' */\n',
- jqueryCheck: 'if (typeof jQuery === \'undefined\') {\n' +
- ' throw new Error(\'Bootstrap\\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\\'s JavaScript.\')\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] >= 4)) {\n' +
- ' throw new Error(\'Bootstrap\\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0\')\n' +
- ' }\n' +
- '}(jQuery);\n\n',
-
- // Task configuration.
- clean: {
- dist: 'dist',
- docs: 'docs/dist'
- },
-
- // JS build configuration
- babel: {
- dev: {
- options: {
- sourceMap: true
- },
- 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: {
- extends: '../../js/.babelrc'
- },
- files: {
- '<%= concat.bootstrap.dest %>' : '<%= concat.bootstrap.dest %>'
- }
- }
- },
-
- stamp: {
- options: {
- banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>\n+function () {\n',
- footer: '\n}();'
- },
- bootstrap: {
- files: {
- src: '<%= concat.bootstrap.dest %>'
- }
- }
- },
-
- concat: {
- options: {
- // Custom function to remove all export and import statements
- process: function (src) {
- return src.replace(/^(export|import).*/gm, '');
- }
- },
- bootstrap: {
- src: [
- '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'
- }
- },
-
- qunit: {
- options: {
- inject: 'js/tests/unit/phantom.js'
- },
- files: 'js/tests/index.html'
- },
-
- // CSS build configuration
- copy: {
- docs: {
- expand: true,
- cwd: 'dist/',
- src: [
- '**/*'
- ],
- dest: 'docs/dist/'
- }
- },
-
- connect: {
- server: {
- options: {
- port: 3000,
- base: '.'
- }
- }
- },
-
- jekyll: {
- options: {
- bundleExec: true,
- config: '_config.yml',
- incremental: false
- },
- docs: {},
- github: {
- options: {
- raw: 'github: true'
- }
- }
- },
-
- htmllint: {
- options: {
- ignore: [
- 'Attribute “autocomplete” is only allowed when the input type is “color”, “date”, “datetime”, “datetime-local”, “email”, “hidden”, “month”, “number”, “password”, “range”, “search”, “tel”, “text”, “time”, “url”, or “week”.',
- 'Attribute “autocomplete” not allowed on element “button” at this point.',
- '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).',
- 'Element “div” not allowed as child of element “progress” in this context. (Suppressing further errors from this subtree.)',
- 'Element “img” is missing required attribute “src”.',
- 'The “color” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
- 'The “date” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
- 'The “datetime” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
- 'The “datetime-local” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
- 'The “month” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
- 'The “time” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.',
- 'The “week” input type is not supported in all browsers. Please be sure to test, and consider using a polyfill.'
- ]
- },
- src: ['_gh_pages/**/*.html', 'js/tests/visual/*.html']
- },
-
- watch: {
- src: {
- files: '<%= concat.bootstrap.src %>',
- tasks: ['babel:dev']
- },
- sass: {
- files: 'scss/**/*.scss',
- tasks: ['dist-css', 'docs']
- },
- docs: {
- files: 'docs/assets/scss/**/*.scss',
- tasks: ['dist-css', 'docs']
- }
- },
-
'saucelabs-qunit': {
all: {
options: {
@@ -206,152 +19,11 @@ module.exports = function (grunt) {
maxRetries: 3,
maxPollRetries: 4,
urls: ['http://127.0.0.1:3000/js/tests/index.html?hidepassed'],
- browsers: grunt.file.readYAML('grunt/sauce_browsers.yml')
+ browsers: grunt.file.readYAML('build/sauce_browsers.yml')
}
}
- },
-
- exec: {
- 'clean-css': {
- command: 'npm run clean-css'
- },
- 'clean-css-docs': {
- command: 'npm run clean-css-docs'
- },
- postcss: {
- command: 'npm run postcss'
- },
- 'postcss-docs': {
- command: 'npm run postcss-docs'
- },
- htmlhint: {
- command: 'npm run htmlhint'
- },
- 'scss-lint': {
- command: 'npm run scss-lint'
- },
- 'scss-lint-docs': {
- command: 'npm run scss-lint-docs'
- },
- uglify: {
- command: 'npm run uglify'
- },
- 'uglify-docs': {
- command: 'npm run uglify-docs'
- }
- },
-
- buildcontrol: {
- options: {
- dir: '_gh_pages',
- commit: true,
- push: true,
- message: 'Built %sourceName% from commit %sourceCommit% on branch %sourceBranch%'
- },
- pages: {
- options: {
- remote: '[email protected]:twbs/derpstrap.git',
- branch: 'gh-pages'
- }
- }
- },
-
- compress: {
- main: {
- options: {
- archive: 'bootstrap-<%= pkg.version %>-dist.zip',
- mode: 'zip',
- level: 9,
- pretty: true
- },
- files: [
- {
- expand: true,
- cwd: 'dist/',
- src: ['**'],
- dest: 'bootstrap-<%= pkg.version %>-dist'
- }
- ]
- }
}
+ })
- });
-
-
- // 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', 'exec:htmlhint']);
-
- var runSubset = function (subset) {
- return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset;
- };
- var isUndefOrNonZero = function (val) {
- return val === undefined || val !== '0';
- };
-
- // 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', 'qunit', '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.TWBS_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')) {
- testSubtasks = testSubtasks.concat(['dist', 'docs-css', 'docs-js', 'clean:docs', 'copy:docs']);
- // Skip Sauce on Travis when [skip sauce] is in the commit message
- if (isUndefOrNonZero(process.env.TWBS_DO_SAUCE)) {
- testSubtasks.push('connect');
- testSubtasks.push('saucelabs-qunit');
- }
- }
- grunt.registerTask('test', testSubtasks);
-
- // JS distribution task.
- grunt.registerTask('dist-js', ['babel:dev', 'concat', 'babel:dist', 'stamp', 'exec:uglify']);
-
- grunt.registerTask('test-scss', ['exec:scss-lint']);
-
- // CSS distribution task.
- // Supported Compilers: sass (Ruby) and libsass.
- (function (sassCompilerName) {
- require('./grunt/bs-sass-compile/' + sassCompilerName + '.js')(grunt);
- })(process.env.TWBS_SASS || 'libsass');
- // grunt.registerTask('sass-compile', ['sass:core', 'sass:extras', 'sass:docs']);
- grunt.registerTask('sass-compile', ['sass:core', 'sass:extras', 'sass:docs']);
-
- grunt.registerTask('dist-css', ['sass-compile', 'exec:postcss', 'exec:clean-css', 'exec:clean-css-docs']);
-
- // Full distribution task.
- grunt.registerTask('dist', ['clean:dist', 'dist-css', 'dist-js']);
-
- // Default task.
- grunt.registerTask('default', ['clean:dist', 'test']);
-
- // Docs task.
- grunt.registerTask('docs-css', ['exec:clean-css-docs', 'exec:postcss-docs']);
- grunt.registerTask('lint-docs-css', ['exec:scss-lint-docs']);
- grunt.registerTask('docs-js', ['exec:uglify-docs']);
- grunt.registerTask('docs', ['lint-docs-css', 'docs-css', 'docs-js', 'clean:docs', 'copy:docs']);
- grunt.registerTask('docs-github', ['jekyll:github']);
-
- grunt.registerTask('prep-release', ['dist', 'docs', 'docs-github', 'compress']);
-
- // Publish to GitHub
- grunt.registerTask('publish', ['buildcontrol:pages']);
-};
+ grunt.loadNpmTasks('grunt-saucelabs')
+}
diff --git a/LICENSE b/LICENSE
index 4e32163c0..1381cb2be 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,7 +1,7 @@
The MIT License (MIT)
-Copyright (c) 2011-2016 Twitter, Inc.
-Copyright (c) 2011-2016 The Bootstrap Authors
+Copyright (c) 2011-2017 Twitter, Inc.
+Copyright (c) 2011-2017 The Bootstrap Authors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 8539435f3..3e7258091 100644
--- a/README.md
+++ b/README.md
@@ -1,24 +1,24 @@
-# [Bootstrap](https://getbootstrap.com)
+<p align="center">
+ <a href="https://v4-alpha.getbootstrap.com">
+ <img src="http://v4-alpha.getbootstrap.com/assets/brand/bootstrap-solid.svg" width=72 height=72>
+ </a>
-[![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com)
-![Bower version](https://img.shields.io/bower/v/bootstrap.svg)
-[![npm version](https://img.shields.io/npm/v/bootstrap.svg)](https://www.npmjs.com/package/bootstrap)
-[![Gem version](https://img.shields.io/gem/v/bootstrap.svg)](https://rubygems.org/gems/bootstrap)
-[![Build Status](https://img.shields.io/travis/twbs/bootstrap/master.svg)](https://travis-ci.org/twbs/bootstrap)
-[![devDependency Status](https://img.shields.io/david/dev/twbs/bootstrap.svg)](https://david-dm.org/twbs/bootstrap?type=dev)
-[![Meteor Atmosphere](https://img.shields.io/badge/meteor-twbs%3Abootstrap-blue.svg)](https://atmospherejs.com/twbs/bootstrap)
-[![Packagist Prerelease](https://img.shields.io/packagist/vpre/twbs/bootstrap.svg)](https://packagist.org/packages/twbs/bootstrap)
-[![NuGet](https://img.shields.io/nuget/vpre/bootstrap.svg)](https://www.nuget.org/packages/bootstrap/4.0.0-alpha5)
-
-[![Selenium Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap)
+ <h3 align="center">Bootstrap</h3>
-Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thornton](https://twitter.com/fat), and maintained by the [core team](https://github.com/orgs/twbs/people) with the massive support and involvement of the community.
+ <p align="center">
+ Sleek, intuitive, and powerful front-end framework for faster and easier web development.
+ <br>
+ <a href="https://v4-alpha.getbootstrap.com"><strong>Visit Bootstrap &raquo;</strong></a>
+ </p>
+</p>
-To get started, check out <https://getbootstrap.com>!
+<br>
## Table of contents
- [Quick start](#quick-start)
+- [Status](#status)
+- [What's included](#whats-included)
- [Bugs and feature requests](#bugs-and-feature-requests)
- [Documentation](#documentation)
- [Contributing](#contributing)
@@ -31,17 +31,31 @@ To get started, check out <https://getbootstrap.com>!
Several quick start options are available:
-- [Download the latest release.](https://github.com/twbs/bootstrap/archive/v4.0.0-alpha.5.zip)
+- [Download the latest release.](https://github.com/twbs/bootstrap/archive/v4.0.0-alpha.6.zip)
- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`
-- Install with [npm](https://www.npmjs.com): `npm install [email protected]`
-- Install with [yarn](https://github.com/yarnpkg/yarn): `yarn add [email protected]`
-- Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap:4.0.0-alpha.5`
-- Install with [Bower](https://bower.io): `bower install bootstrap#v4.0.0-alpha.5`
+- Install with [npm](https://www.npmjs.com): `npm install [email protected]`
+- Install with [yarn](https://github.com/yarnpkg/yarn): `yarn add [email protected]`
+- Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap:4.0.0-alpha.6`
+- Install with [Bower](https://bower.io): `bower install bootstrap#v4.0.0-alpha.6`
- Install with [NuGet](https://www.nuget.org): CSS: `Install-Package bootstrap -Pre` Sass: `Install-Package bootstrap.sass -Pre` (`-Pre` is only required until Bootstrap v4 has a stable release).
Read the [Getting started page](https://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more.
-### What's included
+## Status
+
+[![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com)
+[![Bower](https://img.shields.io/bower/v/bootstrap.svg)](https://bower.io/search/?q=bootstrap)
+[![npm version](https://img.shields.io/npm/v/bootstrap.svg)](https://www.npmjs.com/package/bootstrap)
+[![Gem version](https://img.shields.io/gem/v/bootstrap.svg)](https://rubygems.org/gems/bootstrap)
+[![Build Status](https://img.shields.io/travis/twbs/bootstrap/v4-dev.svg)](https://travis-ci.org/twbs/bootstrap)
+[![devDependency Status](https://img.shields.io/david/dev/twbs/bootstrap.svg)](https://david-dm.org/twbs/bootstrap?type=dev)
+[![Meteor Atmosphere](https://img.shields.io/badge/meteor-twbs%3Abootstrap-blue.svg)](https://atmospherejs.com/twbs/bootstrap)
+[![Packagist Prerelease](https://img.shields.io/packagist/vpre/twbs/bootstrap.svg)](https://packagist.org/packages/twbs/bootstrap)
+[![NuGet](https://img.shields.io/nuget/vpre/bootstrap.svg)](https://www.nuget.org/packages/bootstrap/absoluteLatest)
+
+[![Selenium Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap)
+
+## What's included
Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this:
@@ -57,7 +71,7 @@ bootstrap/
└── bootstrap.min.js
```
-We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developer.chrome.com/devtools/docs/css-preprocessors) (`bootstrap.*.map`) are available for use with certain browsers' developer tools.
+We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developers.google.com/web/tools/chrome-devtools/debug/readability/source-maps) (`bootstrap.*.map`) are available for use with certain browsers' developer tools.
## Bugs and feature requests
@@ -72,7 +86,7 @@ Bootstrap's documentation, included in this repo in the root directory, is built
### Running documentation locally
1. Run through the [tooling setup](https://github.com/twbs/bootstrap/blob/v4-dev/docs/getting-started/build-tools.md#tooling-setup) to install Jekyll (the site builder) and other Ruby dependencies with `bundle install`.
-2. Run `grunt` (or a specific set of Grunt tasks) to rebuild distributed CSS and JavaScript files, as well as our docs assets.
+2. Run `npm run test` (or a specific NPM script) to rebuild distributed CSS and JavaScript files, as well as our docs assets.
3. From the root `/bootstrap` directory, run `bundle exec jekyll serve` in the command line.
4. Open <http://localhost:9001> in your browser, and voilà.
@@ -132,4 +146,4 @@ See [the Releases section of our GitHub project](https://github.com/twbs/bootstr
## Copyright and license
-Code and documentation copyright 2011-2016 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors) and [Twitter, Inc.](https://twitter.com) Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE).
+Code and documentation copyright 2011-2017 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors) and [Twitter, Inc.](https://twitter.com) Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE).
diff --git a/_config.yml b/_config.yml
index 5013cf288..96ffe8f9d 100644
--- a/_config.yml
+++ b/_config.yml
@@ -31,13 +31,13 @@ social_logo_path: /assets/brand/bootstrap-social-logo.png
social_image_path: /assets/brand/bootstrap-social.png
# Custom vars
-current_version: 4.0.0-alpha.5
+current_version: 4.0.0-alpha.6
repo: https://github.com/twbs/bootstrap
slack: https://bootstrap-slack.herokuapp.com
download:
- source: https://github.com/twbs/bootstrap/archive/v4.0.0-alpha.5.zip
- dist: https://github.com/twbs/bootstrap/releases/download/v4.0.0-alpha.5/bootstrap-4.0.0-alpha.5-dist.zip
+ source: https://github.com/twbs/bootstrap/archive/v4.0.0-alpha.6.zip
+ dist: https://github.com/twbs/bootstrap/releases/download/v4.0.0-alpha.6/bootstrap-4.0.0-alpha.6-dist.zip
blog: https://blog.getbootstrap.com
expo: https://expo.getbootstrap.com
@@ -45,11 +45,11 @@ themes: https://themes.getbootstrap.com
cdn:
# See https://www.srihash.org for info on how to generate the hashes
- css: https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.5/css/bootstrap.min.css
- css_hash: "sha384-AysaV+vQoT3kOAXZkl02PThvDr8HYKPZhNT5h/CXfBThSRXQ6jW5DO2ekP5ViFdi"
- js: https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.5/js/bootstrap.min.js
- js_hash: "sha384-BLiI7JTZm+JWlgKa0M0kGRpJbF2J8q+qreVrKBC47e3K6BW78kGLrCkeRX6I9RoK"
- jquery: https://code.jquery.com/jquery-3.1.1.min.js
- jquery_hash: "sha384-3ceskX3iaEnIogmQchP8opvBy3Mi7Ce34nWjpBIwVTHfGYWQS9jwHDVRnpKKHJg7"
- tether: https://cdnjs.cloudflare.com/ajax/libs/tether/1.3.7/js/tether.min.js
- tether_hash: "sha384-XTs3FgkjiBgo8qjEjBk0tGmf3wPrWtA6coPfQDfFEY8AnYJwjalXCiosYRBIBZX8"
+ css: https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css
+ css_hash: "sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ"
+ js: https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js
+ js_hash: "sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn"
+ jquery: https://code.jquery.com/jquery-3.2.1.slim.min.js
+ jquery_hash: "sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
+ popper: https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js
+ popper_hash: "sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc="
diff --git a/bower.json b/bower.json
index c51d71b2f..50e667152 100644
--- a/bower.json
+++ b/bower.json
@@ -25,11 +25,12 @@
"composer.json",
"CONTRIBUTING.md",
"docs",
+ "Gruntfile.js",
"js/tests",
"test-infra"
],
"dependencies": {
- "jquery": "1.9.1 - 3",
- "tether": "^1.3.7"
+ "jquery": ">=1.9.1",
+ "popper.js": "^1.9.9"
}
}
diff --git a/grunt/change-version.js b/build/change-version.js
index 4ad5825f2..5ea59185a 100755
--- a/grunt/change-version.js
+++ b/build/change-version.js
@@ -1,93 +1,97 @@
#!/usr/bin/env node
-'use strict';
+
+'use strict'
/*!
* Script to update version number references in the project.
- * Copyright 2015 The Bootstrap Authors
- * Copyright 2015 Twitter, Inc.
+ * Copyright 2017 The Bootstrap Authors
+ * Copyright 2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-var fs = require('fs');
-var path = require('path');
-var sh = require('shelljs');
-sh.config.fatal = true;
-var sed = sh.sed;
+
+/* global Set */
+
+var fs = require('fs')
+var path = require('path')
+var sh = require('shelljs')
+sh.config.fatal = true
+var sed = sh.sed
// Blame TC39... https://github.com/benjamingr/RegExp.escape/issues/37
RegExp.quote = function (string) {
- return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&');
-};
+ return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&')
+}
RegExp.quoteReplacement = function (string) {
- return string.replace(/[$]/g, '$$');
-};
+ return string.replace(/[$]/g, '$$')
+}
-var DRY_RUN = false;
+var DRY_RUN = false
function walkAsync(directory, excludedDirectories, fileCallback, errback) {
if (excludedDirectories.has(path.parse(directory).base)) {
- return;
+ return
}
fs.readdir(directory, function (err, names) {
if (err) {
- errback(err);
- return;
+ errback(err)
+ return
}
names.forEach(function (name) {
- var filepath = path.join(directory, name);
+ var filepath = path.join(directory, name)
fs.lstat(filepath, function (err, stats) {
if (err) {
- process.nextTick(errback, err);
- return;
+ process.nextTick(errback, err)
+ return
}
if (stats.isSymbolicLink()) {
- return;
+ return
}
else if (stats.isDirectory()) {
- process.nextTick(walkAsync, filepath, excludedDirectories, fileCallback, errback);
+ process.nextTick(walkAsync, filepath, excludedDirectories, fileCallback, errback)
}
else if (stats.isFile()) {
- process.nextTick(fileCallback, filepath);
+ process.nextTick(fileCallback, filepath)
}
- });
- });
- });
+ })
+ })
+ })
}
function replaceRecursively(directory, excludedDirectories, allowedExtensions, original, replacement) {
- original = new RegExp(RegExp.quote(original), 'g');
- replacement = RegExp.quoteReplacement(replacement);
+ original = new RegExp(RegExp.quote(original), 'g')
+ replacement = RegExp.quoteReplacement(replacement)
var updateFile = !DRY_RUN ? function (filepath) {
if (allowedExtensions.has(path.parse(filepath).ext)) {
- sed('-i', original, replacement, filepath);
+ sed('-i', original, replacement, filepath)
}
} : function (filepath) {
if (allowedExtensions.has(path.parse(filepath).ext)) {
- console.log('FILE: ' + filepath);
+ console.log('FILE: ' + filepath)
}
else {
- console.log('EXCLUDED:' + filepath);
+ console.log('EXCLUDED:' + filepath)
}
- };
+ }
walkAsync(directory, excludedDirectories, updateFile, function (err) {
- console.error('ERROR while traversing directory!:');
- console.error(err);
- process.exit(1);
- });
+ console.error('ERROR while traversing directory!:')
+ console.error(err)
+ process.exit(1)
+ })
}
function main(args) {
if (args.length !== 2) {
- console.error('USAGE: change-version old_version new_version');
- console.error('Got arguments:', args);
- process.exit(1);
+ console.error('USAGE: change-version old_version new_version')
+ console.error('Got arguments:', args)
+ process.exit(1)
}
- var oldVersion = args[0];
- var newVersion = args[1];
+ var oldVersion = args[0]
+ var newVersion = args[1]
var EXCLUDED_DIRS = new Set([
'.git',
'node_modules',
'vendor'
- ]);
+ ])
var INCLUDED_EXTENSIONS = new Set([
// This extension whitelist is how we avoid modifying binary files
'',
@@ -99,8 +103,8 @@ function main(args) {
'.scss',
'.txt',
'.yml'
- ]);
- replaceRecursively('.', EXCLUDED_DIRS, INCLUDED_EXTENSIONS, oldVersion, newVersion);
+ ])
+ replaceRecursively('.', EXCLUDED_DIRS, INCLUDED_EXTENSIONS, oldVersion, newVersion)
}
-main(process.argv.slice(2));
+main(process.argv.slice(2))
diff --git a/grunt/gcp-key.json.enc b/build/gcp-key.json.enc
index 6e1856a2f..6e1856a2f 100644
--- a/grunt/gcp-key.json.enc
+++ b/build/gcp-key.json.enc
Binary files differ
diff --git a/grunt/npm-shrinkwrap.json b/build/npm-shrinkwrap.json
index 06435123e..eab64153b 100644
--- a/grunt/npm-shrinkwrap.json
+++ b/build/npm-shrinkwrap.json
@@ -1,23 +1,17 @@
{
"name": "bootstrap",
- "version": "4.0.0-alpha.5",
+ "version": "4.0.0-alpha.6",
"dependencies": {
"abbrev": {
- "version": "1.0.9",
+ "version": "1.1.0",
"from": "abbrev@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
- "dev": true
- },
- "accepts": {
- "version": "1.3.3",
- "from": "accepts@>=1.3.3 <1.4.0",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
"dev": true
},
"acorn": {
- "version": "4.0.4",
- "from": "acorn@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.4.tgz",
+ "version": "5.0.3",
+ "from": "acorn@>=5.0.1 <6.0.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.0.3.tgz",
"dev": true
},
"acorn-jsx": {
@@ -49,15 +43,15 @@
}
},
"ajv": {
- "version": "4.10.0",
+ "version": "4.11.7",
"from": "ajv@>=4.7.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.10.0.tgz",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.7.tgz",
"dev": true
},
"ajv-keywords": {
- "version": "1.3.0",
+ "version": "1.5.1",
"from": "ajv-keywords@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.3.0.tgz",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
"dev": true
},
"align-text": {
@@ -66,12 +60,6 @@
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
"dev": true
},
- "amdefine": {
- "version": "1.0.1",
- "from": "amdefine@>=0.0.4",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "dev": true
- },
"ansi-escapes": {
"version": "1.4.0",
"from": "ansi-escapes@>=1.1.0 <2.0.0",
@@ -79,9 +67,9 @@
"dev": true
},
"ansi-regex": {
- "version": "2.0.0",
+ "version": "2.1.1",
"from": "ansi-regex@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"dev": true
},
"ansi-styles": {
@@ -90,37 +78,22 @@
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"dev": true
},
+ "any-promise": {
+ "version": "1.3.0",
+ "from": "any-promise@>=1.3.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "dev": true
+ },
"anymatch": {
"version": "1.3.0",
"from": "anymatch@>=1.3.0 <2.0.0",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"aproba": {
- "version": "1.0.4",
+ "version": "1.1.1",
"from": "aproba@>=1.0.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz",
- "dev": true
- },
- "archiver": {
- "version": "1.3.0",
- "from": "archiver@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz",
- "dev": true,
- "dependencies": {
- "async": {
- "version": "2.1.4",
- "from": "async@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz",
- "dev": true
- }
- }
- },
- "archiver-utils": {
- "version": "1.3.0",
- "from": "archiver-utils@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz",
"dev": true
},
"are-we-there-yet": {
@@ -139,20 +112,18 @@
"version": "2.0.0",
"from": "arr-diff@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"arr-flatten": {
- "version": "1.0.1",
+ "version": "1.0.3",
"from": "arr-flatten@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz",
- "dev": true,
- "optional": true
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.3.tgz",
+ "dev": true
},
- "array-differ": {
- "version": "1.0.0",
- "from": "array-differ@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+ "array-filter": {
+ "version": "0.0.1",
+ "from": "array-filter@>=0.0.0 <0.1.0",
+ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
"dev": true
},
"array-find-index": {
@@ -161,10 +132,16 @@
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
"dev": true
},
- "array-index": {
- "version": "1.0.0",
- "from": "array-index@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz",
+ "array-map": {
+ "version": "0.0.0",
+ "from": "array-map@>=0.0.0 <0.1.0",
+ "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
+ "dev": true
+ },
+ "array-reduce": {
+ "version": "0.0.0",
+ "from": "array-reduce@>=0.0.0 <0.1.0",
+ "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
"dev": true
},
"array-union": {
@@ -183,8 +160,7 @@
"version": "0.2.1",
"from": "array-unique@>=0.2.1 <0.3.0",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"arrify": {
"version": "1.0.1",
@@ -192,6 +168,12 @@
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
"dev": true
},
+ "asap": {
+ "version": "2.0.5",
+ "from": "asap@>=2.0.3 <2.1.0",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz",
+ "dev": true
+ },
"asn1": {
"version": "0.2.3",
"from": "asn1@>=0.2.3 <0.3.0",
@@ -214,8 +196,7 @@
"version": "1.0.1",
"from": "async-each@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"async-foreach": {
"version": "0.1.3",
@@ -230,9 +211,9 @@
"dev": true
},
"autoprefixer": {
- "version": "6.5.4",
- "from": "autoprefixer@>=6.5.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.5.4.tgz",
+ "version": "6.7.7",
+ "from": "autoprefixer@>=6.7.7 <7.0.0",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
"dev": true
},
"aws-sign2": {
@@ -242,299 +223,795 @@
"dev": true
},
"aws4": {
- "version": "1.5.0",
+ "version": "1.6.0",
"from": "aws4@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "dev": true
+ },
+ "babel-cli": {
+ "version": "6.24.1",
+ "from": "babel-cli@>=6.24.1 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.24.1.tgz",
"dev": true
},
"babel-code-frame": {
- "version": "6.20.0",
- "from": "babel-code-frame@>=6.16.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.20.0.tgz",
+ "version": "6.22.0",
+ "from": "babel-code-frame@>=6.22.0 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz",
"dev": true
},
"babel-core": {
- "version": "6.21.0",
- "from": "babel-core@>=6.0.12 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.21.0.tgz",
+ "version": "6.24.1",
+ "from": "babel-core@>=6.24.1 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.24.1.tgz",
"dev": true
},
"babel-eslint": {
- "version": "7.1.1",
- "from": "babel-eslint@>=7.0.0 <8.0.0",
- "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.1.1.tgz",
+ "version": "7.2.2",
+ "from": "babel-eslint@>=7.2.2 <8.0.0",
+ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.2.tgz",
"dev": true
},
"babel-generator": {
- "version": "6.21.0",
- "from": "babel-generator@>=6.21.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.21.0.tgz",
+ "version": "6.24.1",
+ "from": "babel-generator@>=6.24.1 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.24.1.tgz",
+ "dev": true
+ },
+ "babel-helper-call-delegate": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-7.0.0-alpha.9.tgz",
"dev": true,
"dependencies": {
- "jsesc": {
- "version": "1.3.0",
- "from": "jsesc@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "babel-code-frame": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-messages": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-traverse": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babylon": {
+ "version": "7.0.0-beta.8",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz",
"dev": true
}
}
},
- "babel-helper-call-delegate": {
- "version": "6.18.0",
- "from": "babel-helper-call-delegate@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz",
- "dev": true
- },
"babel-helper-define-map": {
- "version": "6.18.0",
- "from": "babel-helper-define-map@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ }
+ }
},
"babel-helper-function-name": {
- "version": "6.18.0",
- "from": "babel-helper-function-name@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-messages": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-template": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-traverse": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babylon": {
+ "version": "7.0.0-beta.8",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz",
+ "dev": true
+ }
+ }
},
"babel-helper-get-function-arity": {
- "version": "6.18.0",
- "from": "babel-helper-get-function-arity@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ }
+ }
},
"babel-helper-hoist-variables": {
- "version": "6.18.0",
- "from": "babel-helper-hoist-variables@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ }
+ }
},
"babel-helper-optimise-call-expression": {
- "version": "6.18.0",
- "from": "babel-helper-optimise-call-expression@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ }
+ }
},
"babel-helper-regex": {
- "version": "6.18.0",
- "from": "babel-helper-regex@>=6.8.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ }
+ }
},
"babel-helper-replace-supers": {
- "version": "6.18.0",
- "from": "babel-helper-replace-supers@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-messages": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-template": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-traverse": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babylon": {
+ "version": "7.0.0-beta.8",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz",
+ "dev": true
+ }
+ }
},
"babel-helpers": {
- "version": "6.16.0",
- "from": "babel-helpers@>=6.16.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.16.0.tgz",
+ "version": "6.24.1",
+ "from": "babel-helpers@>=6.24.1 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
"dev": true
},
"babel-messages": {
- "version": "6.8.0",
- "from": "babel-messages@>=6.8.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.8.0.tgz",
+ "version": "6.23.0",
+ "from": "babel-messages@>=6.23.0 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
"dev": true
},
"babel-plugin-check-es2015-constants": {
- "version": "6.8.0",
- "from": "babel-plugin-check-es2015-constants@>=6.3.13 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.8.0",
- "from": "babel-plugin-transform-es2015-arrow-functions@>=6.3.13 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.8.0",
- "from": "babel-plugin-transform-es2015-block-scoped-functions@>=6.3.13 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "babel-plugin-transform-es2015-block-scoped-functions@7.0.0-alpha.9",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-es2015-block-scoping": {
- "version": "6.21.0",
- "from": "babel-plugin-transform-es2015-block-scoping@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.21.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-messages": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-template": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-traverse": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babylon": {
+ "version": "7.0.0-beta.8",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-classes": {
- "version": "6.18.0",
- "from": "babel-plugin-transform-es2015-classes@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-messages": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-template": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-traverse": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babylon": {
+ "version": "7.0.0-beta.8",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-computed-properties": {
- "version": "6.8.0",
- "from": "babel-plugin-transform-es2015-computed-properties@>=6.3.13 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-messages": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-template": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-traverse": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babylon": {
+ "version": "7.0.0-beta.8",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-destructuring": {
- "version": "6.19.0",
- "from": "babel-plugin-transform-es2015-destructuring@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.19.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-es2015-duplicate-keys": {
- "version": "6.8.0",
- "from": "babel-plugin-transform-es2015-duplicate-keys@>=6.6.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-for-of": {
- "version": "6.18.0",
- "from": "babel-plugin-transform-es2015-for-of@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-es2015-function-name": {
- "version": "6.9.0",
- "from": "babel-plugin-transform-es2015-function-name@>=6.9.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-literals": {
- "version": "6.8.0",
- "from": "babel-plugin-transform-es2015-literals@>=6.3.13 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-es2015-modules-amd": {
- "version": "6.18.0",
- "from": "babel-plugin-transform-es2015-modules-amd@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-messages": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-template": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-traverse": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babylon": {
+ "version": "7.0.0-beta.8",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.18.0",
- "from": "babel-plugin-transform-es2015-modules-commonjs@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-messages": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-template": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-traverse": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babylon": {
+ "version": "7.0.0-beta.8",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-modules-strip": {
- "version": "0.1.0",
- "from": "babel-plugin-transform-es2015-modules-strip@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-strip/-/babel-plugin-transform-es2015-modules-strip-0.1.0.tgz",
+ "version": "0.1.1",
+ "from": "babel-plugin-transform-es2015-modules-strip@>=0.1.1 <0.2.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-strip/-/babel-plugin-transform-es2015-modules-strip-0.1.1.tgz",
"dev": true
},
"babel-plugin-transform-es2015-modules-systemjs": {
- "version": "6.19.0",
- "from": "babel-plugin-transform-es2015-modules-systemjs@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.19.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-messages": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-template": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-traverse": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babylon": {
+ "version": "7.0.0-beta.8",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-modules-umd": {
- "version": "6.18.0",
- "from": "babel-plugin-transform-es2015-modules-umd@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-messages": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-template": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-traverse": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babylon": {
+ "version": "7.0.0-beta.8",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-object-super": {
- "version": "6.8.0",
- "from": "babel-plugin-transform-es2015-object-super@>=6.3.13 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-es2015-parameters": {
- "version": "6.21.0",
- "from": "babel-plugin-transform-es2015-parameters@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.21.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-code-frame": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-messages": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-template": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-traverse": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ },
+ "babylon": {
+ "version": "7.0.0-beta.8",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.8.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.18.0",
- "from": "babel-plugin-transform-es2015-shorthand-properties@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-spread": {
- "version": "6.8.0",
- "from": "babel-plugin-transform-es2015-spread@>=6.3.13 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.8.0",
- "from": "babel-plugin-transform-es2015-sticky-regex@>=6.3.13 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz",
- "dev": true
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ }
+ }
},
"babel-plugin-transform-es2015-template-literals": {
- "version": "6.8.0",
- "from": "babel-plugin-transform-es2015-template-literals@>=6.6.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-es2015-typeof-symbol": {
- "version": "6.18.0",
- "from": "babel-plugin-transform-es2015-typeof-symbol@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.11.0",
- "from": "babel-plugin-transform-es2015-unicode-regex@>=6.3.13 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-regenerator": {
- "version": "6.21.0",
- "from": "babel-plugin-transform-regenerator@>=6.16.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.21.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-plugin-transform-strict-mode": {
- "version": "6.18.0",
- "from": "babel-plugin-transform-strict-mode@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-7.0.0-alpha.9.tgz",
+ "dev": true,
+ "dependencies": {
+ "babel-types": {
+ "version": "7.0.0-alpha.9",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-alpha.9.tgz",
+ "dev": true
+ }
+ }
+ },
+ "babel-polyfill": {
+ "version": "6.23.0",
+ "from": "babel-polyfill@>=6.23.0 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz",
"dev": true
},
"babel-preset-es2015": {
- "version": "6.18.0",
- "from": "babel-preset-es2015@>=6.16.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz",
+ "version": "7.0.0-alpha.9",
+ "from": "babel-preset-es2015@>=7.0.0-alpha.9 <8.0.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-7.0.0-alpha.9.tgz",
"dev": true
},
"babel-register": {
- "version": "6.18.0",
- "from": "babel-register@>=6.18.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.18.0.tgz",
+ "version": "6.24.1",
+ "from": "babel-register@>=6.24.1 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.24.1.tgz",
"dev": true
},
"babel-runtime": {
- "version": "6.20.0",
- "from": "babel-runtime@>=6.20.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.20.0.tgz",
+ "version": "6.23.0",
+ "from": "babel-runtime@>=6.22.0 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz",
"dev": true
},
"babel-template": {
- "version": "6.16.0",
- "from": "babel-template@>=6.15.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.16.0.tgz",
+ "version": "6.24.1",
+ "from": "babel-template@>=6.24.1 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.24.1.tgz",
"dev": true
},
"babel-traverse": {
- "version": "6.21.0",
- "from": "babel-traverse@>=6.15.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz",
+ "version": "6.24.1",
+ "from": "babel-traverse@>=6.24.1 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.24.1.tgz",
"dev": true
},
"babel-types": {
- "version": "6.21.0",
- "from": "babel-types@>=6.15.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz",
+ "version": "6.24.1",
+ "from": "babel-types@>=6.24.1 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.24.1.tgz",
"dev": true
},
"babylon": {
- "version": "6.14.1",
- "from": "babylon@>=6.13.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz",
+ "version": "6.16.1",
+ "from": "babylon@>=6.11.0 <7.0.0",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.16.1.tgz",
"dev": true
},
"balanced-match": {
@@ -543,22 +1020,10 @@
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
"dev": true
},
- "basic-auth": {
- "version": "1.0.4",
- "from": "basic-auth@>=1.0.3 <1.1.0",
- "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
- "dev": true
- },
- "batch": {
- "version": "0.5.3",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",
- "dev": true
- },
"bcrypt-pbkdf": {
- "version": "1.0.0",
+ "version": "1.0.1",
"from": "bcrypt-pbkdf@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
"dev": true,
"optional": true
},
@@ -566,13 +1031,6 @@
"version": "1.8.0",
"from": "binary-extensions@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.8.0.tgz",
- "dev": true,
- "optional": true
- },
- "bl": {
- "version": "1.2.0",
- "from": "bl@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.0.tgz",
"dev": true
},
"block-stream": {
@@ -582,49 +1040,11 @@
"dev": true
},
"bluebird": {
- "version": "3.4.7",
- "from": "bluebird@>=3.0.6 <4.0.0",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
+ "version": "3.5.0",
+ "from": "bluebird@>=3.4.7 <4.0.0",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz",
"dev": true
},
- "body-parser": {
- "version": "1.14.2",
- "from": "body-parser@>=1.14.0 <1.15.0",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
- "dev": true,
- "dependencies": {
- "debug": {
- "version": "2.2.0",
- "from": "debug@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "dev": true
- },
- "http-errors": {
- "version": "1.3.1",
- "from": "http-errors@>=1.3.1 <1.4.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
- "dev": true
- },
- "iconv-lite": {
- "version": "0.4.13",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
- "dev": true
- },
- "ms": {
- "version": "0.7.1",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "dev": true
- },
- "qs": {
- "version": "5.2.0",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
- "dev": true
- }
- }
- },
"boom": {
"version": "2.10.1",
"from": "boom@>=2.0.0 <3.0.0",
@@ -632,33 +1052,26 @@
"dev": true
},
"brace-expansion": {
- "version": "1.1.6",
+ "version": "1.1.7",
"from": "brace-expansion@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz",
"dev": true
},
"braces": {
"version": "1.8.5",
"from": "braces@>=1.8.2 <2.0.0",
"resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "dev": true,
- "optional": true
- },
- "browserslist": {
- "version": "1.4.0",
- "from": "browserslist@>=1.4.0 <1.5.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.4.0.tgz",
"dev": true
},
- "buffer-crc32": {
- "version": "0.2.13",
- "from": "buffer-crc32@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "browserslist": {
+ "version": "1.7.7",
+ "from": "browserslist@>=1.7.6 <2.0.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
"dev": true
},
"buffer-shims": {
"version": "1.0.0",
- "from": "buffer-shims@>=1.0.0 <2.0.0",
+ "from": "buffer-shims@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
"dev": true
},
@@ -668,11 +1081,25 @@
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
"dev": true
},
- "bytes": {
- "version": "2.2.0",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
- "dev": true
+ "bulk-require": {
+ "version": "1.0.0",
+ "from": "bulk-require@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/bulk-require/-/bulk-require-1.0.0.tgz",
+ "dev": true,
+ "dependencies": {
+ "glob": {
+ "version": "3.2.11",
+ "from": "glob@>=3.2.7 <3.3.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "0.3.0",
+ "from": "minimatch@>=0.3.0 <0.4.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+ "dev": true
+ }
+ }
},
"caller-path": {
"version": "0.1.0",
@@ -699,15 +1126,15 @@
"dev": true
},
"caniuse-db": {
- "version": "1.0.30000602",
- "from": "caniuse-db@>=1.0.30000597 <2.0.0",
- "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000602.tgz",
+ "version": "1.0.30000655",
+ "from": "caniuse-db@>=1.0.30000634 <2.0.0",
+ "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000655.tgz",
"dev": true
},
"caseless": {
- "version": "0.11.0",
- "from": "caseless@>=0.11.0 <0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+ "version": "0.12.0",
+ "from": "caseless@>=0.12.0 <0.13.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"dev": true
},
"center-align": {
@@ -732,10 +1159,9 @@
},
"chokidar": {
"version": "1.6.1",
- "from": "chokidar@>=1.5.1 <2.0.0",
+ "from": "chokidar@>=1.6.1 <2.0.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"circular-json": {
"version": "0.3.1",
@@ -743,19 +1169,23 @@
"resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz",
"dev": true
},
+ "cjson": {
+ "version": "0.5.0",
+ "from": "cjson@>=0.5.0 <0.6.0",
+ "resolved": "https://registry.npmjs.org/cjson/-/cjson-0.5.0.tgz",
+ "dev": true
+ },
"clean-css": {
- "version": "3.4.23",
- "from": "clean-css@>=3.4.23 <4.0.0",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.23.tgz",
- "dev": true,
- "dependencies": {
- "source-map": {
- "version": "0.4.4",
- "from": "source-map@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "dev": true
- }
- }
+ "version": "4.0.12",
+ "from": "clean-css@>=4.0.12 <5.0.0",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.0.12.tgz",
+ "dev": true
+ },
+ "clean-css-cli": {
+ "version": "4.0.12",
+ "from": "clean-css-cli@>=4.0.12 <5.0.0",
+ "resolved": "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-4.0.12.tgz",
+ "dev": true
},
"cli": {
"version": "0.6.6",
@@ -783,19 +1213,11 @@
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
"dev": true
},
- "cli-table": {
- "version": "0.3.1",
- "from": "cli-table@>=0.3.1 <0.4.0",
- "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
- "dev": true,
- "dependencies": {
- "colors": {
- "version": "1.0.3",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
- "dev": true
- }
- }
+ "cli-spinners": {
+ "version": "1.0.0",
+ "from": "cli-spinners@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.0.0.tgz",
+ "dev": true
},
"cli-width": {
"version": "2.1.0",
@@ -804,18 +1226,10 @@
"dev": true
},
"cliui": {
- "version": "2.1.0",
- "from": "cliui@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "dev": true,
- "dependencies": {
- "wordwrap": {
- "version": "0.0.2",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "dev": true
- }
- }
+ "version": "3.2.0",
+ "from": "cliui@>=3.2.0 <4.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "dev": true
},
"co": {
"version": "4.6.0",
@@ -848,21 +1262,9 @@
"dev": true
},
"commander": {
- "version": "2.8.1",
- "from": "commander@>=2.8.0 <2.9.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
- "dev": true
- },
- "comment-parser": {
- "version": "0.3.1",
- "from": "comment-parser@>=0.3.1 <0.4.0",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.1.tgz",
- "dev": true
- },
- "compress-commons": {
- "version": "1.1.0",
- "from": "compress-commons@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.1.0.tgz",
+ "version": "2.9.0",
+ "from": "commander@>=2.8.1 <3.0.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"dev": true
},
"concat-map": {
@@ -873,36 +1275,10 @@
},
"concat-stream": {
"version": "1.6.0",
- "from": "concat-stream@>=1.4.6 <2.0.0",
+ "from": "concat-stream@>=1.5.2 <2.0.0",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
"dev": true
},
- "connect": {
- "version": "3.5.0",
- "from": "connect@>=3.4.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.5.0.tgz",
- "dev": true,
- "dependencies": {
- "debug": {
- "version": "2.2.0",
- "from": "debug@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "dev": true
- },
- "ms": {
- "version": "0.7.1",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "dev": true
- }
- }
- },
- "connect-livereload": {
- "version": "0.5.4",
- "from": "connect-livereload@>=0.5.0 <0.6.0",
- "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
- "dev": true
- },
"console-browserify": {
"version": "1.1.0",
"from": "console-browserify@>=1.1.0 <1.2.0",
@@ -915,16 +1291,10 @@
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"dev": true
},
- "content-type": {
- "version": "1.0.2",
- "from": "content-type@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
- "dev": true
- },
"convert-source-map": {
- "version": "1.3.0",
+ "version": "1.5.0",
"from": "convert-source-map@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz",
"dev": true
},
"core-js": {
@@ -939,17 +1309,33 @@
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"dev": true
},
- "crc32-stream": {
- "version": "1.0.0",
- "from": "crc32-stream@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-1.0.0.tgz",
- "dev": true
+ "cosmiconfig": {
+ "version": "2.1.1",
+ "from": "cosmiconfig@>=2.1.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.1.1.tgz",
+ "dev": true,
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "from": "minimist@>=1.2.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "dev": true
+ }
+ }
},
"cross-spawn": {
- "version": "0.2.9",
- "from": "cross-spawn@>=0.2.3 <0.3.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-0.2.9.tgz",
- "dev": true
+ "version": "3.0.1",
+ "from": "cross-spawn@>=3.0.0 <4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": {
+ "version": "4.0.2",
+ "from": "lru-cache@>=4.0.1 <5.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
+ "dev": true
+ }
+ }
},
"cryptiles": {
"version": "2.0.5",
@@ -963,34 +1349,16 @@
"resolved": "https://registry.npmjs.org/csslint/-/csslint-0.10.0.tgz",
"dev": true
},
- "cst": {
- "version": "0.4.9",
- "from": "cst@>=0.4.3 <0.5.0",
- "resolved": "https://registry.npmjs.org/cst/-/cst-0.4.9.tgz",
- "dev": true
- },
"currently-unhandled": {
"version": "0.4.1",
"from": "currently-unhandled@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"dev": true
},
- "cycle": {
- "version": "1.0.3",
- "from": "cycle@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
- "dev": true
- },
"d": {
- "version": "0.1.1",
- "from": "d@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
- "dev": true
- },
- "dargs": {
- "version": "4.1.0",
- "from": "dargs@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
+ "version": "1.0.0",
+ "from": "d@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"dev": true
},
"dashdash": {
@@ -1013,12 +1381,6 @@
"resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
"dev": true
},
- "date-time": {
- "version": "1.1.0",
- "from": "date-time@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/date-time/-/date-time-1.1.0.tgz",
- "dev": true
- },
"dateformat": {
"version": "1.0.12",
"from": "dateformat@>=1.0.12 <1.1.0",
@@ -1026,9 +1388,9 @@
"dev": true
},
"debug": {
- "version": "2.5.1",
- "from": "debug@>=2.2.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.5.1.tgz",
+ "version": "2.6.3",
+ "from": "debug@>=2.1.1 <3.0.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.3.tgz",
"dev": true
},
"decamelize": {
@@ -1037,18 +1399,18 @@
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"dev": true
},
- "deep-equal": {
- "version": "1.0.1",
- "from": "deep-equal@*",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
- "dev": true
- },
"deep-is": {
"version": "0.1.3",
"from": "deep-is@>=0.1.3 <0.2.0",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"dev": true
},
+ "define-properties": {
+ "version": "1.1.2",
+ "from": "define-properties@>=1.1.2 <2.0.0",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "dev": true
+ },
"del": {
"version": "2.2.2",
"from": "del@>=2.0.2 <3.0.0",
@@ -1067,16 +1429,16 @@
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"dev": true
},
- "depd": {
- "version": "1.1.0",
- "from": "depd@>=1.1.0 <1.2.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
+ "dependency-graph": {
+ "version": "0.5.0",
+ "from": "dependency-graph@>=0.5.0 <0.6.0",
+ "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.5.0.tgz",
"dev": true
},
- "destroy": {
- "version": "1.0.4",
- "from": "destroy@>=1.0.4 <1.1.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "detect-file": {
+ "version": "0.1.0",
+ "from": "detect-file@>=0.1.0 <0.2.0",
+ "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz",
"dev": true
},
"detect-indent": {
@@ -1086,9 +1448,9 @@
"dev": true
},
"doctrine": {
- "version": "1.5.0",
- "from": "doctrine@>=1.2.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "version": "2.0.0",
+ "from": "doctrine@>=2.0.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz",
"dev": true
},
"dom-serializer": {
@@ -1129,10 +1491,10 @@
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"dev": true
},
- "each-async": {
- "version": "1.1.1",
- "from": "each-async@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
+ "duplexer": {
+ "version": "0.1.1",
+ "from": "duplexer@>=0.1.1 <0.2.0",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
"dev": true
},
"ecc-jsbn": {
@@ -1142,32 +1504,18 @@
"dev": true,
"optional": true
},
- "ee-first": {
- "version": "1.1.1",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "electron-to-chromium": {
+ "version": "1.3.4",
+ "from": "electron-to-chromium@>=1.2.7 <2.0.0",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.4.tgz",
"dev": true
},
- "encodeurl": {
- "version": "1.0.1",
- "from": "encodeurl@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
+ "ensure-posix-path": {
+ "version": "1.0.2",
+ "from": "ensure-posix-path@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/ensure-posix-path/-/ensure-posix-path-1.0.2.tgz",
"dev": true
},
- "end-of-stream": {
- "version": "1.1.0",
- "from": "end-of-stream@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz",
- "dev": true,
- "dependencies": {
- "once": {
- "version": "1.3.3",
- "from": "once@>=1.3.0 <1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
- "dev": true
- }
- }
- },
"entities": {
"version": "1.0.0",
"from": "entities@>=1.0.0 <1.1.0",
@@ -1175,27 +1523,45 @@
"dev": true
},
"error-ex": {
- "version": "1.3.0",
+ "version": "1.3.1",
"from": "error-ex@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "dev": true
+ },
+ "es-abstract": {
+ "version": "1.7.0",
+ "from": "es-abstract@>=1.4.3 <2.0.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.7.0.tgz",
+ "dev": true
+ },
+ "es-to-primitive": {
+ "version": "1.1.1",
+ "from": "es-to-primitive@>=1.1.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
"dev": true
},
"es5-ext": {
- "version": "0.10.12",
- "from": "es5-ext@>=0.10.11 <0.11.0",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz",
+ "version": "0.10.15",
+ "from": "es5-ext@>=0.10.14 <0.11.0",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz",
"dev": true
},
"es6-iterator": {
- "version": "2.0.0",
- "from": "es6-iterator@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz",
+ "version": "2.0.1",
+ "from": "es6-iterator@>=2.0.1 <2.1.0",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz",
"dev": true
},
"es6-map": {
- "version": "0.1.4",
+ "version": "0.1.5",
"from": "es6-map@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz",
+ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
+ "dev": true
+ },
+ "es6-object-assign": {
+ "version": "1.1.0",
+ "from": "es6-object-assign@>=1.0.3 <2.0.0",
+ "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
"dev": true
},
"es6-promise": {
@@ -1205,27 +1571,21 @@
"dev": true
},
"es6-set": {
- "version": "0.1.4",
- "from": "es6-set@>=0.1.3 <0.2.0",
- "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz",
+ "version": "0.1.5",
+ "from": "es6-set@>=0.1.5 <0.2.0",
+ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
"dev": true
},
"es6-symbol": {
- "version": "3.1.0",
- "from": "es6-symbol@>=3.1.0 <3.2.0",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz",
+ "version": "3.1.1",
+ "from": "es6-symbol@>=3.1.1 <3.2.0",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
"dev": true
},
"es6-weak-map": {
- "version": "2.0.1",
+ "version": "2.0.2",
"from": "es6-weak-map@>=2.0.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz",
- "dev": true
- },
- "escape-html": {
- "version": "1.0.3",
- "from": "escape-html@>=1.0.3 <1.1.0",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
"dev": true
},
"escape-string-regexp": {
@@ -1241,21 +1601,35 @@
"dev": true
},
"eslint": {
- "version": "3.12.2",
- "from": "eslint@>=3.7.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.12.2.tgz",
- "dev": true
+ "version": "3.19.0",
+ "from": "eslint@>=3.19.0 <4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz",
+ "dev": true,
+ "dependencies": {
+ "user-home": {
+ "version": "2.0.0",
+ "from": "user-home@>=2.0.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
+ "dev": true
+ }
+ }
},
"espree": {
- "version": "3.3.2",
- "from": "espree@>=3.3.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-3.3.2.tgz",
+ "version": "3.4.1",
+ "from": "espree@>=3.4.0 <4.0.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.1.tgz",
"dev": true
},
"esprima": {
- "version": "2.7.3",
- "from": "esprima@>=2.6.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "version": "3.1.3",
+ "from": "esprima@>=3.1.1 <4.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "dev": true
+ },
+ "esquery": {
+ "version": "1.0.0",
+ "from": "esquery@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
"dev": true
},
"esrecurse": {
@@ -1284,24 +1658,38 @@
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"dev": true
},
- "etag": {
- "version": "1.7.0",
- "from": "etag@>=1.7.0 <1.8.0",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz",
- "dev": true
- },
"event-emitter": {
- "version": "0.3.4",
- "from": "event-emitter@>=0.3.4 <0.4.0",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz",
+ "version": "0.3.5",
+ "from": "event-emitter@>=0.3.5 <0.4.0",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
"dev": true
},
+ "event-stream": {
+ "version": "3.3.4",
+ "from": "event-stream@>=3.3.0 <3.4.0",
+ "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
+ "dev": true,
+ "dependencies": {
+ "split": {
+ "version": "0.3.3",
+ "from": "split@>=0.3.0 <0.4.0",
+ "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "dev": true
+ }
+ }
+ },
"eventemitter2": {
"version": "0.4.14",
"from": "eventemitter2@>=0.4.13 <0.5.0",
"resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
"dev": true
},
+ "exists-stat": {
+ "version": "1.0.0",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/exists-stat/-/exists-stat-1.0.0.tgz",
+ "dev": true
+ },
"exit": {
"version": "0.1.2",
"from": "exit@>=0.1.1 <0.2.0",
@@ -1318,19 +1706,23 @@
"version": "0.1.5",
"from": "expand-brackets@>=0.1.4 <0.2.0",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"expand-range": {
"version": "1.8.2",
"from": "expand-range@>=1.8.1 <2.0.0",
"resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "dev": true,
- "optional": true
+ "dev": true
+ },
+ "expand-tilde": {
+ "version": "1.2.2",
+ "from": "expand-tilde@>=1.2.2 <2.0.0",
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
+ "dev": true
},
"extend": {
"version": "3.0.0",
- "from": "extend@>=3.0.0 <3.1.0",
+ "from": "extend@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
"dev": true
},
@@ -1338,8 +1730,7 @@
"version": "0.3.2",
"from": "extglob@>=0.3.1 <0.4.0",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"extract-zip": {
"version": "1.5.0",
@@ -1370,6 +1761,12 @@
"from": "readable-stream@>=2.0.0 <2.1.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
"dev": true
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "from": "string_decoder@>=0.10.0 <0.11.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "dev": true
}
}
},
@@ -1379,22 +1776,10 @@
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
"dev": true
},
- "eyes": {
- "version": "0.1.8",
- "from": "eyes@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
- "dev": true
- },
"fast-levenshtein": {
- "version": "2.0.5",
+ "version": "2.0.6",
"from": "fast-levenshtein@>=2.0.4 <2.1.0",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz",
- "dev": true
- },
- "faye-websocket": {
- "version": "0.10.0",
- "from": "faye-websocket@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"dev": true
},
"fd-slicer": {
@@ -1435,45 +1820,17 @@
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
"dev": true
},
- "file-sync-cmp": {
- "version": "0.1.1",
- "from": "file-sync-cmp@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz",
- "dev": true
- },
"filename-regex": {
"version": "2.0.0",
"from": "filename-regex@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"fill-range": {
"version": "2.2.3",
"from": "fill-range@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
- "dev": true,
- "optional": true
- },
- "finalhandler": {
- "version": "0.5.0",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.5.0.tgz",
- "dev": true,
- "dependencies": {
- "debug": {
- "version": "2.2.0",
- "from": "debug@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "dev": true
- },
- "ms": {
- "version": "0.7.1",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "dev": true
- }
- }
+ "dev": true
},
"find-up": {
"version": "1.1.2",
@@ -1495,6 +1852,18 @@
}
}
},
+ "fined": {
+ "version": "1.0.2",
+ "from": "fined@>=1.0.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/fined/-/fined-1.0.2.tgz",
+ "dev": true
+ },
+ "flagged-respawn": {
+ "version": "0.3.2",
+ "from": "flagged-respawn@>=0.3.2 <0.4.0",
+ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz",
+ "dev": true
+ },
"flat-cache": {
"version": "1.2.2",
"from": "flat-cache@>=1.2.1 <2.0.0",
@@ -1502,18 +1871,22 @@
"dev": true
},
"for-in": {
- "version": "0.1.6",
- "from": "for-in@>=0.1.5 <0.2.0",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.6.tgz",
- "dev": true,
- "optional": true
+ "version": "1.0.2",
+ "from": "for-in@>=1.0.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "dev": true
},
"for-own": {
- "version": "0.1.4",
+ "version": "0.1.5",
"from": "for-own@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz",
- "dev": true,
- "optional": true
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
+ "dev": true
+ },
+ "foreach": {
+ "version": "2.0.5",
+ "from": "foreach@>=2.0.5 <3.0.0",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "dev": true
},
"forever-agent": {
"version": "0.6.1",
@@ -1522,15 +1895,21 @@
"dev": true
},
"form-data": {
- "version": "2.1.2",
+ "version": "2.1.4",
"from": "form-data@>=2.1.1 <2.2.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
"dev": true
},
- "fresh": {
- "version": "0.3.0",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
+ "from": {
+ "version": "0.1.7",
+ "from": "from@>=0.0.0 <1.0.0",
+ "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
+ "dev": true
+ },
+ "fs-exists-sync": {
+ "version": "0.1.0",
+ "from": "fs-exists-sync@>=0.1.0 <0.2.0",
+ "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
"dev": true
},
"fs-extra": {
@@ -1539,6 +1918,26 @@
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
"dev": true
},
+ "fs-promise": {
+ "version": "2.0.2",
+ "from": "fs-promise@>=2.0.2 <3.0.0",
+ "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.2.tgz",
+ "dev": true,
+ "dependencies": {
+ "fs-extra": {
+ "version": "2.1.2",
+ "from": "fs-extra@>=2.0.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz",
+ "dev": true
+ }
+ }
+ },
+ "fs-readdir-recursive": {
+ "version": "1.0.0",
+ "from": "fs-readdir-recursive@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz",
+ "dev": true
+ },
"fs.realpath": {
"version": "1.0.0",
"from": "fs.realpath@>=1.0.0 <2.0.0",
@@ -1546,21 +1945,21 @@
"dev": true
},
"fstream": {
- "version": "1.0.10",
+ "version": "1.0.11",
"from": "fstream@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
"dev": true
},
- "gather-stream": {
- "version": "1.0.0",
- "from": "gather-stream@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/gather-stream/-/gather-stream-1.0.0.tgz",
+ "function-bind": {
+ "version": "1.1.0",
+ "from": "function-bind@>=1.0.2 <2.0.0",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz",
"dev": true
},
"gauge": {
- "version": "2.6.0",
- "from": "gauge@>=2.6.0 <2.7.0",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz",
+ "version": "2.7.3",
+ "from": "gauge@>=2.7.1 <2.8.0",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz",
"dev": true
},
"gaze": {
@@ -1615,7 +2014,7 @@
},
"glob": {
"version": "7.1.1",
- "from": "glob@>=7.0.3 <8.0.0",
+ "from": "glob@>=7.0.0 <8.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
"dev": true
},
@@ -1631,10 +2030,22 @@
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
"dev": true
},
+ "global-modules": {
+ "version": "0.2.3",
+ "from": "global-modules@>=0.2.3 <0.3.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
+ "dev": true
+ },
+ "global-prefix": {
+ "version": "0.1.5",
+ "from": "global-prefix@>=0.1.4 <0.2.0",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
+ "dev": true
+ },
"globals": {
- "version": "9.14.0",
+ "version": "9.17.0",
"from": "globals@>=9.0.0 <10.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.14.0.tgz",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.17.0.tgz",
"dev": true
},
"globby": {
@@ -1675,6 +2086,12 @@
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz",
"dev": true,
"dependencies": {
+ "esprima": {
+ "version": "2.7.3",
+ "from": "esprima@>=2.6.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "dev": true
+ },
"glob": {
"version": "7.0.6",
"from": "glob@>=7.0.0 <7.1.0",
@@ -1707,122 +2124,6 @@
}
}
},
- "grunt-babel": {
- "version": "6.0.0",
- "from": "grunt-babel@>=6.0.0 <7.0.0",
- "resolved": "https://registry.npmjs.org/grunt-babel/-/grunt-babel-6.0.0.tgz",
- "dev": true
- },
- "grunt-build-control": {
- "version": "0.7.1",
- "from": "grunt-build-control@>=0.7.1 <0.8.0",
- "resolved": "https://registry.npmjs.org/grunt-build-control/-/grunt-build-control-0.7.1.tgz",
- "dev": true,
- "dependencies": {
- "semver": {
- "version": "4.3.6",
- "from": "semver@>=4.3.3 <4.4.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
- "dev": true
- },
- "shelljs": {
- "version": "0.2.6",
- "from": "shelljs@>=0.2.6 <0.3.0",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz",
- "dev": true
- }
- }
- },
- "grunt-contrib-clean": {
- "version": "1.0.0",
- "from": "grunt-contrib-clean@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.0.0.tgz",
- "dev": true
- },
- "grunt-contrib-compress": {
- "version": "1.3.0",
- "from": "grunt-contrib-compress@>=1.3.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.3.0.tgz",
- "dev": true
- },
- "grunt-contrib-concat": {
- "version": "1.0.1",
- "from": "grunt-contrib-concat@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz",
- "dev": true
- },
- "grunt-contrib-connect": {
- "version": "1.0.2",
- "from": "grunt-contrib-connect@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-1.0.2.tgz",
- "dev": true
- },
- "grunt-contrib-copy": {
- "version": "1.0.0",
- "from": "grunt-contrib-copy@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz",
- "dev": true
- },
- "grunt-contrib-qunit": {
- "version": "1.2.0",
- "from": "grunt-contrib-qunit@>=1.2.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-1.2.0.tgz",
- "dev": true
- },
- "grunt-contrib-sass": {
- "version": "1.0.0",
- "from": "grunt-contrib-sass@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-contrib-sass/-/grunt-contrib-sass-1.0.0.tgz",
- "dev": true,
- "dependencies": {
- "async": {
- "version": "0.9.2",
- "from": "async@>=0.9.0 <0.10.0",
- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
- "dev": true
- }
- }
- },
- "grunt-contrib-watch": {
- "version": "1.0.0",
- "from": "grunt-contrib-watch@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "3.10.1",
- "from": "lodash@>=3.10.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "dev": true
- }
- }
- },
- "grunt-exec": {
- "version": "1.0.1",
- "from": "grunt-exec@>=1.0.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-1.0.1.tgz",
- "dev": true
- },
- "grunt-html": {
- "version": "8.1.0",
- "from": "grunt-html@>=8.0.2 <9.0.0",
- "resolved": "https://registry.npmjs.org/grunt-html/-/grunt-html-8.1.0.tgz",
- "dev": true,
- "dependencies": {
- "async": {
- "version": "2.1.2",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/async/-/async-2.1.2.tgz",
- "dev": true
- }
- }
- },
- "grunt-jekyll": {
- "version": "0.4.4",
- "from": "grunt-jekyll@>=0.4.4 <0.5.0",
- "resolved": "https://registry.npmjs.org/grunt-jekyll/-/grunt-jekyll-0.4.4.tgz",
- "dev": true
- },
"grunt-known-options": {
"version": "1.1.0",
"from": "grunt-known-options@>=1.1.0 <1.2.0",
@@ -1871,18 +2172,6 @@
}
}
},
- "grunt-lib-phantomjs": {
- "version": "1.1.0",
- "from": "grunt-lib-phantomjs@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-lib-phantomjs/-/grunt-lib-phantomjs-1.1.0.tgz",
- "dev": true
- },
- "grunt-sass": {
- "version": "1.2.1",
- "from": "grunt-sass@>=1.2.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-1.2.1.tgz",
- "dev": true
- },
"grunt-saucelabs": {
"version": "9.0.0",
"from": "grunt-saucelabs@>=9.0.0 <10.0.0",
@@ -1897,25 +2186,23 @@
}
}
},
- "grunt-stamp": {
- "version": "0.3.0",
- "from": "grunt-stamp@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npmjs.org/grunt-stamp/-/grunt-stamp-0.3.0.tgz",
+ "har-schema": {
+ "version": "1.0.5",
+ "from": "har-schema@>=1.0.5 <2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
"dev": true
},
"har-validator": {
- "version": "2.0.6",
- "from": "har-validator@>=2.0.6 <2.1.0",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
- "dev": true,
- "dependencies": {
- "commander": {
- "version": "2.9.0",
- "from": "commander@>=2.9.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
- "dev": true
- }
- }
+ "version": "4.2.1",
+ "from": "har-validator@>=4.2.1 <4.3.0",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.1",
+ "from": "has@>=1.0.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
+ "dev": true
},
"has-ansi": {
"version": "2.0.0",
@@ -1923,12 +2210,6 @@
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"dev": true
},
- "has-color": {
- "version": "0.1.7",
- "from": "has-color@>=0.1.7 <0.2.0",
- "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz",
- "dev": true
- },
"has-flag": {
"version": "1.0.0",
"from": "has-flag@>=1.0.0 <2.0.0",
@@ -1965,6 +2246,12 @@
"resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
"dev": true
},
+ "homedir-polyfill": {
+ "version": "1.0.1",
+ "from": "homedir-polyfill@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+ "dev": true
+ },
"hooker": {
"version": "0.2.3",
"from": "hooker@>=0.2.3 <0.3.0",
@@ -1972,9 +2259,9 @@
"dev": true
},
"hosted-git-info": {
- "version": "2.1.5",
+ "version": "2.4.2",
"from": "hosted-git-info@>=2.1.4 <3.0.0",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.4.2.tgz",
"dev": true
},
"htmlhint": {
@@ -2006,9 +2293,27 @@
"from": "[email protected]",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"dev": true
+ },
+ "strip-json-comments": {
+ "version": "1.0.4",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
+ "dev": true
}
}
},
+ "htmllint": {
+ "version": "0.6.0",
+ "from": "htmllint@>=0.6.0 <0.7.0",
+ "resolved": "https://registry.npmjs.org/htmllint/-/htmllint-0.6.0.tgz",
+ "dev": true
+ },
+ "htmllint-cli": {
+ "version": "0.0.6",
+ "from": "htmllint-cli@>=0.0.6 <0.0.7",
+ "resolved": "https://registry.npmjs.org/htmllint-cli/-/htmllint-cli-0.0.6.tgz",
+ "dev": true
+ },
"htmlparser2": {
"version": "3.8.3",
"from": "htmlparser2@>=3.8.0 <3.9.0",
@@ -2026,39 +2331,27 @@
"from": "readable-stream@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"dev": true
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "from": "string_decoder@>=0.10.0 <0.11.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "dev": true
}
}
},
- "http-errors": {
- "version": "1.5.1",
- "from": "http-errors@>=1.5.0 <1.6.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz",
- "dev": true
- },
"http-signature": {
"version": "1.1.1",
"from": "http-signature@>=1.1.0 <1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"dev": true
},
- "http2": {
- "version": "3.3.6",
- "from": "http2@>=3.3.4 <4.0.0",
- "resolved": "https://registry.npmjs.org/http2/-/http2-3.3.6.tgz",
- "dev": true
- },
"https-proxy-agent": {
"version": "1.0.0",
"from": "https-proxy-agent@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
"dev": true
},
- "i": {
- "version": "0.3.5",
- "from": "i@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npmjs.org/i/-/i-0.3.5.tgz",
- "dev": true
- },
"iconv-lite": {
"version": "0.4.15",
"from": "iconv-lite@>=0.4.13 <0.5.0",
@@ -2066,9 +2359,9 @@
"dev": true
},
"ignore": {
- "version": "3.2.0",
+ "version": "3.2.7",
"from": "ignore@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.7.tgz",
"dev": true
},
"imurmurhash": {
@@ -2095,18 +2388,18 @@
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"dev": true
},
- "inherit": {
- "version": "2.2.6",
- "from": "inherit@>=2.2.2 <3.0.0",
- "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.6.tgz",
- "dev": true
- },
"inherits": {
"version": "2.0.3",
- "from": "inherits@>=2.0.3 <3.0.0",
+ "from": "inherits@>=2.0.1 <3.0.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"dev": true
},
+ "ini": {
+ "version": "1.3.4",
+ "from": "ini@>=1.3.4 <2.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "dev": true
+ },
"inquirer": {
"version": "0.12.0",
"from": "inquirer@>=0.12.0 <0.13.0",
@@ -2114,9 +2407,9 @@
"dev": true
},
"interpret": {
- "version": "1.0.1",
+ "version": "1.0.3",
"from": "interpret@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz",
"dev": true
},
"invariant": {
@@ -2131,6 +2424,12 @@
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
"dev": true
},
+ "is-absolute": {
+ "version": "0.2.6",
+ "from": "is-absolute@>=0.2.3 <0.3.0",
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz",
+ "dev": true
+ },
"is-arrayish": {
"version": "0.2.1",
"from": "is-arrayish@>=0.2.1 <0.3.0",
@@ -2141,13 +2440,12 @@
"version": "1.0.1",
"from": "is-binary-path@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"is-buffer": {
- "version": "1.1.4",
+ "version": "1.1.5",
"from": "is-buffer@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz",
"dev": true
},
"is-builtin-module": {
@@ -2156,6 +2454,18 @@
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"dev": true
},
+ "is-callable": {
+ "version": "1.1.3",
+ "from": "is-callable@>=1.1.3 <2.0.0",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
+ "dev": true
+ },
+ "is-date-object": {
+ "version": "1.0.1",
+ "from": "is-date-object@>=1.0.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "dev": true
+ },
"is-dotfile": {
"version": "1.0.2",
"from": "is-dotfile@>=1.0.0 <2.0.0",
@@ -2166,15 +2476,13 @@
"version": "0.1.3",
"from": "is-equal-shallow@>=0.1.3 <0.2.0",
"resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"is-extendable": {
"version": "0.1.1",
"from": "is-extendable@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"is-extglob": {
"version": "1.0.0",
@@ -2201,9 +2509,9 @@
"dev": true
},
"is-my-json-valid": {
- "version": "2.15.0",
+ "version": "2.16.0",
"from": "is-my-json-valid@>=2.10.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz",
+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz",
"dev": true
},
"is-number": {
@@ -2234,8 +2542,7 @@
"version": "0.1.1",
"from": "is-posix-bracket@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"is-primitive": {
"version": "2.0.0",
@@ -2249,6 +2556,18 @@
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
"dev": true
},
+ "is-regex": {
+ "version": "1.0.4",
+ "from": "is-regex@>=1.0.3 <2.0.0",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "dev": true
+ },
+ "is-relative": {
+ "version": "0.2.1",
+ "from": "is-relative@>=0.2.1 <0.3.0",
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz",
+ "dev": true
+ },
"is-resolvable": {
"version": "1.0.0",
"from": "is-resolvable@>=1.0.0 <2.0.0",
@@ -2261,10 +2580,10 @@
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"dev": true
},
- "is-travis": {
- "version": "1.0.0",
- "from": "is-travis@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/is-travis/-/is-travis-1.0.0.tgz",
+ "is-symbol": {
+ "version": "1.0.1",
+ "from": "is-symbol@>=1.0.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
"dev": true
},
"is-typedarray": {
@@ -2273,30 +2592,41 @@
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"dev": true
},
+ "is-unc-path": {
+ "version": "0.1.2",
+ "from": "is-unc-path@>=0.1.1 <0.2.0",
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz",
+ "dev": true
+ },
"is-utf8": {
"version": "0.2.1",
"from": "is-utf8@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"dev": true
},
+ "is-windows": {
+ "version": "0.2.0",
+ "from": "is-windows@>=0.2.0 <0.3.0",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
+ "dev": true
+ },
"isarray": {
"version": "1.0.0",
- "from": "isarray@>=1.0.0 <1.1.0",
+ "from": "[email protected]",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"dev": true
},
"isexe": {
- "version": "1.1.2",
- "from": "isexe@>=1.1.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz",
+ "version": "2.0.0",
+ "from": "isexe@>=2.0.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"dev": true
},
"isobject": {
"version": "2.1.0",
"from": "isobject@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"isstream": {
"version": "0.1.2",
@@ -2304,6 +2634,12 @@
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"dev": true
},
+ "jju": {
+ "version": "1.3.0",
+ "from": "jju@>=1.1.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz",
+ "dev": true
+ },
"jodid25519": {
"version": "1.0.2",
"from": "jodid25519@>=1.0.0 <2.0.0",
@@ -2312,9 +2648,9 @@
"optional": true
},
"jquery": {
- "version": "3.1.1",
- "from": "jquery@>=1.9.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.1.1.tgz"
+ "version": "3.2.1",
+ "from": "jquery@>=1.9.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz"
},
"js-base64": {
"version": "2.1.9",
@@ -2322,99 +2658,35 @@
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.1.9.tgz",
"dev": true
},
+ "js-reporters": {
+ "version": "1.2.0",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/js-reporters/-/js-reporters-1.2.0.tgz",
+ "dev": true
+ },
"js-tokens": {
- "version": "2.0.0",
- "from": "js-tokens@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-2.0.0.tgz",
+ "version": "3.0.1",
+ "from": "js-tokens@>=3.0.0 <4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz",
"dev": true
},
"js-yaml": {
- "version": "3.7.0",
+ "version": "3.8.3",
"from": "js-yaml@>=3.5.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.3.tgz",
"dev": true
},
"jsbn": {
- "version": "0.1.0",
+ "version": "0.1.1",
"from": "jsbn@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"dev": true,
"optional": true
},
- "jscs": {
- "version": "3.0.7",
- "from": "jscs@>=3.0.7 <4.0.0",
- "resolved": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz",
- "dev": true,
- "dependencies": {
- "commander": {
- "version": "2.9.0",
- "from": "commander@>=2.9.0 <2.10.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
- "dev": true
- },
- "glob": {
- "version": "5.0.15",
- "from": "glob@>=5.0.1 <6.0.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "dev": true
- },
- "js-yaml": {
- "version": "3.4.6",
- "from": "js-yaml@>=3.4.0 <3.5.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz",
- "dev": true
- },
- "lodash": {
- "version": "3.10.1",
- "from": "lodash@>=3.10.0 <3.11.0",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "dev": true
- },
- "natural-compare": {
- "version": "1.2.2",
- "from": "natural-compare@>=1.2.2 <1.3.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz",
- "dev": true
- },
- "strip-bom": {
- "version": "2.0.0",
- "from": "strip-bom@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "dev": true
- }
- }
- },
- "jscs-jsdoc": {
- "version": "2.0.0",
- "from": "jscs-jsdoc@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz",
- "dev": true
- },
- "jscs-preset-wikimedia": {
- "version": "1.0.0",
- "from": "jscs-preset-wikimedia@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz",
- "dev": true
- },
- "jsdoctypeparser": {
- "version": "1.2.0",
- "from": "jsdoctypeparser@>=1.2.0 <1.3.0",
- "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "3.10.1",
- "from": "lodash@>=3.7.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "dev": true
- }
- }
- },
"jsesc": {
- "version": "0.5.0",
- "from": "jsesc@>=0.5.0 <0.6.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "version": "1.3.0",
+ "from": "jsesc@>=1.3.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
"dev": true
},
"jshint": {
@@ -2440,9 +2712,21 @@
"from": "shelljs@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
"dev": true
+ },
+ "strip-json-comments": {
+ "version": "1.0.4",
+ "from": "strip-json-comments@>=1.0.0 <1.1.0",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
+ "dev": true
}
}
},
+ "json-parse-helpfulerror": {
+ "version": "1.0.3",
+ "from": "json-parse-helpfulerror@>=1.0.3 <2.0.0",
+ "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz",
+ "dev": true
+ },
"json-schema": {
"version": "0.2.3",
"from": "[email protected]",
@@ -2479,12 +2763,6 @@
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"dev": true
},
- "jsonlint": {
- "version": "1.6.2",
- "from": "jsonlint@>=1.6.2 <1.7.0",
- "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz",
- "dev": true
- },
"jsonpointer": {
"version": "4.0.1",
"from": "jsonpointer@>=4.0.0 <5.0.0",
@@ -2492,16 +2770,18 @@
"dev": true
},
"jsprim": {
- "version": "1.3.1",
+ "version": "1.4.0",
"from": "jsprim@>=1.2.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz",
- "dev": true
- },
- "JSV": {
- "version": "4.0.2",
- "from": "JSV@>=4.0.0",
- "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz",
- "dev": true
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
+ "dev": true,
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "dev": true
+ }
+ }
},
"kew": {
"version": "0.7.0",
@@ -2527,12 +2807,6 @@
"resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
"dev": true
},
- "lazystream": {
- "version": "1.0.0",
- "from": "lazystream@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
- "dev": true
- },
"lcid": {
"version": "1.0.0",
"from": "lcid@>=1.0.0 <2.0.0",
@@ -2545,17 +2819,19 @@
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"dev": true
},
- "livereload-js": {
- "version": "2.2.2",
- "from": "livereload-js@>=2.2.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz",
- "dev": true
- },
- "load-grunt-tasks": {
- "version": "3.5.2",
- "from": "load-grunt-tasks@>=3.5.2 <4.0.0",
- "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz",
- "dev": true
+ "liftoff": {
+ "version": "2.3.0",
+ "from": "liftoff@>=2.3.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz",
+ "dev": true,
+ "dependencies": {
+ "findup-sync": {
+ "version": "0.4.3",
+ "from": "findup-sync@>=0.4.2 <0.5.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz",
+ "dev": true
+ }
+ }
},
"load-json-file": {
"version": "1.1.0",
@@ -2572,27 +2848,69 @@
}
},
"lodash": {
- "version": "4.17.2",
+ "version": "4.17.4",
"from": "lodash@>=4.2.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
"dev": true
},
"lodash.assign": {
"version": "4.2.0",
- "from": "lodash.assign@>=4.0.9 <5.0.0",
+ "from": "lodash.assign@>=4.2.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
"dev": true
},
+ "lodash.assignwith": {
+ "version": "4.2.0",
+ "from": "lodash.assignwith@>=4.0.7 <5.0.0",
+ "resolved": "https://registry.npmjs.org/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz",
+ "dev": true
+ },
"lodash.clonedeep": {
"version": "4.5.0",
"from": "lodash.clonedeep@>=4.3.2 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"dev": true
},
- "lodash.pickby": {
+ "lodash.isempty": {
+ "version": "4.4.0",
+ "from": "lodash.isempty@>=4.2.1 <5.0.0",
+ "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz",
+ "dev": true
+ },
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "from": "lodash.isplainobject@>=4.0.4 <5.0.0",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "dev": true
+ },
+ "lodash.isstring": {
+ "version": "4.0.1",
+ "from": "lodash.isstring@>=4.0.1 <5.0.0",
+ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+ "dev": true
+ },
+ "lodash.mapvalues": {
+ "version": "4.6.0",
+ "from": "lodash.mapvalues@>=4.4.0 <5.0.0",
+ "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
+ "dev": true
+ },
+ "lodash.mergewith": {
"version": "4.6.0",
- "from": "lodash.pickby@>=4.6.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz",
+ "from": "lodash.mergewith@>=4.6.0 <5.0.0",
+ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz",
+ "dev": true
+ },
+ "lodash.pick": {
+ "version": "4.4.0",
+ "from": "lodash.pick@>=4.2.1 <5.0.0",
+ "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "1.0.2",
+ "from": "log-symbols@>=1.0.2 <2.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
"dev": true
},
"longest": {
@@ -2602,9 +2920,9 @@
"dev": true
},
"loose-envify": {
- "version": "1.3.0",
+ "version": "1.3.1",
"from": "loose-envify@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.0.tgz",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
"dev": true
},
"loud-rejection": {
@@ -2615,20 +2933,32 @@
},
"lru-cache": {
"version": "2.7.3",
- "from": "lru-cache@>=2.5.0 <3.0.0",
+ "from": "lru-cache@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
"dev": true
},
+ "map-cache": {
+ "version": "0.2.2",
+ "from": "map-cache@>=0.2.0 <0.3.0",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "dev": true
+ },
"map-obj": {
"version": "1.0.1",
"from": "map-obj@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"dev": true
},
- "media-typer": {
- "version": "0.3.0",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "map-stream": {
+ "version": "0.1.0",
+ "from": "map-stream@>=0.1.0 <0.2.0",
+ "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
+ "dev": true
+ },
+ "matcher-collection": {
+ "version": "1.0.4",
+ "from": "matcher-collection@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.0.4.tgz",
"dev": true
},
"meow": {
@@ -2649,25 +2979,24 @@
"version": "2.3.11",
"from": "micromatch@>=2.1.5 <3.0.0",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "dev": true,
- "optional": true
- },
- "mime": {
- "version": "1.3.4",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
"dev": true
},
"mime-db": {
- "version": "1.25.0",
- "from": "mime-db@>=1.25.0 <1.26.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz",
+ "version": "1.27.0",
+ "from": "mime-db@>=1.27.0 <1.28.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz",
"dev": true
},
"mime-types": {
- "version": "2.1.13",
- "from": "mime-types@>=2.1.11 <2.2.0",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz",
+ "version": "2.1.15",
+ "from": "mime-types@>=2.1.7 <2.2.0",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
+ "dev": true
+ },
+ "mimic-fn": {
+ "version": "1.1.0",
+ "from": "mimic-fn@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz",
"dev": true
},
"minimatch": {
@@ -2684,52 +3013,32 @@
},
"mkdirp": {
"version": "0.5.1",
- "from": "mkdirp@>=0.5.0 <0.6.0",
+ "from": "mkdirp@>=0.5.1 <0.6.0",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"dev": true
},
- "morgan": {
- "version": "1.7.0",
- "from": "morgan@>=1.6.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.7.0.tgz",
- "dev": true,
- "dependencies": {
- "debug": {
- "version": "2.2.0",
- "from": "debug@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "dev": true
- },
- "ms": {
- "version": "0.7.1",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "dev": true
- }
- }
- },
"ms": {
"version": "0.7.2",
"from": "[email protected]",
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
"dev": true
},
- "multimatch": {
- "version": "2.1.0",
- "from": "multimatch@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
- "dev": true
- },
"mute-stream": {
"version": "0.0.5",
"from": "[email protected]",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
"dev": true
},
+ "mz": {
+ "version": "2.6.0",
+ "from": "mz@>=2.6.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/mz/-/mz-2.6.0.tgz",
+ "dev": true
+ },
"nan": {
- "version": "2.5.0",
+ "version": "2.6.2",
"from": "nan@>=2.3.2 <3.0.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.5.0.tgz",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.6.2.tgz",
"dev": true
},
"natural-compare": {
@@ -2738,83 +3047,17 @@
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"dev": true
},
- "ncp": {
- "version": "0.4.2",
- "from": "ncp@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
- "dev": true
- },
- "negotiator": {
- "version": "0.6.1",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
- "dev": true
- },
- "neo-async": {
- "version": "1.8.2",
- "from": "neo-async@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-1.8.2.tgz",
- "dev": true
- },
"node-gyp": {
- "version": "3.4.0",
+ "version": "3.6.0",
"from": "node-gyp@>=3.3.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.4.0.tgz",
- "dev": true,
- "dependencies": {
- "npmlog": {
- "version": "3.1.2",
- "from": "npmlog@>=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz",
- "dev": true
- }
- }
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.0.tgz",
+ "dev": true
},
"node-sass": {
- "version": "3.13.1",
- "from": "node-sass@>=3.7.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.13.1.tgz",
- "dev": true,
- "dependencies": {
- "cross-spawn": {
- "version": "3.0.1",
- "from": "cross-spawn@>=3.0.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
- "dev": true
- },
- "lru-cache": {
- "version": "4.0.2",
- "from": "lru-cache@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
- "dev": true
- }
- }
- },
- "nomnom": {
- "version": "1.8.1",
- "from": "nomnom@>=1.5.0",
- "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz",
- "dev": true,
- "dependencies": {
- "ansi-styles": {
- "version": "1.0.0",
- "from": "ansi-styles@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz",
- "dev": true
- },
- "chalk": {
- "version": "0.4.0",
- "from": "chalk@>=0.4.0 <0.5.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
- "dev": true
- },
- "strip-ansi": {
- "version": "0.1.1",
- "from": "strip-ansi@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz",
- "dev": true
- }
- }
+ "version": "4.5.2",
+ "from": "node-sass@>=4.5.2 <5.0.0",
+ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.5.2.tgz",
+ "dev": true
},
"nopt": {
"version": "3.0.6",
@@ -2823,15 +3066,15 @@
"dev": true
},
"normalize-package-data": {
- "version": "2.3.5",
+ "version": "2.3.6",
"from": "normalize-package-data@>=2.3.4 <3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.6.tgz",
"dev": true
},
"normalize-path": {
- "version": "2.0.1",
- "from": "normalize-path@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz",
+ "version": "2.1.1",
+ "from": "normalize-path@>=2.0.1 <3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"dev": true
},
"normalize-range": {
@@ -2840,26 +3083,50 @@
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
"dev": true
},
- "npmlog": {
+ "npm-run-all": {
"version": "4.0.2",
- "from": "npmlog@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz",
+ "from": "npm-run-all@>=4.0.2 <5.0.0",
+ "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.0.2.tgz",
"dev": true,
"dependencies": {
- "gauge": {
- "version": "2.7.2",
- "from": "gauge@>=2.7.1 <2.8.0",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.2.tgz",
+ "cross-spawn": {
+ "version": "5.1.0",
+ "from": "cross-spawn@>=5.0.1 <6.0.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"dev": true
},
- "supports-color": {
- "version": "0.2.0",
- "from": "supports-color@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
+ "load-json-file": {
+ "version": "2.0.0",
+ "from": "load-json-file@>=2.0.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "4.0.2",
+ "from": "lru-cache@>=4.0.1 <5.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
+ "dev": true
+ },
+ "path-type": {
+ "version": "2.0.0",
+ "from": "path-type@>=2.0.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "from": "read-pkg@>=2.0.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
"dev": true
}
}
},
+ "npmlog": {
+ "version": "4.0.2",
+ "from": "npmlog@>=4.0.0 <5.0.0",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz",
+ "dev": true
+ },
"num2fraction": {
"version": "1.2.2",
"from": "num2fraction@>=1.2.2 <2.0.0",
@@ -2879,28 +3146,21 @@
"dev": true
},
"object-assign": {
- "version": "4.1.0",
- "from": "object-assign@>=4.0.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+ "version": "4.1.1",
+ "from": "object-assign@>=4.1.0 <5.0.0",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "dev": true
+ },
+ "object-keys": {
+ "version": "1.0.11",
+ "from": "object-keys@>=1.0.8 <2.0.0",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
"dev": true
},
"object.omit": {
"version": "2.0.1",
"from": "object.omit@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "dev": true,
- "optional": true
- },
- "on-finished": {
- "version": "2.3.0",
- "from": "on-finished@>=2.3.0 <2.4.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "dev": true
- },
- "on-headers": {
- "version": "1.0.1",
- "from": "on-headers@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
"dev": true
},
"once": {
@@ -2915,18 +3175,38 @@
"resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
"dev": true
},
- "opn": {
- "version": "4.0.2",
- "from": "opn@>=4.0.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz",
- "dev": true
- },
"optionator": {
"version": "0.8.2",
"from": "optionator@>=0.8.2 <0.9.0",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
"dev": true
},
+ "ora": {
+ "version": "1.2.0",
+ "from": "ora@>=1.1.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-1.2.0.tgz",
+ "dev": true,
+ "dependencies": {
+ "cli-cursor": {
+ "version": "2.1.0",
+ "from": "cli-cursor@>=2.1.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "dev": true
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "from": "onetime@>=2.0.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "from": "restore-cursor@>=2.0.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "dev": true
+ }
+ }
+ },
"os-homedir": {
"version": "1.0.2",
"from": "os-homedir@>=1.0.0 <2.0.0",
@@ -2951,15 +3231,21 @@
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
"dev": true
},
- "package": {
+ "output-file-sync": {
+ "version": "1.1.2",
+ "from": "output-file-sync@>=1.1.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz",
+ "dev": true
+ },
+ "parse-filepath": {
"version": "1.0.1",
- "from": "package@>=1.0.0 <1.2.0",
- "resolved": "https://registry.npmjs.org/package/-/package-1.0.1.tgz",
+ "from": "parse-filepath@>=1.0.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz",
"dev": true
},
"parse-glob": {
"version": "3.0.4",
- "from": "[email protected]",
+ "from": "parse-glob@>=3.0.4 <4.0.0",
"resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
"dev": true
},
@@ -2969,10 +3255,10 @@
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"dev": true
},
- "parse-ms": {
- "version": "1.0.1",
- "from": "parse-ms@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-1.0.1.tgz",
+ "parse-passwd": {
+ "version": "1.0.0",
+ "from": "parse-passwd@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
"dev": true
},
"parserlib": {
@@ -2981,18 +3267,6 @@
"resolved": "https://registry.npmjs.org/parserlib/-/parserlib-0.2.5.tgz",
"dev": true
},
- "parseurl": {
- "version": "1.3.1",
- "from": "parseurl@>=1.3.1 <1.4.0",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
- "dev": true
- },
- "path-array": {
- "version": "1.0.1",
- "from": "path-array@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz",
- "dev": true
- },
"path-exists": {
"version": "2.1.0",
"from": "path-exists@>=2.0.0 <3.0.0",
@@ -3011,16 +3285,34 @@
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
"dev": true
},
+ "path-parse": {
+ "version": "1.0.5",
+ "from": "path-parse@>=1.0.5 <2.0.0",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
+ "dev": true
+ },
+ "path-root": {
+ "version": "0.1.1",
+ "from": "path-root@>=0.1.1 <0.2.0",
+ "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+ "dev": true
+ },
+ "path-root-regex": {
+ "version": "0.1.2",
+ "from": "path-root-regex@>=0.1.0 <0.2.0",
+ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
+ "dev": true
+ },
"path-type": {
"version": "1.1.0",
"from": "path-type@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"dev": true
},
- "pathval": {
- "version": "0.1.1",
- "from": "pathval@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz",
+ "pause-stream": {
+ "version": "0.0.11",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"dev": true
},
"pend": {
@@ -3029,11 +3321,49 @@
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"dev": true
},
+ "performance-now": {
+ "version": "0.2.0",
+ "from": "performance-now@>=0.2.0 <0.3.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "dev": true
+ },
"phantomjs-prebuilt": {
"version": "2.1.14",
- "from": "phantomjs-prebuilt@>=2.1.3 <3.0.0",
+ "from": "phantomjs-prebuilt@>=2.1.14 <3.0.0",
"resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.14.tgz",
- "dev": true
+ "dev": true,
+ "dependencies": {
+ "caseless": {
+ "version": "0.11.0",
+ "from": "caseless@>=0.11.0 <0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "2.0.6",
+ "from": "har-validator@>=2.0.6 <2.1.0",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.3.2",
+ "from": "qs@>=6.3.0 <6.4.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
+ "dev": true
+ },
+ "request": {
+ "version": "2.79.0",
+ "from": "request@>=2.79.0 <2.80.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
+ "dev": true
+ },
+ "tunnel-agent": {
+ "version": "0.4.3",
+ "from": "tunnel-agent@>=0.4.1 <0.5.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "dev": true
+ }
+ }
},
"pify": {
"version": "2.3.0",
@@ -3053,84 +3383,89 @@
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"dev": true
},
- "pkg-up": {
- "version": "1.0.0",
- "from": "pkg-up@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
- "dev": true
- },
- "pkginfo": {
- "version": "0.4.0",
- "from": "pkginfo@>=0.0.0 <1.0.0",
- "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz",
- "dev": true
- },
- "plur": {
- "version": "1.0.0",
- "from": "plur@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/plur/-/plur-1.0.0.tgz",
- "dev": true
- },
"pluralize": {
"version": "1.2.1",
"from": "pluralize@>=1.2.1 <2.0.0",
"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz",
"dev": true
},
- "portscanner": {
- "version": "1.2.0",
- "from": "portscanner@>=1.0.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-1.2.0.tgz",
- "dev": true
+ "popper.js": {
+ "version": "1.9.9",
+ "from": "popper.js@>=1.9.9 <3.0.0",
+ "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.9.9.tgz"
},
"postcss": {
- "version": "5.2.6",
- "from": "postcss@>=5.2.6 <6.0.0",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.6.tgz",
+ "version": "5.2.17",
+ "from": "postcss@>=5.2.16 <6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",
"dev": true
},
"postcss-cli": {
- "version": "2.6.0",
- "from": "postcss-cli@>=2.6.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-2.6.0.tgz",
+ "version": "3.1.1",
+ "from": "postcss-cli@>=3.1.1 <4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-3.1.1.tgz",
"dev": true,
"dependencies": {
- "cliui": {
- "version": "3.2.0",
- "from": "cliui@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "camelcase": {
+ "version": "3.0.0",
+ "from": "camelcase@>=3.0.0 <4.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"dev": true
},
- "glob": {
- "version": "6.0.4",
- "from": "glob@>=6.0.1 <7.0.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+ "get-stdin": {
+ "version": "5.0.1",
+ "from": "get-stdin@>=5.0.1 <6.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
"dev": true
},
"globby": {
- "version": "4.1.0",
- "from": "globby@>=4.1.0 <5.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
+ "version": "6.1.0",
+ "from": "globby@>=6.1.0 <7.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
"dev": true
},
- "window-size": {
- "version": "0.2.0",
- "from": "window-size@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
+ "yargs": {
+ "version": "7.1.0",
+ "from": "yargs@>=7.0.2 <8.0.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
"dev": true
},
- "yargs": {
- "version": "4.8.1",
- "from": "yargs@>=4.7.1 <5.0.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
+ "yargs-parser": {
+ "version": "5.0.0",
+ "from": "yargs-parser@>=5.0.0 <6.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
"dev": true
}
}
},
"postcss-flexbugs-fixes": {
- "version": "2.1.0",
- "from": "postcss-flexbugs-fixes@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-2.1.0.tgz",
+ "version": "2.1.1",
+ "from": "postcss-flexbugs-fixes@>=2.1.1 <3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-2.1.1.tgz",
+ "dev": true
+ },
+ "postcss-load-config": {
+ "version": "1.2.0",
+ "from": "postcss-load-config@>=1.1.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
+ "dev": true
+ },
+ "postcss-load-options": {
+ "version": "1.2.0",
+ "from": "postcss-load-options@>=1.2.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz",
+ "dev": true
+ },
+ "postcss-load-plugins": {
+ "version": "2.3.0",
+ "from": "postcss-load-plugins@>=2.3.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz",
+ "dev": true
+ },
+ "postcss-reporter": {
+ "version": "3.0.0",
+ "from": "postcss-reporter@>=3.0.0 <4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-3.0.0.tgz",
"dev": true
},
"postcss-value-parser": {
@@ -3149,25 +3484,12 @@
"version": "0.2.0",
"from": "preserve@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "dev": true,
- "optional": true
- },
- "pretty-bytes": {
- "version": "3.0.1",
- "from": "pretty-bytes@>=3.0.1 <4.0.0",
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz",
- "dev": true
- },
- "pretty-ms": {
- "version": "2.1.0",
- "from": "pretty-ms@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-2.1.0.tgz",
"dev": true
},
"private": {
- "version": "0.1.6",
+ "version": "0.1.7",
"from": "private@>=0.1.6 <0.2.0",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
"dev": true
},
"process-nextick-args": {
@@ -3182,10 +3504,16 @@
"resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
"dev": true
},
- "prompt": {
- "version": "0.2.14",
- "from": "prompt@>=0.2.14 <0.3.0",
- "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz",
+ "promise": {
+ "version": "7.1.1",
+ "from": "promise@>=7.1.1 <8.0.0",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz",
+ "dev": true
+ },
+ "ps-tree": {
+ "version": "1.1.0",
+ "from": "ps-tree@>=1.0.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz",
"dev": true
},
"pseudomap": {
@@ -3207,54 +3535,47 @@
"dev": true
},
"qs": {
- "version": "6.3.0",
- "from": "qs@>=6.3.0 <6.4.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz",
+ "version": "6.4.0",
+ "from": "qs@>=6.4.0 <6.5.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
"dev": true
},
- "randomatic": {
- "version": "1.1.6",
- "from": "randomatic@>=1.1.3 <2.0.0",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz",
- "dev": true,
- "optional": true
+ "qunit-phantomjs-runner": {
+ "version": "2.3.0",
+ "from": "qunit-phantomjs-runner@>=2.3.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/qunit-phantomjs-runner/-/qunit-phantomjs-runner-2.3.0.tgz",
+ "dev": true
},
- "range-parser": {
- "version": "1.2.0",
- "from": "range-parser@>=1.2.0 <1.3.0",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "qunit-reporter-junit": {
+ "version": "1.1.1",
+ "from": "qunit-reporter-junit@>=1.0.2 <2.0.0",
+ "resolved": "https://registry.npmjs.org/qunit-reporter-junit/-/qunit-reporter-junit-1.1.1.tgz",
"dev": true
},
- "raw-body": {
- "version": "2.1.7",
- "from": "raw-body@>=2.1.5 <2.2.0",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
+ "qunitjs": {
+ "version": "2.3.2",
+ "from": "qunitjs@>=2.3.2 <3.0.0",
+ "resolved": "https://registry.npmjs.org/qunitjs/-/qunitjs-2.3.2.tgz",
"dev": true,
"dependencies": {
- "bytes": {
- "version": "2.4.0",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
- "dev": true
- },
- "iconv-lite": {
- "version": "0.4.13",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+ "findup-sync": {
+ "version": "0.4.3",
+ "from": "findup-sync@>=0.4.3 <0.5.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz",
"dev": true
}
}
},
- "read": {
- "version": "1.0.7",
- "from": "read@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
+ "randomatic": {
+ "version": "1.1.6",
+ "from": "randomatic@>=1.1.3 <2.0.0",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz",
"dev": true
},
- "read-file-stdin": {
- "version": "0.2.1",
- "from": "read-file-stdin@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/read-file-stdin/-/read-file-stdin-0.2.1.tgz",
+ "read-cache": {
+ "version": "1.0.0",
+ "from": "read-cache@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
"dev": true
},
"read-pkg": {
@@ -3270,17 +3591,16 @@
"dev": true
},
"readable-stream": {
- "version": "2.2.2",
- "from": "readable-stream@>=2.2.2 <3.0.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz",
+ "version": "2.2.9",
+ "from": "readable-stream@>=2.0.2 <3.0.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz",
"dev": true
},
"readdirp": {
"version": "2.1.0",
"from": "readdirp@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"readline2": {
"version": "1.0.1",
@@ -3302,45 +3622,64 @@
},
"regenerate": {
"version": "1.3.2",
- "from": "regenerate@>=1.2.1 <2.0.0",
+ "from": "regenerate@>=1.3.2 <2.0.0",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.2.tgz",
"dev": true
},
+ "regenerate-unicode-properties": {
+ "version": "5.0.7",
+ "from": "regenerate-unicode-properties@>=5.0.6 <6.0.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-5.0.7.tgz",
+ "dev": true
+ },
"regenerator-runtime": {
- "version": "0.10.1",
+ "version": "0.10.3",
"from": "regenerator-runtime@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz",
"dev": true
},
"regenerator-transform": {
- "version": "0.9.8",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.8.tgz",
+ "version": "0.9.11",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.9.11.tgz",
"dev": true
},
"regex-cache": {
"version": "0.4.3",
"from": "regex-cache@>=0.4.2 <0.5.0",
"resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz",
- "dev": true,
- "optional": true
+ "dev": true
},
"regexpu-core": {
- "version": "2.0.0",
- "from": "regexpu-core@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
+ "version": "4.0.11",
+ "from": "regexpu-core@>=4.0.2 <5.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.0.11.tgz",
"dev": true
},
"regjsgen": {
- "version": "0.2.0",
- "from": "regjsgen@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "version": "0.3.0",
+ "from": "regjsgen@>=0.3.0 <0.4.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.3.0.tgz",
"dev": true
},
"regjsparser": {
- "version": "0.1.5",
- "from": "regjsparser@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+ "version": "0.2.1",
+ "from": "regjsparser@>=0.2.1 <0.3.0",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.2.1.tgz",
+ "dev": true,
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "from": "jsesc@>=0.5.0 <0.6.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "dev": true
+ }
+ }
+ },
+ "remove-trailing-separator": {
+ "version": "1.0.1",
+ "from": "remove-trailing-separator@>=1.0.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz",
"dev": true
},
"repeat-element": {
@@ -3362,9 +3701,9 @@
"dev": true
},
"request": {
- "version": "2.79.0",
- "from": "request@>=2.79.0 <2.80.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz",
+ "version": "2.81.0",
+ "from": "request@>=2.74.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
"dev": true
},
"request-progress": {
@@ -3385,6 +3724,12 @@
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"dev": true
},
+ "require-from-string": {
+ "version": "1.2.1",
+ "from": "require-from-string@>=1.1.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
+ "dev": true
+ },
"require-main-filename": {
"version": "1.0.1",
"from": "require-main-filename@>=1.0.1 <2.0.0",
@@ -3397,16 +3742,16 @@
"resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
"dev": true
},
- "reserved-words": {
- "version": "0.1.1",
- "from": "reserved-words@>=0.1.1 <0.2.0",
- "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.1.tgz",
- "dev": true
- },
"resolve": {
- "version": "1.2.0",
+ "version": "1.3.2",
"from": "resolve@>=1.1.6 <2.0.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.2.tgz",
+ "dev": true
+ },
+ "resolve-dir": {
+ "version": "0.1.1",
+ "from": "resolve-dir@>=0.1.0 <0.2.0",
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
"dev": true
},
"resolve-from": {
@@ -3415,32 +3760,12 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
"dev": true
},
- "resolve-pkg": {
- "version": "0.1.0",
- "from": "resolve-pkg@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz",
- "dev": true,
- "dependencies": {
- "resolve-from": {
- "version": "2.0.0",
- "from": "resolve-from@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
- "dev": true
- }
- }
- },
"restore-cursor": {
"version": "1.0.1",
"from": "restore-cursor@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
"dev": true
},
- "revalidator": {
- "version": "0.1.8",
- "from": "revalidator@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz",
- "dev": true
- },
"right-align": {
"version": "0.1.3",
"from": "right-align@>=0.1.1 <0.2.0",
@@ -3448,9 +3773,9 @@
"dev": true
},
"rimraf": {
- "version": "2.5.4",
+ "version": "2.6.1",
"from": "rimraf@>=2.2.8 <3.0.0",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
"dev": true
},
"run-async": {
@@ -3465,22 +3790,22 @@
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz",
"dev": true
},
+ "safe-buffer": {
+ "version": "5.0.1",
+ "from": "safe-buffer@>=5.0.1 <6.0.0",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
+ "dev": true
+ },
"sass-graph": {
"version": "2.1.2",
"from": "sass-graph@>=2.1.1 <3.0.0",
"resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.2.tgz",
"dev": true,
"dependencies": {
- "cliui": {
- "version": "3.2.0",
- "from": "cliui@>=3.2.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "dev": true
- },
- "window-size": {
- "version": "0.2.0",
- "from": "window-size@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
+ "camelcase": {
+ "version": "3.0.0",
+ "from": "camelcase@>=3.0.0 <4.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"dev": true
},
"yargs": {
@@ -3488,6 +3813,12 @@
"from": "yargs@>=4.7.1 <5.0.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
"dev": true
+ },
+ "yargs-parser": {
+ "version": "2.4.1",
+ "from": "yargs-parser@>=2.4.1 <3.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
+ "dev": true
}
}
},
@@ -3509,80 +3840,46 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"dev": true
},
- "send": {
- "version": "0.14.1",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/send/-/send-0.14.1.tgz",
- "dev": true,
- "dependencies": {
- "debug": {
- "version": "2.2.0",
- "from": "debug@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "dev": true
- },
- "ms": {
- "version": "0.7.1",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "dev": true
- }
- }
- },
- "serve-index": {
- "version": "1.8.0",
- "from": "serve-index@>=1.7.1 <2.0.0",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.8.0.tgz",
- "dev": true,
- "dependencies": {
- "debug": {
- "version": "2.2.0",
- "from": "debug@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "dev": true
- },
- "ms": {
- "version": "0.7.1",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "dev": true
- }
- }
- },
- "serve-static": {
- "version": "1.11.1",
- "from": "serve-static@>=1.10.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz",
- "dev": true
- },
"set-blocking": {
"version": "2.0.0",
- "from": "set-blocking@>=2.0.0 <2.1.0",
+ "from": "set-blocking@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"dev": true
},
"set-immediate-shim": {
"version": "1.0.1",
- "from": "set-immediate-shim@>=1.0.0 <2.0.0",
+ "from": "set-immediate-shim@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
"dev": true
},
- "setprototypeof": {
- "version": "1.0.2",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.2.tgz",
+ "shebang-command": {
+ "version": "1.2.0",
+ "from": "shebang-command@>=1.2.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "dev": true
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "from": "shebang-regex@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "dev": true
+ },
+ "shell-quote": {
+ "version": "1.6.1",
+ "from": "shell-quote@>=1.6.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
"dev": true
},
"shelljs": {
- "version": "0.7.5",
- "from": "shelljs@>=0.7.4 <0.8.0",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.5.tgz",
+ "version": "0.7.7",
+ "from": "shelljs@>=0.7.7 <0.8.0",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.7.tgz",
"dev": true
},
"shx": {
- "version": "0.1.4",
- "from": "shx@>=0.1.4 <0.2.0",
- "resolved": "https://registry.npmjs.org/shx/-/shx-0.1.4.tgz",
+ "version": "0.2.2",
+ "from": "shx@>=0.2.2 <0.3.0",
+ "resolved": "https://registry.npmjs.org/shx/-/shx-0.2.2.tgz",
"dev": true,
"dependencies": {
"minimist": {
@@ -3630,9 +3927,9 @@
"dev": true
},
"source-map-support": {
- "version": "0.4.7",
+ "version": "0.4.14",
"from": "source-map-support@>=0.4.2 <0.5.0",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.7.tgz",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.14.tgz",
"dev": true
},
"spdx-correct": {
@@ -3666,9 +3963,9 @@
"dev": true
},
"sshpk": {
- "version": "1.10.1",
+ "version": "1.13.0",
"from": "sshpk@>=1.7.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz",
"dev": true,
"dependencies": {
"assert-plus": {
@@ -3679,28 +3976,22 @@
}
}
},
- "stack-trace": {
- "version": "0.0.9",
- "from": "stack-trace@>=0.0.0 <0.1.0",
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
- "dev": true
- },
- "statuses": {
- "version": "1.3.1",
- "from": "statuses@>=1.3.0 <1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+ "stdout-stream": {
+ "version": "1.4.0",
+ "from": "stdout-stream@>=1.4.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz",
"dev": true
},
- "stream-buffers": {
- "version": "2.2.0",
- "from": "stream-buffers@>=2.1.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
+ "stream-combiner": {
+ "version": "0.0.4",
+ "from": "stream-combiner@>=0.0.4 <0.1.0",
+ "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"dev": true
},
"string_decoder": {
- "version": "0.10.31",
- "from": "string_decoder@>=0.10.0 <0.11.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "version": "1.0.0",
+ "from": "string_decoder@>=1.0.0 <1.1.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.0.tgz",
"dev": true
},
"string-width": {
@@ -3709,6 +4000,12 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"dev": true
},
+ "string.prototype.padend": {
+ "version": "3.0.0",
+ "from": "string.prototype.padend@>=3.0.0 <4.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz",
+ "dev": true
+ },
"stringstream": {
"version": "0.0.5",
"from": "stringstream@>=0.0.4 <0.1.0",
@@ -3734,15 +4031,15 @@
"dev": true
},
"strip-json-comments": {
- "version": "1.0.4",
- "from": "strip-json-comments@>=1.0.1 <1.1.0",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
+ "version": "2.0.1",
+ "from": "strip-json-comments@>=2.0.1 <2.1.0",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"dev": true
},
"supports-color": {
- "version": "3.1.2",
- "from": "supports-color@>=3.1.2 <4.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
+ "version": "3.2.3",
+ "from": "supports-color@>=3.2.3 <4.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
"dev": true
},
"table": {
@@ -3771,29 +4068,24 @@
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"dev": true
},
- "tar-stream": {
- "version": "1.5.2",
- "from": "tar-stream@>=1.5.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz",
- "dev": true
- },
- "temporary": {
- "version": "0.0.8",
- "from": "temporary@>=0.0.8 <0.0.9",
- "resolved": "https://registry.npmjs.org/temporary/-/temporary-0.0.8.tgz",
- "dev": true
- },
- "tether": {
- "version": "1.4.0",
- "from": "tether@>=1.3.7 <2.0.0",
- "resolved": "https://registry.npmjs.org/tether/-/tether-1.4.0.tgz"
- },
"text-table": {
"version": "0.2.0",
"from": "text-table@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"dev": true
},
+ "thenify": {
+ "version": "3.2.1",
+ "from": "thenify@>=3.1.0 <4.0.0",
+ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.2.1.tgz",
+ "dev": true
+ },
+ "thenify-all": {
+ "version": "1.6.0",
+ "from": "thenify-all@>=1.6.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
+ "dev": true
+ },
"throttleit": {
"version": "1.0.0",
"from": "throttleit@>=1.0.0 <2.0.0",
@@ -3806,68 +4098,12 @@
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"dev": true
},
- "time-grunt": {
- "version": "1.4.0",
- "from": "time-grunt@>=1.4.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/time-grunt/-/time-grunt-1.4.0.tgz",
- "dev": true
- },
- "time-zone": {
- "version": "0.1.0",
- "from": "time-zone@>=0.1.0 <0.2.0",
- "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-0.1.0.tgz",
- "dev": true
- },
- "tiny-lr": {
- "version": "0.2.1",
- "from": "tiny-lr@>=0.2.1 <0.3.0",
- "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz",
- "dev": true,
- "dependencies": {
- "debug": {
- "version": "2.2.0",
- "from": "debug@>=2.2.0 <2.3.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "dev": true
- },
- "ms": {
- "version": "0.7.1",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "dev": true
- },
- "qs": {
- "version": "5.1.0",
- "from": "qs@>=5.1.0 <5.2.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",
- "dev": true
- }
- }
- },
- "tmp": {
- "version": "0.0.28",
- "from": "tmp@>=0.0.28 <0.0.29",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz",
- "dev": true
- },
- "to-double-quotes": {
- "version": "2.0.0",
- "from": "to-double-quotes@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz",
- "dev": true
- },
"to-fast-properties": {
"version": "1.0.2",
"from": "to-fast-properties@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz",
"dev": true
},
- "to-single-quotes": {
- "version": "2.0.1",
- "from": "to-single-quotes@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz",
- "dev": true
- },
"tough-cookie": {
"version": "2.3.2",
"from": "tough-cookie@>=2.3.0 <2.4.0",
@@ -3880,6 +4116,12 @@
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
"dev": true
},
+ "trim-right": {
+ "version": "1.0.1",
+ "from": "trim-right@>=1.0.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "dev": true
+ },
"tryit": {
"version": "1.0.3",
"from": "tryit@>=1.0.1 <2.0.0",
@@ -3887,9 +4129,9 @@
"dev": true
},
"tunnel-agent": {
- "version": "0.4.3",
- "from": "tunnel-agent@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+ "version": "0.6.0",
+ "from": "tunnel-agent@>=0.6.0 <0.7.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"dev": true
},
"tweetnacl": {
@@ -3905,12 +4147,6 @@
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"dev": true
},
- "type-is": {
- "version": "1.6.14",
- "from": "type-is@>=1.6.10 <1.7.0",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.14.tgz",
- "dev": true
- },
"typedarray": {
"version": "0.0.6",
"from": "typedarray@>=0.0.6 <0.0.7",
@@ -3918,15 +4154,39 @@
"dev": true
},
"uglify-js": {
- "version": "2.7.5",
- "from": "uglify-js@latest",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
+ "version": "2.8.22",
+ "from": "uglify-js@>=2.8.22 <3.0.0",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.22.tgz",
"dev": true,
"dependencies": {
- "async": {
- "version": "0.2.10",
- "from": "async@>=0.2.6 <0.3.0",
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
+ "camelcase": {
+ "version": "1.2.1",
+ "from": "camelcase@>=1.0.2 <2.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "dev": true
+ },
+ "cliui": {
+ "version": "2.1.0",
+ "from": "cliui@>=2.1.0 <3.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "dev": true
+ },
+ "window-size": {
+ "version": "0.1.0",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "0.0.2",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "dev": true
+ },
+ "yargs": {
+ "version": "3.10.0",
+ "from": "yargs@>=3.10.0 <3.11.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"dev": true
}
}
@@ -3935,12 +4195,13 @@
"version": "1.0.2",
"from": "uglify-to-browserify@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "dev": true
+ "dev": true,
+ "optional": true
},
- "underscore": {
- "version": "1.6.0",
- "from": "underscore@>=1.6.0 <1.7.0",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
+ "unc-path-regex": {
+ "version": "0.1.2",
+ "from": "unc-path-regex@>=0.1.0 <0.2.0",
+ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"dev": true
},
"underscore.string": {
@@ -3949,16 +4210,34 @@
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz",
"dev": true
},
- "unpipe": {
+ "unicode-canonical-property-names-ecmascript": {
"version": "1.0.0",
- "from": "unpipe@>=1.0.0 <1.1.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "from": "unicode-canonical-property-names-ecmascript@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.0.tgz",
+ "dev": true
+ },
+ "unicode-match-property-ecmascript": {
+ "version": "1.0.1",
+ "from": "unicode-match-property-ecmascript@>=1.0.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.1.tgz",
+ "dev": true
+ },
+ "unicode-match-property-value-ecmascript": {
+ "version": "1.0.0",
+ "from": "unicode-match-property-value-ecmascript@>=1.0.0 <2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.0.tgz",
+ "dev": true
+ },
+ "unicode-property-aliases-ecmascript": {
+ "version": "1.0.2",
+ "from": "unicode-property-aliases-ecmascript@>=1.0.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.2.tgz",
"dev": true
},
"user-home": {
- "version": "2.0.0",
- "from": "user-home@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
+ "version": "1.1.1",
+ "from": "user-home@>=1.1.1 <2.0.0",
+ "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
"dev": true
},
"util-deprecate": {
@@ -3967,32 +4246,18 @@
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"dev": true
},
- "utile": {
- "version": "0.2.1",
- "from": "utile@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz",
- "dev": true,
- "dependencies": {
- "async": {
- "version": "0.2.10",
- "from": "async@>=0.2.9 <0.3.0",
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
- "dev": true
- }
- }
- },
- "utils-merge": {
- "version": "1.0.0",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
- "dev": true
- },
"uuid": {
"version": "3.0.1",
"from": "uuid@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
"dev": true
},
+ "v8flags": {
+ "version": "2.1.1",
+ "from": "v8flags@>=2.0.10 <3.0.0",
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
+ "dev": true
+ },
"validate-npm-package-license": {
"version": "3.0.1",
"from": "validate-npm-package-license@>=3.0.1 <4.0.0",
@@ -4005,66 +4270,22 @@
"resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
"dev": true
},
- "vnu-jar": {
- "version": "16.6.29",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/vnu-jar/-/vnu-jar-16.6.29.tgz",
- "dev": true
- },
- "vow": {
- "version": "0.4.13",
- "from": "vow@>=0.4.8 <0.5.0",
- "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.13.tgz",
- "dev": true
- },
- "vow-fs": {
- "version": "0.3.6",
- "from": "vow-fs@>=0.3.4 <0.4.0",
- "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.6.tgz",
- "dev": true,
- "dependencies": {
- "uuid": {
- "version": "2.0.3",
- "from": "uuid@>=2.0.2 <3.0.0",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
- "dev": true
- }
- }
- },
- "vow-queue": {
- "version": "0.4.2",
- "from": "vow-queue@>=0.4.1 <0.5.0",
- "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.2.tgz",
- "dev": true
- },
- "walkdir": {
- "version": "0.0.11",
- "from": "walkdir@>=0.0.11 <0.0.12",
- "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz",
- "dev": true
- },
- "websocket-driver": {
- "version": "0.6.5",
- "from": "websocket-driver@>=0.5.1",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
- "dev": true
- },
- "websocket-extensions": {
- "version": "0.1.1",
- "from": "websocket-extensions@>=0.1.1",
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz",
+ "walk-sync": {
+ "version": "0.3.1",
+ "from": "[email protected]",
+ "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.1.tgz",
"dev": true
},
"when": {
- "version": "3.7.7",
+ "version": "3.7.8",
"from": "when@>=3.7.5 <3.8.0",
- "resolved": "https://registry.npmjs.org/when/-/when-3.7.7.tgz",
+ "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
"dev": true
},
"which": {
- "version": "1.2.12",
+ "version": "1.2.14",
"from": "which@>=1.2.1 <1.3.0",
- "resolved": "https://registry.npmjs.org/which/-/which-1.2.12.tgz",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
"dev": true
},
"which-module": {
@@ -4080,37 +4301,11 @@
"dev": true
},
"window-size": {
- "version": "0.1.0",
- "from": "[email protected]",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "version": "0.2.0",
+ "from": "window-size@>=0.2.0 <0.3.0",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
"dev": true
},
- "winston": {
- "version": "0.8.3",
- "from": "winston@>=0.8.0 <0.9.0",
- "resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz",
- "dev": true,
- "dependencies": {
- "async": {
- "version": "0.2.10",
- "from": "async@>=0.2.0 <0.3.0",
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
- "dev": true
- },
- "colors": {
- "version": "0.6.2",
- "from": "colors@>=0.6.0 <0.7.0",
- "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
- "dev": true
- },
- "pkginfo": {
- "version": "0.3.1",
- "from": "pkginfo@>=0.3.0 <0.4.0",
- "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
- "dev": true
- }
- }
- },
"wordwrap": {
"version": "1.0.0",
"from": "wordwrap@>=1.0.0 <1.1.0",
@@ -4141,20 +4336,6 @@
"resolved": "https://registry.npmjs.org/xml/-/xml-1.0.0.tgz",
"dev": true
},
- "xmlbuilder": {
- "version": "3.1.0",
- "from": "xmlbuilder@>=3.1.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz",
- "dev": true,
- "dependencies": {
- "lodash": {
- "version": "3.10.1",
- "from": "lodash@>=3.5.0 <4.0.0",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "dev": true
- }
- }
- },
"xtend": {
"version": "4.0.1",
"from": "xtend@>=4.0.0 <5.0.0",
@@ -4168,29 +4349,29 @@
"dev": true
},
"yallist": {
- "version": "2.0.0",
+ "version": "2.1.2",
"from": "yallist@>=2.0.0 <3.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"dev": true
},
"yargs": {
- "version": "3.10.0",
- "from": "yargs@>=3.10.0 <3.11.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "version": "6.6.0",
+ "from": "yargs@>=6.6.0 <7.0.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
"dev": true,
"dependencies": {
"camelcase": {
- "version": "1.2.1",
- "from": "camelcase@>=1.0.2 <2.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "version": "3.0.0",
+ "from": "camelcase@>=3.0.0 <4.0.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"dev": true
}
}
},
"yargs-parser": {
- "version": "2.4.1",
- "from": "yargs-parser@>=2.4.1 <3.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
+ "version": "4.2.1",
+ "from": "yargs-parser@>=4.2.0 <5.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
"dev": true,
"dependencies": {
"camelcase": {
@@ -4206,12 +4387,6 @@
"from": "[email protected]",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
"dev": true
- },
- "zip-stream": {
- "version": "1.1.0",
- "from": "zip-stream@>=1.1.0 <2.0.0",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.1.0.tgz",
- "dev": true
}
}
}
diff --git a/build/postcss.config.js b/build/postcss.config.js
new file mode 100644
index 000000000..803078a5f
--- /dev/null
+++ b/build/postcss.config.js
@@ -0,0 +1,41 @@
+module.exports = (ctx) => ({
+ map: ctx.file.dirname.startsWith('docs') ? false : {
+ inline: false,
+ annotation: true,
+ sourcesContent: true
+ },
+ plugins: {
+ autoprefixer: {
+ browsers: [
+ //
+ // Official browser support policy:
+ // https://v4-alpha.getbootstrap.com/getting-started/browsers-devices/#supported-browsers
+ //
+ 'Chrome >= 35', // Exact version number here is kinda arbitrary
+ // Rather than using Autoprefixer's native "Firefox ESR" version specifier string,
+ // we deliberately hardcode the number. This is to avoid unwittingly severely breaking the previous ESR in the event that:
+ // (a) we happen to ship a new Bootstrap release soon after the release of a new ESR,
+ // such that folks haven't yet had a reasonable amount of time to upgrade; and
+ // (b) the new ESR has unprefixed CSS properties/values whose absence would severely break webpages
+ // (e.g. `box-sizing`, as opposed to `background: linear-gradient(...)`).
+ // Since they've been unprefixed, Autoprefixer will stop prefixing them,
+ // thus causing them to not work in the previous ESR (where the prefixes were required).
+ 'Firefox >= 38', // Current Firefox Extended Support Release (ESR); https://www.mozilla.org/en-US/firefox/organizations/faq/
+ // 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 >= 10',
+ // Out of leniency, we prefix these 1 version further back than the official policy.
+ 'iOS >= 8',
+ 'Safari >= 8',
+ // The following remain NOT officially supported, but we're lenient and include their prefixes to avoid severely breaking in them.
+ 'Android 2.3',
+ 'Android >= 4',
+ 'Opera >= 12'
+ ]
+ },
+ 'postcss-flexbugs-fixes': {}
+ }
+})
diff --git a/grunt/sauce_browsers.yml b/build/sauce_browsers.yml
index 4d5041b9e..af271c3b2 100644
--- a/grunt/sauce_browsers.yml
+++ b/build/sauce_browsers.yml
@@ -33,11 +33,6 @@
version: "10",
platform: "Windows 8"
},
- {
- browserName: "internet explorer",
- version: "9",
- platform: "Windows 7"
- },
{
browserName: "chrome",
@@ -53,10 +48,10 @@
# Win Opera 15+ not currently supported by Sauce Labs
{
- browserName: "Safari",
+ browserName: "iphone",
deviceName: "iPhone Simulator",
- platformVersion: "9.3",
- platformName: "iOS"
+ platformName: "OS X 10.11",
+ version: "9.3"
},
# iOS Chrome not currently supported by Sauce Labs
diff --git a/build/stamp.js b/build/stamp.js
new file mode 100644
index 000000000..b76086f1d
--- /dev/null
+++ b/build/stamp.js
@@ -0,0 +1,41 @@
+const fs = require('fs')
+
+fs.readFile('package.json', (err, data) => {
+ if (err) {
+ throw err
+ }
+
+ const pkg = JSON.parse(data)
+ const year = new Date().getFullYear()
+
+ const stampTop =
+`/*!
+ * Bootstrap v${pkg.version} (${pkg.homepage})
+ * Copyright 2011-${year} ${pkg.author}
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+if (typeof jQuery === 'undefined') {
+ throw new Error('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')
+}
+
+(function ($) {
+ var version = $.fn.jquery.split(' ')[0].split('.')
+ if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {
+ throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
+ }
+})(jQuery);
+
+(function () {
+`
+ const stampEnd = `
+})()`
+
+ process.stdout.write(stampTop)
+
+ process.stdin.on('end', () => {
+ process.stdout.write(stampEnd)
+ })
+
+ process.stdin.pipe(process.stdout)
+})
diff --git a/build/upload-preview.sh b/build/upload-preview.sh
new file mode 100755
index 000000000..08edc3517
--- /dev/null
+++ b/build/upload-preview.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+# Upload built docs to preview.twbsapps.com
+
+# Add build metadata to version
+sed -i "/^current_version:/ s/\$/+pr.${TRAVIS_COMMIT}/" _config.yml
+bundle exec jekyll build --destination "$TRAVIS_COMMIT" --baseurl "/c/${TRAVIS_COMMIT}"
+
+openssl aes-256-cbc -K $encrypted_2b749c8e6327_key -iv $encrypted_2b749c8e6327_iv -in build/gcp-key.json.enc -out build/gcp-key.json -d
+gcloud auth activate-service-account "$GCP_SERVICE_ACCOUNT" --key-file build/gcp-key.json &> /dev/null || (echo 'GCP login failed!'; exit 1)
+
+echo "Uploading to http://preview.twbsapps.com/c/${TRAVIS_COMMIT} ..."
+time gsutil -q -m cp -z html,css,js,svg -r "./${TRAVIS_COMMIT}" gs://preview.twbsapps.com/c/
+echo 'Done.'
diff --git a/dist/css/bootstrap-grid.css b/dist/css/bootstrap-grid.css
index b5805a860..62cf59d7e 100644
--- a/dist/css/bootstrap-grid.css
+++ b/dist/css/bootstrap-grid.css
@@ -16,8 +16,8 @@ html {
}
.container {
- margin-left: auto;
margin-right: auto;
+ margin-left: auto;
padding-right: 15px;
padding-left: 15px;
}
@@ -79,8 +79,9 @@ html {
}
.container-fluid {
- margin-left: auto;
+ width: 100%;
margin-right: auto;
+ margin-left: auto;
padding-right: 15px;
padding-left: 15px;
}
@@ -164,7 +165,12 @@ html {
padding-left: 0;
}
-.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+.col-xl-auto {
position: relative;
width: 100%;
min-height: 1px;
@@ -173,28 +179,48 @@ html {
}
@media (min-width: 576px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 768px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 992px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 1200px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
@@ -1334,4 +1360,963 @@ html {
margin-left: 91.666667%;
}
}
+
+.order-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+}
+
+.order-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+}
+
+.order-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+}
+
+.flex-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+}
+
+.flex-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+}
+
+.flex-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+}
+
+.flex-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+}
+
+.justify-content-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+}
+
+.justify-content-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+}
+
+.justify-content-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+}
+
+.justify-content-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+}
+
+.justify-content-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+}
+
+.align-items-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+}
+
+.align-items-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+}
+
+.align-items-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+}
+
+.align-items-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+}
+
+.align-items-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+}
+
+.align-content-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+}
+
+.align-content-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+}
+
+.align-content-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+}
+
+.align-content-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+}
+
+.align-content-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+}
+
+.align-content-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+}
+
+.align-self-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+}
+
+.align-self-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+}
+
+.align-self-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+}
+
+.align-self-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+}
+
+.align-self-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+}
+
+.align-self-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+}
+
+@media (min-width: 576px) {
+ .order-sm-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-sm-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-sm-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-sm-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-sm-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-sm-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-sm-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-sm-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-sm-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-sm-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-sm-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-sm-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-sm-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-sm-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-sm-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-sm-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-sm-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-sm-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-sm-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-sm-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-sm-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-sm-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-sm-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-sm-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-sm-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-sm-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-sm-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-sm-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-sm-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-sm-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-sm-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-sm-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 768px) {
+ .order-md-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-md-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-md-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-md-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-md-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-md-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-md-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-md-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-md-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-md-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-md-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-md-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-md-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-md-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-md-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-md-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-md-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-md-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-md-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-md-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-md-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-md-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-md-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-md-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-md-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-md-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-md-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-md-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-md-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-md-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-md-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-md-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 992px) {
+ .order-lg-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-lg-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-lg-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-lg-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-lg-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-lg-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-lg-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-lg-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-lg-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-lg-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-lg-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-lg-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-lg-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-lg-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-lg-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-lg-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-lg-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-lg-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-lg-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-lg-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-lg-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-lg-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-lg-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-lg-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-lg-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-lg-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-lg-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-lg-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-lg-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-lg-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-lg-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-lg-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .order-xl-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-xl-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-xl-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-xl-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-xl-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-xl-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-xl-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-xl-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-xl-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-xl-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xl-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-xl-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-xl-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-xl-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-xl-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-xl-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-xl-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-xl-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-xl-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-xl-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-xl-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-xl-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-xl-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-xl-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-xl-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-xl-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-xl-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-xl-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-xl-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-xl-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-xl-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-xl-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-grid.css.map b/dist/css/bootstrap-grid.css.map
index c5f13a242..5c7a92125 100644
--- a/dist/css/bootstrap-grid.css.map
+++ b/dist/css/bootstrap-grid.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"AAUE;EAAgB,oBAAmB;CCRpC;;ADWD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AEjBC;ECAA,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDJ/B;;AEgDC;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDmBF;;AG6BG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CD0BF;;AGsBG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDiCF;;AGeG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDwCF;;AGQG;EFnDF;ICiBI,aEsMK;IFrML,gBAAe;GDflB;CD+CF;;AGCG;EFnDF;ICiBI,aEuMK;IFtML,gBAAe;GDflB;CDsDF;;AGNG;EFnDF;ICiBI,aEwMK;IFvML,gBAAe;GDflB;CD6DF;;AGbG;EFnDF;ICiBI,cEyMM;IFxMN,gBAAe;GDflB;CDoEF;;AC3DC;ECZA,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDO/B;;AEqCC;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CDuEF;;AGlCG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CD8EF;;AGzCG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CDqFF;;AGhDG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CD4FF;;ACpFC;ECYA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDjB/B;;AE2BC;EF7BF;ICkBI,oBAA4B;IAC5B,mBAA4B;GDjB/B;CDgGF;;AGrEG;EF7BF;ICkBI,oBAA4B;IAC5B,mBAA4B;GDjB/B;CDuGF;;AG5EG;EF7BF;ICkBI,oBAA4B;IAC5B,mBAA4B;GDjB/B;CD8GF;;AGnFG;EF7BF;ICkBI,oBAA4B;IAC5B,mBAA4B;GDjB/B;CDqHF;;ACjHC;EACE,gBAAe;EACf,eAAc;CAOf;;AATD;;EAMI,iB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GpCxC;EAFD;IHsCR,WAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,WAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,WAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,YAAiD;GGpCxC;EAFD;IHkCR,WAAsD;GGhC7C;EAFD;IHkCR,gBAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,UAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,UAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,UAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,WAAgD;GGhCvC;EAOD;IHqBR,gBAAyC;GGnBhC;EAFD;IHqBR,uBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,iBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,iBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,iBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;CLyhCV","file":"bootstrap-grid.css","sourcesContent":[null,"@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */",null,null,null,null,null]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"AAUE;EAAgB,oBAAmB;CCRpC;;ADWD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AEjBC;ECAA,mBAAkB;EAClB,kBAAiB;EAKb,oBAA4B;EAC5B,mBAA4B;CDJ/B;;AEgDC;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDmBF;;AG6BG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CD0BF;;AGsBG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDiCF;;AGeG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDwCF;;AGQG;EFnDF;ICiBI,aE8KK;IF7KL,gBAAe;GDflB;CD+CF;;AGCG;EFnDF;ICiBI,aE+KK;IF9KL,gBAAe;GDflB;CDsDF;;AGNG;EFnDF;ICiBI,aEgLK;IF/KL,gBAAe;GDflB;CD6DF;;AGbG;EFnDF;ICiBI,cEiLM;IFhLN,gBAAe;GDflB;CDoEF;;AC3DC;EACE,YAAW;ECbb,mBAAkB;EAClB,kBAAiB;EAKb,oBAA4B;EAC5B,mBAA4B;CDQ/B;;AEoCC;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDQ/B;CDuEF;;AGnCG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDQ/B;CD8EF;;AG1CG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDQ/B;CDqFF;;AGjDG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDQ/B;CD4FF;;ACpFC;ECWA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDhB/B;;AE0BC;EF5BF;ICiBI,oBAA4B;IAC5B,mBAA4B;GDhB/B;CDgGF;;AGtEG;EF5BF;ICiBI,oBAA4B;IAC5B,mBAA4B;GDhB/B;CDuGF;;AG7EG;EF5BF;ICiBI,oBAA4B;IAC5B,mBAA4B;GDhB/B;CD8GF;;AGpFG;EF5BF;ICiBI,oBAA4B;IAC5B,mBAA4B;GDhB/B;CDqHF;;ACjHC;EACE,gBAAe;EACf,eAAc;CAOf;;AAT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","file":"bootstrap-grid.css","sourcesContent":[null,"@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 1;\n}\n\n.order-0 {\n order: 0;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 1;\n }\n .order-sm-0 {\n order: 0;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 1;\n }\n .order-md-0 {\n order: 0;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 1;\n }\n .order-lg-0 {\n order: 0;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 1;\n }\n .order-xl-0 {\n order: 0;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */",null,null,null,null,null,null]} \ No newline at end of file
diff --git a/dist/css/bootstrap-grid.min.css b/dist/css/bootstrap-grid.min.css
index 65c1c640d..65f17d2d9 100644
--- a/dist/css/bootstrap-grid.min.css
+++ b/dist/css/bootstrap-grid.min.css
@@ -1 +1 @@
-@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}.container{margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file
+@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}.container{margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.order-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.order-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.order-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.order-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.order-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-grid.min.css.map b/dist/css/bootstrap-grid.min.css.map
index 00677d755..b7c7e89f8 100644
--- a/dist/css/bootstrap-grid.min.css.map
+++ b/dist/css/bootstrap-grid.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"AAUE,cAAgB,MAAA,aAGlB,KACE,mBAAA,WAAA,WAAA,WACA,mBAAA,UAGF,EAAA,QAAA,SAGE,mBAAA,QAAA,WAAA,QChBA,WCAA,YAAA,KACA,aAAA,KAKI,cAAA,KACA,aAAA,KC4CF,yBFnDF,WCMI,cAAA,KACA,aAAA,MC4CF,yBFnDF,WCMI,cAAA,KACA,aAAA,MC4CF,yBFnDF,WCMI,cAAA,KACA,aAAA,MC4CF,0BFnDF,WCMI,cAAA,KACA,aAAA,MC4CF,yBFnDF,WCiBI,MAAA,MACA,UAAA,MCiCF,yBFnDF,WCiBI,MAAA,MACA,UAAA,MCiCF,yBFnDF,WCiBI,MAAA,MACA,UAAA,MCiCF,0BFnDF,WCiBI,MAAA,OACA,UAAA,MDNJ,iBCZA,YAAA,KACA,aAAA,KAKI,cAAA,KACA,aAAA,KC4CF,yBFvCF,iBCNI,cAAA,KACA,aAAA,MC4CF,yBFvCF,iBCNI,cAAA,KACA,aAAA,MC4CF,yBFvCF,iBCNI,cAAA,KACA,aAAA,MC4CF,0BFvCF,iBCNI,cAAA,KACA,aAAA,MDeJ,KCYA,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,KAAA,cAAA,KAAA,UAAA,KAKI,aAAA,MACA,YAAA,MCUF,yBF7BF,KCkBI,aAAA,MACA,YAAA,OCUF,yBF7BF,KCkBI,aAAA,MACA,YAAA,OCUF,yBF7BF,KCkBI,aAAA,MACA,YAAA,OCUF,0BF7BF,KCkBI,aAAA,MACA,YAAA,ODbJ,YACE,aAAA,EACA,YAAA,EAFF,iBAAA,0BAMI,cAAA,EACA,aAAA,EGjCJ,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UACE,SAAA,SACA,MAAA,KACA,WAAA,IFsBE,cAAA,KACA,aAAA,KCuBF,yBCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UFyBI,cAAA,KACA,aAAA,MCuBF,yBCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UFyBI,cAAA,KACA,aAAA,MCuBF,yBCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UFyBI,cAAA,KACA,aAAA,MCuBF,0BCjDF,KAAA,OAAA,QAAA,QAAA,QAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,OAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,QAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UFyBI,cAAA,KACA,aAAA,MEHA,KACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,UACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,OF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UEjCM,OF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,OF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,OF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,OF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,OF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,OF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,OF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,OF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,QF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,QF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,QF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE1BQ,QFsCR,MAAA,KEtCQ,QFsCR,MAAA,UEtCQ,QFsCR,MAAA,WEtCQ,QFsCR,MAAA,IEtCQ,QFsCR,MAAA,WEtCQ,QFsCR,MAAA,WEtCQ,QFsCR,MAAA,IEtCQ,QFsCR,MAAA,WEtCQ,QFsCR,MAAA,WEtCQ,QFsCR,MAAA,IEtCQ,SFsCR,MAAA,WEtCQ,SFsCR,MAAA,WEtCQ,SFsCR,MAAA,KEtCQ,QFkCR,KAAA,KElCQ,QFkCR,KAAA,UElCQ,QFkCR,KAAA,WElCQ,QFkCR,KAAA,IElCQ,QFkCR,KAAA,WElCQ,QFkCR,KAAA,WElCQ,QFkCR,KAAA,IElCQ,QFkCR,KAAA,WElCQ,QFkCR,KAAA,WElCQ,QFkCR,KAAA,IElCQ,SFkCR,KAAA,WElCQ,SFkCR,KAAA,WElCQ,SFkCR,KAAA,KEzBQ,UFqBR,YAAA,UErBQ,UFqBR,YAAA,WErBQ,UFqBR,YAAA,IErBQ,UFqBR,YAAA,WErBQ,UFqBR,YAAA,WErBQ,UFqBR,YAAA,IErBQ,UFqBR,YAAA,WErBQ,UFqBR,YAAA,WErBQ,UFqBR,YAAA,IErBQ,WFqBR,YAAA,WErBQ,WFqBR,YAAA,WCtBE,yBC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE1BQ,WFsCR,MAAA,KEtCQ,WFsCR,MAAA,UEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,YFsCR,MAAA,WEtCQ,YFsCR,MAAA,WEtCQ,YFsCR,MAAA,KEtCQ,WFkCR,KAAA,KElCQ,WFkCR,KAAA,UElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,YFkCR,KAAA,WElCQ,YFkCR,KAAA,WElCQ,YFkCR,KAAA,KEzBQ,aFqBR,YAAA,EErBQ,aFqBR,YAAA,UErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,cFqBR,YAAA,WErBQ,cFqBR,YAAA,YCtBE,yBC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE1BQ,WFsCR,MAAA,KEtCQ,WFsCR,MAAA,UEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,YFsCR,MAAA,WEtCQ,YFsCR,MAAA,WEtCQ,YFsCR,MAAA,KEtCQ,WFkCR,KAAA,KElCQ,WFkCR,KAAA,UElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,YFkCR,KAAA,WElCQ,YFkCR,KAAA,WElCQ,YFkCR,KAAA,KEzBQ,aFqBR,YAAA,EErBQ,aFqBR,YAAA,UErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,cFqBR,YAAA,WErBQ,cFqBR,YAAA,YCtBE,yBC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE1BQ,WFsCR,MAAA,KEtCQ,WFsCR,MAAA,UEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,YFsCR,MAAA,WEtCQ,YFsCR,MAAA,WEtCQ,YFsCR,MAAA,KEtCQ,WFkCR,KAAA,KElCQ,WFkCR,KAAA,UElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,YFkCR,KAAA,WElCQ,YFkCR,KAAA,WElCQ,YFkCR,KAAA,KEzBQ,aFqBR,YAAA,EErBQ,aFqBR,YAAA,UErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,cFqBR,YAAA,WErBQ,cFqBR,YAAA,YCtBE,0BC1BE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,UAAA,SAAA,EAAA,EAAA,UAAA,KAAA,EAAA,EAAA,UAKA,UAAA,UEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,UF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,IAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAKA,UAAA,IEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,WAAA,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAKA,UAAA,WEjCM,WF4BN,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAKA,UAAA,KE1BQ,WFsCR,MAAA,KEtCQ,WFsCR,MAAA,UEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,WEtCQ,WFsCR,MAAA,IEtCQ,YFsCR,MAAA,WEtCQ,YFsCR,MAAA,WEtCQ,YFsCR,MAAA,KEtCQ,WFkCR,KAAA,KElCQ,WFkCR,KAAA,UElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,WElCQ,WFkCR,KAAA,IElCQ,YFkCR,KAAA,WElCQ,YFkCR,KAAA,WElCQ,YFkCR,KAAA,KEzBQ,aFqBR,YAAA,EErBQ,aFqBR,YAAA,UErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,WErBQ,aFqBR,YAAA,IErBQ,cFqBR,YAAA,WErBQ,cFqBR,YAAA"} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","dist/css/bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.css b/dist/css/bootstrap-reboot.css
index 230c686df..6d1cd096b 100644
--- a/dist/css/bootstrap-reboot.css
+++ b/dist/css/bootstrap-reboot.css
@@ -1,250 +1,12 @@
-/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
font-family: sans-serif;
line-height: 1.15;
- -ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-}
-
-body {
- margin: 0;
-}
-
-article,
-aside,
-footer,
-header,
-nav,
-section {
- display: block;
-}
-
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-figcaption,
-figure,
-main {
- display: block;
-}
-
-figure {
- margin: 1em 40px;
-}
-
-hr {
- -webkit-box-sizing: content-box;
- box-sizing: content-box;
- height: 0;
- overflow: visible;
-}
-
-pre {
- font-family: monospace, monospace;
- font-size: 1em;
-}
-
-a {
- background-color: transparent;
- -webkit-text-decoration-skip: objects;
-}
-
-a:active,
-a:hover {
- outline-width: 0;
-}
-
-abbr[title] {
- border-bottom: none;
- text-decoration: underline;
- text-decoration: underline dotted;
-}
-
-b,
-strong {
- font-weight: inherit;
-}
-
-b,
-strong {
- font-weight: bolder;
-}
-
-code,
-kbd,
-samp {
- font-family: monospace, monospace;
- font-size: 1em;
-}
-
-dfn {
- font-style: italic;
-}
-
-mark {
- background-color: #ff0;
- color: #000;
-}
-
-small {
- font-size: 80%;
-}
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-sup {
- top: -0.5em;
-}
-
-audio,
-video {
- display: inline-block;
-}
-
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-img {
- border-style: none;
-}
-
-svg:not(:root) {
- overflow: hidden;
-}
-
-button,
-input,
-optgroup,
-select,
-textarea {
- font-family: sans-serif;
- font-size: 100%;
- line-height: 1.15;
- margin: 0;
-}
-
-button,
-input {
- overflow: visible;
-}
-
-button,
-select {
- text-transform: none;
-}
-
-button,
-html [type="button"],
-[type="reset"],
-[type="submit"] {
- -webkit-appearance: button;
-}
-
-button::-moz-focus-inner,
-[type="button"]::-moz-focus-inner,
-[type="reset"]::-moz-focus-inner,
-[type="submit"]::-moz-focus-inner {
- border-style: none;
- padding: 0;
-}
-
-button:-moz-focusring,
-[type="button"]:-moz-focusring,
-[type="reset"]:-moz-focusring,
-[type="submit"]:-moz-focusring {
- outline: 1px dotted ButtonText;
-}
-
-fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
-}
-
-legend {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- color: inherit;
- display: table;
- max-width: 100%;
- padding: 0;
- white-space: normal;
-}
-
-progress {
- display: inline-block;
- vertical-align: baseline;
-}
-
-textarea {
- overflow: auto;
-}
-
-[type="checkbox"],
-[type="radio"] {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- padding: 0;
-}
-
-[type="number"]::-webkit-inner-spin-button,
-[type="number"]::-webkit-outer-spin-button {
- height: auto;
-}
-
-[type="search"] {
- -webkit-appearance: textfield;
- outline-offset: -2px;
-}
-
-[type="search"]::-webkit-search-cancel-button,
-[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-::-webkit-file-upload-button {
- -webkit-appearance: button;
- font: inherit;
-}
-
-details,
-menu {
- display: block;
-}
-
-summary {
- display: list-item;
-}
-
-canvas {
- display: inline-block;
-}
-
-template {
- display: none;
-}
-
-[hidden] {
- display: none;
-}
-
-html {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
+ -ms-text-size-adjust: 100%;
+ -ms-overflow-style: scrollbar;
+ -webkit-tap-highlight-color: transparent;
}
*,
@@ -258,14 +20,13 @@ html {
width: device-width;
}
-html {
- font-size: 16px;
- -ms-overflow-style: scrollbar;
- -webkit-tap-highlight-color: transparent;
+article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
+ display: block;
}
body {
- font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ margin: 0;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
@@ -277,6 +38,13 @@ body {
outline: none !important;
}
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible;
+}
+
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
@@ -289,7 +57,10 @@ p {
abbr[title],
abbr[data-original-title] {
+ text-decoration: underline;
+ text-decoration: underline dotted;
cursor: help;
+ border-bottom: 0;
}
address {
@@ -325,21 +96,47 @@ blockquote {
margin: 0 0 1rem;
}
+dfn {
+ font-style: italic;
+}
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+small {
+ font-size: 80%;
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -.25em;
+}
+
+sup {
+ top: -.5em;
+}
+
a {
color: #0275d8;
text-decoration: none;
+ background-color: transparent;
+ -webkit-text-decoration-skip: objects;
}
-a:focus, a:hover {
+a:hover {
color: #014c8c;
text-decoration: underline;
}
-a:focus {
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
@@ -351,7 +148,15 @@ a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
}
a:not([href]):not([tabindex]):focus {
- outline: none;
+ outline: 0;
+}
+
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
}
pre {
@@ -366,10 +171,11 @@ figure {
img {
vertical-align: middle;
+ border-style: none;
}
-[role="button"] {
- cursor: pointer;
+svg:not(:root) {
+ overflow: hidden;
}
a,
@@ -387,7 +193,6 @@ textarea {
table {
border-collapse: collapse;
- background-color: transparent;
}
caption {
@@ -415,13 +220,44 @@ button:focus {
input,
button,
select,
+optgroup,
textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: inherit;
line-height: inherit;
}
-input[type="radio"]:disabled,
-input[type="checkbox"]:disabled {
- cursor: not-allowed;
+button,
+input {
+ overflow: visible;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0;
}
input[type="date"],
@@ -432,6 +268,7 @@ input[type="month"] {
}
textarea {
+ overflow: auto;
resize: vertical;
}
@@ -445,20 +282,51 @@ fieldset {
legend {
display: block;
width: 100%;
+ max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
+ color: inherit;
+ white-space: normal;
+}
+
+progress {
+ vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
}
-input[type="search"] {
+[type="search"] {
+ outline-offset: -2px;
+ -webkit-appearance: none;
+}
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
+::-webkit-file-upload-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+
output {
display: inline-block;
}
+summary {
+ display: list-item;
+}
+
+template {
+ display: none;
+}
+
[hidden] {
display: none !important;
}
diff --git a/dist/css/bootstrap-reboot.css.map b/dist/css/bootstrap-reboot.css.map
index b537a0031..4110ba587 100644
--- a/dist/css/bootstrap-reboot.css.map
+++ b/dist/css/bootstrap-reboot.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/mixins/_tab-focus.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":[null,"/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n font-size: 16px;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: none;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */",null,null,null,null]} \ No newline at end of file
+{"version":3,"sources":["../../scss/_reboot.scss","bootstrap-reboot.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":[null,"html {\n box-sizing: border-box;\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */",null,null]} \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.min.css b/dist/css/bootstrap-reboot.min.css
index c7b759ced..a0ccfa3c4 100644
--- a/dist/css/bootstrap-reboot.min.css
+++ b/dist/css/bootstrap-reboot.min.css
@@ -1 +1 @@
-/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{font-size:16px;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file
+html{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0275d8;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap-reboot.min.css.map b/dist/css/bootstrap-reboot.min.css.map
index 0d19e6bf1..8593e8719 100644
--- a/dist/css/bootstrap-reboot.min.css.map
+++ b/dist/css/bootstrap-reboot.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/mixins/_tab-focus.scss"],"names":[],"mappings":"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"} \ No newline at end of file
+{"version":3,"sources":["../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/dist/css/bootstrap.css b/dist/css/bootstrap.css
index 651d2ddcd..6f2762c17 100644
--- a/dist/css/bootstrap.css
+++ b/dist/css/bootstrap.css
@@ -1,253 +1,9 @@
/*!
- * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors
- * Copyright 2011-2016 Twitter, Inc.
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
-html {
- font-family: sans-serif;
- line-height: 1.15;
- -ms-text-size-adjust: 100%;
- -webkit-text-size-adjust: 100%;
-}
-
-body {
- margin: 0;
-}
-
-article,
-aside,
-footer,
-header,
-nav,
-section {
- display: block;
-}
-
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-figcaption,
-figure,
-main {
- display: block;
-}
-
-figure {
- margin: 1em 40px;
-}
-
-hr {
- -webkit-box-sizing: content-box;
- box-sizing: content-box;
- height: 0;
- overflow: visible;
-}
-
-pre {
- font-family: monospace, monospace;
- font-size: 1em;
-}
-
-a {
- background-color: transparent;
- -webkit-text-decoration-skip: objects;
-}
-
-a:active,
-a:hover {
- outline-width: 0;
-}
-
-abbr[title] {
- border-bottom: none;
- text-decoration: underline;
- text-decoration: underline dotted;
-}
-
-b,
-strong {
- font-weight: inherit;
-}
-
-b,
-strong {
- font-weight: bolder;
-}
-
-code,
-kbd,
-samp {
- font-family: monospace, monospace;
- font-size: 1em;
-}
-
-dfn {
- font-style: italic;
-}
-
-mark {
- background-color: #ff0;
- color: #000;
-}
-
-small {
- font-size: 80%;
-}
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-sup {
- top: -0.5em;
-}
-
-audio,
-video {
- display: inline-block;
-}
-
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-img {
- border-style: none;
-}
-
-svg:not(:root) {
- overflow: hidden;
-}
-
-button,
-input,
-optgroup,
-select,
-textarea {
- font-family: sans-serif;
- font-size: 100%;
- line-height: 1.15;
- margin: 0;
-}
-
-button,
-input {
- overflow: visible;
-}
-
-button,
-select {
- text-transform: none;
-}
-
-button,
-html [type="button"],
-[type="reset"],
-[type="submit"] {
- -webkit-appearance: button;
-}
-
-button::-moz-focus-inner,
-[type="button"]::-moz-focus-inner,
-[type="reset"]::-moz-focus-inner,
-[type="submit"]::-moz-focus-inner {
- border-style: none;
- padding: 0;
-}
-
-button:-moz-focusring,
-[type="button"]:-moz-focusring,
-[type="reset"]:-moz-focusring,
-[type="submit"]:-moz-focusring {
- outline: 1px dotted ButtonText;
-}
-
-fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
-}
-
-legend {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- color: inherit;
- display: table;
- max-width: 100%;
- padding: 0;
- white-space: normal;
-}
-
-progress {
- display: inline-block;
- vertical-align: baseline;
-}
-
-textarea {
- overflow: auto;
-}
-
-[type="checkbox"],
-[type="radio"] {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- padding: 0;
-}
-
-[type="number"]::-webkit-inner-spin-button,
-[type="number"]::-webkit-outer-spin-button {
- height: auto;
-}
-
-[type="search"] {
- -webkit-appearance: textfield;
- outline-offset: -2px;
-}
-
-[type="search"]::-webkit-search-cancel-button,
-[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-::-webkit-file-upload-button {
- -webkit-appearance: button;
- font: inherit;
-}
-
-details,
-menu {
- display: block;
-}
-
-summary {
- display: list-item;
-}
-
-canvas {
- display: inline-block;
-}
-
-template {
- display: none;
-}
-
-[hidden] {
- display: none;
-}
-
@media print {
*,
*::before,
@@ -299,10 +55,6 @@ template {
.navbar {
display: none;
}
- .btn > .caret,
- .dropup > .btn > .caret {
- border-top-color: #000 !important;
- }
.badge {
border: 1px solid #000;
}
@@ -322,6 +74,12 @@ template {
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
+ font-family: sans-serif;
+ line-height: 1.15;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ -ms-overflow-style: scrollbar;
+ -webkit-tap-highlight-color: transparent;
}
*,
@@ -335,14 +93,13 @@ html {
width: device-width;
}
-html {
- font-size: 16px;
- -ms-overflow-style: scrollbar;
- -webkit-tap-highlight-color: transparent;
+article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
+ display: block;
}
body {
- font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ margin: 0;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
@@ -354,6 +111,13 @@ body {
outline: none !important;
}
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible;
+}
+
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
@@ -366,7 +130,10 @@ p {
abbr[title],
abbr[data-original-title] {
+ text-decoration: underline;
+ text-decoration: underline dotted;
cursor: help;
+ border-bottom: 0;
}
address {
@@ -402,21 +169,47 @@ blockquote {
margin: 0 0 1rem;
}
+dfn {
+ font-style: italic;
+}
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+small {
+ font-size: 80%;
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -.25em;
+}
+
+sup {
+ top: -.5em;
+}
+
a {
color: #0275d8;
text-decoration: none;
+ background-color: transparent;
+ -webkit-text-decoration-skip: objects;
}
-a:focus, a:hover {
+a:hover {
color: #014c8c;
text-decoration: underline;
}
-a:focus {
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
@@ -428,7 +221,15 @@ a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
}
a:not([href]):not([tabindex]):focus {
- outline: none;
+ outline: 0;
+}
+
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
}
pre {
@@ -443,10 +244,11 @@ figure {
img {
vertical-align: middle;
+ border-style: none;
}
-[role="button"] {
- cursor: pointer;
+svg:not(:root) {
+ overflow: hidden;
}
a,
@@ -464,7 +266,6 @@ textarea {
table {
border-collapse: collapse;
- background-color: transparent;
}
caption {
@@ -492,13 +293,44 @@ button:focus {
input,
button,
select,
+optgroup,
textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: inherit;
line-height: inherit;
}
-input[type="radio"]:disabled,
-input[type="checkbox"]:disabled {
- cursor: not-allowed;
+button,
+input {
+ overflow: visible;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0;
}
input[type="date"],
@@ -509,6 +341,7 @@ input[type="month"] {
}
textarea {
+ overflow: auto;
resize: vertical;
}
@@ -522,20 +355,51 @@ fieldset {
legend {
display: block;
width: 100%;
+ max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
+ color: inherit;
+ white-space: normal;
+}
+
+progress {
+ vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
}
-input[type="search"] {
+[type="search"] {
+ outline-offset: -2px;
+ -webkit-appearance: none;
+}
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
+::-webkit-file-upload-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+
output {
display: inline-block;
}
+summary {
+ display: list-item;
+}
+
+template {
+ display: none;
+}
+
[hidden] {
display: none !important;
}
@@ -581,21 +445,25 @@ h6, .h6 {
.display-1 {
font-size: 6rem;
font-weight: 300;
+ line-height: 1.1;
}
.display-2 {
font-size: 5.5rem;
font-weight: 300;
+ line-height: 1.1;
}
.display-3 {
font-size: 4.5rem;
font-weight: 300;
+ line-height: 1.1;
}
.display-4 {
font-size: 3.5rem;
font-weight: 300;
+ line-height: 1.1;
}
hr {
@@ -761,8 +629,8 @@ pre code {
}
.container {
- margin-left: auto;
margin-right: auto;
+ margin-left: auto;
padding-right: 15px;
padding-left: 15px;
}
@@ -824,8 +692,9 @@ pre code {
}
.container-fluid {
- margin-left: auto;
+ width: 100%;
margin-right: auto;
+ margin-left: auto;
padding-right: 15px;
padding-left: 15px;
}
@@ -909,7 +778,12 @@ pre code {
padding-left: 0;
}
-.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+.col-xl-auto {
position: relative;
width: 100%;
min-height: 1px;
@@ -918,28 +792,48 @@ pre code {
}
@media (min-width: 576px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 768px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 992px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 1200px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
@@ -2084,6 +1978,7 @@ pre code {
width: 100%;
max-width: 100%;
margin-bottom: 1rem;
+ background-color: transparent;
}
.table th,
@@ -2226,67 +2121,37 @@ pre code {
.table-inverse th,
.table-inverse td,
.table-inverse thead th {
- border-color: #fff;
+ border-color: #3b3e40;
}
.table-inverse.table-bordered {
border: 0;
}
-.table-responsive {
- display: block;
- width: 100%;
- overflow-x: auto;
- -ms-overflow-style: -ms-autohiding-scrollbar;
-}
-
-.table-responsive.table-bordered {
- border: 0;
-}
-
-.table-reflow thead {
- float: left;
-}
-
-.table-reflow tbody {
- display: block;
- white-space: nowrap;
-}
-
-.table-reflow th,
-.table-reflow td {
- border-top: 1px solid #eceeef;
- border-left: 1px solid #eceeef;
-}
-
-.table-reflow th:last-child,
-.table-reflow td:last-child {
- border-right: 1px solid #eceeef;
-}
-
-.table-reflow thead:last-child tr:last-child th,
-.table-reflow thead:last-child tr:last-child td,
-.table-reflow tbody:last-child tr:last-child th,
-.table-reflow tbody:last-child tr:last-child td,
-.table-reflow tfoot:last-child tr:last-child th,
-.table-reflow tfoot:last-child tr:last-child td {
- border-bottom: 1px solid #eceeef;
+.table-inverse.table-striped tbody tr:nth-of-type(odd) {
+ background-color: rgba(255, 255, 255, 0.05);
}
-.table-reflow tr {
- float: left;
+.table-inverse.table-hover tbody tr:hover {
+ background-color: rgba(255, 255, 255, 0.075);
}
-.table-reflow tr th,
-.table-reflow tr td {
- display: block !important;
- border: 1px solid #eceeef;
+@media (max-width: 991px) {
+ .table-responsive {
+ display: block;
+ width: 100%;
+ overflow-x: auto;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
+ }
+ .table-responsive.table-bordered {
+ border: 0;
+ }
}
.form-control {
display: block;
width: 100%;
- padding: 0.5rem 0.75rem;
+ padding: 0.5rem 1rem;
font-size: 1rem;
line-height: 1.25;
color: #464a4c;
@@ -2340,10 +2205,6 @@ pre code {
opacity: 1;
}
-.form-control:disabled {
- cursor: not-allowed;
-}
-
select.form-control:not([size]):not([multiple]) {
height: calc(2.25rem + 2px);
}
@@ -2365,8 +2226,8 @@ select.form-control:focus::-ms-value {
}
.col-form-label-lg {
- padding-top: calc(0.75rem - 1px * 2);
- padding-bottom: calc(0.75rem - 1px * 2);
+ padding-top: calc(0.5rem - 1px * 2);
+ padding-bottom: calc(0.5rem - 1px * 2);
font-size: 1.25rem;
}
@@ -2406,27 +2267,29 @@ select.form-control:focus::-ms-value {
.input-group-sm > .input-group-btn > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
+ line-height: 1.5;
border-radius: 0.2rem;
}
select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
.input-group-sm > select.input-group-addon:not([size]):not([multiple]),
.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {
- height: 1.8125rem;
+ height: calc(1.8125rem + 2px);
}
.form-control-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
- padding: 0.75rem 1.5rem;
+ padding: 0.5rem 1rem;
font-size: 1.25rem;
+ line-height: 1.5;
border-radius: 0.3rem;
}
select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
.input-group-lg > select.input-group-addon:not([size]):not([multiple]),
.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {
- height: 3.166667rem;
+ height: calc(2.875rem + 2px);
}
.form-group {
@@ -2446,13 +2309,11 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
.form-check.disabled .form-check-label {
color: #636c72;
- cursor: not-allowed;
}
.form-check-label {
padding-left: 1.25rem;
margin-bottom: 0;
- cursor: pointer;
}
.form-check-input {
@@ -2484,7 +2345,7 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
.form-control-success,
.form-control-warning,
.form-control-danger {
- padding-right: 2.25rem;
+ padding-right: 3rem;
background-repeat: no-repeat;
background-position: center right 0.5625rem;
-webkit-background-size: 1.125rem 1.125rem;
@@ -2499,14 +2360,16 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
color: #5cb85c;
}
-.has-success .form-control {
+.has-success .form-control,
+.has-success .custom-select,
+.has-success .custom-file-control {
border-color: #5cb85c;
}
.has-success .input-group-addon {
color: #5cb85c;
- border-color: #5cb85c;
background-color: #eaf6ea;
+ border-color: #5cb85c;
}
.has-success .form-control-success {
@@ -2521,14 +2384,16 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
color: #f0ad4e;
}
-.has-warning .form-control {
+.has-warning .form-control,
+.has-warning .custom-select,
+.has-warning .custom-file-control {
border-color: #f0ad4e;
}
.has-warning .input-group-addon {
color: #f0ad4e;
- border-color: #f0ad4e;
background-color: white;
+ border-color: #f0ad4e;
}
.has-warning .form-control-warning {
@@ -2543,14 +2408,16 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
color: #d9534f;
}
-.has-danger .form-control {
+.has-danger .form-control,
+.has-danger .custom-select,
+.has-danger .custom-file-control {
border-color: #d9534f;
}
.has-danger .input-group-addon {
color: #d9534f;
- border-color: #d9534f;
background-color: #fdf7f7;
+ border-color: #d9534f;
}
.has-danger .form-control-danger {
@@ -2562,9 +2429,15 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
}
.form-inline .form-check {
@@ -2596,6 +2469,8 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
@@ -2675,7 +2550,6 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
.btn {
display: inline-block;
font-weight: normal;
- line-height: 1.25;
text-align: center;
white-space: nowrap;
vertical-align: middle;
@@ -2686,6 +2560,7 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
border: 1px solid transparent;
padding: 0.5rem 1rem;
font-size: 1rem;
+ line-height: 1.25;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
@@ -2703,7 +2578,6 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
}
.btn.disabled, .btn:disabled {
- cursor: not-allowed;
opacity: .65;
}
@@ -2898,8 +2772,8 @@ fieldset[disabled] a.btn {
.btn-outline-primary {
color: #0275d8;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #0275d8;
}
@@ -2928,13 +2802,13 @@ fieldset[disabled] a.btn {
.btn-outline-secondary {
color: #ccc;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #ccc;
}
.btn-outline-secondary:hover {
- color: #fff;
+ color: #292b2c;
background-color: #ccc;
border-color: #ccc;
}
@@ -2951,15 +2825,15 @@ fieldset[disabled] a.btn {
.btn-outline-secondary:active, .btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
- color: #fff;
+ color: #292b2c;
background-color: #ccc;
border-color: #ccc;
}
.btn-outline-info {
color: #5bc0de;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #5bc0de;
}
@@ -2988,8 +2862,8 @@ fieldset[disabled] a.btn {
.btn-outline-success {
color: #5cb85c;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #5cb85c;
}
@@ -3018,8 +2892,8 @@ fieldset[disabled] a.btn {
.btn-outline-warning {
color: #f0ad4e;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #f0ad4e;
}
@@ -3048,8 +2922,8 @@ fieldset[disabled] a.btn {
.btn-outline-danger {
color: #d9534f;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #d9534f;
}
@@ -3109,14 +2983,16 @@ fieldset[disabled] a.btn {
}
.btn-lg, .btn-group-lg > .btn {
- padding: 0.75rem 1.5rem;
+ padding: 0.5rem 1rem;
font-size: 1.25rem;
+ line-height: 1.5;
border-radius: 0.3rem;
}
.btn-sm, .btn-group-sm > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
+ line-height: 1.5;
border-radius: 0.2rem;
}
@@ -3188,8 +3064,8 @@ tbody.collapse.show {
border-left: 0.3em solid transparent;
}
-.dropdown-toggle:focus {
- outline: 0;
+.dropdown-toggle:empty::after {
+ margin-left: 0;
}
.dropup .dropdown-toggle::after {
@@ -3219,16 +3095,16 @@ tbody.collapse.show {
}
.dropdown-divider {
- height: 1px;
+ height: 0;
margin: 0.5rem 0;
overflow: hidden;
- background-color: #eceeef;
+ border-top: 1px solid #eceeef;
}
.dropdown-item {
display: block;
width: 100%;
- padding: 3px 1.5rem;
+ padding: 0.25rem 1.5rem;
clear: both;
font-weight: normal;
color: #292b2c;
@@ -3252,26 +3128,15 @@ tbody.collapse.show {
.dropdown-item.disabled, .dropdown-item:disabled {
color: #636c72;
- cursor: not-allowed;
background-color: transparent;
}
-.show > .dropdown-menu {
- display: block;
-}
-
.show > a {
outline: 0;
}
-.dropdown-menu-right {
- right: 0;
- left: auto;
-}
-
-.dropdown-menu-left {
- right: auto;
- left: 0;
+.dropdown-menu.show {
+ display: block;
}
.dropdown-header {
@@ -3283,36 +3148,13 @@ tbody.collapse.show {
white-space: nowrap;
}
-.dropdown-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 990;
-}
-
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
- content: "";
- border-top: 0;
- border-bottom: 0.3em solid;
-}
-
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
- top: auto;
- bottom: 100%;
- margin-bottom: 0.125rem;
-}
-
.btn-group,
.btn-group-vertical {
position: relative;
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ display: -webkit-inline-box;
+ display: -webkit-inline-flex;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
vertical-align: middle;
}
@@ -3323,6 +3165,7 @@ tbody.collapse.show {
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
+ margin-bottom: 0;
}
.btn-group > .btn:hover,
@@ -3353,6 +3196,9 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
@@ -3372,14 +3218,14 @@ tbody.collapse.show {
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
- border-bottom-right-radius: 0;
border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
- border-bottom-left-radius: 0;
border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
}
.btn-group > .btn-group {
@@ -3392,18 +3238,13 @@ tbody.collapse.show {
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
- border-bottom-right-radius: 0;
border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
- border-bottom-left-radius: 0;
border-top-left-radius: 0;
-}
-
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
- outline: 0;
+ border-bottom-left-radius: 0;
}
.btn + .dropdown-toggle-split {
@@ -3421,21 +3262,8 @@ tbody.collapse.show {
}
.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
- padding-right: 1.125rem;
- padding-left: 1.125rem;
-}
-
-.btn .caret {
- margin-left: 0;
-}
-
-.btn-lg .caret, .btn-group-lg > .btn .caret {
- border-width: 0.3em 0.3em 0;
- border-bottom-width: 0;
-}
-
-.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {
- border-width: 0 0.3em 0.3em;
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
}
.btn-group-vertical {
@@ -3481,8 +3309,8 @@ tbody.collapse.show {
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
- border-top-right-radius: 0;
border-top-left-radius: 0;
+ border-top-right-radius: 0;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
@@ -3496,8 +3324,8 @@ tbody.collapse.show {
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
- border-top-right-radius: 0;
border-top-left-radius: 0;
+ border-top-right-radius: 0;
}
[data-toggle="buttons"] > .btn input[type="radio"],
@@ -3540,15 +3368,10 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column;
- -webkit-box-pack: center;
- -webkit-justify-content: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
}
.input-group-addon:not(:first-child):not(:last-child),
@@ -3564,7 +3387,7 @@ tbody.collapse.show {
}
.input-group-addon {
- padding: 0.5rem 0.75rem;
+ padding: 0.5rem 1rem;
margin-bottom: 0;
font-size: 1rem;
font-weight: normal;
@@ -3587,7 +3410,7 @@ tbody.collapse.show {
.input-group-addon.form-control-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
- padding: 0.75rem 1.5rem;
+ padding: 0.5rem 1rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
@@ -3604,8 +3427,8 @@ tbody.collapse.show {
.input-group-btn:not(:last-child) > .dropdown-toggle,
.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {
- border-bottom-right-radius: 0;
border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
}
.input-group-addon:not(:last-child) {
@@ -3619,8 +3442,8 @@ tbody.collapse.show {
.input-group-btn:not(:first-child) > .dropdown-toggle,
.input-group-btn:not(:last-child) > .btn:not(:first-child),
.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
- border-bottom-left-radius: 0;
border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
}
.form-control + .input-group-addon:not(:first-child) {
@@ -3635,10 +3458,6 @@ tbody.collapse.show {
.input-group-btn > .btn {
position: relative;
- -webkit-box-flex: 1;
- -webkit-flex: 1 1 0%;
- -ms-flex: 1 1 0%;
- flex: 1 1 0%;
}
.input-group-btn > .btn + .btn {
@@ -3676,7 +3495,6 @@ tbody.collapse.show {
min-height: 1.5rem;
padding-left: 1.5rem;
margin-right: 1rem;
- cursor: pointer;
}
.custom-control-input {
@@ -3701,13 +3519,11 @@ tbody.collapse.show {
}
.custom-control-input:disabled ~ .custom-control-indicator {
- cursor: not-allowed;
background-color: #eceeef;
}
.custom-control-input:disabled ~ .custom-control-description {
color: #636c72;
- cursor: not-allowed;
}
.custom-control-indicator {
@@ -3783,8 +3599,9 @@ tbody.collapse.show {
background-size: 8px 10px;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
- -moz-appearance: none;
-webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
}
.custom-select:focus {
@@ -3799,7 +3616,6 @@ tbody.collapse.show {
.custom-select:disabled {
color: #636c72;
- cursor: not-allowed;
background-color: #eceeef;
}
@@ -3819,14 +3635,13 @@ tbody.collapse.show {
max-width: 100%;
height: 2.5rem;
margin-bottom: 0;
- cursor: pointer;
}
.custom-file-input {
min-width: 14rem;
max-width: 100%;
+ height: 2.5rem;
margin: 0;
- filter: alpha(opacity=0);
opacity: 0;
}
@@ -3840,6 +3655,7 @@ tbody.collapse.show {
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
+ pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
@@ -3849,7 +3665,7 @@ tbody.collapse.show {
border-radius: 0.25rem;
}
-.custom-file-control:lang(en)::after {
+.custom-file-control:lang(en):empty::after {
content: "Choose file...";
}
@@ -3878,6 +3694,9 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
padding-left: 0;
margin-bottom: 0;
list-style: none;
@@ -3885,7 +3704,7 @@ tbody.collapse.show {
.nav-link {
display: block;
- padding: 0.5em 1em;
+ padding: 0.5rem 1rem;
}
.nav-link:focus, .nav-link:hover {
@@ -3894,7 +3713,6 @@ tbody.collapse.show {
.nav-link.disabled {
color: #636c72;
- cursor: not-allowed;
}
.nav-tabs {
@@ -3907,8 +3725,8 @@ tbody.collapse.show {
.nav-tabs .nav-link {
border: 1px solid transparent;
- border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
}
.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
@@ -3930,8 +3748,8 @@ tbody.collapse.show {
.nav-tabs .dropdown-menu {
margin-top: -1px;
- border-top-right-radius: 0;
border-top-left-radius: 0;
+ border-top-right-radius: 0;
}
.nav-pills .nav-link {
@@ -3939,9 +3757,8 @@ tbody.collapse.show {
}
.nav-pills .nav-link.active,
-.nav-pills .nav-item.show .nav-link {
+.show .nav-pills .nav-link {
color: #fff;
- cursor: default;
background-color: #0275d8;
}
@@ -3954,10 +3771,13 @@ tbody.collapse.show {
}
.nav-justified .nav-item {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
-webkit-box-flex: 1;
- -webkit-flex: 1 1 100%;
- -ms-flex: 1 1 100%;
- flex: 1 1 100%;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
text-align: center;
}
@@ -3975,46 +3795,52 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
padding: 0.5rem 1rem;
}
-.navbar-toggler-left {
- position: absolute;
- left: 1rem;
-}
-
-.navbar-toggler-right {
- position: absolute;
- right: 1rem;
-}
-
-.navbar-fixed-top,
-.navbar-fixed-bottom {
- position: fixed;
- right: 0;
- left: 0;
- z-index: 1030;
-}
-
-.navbar-fixed-top {
- top: 0;
-}
-
-.navbar-fixed-bottom {
- bottom: 0;
+.navbar > .container,
+.navbar > .container-fluid {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
}
-.navbar-sticky-top {
- position: -webkit-sticky;
- position: sticky;
- top: 0;
- z-index: 1030;
+@media (max-width: 575px) {
+ .navbar > .container,
+ .navbar > .container-fluid {
+ width: 100%;
+ margin-right: 0;
+ margin-left: 0;
+ }
}
.navbar-brand {
display: inline-block;
- padding-top: .25rem;
- padding-bottom: .25rem;
+ padding-top: 0.3125rem;
+ padding-bottom: 0.3125rem;
margin-right: 1rem;
font-size: 1.25rem;
line-height: inherit;
@@ -4025,24 +3851,44 @@ tbody.collapse.show {
text-decoration: none;
}
-.navbar-divider {
- float: left;
- width: 1px;
- padding-top: 0.425rem;
- padding-bottom: 0.425rem;
- margin-right: 1rem;
- margin-left: 1rem;
- overflow: hidden;
+.navbar-nav {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+
+.navbar-nav .nav-link {
+ padding-right: 0;
+ padding-left: 0;
}
-.navbar-divider::before {
- content: "\00a0";
+.navbar-nav .dropdown-menu {
+ position: static !important;
+ float: none;
+ -webkit-transform: unset !important;
+ -o-transform: unset !important;
+ transform: unset !important;
}
.navbar-text {
display: inline-block;
- padding-top: .425rem;
- padding-bottom: .425rem;
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+
+.navbar-collapse {
+ -webkit-flex-basis: 100%;
+ -ms-flex-preferred-size: 100%;
+ flex-basis: 100%;
}
.navbar-toggler {
@@ -4069,396 +3915,361 @@ tbody.collapse.show {
background-size: 100% 100%;
}
-.navbar-nav {
- -webkit-box-flex: 10;
- -webkit-flex-grow: 10;
- -ms-flex-positive: 10;
- flex-grow: 10;
-}
-
-.navbar-nav .nav-link {
- display: block;
- padding-top: .425rem;
- padding-bottom: .425rem;
-}
-
-.navbar-light .navbar-brand,
-.navbar-light .navbar-toggler {
- color: rgba(0, 0, 0, 0.9);
-}
-
-.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,
-.navbar-light .navbar-toggler:focus,
-.navbar-light .navbar-toggler:hover {
- color: rgba(0, 0, 0, 0.9);
-}
-
-.navbar-light .navbar-nav .nav-link {
- color: rgba(0, 0, 0, 0.5);
-}
-
-.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
- color: rgba(0, 0, 0, 0.7);
-}
-
-.navbar-light .navbar-nav .nav-link.disabled {
- color: rgba(0, 0, 0, 0.3);
-}
-
-.navbar-light .navbar-nav .open > .nav-link,
-.navbar-light .navbar-nav .active > .nav-link,
-.navbar-light .navbar-nav .nav-link.open,
-.navbar-light .navbar-nav .nav-link.active {
- color: rgba(0, 0, 0, 0.9);
-}
-
-.navbar-light .navbar-toggler {
- border-color: rgba(0, 0, 0, 0.1);
-}
-
-.navbar-light .navbar-toggler-icon {
- background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
-}
-
-.navbar-light .navbar-divider {
- background-color: rgba(0, 0, 0, 0.075);
-}
-
-.navbar-light .navbar-text {
- color: rgba(0, 0, 0, 0.5);
-}
-
-.navbar-inverse .navbar-brand,
-.navbar-inverse .navbar-toggler {
- color: white;
-}
-
-.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,
-.navbar-inverse .navbar-toggler:focus,
-.navbar-inverse .navbar-toggler:hover {
- color: white;
-}
-
-.navbar-inverse .navbar-nav .nav-link {
- color: rgba(255, 255, 255, 0.5);
-}
-
-.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {
- color: rgba(255, 255, 255, 0.75);
-}
-
-.navbar-inverse .navbar-nav .nav-link.disabled {
- color: rgba(255, 255, 255, 0.25);
-}
-
-.navbar-inverse .navbar-nav .open > .nav-link,
-.navbar-inverse .navbar-nav .active > .nav-link,
-.navbar-inverse .navbar-nav .nav-link.open,
-.navbar-inverse .navbar-nav .nav-link.active {
- color: white;
-}
-
-.navbar-inverse .navbar-toggler {
- border-color: rgba(255, 255, 255, 0.1);
-}
-
-.navbar-inverse .navbar-toggler-icon {
- background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
-}
-
-.navbar-inverse .navbar-divider {
- background-color: rgba(255, 255, 255, 0.075);
-}
-
-.navbar-inverse .navbar-text {
- color: rgba(255, 255, 255, 0.5);
-}
-
@media (max-width: 575px) {
- .navbar-toggleable .navbar-nav .dropdown-menu {
- position: static;
- float: none;
- }
- .navbar-toggleable > .container {
+ .navbar-expand-sm > .container,
+ .navbar-expand-sm > .container-fluid {
padding-right: 0;
padding-left: 0;
}
}
@media (min-width: 576px) {
- .navbar-toggleable {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-sm {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
}
- .navbar-toggleable > .container {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-sm .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-sm .navbar-nav .dropdown-menu {
+ position: absolute !important;
+ top: 100% !important;
+ }
+ .navbar-expand-sm .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-expand-sm > .container,
+ .navbar-expand-sm > .container-fluid {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
}
- .navbar-toggleable .navbar-collapse {
+ .navbar-expand-sm .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
- width: 100%;
- }
- .navbar-toggleable .nav-item {
- display: inline-block;
}
- .navbar-toggleable .nav-link {
- padding-right: .5rem;
- padding-left: .5rem;
- }
- .navbar-toggleable .navbar-toggler {
+ .navbar-expand-sm .navbar-toggler {
display: none;
}
}
@media (max-width: 767px) {
- .navbar-toggleable-sm .navbar-nav .dropdown-menu {
- position: static;
- float: none;
- }
- .navbar-toggleable-sm > .container {
+ .navbar-expand-md > .container,
+ .navbar-expand-md > .container-fluid {
padding-right: 0;
padding-left: 0;
}
}
@media (min-width: 768px) {
- .navbar-toggleable-sm {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-md {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
}
- .navbar-toggleable-sm > .container {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-md .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-md .navbar-nav .dropdown-menu {
+ position: absolute !important;
+ top: 100% !important;
+ }
+ .navbar-expand-md .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-expand-md > .container,
+ .navbar-expand-md > .container-fluid {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
}
- .navbar-toggleable-sm .navbar-collapse {
+ .navbar-expand-md .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
- width: 100%;
- }
- .navbar-toggleable-sm .nav-item {
- display: inline-block;
}
- .navbar-toggleable-sm .nav-link {
- padding-right: .5rem;
- padding-left: .5rem;
- }
- .navbar-toggleable-sm .navbar-toggler {
+ .navbar-expand-md .navbar-toggler {
display: none;
}
}
@media (max-width: 991px) {
- .navbar-toggleable-md .navbar-nav .dropdown-menu {
- position: static;
- float: none;
- }
- .navbar-toggleable-md > .container {
+ .navbar-expand-lg > .container,
+ .navbar-expand-lg > .container-fluid {
padding-right: 0;
padding-left: 0;
}
}
@media (min-width: 992px) {
- .navbar-toggleable-md {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-lg {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
}
- .navbar-toggleable-md > .container {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-lg .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-lg .navbar-nav .dropdown-menu {
+ position: absolute !important;
+ top: 100% !important;
+ }
+ .navbar-expand-lg .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-expand-lg > .container,
+ .navbar-expand-lg > .container-fluid {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
}
- .navbar-toggleable-md .navbar-collapse {
+ .navbar-expand-lg .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
- width: 100%;
- }
- .navbar-toggleable-md .nav-item {
- display: inline-block;
- }
- .navbar-toggleable-md .nav-link {
- padding-right: .5rem;
- padding-left: .5rem;
}
- .navbar-toggleable-md .navbar-toggler {
+ .navbar-expand-lg .navbar-toggler {
display: none;
}
}
@media (max-width: 1199px) {
- .navbar-toggleable-lg .navbar-nav .dropdown-menu {
- position: static;
- float: none;
- }
- .navbar-toggleable-lg > .container {
+ .navbar-expand-xl > .container,
+ .navbar-expand-xl > .container-fluid {
padding-right: 0;
padding-left: 0;
}
}
@media (min-width: 1200px) {
- .navbar-toggleable-lg {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-xl {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
}
- .navbar-toggleable-lg > .container {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-xl .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-xl .navbar-nav .dropdown-menu {
+ position: absolute !important;
+ top: 100% !important;
+ }
+ .navbar-expand-xl .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-expand-xl > .container,
+ .navbar-expand-xl > .container-fluid {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
}
- .navbar-toggleable-lg .navbar-collapse {
+ .navbar-expand-xl .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
- width: 100%;
}
- .navbar-toggleable-lg .nav-item {
- display: inline-block;
- }
- .navbar-toggleable-lg .nav-link {
- padding-right: .5rem;
- padding-left: .5rem;
- }
- .navbar-toggleable-lg .navbar-toggler {
+ .navbar-expand-xl .navbar-toggler {
display: none;
}
}
-.navbar-toggleable-xl {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+.navbar-expand {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
-}
-
-.navbar-toggleable-xl .navbar-nav .dropdown-menu {
- position: static;
- float: none;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
}
-.navbar-toggleable-xl > .container {
+.navbar-expand > .container,
+.navbar-expand > .container-fluid {
padding-right: 0;
padding-left: 0;
}
-.navbar-toggleable-xl > .container {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+.navbar-expand .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+}
+
+.navbar-expand .navbar-nav .dropdown-menu {
+ position: absolute !important;
+ top: 100% !important;
+}
+
+.navbar-expand .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+}
+
+.navbar-expand > .container,
+.navbar-expand > .container-fluid {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
}
-.navbar-toggleable-xl .navbar-collapse {
+.navbar-expand .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
- width: 100%;
}
-.navbar-toggleable-xl .nav-item {
- display: inline-block;
+.navbar-expand .navbar-toggler {
+ display: none;
}
-.navbar-toggleable-xl .nav-link {
- padding-right: .5rem;
- padding-left: .5rem;
+.navbar-light .navbar-brand {
+ color: rgba(0, 0, 0, 0.9);
}
-.navbar-toggleable-xl .navbar-toggler {
- display: none;
+.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {
+ color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-nav .nav-link {
+ color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.navbar-light .navbar-nav .nav-link.disabled {
+ color: rgba(0, 0, 0, 0.3);
+}
+
+.navbar-light .navbar-nav .show > .nav-link,
+.navbar-light .navbar-nav .active > .nav-link,
+.navbar-light .navbar-nav .nav-link.show,
+.navbar-light .navbar-nav .nav-link.active {
+ color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-toggler {
+ color: rgba(0, 0, 0, 0.5);
+ border-color: rgba(0, 0, 0, 0.1);
+}
+
+.navbar-light .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
+}
+
+.navbar-light .navbar-text {
+ color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-inverse .navbar-brand {
+ color: white;
+}
+
+.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover {
+ color: white;
+}
+
+.navbar-inverse .navbar-nav .nav-link {
+ color: rgba(255, 255, 255, 0.5);
+}
+
+.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {
+ color: rgba(255, 255, 255, 0.75);
+}
+
+.navbar-inverse .navbar-nav .nav-link.disabled {
+ color: rgba(255, 255, 255, 0.25);
+}
+
+.navbar-inverse .navbar-nav .show > .nav-link,
+.navbar-inverse .navbar-nav .active > .nav-link,
+.navbar-inverse .navbar-nav .nav-link.show,
+.navbar-inverse .navbar-nav .nav-link.active {
+ color: white;
+}
+
+.navbar-inverse .navbar-toggler {
+ color: rgba(255, 255, 255, 0.5);
+ border-color: rgba(255, 255, 255, 0.1);
+}
+
+.navbar-inverse .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
+}
+
+.navbar-inverse .navbar-text {
+ color: rgba(255, 255, 255, 0.5);
}
.card {
@@ -4487,6 +4298,7 @@ tbody.collapse.show {
.card-title {
margin-bottom: 0.75rem;
+ word-break: break-all;
}
.card-subtitle {
@@ -4507,8 +4319,8 @@ tbody.collapse.show {
}
.card > .list-group:first-child .list-group-item:first-child {
- border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
}
.card > .list-group:last-child .list-group-item:last-child {
@@ -4604,31 +4416,67 @@ tbody.collapse.show {
border-color: #0275d8;
}
+.card-outline-primary .card-header,
+.card-outline-primary .card-footer {
+ background-color: transparent;
+ border-color: #0275d8;
+}
+
.card-outline-secondary {
background-color: transparent;
border-color: #ccc;
}
+.card-outline-secondary .card-header,
+.card-outline-secondary .card-footer {
+ background-color: transparent;
+ border-color: #ccc;
+}
+
.card-outline-info {
background-color: transparent;
border-color: #5bc0de;
}
+.card-outline-info .card-header,
+.card-outline-info .card-footer {
+ background-color: transparent;
+ border-color: #5bc0de;
+}
+
.card-outline-success {
background-color: transparent;
border-color: #5cb85c;
}
+.card-outline-success .card-header,
+.card-outline-success .card-footer {
+ background-color: transparent;
+ border-color: #5cb85c;
+}
+
.card-outline-warning {
background-color: transparent;
border-color: #f0ad4e;
}
+.card-outline-warning .card-header,
+.card-outline-warning .card-footer {
+ background-color: transparent;
+ border-color: #f0ad4e;
+}
+
.card-outline-danger {
background-color: transparent;
border-color: #d9534f;
}
+.card-outline-danger .card-header,
+.card-outline-danger .card-footer {
+ background-color: transparent;
+ border-color: #d9534f;
+}
+
.card-inverse {
color: rgba(255, 255, 255, 0.65);
}
@@ -4663,10 +4511,6 @@ tbody.collapse.show {
border-left: 0;
}
-.card-img {
- border-radius: calc(0.25rem - 1px);
-}
-
.card-img-overlay {
position: absolute;
top: 0;
@@ -4676,12 +4520,19 @@ tbody.collapse.show {
padding: 1.25rem;
}
+.card-img {
+ width: 100%;
+ border-radius: calc(0.25rem - 1px);
+}
+
.card-img-top {
- border-top-right-radius: calc(0.25rem - 1px);
+ width: 100%;
border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
}
.card-img-bottom {
+ width: 100%;
border-bottom-right-radius: calc(0.25rem - 1px);
border-bottom-left-radius: calc(0.25rem - 1px);
}
@@ -4692,9 +4543,13 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
+ margin-right: -15px;
+ margin-left: -15px;
}
.card-deck .card {
display: -webkit-box;
@@ -4702,20 +4557,16 @@ tbody.collapse.show {
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
- -webkit-flex: 1 0 0%;
- -ms-flex: 1 0 0%;
+ -webkit-flex: 1 0 0;
+ -ms-flex: 1 0 0px;
flex: 1 0 0%;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
- }
- .card-deck .card:not(:first-child) {
- margin-left: 15px;
- }
- .card-deck .card:not(:last-child) {
margin-right: 15px;
+ margin-left: 15px;
}
}
@@ -4725,14 +4576,16 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-group .card {
-webkit-box-flex: 1;
- -webkit-flex: 1 0 0%;
- -ms-flex: 1 0 0%;
+ -webkit-flex: 1 0 0;
+ -ms-flex: 1 0 0px;
flex: 1 0 0%;
}
.card-group .card + .card {
@@ -4740,8 +4593,8 @@ tbody.collapse.show {
border-left: 0;
}
.card-group .card:first-child {
- border-bottom-right-radius: 0;
border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
}
.card-group .card:first-child .card-img-top {
border-top-right-radius: 0;
@@ -4750,8 +4603,8 @@ tbody.collapse.show {
border-bottom-right-radius: 0;
}
.card-group .card:last-child {
- border-bottom-left-radius: 0;
border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
}
.card-group .card:last-child .card-img-top {
border-top-left-radius: 0;
@@ -4768,6 +4621,10 @@ tbody.collapse.show {
}
}
+.card-columns .card {
+ margin-bottom: 0.75rem;
+}
+
@media (min-width: 576px) {
.card-columns {
-webkit-column-count: 3;
@@ -4780,7 +4637,6 @@ tbody.collapse.show {
.card-columns .card {
display: inline-block;
width: 100%;
- margin-bottom: 0.75rem;
}
}
@@ -4794,8 +4650,8 @@ tbody.collapse.show {
.breadcrumb::after {
display: block;
- content: "";
clear: both;
+ content: "";
}
.breadcrumb-item {
@@ -4834,13 +4690,13 @@ tbody.collapse.show {
.page-item:first-child .page-link {
margin-left: 0;
- border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
}
.page-item:last-child .page-link {
- border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
+ border-bottom-right-radius: 0.25rem;
}
.page-item.active .page-link {
@@ -4853,7 +4709,6 @@ tbody.collapse.show {
.page-item.disabled .page-link {
color: #636c72;
pointer-events: none;
- cursor: not-allowed;
background-color: #fff;
border-color: #ddd;
}
@@ -4882,13 +4737,13 @@ tbody.collapse.show {
}
.pagination-lg .page-item:first-child .page-link {
- border-bottom-left-radius: 0.3rem;
border-top-left-radius: 0.3rem;
+ border-bottom-left-radius: 0.3rem;
}
.pagination-lg .page-item:last-child .page-link {
- border-bottom-right-radius: 0.3rem;
border-top-right-radius: 0.3rem;
+ border-bottom-right-radius: 0.3rem;
}
.pagination-sm .page-link {
@@ -4897,13 +4752,13 @@ tbody.collapse.show {
}
.pagination-sm .page-item:first-child .page-link {
- border-bottom-left-radius: 0.2rem;
border-top-left-radius: 0.2rem;
+ border-bottom-left-radius: 0.2rem;
}
.pagination-sm .page-item:last-child .page-link {
- border-bottom-right-radius: 0.2rem;
border-top-right-radius: 0.2rem;
+ border-bottom-right-radius: 0.2rem;
}
.badge {
@@ -4931,7 +4786,6 @@ tbody.collapse.show {
a.badge:focus, a.badge:hover {
color: #fff;
text-decoration: none;
- cursor: pointer;
}
.badge-pill {
@@ -5001,10 +4855,6 @@ a.badge:focus, a.badge:hover {
}
}
-.jumbotron-hr {
- border-top-color: #d0d5d8;
-}
-
.jumbotron-fluid {
padding-right: 0;
padding-left: 0;
@@ -5035,9 +4885,9 @@ a.badge:focus, a.badge:hover {
}
.alert-success {
+ color: #3c763d;
background-color: #dff0d8;
border-color: #d0e9c6;
- color: #3c763d;
}
.alert-success hr {
@@ -5049,9 +4899,9 @@ a.badge:focus, a.badge:hover {
}
.alert-info {
+ color: #31708f;
background-color: #d9edf7;
border-color: #bcdff1;
- color: #31708f;
}
.alert-info hr {
@@ -5063,9 +4913,9 @@ a.badge:focus, a.badge:hover {
}
.alert-warning {
+ color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faf2cc;
- color: #8a6d3b;
}
.alert-warning hr {
@@ -5077,9 +4927,9 @@ a.badge:focus, a.badge:hover {
}
.alert-danger {
+ color: #a94442;
background-color: #f2dede;
border-color: #ebcccc;
- color: #a94442;
}
.alert-danger hr {
@@ -5118,116 +4968,40 @@ a.badge:focus, a.badge:hover {
}
.progress {
- display: block;
- width: 100%;
- height: 1rem;
- margin-bottom: 1rem;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
overflow: hidden;
-}
-
-.progress[value] {
+ font-size: 0.75rem;
+ line-height: 1rem;
+ text-align: center;
background-color: #eceeef;
- border: 0;
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
border-radius: 0.25rem;
}
-.progress[value]::-ms-fill {
- background-color: #0275d8;
- border: 0;
-}
-
-.progress[value]::-moz-progress-bar {
- background-color: #0275d8;
-}
-
-.progress[value]::-webkit-progress-value {
+.progress-bar {
+ height: 1rem;
+ line-height: 1rem;
+ color: #fff;
background-color: #0275d8;
+ -webkit-transition: width 0.6s ease;
+ -o-transition: width 0.6s ease;
+ transition: width 0.6s ease;
}
-.progress[value]::-webkit-progress-bar {
- background-color: #eceeef;
-}
-
-base::-moz-progress-bar,
-.progress[value] {
- background-color: #eceeef;
-}
-
-.progress-striped[value]::-webkit-progress-value {
+.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-webkit-background-size: 1rem 1rem;
background-size: 1rem 1rem;
}
-.progress-striped[value]::-moz-progress-bar {
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-size: 1rem 1rem;
-}
-
-.progress-striped[value]::-ms-fill {
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-size: 1rem 1rem;
-}
-
-.progress-animated[value]::-webkit-progress-value {
- -webkit-animation: progress-bar-stripes 2s linear infinite;
- animation: progress-bar-stripes 2s linear infinite;
-}
-
-.progress-animated[value]::-moz-progress-bar {
- animation: progress-bar-stripes 2s linear infinite;
-}
-
-.progress-success[value]::-webkit-progress-value {
- background-color: #5cb85c;
-}
-
-.progress-success[value]::-moz-progress-bar {
- background-color: #5cb85c;
-}
-
-.progress-success[value]::-ms-fill {
- background-color: #5cb85c;
-}
-
-.progress-info[value]::-webkit-progress-value {
- background-color: #5bc0de;
-}
-
-.progress-info[value]::-moz-progress-bar {
- background-color: #5bc0de;
-}
-
-.progress-info[value]::-ms-fill {
- background-color: #5bc0de;
-}
-
-.progress-warning[value]::-webkit-progress-value {
- background-color: #f0ad4e;
-}
-
-.progress-warning[value]::-moz-progress-bar {
- background-color: #f0ad4e;
-}
-
-.progress-warning[value]::-ms-fill {
- background-color: #f0ad4e;
-}
-
-.progress-danger[value]::-webkit-progress-value {
- background-color: #d9534f;
-}
-
-.progress-danger[value]::-moz-progress-bar {
- background-color: #d9534f;
-}
-
-.progress-danger[value]::-ms-fill {
- background-color: #d9534f;
+.progress-bar-animated {
+ -webkit-animation: progress-bar-stripes 1s linear infinite;
+ -o-animation: progress-bar-stripes 1s linear infinite;
+ animation: progress-bar-stripes 1s linear infinite;
}
.media {
@@ -5243,8 +5017,8 @@ base::-moz-progress-bar,
.media-body {
-webkit-box-flex: 1;
- -webkit-flex: 1 1 0%;
- -ms-flex: 1 1 0%;
+ -webkit-flex: 1;
+ -ms-flex: 1;
flex: 1 1 0%;
}
@@ -5268,10 +5042,6 @@ base::-moz-progress-bar,
text-align: inherit;
}
-.list-group-item-action .list-group-item-heading {
- color: #292b2c;
-}
-
.list-group-item-action:focus, .list-group-item-action:hover {
color: #464a4c;
text-decoration: none;
@@ -5285,17 +5055,7 @@ base::-moz-progress-bar,
.list-group-item {
position: relative;
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-flex-flow: row wrap;
- -ms-flex-flow: row wrap;
- flex-flow: row wrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ display: block;
padding: 0.75rem 1.25rem;
margin-bottom: -1px;
background-color: #fff;
@@ -5303,8 +5063,8 @@ base::-moz-progress-bar,
}
.list-group-item:first-child {
- border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
}
.list-group-item:last-child {
@@ -5319,18 +5079,9 @@ base::-moz-progress-bar,
.list-group-item.disabled, .list-group-item:disabled {
color: #636c72;
- cursor: not-allowed;
background-color: #fff;
}
-.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {
- color: inherit;
-}
-
-.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {
- color: #636c72;
-}
-
.list-group-item.active {
z-index: 2;
color: #fff;
@@ -5338,16 +5089,6 @@ base::-moz-progress-bar,
border-color: #0275d8;
}
-.list-group-item.active .list-group-item-heading,
-.list-group-item.active .list-group-item-heading > small,
-.list-group-item.active .list-group-item-heading > .small {
- color: inherit;
-}
-
-.list-group-item.active .list-group-item-text {
- color: #daeeff;
-}
-
.list-group-flush .list-group-item {
border-right: 0;
border-left: 0;
@@ -5372,11 +5113,6 @@ button.list-group-item-success {
color: #3c763d;
}
-a.list-group-item-success .list-group-item-heading,
-button.list-group-item-success .list-group-item-heading {
- color: inherit;
-}
-
a.list-group-item-success:focus, a.list-group-item-success:hover,
button.list-group-item-success:focus,
button.list-group-item-success:hover {
@@ -5401,11 +5137,6 @@ button.list-group-item-info {
color: #31708f;
}
-a.list-group-item-info .list-group-item-heading,
-button.list-group-item-info .list-group-item-heading {
- color: inherit;
-}
-
a.list-group-item-info:focus, a.list-group-item-info:hover,
button.list-group-item-info:focus,
button.list-group-item-info:hover {
@@ -5430,11 +5161,6 @@ button.list-group-item-warning {
color: #8a6d3b;
}
-a.list-group-item-warning .list-group-item-heading,
-button.list-group-item-warning .list-group-item-heading {
- color: inherit;
-}
-
a.list-group-item-warning:focus, a.list-group-item-warning:hover,
button.list-group-item-warning:focus,
button.list-group-item-warning:hover {
@@ -5459,11 +5185,6 @@ button.list-group-item-danger {
color: #a94442;
}
-a.list-group-item-danger .list-group-item-heading,
-button.list-group-item-danger .list-group-item-heading {
- color: inherit;
-}
-
a.list-group-item-danger:focus, a.list-group-item-danger:hover,
button.list-group-item-danger:focus,
button.list-group-item-danger:hover {
@@ -5481,11 +5202,16 @@ button.list-group-item-danger.active {
.embed-responsive {
position: relative;
display: block;
- height: 0;
+ width: 100%;
padding: 0;
overflow: hidden;
}
+.embed-responsive::before {
+ display: block;
+ content: "";
+}
+
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
@@ -5500,20 +5226,20 @@ button.list-group-item-danger.active {
border: 0;
}
-.embed-responsive-21by9 {
- padding-bottom: 42.857143%;
+.embed-responsive-21by9::before {
+ padding-top: 42.857143%;
}
-.embed-responsive-16by9 {
- padding-bottom: 56.25%;
+.embed-responsive-16by9::before {
+ padding-top: 56.25%;
}
-.embed-responsive-4by3 {
- padding-bottom: 75%;
+.embed-responsive-4by3::before {
+ padding-top: 75%;
}
-.embed-responsive-1by1 {
- padding-bottom: 100%;
+.embed-responsive-1by1::before {
+ padding-top: 100%;
}
.close {
@@ -5529,13 +5255,11 @@ button.list-group-item-danger.active {
.close:focus, .close:hover {
color: #000;
text-decoration: none;
- cursor: pointer;
opacity: .75;
}
button.close {
padding: 0;
- cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
@@ -5706,20 +5430,21 @@ button.close {
position: absolute;
z-index: 1070;
display: block;
- font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ margin: 0;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
- letter-spacing: normal;
- line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
- white-space: normal;
+ letter-spacing: normal;
word-break: normal;
word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
font-size: 0.875rem;
word-wrap: break-word;
opacity: 0;
@@ -5729,62 +5454,80 @@ button.close {
opacity: 0.9;
}
-.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {
+.tooltip .arrow {
+ position: absolute;
+ display: block;
+ width: 5px;
+ height: 5px;
+}
+
+.tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^="top"] {
padding: 5px 0;
- margin-top: -3px;
}
-.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {
+.tooltip.bs-tooltip-top .arrow, .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow {
bottom: 0;
- left: 50%;
- margin-left: -5px;
+}
+
+.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="top"] .arrow::before {
+ margin-left: -3px;
content: "";
border-width: 5px 5px 0;
border-top-color: #000;
}
-.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {
+.tooltip.bs-tooltip-right, .tooltip.bs-tooltip-auto[x-placement^="right"] {
padding: 0 5px;
- margin-left: 3px;
}
-.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {
- top: 50%;
+.tooltip.bs-tooltip-right .arrow, .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow {
left: 0;
- margin-top: -5px;
+}
+
+.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="right"] .arrow::before {
+ margin-top: -3px;
content: "";
border-width: 5px 5px 5px 0;
border-right-color: #000;
}
-.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {
+.tooltip.bs-tooltip-bottom, .tooltip.bs-tooltip-auto[x-placement^="bottom"] {
padding: 5px 0;
- margin-top: 3px;
}
-.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {
+.tooltip.bs-tooltip-bottom .arrow, .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow {
top: 0;
- left: 50%;
- margin-left: -5px;
+}
+
+.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
+ margin-left: -3px;
content: "";
border-width: 0 5px 5px;
border-bottom-color: #000;
}
-.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {
+.tooltip.bs-tooltip-left, .tooltip.bs-tooltip-auto[x-placement^="left"] {
padding: 0 5px;
- margin-left: -3px;
}
-.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {
- top: 50%;
+.tooltip.bs-tooltip-left .arrow, .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow {
right: 0;
- margin-top: -5px;
+}
+
+.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^="left"] .arrow::before {
+ right: 0;
+ margin-top: -3px;
content: "";
border-width: 5px 0 5px 5px;
border-left-color: #000;
}
+.tooltip .arrow::before {
+ position: absolute;
+ border-color: transparent;
+ border-style: solid;
+}
+
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
@@ -5794,14 +5537,6 @@ button.close {
border-radius: 0.25rem;
}
-.tooltip-inner::before {
- position: absolute;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
-}
-
.popover {
position: absolute;
top: 0;
@@ -5810,20 +5545,20 @@ button.close {
display: block;
max-width: 276px;
padding: 1px;
- font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
- letter-spacing: normal;
- line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
- white-space: normal;
+ letter-spacing: normal;
word-break: normal;
word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
font-size: 0.875rem;
word-wrap: break-word;
background-color: #fff;
@@ -5833,70 +5568,105 @@ button.close {
border-radius: 0.3rem;
}
-.popover.popover-top, .popover.bs-tether-element-attached-bottom {
- margin-top: -10px;
+.popover .arrow {
+ position: absolute;
+ display: block;
+ width: 10px;
+ height: 5px;
+}
+
+.popover .arrow::before,
+.popover .arrow::after {
+ position: absolute;
+ display: block;
+ border-color: transparent;
+ border-style: solid;
}
-.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {
- left: 50%;
+.popover .arrow::before {
+ content: "";
+ border-width: 11px;
+}
+
+.popover .arrow::after {
+ content: "";
+ border-width: 11px;
+}
+
+.popover.bs-popover-top, .popover.bs-popover-auto[x-placement^="top"] {
+ margin-bottom: 10px;
+}
+
+.popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^="top"] .arrow {
+ bottom: 0;
+}
+
+.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^="top"] .arrow::before,
+.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^="top"] .arrow::after {
border-bottom-width: 0;
}
-.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {
+.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^="top"] .arrow::before {
bottom: -11px;
- margin-left: -11px;
+ margin-left: -6px;
border-top-color: rgba(0, 0, 0, 0.25);
}
-.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {
+.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^="top"] .arrow::after {
bottom: -10px;
- margin-left: -10px;
+ margin-left: -6px;
border-top-color: #fff;
}
-.popover.popover-right, .popover.bs-tether-element-attached-left {
+.popover.bs-popover-right, .popover.bs-popover-auto[x-placement^="right"] {
margin-left: 10px;
}
-.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {
- top: 50%;
+.popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^="right"] .arrow {
+ left: 0;
+}
+
+.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^="right"] .arrow::before,
+.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^="right"] .arrow::after {
+ margin-top: -8px;
border-left-width: 0;
}
-.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {
+.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^="right"] .arrow::before {
left: -11px;
- margin-top: -11px;
border-right-color: rgba(0, 0, 0, 0.25);
}
-.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {
+.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^="right"] .arrow::after {
left: -10px;
- margin-top: -10px;
border-right-color: #fff;
}
-.popover.popover-bottom, .popover.bs-tether-element-attached-top {
+.popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^="bottom"] {
margin-top: 10px;
}
-.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {
- left: 50%;
+.popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^="bottom"] .arrow {
+ top: 0;
+}
+
+.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::before,
+.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after {
+ margin-left: -7px;
border-top-width: 0;
}
-.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {
+.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::before {
top: -11px;
- margin-left: -11px;
border-bottom-color: rgba(0, 0, 0, 0.25);
}
-.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {
+.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^="bottom"] .arrow::after {
top: -10px;
- margin-left: -10px;
- border-bottom-color: #f7f7f7;
+ border-bottom-color: #fff;
}
-.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {
+.popover.bs-popover-bottom .popover-title::before, .popover.bs-popover-auto[x-placement^="bottom"] .popover-title::before {
position: absolute;
top: 0;
left: 50%;
@@ -5907,34 +5677,39 @@ button.close {
border-bottom: 1px solid #f7f7f7;
}
-.popover.popover-left, .popover.bs-tether-element-attached-right {
- margin-left: -10px;
+.popover.bs-popover-left, .popover.bs-popover-auto[x-placement^="left"] {
+ margin-right: 10px;
}
-.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {
- top: 50%;
+.popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^="left"] .arrow {
+ right: 0;
+}
+
+.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^="left"] .arrow::before,
+.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^="left"] .arrow::after {
+ margin-top: -8px;
border-right-width: 0;
}
-.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {
+.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^="left"] .arrow::before {
right: -11px;
- margin-top: -11px;
border-left-color: rgba(0, 0, 0, 0.25);
}
-.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {
+.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^="left"] .arrow::after {
right: -10px;
- margin-top: -10px;
border-left-color: #fff;
}
.popover-title {
padding: 8px 14px;
- margin: 0;
+ margin-bottom: 0;
font-size: 1rem;
+ color: inherit;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
- border-radius: 0.2375rem 0.2375rem 0 0;
+ border-top-left-radius: calc(0.3rem - 1px);
+ border-top-right-radius: calc(0.3rem - 1px);
}
.popover-title:empty {
@@ -5943,26 +5718,7 @@ button.close {
.popover-content {
padding: 9px 14px;
-}
-
-.popover::before,
-.popover::after {
- position: absolute;
- display: block;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
-}
-
-.popover::before {
- content: "";
- border-width: 11px;
-}
-
-.popover::after {
- content: "";
- border-width: 10px;
+ color: #292b2c;
}
.carousel {
@@ -5978,35 +5734,20 @@ button.close {
.carousel-item {
position: relative;
display: none;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
width: 100%;
-}
-
-@media (-webkit-transform-3d) {
- .carousel-item {
- -webkit-transition: -webkit-transform 0.6s ease-in-out;
- transition: -webkit-transform 0.6s ease-in-out;
- -o-transition: -o-transform 0.6s ease-in-out;
- transition: transform 0.6s ease-in-out;
- transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- -webkit-perspective: 1000px;
- perspective: 1000px;
- }
-}
-
-@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
- .carousel-item {
- -webkit-transition: -webkit-transform 0.6s ease-in-out;
- transition: -webkit-transform 0.6s ease-in-out;
- -o-transition: -o-transform 0.6s ease-in-out;
- transition: transform 0.6s ease-in-out;
- transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- -webkit-perspective: 1000px;
- perspective: 1000px;
- }
+ -webkit-transition: -webkit-transform 0.6s ease;
+ transition: -webkit-transform 0.6s ease;
+ -o-transition: -o-transform 0.6s ease;
+ transition: transform 0.6s ease;
+ transition: transform 0.6s ease, -webkit-transform 0.6s ease, -o-transform 0.6s ease;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-perspective: 1000px;
+ perspective: 1000px;
}
.carousel-item.active,
@@ -6024,40 +5765,22 @@ button.close {
top: 0;
}
-@media (-webkit-transform-3d) {
- .carousel-item-next.carousel-item-left,
- .carousel-item-prev.carousel-item-right {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- .carousel-item-next,
- .active.carousel-item-right {
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
- .carousel-item-prev,
- .active.carousel-item-left {
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- }
+.carousel-item-next.carousel-item-left,
+.carousel-item-prev.carousel-item-right {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
}
-@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
- .carousel-item-next.carousel-item-left,
- .carousel-item-prev.carousel-item-right {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- .carousel-item-next,
- .active.carousel-item-right {
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
- .carousel-item-prev,
- .active.carousel-item-left {
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- }
+.carousel-item-next,
+.active.carousel-item-right {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+}
+
+.carousel-item-prev,
+.active.carousel-item-left {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
}
.carousel-control-prev,
@@ -6149,7 +5872,6 @@ button.close {
margin-right: 3px;
margin-left: 3px;
text-indent: -999px;
- cursor: pointer;
background-color: rgba(255, 255, 255, 0.5);
}
@@ -6290,13 +6012,13 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.rounded-top {
- border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
}
.rounded-right {
- border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
+ border-bottom-right-radius: 0.25rem;
}
.rounded-bottom {
@@ -6305,8 +6027,8 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.rounded-left {
- border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
}
.rounded-circle {
@@ -6319,8 +6041,8 @@ a.bg-inverse:focus, a.bg-inverse:hover {
.clearfix::after {
display: block;
- content: "";
clear: both;
+ content: "";
}
.d-none {
@@ -6493,21 +6215,57 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
}
-.flex-first {
+.d-print-block {
+ display: none !important;
+}
+
+@media print {
+ .d-print-block {
+ display: block !important;
+ }
+}
+
+.d-print-inline {
+ display: none !important;
+}
+
+@media print {
+ .d-print-inline {
+ display: inline !important;
+ }
+}
+
+.d-print-inline-block {
+ display: none !important;
+}
+
+@media print {
+ .d-print-inline-block {
+ display: inline-block !important;
+ }
+}
+
+@media print {
+ .d-print-none {
+ display: none !important;
+ }
+}
+
+.order-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
-.flex-last {
+.order-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
-.flex-unordered {
+.order-0 {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
@@ -6709,19 +6467,19 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
@media (min-width: 576px) {
- .flex-sm-first {
+ .order-sm-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
- .flex-sm-last {
+ .order-sm-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
- .flex-sm-unordered {
+ .order-sm-0 {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
@@ -6895,19 +6653,19 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
@media (min-width: 768px) {
- .flex-md-first {
+ .order-md-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
- .flex-md-last {
+ .order-md-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
- .flex-md-unordered {
+ .order-md-0 {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
@@ -7081,19 +6839,19 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
@media (min-width: 992px) {
- .flex-lg-first {
+ .order-lg-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
- .flex-lg-last {
+ .order-lg-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
- .flex-lg-unordered {
+ .order-lg-0 {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
@@ -7267,19 +7025,19 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
@media (min-width: 1200px) {
- .flex-xl-first {
+ .order-xl-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
- .flex-xl-last {
+ .order-xl-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
- .flex-xl-unordered {
+ .order-xl-0 {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
@@ -7512,14 +7270,39 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
}
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.sticky-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+}
+
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
- margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ -webkit-clip-path: inset(50%);
+ clip-path: inset(50%);
border: 0;
}
@@ -7527,9 +7310,11 @@ a.bg-inverse:focus, a.bg-inverse:hover {
position: static;
width: auto;
height: auto;
- margin: 0;
overflow: visible;
clip: auto;
+ white-space: normal;
+ -webkit-clip-path: none;
+ clip-path: none;
}
.w-25 {
@@ -7573,7 +7358,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-0 {
- margin: 0 0 !important;
+ margin: 0 !important;
}
.mt-0 {
@@ -7603,7 +7388,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-1 {
- margin: 0.25rem 0.25rem !important;
+ margin: 0.25rem !important;
}
.mt-1 {
@@ -7633,7 +7418,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-2 {
- margin: 0.5rem 0.5rem !important;
+ margin: 0.5rem !important;
}
.mt-2 {
@@ -7663,7 +7448,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-3 {
- margin: 1rem 1rem !important;
+ margin: 1rem !important;
}
.mt-3 {
@@ -7693,7 +7478,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-4 {
- margin: 1.5rem 1.5rem !important;
+ margin: 1.5rem !important;
}
.mt-4 {
@@ -7723,7 +7508,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-5 {
- margin: 3rem 3rem !important;
+ margin: 3rem !important;
}
.mt-5 {
@@ -7753,7 +7538,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-0 {
- padding: 0 0 !important;
+ padding: 0 !important;
}
.pt-0 {
@@ -7783,7 +7568,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-1 {
- padding: 0.25rem 0.25rem !important;
+ padding: 0.25rem !important;
}
.pt-1 {
@@ -7813,7 +7598,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-2 {
- padding: 0.5rem 0.5rem !important;
+ padding: 0.5rem !important;
}
.pt-2 {
@@ -7843,7 +7628,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-3 {
- padding: 1rem 1rem !important;
+ padding: 1rem !important;
}
.pt-3 {
@@ -7873,7 +7658,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-4 {
- padding: 1.5rem 1.5rem !important;
+ padding: 1.5rem !important;
}
.pt-4 {
@@ -7903,7 +7688,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-5 {
- padding: 3rem 3rem !important;
+ padding: 3rem !important;
}
.pt-5 {
@@ -7964,7 +7749,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
@media (min-width: 576px) {
.m-sm-0 {
- margin: 0 0 !important;
+ margin: 0 !important;
}
.mt-sm-0 {
margin-top: 0 !important;
@@ -7987,7 +7772,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0 !important;
}
.m-sm-1 {
- margin: 0.25rem 0.25rem !important;
+ margin: 0.25rem !important;
}
.mt-sm-1 {
margin-top: 0.25rem !important;
@@ -8010,7 +7795,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.25rem !important;
}
.m-sm-2 {
- margin: 0.5rem 0.5rem !important;
+ margin: 0.5rem !important;
}
.mt-sm-2 {
margin-top: 0.5rem !important;
@@ -8033,7 +7818,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.5rem !important;
}
.m-sm-3 {
- margin: 1rem 1rem !important;
+ margin: 1rem !important;
}
.mt-sm-3 {
margin-top: 1rem !important;
@@ -8056,7 +7841,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1rem !important;
}
.m-sm-4 {
- margin: 1.5rem 1.5rem !important;
+ margin: 1.5rem !important;
}
.mt-sm-4 {
margin-top: 1.5rem !important;
@@ -8079,7 +7864,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1.5rem !important;
}
.m-sm-5 {
- margin: 3rem 3rem !important;
+ margin: 3rem !important;
}
.mt-sm-5 {
margin-top: 3rem !important;
@@ -8102,7 +7887,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 3rem !important;
}
.p-sm-0 {
- padding: 0 0 !important;
+ padding: 0 !important;
}
.pt-sm-0 {
padding-top: 0 !important;
@@ -8125,7 +7910,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0 !important;
}
.p-sm-1 {
- padding: 0.25rem 0.25rem !important;
+ padding: 0.25rem !important;
}
.pt-sm-1 {
padding-top: 0.25rem !important;
@@ -8148,7 +7933,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.25rem !important;
}
.p-sm-2 {
- padding: 0.5rem 0.5rem !important;
+ padding: 0.5rem !important;
}
.pt-sm-2 {
padding-top: 0.5rem !important;
@@ -8171,7 +7956,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.5rem !important;
}
.p-sm-3 {
- padding: 1rem 1rem !important;
+ padding: 1rem !important;
}
.pt-sm-3 {
padding-top: 1rem !important;
@@ -8194,7 +7979,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1rem !important;
}
.p-sm-4 {
- padding: 1.5rem 1.5rem !important;
+ padding: 1.5rem !important;
}
.pt-sm-4 {
padding-top: 1.5rem !important;
@@ -8217,7 +8002,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1.5rem !important;
}
.p-sm-5 {
- padding: 3rem 3rem !important;
+ padding: 3rem !important;
}
.pt-sm-5 {
padding-top: 3rem !important;
@@ -8266,7 +8051,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
@media (min-width: 768px) {
.m-md-0 {
- margin: 0 0 !important;
+ margin: 0 !important;
}
.mt-md-0 {
margin-top: 0 !important;
@@ -8289,7 +8074,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0 !important;
}
.m-md-1 {
- margin: 0.25rem 0.25rem !important;
+ margin: 0.25rem !important;
}
.mt-md-1 {
margin-top: 0.25rem !important;
@@ -8312,7 +8097,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.25rem !important;
}
.m-md-2 {
- margin: 0.5rem 0.5rem !important;
+ margin: 0.5rem !important;
}
.mt-md-2 {
margin-top: 0.5rem !important;
@@ -8335,7 +8120,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.5rem !important;
}
.m-md-3 {
- margin: 1rem 1rem !important;
+ margin: 1rem !important;
}
.mt-md-3 {
margin-top: 1rem !important;
@@ -8358,7 +8143,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1rem !important;
}
.m-md-4 {
- margin: 1.5rem 1.5rem !important;
+ margin: 1.5rem !important;
}
.mt-md-4 {
margin-top: 1.5rem !important;
@@ -8381,7 +8166,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1.5rem !important;
}
.m-md-5 {
- margin: 3rem 3rem !important;
+ margin: 3rem !important;
}
.mt-md-5 {
margin-top: 3rem !important;
@@ -8404,7 +8189,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 3rem !important;
}
.p-md-0 {
- padding: 0 0 !important;
+ padding: 0 !important;
}
.pt-md-0 {
padding-top: 0 !important;
@@ -8427,7 +8212,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0 !important;
}
.p-md-1 {
- padding: 0.25rem 0.25rem !important;
+ padding: 0.25rem !important;
}
.pt-md-1 {
padding-top: 0.25rem !important;
@@ -8450,7 +8235,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.25rem !important;
}
.p-md-2 {
- padding: 0.5rem 0.5rem !important;
+ padding: 0.5rem !important;
}
.pt-md-2 {
padding-top: 0.5rem !important;
@@ -8473,7 +8258,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.5rem !important;
}
.p-md-3 {
- padding: 1rem 1rem !important;
+ padding: 1rem !important;
}
.pt-md-3 {
padding-top: 1rem !important;
@@ -8496,7 +8281,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1rem !important;
}
.p-md-4 {
- padding: 1.5rem 1.5rem !important;
+ padding: 1.5rem !important;
}
.pt-md-4 {
padding-top: 1.5rem !important;
@@ -8519,7 +8304,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1.5rem !important;
}
.p-md-5 {
- padding: 3rem 3rem !important;
+ padding: 3rem !important;
}
.pt-md-5 {
padding-top: 3rem !important;
@@ -8568,7 +8353,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
@media (min-width: 992px) {
.m-lg-0 {
- margin: 0 0 !important;
+ margin: 0 !important;
}
.mt-lg-0 {
margin-top: 0 !important;
@@ -8591,7 +8376,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0 !important;
}
.m-lg-1 {
- margin: 0.25rem 0.25rem !important;
+ margin: 0.25rem !important;
}
.mt-lg-1 {
margin-top: 0.25rem !important;
@@ -8614,7 +8399,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.25rem !important;
}
.m-lg-2 {
- margin: 0.5rem 0.5rem !important;
+ margin: 0.5rem !important;
}
.mt-lg-2 {
margin-top: 0.5rem !important;
@@ -8637,7 +8422,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.5rem !important;
}
.m-lg-3 {
- margin: 1rem 1rem !important;
+ margin: 1rem !important;
}
.mt-lg-3 {
margin-top: 1rem !important;
@@ -8660,7 +8445,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1rem !important;
}
.m-lg-4 {
- margin: 1.5rem 1.5rem !important;
+ margin: 1.5rem !important;
}
.mt-lg-4 {
margin-top: 1.5rem !important;
@@ -8683,7 +8468,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1.5rem !important;
}
.m-lg-5 {
- margin: 3rem 3rem !important;
+ margin: 3rem !important;
}
.mt-lg-5 {
margin-top: 3rem !important;
@@ -8706,7 +8491,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 3rem !important;
}
.p-lg-0 {
- padding: 0 0 !important;
+ padding: 0 !important;
}
.pt-lg-0 {
padding-top: 0 !important;
@@ -8729,7 +8514,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0 !important;
}
.p-lg-1 {
- padding: 0.25rem 0.25rem !important;
+ padding: 0.25rem !important;
}
.pt-lg-1 {
padding-top: 0.25rem !important;
@@ -8752,7 +8537,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.25rem !important;
}
.p-lg-2 {
- padding: 0.5rem 0.5rem !important;
+ padding: 0.5rem !important;
}
.pt-lg-2 {
padding-top: 0.5rem !important;
@@ -8775,7 +8560,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.5rem !important;
}
.p-lg-3 {
- padding: 1rem 1rem !important;
+ padding: 1rem !important;
}
.pt-lg-3 {
padding-top: 1rem !important;
@@ -8798,7 +8583,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1rem !important;
}
.p-lg-4 {
- padding: 1.5rem 1.5rem !important;
+ padding: 1.5rem !important;
}
.pt-lg-4 {
padding-top: 1.5rem !important;
@@ -8821,7 +8606,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1.5rem !important;
}
.p-lg-5 {
- padding: 3rem 3rem !important;
+ padding: 3rem !important;
}
.pt-lg-5 {
padding-top: 3rem !important;
@@ -8870,7 +8655,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
@media (min-width: 1200px) {
.m-xl-0 {
- margin: 0 0 !important;
+ margin: 0 !important;
}
.mt-xl-0 {
margin-top: 0 !important;
@@ -8893,7 +8678,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0 !important;
}
.m-xl-1 {
- margin: 0.25rem 0.25rem !important;
+ margin: 0.25rem !important;
}
.mt-xl-1 {
margin-top: 0.25rem !important;
@@ -8916,7 +8701,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.25rem !important;
}
.m-xl-2 {
- margin: 0.5rem 0.5rem !important;
+ margin: 0.5rem !important;
}
.mt-xl-2 {
margin-top: 0.5rem !important;
@@ -8939,7 +8724,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.5rem !important;
}
.m-xl-3 {
- margin: 1rem 1rem !important;
+ margin: 1rem !important;
}
.mt-xl-3 {
margin-top: 1rem !important;
@@ -8962,7 +8747,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1rem !important;
}
.m-xl-4 {
- margin: 1.5rem 1.5rem !important;
+ margin: 1.5rem !important;
}
.mt-xl-4 {
margin-top: 1.5rem !important;
@@ -8985,7 +8770,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1.5rem !important;
}
.m-xl-5 {
- margin: 3rem 3rem !important;
+ margin: 3rem !important;
}
.mt-xl-5 {
margin-top: 3rem !important;
@@ -9008,7 +8793,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 3rem !important;
}
.p-xl-0 {
- padding: 0 0 !important;
+ padding: 0 !important;
}
.pt-xl-0 {
padding-top: 0 !important;
@@ -9031,7 +8816,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0 !important;
}
.p-xl-1 {
- padding: 0.25rem 0.25rem !important;
+ padding: 0.25rem !important;
}
.pt-xl-1 {
padding-top: 0.25rem !important;
@@ -9054,7 +8839,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.25rem !important;
}
.p-xl-2 {
- padding: 0.5rem 0.5rem !important;
+ padding: 0.5rem !important;
}
.pt-xl-2 {
padding-top: 0.5rem !important;
@@ -9077,7 +8862,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.5rem !important;
}
.p-xl-3 {
- padding: 1rem 1rem !important;
+ padding: 1rem !important;
}
.pt-xl-3 {
padding-top: 1rem !important;
@@ -9100,7 +8885,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1rem !important;
}
.p-xl-4 {
- padding: 1.5rem 1.5rem !important;
+ padding: 1.5rem !important;
}
.pt-xl-4 {
padding-top: 1.5rem !important;
@@ -9123,7 +8908,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1.5rem !important;
}
.p-xl-5 {
- padding: 3rem 3rem !important;
+ padding: 3rem !important;
}
.pt-xl-5 {
padding-top: 3rem !important;
@@ -9170,14 +8955,6 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
}
-.pos-f-t {
- position: fixed;
- top: 0;
- right: 0;
- left: 0;
- z-index: 1030;
-}
-
.text-justify {
text-align: justify !important;
}
@@ -9344,99 +9121,11 @@ a.text-gray-dark:focus, a.text-gray-dark:hover {
border: 0;
}
-.invisible {
- visibility: hidden !important;
-}
-
-.hidden-xs-up {
- display: none !important;
-}
-
-@media (max-width: 575px) {
- .hidden-xs-down {
- display: none !important;
- }
-}
-
-@media (min-width: 576px) {
- .hidden-sm-up {
- display: none !important;
- }
-}
-
-@media (max-width: 767px) {
- .hidden-sm-down {
- display: none !important;
- }
-}
-
-@media (min-width: 768px) {
- .hidden-md-up {
- display: none !important;
- }
-}
-
-@media (max-width: 991px) {
- .hidden-md-down {
- display: none !important;
- }
-}
-
-@media (min-width: 992px) {
- .hidden-lg-up {
- display: none !important;
- }
-}
-
-@media (max-width: 1199px) {
- .hidden-lg-down {
- display: none !important;
- }
-}
-
-@media (min-width: 1200px) {
- .hidden-xl-up {
- display: none !important;
- }
-}
-
-.hidden-xl-down {
- display: none !important;
-}
-
-.visible-print-block {
- display: none !important;
-}
-
-@media print {
- .visible-print-block {
- display: block !important;
- }
+.visible {
+ visibility: visible !important;
}
-.visible-print-inline {
- display: none !important;
-}
-
-@media print {
- .visible-print-inline {
- display: inline !important;
- }
-}
-
-.visible-print-inline-block {
- display: none !important;
-}
-
-@media print {
- .visible-print-inline-block {
- display: inline-block !important;
- }
-}
-
-@media print {
- .hidden-print {
- display: none !important;
- }
+.invisible {
+ visibility: hidden !important;
}
/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap.css.map b/dist/css/bootstrap.css.map
index c9a3e7e4e..7450f4c3c 100644
--- a/dist/css/bootstrap.css.map
+++ b/dist/css/bootstrap.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/mixins/_tab-focus.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/mixins/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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AyB;CAC1B;;AAIH;EACE,uBTk6BiC;ESj6BjC,eTg6B+B;ES/5B/B,YTkEW;ESjEX,0BT6EiC;EOtG/B,sBPgU0B;CS7R7B;;AAdD;EASI,WAAU;EACV,gBAAe;EACf,kBTgOmB;CS9NpB;;AAIH;EACE,eAAc;EACd,cAAa;EACb,oBAAmB;EACnB,eT64B+B;ES54B/B,eT2DiC;CSjDlC;;AAfD;EASI,WAAU;EACV,mBAAkB;EAClB,eAAc;EACd,8BAA6B;EAC7B,iBAAgB;CACjB;;AAIH;EACE,kBT04BiC;ESz4BjC,mBAAkB;CACnB;;AC1DC;ECAA,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDJ/B;;AEgDC;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CbqvBF;;AersBG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;Cb4vBF;;Ae5sBG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CbmwBF;;AentBG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;Cb0wBF;;Ae1tBG;EFnDF;ICiBI,aXsMK;IWrML,gBAAe;GDflB;CbixBF;;AejuBG;EFnDF;ICiBI,aXuMK;IWtML,gBAAe;GDflB;CbwxBF;;AexuBG;EFnDF;ICiBI,aXwMK;IWvML,gBAAe;GDflB;Cb+xBF;;Ae/uBG;EFnDF;ICiBI,cXyMM;IWxMN,gBAAe;GDflB;CbsyBF;;Aa7xBC;ECZA,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDO/B;;AEqCC;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CbyyBF;;AepwBG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CbgzBF;;Ae3wBG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CbuzBF;;AelxBG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;Cb8zBF;;AatzBC;ECYA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDjB/B;;AE2BC;EF7B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pBH;EAyBI,oBlBobwC;EkBnbxC,aAAY;CAEb;;AA5BH;EAgCI,uBAAsB;CAEvB;;AAIH;;EAEE,qBAAoB;CACrB;;AAOD;EC7CE,YnBqFW;EmBpFX,0BnB0Fc;EmBzFd,sBnByFc;CkB5Cf;;AjB9CG;EkBMA,YnB8ES;EmB7ET,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,qDnB0EU;UmB1EV,6CnB0EU;CmBxEb;;AAGD;EAEE,0BnBmEY;EmBlEZ,sBnBkEY;CmBjEb;;AAED;;EAGE,YnBsDS;EmBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADYH;EChDE,enBiGiC;EmBhGjC,uBnBoFW;EmBnFX,mBnB+WmC;CkB/TpC;;AjBjDG;EkBMA,enB0F+B;EmBzF/B,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,uDnBgW+B;UmBhW/B,+CnBgW+B;CmB9VlC;;AAGD;EAEE,uBnB6DS;EmB5DT,mBnBwViC;CmBvVlC;;AAED;;EAGE,enBkE+B;EmBjE/B,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADeH;ECnDE,YnBqFW;EmBpFX,0BnB2Fc;EmB1Fd,sBnB0Fc;CkBvCf;;AjBpDG;EkBMA,YnB8ES;EmB7ET,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,sDnB2EU;UmB3EV,8CnB2EU;CmBzEb;;AAGD;EAEE,0BnBoEY;EmBnEZ,sBnBmEY;CmBlEb;;AAED;;EAGE,YnBsDS;EmBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADkBH;ECtDE,YnBqFW;EmBpFX,0BnByFc;EmBxFd,sBnBwFc;CkBlCf;;AjBvDG;EkBMA,YnB8ES;EmB7ET,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,qDnByEU;UmBzEV,6CnByEU;CmBvEb;;AAGD;EAEE,0BnBkEY;EmBjEZ,sBnBiEY;CmBhEb;;AAED;;EAGE,YnBsDS;EmBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADqBH;ECzDE,YnBqFW;EmBpFX,0BnBuFc;EmBtFd,sBnBsFc;CkB7Bf;;AjB1DG;EkBMA,YnB8ES;EmB7ET,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,sDnBuEU;UmBvEV,8CnBuEU;CmBrEb;;AAGD;EAEE,0BnBgEY;EmB/DZ,sBnB+DY;CmB9Db;;AAED;;EAGE,YnBsDS;EmBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADwBH;EC5DE,YnBqFW;EmBpFX,0BnBsFc;EmBrFd,sBnBqFc;CkBzBf;;AjB7DG;EkBMA,YnB8ES;EmB7ET,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,qDnBsEU;UmBtEV,6CnBsEU;CmBpEb;;AAGD;EAEE,0BnB+DY;EmB9DZ,sBnB8DY;CmB7Db;;AAED;;EAGE,YnBsDS;EmBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;AD6BH;ECzBE,enBmDc;EmBlDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBnBgDc;CkBxBf;;AjBlEG;EkB6CA,YAPoD;EAQpD,0BnB4CY;EmB3CZ,sBnB2CY;CC1FS;;AkBkDvB;EAEE,qDnBsCY;UmBtCZ,6CnBsCY;CmBrCb;;AAED;EAEE,enBiCY;EmBhCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BnByBY;EmBxBZ,sBnBwBY;CmBvBb;;ADAH;EC5BE,YnByUmC;EmBxUnC,uBAAsB;EACtB,8BAA6B;EAC7B,mBnBsUmC;CkB3SpC;;AjBrEG;EkB6CA,YAPoD;EAQpD,uBnBkUiC;EmBjUjC,mBnBiUiC;CChXZ;;AkBkDvB;EAEE,uDnB4TiC;UmB5TjC,+CnB4TiC;CmB3TlC;;AAED;EAEE,YnBuTiC;EmBtTjC,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,uBnB+SiC;EmB9SjC,mBnB8SiC;CmB7SlC;;ADGH;EC/BE,enBoDc;EmBnDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBnBiDc;CkBnBf;;AjBxEG;EkB6CA,YAPoD;EAQpD,0BnB6CY;EmB5CZ,sBnB4CY;CC3FS;;AkBkDvB;EAEE,sDnBuCY;UmBvCZ,8CnBuCY;CmBtCb;;AAED;EAEE,enBkCY;EmBjCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BnB0BY;EmBzBZ,sBnByBY;CmBxBb;;ADMH;EClCE,enBkDc;EmBjDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBnB+Cc;CkBdf;;AjB3EG;EkB6CA,YAPoD;EAQpD,0BnB2CY;EmB1CZ,sBnB0CY;CCzFS;;AkBkDvB;EAEE,qDnBqCY;UmBrCZ,6CnBqCY;CmBpCb;;AAED;EAEE,enBgCY;EmB/BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BnBwBY;EmBvBZ,sBnBuBY;CmBtBb;;ADSH;ECrCE,enBgDc;EmB/Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBnB6Cc;CkBTf;;AjB9EG;EkB6CA,YAPoD;EAQpD,0BnByCY;EmBxCZ,sBnBwCY;CCvFS;;AkBkDvB;EAEE,sDnBmCY;UmBnCZ,8CnBmCY;CmBlCb;;AAED;EAEE,enB8BY;EmB7BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BnBsBY;EmBrBZ,sBnBqBY;CmBpBb;;ADYH;ECxCE,enB+Cc;EmB9Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBnB4Cc;CkBLf;;AjBjFG;EkB6CA,YAPoD;EAQpD,0BnBwCY;EmBvCZ,sBnBuCY;CCtFS;;AkBkDvB;EAEE,qDnBkCY;UmBlCZ,6CnBkCY;CmBjCb;;AAED;EAEE,enB6BY;EmB5BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BnBqBY;EmBpBZ,sBnBoBY;CmBnBb;;ADsBH;EACE,oBlB+JyB;EkB9JzB,elBDc;EkBEd,iBAAgB;CA6BjB;;AAhCD;EASI,8BAA6B;CAE9B;;AAXH;EAeI,0BAAyB;CAC1B;;AjBzGC;EiB2GA,0BAAyB;CjB3GJ;;AAUrB;EiBoGA,elB2E4C;EkB1E5C,2BlB2E6B;EkB1E7B,8BAA6B;CjBnG5B;;AiB4EL;EA0BI,elBjB+B;CkBsBhC;;AjB9GC;EiB4GE,sBAAqB;CjBzGtB;;AiBmHL;ECxDE,wBnB+TqC;EmB9TrC,mBnB4KsB;EO3PpB,sBP+T0B;CkBtL7B;;AACD;EC5DE,wBnB4T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;C8BxEhC;;AEpCH;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EAEb,gBAAe;EACf,iBAAgB;EzBAd,uBP8T2B;CgC5T9B;;AAED;EAGM,eAAc;EzBoBhB,mCPmS2B;EOlS3B,gCPkS2B;CgCrT1B;;AALL;EzBSI,oCPiT2B;EOhT3B,iCPgT2B;CgChT1B;;AAVL;EAcI,WAAU;EACV,YhCuES;EgCtET,0BhC4EY;EgC3EZ,sBhC2EY;CgC1Eb;;AAlBH;EAqBI,ehC+E+B;EgC9E/B,qBAAoB;EACpB,oBhCobwC;EgCnbxC,uBhC8DS;EgC7DT,mBhCwoBuC;CgCvoBxC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wBhC0mB0C;EgCzmB1C,kBAAiB;EACjB,kBhC8mBwC;EgC7mBxC,ehCyDc;EgCxDd,uBhCkDW;EgCjDX,uBhCgnByC;CgCxmB1C;;A/BjCG;E+B4BA,ehCmJ4C;EgClJ5C,sBAAqB;EACrB,0BhC2D+B;EgC1D/B,mBhC8mBuC;CC1oBtC;;AgCpBH;EACE,wBjCkpBwC;EiCjpBxC,mBjC0PoB;CiCzPrB;;AAIG;E1BqBF,kCPoS0B;EOnS1B,+BPmS0B;CiCvTvB;;AAGD;E1BEF,mCPkT0B;EOjT1B,gCPiT0B;CiClTvB;;AAdL;EACE,wBjCgpBuC;EiC/oBvC,oBjC2PoB;CiC1PrB;;AAIG;E1BqBF,kCPqS0B;EOpS1B,+BPoS0B;CiCxTvB;;AAGD;E1BEF,mCPmT0B;EOlT1B,gCPkT0B;CiCnTvB;;ACZP;EACE,sBAAqB;EACrB,sBlCywBgC;EkCxwBhC,elCswB+B;EkCrwB/B,kBlC2PqB;EkC1PrB,eAAc;EACd,YlCmFW;EkClFX,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E3BVtB,uBP8T2B;CkC7S9B;;AAhBD;EAcI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AjCPG;EiCaA,YlC6DS;EkC5DT,sBAAqB;EACrB,gBAAe;CjCZd;;AiCqBL;EACE,qBlCsuBgC;EkCruBhC,oBlCquBgC;EO/wB9B,qBPkxB+B;CkCtuBlC;;AAMD;ECnDE,0BnCyGiC;CkCpDlC;;AjCpCG;EkCbE,0BAAqC;ClCgBtC;;AiCmCL;ECvDE,0BnCiGc;CkCxCf;;AjCxCG;EkCbE,0BAAqC;ClCgBtC;;AiCuCL;EC3DE,0BnCgGc;CkCnCf;;AjC5CG;EkCbE,0BAAqC;ClCgBtC;;AiC2CL;EC/DE,0BnCkGc;CkCjCf;;AjChDG;EkCbE,0BAAqC;ClCgBtC;;AiC+CL;ECnEE,0BnC8Fc;CkCzBf;;AjCpDG;EkCbE,0BAAqC;ClCgBtC;;AiCmDL;ECvEE,0BnC6Fc;CkCpBf;;AjCxDG;EkCbE,0BAAqC;ClCgBtC;;AmCvBL;EACE,mBAAoD;EACpD,oBpC4qBmC;EoC3qBnC,0BpC0GiC;EOzG/B,sBP+T0B;CoC1T7B;;AxB+CG;EwBxDJ;IAOI,mBpCuqBiC;GoCrqBpC;CvCw2IA;;AuCt2ID;EACE,0BAA4C;CAC7C;;AAED;EACE,iBAAgB;EAChB,gBAAe;E7Bbb,iB6BcsB;CACzB;;ACfD;EACE,yBrCuzBmC;EqCtzBnC,oBrCsIa;EqCrIb,8BAA6C;E9BH3C,uBP8T2B;CqCzT9B;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,kBrCiPqB;CqChPtB;;AAOD;EAGI,mBAAkB;EAClB,crC8xBgC;EqC7xBhC,gBrC4xBiC;EqC3xBjC,yBrC2xBiC;EqC1xBjC,eAAc;CACf;;AAQH;ECxCE,0BtCorBsC;EsCnrBtC,sBtCorB4D;EsCnrB5D,etCirBsC;CqCzoBvC;;ACtCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADkCH;EC3CE,0BtCwrBsC;EsCvrBtC,sBtCwrByD;EsCvrBzD,etCqrBsC;CqC1oBvC;;ACzCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADqCH;EC9CE,0BtC4rBsC;EsC3rBtC,sBtC6rB4D;EsC5rB5D,etCyrBsC;CqC3oBvC;;AC5CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADwCH;ECjDE,0BtCisBsC;EsChsBtC,sBtCisB2D;EsChsB3D,etC8rBsC;CqC7oBvC;;AC/CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ACRH;EACE;IAAO,4BAAgC;G1C08ItC;E0Cz8ID;IAAK,yBAAwB;G1C48I5B;CACF;;A0C/8ID;EACE;IAAO,4BAAgC;G1C08ItC;E0Cz8ID;IAAK,yBAAwB;G1C48I5B;CACF;;A0C/8ID;EACE;IAAO,4BAAgC;G1C08ItC;E0Cz8ID;IAAK,yBAAwB;G1C48I5B;CACF;;A0Cr8ID;EACE,eAAc;EACd,YAAW;EACX,avC2Ha;EuC1Hb,oBvC0Ha;EuCzHb,iBAAgB;CACjB;;AACD;EAEE,0BvCsFiC;EuCpFjC,UAAS;EAET,yBAAgB;KAAhB,sBAAgB;UAAhB,iBAAgB;EhCvBd,uBP8T2B;CuCpS9B;;AAGD;EACE,0BvCkEc;EuChEd,UAAS;CACV;;AACD;EACE,0BvC6Dc;CuC5Df;;AACD;EACE,0BvC0Dc;CuCzDf;;AAGD;EACE,0BvC8DiC;CuC5DlC;;AACD;;EAEE,0BvCyDiC;CuCvDlC;;AAOD;ECzBE,8MAA6I;EAA7I,sMAA6I;ED2B7I,mCvC6Ea;UuC7Eb,2BvC6Ea;CuC5Ed;;AACD;EC7BE,sMAA6I;ED+B7I,2BvCyEa;CuCxEd;;AACD;ECjCE,sMAA6I;EDmC7I,2BvCqEa;CuCpEd;;AAOD;EACE,2DAAkD;UAAlD,mDAAkD;CACnD;;AACD;EACE,mDAAkD;CACnD;;AEjFC;EACE,0BzC+FY;CyC9Fb;;AAED;EACE,0BzC2FY;CyC1Fb;;AAGD;EACE,0BzCsFY;CyCrFb;;AAXD;EACE,0BzCiGY;CyChGb;;AAED;EACE,0BzC6FY;CyC5Fb;;AAGD;EACE,0BzCwFY;CyCvFb;;AAXD;EACE,0BzC6FY;CyC5Fb;;AAED;EACE,0BzCyFY;CyCxFb;;AAGD;EACE,0BzCoFY;CyCnFb;;AAXD;EACE,0BzC4FY;CyC3Fb;;AAED;EACE,0BzCwFY;CyCvFb;;AAGD;EACE,0BzCmFY;CyClFb;;ACdH;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;CACxB;;AAED;EACE,oBAAO;EAAP,qBAAO;MAAP,iBAAO;UAAP,aAAO;CACR;;ACHD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EAGtB,gBAAe;EACf,iBAAgB;CACjB;;AAQD;EACE,YAAW;EACX,e3CsFiC;E2CrFjC,oBAAmB;CAiBpB;;AApBD;EAMI,e3CiF+B;C2ChFhC;;A1CNC;E0CUA,e3C6E+B;E2C5E/B,sBAAqB;EACrB,0B3C8E+B;CCvF9B;;A0CJL;EAiBI,e3CsE+B;E2CrE/B,0B3CwE+B;C2CvEhC;;AAQH;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,4BAAmB;MAAnB,wBAAmB;UAAnB,oBAAmB;EACnB,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,yB3CuzBsC;E2CrzBtC,oB3CoHgB;E2CnHhB,uB3CwCW;E2CvCX,uC3CwCW;C2CQZ;;AAzDD;EpCpCI,iCPwT2B;EOvT3B,gCPuT2B;C2CvQ5B;;AAbH;EAgBI,iBAAgB;EpCtChB,oCP0S2B;EOzS3B,mCPyS2B;C2ClQ5B;;A1C5CC;E0C+CA,sBAAqB;C1C5CpB;;A0CuBL;EA0BI,e3CoC+B;E2CnC/B,oB3C0YwC;E2CzYxC,uB3CoBS;C2CXV;;AArCH;EAgCM,eAAc;CACf;;AAjCL;EAmCM,e3C2B6B;C2C1B9B;;AApCL;EAyCI,WAAU;EACV,Y3CMS;E2CLT,0B3CWY;E2CVZ,sB3CUY;C2CEb;;AAxDH;;;EAkDM,eAAc;CACf;;AAnDL;EAsDM,e3C6wB8D;C2C5wB/D;;AAUL;EAEI,gBAAe;EACf,eAAc;EACd,iBAAgB;CACjB;;AALH;EASM,cAAa;CACd;;AAVL;EAeM,iBAAgB;CACjB;;AC5HH;EACE,e5CkrBoC;E4CjrBpC,0B5CkrBoC;C4CjrBrC;;AAED;;EACE,e5C6qBoC;C4C7pBrC;;AAjBD;;EAII,eAAc;CACf;;A3COD;;;E2CJE,e5CsqBkC;E4CrqBlC,0BAAyC;C3CM1C;;A2CfH;;EAaI,YAAW;EACX,0B5CgqBkC;E4C/pBlC,sB5C+pBkC;C4C9pBnC;;AArBH;EACE,e5CsrBoC;E4CrrBpC,0B5CsrBoC;C4CrrBrC;;AAED;;EACE,e5CirBoC;C4CjqBrC;;AAjBD;;EAII,eAAc;CACf;;A3COD;;;E2CJE,e5C0qBkC;E4CzqBlC,0BAAyC;C3CM1C;;A2CfH;;EAaI,YAAW;EACX,0B5CoqBkC;E4CnqBlC,sB5CmqBkC;C4ClqBnC;;AArBH;EACE,e5C0rBoC;E4CzrBpC,0B5C0rBoC;C4CzrBrC;;AAED;;EACE,e5CqrBoC;C4CrqBrC;;AAjBD;;EAII,eAAc;CACf;;A3COD;;;E2CJE,e5C8qBkC;E4C7qBlC,0BAAyC;C3CM1C;;A2CfH;;EAaI,YAAW;EACX,0B5CwqBkC;E4CvqBlC,sB5CuqBkC;C4CtqBnC;;AArBH;EACE,e5C+rBoC;E4C9rBpC,0B5C+rBoC;C4C9rBrC;;AAED;;EACE,e5C0rBoC;C4C1qBrC;;AAjBD;;EAII,eAAc;CACf;;A3COD;;;E2CJE,e5CmrBkC;E4ClrBlC,0BAAyC;C3CM1C;;A2CfH;;EAaI,YAAW;EACX,0B5C6qBkC;E4C5qBlC,sB5C4qBkC;C4C3qBnC;;ACtBL;EACE,mBAAkB;EAClB,eAAc;EACd,UAAS;EACT,WAAU;EACV,iBAAgB;CAejB;;AApBD;;;;;EAYI,mBAAkB;EAClB,OAAM;EACN,UAAS;EACT,QAAO;EACP,YAAW;EACX,aAAY;EACZ,UAAS;CACV;;AAGH;EACE,2BAAkC;CACnC;;AAED;EACE,uBAAkC;CACnC;;AAED;EACE,oBAAiC;CAClC;;AAED;EACE,qBAAiC;CAClC;;ACtCD;EACE,aAAY;EACZ,kBAAkC;EAClC,kB9CiQqB;E8ChQrB,eAAc;EACd,Y9C0FW;E8CzFX,0B9CwFW;E8CvFX,YAAW;CAQZ;;A7CKG;E6CVA,Y9CqFS;E8CpFT,sBAAqB;EACrB,gBAAe;EACf,aAAY;C7CUX;;A6CAL;EACE,WAAU;EACV,gBAAe;EACf,wBAAuB;EACvB,UAAS;EACT,yBAAwB;CACzB;;ACtBD;EACE,iBAAgB;CACjB;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c/CqkB6B;E+CpkB7B,cAAa;EACb,iBAAgB;EAGhB,WAAU;CAWX;;AAtBD;EvCGM,oDRsyB8C;EQtyB9C,4CRsyB8C;EQtyB9C,0CRsyB8C;EQtyB9C,oCRsyB8C;EQtyB9C,iGRsyB8C;E+CtxBhD,sCAA6B;OAA7B,iCAA6B;UAA7B,8BAA6B;CAC9B;;AApBH;EAqByB,mCAA0B;OAA1B,8BAA0B;UAA1B,2BAA0B;CAAI;;AAEvD;EACE,mBAAkB;EAClB,iBAAgB;CACjB;;AAGD;EACE,mBAAkB;EAClB,YAAW;EACX,a/CkvBgC;C+CjvBjC;;AAGD;EACE,mBAAkB;EAClB,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,uB/C0CW;E+CzCX,qCAA4B;UAA5B,6BAA4B;EAC5B,qC/CyCW;EO3FT,sBP+T0B;E+CzQ5B,WAAU;CACX;;AAGD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,c/CkhB6B;E+CjhB7B,uB/C0BW;C+CrBZ;;AAZD;EAUW,WAAU;CAAK;;AAV1B;EAWW,a/CiuBqB;C+CjuBe;;AAK/C;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,0BAA8B;EAA9B,uCAA8B;MAA9B,uBAA8B;UAA9B,+BAA8B;EAC9B,c/C6tBgC;E+C5tBhC,iC/C0BiC;C+CzBlC;;AAGD;EACE,iBAAgB;EAChB,iB/C8KoB;C+C7KrB;;AAID;EACE,mBAAkB;EAGlB,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,c/CyrBgC;C+CxrBjC;;AAGD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,sBAAyB;EAAzB,kCAAyB;MAAzB,mBAAyB;UAAzB,0BAAyB;EACzB,c/CirBgC;E+ChrBhC,8B/CCiC;C+CIlC;;AAVD;EAQyB,oBAAmB;CAAK;;AARjD;EASwB,qBAAoB;CAAK;;AAIjD;EACE,mBAAkB;EAClB,aAAY;EACZ,YAAW;EACX,aAAY;EACZ,iBAAgB;CACjB;;AnClEG;EmCuEF;IACE,iB/CkrB+B;I+CjrB/B,kBAAyC;GAC1C;EAMD;IAAY,iB/C2qBqB;G+C3qBG;ClD40JrC;;Ae55JG;EmCoFF;IAAY,iB/CqqBqB;G+CrqBG;ClD80JrC;;AmDz9JD;EACE,mBAAkB;EAClB,chDslB6B;EgDrlB7B,eAAc;ECHd,mHjDqP4H;EiDnP5H,mBAAkB;EAClB,oBjD+PyB;EiD9PzB,uBAAsB;EACtB,iBAAgB;EAChB,iBjDgQoB;EiD/PpB,iBAAgB;EAChB,kBAAiB;EACjB,sBAAqB;EACrB,kBAAiB;EACjB,qBAAoB;EACpB,oBAAmB;EACnB,mBAAkB;EAClB,qBAAoB;EDPpB,oBhDwPsB;EgDtPtB,sBAAqB;EACrB,WAAU;CA4DX;;AAtED;EAYW,ahDstBqB;CgDttBQ;;AAZxC;EAgBI,eAA+B;EAC/B,iBhDotB6B;CgD1sB9B;;AA3BH;EAoBM,UAAS;EACT,UAAS;EACT,kBhDitB2B;EgDhtB3B,YAAW;EACX,wBAAyD;EACzD,uBhDqEO;CgDpER;;AA1BL;EA8BI,ehDysB6B;EgDxsB7B,iBhDssB6B;CgD5rB9B;;AAzCH;EAkCM,SAAQ;EACR,QAAO;EACP,iBhDmsB2B;EgDlsB3B,YAAW;EACX,4BAA8E;EAC9E,yBhDuDO;CgDtDR;;AAxCL;EA4CI,eAA+B;EAC/B,gBhDwrB6B;CgD9qB9B;;AAvDH;EAgDM,OAAM;EACN,UAAS;EACT,kBhDqrB2B;EgDprB3B,YAAW;EACX,wBhDmrB2B;EgDlrB3B,0BhDyCO;CgDxCR;;AAtDL;EA0DI,ehD6qB6B;EgD5qB7B,kBhD0qB6B;CgDhqB9B;;AArEH;EA8DM,SAAQ;EACR,SAAQ;EACR,iBhDuqB2B;EgDtqB3B,YAAW;EACX,4BhDqqB2B;EgDpqB3B,wBhD2BO;CgD1BR;;AAKL;EACE,iBhDqpBiC;EgDppBjC,iBhDypB+B;EgDxpB/B,YhDiBW;EgDhBX,mBAAkB;EAClB,uBhDgBW;EO3FT,uBP8T2B;CgDzO9B;;AAfD;EASI,mBAAkB;EAClB,SAAQ;EACR,UAAS;EACT,0BAAyB;EACzB,oBAAmB;CACpB;;AExFH;EACE,mBAAkB;EAClB,OAAM;EACN,QAAO;EACP,clDolB6B;EkDnlB7B,eAAc;EACd,iBlD0uByC;EkDzuBzC,alDuuBuC;EiD7uBvC,mHjDqP4H;EiDnP5H,mBAAkB;EAClB,oBjD+PyB;EiD9PzB,uBAAsB;EACtB,iBAAgB;EAChB,iBjDgQoB;EiD/PpB,iBAAgB;EAChB,kBAAiB;EACjB,sBAAqB;EACrB,kBAAiB;EACjB,qBAAoB;EACpB,oBAAmB;EACnB,mBAAkB;EAClB,qBAAoB;ECJpB,oBlDqPsB;EkDnPtB,sBAAqB;EACrB,uBlDgFW;EkD/EX,qCAA4B;UAA5B,6BAA4B;EAC5B,qClD+EW;EO3FT,sBP+T0B;CkDrM7B;;AA9HD;EAyBI,kBlDmuBsC;CkDhtBvC;;AA5CH;EA6BM,UAAS;EACT,uBAAsB;CACvB;;AA/BL;EAkCM,clD6tB4D;EkD5tB5D,mBlD4tB4D;EkD3tB5D,sClD4tBmE;CkD3tBpE;;AArCL;EAwCM,cAAwC;EACxC,mBlDmtBoC;EkDltBpC,uBlDoDO;CkDnDR;;AA3CL;EAgDI,kBlD4sBsC;CkDzrBvC;;AAnEH;EAoDM,SAAQ;EACR,qBAAoB;CACrB;;AAtDL;EAyDM,YlDssB4D;EkDrsB5D,kBlDqsB4D;EkDpsB5D,wClDqsBmE;CkDpsBpE;;AA5DL;EA+DM,YAAsC;EACtC,kBAA4C;EAC5C,yBlD6BO;CkD5BR;;AAlEL;EAuEI,iBlDqrBsC;CkDtpBvC;;AAtGH;EA2EM,UAAS;EACT,oBAAmB;CACpB;;AA7EL;EAgFM,WlD+qB4D;EkD9qB5D,mBlD8qB4D;EkD7qB5D,yClD8qBmE;CkD7qBpE;;AAnFL;EAsFM,WAAqC;EACrC,mBlDqqBoC;EkDpqBpC,6BlD6pBuD;CkD5pBxD;;AAzFL;EA6FM,mBAAkB;EAClB,OAAM;EACN,UAAS;EACT,eAAc;EACd,YAAW;EACX,mBAAkB;EAClB,YAAW;EACX,iClDipBuD;CkDhpBxD;;AArGL;EA0GI,mBlDkpBsC;CkD/nBvC;;AA7HH;EA8GM,SAAQ;EACR,sBAAqB;CACtB;;AAhHL;EAmHM,alD4oB4D;EkD3oB5D,kBlD2oB4D;EkD1oB5D,uClD2oBmE;CkD1oBpE;;AAtHL;EAyHM,aAAuC;EACvC,kBAA4C;EAC5C,wBlD7BO;CkD8BR;;AAML;EACE,kBlDmnBwC;EkDlnBxC,UAAS;EACT,gBlDyHmB;EkDxHnB,0BlD+mB2D;EkD9mB3D,iCAAwE;E3CnItE,uC2CqI8G;CAKjH;;AAZD;EAUI,cAAa;CACd;;AAGH;EACE,kBlDwmBwC;CkDvmBzC;;AAOD;;EAEE,mBAAkB;EAClB,eAAc;EACd,SAAQ;EACR,UAAS;EACT,0BAAyB;EACzB,oBAAmB;CACpB;;AAED;EACE,YAAW;EACX,mBlD0lBgE;CkDzlBjE;;AACD;EACE,YAAW;EACX,mBlDmlBwC;CkDllBzC;;ACzKD;EACE,mBAAkB;CACnB;;AAED;EACE,mBAAkB;EAClB,YAAW;EACX,iBAAgB;CACjB;;AAED;EACE,mBAAkB;EAClB,cAAa;EACb,YAAW;CAOZ;;ACnBC;EDSF;I3CIM,uDRg6BmD;IQh6BnD,+CRg6BmD;IQh6BnD,6CRg6BmD;IQh6BnD,uCRg6BmD;IQh6BnD,0GRg6BmD;ImD75BrD,oCAA2B;YAA3B,4BAA2B;IAC3B,4BAAmB;YAAnB,oBAAmB;GAEtB;CtDmuKA;;AuD/uK0C;EDE3C;I3CIM,uDRg6BmD;IQh6BnD,+CRg6BmD;IQh6BnD,6CRg6BmD;IQh6BnD,uCRg6BmD;IQh6BnD,0GRg6BmD;ImD75BrD,oCAA2B;YAA3B,4BAA2B;IAC3B,4BAAmB;YAAnB,oBAAmB;GAEtB;CtD2uKA;;AsDzuKD;;;EAGE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;CACd;;AAED;;EAEE,mBAAkB;EAClB,OAAM;CACP;;AC/BC;EDmCA;;IAEE,wCAA+B;YAA/B,gCAA+B;GAChC;EAED;;IAEE,2CAAkC;YAAlC,mCAAkC;GACnC;EAED;;IAEE,4CAAmC;YAAnC,oCAAmC;GACpC;CtDyuKF;;AuDlxK0C;ED4BzC;;IAEE,wCAA+B;YAA/B,gCAA+B;GAChC;EAED;;IAEE,2CAAkC;YAAlC,mCAAkC;GACnC;EAED;;IAEE,4CAAmC;YAAnC,oCAAmC;GACpC;CtDwvKF;;AsDhvKD;;EAEE,mBAAkB;EAClB,OAAM;EACN,UAAS;EAET,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,0BAAmB;EAAnB,4BAAmB;MAAnB,uBAAmB;UAAnB,oBAAmB;EACnB,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;EACvB,WnD41B+C;EmD31B/C,YnD0BW;EmDzBX,mBAAkB;EAClB,anD01B8C;CmD/0B/C;;AlD7DG;;;EkDwDA,YnDkBS;EmDjBT,sBAAqB;EACrB,WAAU;EACV,YAAW;ClDxDV;;AkD2DL;EACE,QAAO;CACR;;AACD;EACE,SAAQ;CACT;;AAGD;;EAEE,sBAAqB;EACrB,YnD60BgD;EmD50BhD,anD40BgD;EmD30BhD,gDAA+C;EAC/C,mCAA0B;UAA1B,2BAA0B;CAC3B;;AACD;EACE,8MnD9ByI;CmD+B1I;;AACD;EACE,gNnDjCyI;CmDkC1I;;AAQD;EACE,mBAAkB;EAClB,SAAQ;EACR,aAAY;EACZ,QAAO;EACP,YAAW;EACX,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;EACvB,gBAAe;EAEf,kBnDsyB+C;EmDryB/C,iBnDqyB+C;EmDpyB/C,iBAAgB;CAqCjB;;AAjDD;EAeI,mBAAkB;EAClB,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,gBnDkyB8C;EmDjyB9C,YnDkyB6C;EmDjyB7C,kBnDkyB6C;EmDjyB7C,iBnDiyB6C;EmDhyB7C,oBAAmB;EACnB,gBAAe;EACf,2CnDxCS;CmD6DV;;AA5CH;EA2BM,mBAAkB;EAClB,WAAU;EACV,QAAO;EACP,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,YAAW;CACZ;;AAlCL;EAoCM,mBAAkB;EAClB,cAAa;EACb,QAAO;EACP,sBAAqB;EACrB,YAAW;EACX,aAAY;EACZ,YAAW;CACZ;;AA3CL;EA+CI,uBnDhES;CmDiEV;;AAQH;EACE,mBAAkB;EAClB,WAA6C;EAC7C,aAAY;EACZ,UAA4C;EAC5C,YAAW;EACX,kBAAiB;EACjB,qBAAoB;EACpB,YnDjFW;EmDkFX,mBAAkB;CACnB;;AEjLD;EAAqB,oCAAmC;CAAK;;AAC7D;EAAqB,+BAA8B;CAAK;;AACxD;EAAqB,kCAAiC;CAAK;;AAC3D;EAAqB,kCAAiC;CAAK;;AAC3D;EAAqB,uCAAsC;CAAK;;AAChE;EAAqB,oCAAmC;CAAK;;ACD7D;EACE,0BAAsC;CACvC;;ACHC;EACE,qCAAmC;CACpC;;AtDeC;EsDZE,qCAAgD;CtDejD;;AsDpBH;EACE,qCAAmC;CACpC;;AtDeC;EsDZE,qCAAgD;CtDejD;;AsDpBH;EACE,qCAAmC;CACpC;;AtDeC;EsDZE,qCAAgD;CtDejD;;AsDpBH;EACE,qCAAmC;CACpC;;AtDeC;EsDZE,qCAAgD;CtDejD;;AsDpBH;EACE,qCAAmC;CACpC;;AtDeC;EsDZE,qCAAgD;CtDejD;;AsDpBH;EACE,qCAAmC;CACpC;;AtDeC;EsDZE,qCAAgD;CtDejD;;AuDnBL;EAAmB,qBAAoB;CAAK;;AAC5C;EAAmB,yBAAwB;CAAK;;AAChD;EAAmB,2BAA0B;CAAK;;AAClD;EAAmB,4BAA2B;CAAK;;AACnD;EAAmB,0BAAyB;CAAK;;AAMjD;EjDVI,uBP8T2B;CwDlT9B;;AACD;EjDPI,iCPwT2B;EOvT3B,gCPuT2B;CwD/S9B;;AACD;EjDHI,oCPiT2B;EOhT3B,iCPgT2B;CwD5S9B;;AACD;EjDCI,oCP0S2B;EOzS3B,mCPyS2B;CwDzS9B;;AACD;EjDKI,mCPmS2B;EOlS3B,gCPkS2B;CwDtS9B;;AAED;EACE,mBAAkB;CACnB;;AAED;EACE,iBAAgB;CACjB;;AzBnCC;EACE,eAAc;EACd,YAAW;EACX,YAAW;CACZ;;A0BIC;EAAE,yBAAwB;CAAK;;AAC/B;EAAE,2BAA0B;CAAK;;AACjC;EAAE,iCAAgC;CAAK;;AACvC;EAAE,0BAAyB;CAAK;;AAChC;EAAE,0BAAyB;CAAK;;AAChC;EAAE,+BAA8B;CAAK;;AACrC;EAAE,gCAAwB;EAAxB,iCAAwB;EAAxB,gCAAwB;EAAxB,yBAAwB;CAAK;;AAC/B;EAAE,uCAA+B;EAA/B,wCAA+B;EAA/B,uCAA+B;EAA/B,gCAA+B;CAAK;;A7CwCtC;E6C/CA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C5DykLzC;;AejiLG;E6C/CA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C5DomLzC;;Ae5jLG;E6C/CA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C5D+nLzC;;AevlLG;E6C/CA;IAAE,yBAAwB;GAAK;EAC/B;IAAE,2BAA0B;GAAK;EACjC;IAAE,iCAAgC;GAAK;EACvC;IAAE,0BAAyB;GAAK;EAChC;IAAE,0BAAyB;GAAK;EAChC;IAAE,+BAA8B;GAAK;EACrC;IAAE,gCAAwB;IAAxB,iCAAwB;IAAxB,gCAAwB;IAAxB,yBAAwB;GAAK;EAC/B;IAAE,uCAA+B;IAA/B,wCAA+B;IAA/B,uCAA+B;IAA/B,gCAA+B;GAAK;C5D0pLzC;;A6DlqLG;EAAE,6BAAS;EAAT,kBAAS;MAAT,mBAAS;UAAT,UAAS;CAAK;;AAChB;EAAE,6BAAQ;EAAR,iBAAQ;MAAR,kBAAQ;UAAR,SAAQ;CAAK;;AACf;EAAE,6BAAQ;EAAR,iBAAQ;MAAR,kBAAQ;UAAR,SAAQ;CAAK;;AAEf;EAAE,0CAA8B;EAA9B,yCAA8B;EAA9B,uCAA8B;MAA9B,mCAA8B;UAA9B,+BAA8B;CAAK;;AACrC;EAAE,wCAAiC;EAAjC,yCAAiC;EAAjC,0CAAiC;MAAjC,sCAAiC;UAAjC,kCAAiC;CAAK;;AACxC;EAAE,0CAAsC;EAAtC,0CAAsC;EAAtC,+CAAsC;MAAtC,2CAAsC;UAAtC,uCAAsC;CAAK;;AAC7C;EAAE,wCAAyC;EAAzC,0CAAyC;EAAzC,kDAAyC;MAAzC,8CAAyC;UAAzC,0CAAyC;CAAK;;AAEhD;EAAE,mCAA0B;MAA1B,+BAA0B;UAA1B,2BAA0B;CAAK;;AACjC;EAAE,qCAA4B;MAA5B,iCAA4B;UAA5B,6BAA4B;CAAK;;AACnC;EAAE,2CAAkC;MAAlC,uCAAkC;UAAlC,mCAAkC;CAAK;;AAEzC;EAAE,mCAAsC;EAAtC,+CAAsC;MAAtC,gCAAsC;UAAtC,uCAAsC;CAAK;;AAC7C;EAAE,iCAAoC;EAApC,6CAAoC;MAApC,8BAAoC;UAApC,qCAAoC;CAAK;;AAC3C;EAAE,oCAAkC;EAAlC,2CAAkC;MAAlC,iCAAkC;UAAlC,mCAAkC;CAAK;;AACzC;EAAE,qCAAyC;EAAzC,kDAAyC;MAAzC,kCAAyC;UAAzC,0CAAyC;CAAK;;AAChD;EAAE,iDAAwC;MAAxC,qCAAwC;UAAxC,yCAAwC;CAAK;;AAE/C;EAAE,oCAAkC;EAAlC,2CAAkC;MAAlC,iCAAkC;UAAlC,mCAAkC;CAAK;;AACzC;EAAE,kCAAgC;EAAhC,yCAAgC;MAAhC,+BAAgC;UAAhC,iCAAgC;CAAK;;AACvC;EAAE,qCAA8B;EAA9B,uCAA8B;MAA9B,kCAA8B;UAA9B,+BAA8B;CAAK;;AACrC;EAAE,uCAAgC;EAAhC,yCAAgC;MAAhC,oCAAgC;UAAhC,iCAAgC;CAAK;;AACvC;EAAE,sCAA+B;EAA/B,wCAA+B;MAA/B,mCAA+B;UAA/B,gCAA+B;CAAK;;AAEtC;EAAE,6CAAoC;MAApC,qCAAoC;UAApC,qCAAoC;CAAK;;AAC3C;EAAE,2CAAkC;MAAlC,mCAAkC;UAAlC,mCAAkC;CAAK;;AACzC;EAAE,yCAAgC;MAAhC,sCAAgC;UAAhC,iCAAgC;CAAK;;AACvC;EAAE,gDAAuC;MAAvC,uCAAuC;UAAvC,wCAAuC;CAAK;;AAC9C;EAAE,+CAAsC;MAAtC,0CAAsC;UAAtC,uCAAsC;CAAK;;AAC7C;EAAE,0CAAiC;MAAjC,uCAAiC;UAAjC,kCAAiC;CAAK;;AAExC;EAAE,oCAA2B;MAA3B,qCAA2B;cAA3B,oCAA2B;UAA3B,4BAA2B;CAAK;;AAClC;EAAE,0CAAiC;MAAjC,sCAAiC;UAAjC,kCAAiC;CAAK;;AACxC;EAAE,wCAA+B;MAA/B,oCAA+B;UAA/B,gCAA+B;CAAK;;AACtC;EAAE,sCAA6B;MAA7B,uCAA6B;cAA7B,sCAA6B;UAA7B,8BAA6B;CAAK;;AACpC;EAAE,wCAA+B;MAA/B,yCAA+B;UAA/B,gCAA+B;CAAK;;AACtC;EAAE,uCAA8B;MAA9B,wCAA8B;cAA9B,uCAA8B;UAA9B,+BAA8B;CAAK;;A9CWrC;E8ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C7Dg2LxC;;Aer1LG;E8ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C7Dm8LxC;;Aex7LG;E8ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C7DsiMxC;;Ae3hMG;E8ChDA;IAAE,6BAAS;IAAT,kBAAS;QAAT,mBAAS;YAAT,UAAS;GAAK;EAChB;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EACf;IAAE,6BAAQ;IAAR,iBAAQ;QAAR,kBAAQ;YAAR,SAAQ;GAAK;EAEf;IAAE,0CAA8B;IAA9B,yCAA8B;IAA9B,uCAA8B;QAA9B,mCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,wCAAiC;IAAjC,yCAAiC;IAAjC,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,0CAAsC;IAAtC,0CAAsC;IAAtC,+CAAsC;QAAtC,2CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,wCAAyC;IAAzC,0CAAyC;IAAzC,kDAAyC;QAAzC,8CAAyC;YAAzC,0CAAyC;GAAK;EAEhD;IAAE,mCAA0B;QAA1B,+BAA0B;YAA1B,2BAA0B;GAAK;EACjC;IAAE,qCAA4B;QAA5B,iCAA4B;YAA5B,6BAA4B;GAAK;EACnC;IAAE,2CAAkC;QAAlC,uCAAkC;YAAlC,mCAAkC;GAAK;EAEzC;IAAE,mCAAsC;IAAtC,+CAAsC;QAAtC,gCAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,iCAAoC;IAApC,6CAAoC;QAApC,8BAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,qCAAyC;IAAzC,kDAAyC;QAAzC,kCAAyC;YAAzC,0CAAyC;GAAK;EAChD;IAAE,iDAAwC;QAAxC,qCAAwC;YAAxC,yCAAwC;GAAK;EAE/C;IAAE,oCAAkC;IAAlC,2CAAkC;QAAlC,iCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,kCAAgC;IAAhC,yCAAgC;QAAhC,+BAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,qCAA8B;IAA9B,uCAA8B;QAA9B,kCAA8B;YAA9B,+BAA8B;GAAK;EACrC;IAAE,uCAAgC;IAAhC,yCAAgC;QAAhC,oCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,sCAA+B;IAA/B,wCAA+B;QAA/B,mCAA+B;YAA/B,gCAA+B;GAAK;EAEtC;IAAE,6CAAoC;QAApC,qCAAoC;YAApC,qCAAoC;GAAK;EAC3C;IAAE,2CAAkC;QAAlC,mCAAkC;YAAlC,mCAAkC;GAAK;EACzC;IAAE,yCAAgC;QAAhC,sCAAgC;YAAhC,iCAAgC;GAAK;EACvC;IAAE,gDAAuC;QAAvC,uCAAuC;YAAvC,wCAAuC;GAAK;EAC9C;IAAE,+CAAsC;QAAtC,0CAAsC;YAAtC,uCAAsC;GAAK;EAC7C;IAAE,0CAAiC;QAAjC,uCAAiC;YAAjC,kCAAiC;GAAK;EAExC;IAAE,oCAA2B;QAA3B,qCAA2B;gBAA3B,oCAA2B;YAA3B,4BAA2B;GAAK;EAClC;IAAE,0CAAiC;QAAjC,sCAAiC;YAAjC,kCAAiC;GAAK;EACxC;IAAE,wCAA+B;QAA/B,oCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,sCAA6B;QAA7B,uCAA6B;gBAA7B,sCAA6B;YAA7B,8BAA6B;GAAK;EACpC;IAAE,wCAA+B;QAA/B,yCAA+B;YAA/B,gCAA+B;GAAK;EACtC;IAAE,uCAA8B;QAA9B,wCAA8B;gBAA9B,uCAA8B;YAA9B,+BAA8B;GAAK;C7DyoMxC;;A8DlrMG;ECHF,uBAAsB;CDGK;;AACzB;ECDF,wBAAuB;CDCK;;AAC1B;ECCF,uBAAsB;CDDK;;A/CkDzB;E+CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C9DwsM5B;;AetpMG;E+CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C9DotM5B;;AelqMG;E+CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C9DguM5B;;Ae9qMG;E+CpDA;ICHF,uBAAsB;GDGK;EACzB;ICDF,wBAAuB;GDCK;EAC1B;ICCF,uBAAsB;GDDK;C9D4uM5B;;AgE9uMD;ECCE,mBAAkB;EAClB,WAAU;EACV,YAAW;EACX,WAAU;EACV,aAAY;EACZ,iBAAgB;EAChB,uBAAmB;EACnB,UAAS;CDNV;;ACgBC;EAEE,iBAAgB;EAChB,YAAW;EACX,aAAY;EACZ,UAAS;EACT,kBAAiB;EACjB,WAAU;CACX;;AC1BC;EAAE,sBAA4B;CAAI;;AAAlC;EAAE,sBAA4B;CAAI;;AAAlC;EAAE,sBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,uBAA4B;CAAI;;AAAlC;EAAE,wBAA4B;CAAI;;AAItC;EAAU,2BAA0B;CAAK;;AACzC;EAAU,4BAA2B;CAAK;;AAalC;EAAE,uBAA+C;CAAI;;AACrD;EAAE,yBAAyC;CAAI;;AAC/C;EAAE,2BAA2C;CAAI;;AACjD;EAAE,4BAA4C;CAAI;;AAClD;EAAE,0BAA0C;CAAI;;AAChD;EACE,2BAA0C;EAC1C,0BAAyC;CAC1C;;AACD;EACE,yBAAyC;EACzC,4BAA4C;CAC7C;;AAZD;EAAE,mCAA+C;CAAI;;AACrD;EAAE,+BAAyC;CAAI;;AAC/C;EAAE,iCAA2C;CAAI;;AACjD;EAAE,kCAA4C;CAAI;;AAClD;EAAE,gCAA0C;CAAI;;AAChD;EACE,iCAA0C;EAC1C,gCAAyC;CAC1C;;AACD;EACE,+BAAyC;EACzC,kCAA4C;CAC7C;;AAZD;EAAE,iCAA+C;CAAI;;AACrD;EAAE,8BAAyC;CAAI;;AAC/C;EAAE,gCAA2C;CAAI;;AACjD;EAAE,iCAA4C;CAAI;;AAClD;EAAE,+BAA0C;CAAI;;AAChD;EACE,gCAA0C;EAC1C,+BAAyC;CAC1C;;AACD;EACE,8BAAyC;EACzC,iCAA4C;CAC7C;;AAZD;EAAE,6BAA+C;CAAI;;AACrD;EAAE,4BAAyC;CAAI;;AAC/C;EAAE,8BAA2C;CAAI;;AACjD;EAAE,+BAA4C;CAAI;;AAClD;EAAE,6BAA0C;CAAI;;AAChD;EACE,8BAA0C;EAC1C,6BAAyC;CAC1C;;AACD;EACE,4BAAyC;EACzC,+BAA4C;CAC7C;;AAZD;EAAE,iCAA+C;CAAI;;AACrD;EAAE,8BAAyC;CAAI;;AAC/C;EAAE,gCAA2C;CAAI;;AACjD;EAAE,iCAA4C;CAAI;;AAClD;EAAE,+BAA0C;CAAI;;AAChD;EACE,gCAA0C;EAC1C,+BAAyC;CAC1C;;AACD;EACE,8BAAyC;EACzC,iCAA4C;CAC7C;;AAZD;EAAE,6BAA+C;CAAI;;AACrD;EAAE,4BAAyC;CAAI;;AAC/C;EAAE,8BAA2C;CAAI;;AACjD;EAAE,+BAA4C;CAAI;;AAClD;EAAE,6BAA0C;CAAI;;AAChD;EACE,8BAA0C;EAC1C,6BAAyC;CAC1C;;AACD;EACE,4BAAyC;EACzC,+BAA4C;CAC7C;;AAZD;EAAE,wBAA+C;CAAI;;AACrD;EAAE,0BAAyC;CAAI;;AAC/C;EAAE,4BAA2C;CAAI;;AACjD;EAAE,6BAA4C;CAAI;;AAClD;EAAE,2BAA0C;CAAI;;AAChD;EACE,4BAA0C;EAC1C,2BAAyC;CAC1C;;AACD;EACE,0BAAyC;EACzC,6BAA4C;CAC7C;;AAZD;EAAE,oCAA+C;CAAI;;AACrD;EAAE,gCAAyC;CAAI;;AAC/C;EAAE,kCAA2C;CAAI;;AACjD;EAAE,mCAA4C;CAAI;;AAClD;EAAE,iCAA0C;CAAI;;AAChD;EACE,kCAA0C;EAC1C,iCAAyC;CAC1C;;AACD;EACE,gCAAyC;EACzC,mCAA4C;CAC7C;;AAZD;EAAE,kCAA+C;CAAI;;AACrD;EAAE,+BAAyC;CAAI;;AAC/C;EAAE,iCAA2C;CAAI;;AACjD;EAAE,kCAA4C;CAAI;;AAClD;EAAE,gCAA0C;CAAI;;AAChD;EACE,iCAA0C;EAC1C,gCAAyC;CAC1C;;AACD;EACE,+BAAyC;EACzC,kCAA4C;CAC7C;;AAZD;EAAE,8BAA+C;CAAI;;AACrD;EAAE,6BAAyC;CAAI;;AAC/C;EAAE,+BAA2C;CAAI;;AACjD;EAAE,gCAA4C;CAAI;;AAClD;EAAE,8BAA0C;CAAI;;AAChD;EACE,+BAA0C;EAC1C,8BAAyC;CAC1C;;AACD;EACE,6BAAyC;EACzC,gCAA4C;CAC7C;;AAZD;EAAE,kCAA+C;CAAI;;AACrD;EAAE,+BAAyC;CAAI;;AAC/C;EAAE,iCAA2C;CAAI;;AACjD;EAAE,kCAA4C;CAAI;;AAClD;EAAE,gCAA0C;CAAI;;AAChD;EACE,iCAA0C;EAC1C,gCAAyC;CAC1C;;AACD;EACE,+BAAyC;EACzC,kCAA4C;CAC7C;;AAZD;EAAE,8BAA+C;CAAI;;AACrD;EAAE,6BAAyC;CAAI;;AAC/C;EAAE,+BAA2C;CAAI;;AACjD;EAAE,gCAA4C;CAAI;;AAClD;EAAE,8BAA0C;CAAI;;AAChD;EACE,+BAA0C;EAC1C,8BAAyC;CAC1C;;AACD;EACE,6BAAyC;EACzC,gCAA4C;CAC7C;;AAKL;EAAE,wBAA8B;CAAK;;AACrC;EAAE,4BAA8B;CAAK;;AACrC;EAAE,8BAA8B;CAAK;;AACrC;EAAE,+BAA8B;CAAK;;AACrC;EAAE,6BAA8B;CAAK;;AACrC;EACE,8BAA6B;EAC7B,6BAA6B;CAC9B;;AACD;EACE,4BAA8B;EAC9B,+BAA8B;CAC/B;;AnDKD;EmDlCI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClE+6NJ;;Ae16NG;EmDlCI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClE6tOJ;;AextOG;EmDlCI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClE2gPJ;;AetgPG;EmDlCI;IAAE,uBAA+C;GAAI;EACrD;IAAE,yBAAyC;GAAI;EAC/C;IAAE,2BAA2C;GAAI;EACjD;IAAE,4BAA4C;GAAI;EAClD;IAAE,0BAA0C;GAAI;EAChD;IACE,2BAA0C;IAC1C,0BAAyC;GAC1C;EACD;IACE,yBAAyC;IACzC,4BAA4C;GAC7C;EAZD;IAAE,mCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,iCAA+C;GAAI;EACrD;IAAE,8BAAyC;GAAI;EAC/C;IAAE,gCAA2C;GAAI;EACjD;IAAE,iCAA4C;GAAI;EAClD;IAAE,+BAA0C;GAAI;EAChD;IACE,gCAA0C;IAC1C,+BAAyC;GAC1C;EACD;IACE,8BAAyC;IACzC,iCAA4C;GAC7C;EAZD;IAAE,6BAA+C;GAAI;EACrD;IAAE,4BAAyC;GAAI;EAC/C;IAAE,8BAA2C;GAAI;EACjD;IAAE,+BAA4C;GAAI;EAClD;IAAE,6BAA0C;GAAI;EAChD;IACE,8BAA0C;IAC1C,6BAAyC;GAC1C;EACD;IACE,4BAAyC;IACzC,+BAA4C;GAC7C;EAZD;IAAE,wBAA+C;GAAI;EACrD;IAAE,0BAAyC;GAAI;EAC/C;IAAE,4BAA2C;GAAI;EACjD;IAAE,6BAA4C;GAAI;EAClD;IAAE,2BAA0C;GAAI;EAChD;IACE,4BAA0C;IAC1C,2BAAyC;GAC1C;EACD;IACE,0BAAyC;IACzC,6BAA4C;GAC7C;EAZD;IAAE,oCAA+C;GAAI;EACrD;IAAE,gCAAyC;GAAI;EAC/C;IAAE,kCAA2C;GAAI;EACjD;IAAE,mCAA4C;GAAI;EAClD;IAAE,iCAA0C;GAAI;EAChD;IACE,kCAA0C;IAC1C,iCAAyC;GAC1C;EACD;IACE,gCAAyC;IACzC,mCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAZD;IAAE,kCAA+C;GAAI;EACrD;IAAE,+BAAyC;GAAI;EAC/C;IAAE,iCAA2C;GAAI;EACjD;IAAE,kCAA4C;GAAI;EAClD;IAAE,gCAA0C;GAAI;EAChD;IACE,iCAA0C;IAC1C,gCAAyC;GAC1C;EACD;IACE,+BAAyC;IACzC,kCAA4C;GAC7C;EAZD;IAAE,8BAA+C;GAAI;EACrD;IAAE,6BAAyC;GAAI;EAC/C;IAAE,+BAA2C;GAAI;EACjD;IAAE,gCAA4C;GAAI;EAClD;IAAE,8BAA0C;GAAI;EAChD;IACE,+BAA0C;IAC1C,8BAAyC;GAC1C;EACD;IACE,6BAAyC;IACzC,gCAA4C;GAC7C;EAKL;IAAE,wBAA8B;GAAK;EACrC;IAAE,4BAA8B;GAAK;EACrC;IAAE,8BAA8B;GAAK;EACrC;IAAE,+BAA8B;GAAK;EACrC;IAAE,6BAA8B;GAAK;EACrC;IACE,8BAA6B;IAC7B,6BAA6B;GAC9B;EACD;IACE,4BAA8B;IAC9B,+BAA8B;GAC/B;ClEyzPJ;;AkEnzPD;EACE,gBAAe;EACf,OAAM;EACN,SAAQ;EACR,QAAO;EACP,c/DshB6B;C+DrhB9B;;ACzDD;EAAiB,+BAA8B;CAAK;;AACpD;EAAiB,+BAA8B;CAAK;;AACpD;ECJE,iBAAgB;EAChB,wBAAuB;EACvB,oBAAmB;CDEsB;;AAQvC;EAAE,4BAA2B;CAAK;;AAClC;EAAE,6BAA4B;CAAK;;AACnC;EAAE,8BAA6B;CAAK;;ApDsCpC;EoDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnEw4PvC;;Ael2PG;EoDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnEo5PvC;;Ae92PG;EoDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnEg6PvC;;Ae13PG;EoDxCA;IAAE,4BAA2B;GAAK;EAClC;IAAE,6BAA4B;GAAK;EACnC;IAAE,8BAA6B;GAAK;CnE46PvC;;AmEt6PD;EAAmB,qCAAoC;CAAK;;AAC5D;EAAmB,qCAAoC;CAAK;;AAC5D;EAAmB,sCAAqC;CAAK;;AAI7D;EAAsB,oBhEqOK;CgErO+B;;AAC1D;EAAsB,kBhEqOC;CgErOiC;;AACxD;EAAsB,mBAAkB;CAAK;;AAI7C;EACE,uBAAsB;CACvB;;AEnCC;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;AiEpBH;EACE,0BAAwB;CACzB;;AjEeC;EiEZE,0BAAqC;CjEetC;;A+DmCL;EGxDE,YAAW;EACX,mBAAkB;EAClB,kBAAiB;EACjB,8BAA6B;EAC7B,UAAS;CHsDV;;AIxDD;ECDE,8BAA6B;CDG9B;;AAKC;EAEI,yBAAwB;CAE3B;;AxDsDC;EwDrDF;IAEI,yBAAwB;GAE3B;CvEohQF;;Aeh/PG;EwD7CF;IAEI,yBAAwB;GAE3B;CvE+hQF;;Aez+PG;EwDrDF;IAEI,yBAAwB;GAE3B;CvEgiQF;;Ae5/PG;EwD7CF;IAEI,yBAAwB;GAE3B;CvE2iQF;;Aer/PG;EwDrDF;IAEI,yBAAwB;GAE3B;CvE4iQF;;AexgQG;EwD7CF;IAEI,yBAAwB;GAE3B;CvEujQF;;AejgQG;EwDrDF;IAEI,yBAAwB;GAE3B;CvEwjQF;;AephQG;EwD7CF;IAEI,yBAAwB;GAE3B;CvEmkQF;;AuElkQC;EAEI,yBAAwB;CAE3B;;AAQH;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,0BAAyB;GAE5B;CvE8jQA;;AuE7jQD;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,2BAA0B;GAE7B;CvEikQA;;AuEhkQD;EACE,yBAAwB;CAKzB;;AAHC;EAHF;IAII,iCAAgC;GAEnC;CvEokQA;;AuEjkQC;EADF;IAEI,yBAAwB;GAE3B;CvEokQA","file":"bootstrap.css","sourcesContent":[null,null,"/*!\n * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)\n * Copyright 2011-2016 The Bootstrap Authors\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\n@media print {\n *,\n *::before,\n *::after,\n p::first-letter,\n div::first-letter,\n blockquote::first-letter,\n li::first-letter,\n p::first-line,\n div::first-line,\n blockquote::first-line,\n li::first-line {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n font-size: 16px;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: none;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: normal;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n font-size: 1.25rem;\n border-left: 0.25rem solid #eceeef;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #636c72;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.blockquote-reverse {\n padding-right: 1rem;\n padding-left: 0;\n text-align: right;\n border-right: 0.25rem solid #eceeef;\n border-left: 0;\n}\n\n.blockquote-reverse .blockquote-footer::before {\n content: \"\";\n}\n\n.blockquote-reverse .blockquote-footer::after {\n content: \"\\00A0 \\2014\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #636c72;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f7f7f9;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #292b2c;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #292b2c;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #eceeef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #eceeef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #eceeef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #eceeef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #eceeef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #dff0d8;\n}\n\n.table-hover .table-success:hover {\n background-color: #d0e9c6;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #d0e9c6;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #d9edf7;\n}\n\n.table-hover .table-info:hover {\n background-color: #c4e3f3;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #c4e3f3;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #fcf8e3;\n}\n\n.table-hover .table-warning:hover {\n background-color: #faf2cc;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #faf2cc;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f2dede;\n}\n\n.table-hover .table-danger:hover {\n background-color: #ebcccc;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #ebcccc;\n}\n\n.thead-inverse th {\n color: #fff;\n background-color: #292b2c;\n}\n\n.thead-default th {\n color: #464a4c;\n background-color: #eceeef;\n}\n\n.table-inverse {\n color: #fff;\n background-color: #292b2c;\n}\n\n.table-inverse th,\n.table-inverse td,\n.table-inverse thead th {\n border-color: #fff;\n}\n\n.table-inverse.table-bordered {\n border: 0;\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n border: 0;\n}\n\n.table-reflow thead {\n float: left;\n}\n\n.table-reflow tbody {\n display: block;\n white-space: nowrap;\n}\n\n.table-reflow th,\n.table-reflow td {\n border-top: 1px solid #eceeef;\n border-left: 1px solid #eceeef;\n}\n\n.table-reflow th:last-child,\n.table-reflow td:last-child {\n border-right: 1px solid #eceeef;\n}\n\n.table-reflow thead:last-child tr:last-child th,\n.table-reflow thead:last-child tr:last-child td,\n.table-reflow tbody:last-child tr:last-child th,\n.table-reflow tbody:last-child tr:last-child td,\n.table-reflow tfoot:last-child tr:last-child th,\n.table-reflow tfoot:last-child tr:last-child td {\n border-bottom: 1px solid #eceeef;\n}\n\n.table-reflow tr {\n float: left;\n}\n\n.table-reflow tr th,\n.table-reflow tr td {\n display: block !important;\n border: 1px solid #eceeef;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5rem 0.75rem;\n font-size: 1rem;\n line-height: 1.25;\n color: #464a4c;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #464a4c;\n background-color: #fff;\n border-color: #5cb3fd;\n outline: none;\n}\n\n.form-control::placeholder {\n color: #636c72;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #eceeef;\n opacity: 1;\n}\n\n.form-control:disabled {\n cursor: not-allowed;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n margin-bottom: 0;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.75rem - 1px * 2);\n padding-bottom: calc(0.75rem - 1px * 2);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem - 1px * 2);\n padding-bottom: calc(0.25rem - 1px * 2);\n font-size: 0.875rem;\n}\n\n.col-form-legend {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-static {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n line-height: 1.25;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,\n.input-group-sm > .form-control-static.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,\n.input-group-lg > .form-control-static.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-static.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 1.8125rem;\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 3.166667rem;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:only-child {\n position: static;\n}\n\n.form-check-inline {\n display: inline-block;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.form-check-inline + .form-check-inline {\n margin-left: 0.75rem;\n}\n\n.form-control-feedback {\n margin-top: 0.25rem;\n}\n\n.form-control-success,\n.form-control-warning,\n.form-control-danger {\n padding-right: 2.25rem;\n background-repeat: no-repeat;\n background-position: center right 0.5625rem;\n background-size: 1.125rem 1.125rem;\n}\n\n.has-success .form-control-feedback,\n.has-success .form-control-label,\n.has-success .col-form-label,\n.has-success .form-check-label,\n.has-success .custom-control {\n color: #5cb85c;\n}\n\n.has-success .form-control {\n border-color: #5cb85c;\n}\n\n.has-success .input-group-addon {\n color: #5cb85c;\n border-color: #5cb85c;\n background-color: #eaf6ea;\n}\n\n.has-success .form-control-success {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\");\n}\n\n.has-warning .form-control-feedback,\n.has-warning .form-control-label,\n.has-warning .col-form-label,\n.has-warning .form-check-label,\n.has-warning .custom-control {\n color: #f0ad4e;\n}\n\n.has-warning .form-control {\n border-color: #f0ad4e;\n}\n\n.has-warning .input-group-addon {\n color: #f0ad4e;\n border-color: #f0ad4e;\n background-color: white;\n}\n\n.has-warning .form-control-warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E\");\n}\n\n.has-danger .form-control-feedback,\n.has-danger .form-control-label,\n.has-danger .col-form-label,\n.has-danger .form-check-label,\n.has-danger .custom-control {\n color: #d9534f;\n}\n\n.has-danger .form-control {\n border-color: #d9534f;\n}\n\n.has-danger .input-group-addon {\n color: #d9534f;\n border-color: #d9534f;\n background-color: #fdf7f7;\n}\n\n.has-danger .form-control-danger {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: normal;\n line-height: 1.25;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n cursor: not-allowed;\n opacity: .65;\n}\n\n.btn:active, .btn.active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025aa5;\n border-color: #01549b;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #025aa5;\n background-image: none;\n border-color: #01549b;\n}\n\n.btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:hover {\n color: #292b2c;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #2aabd2;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #2aabd2;\n}\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #419641;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #419641;\n}\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #eb9316;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #eb9316;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #c12e2a;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #c12e2a;\n}\n\n.btn-outline-primary {\n color: #0275d8;\n background-image: none;\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0275d8;\n background-color: transparent;\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-secondary {\n color: #ccc;\n background-image: none;\n background-color: transparent;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #ccc;\n background-color: transparent;\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-info {\n color: #5bc0de;\n background-image: none;\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #5bc0de;\n background-color: transparent;\n}\n\n.btn-outline-info:active, .btn-outline-info.active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-success {\n color: #5cb85c;\n background-image: none;\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #5cb85c;\n background-color: transparent;\n}\n\n.btn-outline-success:active, .btn-outline-success.active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-warning {\n color: #f0ad4e;\n background-image: none;\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #f0ad4e;\n background-color: transparent;\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-danger {\n color: #d9534f;\n background-image: none;\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #d9534f;\n background-color: transparent;\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-link {\n font-weight: normal;\n color: #0275d8;\n border-radius: 0;\n}\n\n.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\n background-color: transparent;\n}\n\n.btn-link, .btn-link:focus, .btn-link:active {\n border-color: transparent;\n}\n\n.btn-link:hover {\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link:hover {\n color: #014c8c;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.btn-link:disabled {\n color: #636c72;\n}\n\n.btn-link:disabled:focus, .btn-link:disabled:hover {\n text-decoration: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: middle;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n.dropup .dropdown-toggle::after {\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #292b2c;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-divider {\n height: 1px;\n margin: 0.5rem 0;\n overflow: hidden;\n background-color: #eceeef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 3px 1.5rem;\n clear: both;\n font-weight: normal;\n color: #292b2c;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #1d1e1f;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0275d8;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: transparent;\n}\n\n.show > .dropdown-menu {\n display: block;\n}\n\n.show > a {\n outline: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #636c72;\n white-space: nowrap;\n}\n\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 0.125rem;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 1.125rem;\n padding-left: 1.125rem;\n}\n\n.btn .caret {\n margin-left: 0;\n}\n\n.btn-lg .caret, .btn-group-lg > .btn .caret {\n border-width: 0.3em 0.3em 0;\n border-bottom-width: 0;\n}\n\n.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {\n border-width: 0 0.3em 0.3em;\n}\n\n.btn-group-vertical {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.input-group-addon {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.25;\n color: #464a4c;\n text-align: center;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n flex: 1;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n cursor: pointer;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #0275d8;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #8fcafe;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #0275d8;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.25;\n color: #464a4c;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n.custom-select:focus {\n border-color: #5cb3fd;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.custom-select:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: 2.5rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n margin: 0;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n user-select: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en)::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5em 1em;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #eceeef #eceeef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #636c72;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #464a4c;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .nav-item.show .nav-link {\n color: #fff;\n cursor: default;\n background-color: #0275d8;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex: 1 1 100%;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n padding: 0.5rem 1rem;\n}\n\n.navbar-toggler-left {\n position: absolute;\n left: 1rem;\n}\n\n.navbar-toggler-right {\n position: absolute;\n right: 1rem;\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.navbar-fixed-top {\n top: 0;\n}\n\n.navbar-fixed-bottom {\n bottom: 0;\n}\n\n.navbar-sticky-top {\n position: sticky;\n top: 0;\n z-index: 1030;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: .25rem;\n padding-bottom: .25rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-divider {\n float: left;\n width: 1px;\n padding-top: 0.425rem;\n padding-bottom: 0.425rem;\n margin-right: 1rem;\n margin-left: 1rem;\n overflow: hidden;\n}\n\n.navbar-divider::before {\n content: \"\\00a0\";\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: .425rem;\n padding-bottom: .425rem;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n.navbar-nav {\n flex-grow: 10;\n}\n\n.navbar-nav .nav-link {\n display: block;\n padding-top: .425rem;\n padding-bottom: .425rem;\n}\n\n.navbar-light .navbar-brand,\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,\n.navbar-light .navbar-toggler:focus,\n.navbar-light .navbar-toggler:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .open > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.open,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-divider {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-toggler {\n color: white;\n}\n\n.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-toggler:focus,\n.navbar-inverse .navbar-toggler:hover {\n color: white;\n}\n\n.navbar-inverse .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-inverse .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-inverse .navbar-nav .open > .nav-link,\n.navbar-inverse .navbar-nav .active > .nav-link,\n.navbar-inverse .navbar-nav .nav-link.open,\n.navbar-inverse .navbar-nav .nav-link.active {\n color: white;\n}\n\n.navbar-inverse .navbar-toggler {\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-inverse .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-inverse .navbar-divider {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n.navbar-inverse .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n@media (max-width: 575px) {\n .navbar-toggleable .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-toggleable {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable .nav-item {\n display: inline-block;\n }\n .navbar-toggleable .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-toggleable-sm .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-sm > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-toggleable-sm {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-sm .nav-item {\n display: inline-block;\n }\n .navbar-toggleable-sm .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-toggleable-md .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-md > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-toggleable-md {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-md .nav-item {\n display: inline-block;\n }\n .navbar-toggleable-md .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-toggleable-lg .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-lg > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-toggleable-lg {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-lg .nav-item {\n display: inline-block;\n }\n .navbar-toggleable-lg .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-lg .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-toggleable-xl {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-toggleable-xl > .container {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-toggleable-xl > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-collapse {\n display: flex !important;\n width: 100%;\n}\n\n.navbar-toggleable-xl .nav-item {\n display: inline-block;\n}\n\n.navbar-toggleable-xl .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-toggleable-xl .navbar-toggler {\n display: none;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card-block {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #f7f7f9;\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: #f7f7f9;\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-primary {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.card-primary .card-header,\n.card-primary .card-footer {\n background-color: transparent;\n}\n\n.card-success {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.card-success .card-header,\n.card-success .card-footer {\n background-color: transparent;\n}\n\n.card-info {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.card-info .card-header,\n.card-info .card-footer {\n background-color: transparent;\n}\n\n.card-warning {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.card-warning .card-header,\n.card-warning .card-footer {\n background-color: transparent;\n}\n\n.card-danger {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.card-danger .card-header,\n.card-danger .card-footer {\n background-color: transparent;\n}\n\n.card-outline-primary {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-secondary {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-info {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-success {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-warning {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-danger {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-inverse {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer {\n background-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer,\n.card-inverse .card-title,\n.card-inverse .card-blockquote {\n color: #fff;\n}\n\n.card-inverse .card-link,\n.card-inverse .card-text,\n.card-inverse .card-subtitle,\n.card-inverse .card-blockquote .blockquote-footer {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-link:focus, .card-inverse .card-link:hover {\n color: #fff;\n}\n\n.card-blockquote {\n padding: 0;\n margin-bottom: 0;\n border-left: 0;\n}\n\n.card-img {\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img-top {\n border-top-right-radius: calc(0.25rem - 1px);\n border-top-left-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n }\n .card-deck .card:not(:first-child) {\n margin-left: 15px;\n }\n .card-deck .card:not(:last-child) {\n margin-right: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n margin-bottom: 0.75rem;\n }\n}\n\n.breadcrumb {\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.breadcrumb-item {\n float: left;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #636c72;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #636c72;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.page-item.disabled .page-link {\n color: #636c72;\n pointer-events: none;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #0275d8;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #014c8c;\n text-decoration: none;\n background-color: #eceeef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-bottom-left-radius: 0.3rem;\n border-top-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-bottom-right-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-bottom-left-radius: 0.2rem;\n border-top-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-bottom-right-radius: 0.2rem;\n border-top-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\na.badge:focus, a.badge:hover {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-default {\n background-color: #636c72;\n}\n\n.badge-default[href]:focus, .badge-default[href]:hover {\n background-color: #4b5257;\n}\n\n.badge-primary {\n background-color: #0275d8;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n background-color: #025aa5;\n}\n\n.badge-success {\n background-color: #5cb85c;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n background-color: #449d44;\n}\n\n.badge-info {\n background-color: #5bc0de;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n background-color: #31b0d5;\n}\n\n.badge-warning {\n background-color: #f0ad4e;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n background-color: #ec971f;\n}\n\n.badge-danger {\n background-color: #d9534f;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n background-color: #c9302c;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #eceeef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-hr {\n border-top-color: #d0d5d8;\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: bold;\n}\n\n.alert-dismissible .close {\n position: relative;\n top: -0.75rem;\n right: -1.25rem;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-success {\n background-color: #dff0d8;\n border-color: #d0e9c6;\n color: #3c763d;\n}\n\n.alert-success hr {\n border-top-color: #c1e2b3;\n}\n\n.alert-success .alert-link {\n color: #2b542c;\n}\n\n.alert-info {\n background-color: #d9edf7;\n border-color: #bcdff1;\n color: #31708f;\n}\n\n.alert-info hr {\n border-top-color: #a6d5ec;\n}\n\n.alert-info .alert-link {\n color: #245269;\n}\n\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faf2cc;\n color: #8a6d3b;\n}\n\n.alert-warning hr {\n border-top-color: #f7ecb5;\n}\n\n.alert-warning .alert-link {\n color: #66512c;\n}\n\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebcccc;\n color: #a94442;\n}\n\n.alert-danger hr {\n border-top-color: #e4b9b9;\n}\n\n.alert-danger .alert-link {\n color: #843534;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: block;\n width: 100%;\n height: 1rem;\n margin-bottom: 1rem;\n overflow: hidden;\n}\n\n.progress[value] {\n background-color: #eceeef;\n border: 0;\n appearance: none;\n border-radius: 0.25rem;\n}\n\n.progress[value]::-ms-fill {\n background-color: #0275d8;\n border: 0;\n}\n\n.progress[value]::-moz-progress-bar {\n background-color: #0275d8;\n}\n\n.progress[value]::-webkit-progress-value {\n background-color: #0275d8;\n}\n\n.progress[value]::-webkit-progress-bar {\n background-color: #eceeef;\n}\n\nbase::-moz-progress-bar,\n.progress[value] {\n background-color: #eceeef;\n}\n\n.progress-striped[value]::-webkit-progress-value {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-striped[value]::-moz-progress-bar {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-striped[value]::-ms-fill {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-animated[value]::-webkit-progress-value {\n animation: progress-bar-stripes 2s linear infinite;\n}\n\n.progress-animated[value]::-moz-progress-bar {\n animation: progress-bar-stripes 2s linear infinite;\n}\n\n.progress-success[value]::-webkit-progress-value {\n background-color: #5cb85c;\n}\n\n.progress-success[value]::-moz-progress-bar {\n background-color: #5cb85c;\n}\n\n.progress-success[value]::-ms-fill {\n background-color: #5cb85c;\n}\n\n.progress-info[value]::-webkit-progress-value {\n background-color: #5bc0de;\n}\n\n.progress-info[value]::-moz-progress-bar {\n background-color: #5bc0de;\n}\n\n.progress-info[value]::-ms-fill {\n background-color: #5bc0de;\n}\n\n.progress-warning[value]::-webkit-progress-value {\n background-color: #f0ad4e;\n}\n\n.progress-warning[value]::-moz-progress-bar {\n background-color: #f0ad4e;\n}\n\n.progress-warning[value]::-ms-fill {\n background-color: #f0ad4e;\n}\n\n.progress-danger[value]::-webkit-progress-value {\n background-color: #d9534f;\n}\n\n.progress-danger[value]::-moz-progress-bar {\n background-color: #d9534f;\n}\n\n.progress-danger[value]::-ms-fill {\n background-color: #d9534f;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #464a4c;\n text-align: inherit;\n}\n\n.list-group-item-action .list-group-item-heading {\n color: #292b2c;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #464a4c;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.list-group-item-action:active {\n color: #292b2c;\n background-color: #eceeef;\n}\n\n.list-group-item {\n position: relative;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #fff;\n}\n\n.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {\n color: inherit;\n}\n\n.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {\n color: #636c72;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small {\n color: inherit;\n}\n\n.list-group-item.active .list-group-item-text {\n color: #daeeff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\n\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #3c763d;\n background-color: #d0e9c6;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\n\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #31708f;\n background-color: #c4e3f3;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\n\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\n\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #a94442;\n background-color: #ebcccc;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9 {\n padding-bottom: 42.857143%;\n}\n\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n\n.embed-responsive-1by1 {\n padding-bottom: 100%;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #eceeef;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #eceeef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {\n padding: 5px 0;\n margin-top: -3px;\n}\n\n.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {\n padding: 0 5px;\n margin-left: 3px;\n}\n\n.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {\n top: 50%;\n left: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {\n padding: 5px 0;\n margin-top: 3px;\n}\n\n.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {\n top: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {\n padding: 0 5px;\n margin-left: -3px;\n}\n\n.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {\n top: 50%;\n right: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.tooltip-inner::before {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n padding: 1px;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover.popover-top, .popover.bs-tether-element-attached-bottom {\n margin-top: -10px;\n}\n\n.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {\n left: 50%;\n border-bottom-width: 0;\n}\n\n.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {\n bottom: -11px;\n margin-left: -11px;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {\n bottom: -10px;\n margin-left: -10px;\n border-top-color: #fff;\n}\n\n.popover.popover-right, .popover.bs-tether-element-attached-left {\n margin-left: 10px;\n}\n\n.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {\n top: 50%;\n border-left-width: 0;\n}\n\n.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {\n left: -11px;\n margin-top: -11px;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {\n left: -10px;\n margin-top: -10px;\n border-right-color: #fff;\n}\n\n.popover.popover-bottom, .popover.bs-tether-element-attached-top {\n margin-top: 10px;\n}\n\n.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {\n left: 50%;\n border-top-width: 0;\n}\n\n.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {\n top: -11px;\n margin-left: -11px;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {\n top: -10px;\n margin-left: -10px;\n border-bottom-color: #f7f7f7;\n}\n\n.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.popover-left, .popover.bs-tether-element-attached-right {\n margin-left: -10px;\n}\n\n.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {\n top: 50%;\n border-right-width: 0;\n}\n\n.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {\n right: -11px;\n margin-top: -11px;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {\n right: -10px;\n margin-top: -10px;\n border-left-color: #fff;\n}\n\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 0.2375rem 0.2375rem 0 0;\n}\n\n.popover-title:empty {\n display: none;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n.popover::before,\n.popover::after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover::before {\n content: \"\";\n border-width: 11px;\n}\n\n.popover::after {\n content: \"\";\n border-width: 10px;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n width: 100%;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: flex;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 1 0 auto;\n max-width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-faded {\n background-color: #f7f7f7;\n}\n\n.bg-primary {\n background-color: #0275d8 !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #025aa5 !important;\n}\n\n.bg-success {\n background-color: #5cb85c !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #449d44 !important;\n}\n\n.bg-info {\n background-color: #5bc0de !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #31b0d5 !important;\n}\n\n.bg-warning {\n background-color: #f0ad4e !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #ec971f !important;\n}\n\n.bg-danger {\n background-color: #d9534f !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #c9302c !important;\n}\n\n.bg-inverse {\n background-color: #292b2c !important;\n}\n\na.bg-inverse:focus, a.bg-inverse:hover {\n background-color: #101112 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-top {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-right {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-circle {\n border-radius: 50%;\n}\n\n.rounded-0 {\n border-radius: 0;\n}\n\n.clearfix::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-first {\n order: -1;\n}\n\n.flex-last {\n order: 1;\n}\n\n.flex-unordered {\n order: 0;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-first {\n order: -1;\n }\n .flex-sm-last {\n order: 1;\n }\n .flex-sm-unordered {\n order: 0;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-first {\n order: -1;\n }\n .flex-md-last {\n order: 1;\n }\n .flex-md-unordered {\n order: 0;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-first {\n order: -1;\n }\n .flex-lg-last {\n order: 1;\n }\n .flex-lg-unordered {\n order: 0;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-first {\n order: -1;\n }\n .flex-xl-last {\n order: 1;\n }\n .flex-xl-unordered {\n order: 0;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem 1rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem 1.5rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem 3rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.p-0 {\n padding: 0 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem 1rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem 1.5rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem 3rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 0 !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem 1rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem 3rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 0 !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem 1rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem 3rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 0 !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem 1rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem 3rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-md-0 {\n padding: 0 0 !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem 1rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem 3rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 0 !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem 1rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem 3rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 0 !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem 1rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem 3rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 0 !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem 1rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem 3rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 0 !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem 1rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem 3rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n.pos-f-t {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-normal {\n font-weight: normal;\n}\n\n.font-weight-bold {\n font-weight: bold;\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-muted {\n color: #636c72 !important;\n}\n\na.text-muted:focus, a.text-muted:hover {\n color: #4b5257 !important;\n}\n\n.text-primary {\n color: #0275d8 !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #025aa5 !important;\n}\n\n.text-success {\n color: #5cb85c !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #449d44 !important;\n}\n\n.text-info {\n color: #5bc0de !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #31b0d5 !important;\n}\n\n.text-warning {\n color: #f0ad4e !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #ec971f !important;\n}\n\n.text-danger {\n color: #d9534f !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #c9302c !important;\n}\n\n.text-gray-dark {\n color: #292b2c !important;\n}\n\na.text-gray-dark:focus, a.text-gray-dark:hover {\n color: #101112 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.hidden-xs-up {\n display: none !important;\n}\n\n@media (max-width: 575px) {\n .hidden-xs-down {\n display: none !important;\n }\n}\n\n@media (min-width: 576px) {\n .hidden-sm-up {\n display: none !important;\n }\n}\n\n@media (max-width: 767px) {\n .hidden-sm-down {\n display: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .hidden-md-up {\n display: none !important;\n }\n}\n\n@media (max-width: 991px) {\n .hidden-md-down {\n display: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .hidden-lg-up {\n display: none !important;\n }\n}\n\n@media (max-width: 1199px) {\n .hidden-lg-down {\n display: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .hidden-xl-up {\n display: none !important;\n }\n}\n\n.hidden-xl-down {\n display: none !important;\n}\n\n.visible-print-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n\n.visible-print-inline {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n\n.visible-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_print.scss","bootstrap.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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2B;GAC5B;EAnFL;IAuFM,OAAM;GACP;CjBo0DJ;;AmB7rED;EACE,sBAAqB;EACrB,oBjBuPyB;EiBtPzB,mBAAkB;EAClB,oBAAmB;EACnB,uBAAsB;EACtB,0BAAiB;KAAjB,uBAAiB;MAAjB,sBAAiB;UAAjB,kBAAiB;EACjB,8BAAiD;ECqEjD,qBlBkQ8B;EkBjQ9B,gBlBuKmB;EkBtKnB,kBlBiQ8B;EMjV5B,uBNgO2B;EO/NzB,yCPgY8C;EOhY9C,oCPgY8C;EOhY9C,iCPgY8C;CiB9VnD;;AhBjBG;EgBHA,sBAAqB;ChBMpB;;AgBnBL;EAiBI,WAAU;EACV,sDjB4EY;UiB5EZ,8CjB4EY;CiB3Eb;;AAnBH;EAwBI,aAAY;CAEb;;AA1BH;EA8BI,uBAAsB;CAEvB;;AAIH;;EAEE,qBAAoB;CACrB;;AAOD;EC3CE,YlBqFW;EkBpFX,0BlB0Fc;EkBzFd,sBlByFc;CiB9Cf;;AhB3CG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,qDlB0EU;UkB1EV,6ClB0EU;CkBxEb;;AAGD;EAEE,0BlBmEY;EkBlEZ,sBlBkEY;CkBjEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADUH;EC9CE,elBiGiC;EkBhGjC,uBlBoFW;EkBnFX,mBlB+VmC;CiBjTpC;;AhB9CG;EiBKA,elB0F+B;EkBzF/B,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,uDlBgV+B;UkBhV/B,+ClBgV+B;CkB9UlC;;AAGD;EAEE,uBlB6DS;EkB5DT,mBlBwUiC;CkBvUlC;;AAED;;EAGE,elBkE+B;EkBjE/B,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADaH;ECjDE,YlBqFW;EkBpFX,0BlB2Fc;EkB1Fd,sBlB0Fc;CiBzCf;;AhBjDG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,sDlB2EU;UkB3EV,8ClB2EU;CkBzEb;;AAGD;EAEE,0BlBoEY;EkBnEZ,sBlBmEY;CkBlEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADgBH;ECpDE,YlBqFW;EkBpFX,0BlByFc;EkBxFd,sBlBwFc;CiBpCf;;AhBpDG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,qDlByEU;UkBzEV,6ClByEU;CkBvEb;;AAGD;EAEE,0BlBkEY;EkBjEZ,sBlBiEY;CkBhEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADmBH;ECvDE,YlBqFW;EkBpFX,0BlBuFc;EkBtFd,sBlBsFc;CiB/Bf;;AhBvDG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,sDlBuEU;UkBvEV,8ClBuEU;CkBrEb;;AAGD;EAEE,0BlBgEY;EkB/DZ,sBlB+DY;CkB9Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADsBH;EC1DE,YlBqFW;EkBpFX,0BlBsFc;EkBrFd,sBlBqFc;CiB3Bf;;AhB1DG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,qDlBsEU;UkBtEV,6ClBsEU;CkBpEb;;AAGD;EAEE,0BlB+DY;EkB9DZ,sBlB8DY;CkB7Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;AD2BH;ECvBE,elBmDc;EkBlDd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlBgDc;CiB1Bf;;AhB/DG;EiB4CA,YlBuCS;EkBtCT,0BlB4CY;EkB3CZ,sBlB2CY;CCzFS;;AiBiDvB;EAEE,qDlBsCY;UkBtCZ,6ClBsCY;CkBrCb;;AAED;EAEE,elBiCY;EkBhCZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlByBY;EkBxBZ,sBlBwBY;CkBvBb;;ADFH;EC1BE,YlByTmC;EkBxTnC,8BAA6B;EAC7B,uBAAsB;EACtB,mBlBsTmC;CiB7RpC;;AhBlEG;EiB4CA,elBmD+B;EkBlD/B,uBlBkTiC;EkBjTjC,mBlBiTiC;CC/VZ;;AiBiDvB;EAEE,uDlB4SiC;UkB5SjC,+ClB4SiC;CkB3SlC;;AAED;EAEE,YlBuSiC;EkBtSjC,8BAA6B;CAC9B;;AAED;;EAGE,elBgC+B;EkB/B/B,uBlB+RiC;EkB9RjC,mBlB8RiC;CkB7RlC;;ADCH;EC7BE,elBoDc;EkBnDd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlBiDc;CiBrBf;;AhBrEG;EiB4CA,YlBuCS;EkBtCT,0BlB6CY;EkB5CZ,sBlB4CY;CC1FS;;AiBiDvB;EAEE,sDlBuCY;UkBvCZ,8ClBuCY;CkBtCb;;AAED;EAEE,elBkCY;EkBjCZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlB0BY;EkBzBZ,sBlByBY;CkBxBb;;ADIH;EChCE,elBkDc;EkBjDd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlB+Cc;CiBhBf;;AhBxEG;EiB4CA,YlBuCS;EkBtCT,0BlB2CY;EkB1CZ,sBlB0CY;CCxFS;;AiBiDvB;EAEE,qDlBqCY;UkBrCZ,6ClBqCY;CkBpCb;;AAED;EAEE,elBgCY;EkB/BZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlBwBY;EkBvBZ,sBlBuBY;CkBtBb;;ADOH;ECnCE,elBgDc;EkB/Cd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlB6Cc;CiBXf;;AhB3EG;EiB4CA,YlBuCS;EkBtCT,0BlByCY;EkBxCZ,sBlBwCY;CCtFS;;AiBiDvB;EAEE,sDlBmCY;UkBnCZ,8ClBmCY;CkBlCb;;AAED;EAEE,elB8BY;EkB7BZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlBsBY;EkBrBZ,sBlBqBY;CkBpBb;;ADUH;ECtCE,elB+Cc;EkB9Cd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlB4Cc;CiBPf;;AhB9EG;EiB4CA,YlBuCS;EkBtCT,0BlBwCY;EkBvCZ,sBlBuCY;CCrFS;;AiBiDvB;EAEE,qDlBkCY;UkBlCZ,6ClBkCY;CkBjCb;;AAED;EAEE,elB6BY;EkB5BZ,8BAA6B;CAC9B;;AAED;;E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;C2BvBZ;;AATD;ErB3DI,2DqBkE8E;CAC/E;;AAGH;EACE,yB3BolBgC;E2BnlBhC,0B3BkCiC;E2BjCjC,2C3BkBW;C2BbZ;;AARD;ErBtEI,2DN+pB2E;C2BllB5E;;AAQH;EACE,wBAAkC;EAClC,wB3BmkB+B;E2BlkB/B,uBAAiC;EACjC,iBAAgB;CACjB;;AAED;EACE,wBAAkC;EAClC,uBAAiC;CAClC;;AAOD;ECvGE,0B5BiGc;E4BhGd,sB5BgGc;C2BQf;;ACtGC;;EAEE,8BAA6B;CAC9B;;ADoGH;EC1GE,0B5BgGc;E4B/Fd,sB5B+Fc;C2BYf;;ACzGC;;EAEE,8BAA6B;CAC9B;;ADuGH;EC7GE,0B5BkGc;E4BjGd,sB5BiGc;C2Baf;;AC5GC;;EAEE,8BAA6B;CAC9B;;AD0GH;EChHE,0B5B8Fc;E4B7Fd,sB5B6Fc;C2BoBf;;AC/GC;;EAEE,8BAA6B;CAC9B;;AD6GH;ECnHE,0B5B6Fc;E4B5Fd,sB5B4Fc;C2BwBf;;AClHC;;EAEE,8BAA6B;CAC9B;;ADkHH;EC9GE,8BAA6B;EAC7B,sB5BsFc;C2ByBf;;AC7GC;;EAEE,8BAA6B;EAC7B,sB5BiFY;C4BhFb;;AD0GH;ECjHE,8BAA6B;EAC7B,mB5B4VmC;C2B1OpC;;AChHC;;EAEE,8BAA6B;EAC7B,mB5BuViC;C4BtVlC;;AD6GH;ECpHE,8BAA6B;EAC7B,sB5BuFc;C2B8Bf;;ACnHC;;EAEE,8BAA6B;EAC7B,sB5BkFY;C4BjFb;;ADgHH;ECvHE,8BAA6B;EAC7B,sB5BqFc;C2BmCf;;ACtHC;;EAEE,8BAA6B;EAC7B,sB5BgFY;C4B/Eb;;ADmHH;EC1HE,8BAA6B;EAC7B,sB5BmFc;C2BwCf;;ACzHC;;EAEE,8BAA6B;EAC7B,sB5B8EY;C4B7Eb;;ADsHH;EC7HE,8BAA6B;EAC7B,sB5BkFc;C2B4Cf;;AC5HC;;EAEE,8BAA6B;EAC7B,sB5B6EY;C4B5Eb;;AD8HH;ECtHE,iCAA4B;CDwH7B;;ACtHC;;EAEE,8BAA6B;EAC7B,uCAAkC;CACnC;;AACD;;;;EAIE,YAAW;CACZ;;AACD;;;;EAIE,iCAA4B;CAC7B;;AACD;EAEI,Y5B6CO;CCrER;;A0BiIL;EACE,WAAU;EACV,iBAAgB;EAChB,eAAc;CACf;;AAGD;EACE,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,UAAS;EACT,QAAO;EACP,iB3BkgBgC;C2BjgBjC;;AAED;EACE,YAAW;ErBvKT,mCN+pB2E;C2Btf9E;;AAGD;EACE,YAAW;ErBvKT,4CNypB2E;EMxpB3E,6CNwpB2E;C2Bhf9E;;AAED;EACE,YAAW;ErB9JT,gDN2oB2E;EM1oB3E,+CN0oB2E;C2B3e9E;;AhBhIG;EgBsIF;IACE,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;IACnB,oB3B0eqD;I2BzerD,mB3ByeqD;G2BhetD;EAbD;IAOI,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,oBAAW;IAAX,oBAAW;QAAX,kBAAW;YAAX,aAAW;IACX,6BAAsB;IAAtB,8BAAsB;IAAtB,+BAAsB;QAAtB,2BAAsB;YAAtB,uBAAsB;IACtB,mB3BmemD;I2BlenD,kB3BkemD;G2BjepD;C7ByuHJ;;Aa33HG;EgB4JF;IACE,qBAAa;IAAb,sBAAa;IAAb,qBAAa;IAAb,cAAa;IACb,+BAAmB;IAAnB,8BAAmB;IAAnB,4BAAmB;QAAnB,wBAAmB;YAAnB,oBAAmB;GA2CpB;EA7CD;IAKI,oBAAW;IAAX,oBAAW;QAAX,kBAAW;YAAX,aAAW;GAuCZ;EA5CH;IAQM,eAAc;IACd,eAAc;GACf;EAVL;IrBnME,2BqBkNoC;IrBjNpC,8BqBiNoC;GAQ/B;EAvBP;IAkBU,2BAA0B;GAC3B;EAnBT;IAqBU,8BAA6B;GAC9B;EAtBT;IrBrLE,0BqB8MmC;IrB7MnC,6BqB6MmC;GAQ9B;EAjCP;IA4BU,0BAAyB;GAC1B;EA7BT;IA+BU,6BAA4B;GAC7B;EAhCT;IAoCQ,iBAAgB;GAMjB;EA1CP;;IAwCU,iBAAgB;GACjB;C7B+tHV;;A6BntHD;EAEI,uB3BmZ6B;C2BlZ9B;;AhBpNC;EgBiNJ;IAMI,wB3B8ZyB;O2B9ZzB,qB3B8ZyB;Y2B9ZzB,gB3B8ZyB;I2B7ZzB,4B3B8Z+B;O2B9Z/B,yB3B8Z+B;Y2B9Z/B,oB3B8Z+B;G2BvZlC;EAdD;IAUM,sBAAqB;IACrB,YAAW;GACZ;C7BstHJ;;A+B3+HD;EACE,sB7Bs2BkC;E6Br2BlC,oBAAmB;EACnB,iBAAgB;EAChB,0B7ByGiC;EMzG/B,uBNgO2B;C6B7N9B;;ACNC;EACE,eAAc;EACd,YAAW;EACX,YAAW;CACZ;;ADIH;EACE,YAAW;CA2BZ;;AA5BD;EAKI,sBAAqB;EACrB,sB7By1BiC;E6Bx1BjC,qB7Bw1BiC;E6Bv1BjC,e7B2F+B;E6B1F/B,aAAiC;CAClC;;AAVH;EAmBI,2BAA0B;CAC3B;;AApBH;EAsBI,sBAAqB;CACtB;;AAvBH;EA0BI,e7ByE+B;C6BxEhC;;AEpCH;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EAEb,gBAAe;EACf,iBAAgB;EzBAd,uBNgO2B;C+B9N9B;;AAED;EAGM,eAAc;EzBoBhB,gCNqM2B;EMpM3B,mCNoM2B;C+BvN1B;;AALL;EzBSI,iCNmN2B;EMlN3B,oCNkN2B;C+BlN1B;;AAVL;EAcI,WAAU;EACV,Y/BuES;E+BtET,0B/B4EY;E+B3EZ,sB/B2EY;C+B1Eb;;AAlBH;EAqBI,e/B+E+B;E+B9E/B,qBAAoB;EACpB,uB/B+DS;E+B9DT,mB/B6lBuC;C+B5lBxC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wB/BgkB0C;E+B/jB1C,kBAAiB;EACjB,kB/BmkBwC;E+BlkBxC,e/B0Dc;E+BzDd,uB/BmDW;E+BlDX,uB/BqkByC;C+B7jB1C;;A9B9BG;E8ByBA,e/B4H4C;E+B3H5C,sBAAqB;EACrB,0B/B4D+B;E+B3D/B,mB/BmkBuC;CC5lBtC;;A+BtBH;EACE,wBhCumBwC;EgCtmBxC,mBhCsPoB;CgCrPrB;;AAIG;E1BqBF,+BNsM0B;EMrM1B,kCNqM0B;CgCzNvB;;AAGD;E1BEF,gCNoN0B;EMnN1B,mCNmN0B;CgCpNvB;;AAdL;EACE,wBhCqmBuC;EgCpmBvC,oBhCuPoB;CgCtPrB;;AAIG;E1BqBF,+BNuM0B;EMtM1B,kCNsM0B;CgC1NvB;;AAGD;E1BEF,gCNqN0B;EMpN1B,mCNoN0B;CgCrNvB;;ACZP;EACE,sBAAqB;EACrB,sBjCmuBgC;EiCluBhC,ejC+tB+B;EiC9tB/B,kBjCuPqB;EiCtPrB,eAAc;EACd,YjCmFW;EiClFX,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E3BVtB,uBNgO2B;CiC/M9B;;AAhBD;EAcI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AhCLG;EgCWA,YjC6DS;EiC5DT,sBAAqB;ChCTpB;;AgCkBL;EACE,qBjCgsBgC;EiC/rBhC,oBjC+rBgC;EMxuB9B,qBN2uB+B;CiChsBlC;;AAMD;EClDE,0BlCyGiC;CiCrDlC;;AhCjCG;EiCfE,0BAAqC;CjCkBtC;;AgCgCL;ECtDE,0BlCiGc;CiCzCf;;AhCrCG;EiCfE,0BAAqC;CjCkBtC;;AgCoCL;EC1DE,0BlCgGc;CiCpCf;;AhCzCG;EiCfE,0BAAqC;CjCkBtC;;AgCwCL;EC9DE,0BlCkGc;CiClCf;;AhC7CG;EiCfE,0BAAqC;CjCkBtC;;AgC4CL;EClEE,0BlC8Fc;CiC1Bf;;AhCjDG;EiCfE,0BAAqC;CjCkBtC;;AgCgDL;ECtEE,0BlC6Fc;CiCrBf;;AhCrDG;EiCfE,0BAAqC;CjCkBtC;;AkCzBL;EACE,mBAAoD;EACpD,oBnCgoBmC;EmC/nBnC,0BnC0GiC;EMzG/B,sBNiO0B;CmC5N7B;;AxB+CG;EwBxDJ;IAOI,mBnC2nBiC;GmCznBpC;CrCsrIA;;AqCprID;EACE,iBAAgB;EAChB,gBAAe;E7BTb,iB6BUsB;CACzB;;ACXD;EACE,yBpCixBmC;EoChxBnC,oBpCixBgC;EoChxBhC,8BAA6C;E9BH3C,uBNgO2B;CoC3N9B;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,kBpC6OqB;CoC5OtB;;AAOD;EAGI,mBAAkB;EAClB,cpCsvBgC;EoCrvBhC,gBpCsvBiC;EoCrvBjC,yBpCqvBiC;EoCpvBjC,eAAc;CACf;;AAQH;ECxCE,erCuoBsC;EqCtoBtC,0BrCuoBsC;EqCtoBtC,sBrCuoB4D;CoC/lB7D;;ACtCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADkCH;EC3CE,erC2oBsC;EqC1oBtC,0BrC2oBsC;EqC1oBtC,sBrC2oByD;CoChmB1D;;ACzCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADqCH;EC9CE,erC+oBsC;EqC9oBtC,0BrC+oBsC;EqC9oBtC,sBrCgpB4D;CoClmB7D;;AC5CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADwCH;ECjDE,erCopBsC;EqCnpBtC,0BrCopBsC;EqCnpBtC,sBrCopB2D;CoCnmB5D;;AC/CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ACZH;EACE;IAAO,4BAAuC;GxCwxI7C;EwCvxID;IAAK,yBAAwB;GxC0xI5B;CACF;;AwC7xID;EACE;IAAO,4BAAuC;GxCwxI7C;EwCvxID;IAAK,yBAAwB;GxC0xI5B;CACF;;AwC7xID;EACE;IAAO,4BAAuC;GxCwxI7C;EwCvxID;IAAK,yBAAwB;GxC0xI5B;CACF;;AwCxxID;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,iBAAgB;EAChB,mBtCwyBoC;EsCvyBpC,kBtCsyBkC;EsCryBlC,mBAAkB;EAClB,0BtCkGiC;EMzG/B,uBNgO2B;CsCtN9B;;AAED;EACE,atC8xBkC;EsC7xBlC,kBtC6xBkC;EsC5xBlC,YtC2EW;EsC1EX,0BtCgFc;EO/FV,oCPkzBwC;EOlzBxC,+BPkzBwC;EOlzBxC,4BPkzBwC;CsCjyB7C;;AAED;ECWE,8MAA6I;EAA7I,yMAA6I;EAA7I,sMAA6I;EDT7I,mCtCqxBkC;UsCrxBlC,2BtCqxBkC;CsCpxBnC;;AAED;EACE,2DtCwxBgD;OsCxxBhD,sDtCwxBgD;UsCxxBhD,mDtCwxBgD;CsCvxBjD;;AE/BD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,yBAAuB;EAAvB,gCAAuB;MAAvB,sBAAuB;UAAvB,wBAAuB;CACxB;;AAED;EACE,oBAAO;EAAP,gBAAO;MAAP,YAAO;UAAP,aAAO;CACR;;ACHD;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,6BAAsB;EAAtB,8BAAsB;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EAGtB,gBAAe;EACf,iBAAgB;CACjB;;AAQD;EACE,YAAW;EACX,ezCsFiC;EyCrFjC,oBAAmB;CAapB;;AxCbG;EwCIA,ezCiF+B;EyChF/B,sBAAqB;EACrB,0BzCkF+B;CCrF9B;;AwCNL;EAaI,ezC0E+B;EyCzE/B,0BzC4E+B;CyC3EhC;;AAQH;EACE,mBAAkB;EAClB,eAAc;EACd,yBzCqxBsC;EyCnxBtC,oBzCmLgB;EyClLhB,uBzC8CW;EyC7CX,uCzC8CW;CyClBZ;;AAnCD;EnChCI,gCN0N2B;EMzN3B,iCNyN2B;CyC/K5B;;AAXH;EAcI,iBAAgB;EnChChB,oCN4M2B;EM3M3B,mCN2M2B;CyC1K5B;;AxCpCC;EwCuCA,sBAAqB;CxCpCpB;;AwCiBL;EAwBI,ezC0C+B;EyCzC/B,uBzC2BS;CyC1BV;;AA1BH;EA8BI,WAAU;EACV,YzCqBS;EyCpBT,0BzC0BY;EyCzBZ,sBzCyBY;CyCxBb;;AASH;EAEI,gBAAe;EACf,eAAc;EACd,iBAAgB;CACjB;;AALH;EASM,cAAa;CACd;;AAVL;EAeM,iBAAgB;CACjB;;AClGH;EACE,e1CsoBoC;E0CroBpC,0B1CsoBoC;C0CroBrC;;AAGD;;EAEE,e1C+nBoC;C0CnnBrC;;AzCDC;;;EyCRE,e1C4nBkC;E0C3nBlC,0BAAyC;CzCU1C;;AyChBH;;EAUI,YAAW;EACX,0B1CsnBkC;E0CrnBlC,sB1CqnBkC;C0CpnBnC;;AAnBH;EACE,e1C0oBoC;E0CzoBpC,0B1C0oBoC;C0CzoBrC;;AAGD;;EAEE,e1CmoBoC;C0CvnBrC;;AzCDC;;;EyCRE,e1CgoBkC;E0C/nBlC,0BAAyC;CzCU1C;;AyChBH;;EAUI,YAAW;EACX,0B1C0nBkC;E0CznBlC,sB1CynBkC;C0CxnBnC;;AAnBH;EACE,e1C8oBoC;E0C7oBpC,0B1C8oBoC;C0C7oBrC;;AAGD;;EAEE,e1CuoBoC;C0C3nBrC;;AzCDC;;;EyCRE,e1CooBkC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","file":"bootstrap.css","sourcesContent":[null,null,"/*!\n * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@media print {\n *,\n *::before,\n *::after,\n p::first-letter,\n div::first-letter,\n blockquote::first-letter,\n li::first-letter,\n p::first-line,\n div::first-line,\n blockquote::first-line,\n li::first-line {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\nhtml {\n box-sizing: border-box;\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: normal;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n font-size: 1.25rem;\n border-left: 0.25rem solid #eceeef;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #636c72;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.blockquote-reverse {\n padding-right: 1rem;\n padding-left: 0;\n text-align: right;\n border-right: 0.25rem solid #eceeef;\n border-left: 0;\n}\n\n.blockquote-reverse .blockquote-footer::before {\n content: \"\";\n}\n\n.blockquote-reverse .blockquote-footer::after {\n content: \"\\00A0 \\2014\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #636c72;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f7f7f9;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #292b2c;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #292b2c;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #eceeef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #eceeef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #eceeef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #eceeef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #eceeef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #dff0d8;\n}\n\n.table-hover .table-success:hover {\n background-color: #d0e9c6;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #d0e9c6;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #d9edf7;\n}\n\n.table-hover .table-info:hover {\n background-color: #c4e3f3;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #c4e3f3;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #fcf8e3;\n}\n\n.table-hover .table-warning:hover {\n background-color: #faf2cc;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #faf2cc;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f2dede;\n}\n\n.table-hover .table-danger:hover {\n background-color: #ebcccc;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #ebcccc;\n}\n\n.thead-inverse th {\n color: #fff;\n background-color: #292b2c;\n}\n\n.thead-default th {\n color: #464a4c;\n background-color: #eceeef;\n}\n\n.table-inverse {\n color: #fff;\n background-color: #292b2c;\n}\n\n.table-inverse th,\n.table-inverse td,\n.table-inverse thead th {\n border-color: #3b3e40;\n}\n\n.table-inverse.table-bordered {\n border: 0;\n}\n\n.table-inverse.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-inverse.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 991px) {\n .table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive.table-bordered {\n border: 0;\n }\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n line-height: 1.25;\n color: #464a4c;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #464a4c;\n background-color: #fff;\n border-color: #5cb3fd;\n outline: none;\n}\n\n.form-control::placeholder {\n color: #636c72;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #eceeef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n margin-bottom: 0;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem - 1px * 2);\n padding-bottom: calc(0.25rem - 1px * 2);\n font-size: 0.875rem;\n}\n\n.col-form-legend {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-static {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n line-height: 1.25;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,\n.input-group-sm > .form-control-static.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,\n.input-group-lg > .form-control-static.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-static.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #636c72;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:only-child {\n position: static;\n}\n\n.form-check-inline {\n display: inline-block;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.form-check-inline + .form-check-inline {\n margin-left: 0.75rem;\n}\n\n.form-control-feedback {\n margin-top: 0.25rem;\n}\n\n.form-control-success,\n.form-control-warning,\n.form-control-danger {\n padding-right: 3rem;\n background-repeat: no-repeat;\n background-position: center right 0.5625rem;\n background-size: 1.125rem 1.125rem;\n}\n\n.has-success .form-control-feedback,\n.has-success .form-control-label,\n.has-success .col-form-label,\n.has-success .form-check-label,\n.has-success .custom-control {\n color: #5cb85c;\n}\n\n.has-success .form-control,\n.has-success .custom-select,\n.has-success .custom-file-control {\n border-color: #5cb85c;\n}\n\n.has-success .input-group-addon {\n color: #5cb85c;\n background-color: #eaf6ea;\n border-color: #5cb85c;\n}\n\n.has-success .form-control-success {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\");\n}\n\n.has-warning .form-control-feedback,\n.has-warning .form-control-label,\n.has-warning .col-form-label,\n.has-warning .form-check-label,\n.has-warning .custom-control {\n color: #f0ad4e;\n}\n\n.has-warning .form-control,\n.has-warning .custom-select,\n.has-warning .custom-file-control {\n border-color: #f0ad4e;\n}\n\n.has-warning .input-group-addon {\n color: #f0ad4e;\n background-color: white;\n border-color: #f0ad4e;\n}\n\n.has-warning .form-control-warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E\");\n}\n\n.has-danger .form-control-feedback,\n.has-danger .form-control-label,\n.has-danger .col-form-label,\n.has-danger .form-check-label,\n.has-danger .custom-control {\n color: #d9534f;\n}\n\n.has-danger .form-control,\n.has-danger .custom-select,\n.has-danger .custom-file-control {\n border-color: #d9534f;\n}\n\n.has-danger .input-group-addon {\n color: #d9534f;\n background-color: #fdf7f7;\n border-color: #d9534f;\n}\n\n.has-danger .form-control-danger {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n line-height: 1.25;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: .65;\n}\n\n.btn:active, .btn.active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025aa5;\n border-color: #01549b;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #025aa5;\n background-image: none;\n border-color: #01549b;\n}\n\n.btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:hover {\n color: #292b2c;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #2aabd2;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #2aabd2;\n}\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #419641;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #419641;\n}\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #eb9316;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #eb9316;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #c12e2a;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #c12e2a;\n}\n\n.btn-outline-primary {\n color: #0275d8;\n background-color: transparent;\n background-image: none;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0275d8;\n background-color: transparent;\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-secondary {\n color: #ccc;\n background-color: transparent;\n background-image: none;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:hover {\n color: #292b2c;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #ccc;\n background-color: transparent;\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-info {\n color: #5bc0de;\n background-color: transparent;\n background-image: none;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #5bc0de;\n background-color: transparent;\n}\n\n.btn-outline-info:active, .btn-outline-info.active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-success {\n color: #5cb85c;\n background-color: transparent;\n background-image: none;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #5cb85c;\n background-color: transparent;\n}\n\n.btn-outline-success:active, .btn-outline-success.active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-warning {\n color: #f0ad4e;\n background-color: transparent;\n background-image: none;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #f0ad4e;\n background-color: transparent;\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-danger {\n color: #d9534f;\n background-color: transparent;\n background-image: none;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #d9534f;\n background-color: transparent;\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-link {\n font-weight: normal;\n color: #0275d8;\n border-radius: 0;\n}\n\n.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\n background-color: transparent;\n}\n\n.btn-link, .btn-link:focus, .btn-link:active {\n border-color: transparent;\n}\n\n.btn-link:hover {\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link:hover {\n color: #014c8c;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.btn-link:disabled {\n color: #636c72;\n}\n\n.btn-link:disabled:focus, .btn-link:disabled:hover {\n text-decoration: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: middle;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropup .dropdown-toggle::after {\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #292b2c;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #eceeef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: normal;\n color: #292b2c;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #1d1e1f;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0275d8;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #636c72;\n background-color: transparent;\n}\n\n.show > a {\n outline: 0;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #636c72;\n white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n margin-bottom: 0;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n align-items: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.input-group-addon {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.25;\n color: #464a4c;\n text-align: center;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #0275d8;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #8fcafe;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n background-color: #eceeef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #636c72;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #0275d8;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.25;\n color: #464a4c;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #5cb3fd;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.custom-select:disabled {\n color: #636c72;\n background-color: #eceeef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: 2.5rem;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: 2.5rem;\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n pointer-events: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en):empty::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #636c72;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #eceeef #eceeef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #636c72;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #464a4c;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.show .nav-pills .nav-link {\n color: #fff;\n background-color: #0275d8;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n@media (max-width: 575px) {\n .navbar > .container,\n .navbar > .container-fluid {\n width: 100%;\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static !important;\n float: none;\n transform: unset !important;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute !important;\n top: 100% !important;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute !important;\n top: 100% !important;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute !important;\n top: 100% !important;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute !important;\n top: 100% !important;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute !important;\n top: 100% !important;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-inverse .navbar-brand {\n color: white;\n}\n\n.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover {\n color: white;\n}\n\n.navbar-inverse .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-inverse .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-inverse .navbar-nav .show > .nav-link,\n.navbar-inverse .navbar-nav .active > .nav-link,\n.navbar-inverse .navbar-nav .nav-link.show,\n.navbar-inverse .navbar-nav .nav-link.active {\n color: white;\n}\n\n.navbar-inverse .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-inverse .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-inverse .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card-block {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n word-break: break-all;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #f7f7f9;\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: #f7f7f9;\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-primary {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.card-primary .card-header,\n.card-primary .card-footer {\n background-color: transparent;\n}\n\n.card-success {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.card-success .card-header,\n.card-success .card-footer {\n background-color: transparent;\n}\n\n.card-info {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.card-info .card-header,\n.card-info .card-footer {\n background-color: transparent;\n}\n\n.card-warning {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.card-warning .card-header,\n.card-warning .card-footer {\n background-color: transparent;\n}\n\n.card-danger {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.card-danger .card-header,\n.card-danger .card-footer {\n background-color: transparent;\n}\n\n.card-outline-primary {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-primary .card-header,\n.card-outline-primary .card-footer {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-secondary {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-secondary .card-header,\n.card-outline-secondary .card-footer {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-info {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-info .card-header,\n.card-outline-info .card-footer {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-success {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-success .card-header,\n.card-outline-success .card-footer {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-warning {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-warning .card-header,\n.card-outline-warning .card-footer {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-danger {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-outline-danger .card-header,\n.card-outline-danger .card-footer {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-inverse {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer {\n background-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer,\n.card-inverse .card-title,\n.card-inverse .card-blockquote {\n color: #fff;\n}\n\n.card-inverse .card-link,\n.card-inverse .card-text,\n.card-inverse .card-subtitle,\n.card-inverse .card-blockquote .blockquote-footer {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-link:focus, .card-inverse .card-link:hover {\n color: #fff;\n}\n\n.card-blockquote {\n padding: 0;\n margin-bottom: 0;\n border-left: 0;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.breadcrumb {\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.breadcrumb-item {\n float: left;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #636c72;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #636c72;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.page-item.disabled .page-link {\n color: #636c72;\n pointer-events: none;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #0275d8;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #014c8c;\n text-decoration: none;\n background-color: #eceeef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\na.badge:focus, a.badge:hover {\n color: #fff;\n text-decoration: none;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-default {\n background-color: #636c72;\n}\n\n.badge-default[href]:focus, .badge-default[href]:hover {\n background-color: #4b5257;\n}\n\n.badge-primary {\n background-color: #0275d8;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n background-color: #025aa5;\n}\n\n.badge-success {\n background-color: #5cb85c;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n background-color: #449d44;\n}\n\n.badge-info {\n background-color: #5bc0de;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n background-color: #31b0d5;\n}\n\n.badge-warning {\n background-color: #f0ad4e;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n background-color: #ec971f;\n}\n\n.badge-danger {\n background-color: #d9534f;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n background-color: #c9302c;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #eceeef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: bold;\n}\n\n.alert-dismissible .close {\n position: relative;\n top: -0.75rem;\n right: -1.25rem;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d0e9c6;\n}\n\n.alert-success hr {\n border-top-color: #c1e2b3;\n}\n\n.alert-success .alert-link {\n color: #2b542c;\n}\n\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bcdff1;\n}\n\n.alert-info hr {\n border-top-color: #a6d5ec;\n}\n\n.alert-info .alert-link {\n color: #245269;\n}\n\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faf2cc;\n}\n\n.alert-warning hr {\n border-top-color: #f7ecb5;\n}\n\n.alert-warning .alert-link {\n color: #66512c;\n}\n\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebcccc;\n}\n\n.alert-danger hr {\n border-top-color: #e4b9b9;\n}\n\n.alert-danger .alert-link {\n color: #843534;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n overflow: hidden;\n font-size: 0.75rem;\n line-height: 1rem;\n text-align: center;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n height: 1rem;\n line-height: 1rem;\n color: #fff;\n background-color: #0275d8;\n transition: width 0.6s ease;\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #464a4c;\n text-align: inherit;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #464a4c;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.list-group-item-action:active {\n color: #292b2c;\n background-color: #eceeef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #636c72;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #3c763d;\n background-color: #d0e9c6;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #31708f;\n background-color: #c4e3f3;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #a94442;\n background-color: #ebcccc;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #eceeef;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #eceeef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 5px;\n height: 5px;\n}\n\n.tooltip.bs-tooltip-top, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-top .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.tooltip.bs-tooltip-top .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n margin-left: -3px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.bs-tooltip-right, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-right .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n}\n\n.tooltip.bs-tooltip-right .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n margin-top: -3px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.bs-tooltip-bottom, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n margin-left: -3px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.bs-tooltip-left, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-left .arrow, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n}\n\n.tooltip.bs-tooltip-left .arrow::before, .tooltip.bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n right: 0;\n margin-top: -3px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n border-color: transparent;\n border-style: solid;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n padding: 1px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 10px;\n height: 5px;\n}\n\n.popover .arrow::before,\n.popover .arrow::after {\n position: absolute;\n display: block;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover .arrow::before {\n content: \"\";\n border-width: 11px;\n}\n\n.popover .arrow::after {\n content: \"\";\n border-width: 11px;\n}\n\n.popover.bs-popover-top, .popover.bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 10px;\n}\n\n.popover.bs-popover-top .arrow, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before,\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n border-bottom-width: 0;\n}\n\n.popover.bs-popover-top .arrow::before, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::before {\n bottom: -11px;\n margin-left: -6px;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-top .arrow::after, .popover.bs-popover-auto[x-placement^=\"top\"] .arrow::after {\n bottom: -10px;\n margin-left: -6px;\n border-top-color: #fff;\n}\n\n.popover.bs-popover-right, .popover.bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 10px;\n}\n\n.popover.bs-popover-right .arrow, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before,\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n margin-top: -8px;\n border-left-width: 0;\n}\n\n.popover.bs-popover-right .arrow::before, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::before {\n left: -11px;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-right .arrow::after, .popover.bs-popover-auto[x-placement^=\"right\"] .arrow::after {\n left: -10px;\n border-right-color: #fff;\n}\n\n.popover.bs-popover-bottom, .popover.bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 10px;\n}\n\n.popover.bs-popover-bottom .arrow, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before,\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n margin-left: -7px;\n border-top-width: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::before {\n top: -11px;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-bottom .arrow::after, .popover.bs-popover-auto[x-placement^=\"bottom\"] .arrow::after {\n top: -10px;\n border-bottom-color: #fff;\n}\n\n.popover.bs-popover-bottom .popover-title::before, .popover.bs-popover-auto[x-placement^=\"bottom\"] .popover-title::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.bs-popover-left, .popover.bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 10px;\n}\n\n.popover.bs-popover-left .arrow, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before,\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n margin-top: -8px;\n border-right-width: 0;\n}\n\n.popover.bs-popover-left .arrow::before, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::before {\n right: -11px;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-left .arrow::after, .popover.bs-popover-auto[x-placement^=\"left\"] .arrow::after {\n right: -10px;\n border-left-color: #fff;\n}\n\n.popover-title {\n padding: 8px 14px;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-title:empty {\n display: none;\n}\n\n.popover-content {\n padding: 9px 14px;\n color: #292b2c;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n transition: transform 0.6s ease;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: flex;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 1 0 auto;\n max-width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-faded {\n background-color: #f7f7f7;\n}\n\n.bg-primary {\n background-color: #0275d8 !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #025aa5 !important;\n}\n\n.bg-success {\n background-color: #5cb85c !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #449d44 !important;\n}\n\n.bg-info {\n background-color: #5bc0de !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #31b0d5 !important;\n}\n\n.bg-warning {\n background-color: #f0ad4e !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #ec971f !important;\n}\n\n.bg-danger {\n background-color: #d9534f !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #c9302c !important;\n}\n\n.bg-inverse {\n background-color: #292b2c !important;\n}\n\na.bg-inverse:focus, a.bg-inverse:hover {\n background-color: #101112 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-circle {\n border-radius: 50%;\n}\n\n.rounded-0 {\n border-radius: 0;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.d-print-block {\n display: none !important;\n}\n\n@media print {\n .d-print-block {\n display: block !important;\n }\n}\n\n.d-print-inline {\n display: none !important;\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n}\n\n.d-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .d-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 1;\n}\n\n.order-0 {\n order: 0;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 1;\n }\n .order-sm-0 {\n order: 0;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 1;\n }\n .order-md-0 {\n order: 0;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 1;\n }\n .order-lg-0 {\n order: 0;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 1;\n }\n .order-xl-0 {\n order: 0;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-normal {\n font-weight: normal;\n}\n\n.font-weight-bold {\n font-weight: bold;\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-muted {\n color: #636c72 !important;\n}\n\na.text-muted:focus, a.text-muted:hover {\n color: #4b5257 !important;\n}\n\n.text-primary {\n color: #0275d8 !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #025aa5 !important;\n}\n\n.text-success {\n color: #5cb85c !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #449d44 !important;\n}\n\n.text-info {\n color: #5bc0de !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #31b0d5 !important;\n}\n\n.text-warning {\n color: #f0ad4e !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #ec971f !important;\n}\n\n.text-danger {\n color: #d9534f !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #c9302c !important;\n}\n\n.text-gray-dark {\n color: #292b2c !important;\n}\n\na.text-gray-dark:focus, a.text-gray-dark:hover {\n color: #101112 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file
diff --git a/dist/css/bootstrap.min.css b/dist/css/bootstrap.min.css
index 60e65e69b..88b4fe26c 100644
--- a/dist/css/bootstrap.min.css
+++ b/dist/css/bootstrap.min.css
@@ -1,6 +1,6 @@
/*!
- * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors
- * Copyright 2011-2016 Twitter, Inc.
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{font-size:16px;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300}.display-2{font-size:5.5rem;font-weight:300}.display-3{font-size:4.5rem;font-weight:300}.display-4{font-size:3.5rem;font-weight:300}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#fff}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.table-reflow thead{float:left}.table-reflow tbody{display:block;white-space:nowrap}.table-reflow td,.table-reflow th{border-top:1px solid #eceeef;border-left:1px solid #eceeef}.table-reflow td:last-child,.table-reflow th:last-child{border-right:1px solid #eceeef}.table-reflow tbody:last-child tr:last-child td,.table-reflow tbody:last-child tr:last-child th,.table-reflow tfoot:last-child tr:last-child td,.table-reflow tfoot:last-child tr:last-child th,.table-reflow thead:last-child tr:last-child td,.table-reflow thead:last-child tr:last-child th{border-bottom:1px solid #eceeef}.table-reflow tr{float:left}.table-reflow tr td,.table-reflow tr th{display:block!important;border:1px solid #eceeef}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.75rem - 1px * 2);padding-bottom:calc(.75rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.166667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#eaf6ea}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fff}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#fdf7f7}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#eceeef}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;cursor:not-allowed;background-color:transparent}.show>.dropdown-menu{display:block}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:.3em solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:.3em .3em 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 .3em .3em}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem;cursor:pointer}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en)::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5em 1em}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72;cursor:not-allowed}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;cursor:default;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:.5rem 1rem}.navbar-toggler-left{position:absolute;left:1rem}.navbar-toggler-right{position:absolute;right:1rem}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar-sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1030}.navbar-brand{display:inline-block;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-divider{float:left;width:1px;padding-top:.425rem;padding-bottom:.425rem;margin-right:1rem;margin-left:1rem;overflow:hidden}.navbar-divider::before{content:"\00a0"}.navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.navbar-nav{-webkit-box-flex:10;-webkit-flex-grow:10;-ms-flex-positive:10;flex-grow:10}.navbar-nav .nav-link{display:block;padding-top:.425rem;padding-bottom:.425rem}.navbar-light .navbar-brand,.navbar-light .navbar-toggler{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .open>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-light .navbar-divider{background-color:rgba(0,0,0,.075)}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-toggler{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-toggler:focus,.navbar-inverse .navbar-toggler:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.open,.navbar-inverse .navbar-nav .open>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-inverse .navbar-divider{background-color:rgba(255,255,255,.075)}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}@media (max-width:575px){.navbar-toggleable .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable>.container{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-toggleable{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable .nav-item{display:inline-block}.navbar-toggleable .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable .navbar-toggler{display:none}}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-sm>.container{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-toggleable-sm{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-sm .nav-item{display:inline-block}.navbar-toggleable-sm .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-sm .navbar-toggler{display:none}}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-md .nav-item{display:inline-block}.navbar-toggleable-md .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-lg>.container{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-toggleable-lg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-lg .nav-item{display:inline-block}.navbar-toggleable-lg .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-lg .navbar-toggler{display:none}}.navbar-toggleable-xl{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-xl>.container{padding-right:0;padding-left:0}.navbar-toggleable-xl>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-xl .nav-item{display:inline-block}.navbar-toggleable-xl .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-xl .navbar-toggler{display:none}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f7f7f9;border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:calc(.25rem - 1px)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card-deck .card:not(:first-child){margin-left:15px}.card-deck .card:not(:last-child){margin-right:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%;margin-bottom:.75rem}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;content:"";clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:block;width:100%;height:1rem;margin-bottom:1rem;overflow:hidden}.progress[value]{background-color:#eceeef;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem}.progress[value]::-ms-fill{background-color:#0275d8;border:0}.progress[value]::-moz-progress-bar{background-color:#0275d8}.progress[value]::-webkit-progress-value{background-color:#0275d8}.progress[value]::-webkit-progress-bar{background-color:#eceeef}.progress[value],base::-moz-progress-bar{background-color:#eceeef}.progress-striped[value]::-webkit-progress-value{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}.progress-striped[value]::-moz-progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-striped[value]::-ms-fill{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-animated[value]::-webkit-progress-value{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-animated[value]::-moz-progress-bar{animation:progress-bar-stripes 2s linear infinite}.progress-success[value]::-webkit-progress-value{background-color:#5cb85c}.progress-success[value]::-moz-progress-bar{background-color:#5cb85c}.progress-success[value]::-ms-fill{background-color:#5cb85c}.progress-info[value]::-webkit-progress-value{background-color:#5bc0de}.progress-info[value]::-moz-progress-bar{background-color:#5bc0de}.progress-info[value]::-ms-fill{background-color:#5bc0de}.progress-warning[value]::-webkit-progress-value{background-color:#f0ad4e}.progress-warning[value]::-moz-progress-bar{background-color:#f0ad4e}.progress-warning[value]::-ms-fill{background-color:#f0ad4e}.progress-danger[value]::-webkit-progress-value{background-color:#d9534f}.progress-danger[value]::-moz-progress-bar{background-color:#d9534f}.progress-danger[value]::-ms-fill{background-color:#d9534f}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#292b2c}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;cursor:not-allowed;background-color:#fff}.list-group-item.disabled .list-group-item-heading,.list-group-item:disabled .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item:disabled .list-group-item-text{color:#636c72}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text{color:#daeeff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9{padding-bottom:42.857143%}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.embed-responsive-1by1{padding-bottom:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.75}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before,.tooltip.tooltip-top .tooltip-inner::before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner::before,.tooltip.tooltip-right .tooltip-inner::before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner::before,.tooltip.tooltip-bottom .tooltip-inner::before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner::before,.tooltip.tooltip-left .tooltip-inner::before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-inner::before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom::after,.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::after,.popover.popover-top::before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom::after,.popover.popover-top::after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left::after,.popover.bs-tether-element-attached-left::before,.popover.popover-right::after,.popover.popover-right::before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left::before,.popover.popover-right::before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left::after,.popover.popover-right::after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top::after,.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::after,.popover.popover-bottom::before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top::after,.popover.popover-bottom::after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title::before,.popover.popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right::after,.popover.bs-tether-element-attached-right::before,.popover.popover-left::after,.popover.popover-left::before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right::before,.popover.popover-left::before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right::after,.popover.popover-left::after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:.2375rem .2375rem 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover::after,.popover::before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover::before{content:"";border-width:11px}.popover::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;width:100%}@media (-webkit-transform-3d){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}@media (-webkit-transform-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:.25rem}.rounded-top{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.rounded-right{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;content:"";clear:both}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-sm-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-md-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-lg-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-xl-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0 0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem .25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem .5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem 1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem 1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem 3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0 0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem .25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem .5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem 1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem 1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem 3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0 0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem .25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem .5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem 1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem 1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem 3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0 0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem .25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem .5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem 1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem 1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem 3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0 0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem .25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem .5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem 1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem 1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem 3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0 0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem .25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem .5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem 1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem 1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem 3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0 0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem .25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem .5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem 1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem 1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem 3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0 0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem .25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem .5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem 1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem 1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem 3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0 0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem .25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem .5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem 1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem 1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem 3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0 0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem .25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem .5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem 1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem 1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem 3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.pos-f-t{position:fixed;top:0;right:0;left:0;z-index:1030}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:575px){.hidden-xs-down{display:none!important}}@media (min-width:576px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!important}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file
+ */@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0275d8;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.1}.display-2{font-size:5.5rem;font-weight:300;line-height:1.1}.display-3{font-size:4.5rem;font-weight:300;line-height:1.1}.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#3b3e40}.table-inverse.table-bordered{border:0}.table-inverse.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-inverse.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:991px){.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}}.form-control{display:block;width:100%;padding:.5rem 1rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72}.form-check-label{padding-left:1.25rem;margin-bottom:0}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:3rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .custom-file-control,.has-success .custom-select,.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;background-color:#eaf6ea;border-color:#5cb85c}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .custom-file-control,.has-warning .custom-select,.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;background-color:#fff;border-color:#f0ad4e}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .custom-file-control,.has-danger .custom-select,.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;background-color:#fdf7f7;border-color:#d9534f}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;line-height:1.25;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-color:transparent;background-image:none;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-color:transparent;background-image:none;border-color:#ccc}.btn-outline-secondary:hover{color:#292b2c;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#292b2c;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-color:transparent;background-image:none;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-color:transparent;background-image:none;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-color:transparent;background-image:none;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-color:transparent;background-image:none;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #eceeef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;background-color:transparent}.show>a{outline:0}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;margin-bottom:0}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en):empty::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.show .nav-pills .nav-link{color:#fff;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}@media (max-width:575px){.navbar>.container,.navbar>.container-fluid{width:100%;margin-right:0;margin-left:0}}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static!important;float:none;-webkit-transform:unset!important;-o-transform:unset!important;transform:unset!important}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}@media (max-width:575px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute!important;top:100%!important}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute!important;top:100%!important}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute!important;top:100%!important}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute!important;top:100%!important}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute!important;top:100%!important}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.show,.navbar-inverse .navbar-nav .show>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem;word-break:break-all}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f7f7f9;border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-primary .card-footer,.card-outline-primary .card-header{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-secondary .card-footer,.card-outline-secondary .card-header{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-info .card-footer,.card-outline-info .card-header{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-success .card-footer,.card-outline-success .card-header{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-warning .card-footer,.card-outline-warning .card-header{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-outline-danger .card-footer,.card-outline-danger .card-header{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0;-ms-flex:1 0 0px;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-left:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0;-ms-flex:1 0 0px;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;clear:both;content:""}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d0e9c6}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faf2cc}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebcccc}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;font-size:.75rem;line-height:1rem;text-align:center;background-color:#eceeef;border-radius:.25rem}.progress-bar{height:1rem;line-height:1rem;color:#fff;background-color:#0275d8;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;-o-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:5px;height:5px}.tooltip.bs-tooltip-auto[x-placement^=top],.tooltip.bs-tooltip-top{padding:5px 0}.tooltip.bs-tooltip-auto[x-placement^=top] .arrow,.tooltip.bs-tooltip-top .arrow{bottom:0}.tooltip.bs-tooltip-auto[x-placement^=top] .arrow::before,.tooltip.bs-tooltip-top .arrow::before{margin-left:-3px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tooltip-auto[x-placement^=right],.tooltip.bs-tooltip-right{padding:0 5px}.tooltip.bs-tooltip-auto[x-placement^=right] .arrow,.tooltip.bs-tooltip-right .arrow{left:0}.tooltip.bs-tooltip-auto[x-placement^=right] .arrow::before,.tooltip.bs-tooltip-right .arrow::before{margin-top:-3px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tooltip-auto[x-placement^=bottom],.tooltip.bs-tooltip-bottom{padding:5px 0}.tooltip.bs-tooltip-auto[x-placement^=bottom] .arrow,.tooltip.bs-tooltip-bottom .arrow{top:0}.tooltip.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.tooltip.bs-tooltip-bottom .arrow::before{margin-left:-3px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tooltip-auto[x-placement^=left],.tooltip.bs-tooltip-left{padding:0 5px}.tooltip.bs-tooltip-auto[x-placement^=left] .arrow,.tooltip.bs-tooltip-left .arrow{right:0}.tooltip.bs-tooltip-auto[x-placement^=left] .arrow::before,.tooltip.bs-tooltip-left .arrow::before{right:0;margin-top:-3px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip .arrow::before{position:absolute;border-color:transparent;border-style:solid}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:10px;height:5px}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;border-color:transparent;border-style:solid}.popover .arrow::before{content:"";border-width:11px}.popover .arrow::after{content:"";border-width:11px}.popover.bs-popover-auto[x-placement^=top],.popover.bs-popover-top{margin-bottom:10px}.popover.bs-popover-auto[x-placement^=top] .arrow,.popover.bs-popover-top .arrow{bottom:0}.popover.bs-popover-auto[x-placement^=top] .arrow::after,.popover.bs-popover-auto[x-placement^=top] .arrow::before,.popover.bs-popover-top .arrow::after,.popover.bs-popover-top .arrow::before{border-bottom-width:0}.popover.bs-popover-auto[x-placement^=top] .arrow::before,.popover.bs-popover-top .arrow::before{bottom:-11px;margin-left:-6px;border-top-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=top] .arrow::after,.popover.bs-popover-top .arrow::after{bottom:-10px;margin-left:-6px;border-top-color:#fff}.popover.bs-popover-auto[x-placement^=right],.popover.bs-popover-right{margin-left:10px}.popover.bs-popover-auto[x-placement^=right] .arrow,.popover.bs-popover-right .arrow{left:0}.popover.bs-popover-auto[x-placement^=right] .arrow::after,.popover.bs-popover-auto[x-placement^=right] .arrow::before,.popover.bs-popover-right .arrow::after,.popover.bs-popover-right .arrow::before{margin-top:-8px;border-left-width:0}.popover.bs-popover-auto[x-placement^=right] .arrow::before,.popover.bs-popover-right .arrow::before{left:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=right] .arrow::after,.popover.bs-popover-right .arrow::after{left:-10px;border-right-color:#fff}.popover.bs-popover-auto[x-placement^=bottom],.popover.bs-popover-bottom{margin-top:10px}.popover.bs-popover-auto[x-placement^=bottom] .arrow,.popover.bs-popover-bottom .arrow{top:0}.popover.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover.bs-popover-auto[x-placement^=bottom] .arrow::before,.popover.bs-popover-bottom .arrow::after,.popover.bs-popover-bottom .arrow::before{margin-left:-7px;border-top-width:0}.popover.bs-popover-auto[x-placement^=bottom] .arrow::before,.popover.bs-popover-bottom .arrow::before{top:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=bottom] .arrow::after,.popover.bs-popover-bottom .arrow::after{top:-10px;border-bottom-color:#fff}.popover.bs-popover-auto[x-placement^=bottom] .popover-title::before,.popover.bs-popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-popover-auto[x-placement^=left],.popover.bs-popover-left{margin-right:10px}.popover.bs-popover-auto[x-placement^=left] .arrow,.popover.bs-popover-left .arrow{right:0}.popover.bs-popover-auto[x-placement^=left] .arrow::after,.popover.bs-popover-auto[x-placement^=left] .arrow::before,.popover.bs-popover-left .arrow::after,.popover.bs-popover-left .arrow::before{margin-top:-8px;border-right-width:0}.popover.bs-popover-auto[x-placement^=left] .arrow::before,.popover.bs-popover-left .arrow::before{right:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-popover-auto[x-placement^=left] .arrow::after,.popover.bs-popover-left .arrow::after{right:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-title:empty{display:none}.popover-content{padding:9px 14px;color:#292b2c}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;-webkit-transition:-webkit-transform .6s ease;transition:-webkit-transform .6s ease;-o-transition:-o-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease,-o-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:.25rem}.rounded-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-right{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.d-print-block{display:none!important}@media print{.d-print-block{display:block!important}}.d-print-inline{display:none!important}@media print{.d-print-inline{display:inline!important}}.d-print-inline-block{display:none!important}@media print{.d-print-inline-block{display:inline-block!important}}@media print{.d-print-none{display:none!important}}.order-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.order-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.order-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.order-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.order-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file
diff --git a/dist/css/bootstrap.min.css.map b/dist/css/bootstrap.min.css.map
index 345ab958b..1ca07c0f3 100644
--- a/dist/css/bootstrap.min.css.map
+++ b/dist/css/bootstrap.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/mixins/_tab-focus.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/mixins/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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"} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_print.scss","dist/css/bootstrap.css","../../scss/_reboot.scss","bootstrap.css","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/dist/js/bootstrap.js b/dist/js/bootstrap.js
index b9e5f56f9..3b5aff522 100644
--- a/dist/js/bootstrap.js
+++ b/dist/js/bootstrap.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
@@ -8,16 +8,14 @@ if (typeof jQuery === 'undefined') {
throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
}
-+function ($) {
+(function ($) {
var version = $.fn.jquery.split(' ')[0].split('.')
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
}
-}(jQuery);
-
-
-+function () {
+})(jQuery);
+(function () {
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -30,7 +28,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): util.js
+ * Bootstrap (v4.0.0-alpha.6): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -141,13 +139,16 @@ var Util = function ($) {
},
getSelectorFromElement: function getSelectorFromElement(element) {
var selector = element.getAttribute('data-target');
-
- if (!selector) {
+ if (!selector || selector === '#') {
selector = element.getAttribute('href') || '';
- selector = /^#[a-z]/i.test(selector) ? selector : null;
}
- return selector;
+ try {
+ var $selector = $(selector);
+ return $selector.length > 0 ? selector : null;
+ } catch (error) {
+ return null;
+ }
},
reflow: function reflow(element) {
return element.offsetHeight;
@@ -180,7 +181,7 @@ var Util = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): alert.js
+ * Bootstrap (v4.0.0-alpha.6): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -194,7 +195,7 @@ var Alert = function ($) {
*/
var NAME = 'alert';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -359,7 +360,7 @@ var Alert = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): button.js
+ * Bootstrap (v4.0.0-alpha.6): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -373,7 +374,7 @@ var Button = function ($) {
*/
var NAME = 'button';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.button';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -417,6 +418,7 @@ var Button = function ($) {
Button.prototype.toggle = function toggle() {
var triggerChangeEvent = true;
+ var addAriaPressed = true;
var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
if (rootElement) {
@@ -436,13 +438,19 @@ var Button = function ($) {
}
if (triggerChangeEvent) {
+ if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+ return;
+ }
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
$(input).trigger('change');
}
input.focus();
+ addAriaPressed = false;
}
- } else {
+ }
+
+ if (addAriaPressed) {
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
}
@@ -522,7 +530,7 @@ var Button = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): carousel.js
+ * Bootstrap (v4.0.0-alpha.6): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -536,7 +544,7 @@ var Carousel = function ($) {
*/
var NAME = 'carousel';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -544,6 +552,7 @@ var Carousel = function ($) {
var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+ var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
var Default = {
interval: 5000,
@@ -574,6 +583,7 @@ var Carousel = function ($) {
KEYDOWN: 'keydown' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY,
+ TOUCHEND: 'touchend' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
@@ -616,6 +626,8 @@ var Carousel = function ($) {
this._isPaused = false;
this._isSliding = false;
+ this.touchTimeout = null;
+
this._config = this._getConfig(config);
this._element = $(element)[0];
this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
@@ -628,10 +640,9 @@ var Carousel = function ($) {
// public
Carousel.prototype.next = function next() {
- if (this._isSliding) {
- throw new Error('Carousel is sliding');
+ if (!this._isSliding) {
+ this._slide(Direction.NEXT);
}
- this._slide(Direction.NEXT);
};
Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
@@ -642,10 +653,9 @@ var Carousel = function ($) {
};
Carousel.prototype.prev = function prev() {
- if (this._isSliding) {
- throw new Error('Carousel is sliding');
+ if (!this._isSliding) {
+ this._slide(Direction.PREV);
}
- this._slide(Direction.PREVIOUS);
};
Carousel.prototype.pause = function pause(event) {
@@ -701,7 +711,7 @@ var Carousel = function ($) {
return;
}
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
this._slide(direction, this._items[index]);
};
@@ -737,12 +747,30 @@ var Carousel = function ($) {
});
}
- if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
+ if (this._config.pause === 'hover') {
$(this._element).on(Event.MOUSEENTER, function (event) {
return _this4.pause(event);
}).on(Event.MOUSELEAVE, function (event) {
return _this4.cycle(event);
});
+ if ('ontouchstart' in document.documentElement) {
+ // if it's a touch-enabled device, mouseenter/leave are fired as
+ // part of the mouse compatibility events on first tap - the carousel
+ // would stop cycling until user tapped out of it;
+ // here, we listen for touchend, explicitly pause the carousel
+ // (as if it's the second time we tap on it, mouseenter compat event
+ // is NOT fired) and after a timeout (to allow for mouse compatibility
+ // events to fire) we explicitly restart cycling
+ $(this._element).on(Event.TOUCHEND, function () {
+ _this4.pause();
+ if (_this4.touchTimeout) {
+ clearTimeout(_this4.touchTimeout);
+ }
+ _this4.touchTimeout = setTimeout(function (event) {
+ return _this4.cycle(event);
+ }, TOUCHEVENT_COMPAT_WAIT + _this4._config.interval);
+ });
+ }
}
};
@@ -772,7 +800,7 @@ var Carousel = function ($) {
Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
var isNextDirection = direction === Direction.NEXT;
- var isPrevDirection = direction === Direction.PREVIOUS;
+ var isPrevDirection = direction === Direction.PREV;
var activeIndex = this._getItemIndex(activeElement);
var lastItemIndex = this._items.length - 1;
var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
@@ -781,16 +809,20 @@ var Carousel = function ($) {
return activeElement;
}
- var delta = direction === Direction.PREVIOUS ? -1 : 1;
+ var delta = direction === Direction.PREV ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
};
Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+ var targetIndex = this._getItemIndex(relatedTarget);
+ var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]);
var slideEvent = $.Event(Event.SLIDE, {
relatedTarget: relatedTarget,
- direction: eventDirectionName
+ direction: eventDirectionName,
+ from: fromIndex,
+ to: targetIndex
});
$(this._element).trigger(slideEvent);
@@ -814,8 +846,9 @@ var Carousel = function ($) {
var _this5 = this;
var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+ var activeElementIndex = this._getItemIndex(activeElement);
var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
-
+ var nextElementIndex = this._getItemIndex(nextElement);
var isCycling = Boolean(this._interval);
var directionalClassName = void 0;
@@ -857,7 +890,9 @@ var Carousel = function ($) {
var slidEvent = $.Event(Event.SLID, {
relatedTarget: nextElement,
- direction: eventDirectionName
+ direction: eventDirectionName,
+ from: activeElementIndex,
+ to: nextElementIndex
});
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
@@ -1002,7 +1037,7 @@ var Carousel = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): collapse.js
+ * Bootstrap (v4.0.0-alpha.6): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1016,7 +1051,7 @@ var Collapse = function ($) {
*/
var NAME = 'collapse';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -1054,7 +1089,7 @@ var Collapse = function ($) {
};
var Selector = {
- ACTIVES: '.card > .show, .card > .collapsing',
+ ACTIVES: '.show, .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
};
@@ -1099,11 +1134,7 @@ var Collapse = function ($) {
Collapse.prototype.show = function show() {
var _this6 = this;
- if (this._isTransitioning) {
- throw new Error('Collapse is transitioning');
- }
-
- if ($(this._element).hasClass(ClassName.SHOW)) {
+ if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
return;
}
@@ -1111,7 +1142,7 @@ var Collapse = function ($) {
var activesData = void 0;
if (this._parent) {
- actives = $.makeArray($(this._parent).find(Selector.ACTIVES));
+ actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES));
if (!actives.length) {
actives = null;
}
@@ -1142,7 +1173,6 @@ var Collapse = function ($) {
$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
this._element.style[dimension] = 0;
- this._element.setAttribute('aria-expanded', true);
if (this._triggerArray.length) {
$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
@@ -1176,11 +1206,7 @@ var Collapse = function ($) {
Collapse.prototype.hide = function hide() {
var _this7 = this;
- if (this._isTransitioning) {
- throw new Error('Collapse is transitioning');
- }
-
- if (!$(this._element).hasClass(ClassName.SHOW)) {
+ if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
return;
}
@@ -1191,16 +1217,13 @@ var Collapse = function ($) {
}
var dimension = this._getDimension();
- var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
- this._element.style[dimension] = this._element[offsetDimension] + 'px';
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + 'px';
Util.reflow(this._element);
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
- this._element.setAttribute('aria-expanded', false);
-
if (this._triggerArray.length) {
$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
}
@@ -1266,7 +1289,6 @@ var Collapse = function ($) {
Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
var isOpen = $(element).hasClass(ClassName.SHOW);
- element.setAttribute('aria-expanded', isOpen);
if (triggerArray.length) {
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
@@ -1327,7 +1349,9 @@ var Collapse = function ($) {
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- event.preventDefault();
+ if (!/input|textarea/i.test(event.target.tagName)) {
+ event.preventDefault();
+ }
var target = Collapse._getTargetFromElement(this);
var data = $(target).data(DATA_KEY);
@@ -1352,9 +1376,11 @@ var Collapse = function ($) {
return Collapse;
}(jQuery);
+/* global Popper */
+
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): dropdown.js
+ * Bootstrap (v4.0.0-alpha.6): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1362,21 +1388,32 @@ var Collapse = function ($) {
var Dropdown = function ($) {
/**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+ if (typeof Popper === 'undefined') {
+ throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
+ }
+
+ /**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+ var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+ var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
+ var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + '|' + ARROW_DOWN_KEYCODE + '|' + ESCAPE_KEYCODE);
var Event = {
HIDE: 'hide' + EVENT_KEY,
@@ -1385,23 +1422,43 @@ var Dropdown = function ($) {
SHOWN: 'shown' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
- KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
+ KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY,
+ KEYUP_DATA_API: 'keyup' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
- BACKDROP: 'dropdown-backdrop',
DISABLED: 'disabled',
- SHOW: 'show'
+ SHOW: 'show',
+ DROPUP: 'dropup',
+ MENURIGHT: 'dropdown-menu-right',
+ MENULEFT: 'dropdown-menu-left'
};
var Selector = {
- BACKDROP: '.dropdown-backdrop',
DATA_TOGGLE: '[data-toggle="dropdown"]',
FORM_CHILD: '.dropdown form',
- ROLE_MENU: '[role="menu"]',
- ROLE_LISTBOX: '[role="listbox"]',
+ MENU: '.dropdown-menu',
NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
+ VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
+ };
+
+ var AttachmentMap = {
+ TOP: 'top-start',
+ TOPEND: 'top-end',
+ BOTTOM: 'bottom-start',
+ BOTTOMEND: 'bottom-end'
+ };
+
+ var Default = {
+ placement: AttachmentMap.BOTTOM,
+ offset: 0,
+ flip: true
+ };
+
+ var DefaultType = {
+ placement: 'string',
+ offset: '(number|string)',
+ flip: 'boolean'
};
/**
@@ -1411,10 +1468,13 @@ var Dropdown = function ($) {
*/
var Dropdown = function () {
- function Dropdown(element) {
+ function Dropdown(element, config) {
_classCallCheck(this, Dropdown);
this._element = element;
+ this._popper = null;
+ this._config = this._getConfig(config);
+ this._menu = this._getMenuElement();
this._addEventListeners();
}
@@ -1424,58 +1484,130 @@ var Dropdown = function ($) {
// public
Dropdown.prototype.toggle = function toggle() {
- if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
- return false;
+ if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
+ return;
}
- var parent = Dropdown._getParentFromElement(this);
- var isActive = $(parent).hasClass(ClassName.SHOW);
+ var parent = Dropdown._getParentFromElement(this._element);
+ var isActive = $(this._menu).hasClass(ClassName.SHOW);
Dropdown._clearMenus();
if (isActive) {
- return false;
- }
-
- if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
-
- // if mobile we use a backdrop because click events don't delegate
- var dropdown = document.createElement('div');
- dropdown.className = ClassName.BACKDROP;
- $(dropdown).insertBefore(this);
- $(dropdown).on('click', Dropdown._clearMenus);
+ return;
}
var relatedTarget = {
- relatedTarget: this
+ relatedTarget: this._element
};
var showEvent = $.Event(Event.SHOW, relatedTarget);
$(parent).trigger(showEvent);
if (showEvent.isDefaultPrevented()) {
- return false;
+ return;
}
- this.focus();
- this.setAttribute('aria-expanded', true);
+ var element = this._element;
+ // for dropup with alignment we use the parent as popper container
+ if ($(parent).hasClass(ClassName.DROPUP)) {
+ if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
+ element = parent;
+ }
+ }
+ this._popper = new Popper(element, this._menu, {
+ placement: this._getPlacement(),
+ modifiers: {
+ offset: {
+ offset: this._config.offset
+ },
+ flip: {
+ enabled: this._config.flip
+ }
+ }
+ });
- $(parent).toggleClass(ClassName.SHOW);
- $(parent).trigger($.Event(Event.SHOWN, relatedTarget));
+ // if this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+ if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
+ $('body').children().on('mouseover', null, $.noop);
+ }
- return false;
+ this._element.focus();
+ this._element.setAttribute('aria-expanded', true);
+
+ $(this._menu).toggleClass(ClassName.SHOW);
+ $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
};
Dropdown.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._element).off(EVENT_KEY);
this._element = null;
+ this._menu = null;
+ if (this._popper !== null) {
+ this._popper.destroy();
+ }
+ this._popper = null;
+ };
+
+ Dropdown.prototype.update = function update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
};
// private
Dropdown.prototype._addEventListeners = function _addEventListeners() {
- $(this._element).on(Event.CLICK, this.toggle);
+ var _this9 = this;
+
+ $(this._element).on(Event.CLICK, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
+ _this9.toggle();
+ });
+ };
+
+ Dropdown.prototype._getConfig = function _getConfig(config) {
+ var elementData = $(this._element).data();
+ if (elementData.placement !== undefined) {
+ elementData.placement = AttachmentMap[elementData.placement.toUpperCase()];
+ }
+
+ config = $.extend({}, this.constructor.Default, $(this._element).data(), config);
+
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+
+ return config;
+ };
+
+ Dropdown.prototype._getMenuElement = function _getMenuElement() {
+ if (!this._menu) {
+ var parent = Dropdown._getParentFromElement(this._element);
+ this._menu = $(parent).find(Selector.MENU)[0];
+ }
+ return this._menu;
+ };
+
+ Dropdown.prototype._getPlacement = function _getPlacement() {
+ var $parentDropdown = $(this._element).parent();
+ var placement = this._config.placement;
+
+ // Handle dropup
+ if ($parentDropdown.hasClass(ClassName.DROPUP) || this._config.placement === AttachmentMap.TOP) {
+ placement = AttachmentMap.TOP;
+ if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.TOPEND;
+ }
+ } else {
+ if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.BOTTOMEND;
+ }
+ }
+ return placement;
};
// static
@@ -1483,9 +1615,10 @@ var Dropdown = function ($) {
Dropdown._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
if (!data) {
- data = new Dropdown(this);
+ data = new Dropdown(this, _config);
$(this).data(DATA_KEY, data);
}
@@ -1493,34 +1626,34 @@ var Dropdown = function ($) {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
- data[config].call(this);
+ data[config]();
}
});
};
Dropdown._clearMenus = function _clearMenus(event) {
- if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
+ if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
return;
}
- var backdrop = $(Selector.BACKDROP)[0];
- if (backdrop) {
- backdrop.parentNode.removeChild(backdrop);
- }
-
var toggles = $.makeArray($(Selector.DATA_TOGGLE));
-
for (var i = 0; i < toggles.length; i++) {
var parent = Dropdown._getParentFromElement(toggles[i]);
+ var context = $(toggles[i]).data(DATA_KEY);
var relatedTarget = {
relatedTarget: toggles[i]
};
+ if (!context) {
+ continue;
+ }
+
+ var dropdownMenu = context._menu;
if (!$(parent).hasClass(ClassName.SHOW)) {
continue;
}
- if (event && event.type === 'click' && /input|textarea/i.test(event.target.tagName) && $.contains(parent, event.target)) {
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
continue;
}
@@ -1530,8 +1663,15 @@ var Dropdown = function ($) {
continue;
}
+ // if this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().off('mouseover', null, $.noop);
+ }
+
toggles[i].setAttribute('aria-expanded', 'false');
+ $(dropdownMenu).removeClass(ClassName.SHOW);
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
}
};
@@ -1548,7 +1688,7 @@ var Dropdown = function ($) {
};
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
- if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
+ if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE || /input|textarea/i.test(event.target.tagName)) {
return;
}
@@ -1562,7 +1702,7 @@ var Dropdown = function ($) {
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
- if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
+ if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
@@ -1603,6 +1743,16 @@ var Dropdown = function ($) {
get: function get() {
return VERSION;
}
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: 'DefaultType',
+ get: function get() {
+ return DefaultType;
+ }
}]);
return Dropdown;
@@ -1614,7 +1764,11 @@ var Dropdown = function ($) {
* ------------------------------------------------------------------------
*/
- $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+ $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
+ Dropdown._jQueryInterface.call($(this), 'toggle');
+ }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
e.stopPropagation();
});
@@ -1636,7 +1790,7 @@ var Dropdown = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): modal.js
+ * Bootstrap (v4.0.0-alpha.6): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1650,7 +1804,7 @@ var Modal = function ($) {
*/
var NAME = 'modal';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -1699,7 +1853,8 @@ var Modal = function ($) {
DIALOG: '.modal-dialog',
DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]',
- FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+ NAVBAR_TOGGLER: '.navbar-toggler'
};
/**
@@ -1719,7 +1874,6 @@ var Modal = function ($) {
this._isShown = false;
this._isBodyOverflowing = false;
this._ignoreBackdropClick = false;
- this._isTransitioning = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
}
@@ -1733,15 +1887,16 @@ var Modal = function ($) {
};
Modal.prototype.show = function show(relatedTarget) {
- var _this9 = this;
+ var _this10 = this;
if (this._isTransitioning) {
- throw new Error('Modal is transitioning');
+ return;
}
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
}
+
var showEvent = $.Event(Event.SHOW, {
relatedTarget: relatedTarget
});
@@ -1763,39 +1918,41 @@ var Modal = function ($) {
this._setResizeEvent();
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
- return _this9.hide(event);
+ return _this10.hide(event);
});
$(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
- $(_this9._element).one(Event.MOUSEUP_DISMISS, function (event) {
- if ($(event.target).is(_this9._element)) {
- _this9._ignoreBackdropClick = true;
+ $(_this10._element).one(Event.MOUSEUP_DISMISS, function (event) {
+ if ($(event.target).is(_this10._element)) {
+ _this10._ignoreBackdropClick = true;
}
});
});
this._showBackdrop(function () {
- return _this9._showElement(relatedTarget);
+ return _this10._showElement(relatedTarget);
});
};
Modal.prototype.hide = function hide(event) {
- var _this10 = this;
+ var _this11 = this;
if (event) {
event.preventDefault();
}
- if (this._isTransitioning) {
- throw new Error('Modal is transitioning');
+ if (this._isTransitioning || !this._isShown) {
+ return;
}
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+
if (transition) {
this._isTransitioning = true;
}
var hideEvent = $.Event(Event.HIDE);
+
$(this._element).trigger(hideEvent);
if (!this._isShown || hideEvent.isDefaultPrevented()) {
@@ -1815,8 +1972,9 @@ var Modal = function ($) {
$(this._dialog).off(Event.MOUSEDOWN_DISMISS);
if (transition) {
+
$(this._element).one(Util.TRANSITION_END, function (event) {
- return _this10._hideModal(event);
+ return _this11._hideModal(event);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
this._hideModal();
@@ -1835,10 +1993,13 @@ var Modal = function ($) {
this._isShown = null;
this._isBodyOverflowing = null;
this._ignoreBackdropClick = null;
- this._originalBodyPadding = null;
this._scrollbarWidth = null;
};
+ Modal.prototype.handleUpdate = function handleUpdate() {
+ this._adjustDialog();
+ };
+
// private
Modal.prototype._getConfig = function _getConfig(config) {
@@ -1848,7 +2009,7 @@ var Modal = function ($) {
};
Modal.prototype._showElement = function _showElement(relatedTarget) {
- var _this11 = this;
+ var _this12 = this;
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
@@ -1876,11 +2037,11 @@ var Modal = function ($) {
});
var transitionComplete = function transitionComplete() {
- if (_this11._config.focus) {
- _this11._element.focus();
+ if (_this12._config.focus) {
+ _this12._element.focus();
}
- _this11._isTransitioning = false;
- $(_this11._element).trigger(shownEvent);
+ _this12._isTransitioning = false;
+ $(_this12._element).trigger(shownEvent);
};
if (transition) {
@@ -1891,23 +2052,24 @@ var Modal = function ($) {
};
Modal.prototype._enforceFocus = function _enforceFocus() {
- var _this12 = this;
+ var _this13 = this;
$(document).off(Event.FOCUSIN) // guard against infinite focus loop
.on(Event.FOCUSIN, function (event) {
- if (document !== event.target && _this12._element !== event.target && !$(_this12._element).has(event.target).length) {
- _this12._element.focus();
+ if (document !== event.target && _this13._element !== event.target && !$(_this13._element).has(event.target).length) {
+ _this13._element.focus();
}
});
};
Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
- var _this13 = this;
+ var _this14 = this;
if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === ESCAPE_KEYCODE) {
- _this13.hide();
+ event.preventDefault();
+ _this14.hide();
}
});
} else if (!this._isShown) {
@@ -1916,11 +2078,11 @@ var Modal = function ($) {
};
Modal.prototype._setResizeEvent = function _setResizeEvent() {
- var _this14 = this;
+ var _this15 = this;
if (this._isShown) {
$(window).on(Event.RESIZE, function (event) {
- return _this14._handleUpdate(event);
+ return _this15.handleUpdate(event);
});
} else {
$(window).off(Event.RESIZE);
@@ -1928,16 +2090,16 @@ var Modal = function ($) {
};
Modal.prototype._hideModal = function _hideModal() {
- var _this15 = this;
+ var _this16 = this;
this._element.style.display = 'none';
- this._element.setAttribute('aria-hidden', 'true');
+ this._element.setAttribute('aria-hidden', true);
this._isTransitioning = false;
this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN);
- _this15._resetAdjustments();
- _this15._resetScrollbar();
- $(_this15._element).trigger(Event.HIDDEN);
+ _this16._resetAdjustments();
+ _this16._resetScrollbar();
+ $(_this16._element).trigger(Event.HIDDEN);
});
};
@@ -1949,7 +2111,7 @@ var Modal = function ($) {
};
Modal.prototype._showBackdrop = function _showBackdrop(callback) {
- var _this16 = this;
+ var _this17 = this;
var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
@@ -1966,17 +2128,17 @@ var Modal = function ($) {
$(this._backdrop).appendTo(document.body);
$(this._element).on(Event.CLICK_DISMISS, function (event) {
- if (_this16._ignoreBackdropClick) {
- _this16._ignoreBackdropClick = false;
+ if (_this17._ignoreBackdropClick) {
+ _this17._ignoreBackdropClick = false;
return;
}
if (event.target !== event.currentTarget) {
return;
}
- if (_this16._config.backdrop === 'static') {
- _this16._element.focus();
+ if (_this17._config.backdrop === 'static') {
+ _this17._element.focus();
} else {
- _this16.hide();
+ _this17.hide();
}
});
@@ -2000,7 +2162,7 @@ var Modal = function ($) {
$(this._backdrop).removeClass(ClassName.SHOW);
var callbackRemove = function callbackRemove() {
- _this16._removeBackdrop();
+ _this17._removeBackdrop();
if (callback) {
callback();
}
@@ -2021,10 +2183,6 @@ var Modal = function ($) {
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
- Modal.prototype._handleUpdate = function _handleUpdate() {
- this._adjustDialog();
- };
-
Modal.prototype._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
@@ -2048,17 +2206,55 @@ var Modal = function ($) {
};
Modal.prototype._setScrollbar = function _setScrollbar() {
- var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
-
- this._originalBodyPadding = document.body.style.paddingRight || '';
+ var _this18 = this;
if (this._isBodyOverflowing) {
- document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
+ // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+ // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+
+ // Adjust fixed content padding
+ $(Selector.FIXED_CONTENT).each(function (index, element) {
+ var actualPadding = $(element)[0].style.paddingRight;
+ var calculatedPadding = $(element).css('padding-right');
+ $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this18._scrollbarWidth + 'px');
+ });
+
+ // Adjust navbar-toggler margin
+ $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var actualMargin = $(element)[0].style.marginRight;
+ var calculatedMargin = $(element).css('margin-right');
+ $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this18._scrollbarWidth + 'px');
+ });
+
+ // Adjust body padding
+ var actualPadding = document.body.style.paddingRight;
+ var calculatedPadding = $('body').css('padding-right');
+ $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + 'px');
}
};
Modal.prototype._resetScrollbar = function _resetScrollbar() {
- document.body.style.paddingRight = this._originalBodyPadding;
+ // Restore fixed content padding
+ $(Selector.FIXED_CONTENT).each(function (index, element) {
+ var padding = $(element).data('padding-right');
+ if (typeof padding !== 'undefined') {
+ $(element).css('padding-right', padding).removeData('padding-right');
+ }
+ });
+
+ // Restore navbar-toggler margin
+ $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var margin = $(element).data('margin-right');
+ if (typeof margin !== 'undefined') {
+ $(element).css('margin-right', margin).removeData('margin-right');
+ }
+ });
+
+ // Restore body padding
+ var padding = $('body').data('padding-right');
+ if (typeof padding !== 'undefined') {
+ $('body').css('padding-right', padding).removeData('padding-right');
+ }
};
Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
@@ -2066,7 +2262,7 @@ var Modal = function ($) {
var scrollDiv = document.createElement('div');
scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
- var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
};
@@ -2116,7 +2312,7 @@ var Modal = function ($) {
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- var _this17 = this;
+ var _this19 = this;
var target = void 0;
var selector = Util.getSelectorFromElement(this);
@@ -2138,8 +2334,8 @@ var Modal = function ($) {
}
$target.one(Event.HIDDEN, function () {
- if ($(_this17).is(':visible')) {
- _this17.focus();
+ if ($(_this19).is(':visible')) {
+ _this19.focus();
}
});
});
@@ -2165,7 +2361,7 @@ var Modal = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): scrollspy.js
+ * Bootstrap (v4.0.0-alpha.6): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2179,7 +2375,7 @@ var ScrollSpy = function ($) {
*/
var NAME = 'scrollspy';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -2206,18 +2402,15 @@ var ScrollSpy = function ($) {
var ClassName = {
DROPDOWN_ITEM: 'dropdown-item',
DROPDOWN_MENU: 'dropdown-menu',
- NAV_LINK: 'nav-link',
- NAV: 'nav',
ACTIVE: 'active'
};
var Selector = {
DATA_SPY: '[data-spy="scroll"]',
ACTIVE: '.active',
- LIST_ITEM: '.list-item',
- LI: 'li',
- LI_DROPDOWN: 'li.dropdown',
+ NAV_LIST_GROUP: '.nav, .list-group',
NAV_LINKS: '.nav-link',
+ LIST_ITEMS: '.list-group-item',
DROPDOWN: '.dropdown',
DROPDOWN_ITEMS: '.dropdown-item',
DROPDOWN_TOGGLE: '.dropdown-toggle'
@@ -2236,21 +2429,21 @@ var ScrollSpy = function ($) {
var ScrollSpy = function () {
function ScrollSpy(element, config) {
- var _this18 = this;
+ var _this20 = this;
_classCallCheck(this, ScrollSpy);
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
- this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
+ this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.LIST_ITEMS + ',') + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
$(this._scrollElement).on(Event.SCROLL, function (event) {
- return _this18._process(event);
+ return _this20._process(event);
});
this.refresh();
@@ -2262,7 +2455,7 @@ var ScrollSpy = function ($) {
// public
ScrollSpy.prototype.refresh = function refresh() {
- var _this19 = this;
+ var _this21 = this;
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
@@ -2285,9 +2478,12 @@ var ScrollSpy = function ($) {
target = $(targetSelector)[0];
}
- if (target && (target.offsetWidth || target.offsetHeight)) {
- // todo (fat): remove sketch reliance on jQuery position/offset
- return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+ if (target) {
+ var targetBCR = target.getBoundingClientRect();
+ if (targetBCR.width || targetBCR.height) {
+ // todo (fat): remove sketch reliance on jQuery position/offset
+ return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+ }
}
return null;
}).filter(function (item) {
@@ -2295,8 +2491,8 @@ var ScrollSpy = function ($) {
}).sort(function (a, b) {
return a[0] - b[0];
}).forEach(function (item) {
- _this19._offsets.push(item[0]);
- _this19._targets.push(item[1]);
+ _this21._offsets.push(item[0]);
+ _this21._targets.push(item[1]);
});
};
@@ -2334,7 +2530,7 @@ var ScrollSpy = function ($) {
};
ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
- return this._scrollElement === window ? this._scrollElement.scrollY : this._scrollElement.scrollTop;
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
};
ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
@@ -2342,7 +2538,7 @@ var ScrollSpy = function ($) {
};
ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
- return this._scrollElement === window ? window.innerHeight : this._scrollElement.offsetHeight;
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
};
ScrollSpy.prototype._process = function _process() {
@@ -2394,9 +2590,11 @@ var ScrollSpy = function ($) {
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
$link.addClass(ClassName.ACTIVE);
} else {
- // todo (fat) this is kinda sus...
- // recursively add actives to tested nav-links
- $link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
+ // Set triggered link as active
+ $link.addClass(ClassName.ACTIVE);
+ // Set triggered links parents as active
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ', ' + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE);
}
$(this._scrollElement).trigger(Event.ACTIVATE, {
@@ -2477,7 +2675,7 @@ var ScrollSpy = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): tab.js
+ * Bootstrap (v4.0.0-alpha.6): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2491,7 +2689,7 @@ var Tab = function ($) {
*/
var NAME = 'tab';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -2515,14 +2713,10 @@ var Tab = function ($) {
};
var Selector = {
- A: 'a',
- LI: 'li',
DROPDOWN: '.dropdown',
- LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu)',
- FADE_CHILD: '> .nav-item .fade, > .fade',
+ NAV_LIST_GROUP: '.nav, .list-group',
ACTIVE: '.active',
- ACTIVE_CHILD: '> .nav-item > .active, > .active',
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
+ DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
};
@@ -2545,7 +2739,7 @@ var Tab = function ($) {
// public
Tab.prototype.show = function show() {
- var _this20 = this;
+ var _this22 = this;
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
return;
@@ -2553,7 +2747,7 @@ var Tab = function ($) {
var target = void 0;
var previous = void 0;
- var listElement = $(this._element).closest(Selector.LIST)[0];
+ var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
var selector = Util.getSelectorFromElement(this._element);
if (listElement) {
@@ -2587,7 +2781,7 @@ var Tab = function ($) {
var complete = function complete() {
var hiddenEvent = $.Event(Event.HIDDEN, {
- relatedTarget: _this20._element
+ relatedTarget: _this22._element
});
var shownEvent = $.Event(Event.SHOWN, {
@@ -2595,7 +2789,7 @@ var Tab = function ($) {
});
$(previous).trigger(hiddenEvent);
- $(_this20._element).trigger(shownEvent);
+ $(_this22._element).trigger(shownEvent);
};
if (target) {
@@ -2606,20 +2800,20 @@ var Tab = function ($) {
};
Tab.prototype.dispose = function dispose() {
- $.removeClass(this._element, DATA_KEY);
+ $.removeData(this._element, DATA_KEY);
this._element = null;
};
// private
Tab.prototype._activate = function _activate(element, container, callback) {
- var _this21 = this;
+ var _this23 = this;
- var active = $(container).find(Selector.ACTIVE_CHILD)[0];
- var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
+ var active = $(container).find(Selector.ACTIVE)[0];
+ var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE);
var complete = function complete() {
- return _this21._transitionComplete(element, active, isTransitioning, callback);
+ return _this23._transitionComplete(element, active, isTransitioning, callback);
};
if (active && isTransitioning) {
@@ -2729,11 +2923,11 @@ var Tab = function ($) {
return Tab;
}(jQuery);
-/* global Tether */
+/* global Popper */
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): tooltip.js
+ * Bootstrap (v4.0.0-alpha.6): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2741,11 +2935,11 @@ var Tab = function ($) {
var Tooltip = function ($) {
/**
- * Check for Tether dependency
- * Tether - http://tether.io/
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
*/
- if (typeof Tether === 'undefined') {
- throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
+ if (typeof Popper === 'undefined') {
+ throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
}
/**
@@ -2755,26 +2949,13 @@ var Tooltip = function ($) {
*/
var NAME = 'tooltip';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
- var CLASS_PREFIX = 'bs-tether';
-
- var Default = {
- animation: true,
- template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-inner"></div></div>',
- trigger: 'hover focus',
- title: '',
- delay: 0,
- html: false,
- selector: false,
- placement: 'top',
- offset: '0 0',
- constraints: [],
- container: false
- };
+ var CLASS_PREFIX = 'bs-tooltip';
+ var BSCLS_PREFIX_REGEX = new RegExp('(^|\\s)' + CLASS_PREFIX + '\\S+', 'g');
var DefaultType = {
animation: 'boolean',
@@ -2785,16 +2966,31 @@ var Tooltip = function ($) {
html: 'boolean',
selector: '(string|boolean)',
placement: '(string|function)',
- offset: 'string',
- constraints: 'array',
- container: '(string|element|boolean)'
+ offset: '(number|string)',
+ container: '(string|element|boolean)',
+ fallbackPlacement: '(string|array)'
};
var AttachmentMap = {
- TOP: 'bottom center',
- RIGHT: 'middle left',
- BOTTOM: 'top center',
- LEFT: 'middle right'
+ AUTO: 'auto',
+ TOP: 'top',
+ RIGHT: 'right',
+ BOTTOM: 'bottom',
+ LEFT: 'left'
+ };
+
+ var Default = {
+ animation: true,
+ template: '<div class="tooltip" role="tooltip">' + '<div class="arrow" x-arrow></div>' + '<div class="tooltip-inner"></div></div>',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ selector: false,
+ placement: 'top',
+ offset: 0,
+ container: false,
+ fallbackPlacement: 'flip'
};
var HoverState = {
@@ -2825,11 +3021,6 @@ var Tooltip = function ($) {
TOOLTIP_INNER: '.tooltip-inner'
};
- var TetherClass = {
- element: false,
- enabled: false
- };
-
var Trigger = {
HOVER: 'hover',
FOCUS: 'focus',
@@ -2852,8 +3043,7 @@ var Tooltip = function ($) {
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
- this._isTransitioning = false;
- this._tether = null;
+ this._popper = null;
// protected
this.element = element;
@@ -2910,8 +3100,6 @@ var Tooltip = function ($) {
Tooltip.prototype.dispose = function dispose() {
clearTimeout(this._timeout);
- this.cleanupTether();
-
$.removeData(this.element, this.constructor.DATA_KEY);
$(this.element).off(this.constructor.EVENT_KEY);
@@ -2925,7 +3113,10 @@ var Tooltip = function ($) {
this._timeout = null;
this._hoverState = null;
this._activeTrigger = null;
- this._tether = null;
+ if (this._popper !== null) {
+ this._popper.destroy();
+ }
+ this._popper = null;
this.element = null;
this.config = null;
@@ -2933,7 +3124,7 @@ var Tooltip = function ($) {
};
Tooltip.prototype.show = function show() {
- var _this22 = this;
+ var _this24 = this;
if ($(this.element).css('display') === 'none') {
throw new Error('Please use show on visible elements');
@@ -2941,9 +3132,6 @@ var Tooltip = function ($) {
var showEvent = $.Event(this.constructor.Event.SHOW);
if (this.isWithContent() && this._isEnabled) {
- if (this._isTransitioning) {
- throw new Error('Tooltip is transitioning');
- }
$(this.element).trigger(showEvent);
var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
@@ -2967,68 +3155,86 @@ var Tooltip = function ($) {
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
var attachment = this._getAttachment(placement);
+ this.addAttachmentClass(attachment);
var container = this.config.container === false ? document.body : $(this.config.container);
- $(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
+ $(tip).data(this.constructor.DATA_KEY, this);
+
+ if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
+ $(tip).appendTo(container);
+ }
$(this.element).trigger(this.constructor.Event.INSERTED);
- this._tether = new Tether({
- attachment: attachment,
- element: tip,
- target: this.element,
- classes: TetherClass,
- classPrefix: CLASS_PREFIX,
- offset: this.config.offset,
- constraints: this.config.constraints,
- addTargetClasses: false
+ this._popper = new Popper(this.element, tip, {
+ placement: attachment,
+ modifiers: {
+ offset: {
+ offset: this.config.offset
+ },
+ flip: {
+ behavior: this.config.fallbackPlacement
+ }
+ },
+ onCreate: function onCreate(data) {
+ if (data.originalPlacement !== data.placement) {
+ _this24._handlePopperPlacementChange(data);
+ }
+ },
+ onUpdate: function onUpdate(data) {
+ _this24._handlePopperPlacementChange(data);
+ }
});
- Util.reflow(tip);
- this._tether.position();
-
$(tip).addClass(ClassName.SHOW);
+ // if this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().on('mouseover', null, $.noop);
+ }
+
var complete = function complete() {
- var prevHoverState = _this22._hoverState;
- _this22._hoverState = null;
- _this22._isTransitioning = false;
+ if (_this24.config.animation) {
+ _this24._fixTransition();
+ }
+ var prevHoverState = _this24._hoverState;
+ _this24._hoverState = null;
- $(_this22.element).trigger(_this22.constructor.Event.SHOWN);
+ $(_this24.element).trigger(_this24.constructor.Event.SHOWN);
if (prevHoverState === HoverState.OUT) {
- _this22._leave(null, _this22);
+ _this24._leave(null, _this24);
}
};
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
- this._isTransitioning = true;
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
- return;
+ } else {
+ complete();
}
-
- complete();
}
};
Tooltip.prototype.hide = function hide(callback) {
- var _this23 = this;
+ var _this25 = this;
var tip = this.getTipElement();
var hideEvent = $.Event(this.constructor.Event.HIDE);
- if (this._isTransitioning) {
- throw new Error('Tooltip is transitioning');
- }
var complete = function complete() {
- if (_this23._hoverState !== HoverState.SHOW && tip.parentNode) {
+ if (_this25._hoverState !== HoverState.SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
- _this23.element.removeAttribute('aria-describedby');
- $(_this23.element).trigger(_this23.constructor.Event.HIDDEN);
- _this23._isTransitioning = false;
- _this23.cleanupTether();
+ _this25._cleanTipClass();
+ _this25.element.removeAttribute('aria-describedby');
+ $(_this25.element).trigger(_this25.constructor.Event.HIDDEN);
+ if (_this25._popper !== null) {
+ _this25._popper.destroy();
+ }
if (callback) {
callback();
@@ -3043,12 +3249,18 @@ var Tooltip = function ($) {
$(tip).removeClass(ClassName.SHOW);
+ // if this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().off('mouseover', null, $.noop);
+ }
+
this._activeTrigger[Trigger.CLICK] = false;
this._activeTrigger[Trigger.FOCUS] = false;
this._activeTrigger[Trigger.HOVER] = false;
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
- this._isTransitioning = true;
+
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
@@ -3057,24 +3269,30 @@ var Tooltip = function ($) {
this._hoverState = '';
};
+ Tooltip.prototype.update = function update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
+ };
+
// protected
Tooltip.prototype.isWithContent = function isWithContent() {
return Boolean(this.getTitle());
};
+ Tooltip.prototype.addAttachmentClass = function addAttachmentClass(attachment) {
+ $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
+ };
+
Tooltip.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
Tooltip.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
-
this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
-
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
-
- this.cleanupTether();
};
Tooltip.prototype.setElementContent = function setElementContent($element, content) {
@@ -3103,12 +3321,6 @@ var Tooltip = function ($) {
return title;
};
- Tooltip.prototype.cleanupTether = function cleanupTether() {
- if (this._tether) {
- this._tether.destroy();
- }
- };
-
// private
Tooltip.prototype._getAttachment = function _getAttachment(placement) {
@@ -3116,28 +3328,28 @@ var Tooltip = function ($) {
};
Tooltip.prototype._setListeners = function _setListeners() {
- var _this24 = this;
+ var _this26 = this;
var triggers = this.config.trigger.split(' ');
triggers.forEach(function (trigger) {
if (trigger === 'click') {
- $(_this24.element).on(_this24.constructor.Event.CLICK, _this24.config.selector, function (event) {
- return _this24.toggle(event);
+ $(_this26.element).on(_this26.constructor.Event.CLICK, _this26.config.selector, function (event) {
+ return _this26.toggle(event);
});
} else if (trigger !== Trigger.MANUAL) {
- var eventIn = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSEENTER : _this24.constructor.Event.FOCUSIN;
- var eventOut = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSELEAVE : _this24.constructor.Event.FOCUSOUT;
+ var eventIn = trigger === Trigger.HOVER ? _this26.constructor.Event.MOUSEENTER : _this26.constructor.Event.FOCUSIN;
+ var eventOut = trigger === Trigger.HOVER ? _this26.constructor.Event.MOUSELEAVE : _this26.constructor.Event.FOCUSOUT;
- $(_this24.element).on(eventIn, _this24.config.selector, function (event) {
- return _this24._enter(event);
- }).on(eventOut, _this24.config.selector, function (event) {
- return _this24._leave(event);
+ $(_this26.element).on(eventIn, _this26.config.selector, function (event) {
+ return _this26._enter(event);
+ }).on(eventOut, _this26.config.selector, function (event) {
+ return _this26._leave(event);
});
}
- $(_this24.element).closest('.modal').on('hide.bs.modal', function () {
- return _this24.hide();
+ $(_this26.element).closest('.modal').on('hide.bs.modal', function () {
+ return _this26.hide();
});
});
@@ -3248,6 +3460,14 @@ var Tooltip = function ($) {
};
}
+ if (config.title && typeof config.title === 'number') {
+ config.title = config.title.toString();
+ }
+
+ if (config.content && typeof config.content === 'number') {
+ config.content = config.content.toString();
+ }
+
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
return config;
@@ -3267,6 +3487,32 @@ var Tooltip = function ($) {
return config;
};
+ Tooltip.prototype._cleanTipClass = function _cleanTipClass() {
+ var $tip = $(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
+ }
+ };
+
+ Tooltip.prototype._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
+ this._cleanTipClass();
+ this.addAttachmentClass(this._getAttachment(data.placement));
+ };
+
+ Tooltip.prototype._fixTransition = function _fixTransition() {
+ var tip = this.getTipElement();
+ var initConfigAnimation = this.config.animation;
+ if (tip.getAttribute('x-placement') !== null) {
+ return;
+ }
+ $(tip).removeClass(ClassName.FADE);
+ this.config.animation = false;
+ this.hide();
+ this.show();
+ this.config.animation = initConfigAnimation;
+ };
+
// static
Tooltip._jQueryInterface = function _jQueryInterface(config) {
@@ -3350,7 +3596,7 @@ var Tooltip = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): popover.js
+ * Bootstrap (v4.0.0-alpha.6): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3364,16 +3610,18 @@ var Popover = function ($) {
*/
var NAME = 'popover';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var CLASS_PREFIX = 'bs-popover';
+ var BSCLS_PREFIX_REGEX = new RegExp('(^|\\s)' + CLASS_PREFIX + '\\S+', 'g');
var Default = $.extend({}, Tooltip.Default, {
placement: 'right',
trigger: 'click',
content: '',
- template: '<div class="popover" role="tooltip">' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
+ template: '<div class="popover" role="tooltip">' + '<div class="arrow" x-arrow></div>' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
});
var DefaultType = $.extend({}, Tooltip.DefaultType, {
@@ -3424,6 +3672,10 @@ var Popover = function ($) {
return this.getTitle() || this._getContent();
};
+ Popover.prototype.addAttachmentClass = function addAttachmentClass(attachment) {
+ $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
+ };
+
Popover.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
@@ -3436,8 +3688,6 @@ var Popover = function ($) {
this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
-
- this.cleanupTether();
};
// private
@@ -3446,6 +3696,14 @@ var Popover = function ($) {
return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
};
+ Popover.prototype._cleanTipClass = function _cleanTipClass() {
+ var $tip = $(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
+ }
+ };
+
// static
Popover._jQueryInterface = function _jQueryInterface(config) {
@@ -3531,4 +3789,5 @@ var Popover = function ($) {
return Popover;
}(jQuery);
-}();
+
+})() \ No newline at end of file
diff --git a/dist/js/bootstrap.min.js b/dist/js/bootstrap.min.js
index 848488c8c..31508ad0f 100644
--- a/dist/js/bootstrap.min.js
+++ b/dist/js/bootstrap.min.js
@@ -1,7 +1,284 @@
/*!
- * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),+function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in h)if(void 0!==t.style[e])return{end:h[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(c.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||c.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,c.supportsTransitionEnd()&&(t.event.special[c.TRANSITION_END]=i())}var a=!1,l=1e6,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do t+=~~(Math.random()*l);while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)?e:null),e},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+": "+('Option "'+r+'" provided type "'+l+'" ')+('but expected type "'+s+'".'))}}};return s(),c}(jQuery),s=(function(t){var e="alert",i="4.0.0-alpha.5",s="bs.alert",a="."+s,l=".data-api",h=t.fn[e],c=150,u={DISMISS:'[data-dismiss="alert"]'},d={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+l},f={ALERT:"alert",FADE:"fade",SHOW:"show"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t),n=this._triggerCloseEvent(e);n.isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,s),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+f.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(d.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;return t(e).removeClass(f.SHOW),r.supportsTransitionEnd()&&t(e).hasClass(f.FADE)?void t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(c):void this._destroyElement(e)},e.prototype._destroyElement=function(e){t(e).detach().trigger(d.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);o||(o=new e(this),i.data(s,o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(d.CLICK_DATA_API,u.DISMISS,_._handleDismiss(new _)),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){var e="button",i="4.0.0-alpha.5",r="bs.button",s="."+r,a=".data-api",l=t.fn[e],h={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},c={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},u={CLICK_DATA_API:"click"+s+a,FOCUS_BLUR_DATA_API:"focus"+s+a+" "+("blur"+s+a)},d=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(c.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(c.INPUT)[0];if(i){if("radio"===i.type)if(i.checked&&t(this._element).hasClass(h.ACTIVE))e=!1;else{var o=t(n).find(c.ACTIVE)[0];o&&t(o).removeClass(h.ACTIVE)}e&&(i.checked=!t(this._element).hasClass(h.ACTIVE),t(i).trigger("change")),i.focus()}}else this._element.setAttribute("aria-pressed",!t(this._element).hasClass(h.ACTIVE));e&&t(this._element).toggleClass(h.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,r),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(r);i||(i=new e(this),t(this).data(r,i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,c.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(h.BUTTON)||(n=t(n).closest(c.BUTTON)),d._jQueryInterface.call(t(n),"toggle")}).on(u.FOCUS_BLUR_DATA_API,c.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(c.BUTTON)[0];t(n).toggleClass(h.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=d._jQueryInterface,t.fn[e].Constructor=d,t.fn[e].noConflict=function(){return t.fn[e]=l,d._jQueryInterface},d}(jQuery),function(t){var e="carousel",s="4.0.0-alpha.5",a="bs.carousel",l="."+a,h=".data-api",c=t.fn[e],u=600,d=37,f=39,_={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},g={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},p={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},m={SLIDE:"slide"+l,SLID:"slid"+l,KEYDOWN:"keydown"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l,LOAD_DATA_API:"load"+l+h,CLICK_DATA_API:"click"+l+h},E={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},v={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},T=function(){function h(e,i){n(this,h),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(v.INDICATORS)[0],this._addEventListeners()}return h.prototype.next=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.NEXT)},h.prototype.nextWhenVisible=function(){document.hidden||this.next()},h.prototype.prev=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.PREVIOUS)},h.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(v.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},h.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(v.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(m.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?p.NEXT:p.PREVIOUS;this._slide(o,this._items[e])}},h.prototype.dispose=function(){t(this._element).off(l),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(m.KEYDOWN,function(t){return e._keydown(t)}),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(m.MOUSEENTER,function(t){return e.pause(t)}).on(m.MOUSELEAVE,function(t){return e.cycle(t)})},h.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case d:t.preventDefault(),this.prev();break;case f:t.preventDefault(),this.next();break;default:return}},h.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(v.ITEM)),this._items.indexOf(e)},h.prototype._getItemByDirection=function(t,e){var n=t===p.NEXT,i=t===p.PREVIOUS,o=this._getItemIndex(e),r=this._items.length-1,s=i&&0===o||n&&o===r;if(s&&!this._config.wrap)return e;var a=t===p.PREVIOUS?-1:1,l=(o+a)%this._items.length;return l===-1?this._items[this._items.length-1]:this._items[l]},h.prototype._triggerSlideEvent=function(e,n){var i=t.Event(m.SLIDE,{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},h.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(v.ACTIVE).removeClass(E.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(E.ACTIVE)}},h.prototype._slide=function(e,n){var i=this,o=t(this._element).find(v.ACTIVE_ITEM)[0],s=n||o&&this._getItemByDirection(e,o),a=Boolean(this._interval),l=void 0,h=void 0,c=void 0;if(e===p.NEXT?(l=E.LEFT,h=E.NEXT,c=p.LEFT):(l=E.RIGHT,h=E.PREV,c=p.RIGHT),s&&t(s).hasClass(E.ACTIVE))return void(this._isSliding=!1);var d=this._triggerSlideEvent(s,c);if(!d.isDefaultPrevented()&&o&&s){this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(s);var f=t.Event(m.SLID,{relatedTarget:s,direction:c});r.supportsTransitionEnd()&&t(this._element).hasClass(E.SLIDE)?(t(s).addClass(h),r.reflow(s),t(o).addClass(l),t(s).addClass(l),t(o).one(r.TRANSITION_END,function(){t(s).removeClass(l+" "+h).addClass(E.ACTIVE),t(o).removeClass(E.ACTIVE+" "+h+" "+l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(f)},0)}).emulateTransitionEnd(u)):(t(o).removeClass(E.ACTIVE),t(s).addClass(E.ACTIVE),this._isSliding=!1,t(this._element).trigger(f)),a&&this.cycle()}},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o=t.extend({},_,t(this).data());"object"===("undefined"==typeof e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new h(this,o),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(void 0===n[r])throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},h._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(E.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),s=this.getAttribute("data-slide-to");s&&(o.interval=!1),h._jQueryInterface.call(t(i),o),s&&t(i).data(a).to(s),e.preventDefault()}}},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(m.CLICK_DATA_API,v.DATA_SLIDE,T._dataApiClickHandler),t(window).on(m.LOAD_DATA_API,function(){t(v.DATA_RIDE).each(function(){var e=t(this);T._jQueryInterface.call(e,e.data())})}),t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=c,T._jQueryInterface},T}(jQuery),function(t){var e="collapse",s="4.0.0-alpha.5",a="bs.collapse",l="."+a,h=".data-api",c=t.fn[e],u=600,d={toggle:!0,parent:""},f={toggle:"boolean",parent:"string"},_={SHOW:"show"+l,SHOWN:"shown"+l,HIDE:"hide"+l,HIDDEN:"hidden"+l,CLICK_DATA_API:"click"+l+h},g={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},p={WIDTH:"width",HEIGHT:"height"},m={ACTIVES:".card > .show, .card > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},E=function(){function l(e,i){n(this,l),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],'+('[data-toggle="collapse"][data-target="#'+e.id+'"]'))),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return l.prototype.toggle=function(){t(this._element).hasClass(g.SHOW)?this.hide():this.show()},l.prototype.show=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(!t(this._element).hasClass(g.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).find(m.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a),i&&i._isTransitioning))){var o=t.Event(_.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(l._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var s=this._getDimension();t(this._element).removeClass(g.COLLAPSE).addClass(g.COLLAPSING),this._element.style[s]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&t(this._triggerArray).removeClass(g.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).addClass(g.SHOW),e._element.style[s]="",e.setTransitioning(!1),t(e._element).trigger(_.SHOWN)};if(!r.supportsTransitionEnd())return void h();var c=s[0].toUpperCase()+s.slice(1),d="scroll"+c;t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(u),this._element.style[s]=this._element[d]+"px"}}}},l.prototype.hide=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(t(this._element).hasClass(g.SHOW)){var n=t.Event(_.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension(),o=i===p.WIDTH?"offsetWidth":"offsetHeight";this._element.style[i]=this._element[o]+"px",r.reflow(this._element),t(this._element).addClass(g.COLLAPSING).removeClass(g.COLLAPSE).removeClass(g.SHOW),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&t(this._triggerArray).addClass(g.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var s=function(){e.setTransitioning(!1),t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).trigger(_.HIDDEN)};return this._element.style[i]="",r.supportsTransitionEnd()?void t(this._element).one(r.TRANSITION_END,s).emulateTransitionEnd(u):void s()}}},l.prototype.setTransitioning=function(t){this._isTransitioning=t},l.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},l.prototype._getConfig=function(n){return n=t.extend({},d,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,f),n},l.prototype._getDimension=function(){var e=t(this._element).hasClass(p.WIDTH);return e?p.WIDTH:p.HEIGHT},l.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(l._getTargetFromElement(n),[n])}),n},l.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(g.SHOW);e.setAttribute("aria-expanded",i),n.length&&t(n).toggleClass(g.COLLAPSED,!i).attr("aria-expanded",i)}},l._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},l._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(a),r=t.extend({},d,n.data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new l(this,r),n.data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e]()}})},o(l,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}}]),l}();return t(document).on(_.CLICK_DATA_API,m.DATA_TOGGLE,function(e){e.preventDefault();var n=E._getTargetFromElement(this),i=t(n).data(a),o=i?"toggle":t(this).data();E._jQueryInterface.call(t(n),o)}),t.fn[e]=E._jQueryInterface,t.fn[e].Constructor=E,t.fn[e].noConflict=function(){return t.fn[e]=c,E._jQueryInterface},E}(jQuery),function(t){var e="dropdown",i="4.0.0-alpha.5",s="bs.dropdown",a="."+s,l=".data-api",h=t.fn[e],c=27,u=38,d=40,f=3,_={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click"+a+l,KEYDOWN_DATA_API:"keydown"+a+l},g={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",SHOW:"show"},p={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},m=function(){function e(t){n(this,e),this._element=t,this._addEventListeners()}return e.prototype.toggle=function(){if(this.disabled||t(this).hasClass(g.DISABLED))return!1;var n=e._getParentFromElement(this),i=t(n).hasClass(g.SHOW);if(e._clearMenus(),i)return!1;if("ontouchstart"in document.documentElement&&!t(n).closest(p.NAVBAR_NAV).length){var o=document.createElement("div");o.className=g.BACKDROP,t(o).insertBefore(this),t(o).on("click",e._clearMenus)}var r={relatedTarget:this},s=t.Event(_.SHOW,r);return t(n).trigger(s),!s.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded",!0),t(n).toggleClass(g.SHOW),t(n).trigger(t.Event(_.SHOWN,r)),!1)},e.prototype.dispose=function(){t.removeData(this._element,s),t(this._element).off(a),this._element=null},e.prototype._addEventListeners=function(){t(this._element).on(_.CLICK,this.toggle)},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(s);if(i||(i=new e(this),t(this).data(s,i)),"string"==typeof n){if(void 0===i[n])throw new Error('No method named "'+n+'"');i[n].call(this)}})},e._clearMenus=function(n){if(!n||n.which!==f){var i=t(p.BACKDROP)[0];i&&i.parentNode.removeChild(i);for(var o=t.makeArray(t(p.DATA_TOGGLE)),r=0;r<o.length;r++){var s=e._getParentFromElement(o[r]),a={relatedTarget:o[r]};if(t(s).hasClass(g.SHOW)&&!(n&&"click"===n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(s,n.target))){var l=t.Event(_.HIDE,a);t(s).trigger(l),l.isDefaultPrevented()||(o[r].setAttribute("aria-expanded","false"),t(s).removeClass(g.SHOW).trigger(t.Event(_.HIDDEN,a)))}}}},e._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},e._dataApiKeydownHandler=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)&&(n.preventDefault(),n.stopPropagation(),!this.disabled&&!t(this).hasClass(g.DISABLED))){var i=e._getParentFromElement(this),o=t(i).hasClass(g.SHOW);if(!o&&n.which!==c||o&&n.which===c){if(n.which===c){var r=t(i).find(p.DATA_TOGGLE)[0];t(r).trigger("focus")}return void t(this).trigger("click")}var s=t(i).find(p.VISIBLE_ITEMS).get();if(s.length){var a=s.indexOf(n.target);n.which===u&&a>0&&a--,n.which===d&&a<s.length-1&&a++,a<0&&(a=0),s[a].focus()}}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(_.KEYDOWN_DATA_API,p.DATA_TOGGLE,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_MENU,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_LISTBOX,m._dataApiKeydownHandler).on(_.CLICK_DATA_API,m._clearMenus).on(_.CLICK_DATA_API,p.DATA_TOGGLE,m.prototype.toggle).on(_.CLICK_DATA_API,p.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=h,m._jQueryInterface},m}(jQuery),function(t){var e="modal",s="4.0.0-alpha.5",a="bs.modal",l="."+a,h=".data-api",c=t.fn[e],u=300,d=150,f=27,_={backdrop:!0,keyboard:!0,focus:!0,show:!0},g={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,FOCUSIN:"focusin"+l,RESIZE:"resize"+l,CLICK_DISMISS:"click.dismiss"+l,KEYDOWN_DISMISS:"keydown.dismiss"+l,MOUSEUP_DISMISS:"mouseup.dismiss"+l,MOUSEDOWN_DISMISS:"mousedown.dismiss"+l,CLICK_DATA_API:"click"+l+h},m={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},E={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".navbar-fixed-top, .navbar-fixed-bottom, .is-fixed"},v=function(){function h(e,i){n(this,h),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(E.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return h.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},h.prototype.show=function(e){var n=this;if(this._isTransitioning)throw new Error("Modal is transitioning");r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)&&(this._isTransitioning=!0);var i=t.Event(p.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(m.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(p.CLICK_DISMISS,E.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(p.MOUSEDOWN_DISMISS,function(){t(n._element).one(p.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))},h.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),this._isTransitioning)throw new Error("Modal is transitioning");var i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);i&&(this._isTransitioning=!0);var o=t.Event(p.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(p.FOCUSIN),t(this._element).removeClass(m.SHOW),t(this._element).off(p.CLICK_DISMISS),t(this._dialog).off(p.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(u):this._hideModal())},h.prototype.dispose=function(){t.removeData(this._element,a),t(window,document,this._element,this._backdrop).off(l),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&r.reflow(this._element),t(this._element).addClass(m.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(p.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(u):s()},h.prototype._enforceFocus=function(){var e=this;t(document).off(p.FOCUSIN).on(p.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},h.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(p.KEYDOWN_DISMISS,function(t){t.which===f&&e.hide()}):this._isShown||t(this._element).off(p.KEYDOWN_DISMISS)},h.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(p.RESIZE,function(t){return e._handleUpdate(t)}):t(window).off(p.RESIZE)},h.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(m.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(p.HIDDEN)})},h.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},h.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(m.FADE)?m.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=m.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(p.CLICK_DISMISS,function(t){return n._ignoreBackdropClick?void(n._ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide()))}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(m.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(d)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(m.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(d):s()}else e&&e()},h.prototype._handleUpdate=function(){this._adjustDialog()},h.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},h.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},h.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},h.prototype._setScrollbar=function(){var e=parseInt(t(E.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=e+this._scrollbarWidth+"px")},h.prototype._resetScrollbar=function(){document.body.style.paddingRight=this._originalBodyPadding},h.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=m.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},h._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data(a),r=t.extend({},h.Default,t(this).data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(o||(o=new h(this,r),t(this).data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(p.CLICK_DATA_API,E.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var l=t(i).one(p.SHOW,function(e){e.isDefaultPrevented()||l.one(p.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});v._jQueryInterface.call(t(i),s,this)}),t.fn[e]=v._jQueryInterface,t.fn[e].Constructor=v,t.fn[e].noConflict=function(){return t.fn[e]=c,v._jQueryInterface},v}(jQuery),function(t){var e="scrollspy",s="4.0.0-alpha.5",a="bs.scrollspy",l="."+a,h=".data-api",c=t.fn[e],u={offset:10,method:"auto",target:""},d={offset:"number",method:"string",target:"(string|element)"},f={ACTIVATE:"activate"+l,SCROLL:"scroll"+l,LOAD_DATA_API:"load"+l+h},_={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},g={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},p={OFFSET:"offset",POSITION:"position"},m=function(){function h(e,i){var o=this;n(this,h),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+g.NAV_LINKS+","+(this._config.target+" "+g.DROPDOWN_ITEMS),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(f.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}return h.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?p.POSITION:p.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===p.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();var s=t.makeArray(t(this._selector));s.map(function(e){var n=void 0,s=r.getSelectorFromElement(e);return s&&(n=t(s)[0]),n&&(n.offsetWidth||n.offsetHeight)?[t(n)[i]().top+o,s]:null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(l),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},h.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,d),n},h.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.scrollY:this._scrollElement.scrollTop},h.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},h.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.offsetHeight},h.prototype._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){var r=this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1]);r&&this._activate(this._targets[o])}},h.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+(t+'[href="'+e+'"]')});var i=t(n.join(","));i.hasClass(_.DROPDOWN_ITEM)?(i.closest(g.DROPDOWN).find(g.DROPDOWN_TOGGLE).addClass(_.ACTIVE),i.addClass(_.ACTIVE)):i.parents(g.LI).find("> "+g.NAV_LINKS).addClass(_.ACTIVE),t(this._scrollElement).trigger(f.ACTIVATE,{relatedTarget:e})},h.prototype._clear=function(){t(this._selector).filter(g.ACTIVE).removeClass(_.ACTIVE)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;if(n||(n=new h(this,o),
-t(this).data(a,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return u}}]),h}();return t(window).on(f.LOAD_DATA_API,function(){for(var e=t.makeArray(t(g.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);m._jQueryInterface.call(i,i.data())}}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=c,m._jQueryInterface},m}(jQuery),function(t){var e="tab",i="4.0.0-alpha.5",s="bs.tab",a="."+s,l=".data-api",h=t.fn[e],c=150,u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+l},d={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},f={A:"a",LI:"li",DROPDOWN:".dropdown",LIST:"ul:not(.dropdown-menu), ol:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(d.ACTIVE)||t(this._element).hasClass(d.DISABLED))){var n=void 0,i=void 0,o=t(this._element).closest(f.LIST)[0],s=r.getSelectorFromElement(this._element);o&&(i=t.makeArray(t(o).find(f.ACTIVE)),i=i[i.length-1]);var a=t.Event(u.HIDE,{relatedTarget:this._element}),l=t.Event(u.SHOW,{relatedTarget:i});if(i&&t(i).trigger(a),t(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=t(s)[0]),this._activate(this._element,o);var h=function(){var n=t.Event(u.HIDDEN,{relatedTarget:e._element}),o=t.Event(u.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},e.prototype.dispose=function(){t.removeClass(this._element,s),this._element=null},e.prototype._activate=function(e,n,i){var o=this,s=t(n).find(f.ACTIVE_CHILD)[0],a=i&&r.supportsTransitionEnd()&&(s&&t(s).hasClass(d.FADE)||Boolean(t(n).find(f.FADE_CHILD)[0])),l=function(){return o._transitionComplete(e,s,a,i)};s&&a?t(s).one(r.TRANSITION_END,l).emulateTransitionEnd(c):l(),s&&t(s).removeClass(d.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(d.ACTIVE);var s=t(n.parentNode).find(f.DROPDOWN_ACTIVE_CHILD)[0];s&&t(s).removeClass(d.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(d.SHOW)):t(e).removeClass(d.FADE),e.parentNode&&t(e.parentNode).hasClass(d.DROPDOWN_MENU)){var a=t(e).closest(f.DROPDOWN)[0];a&&t(a).find(f.DROPDOWN_TOGGLE).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);if(o||(o=new e(this),i.data(s,o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,f.DATA_TOGGLE,function(e){e.preventDefault(),_._jQueryInterface.call(t(this),"show")}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){if("undefined"==typeof Tether)throw new Error("Bootstrap tooltips require Tether (http://tether.io/)");var e="tooltip",s="4.0.0-alpha.5",a="bs.tooltip",l="."+a,h=t.fn[e],c=150,u="bs-tether",d={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[],container:!1},f={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array",container:"(string|element|boolean)"},_={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},g={SHOW:"show",OUT:"out"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},m={FADE:"fade",SHOW:"show"},E={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},v={element:!1,enabled:!1},T={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},I=function(){function h(t,e){n(this,h),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._isTransitioning=!1,this._tether=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}return h.prototype.enable=function(){this._isEnabled=!0},h.prototype.disable=function(){this._isEnabled=!1},h.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},h.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(m.SHOW))return void this._leave(null,this);this._enter(null,this)}},h.prototype.dispose=function(){clearTimeout(this._timeout),this.cleanupTether(),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null},h.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){if(this._isTransitioning)throw new Error("Tooltip is transitioning");t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(m.FADE);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(a),c=this.config.container===!1?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:l,element:o,target:this.element,classes:v,classPrefix:u,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),r.reflow(o),this._tether.position(),t(o).addClass(m.SHOW);var d=function(){var n=e._hoverState;e._hoverState=null,e._isTransitioning=!1,t(e.element).trigger(e.constructor.Event.SHOWN),n===g.OUT&&e._leave(null,e)};if(r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE))return this._isTransitioning=!0,void t(this.tip).one(r.TRANSITION_END,d).emulateTransitionEnd(h._TRANSITION_DURATION);d()}},h.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE);if(this._isTransitioning)throw new Error("Tooltip is transitioning");var s=function(){n._hoverState!==g.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),n._isTransitioning=!1,n.cleanupTether(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(m.SHOW),this._activeTrigger[T.CLICK]=!1,this._activeTrigger[T.FOCUS]=!1,this._activeTrigger[T.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE)?(this._isTransitioning=!0,t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(c)):s(),this._hoverState="")},h.prototype.isWithContent=function(){return Boolean(this.getTitle())},h.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},h.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(E.TOOLTIP_INNER),this.getTitle()),e.removeClass(m.FADE+" "+m.SHOW),this.cleanupTether()},h.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===("undefined"==typeof n?"undefined":i(n))&&(n.nodeType||n.jquery)?o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},h.prototype.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},h.prototype.cleanupTether=function(){this._tether&&this._tether.destroy()},h.prototype._getAttachment=function(t){return _[t.toUpperCase()]},h.prototype._setListeners=function(){var e=this,n=this.config.trigger.split(" ");n.forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==T.MANUAL){var i=n===T.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===T.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},h.prototype._fixTitle=function(){var t=i(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},h.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T.FOCUS:T.HOVER]=!0),t(n.getTipElement()).hasClass(m.SHOW)||n._hoverState===g.SHOW?void(n._hoverState=g.SHOW):(clearTimeout(n._timeout),n._hoverState=g.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===g.SHOW&&n.show()},n.config.delay.show)):void n.show())},h.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T.FOCUS:T.HOVER]=!1),!n._isWithActiveTrigger())return clearTimeout(n._timeout),n._hoverState=g.OUT,n.config.delay&&n.config.delay.hide?void(n._timeout=setTimeout(function(){n._hoverState===g.OUT&&n.hide()},n.config.delay.hide)):void n.hide()},h.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},h.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},h.prototype._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return a}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return f}}]),h}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=h,I._jQueryInterface},I}(jQuery));(function(r){var a="popover",l="4.0.0-alpha.5",h="bs.popover",c="."+h,u=r.fn[a],d=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),f=r.extend({},s.DefaultType,{content:"(string|element|function)"}),_={FADE:"fade",SHOW:"show"},g={TITLE:".popover-title",CONTENT:".popover-content"},p={HIDE:"hide"+c,HIDDEN:"hidden"+c,SHOW:"show"+c,SHOWN:"shown"+c,INSERTED:"inserted"+c,CLICK:"click"+c,FOCUSIN:"focusin"+c,FOCUSOUT:"focusout"+c,MOUSEENTER:"mouseenter"+c,MOUSELEAVE:"mouseleave"+c},m=function(s){function u(){return n(this,u),t(this,s.apply(this,arguments))}return e(u,s),u.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},u.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},u.prototype.setContent=function(){var t=r(this.getTipElement());this.setElementContent(t.find(g.TITLE),this.getTitle()),this.setElementContent(t.find(g.CONTENT),this._getContent()),t.removeClass(_.FADE+" "+_.SHOW),this.cleanupTether()},u.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},u._jQueryInterface=function(t){return this.each(function(){var e=r(this).data(h),n="object"===("undefined"==typeof t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new u(this,n),r(this).data(h,e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},o(u,null,[{key:"VERSION",get:function(){return l}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return h}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return c}},{key:"DefaultType",get:function(){return f}}]),u}(s);return r.fn[a]=m._jQueryInterface,r.fn[a].Constructor=m,r.fn[a].noConflict=function(){return r.fn[a]=u,m._jQueryInterface},m})(jQuery)}(); \ No newline at end of file
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");!function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){
+// shoutout AngusCroll (https://goo.gl/pxwQGp)
+function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:s.end,delegateType:s.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in a)if(void 0!==t.style[e])return{end:a[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(l.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||l.triggerTransitionEnd(n)},e),this}/**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */
+var s=!1,a={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{
+// eslint-disable-next-line no-bitwise
+t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(e){var n=e.getAttribute("data-target");n&&"#"!==n||(n=e.getAttribute("href")||"");try{return t(n).length>0?n:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(s.end)},supportsTransitionEnd:function(){return Boolean(s)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+': Option "'+r+'" provided type "'+l+'" but expected type "'+s+'".')}}};return function(){s=o(),t.fn.emulateTransitionEnd=r,l.supportsTransitionEnd()&&(t.event.special[l.TRANSITION_END]=i())}(),l}(jQuery),s=(function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="alert",i=t.fn[e],s={DISMISS:'[data-dismiss="alert"]'},a={CLOSE:"close.bs.alert",CLOSED:"closed.bs.alert",CLICK_DATA_API:"click.bs.alert.data-api"},l={ALERT:"alert",FADE:"fade",SHOW:"show"},c=function(){function e(t){n(this,e),this._element=t}
+// getters
+// public
+// private
+// static
+return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,"bs.alert"),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+l.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(a.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;if(t(e).removeClass(l.SHOW),!r.supportsTransitionEnd()||!t(e).hasClass(l.FADE))return void this._destroyElement(e);t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(150)},e.prototype._destroyElement=function(e){t(e).detach().trigger(a.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data("bs.alert");o||(o=new e(this),i.data("bs.alert",o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(a.CLICK_DATA_API,s.DISMISS,c._handleDismiss(new c)),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=c._jQueryInterface,t.fn[e].Constructor=c,t.fn[e].noConflict=function(){return t.fn[e]=i,c._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="button",i=t.fn[e],r={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},s={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},a={CLICK_DATA_API:"click.bs.button.data-api",FOCUS_BLUR_DATA_API:"focus.bs.button.data-api blur.bs.button.data-api"},l=function(){function e(t){n(this,e),this._element=t}
+// getters
+// public
+// static
+return e.prototype.toggle=function(){var e=!0,n=!0,i=t(this._element).closest(s.DATA_TOGGLE)[0];if(i){var o=t(this._element).find(s.INPUT)[0];if(o){if("radio"===o.type)if(o.checked&&t(this._element).hasClass(r.ACTIVE))e=!1;else{var a=t(i).find(s.ACTIVE)[0];a&&t(a).removeClass(r.ACTIVE)}if(e){if(o.hasAttribute("disabled")||i.hasAttribute("disabled")||o.classList.contains("disabled")||i.classList.contains("disabled"))return;o.checked=!t(this._element).hasClass(r.ACTIVE),t(o).trigger("change")}o.focus(),n=!1}}n&&this._element.setAttribute("aria-pressed",!t(this._element).hasClass(r.ACTIVE)),e&&t(this._element).toggleClass(r.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,"bs.button"),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data("bs.button");i||(i=new e(this),t(this).data("bs.button",i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(a.CLICK_DATA_API,s.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(r.BUTTON)||(n=t(n).closest(s.BUTTON)),l._jQueryInterface.call(t(n),"toggle")}).on(a.FOCUS_BLUR_DATA_API,s.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(s.BUTTON)[0];t(n).toggleClass(r.FOCUS,/^focus(in)?$/.test(e.type))}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=l._jQueryInterface,t.fn[e].Constructor=l,t.fn[e].noConflict=function(){return t.fn[e]=i,l._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="carousel",s="bs.carousel",a="."+s,l=t.fn[e],c={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},h={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},u={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},d={SLIDE:"slide"+a,SLID:"slid"+a,KEYDOWN:"keydown"+a,MOUSEENTER:"mouseenter"+a,MOUSELEAVE:"mouseleave"+a,TOUCHEND:"touchend"+a,LOAD_DATA_API:"load.bs.carousel.data-api",CLICK_DATA_API:"click.bs.carousel.data-api"},f={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},p={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},_=function(){function l(e,i){n(this,l),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(p.INDICATORS)[0],this._addEventListeners()}
+// getters
+// public
+// private
+// static
+return l.prototype.next=function(){this._isSliding||this._slide(u.NEXT)},l.prototype.nextWhenVisible=function(){
+// Don't call next when the page isn't visible
+document.hidden||this.next()},l.prototype.prev=function(){this._isSliding||this._slide(u.PREV)},l.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(p.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},l.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},l.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(p.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(d.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?u.NEXT:u.PREV;this._slide(o,this._items[e])}},l.prototype.dispose=function(){t(this._element).off(a),t.removeData(this._element,s),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},l.prototype._getConfig=function(n){return n=t.extend({},c,n),r.typeCheckConfig(e,n,h),n},l.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&
+// if it's a touch-enabled device, mouseenter/leave are fired as
+// part of the mouse compatibility events on first tap - the carousel
+// would stop cycling until user tapped out of it;
+// here, we listen for touchend, explicitly pause the carousel
+// (as if it's the second time we tap on it, mouseenter compat event
+// is NOT fired) and after a timeout (to allow for mouse compatibility
+// events to fire) we explicitly restart cycling
+t(this._element).on(d.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},l.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next();break;default:return}},l.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(p.ITEM)),this._items.indexOf(e)},l.prototype._getItemByDirection=function(t,e){var n=t===u.NEXT,i=t===u.PREV,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=t===u.PREV?-1:1,a=(o+s)%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},l.prototype._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),o=this._getItemIndex(t(this._element).find(p.ACTIVE_ITEM)[0]),r=t.Event(d.SLIDE,{relatedTarget:e,direction:n,from:o,to:i});return t(this._element).trigger(r),r},l.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(p.ACTIVE).removeClass(f.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(f.ACTIVE)}},l.prototype._slide=function(e,n){var i=this,o=t(this._element).find(p.ACTIVE_ITEM)[0],s=this._getItemIndex(o),a=n||o&&this._getItemByDirection(e,o),l=this._getItemIndex(a),c=Boolean(this._interval),h=void 0,_=void 0,g=void 0;if(e===u.NEXT?(h=f.LEFT,_=f.NEXT,g=u.LEFT):(h=f.RIGHT,_=f.PREV,g=u.RIGHT),a&&t(a).hasClass(f.ACTIVE))return void(this._isSliding=!1);if(!this._triggerSlideEvent(a,g).isDefaultPrevented()&&o&&a){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(a);var m=t.Event(d.SLID,{relatedTarget:a,direction:g,from:s,to:l});r.supportsTransitionEnd()&&t(this._element).hasClass(f.SLIDE)?(t(a).addClass(_),r.reflow(a),t(o).addClass(h),t(a).addClass(h),t(o).one(r.TRANSITION_END,function(){t(a).removeClass(h+" "+_).addClass(f.ACTIVE),t(o).removeClass(f.ACTIVE+" "+_+" "+h),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(m)},0)}).emulateTransitionEnd(600)):(t(o).removeClass(f.ACTIVE),t(a).addClass(f.ACTIVE),this._isSliding=!1,t(this._element).trigger(m)),c&&this.cycle()}},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(s),o=t.extend({},c,t(this).data());"object"===(void 0===e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new l(this,o),t(this).data(s,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(void 0===n[r])throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},l._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(f.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),a=this.getAttribute("data-slide-to");a&&(o.interval=!1),l._jQueryInterface.call(t(i),o),a&&t(i).data(s).to(a),e.preventDefault()}}},o(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return c}}]),l}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(d.CLICK_DATA_API,p.DATA_SLIDE,_._dataApiClickHandler),t(window).on(d.LOAD_DATA_API,function(){t(p.DATA_RIDE).each(function(){var e=t(this);_._jQueryInterface.call(e,e.data())})}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=l,_._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="collapse",s="bs.collapse",a=t.fn[e],l={toggle:!0,parent:""},c={toggle:"boolean",parent:"string"},h={SHOW:"show."+s,SHOWN:"shown."+s,HIDE:"hide."+s,HIDDEN:"hidden."+s,CLICK_DATA_API:"click.bs.collapse.data-api"},u={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},d={WIDTH:"width",HEIGHT:"height"},f={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},p=function(){function a(e,i){n(this,a),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]')),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}
+// getters
+// public
+// private
+// static
+return a.prototype.toggle=function(){t(this._element).hasClass(u.SHOW)?this.hide():this.show()},a.prototype.show=function(){var e=this;if(!this._isTransitioning&&!t(this._element).hasClass(u.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).children().children(f.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(s))&&i._isTransitioning)){var o=t.Event(h.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(a._jQueryInterface.call(t(n),"hide"),i||t(n).data(s,null));var l=this._getDimension();t(this._element).removeClass(u.COLLAPSE).addClass(u.COLLAPSING),this._element.style[l]=0,this._triggerArray.length&&t(this._triggerArray).removeClass(u.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var c=function(){t(e._element).removeClass(u.COLLAPSING).addClass(u.COLLAPSE).addClass(u.SHOW),e._element.style[l]="",e.setTransitioning(!1),t(e._element).trigger(h.SHOWN)};if(!r.supportsTransitionEnd())return void c();var d=l[0].toUpperCase()+l.slice(1),p="scroll"+d;t(this._element).one(r.TRANSITION_END,c).emulateTransitionEnd(600),this._element.style[l]=this._element[p]+"px"}}}},a.prototype.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(u.SHOW)){var n=t.Event(h.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",r.reflow(this._element),t(this._element).addClass(u.COLLAPSING).removeClass(u.COLLAPSE).removeClass(u.SHOW),this._triggerArray.length&&t(this._triggerArray).addClass(u.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var o=function(){e.setTransitioning(!1),t(e._element).removeClass(u.COLLAPSING).addClass(u.COLLAPSE).trigger(h.HIDDEN)};if(this._element.style[i]="",!r.supportsTransitionEnd())return void o();t(this._element).one(r.TRANSITION_END,o).emulateTransitionEnd(600)}}},a.prototype.setTransitioning=function(t){this._isTransitioning=t},a.prototype.dispose=function(){t.removeData(this._element,s),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},a.prototype._getConfig=function(n){// coerce string values
+return n=t.extend({},l,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,c),n},a.prototype._getDimension=function(){return t(this._element).hasClass(d.WIDTH)?d.WIDTH:d.HEIGHT},a.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(a._getTargetFromElement(n),[n])}),n},a.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(u.SHOW);n.length&&t(n).toggleClass(u.COLLAPSED,!i).attr("aria-expanded",i)}},a._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},a._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(s),r=t.extend({},l,n.data(),"object"===(void 0===e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new a(this,r),n.data(s,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e]()}})},o(a,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return l}}]),a}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(h.CLICK_DATA_API,f.DATA_TOGGLE,function(e){/input|textarea/i.test(e.target.tagName)||e.preventDefault();var n=p._getTargetFromElement(this),i=t(n).data(s),o=i?"toggle":t(this).data();p._jQueryInterface.call(t(n),o)}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=p._jQueryInterface,t.fn[e].Constructor=p,t.fn[e].noConflict=function(){return t.fn[e]=a,p._jQueryInterface}}(jQuery),function(t){/**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+if("undefined"==typeof Popper)throw new Error("Bootstrap dropdown require Popper.js (https://popper.js.org)");/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="dropdown",s="bs.dropdown",a="."+s,l=t.fn[e],c=new RegExp("38|40|27"),h={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click.bs.dropdown.data-api",KEYDOWN_DATA_API:"keydown.bs.dropdown.data-api",KEYUP_DATA_API:"keyup.bs.dropdown.data-api"},u={DISABLED:"disabled",SHOW:"show"},d={DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",MENU:".dropdown-menu",NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:".dropdown-menu .dropdown-item:not(.disabled)"},f={TOP:"top-start",BOTTOM:"bottom-start"},p={placement:f.BOTTOM,offset:0,flip:!0},_={placement:"string",offset:"(number|string)",flip:"boolean"},g=function(){function l(t,e){n(this,l),this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._addEventListeners()}
+// getters
+// public
+// private
+// static
+return l.prototype.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(u.DISABLED)){var e=l._getParentFromElement(this._element),n=t(this._menu).hasClass(u.SHOW);if(l._clearMenus(),!n){var i={relatedTarget:this._element},o=t.Event(h.SHOW,i);if(t(e).trigger(o),!o.isDefaultPrevented()){
+// Handle dropup
+var r=t(this._element).parent().hasClass("dropup")?f.TOP:this._config.placement;this._popper=new Popper(this._element,this._menu,{placement:r,modifiers:{offset:{offset:this._config.offset},flip:{enabled:this._config.flip}}}),
+// if this is a touch-enabled device we add extra
+// empty mouseover listeners to the body's immediate children;
+// only needed because of broken event delegation on iOS
+// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+"ontouchstart"in document.documentElement&&!t(e).closest(d.NAVBAR_NAV).length&&t("body").children().on("mouseover",null,t.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),t(this._menu).toggleClass(u.SHOW),t(e).toggleClass(u.SHOW).trigger(t.Event(h.SHOWN,i))}}}},l.prototype.dispose=function(){t.removeData(this._element,s),t(this._element).off(a),this._element=null,this._menu=null,null!==this._popper&&this._popper.destroy(),this._popper=null},l.prototype.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},l.prototype._addEventListeners=function(){var e=this;t(this._element).on(h.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},l.prototype._getConfig=function(n){var i=t(this._element).data();return void 0!==i.placement&&(i.placement=f[i.placement.toUpperCase()]),n=t.extend({},this.constructor.Default,t(this._element).data(),n),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},l.prototype._getMenuElement=function(){if(!this._menu){var e=l._getParentFromElement(this._element);this._menu=t(e).find(d.MENU)[0]}return this._menu},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(s),o="object"===(void 0===e?"undefined":i(e))?e:null;if(n||(n=new l(this,o),t(this).data(s,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},l._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=t.makeArray(t(d.DATA_TOGGLE)),i=0;i<n.length;i++){var o=l._getParentFromElement(n[i]),r=t(n[i]).data(s),a={relatedTarget:n[i]};if(r){var c=r._menu;if(t(o).hasClass(u.SHOW)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&t.contains(o,e.target))){var f=t.Event(h.HIDE,a);t(o).trigger(f),f.isDefaultPrevented()||(
+// if this is a touch-enabled device we remove the extra
+// empty mouseover listeners we added for iOS support
+"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),n[i].setAttribute("aria-expanded","false"),t(c).removeClass(u.SHOW),t(o).removeClass(u.SHOW).trigger(t.Event(h.HIDDEN,a)))}}}},l._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},l._dataApiKeydownHandler=function(e){if(!(!c.test(e.which)||/button/i.test(e.target.tagName)&&32===e.which||/input|textarea/i.test(e.target.tagName)||(e.preventDefault(),e.stopPropagation(),this.disabled||t(this).hasClass(u.DISABLED)))){var n=l._getParentFromElement(this),i=t(n).hasClass(u.SHOW);if(!i&&(27!==e.which||32!==e.which)||i&&(27===e.which||32===e.which)){if(27===e.which){var o=t(n).find(d.DATA_TOGGLE)[0];t(o).trigger("focus")}return void t(this).trigger("click")}var r=t(n).find(d.VISIBLE_ITEMS).get();if(r.length){var s=r.indexOf(e.target);38===e.which&&s>0&&
+// up
+s--,40===e.which&&s<r.length-1&&
+// down
+s++,s<0&&(s=0),r[s].focus()}}},o(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return p}},{key:"DefaultType",get:function(){return _}}]),l}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(h.KEYDOWN_DATA_API,d.DATA_TOGGLE,g._dataApiKeydownHandler).on(h.KEYDOWN_DATA_API,d.MENU,g._dataApiKeydownHandler).on(h.CLICK_DATA_API+" "+h.KEYUP_DATA_API,g._clearMenus).on(h.CLICK_DATA_API,d.DATA_TOGGLE,function(e){e.preventDefault(),e.stopPropagation(),g._jQueryInterface.call(t(this),"toggle")}).on(h.CLICK_DATA_API,d.FORM_CHILD,function(t){t.stopPropagation()}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=l,g._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="modal",s=".bs.modal",a=t.fn[e],l={backdrop:!0,keyboard:!0,focus:!0,show:!0},c={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},h={HIDE:"hide.bs.modal",HIDDEN:"hidden.bs.modal",SHOW:"show.bs.modal",SHOWN:"shown.bs.modal",FOCUSIN:"focusin.bs.modal",RESIZE:"resize.bs.modal",CLICK_DISMISS:"click.dismiss.bs.modal",KEYDOWN_DISMISS:"keydown.dismiss.bs.modal",MOUSEUP_DISMISS:"mouseup.dismiss.bs.modal",MOUSEDOWN_DISMISS:"mousedown.dismiss.bs.modal",CLICK_DATA_API:"click.bs.modal.data-api"},u={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},d={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},f=function(){function a(e,i){n(this,a),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(d.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}
+// getters
+// public
+// private
+// ----------------------------------------------------------------------
+// the following methods are used to handle overflowing modals
+// todo (fat): these should probably be refactored out of modal.js
+// ----------------------------------------------------------------------
+// static
+return a.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},a.prototype.show=function(e){var n=this;if(!this._isTransitioning){r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE)&&(this._isTransitioning=!0);var i=t.Event(h.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(u.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(h.CLICK_DISMISS,d.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(h.MOUSEDOWN_DISMISS,function(){t(n._element).one(h.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))}},a.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),!this._isTransitioning&&this._isShown){var i=r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE);i&&(this._isTransitioning=!0);var o=t.Event(h.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(h.FOCUSIN),t(this._element).removeClass(u.SHOW),t(this._element).off(h.CLICK_DISMISS),t(this._dialog).off(h.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(300):this._hideModal())}},a.prototype.dispose=function(){t.removeData(this._element,"bs.modal"),t(window,document,this._element,this._backdrop).off(s),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},a.prototype.handleUpdate=function(){this._adjustDialog()},a.prototype._getConfig=function(n){return n=t.extend({},l,n),r.typeCheckConfig(e,n,c),n},a.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||
+// don't move modals dom position
+document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&r.reflow(this._element),t(this._element).addClass(u.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(h.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(300):s()},a.prototype._enforceFocus=function(){var e=this;t(document).off(h.FOCUSIN).on(h.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},a.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(h.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||t(this._element).off(h.KEYDOWN_DISMISS)},a.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(h.RESIZE,function(t){return e.handleUpdate(t)}):t(window).off(h.RESIZE)},a.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(u.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(h.HIDDEN)})},a.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},a.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(u.FADE)?u.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=u.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(h.CLICK_DISMISS,function(t){if(n._ignoreBackdropClick)return void(n._ignoreBackdropClick=!1);t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(u.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(u.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(150):s()}else e&&e()},a.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},a.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},a.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},a.prototype._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){
+// Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+// Adjust fixed content padding
+t(d.FIXED_CONTENT).each(function(n,i){var o=t(i)[0].style.paddingRight,r=t(i).css("padding-right");t(i).data("padding-right",o).css("padding-right",parseFloat(r)+e._scrollbarWidth+"px")}),
+// Adjust navbar-toggler margin
+t(d.NAVBAR_TOGGLER).each(function(n,i){var o=t(i)[0].style.marginRight,r=t(i).css("margin-right");t(i).data("margin-right",o).css("margin-right",parseFloat(r)+e._scrollbarWidth+"px")});
+// Adjust body padding
+var n=document.body.style.paddingRight,i=t("body").css("padding-right");t("body").data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},a.prototype._resetScrollbar=function(){
+// Restore fixed content padding
+t(d.FIXED_CONTENT).each(function(e,n){var i=t(n).data("padding-right");void 0!==i&&t(n).css("padding-right",i).removeData("padding-right")}),
+// Restore navbar-toggler margin
+t(d.NAVBAR_TOGGLER).each(function(e,n){var i=t(n).data("margin-right");void 0!==i&&t(n).css("margin-right",i).removeData("margin-right")});
+// Restore body padding
+var e=t("body").data("padding-right");void 0!==e&&t("body").css("padding-right",e).removeData("padding-right")},a.prototype._getScrollbarWidth=function(){
+// thx d.walsh
+var t=document.createElement("div");t.className=u.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},a._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data("bs.modal"),r=t.extend({},a.Default,t(this).data(),"object"===(void 0===e?"undefined":i(e))&&e);if(o||(o=new a(this,r),t(this).data("bs.modal",o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(a,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return l}}]),a}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(h.CLICK_DATA_API,d.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data("bs.modal")?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var a=t(i).one(h.SHOW,function(e){e.isDefaultPrevented()||a.one(h.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});f._jQueryInterface.call(t(i),s,this)}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=a,f._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="scrollspy",s=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},c={ACTIVATE:"activate.bs.scrollspy",SCROLL:"scroll.bs.scrollspy",LOAD_DATA_API:"load.bs.scrollspy.data-api"},h={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active"},u={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d={OFFSET:"offset",POSITION:"position"},f=function(){function s(e,i){var o=this;n(this,s),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+u.NAV_LINKS+","+this._config.target+" "+u.LIST_ITEMS+","+this._config.target+" "+u.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(c.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}
+// getters
+// public
+// private
+// static
+return s.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?d.POSITION:d.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===d.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n=void 0,s=r.getSelectorFromElement(e);if(s&&(n=t(s)[0]),n){var a=n.getBoundingClientRect();if(a.width||a.height)
+// todo (fat): remove sketch reliance on jQuery position/offset
+return[t(n)[i]().top+o,s]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},s.prototype.dispose=function(){t.removeData(this._element,"bs.scrollspy"),t(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},s.prototype._getConfig=function(n){if(n=t.extend({},a,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,l),n},s.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},s.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},s.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},s.prototype._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}},s.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var i=t(n.join(","));i.hasClass(h.DROPDOWN_ITEM)?(i.closest(u.DROPDOWN).find(u.DROPDOWN_TOGGLE).addClass(h.ACTIVE),i.addClass(h.ACTIVE)):(
+// Set triggered link as active
+i.addClass(h.ACTIVE),
+// Set triggered links parents as active
+// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+i.parents(u.NAV_LIST_GROUP).prev(u.NAV_LINKS+", "+u.LIST_ITEMS).addClass(h.ACTIVE)),t(this._scrollElement).trigger(c.ACTIVATE,{relatedTarget:e})},s.prototype._clear=function(){t(this._selector).filter(u.ACTIVE).removeClass(h.ACTIVE)},s._jQueryInterface=function(e){return this.each(function(){var n=t(this).data("bs.scrollspy"),o="object"===(void 0===e?"undefined":i(e))&&e;if(n||(n=new s(this,o),t(this).data("bs.scrollspy",n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(s,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return a}}]),s}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(window).on(c.LOAD_DATA_API,function(){for(var e=t.makeArray(t(u.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);f._jQueryInterface.call(i,i.data())}}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=s,f._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e=t.fn.tab,i={HIDE:"hide.bs.tab",HIDDEN:"hidden.bs.tab",SHOW:"show.bs.tab",SHOWN:"shown.bs.tab",CLICK_DATA_API:"click.bs.tab.data-api"},s={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},a={DROPDOWN:".dropdown",NAV_LIST_GROUP:".nav, .list-group",ACTIVE:".active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},l=function(){function e(t){n(this,e),this._element=t}
+// getters
+// public
+// private
+// static
+return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(s.ACTIVE)||t(this._element).hasClass(s.DISABLED))){var n=void 0,o=void 0,l=t(this._element).closest(a.NAV_LIST_GROUP)[0],c=r.getSelectorFromElement(this._element);l&&(o=t.makeArray(t(l).find(a.ACTIVE)),o=o[o.length-1]);var h=t.Event(i.HIDE,{relatedTarget:this._element}),u=t.Event(i.SHOW,{relatedTarget:o});if(o&&t(o).trigger(h),t(this._element).trigger(u),!u.isDefaultPrevented()&&!h.isDefaultPrevented()){c&&(n=t(c)[0]),this._activate(this._element,l);var d=function(){var n=t.Event(i.HIDDEN,{relatedTarget:e._element}),r=t.Event(i.SHOWN,{relatedTarget:o});t(o).trigger(n),t(e._element).trigger(r)};n?this._activate(n,n.parentNode,d):d()}}},e.prototype.dispose=function(){t.removeData(this._element,"bs.tab"),this._element=null},e.prototype._activate=function(e,n,i){var o=this,l=t(n).find(a.ACTIVE)[0],c=i&&r.supportsTransitionEnd()&&l&&t(l).hasClass(s.FADE),h=function(){return o._transitionComplete(e,l,c,i)};l&&c?t(l).one(r.TRANSITION_END,h).emulateTransitionEnd(150):h(),l&&t(l).removeClass(s.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(s.ACTIVE);var l=t(n.parentNode).find(a.DROPDOWN_ACTIVE_CHILD)[0];l&&t(l).removeClass(s.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(s.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(s.SHOW)):t(e).removeClass(s.FADE),e.parentNode&&t(e.parentNode).hasClass(s.DROPDOWN_MENU)){var c=t(e).closest(a.DROPDOWN)[0];c&&t(c).find(a.DROPDOWN_TOGGLE).addClass(s.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data("bs.tab");if(o||(o=new e(this),i.data("bs.tab",o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(i.CLICK_DATA_API,a.DATA_TOGGLE,function(e){e.preventDefault(),l._jQueryInterface.call(t(this),"show")}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn.tab=l._jQueryInterface,t.fn.tab.Constructor=l,t.fn.tab.noConflict=function(){return t.fn.tab=e,l._jQueryInterface}}(jQuery),function(t){/**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+if("undefined"==typeof Popper)throw new Error("Bootstrap tooltips require Popper.js (https://popper.js.org)");/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="tooltip",s=".bs.tooltip",a=t.fn[e],l=new RegExp("(^|\\s)bs-tooltip\\S+","g"),c={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)"},h={TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},u={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip"},d={SHOW:"show",OUT:"out"},f={HIDE:"hide"+s,HIDDEN:"hidden"+s,SHOW:"show"+s,SHOWN:"shown"+s,INSERTED:"inserted"+s,CLICK:"click"+s,FOCUSIN:"focusin"+s,FOCUSOUT:"focusout"+s,MOUSEENTER:"mouseenter"+s,MOUSELEAVE:"mouseleave"+s},p={FADE:"fade",SHOW:"show"},_={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},g={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},m=function(){function a(t,e){n(this,a),
+// private
+this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,
+// protected
+this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}
+// getters
+// public
+// protected
+// private
+// static
+return a.prototype.enable=function(){this._isEnabled=!0},a.prototype.disable=function(){this._isEnabled=!1},a.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},a.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(p.SHOW))return void this._leave(null,this);this._enter(null,this)}},a.prototype.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},a.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(p.FADE);var l="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,c=this._getAttachment(l);this.addAttachmentClass(c);var h=!1===this.config.container?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(o).appendTo(h),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new Popper(this.element,o,{placement:c,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(o).addClass(p.SHOW),
+// if this is a touch-enabled device we add extra
+// empty mouseover listeners to the body's immediate children;
+// only needed because of broken event delegation on iOS
+// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var u=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===d.OUT&&e._leave(null,e)};r.supportsTransitionEnd()&&t(this.tip).hasClass(p.FADE)?t(this.tip).one(r.TRANSITION_END,u).emulateTransitionEnd(a._TRANSITION_DURATION):u()}},a.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE),s=function(){n._hoverState!==d.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(p.SHOW),
+// if this is a touch-enabled device we remove the extra
+// empty mouseover listeners we added for iOS support
+"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[g.CLICK]=!1,this._activeTrigger[g.FOCUS]=!1,this._activeTrigger[g.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(p.FADE)?t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(150):s(),this._hoverState="")},a.prototype.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},a.prototype.isWithContent=function(){return Boolean(this.getTitle())},a.prototype.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},a.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},a.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(_.TOOLTIP_INNER),this.getTitle()),e.removeClass(p.FADE+" "+p.SHOW)},a.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===(void 0===n?"undefined":i(n))&&(n.nodeType||n.jquery)?
+// content is a DOM node or a jQuery
+o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},a.prototype.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},a.prototype._getAttachment=function(t){return h[t.toUpperCase()]},a.prototype._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==g.MANUAL){var i=n===g.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===g.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},a.prototype._fixTitle=function(){var t=i(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},a.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?g.FOCUS:g.HOVER]=!0),t(n.getTipElement()).hasClass(p.SHOW)||n._hoverState===d.SHOW?void(n._hoverState=d.SHOW):(clearTimeout(n._timeout),n._hoverState=d.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===d.SHOW&&n.show()},n.config.delay.show)):void n.show())},a.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?g.FOCUS:g.HOVER]=!1),!n._isWithActiveTrigger()){if(clearTimeout(n._timeout),n._hoverState=d.OUT,!n.config.delay||!n.config.delay.hide)return void n.hide();n._timeout=setTimeout(function(){n._hoverState===d.OUT&&n.hide()},n.config.delay.hide)}},a.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},a.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),n.title&&"number"==typeof n.title&&(n.title=n.title.toString()),n.content&&"number"==typeof n.content&&(n.content=n.content.toString()),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},a.prototype._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},a.prototype._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(l);null!==n&&n.length>0&&e.removeClass(n.join(""))},a.prototype._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},a.prototype._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(p.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data("bs.tooltip"),o="object"===(void 0===e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new a(this,o),t(this).data("bs.tooltip",n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(a,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return f}},{key:"EVENT_KEY",get:function(){return s}},{key:"DefaultType",get:function(){return c}}]),a}();/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+return t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=a,m._jQueryInterface},m}(jQuery));!function(r){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var a="popover",l=".bs.popover",c=r.fn[a],h=new RegExp("(^|\\s)bs-popover\\S+","g"),u=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),d=r.extend({},s.DefaultType,{content:"(string|element|function)"}),f={FADE:"fade",SHOW:"show"},p={TITLE:".popover-title",CONTENT:".popover-content"},_={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},g=function(s){function c(){return n(this,c),t(this,s.apply(this,arguments))}
+// overrides
+// private
+// static
+return e(c,s),c.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},c.prototype.addAttachmentClass=function(t){r(this.getTipElement()).addClass("bs-popover-"+t)},c.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},c.prototype.setContent=function(){var t=r(this.getTipElement());
+// we use append for html objects to maintain js events
+this.setElementContent(t.find(p.TITLE),this.getTitle()),this.setElementContent(t.find(p.CONTENT),this._getContent()),t.removeClass(f.FADE+" "+f.SHOW)},c.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},c.prototype._cleanTipClass=function(){var t=r(this.getTipElement()),e=t.attr("class").match(h);null!==e&&e.length>0&&t.removeClass(e.join(""))},c._jQueryInterface=function(t){return this.each(function(){var e=r(this).data("bs.popover"),n="object"===(void 0===t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new c(this,n),r(this).data("bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},o(c,null,[{key:"VERSION",
+// getters
+get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return d}}]),c}(s);/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+r.fn[a]=g._jQueryInterface,r.fn[a].Constructor=g,r.fn[a].noConflict=function(){return r.fn[a]=c,g._jQueryInterface}}(jQuery)}(); \ No newline at end of file
diff --git a/docs/.htmlhintrc b/docs/.htmlhintrc
index 636af68d7..dff2e8088 100644
--- a/docs/.htmlhintrc
+++ b/docs/.htmlhintrc
@@ -1,12 +1,14 @@
{
+ "alt-require": true,
"attr-lowercase": true,
"attr-no-duplication": true,
- "alt-require": true,
"attr-unsafe-chars": true,
"attr-value-double-quotes": true,
"doctype-first": true,
"doctype-html5": true,
+ "id-class-value": true,
"id-unique": true,
+ "space-tab-mixed-disabled": true,
"spec-char-escape": true,
"src-not-empty": true,
"tag-pair": true,
diff --git a/docs/.htmllintrc b/docs/.htmllintrc
new file mode 100644
index 000000000..d88560faa
--- /dev/null
+++ b/docs/.htmllintrc
@@ -0,0 +1,19 @@
+{
+ "attr-bans": ["align", "background", "bgcolor", "border", "frameborder", "longdesc", "marginwidth", "marginheight", "scrolling"],
+ "attr-name-style": "dash",
+ "attr-no-unsafe-char": false,
+ "class-style": "dash",
+ "doctype-first": true,
+ "doctype-html5": true,
+ "fig-req-figcaption": false,
+ "html-valid-content-model": false,
+ "id-class-ignore-regex": "(onclick|content|[a-z]+([A-Z][a-z])+)",
+ "id-class-style": "dash",
+ "img-req-src": false,
+ "img-req-alt": false,
+ "indent-style": "spaces",
+ "indent-width": 2,
+ "spec-char-escape": false,
+ "tag-bans": ["b", "i"],
+ "title-max-len": false
+}
diff --git a/docs/_data/core-team.yml b/docs/_data/core-team.yml
index 2b3fd9ac6..7528bdc11 100644
--- a/docs/_data/core-team.yml
+++ b/docs/_data/core-team.yml
@@ -33,3 +33,7 @@
- name: Gleb Mazovetskiy
user: glebm
gravatar: 729f685b8e8d7e9feed18c177c82e59b
+
+- name: Johann-S
+ user: johann-s
+ gravatar: d90d49733a4fe1aa461e45cb4a4fd9e3
diff --git a/docs/_data/nav.yml b/docs/_data/nav.yml
index 256e1bb9d..3a335b780 100644
--- a/docs/_data/nav.yml
+++ b/docs/_data/nav.yml
@@ -8,6 +8,7 @@
- title: Options
- title: Build tools
- title: Best practices
+ - title: Webpack
- title: Accessibility
- title: Layout
@@ -15,7 +16,7 @@
- title: Overview
- title: Grid
- title: Media object
- - title: Responsive utilities
+ - title: Utilities for layout
- title: Content
pages:
@@ -56,21 +57,22 @@
- title: Clearfix
- title: Close icon
- title: Colors
+ - title: Display
- title: Flexbox
- - title: Display property
- title: Image replacement
- - title: Invisible content
+ - title: Position
- title: Responsive helpers
- title: Screenreaders
- - title: Sizing and positioning
+ - title: Sizing
- title: Spacing
- title: Typography
- title: Vertical align
+ - title: Visibility
-# - title: Extend
-# pages:
-# - title: Approach
-# - title: Icon fonts
+- title: Extend
+ pages:
+ # - title: Approach
+ - title: Icons
- title: About
pages:
diff --git a/docs/_data/translations.yml b/docs/_data/translations.yml
index 951f9756b..52241e3d5 100644
--- a/docs/_data/translations.yml
+++ b/docs/_data/translations.yml
@@ -1,12 +1,12 @@
- name: Chinese
code: zh
description: Bootstrap 中文文档
- url: http://v4.bootcss.com/
+ url: https://v4.bootcss.com/
- name: Chinese
code: zh
description: Bootstrap 4 中文文档教程
- url: http://boot4.com/
+ url: http://wiki.jikexueyuan.com/project/bootstrap4/
- name: Japanese
code: ja
diff --git a/docs/_includes/bootstrap-icon.html b/docs/_includes/bootstrap-icon.html
new file mode 100644
index 000000000..42500d270
--- /dev/null
+++ b/docs/_includes/bootstrap-icon.html
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 612 612" width="128" height="128"><g id="solid"><g id="bg"><path fill="#fff" d="M510,5a97.3,97.3,0,0,1,97,97V510a97.3,97.3,0,0,1-97,97H102A97.3,97.3,0,0,1,5,510V102A97.3,97.3,0,0,1,102,5H510m0-5H102C45.9,0,0,45.9,0,102V510c0,56.1,45.9,102,102,102H510c56.1,0,102-45.9,102-102V102C612,45.9,566.1,0,510,0h0Z"/></g></g><path fill="#fff" d="M196.77,471.5V154.43H320.92c54.27,0,91,31.64,91,79.1,0,33-24.17,63.72-54.71,69.21v1.76c43.07,5.49,70.75,35.82,70.75,78,0,55.81-40,89-107.45,89H196.77Zm39.55-180.4H299.6c46.8,0,72.29-18.68,72.29-53,0-31.42-21.53-48.78-60-48.78H236.32V291.1Zm78.22,145.46c47.68,0,72.73-19.34,72.73-56s-25.93-55.37-76.46-55.37H236.32v111.4h78.22Z"/></svg>
diff --git a/docs/_includes/callout-danger-async-methods.md b/docs/_includes/callout-danger-async-methods.md
new file mode 100644
index 000000000..f7a76aa4d
--- /dev/null
+++ b/docs/_includes/callout-danger-async-methods.md
@@ -0,0 +1,7 @@
+{% callout danger %}
+#### Asynchronous methods and transitions
+
+All API methods are **asynchronous** and start a **transition**. They returns to the caller as soon as the transition is started but **before it ends**. In addition, a method call on a **transitioning component will be ignored**.
+
+[See our Javascript documentation for more informations.]({{ site.baseurl }}/getting-started/javascript/#content)
+{% endcallout %}
diff --git a/docs/_includes/footer.html b/docs/_includes/footer.html
index a31501480..62bf93b9d 100644
--- a/docs/_includes/footer.html
+++ b/docs/_includes/footer.html
@@ -12,9 +12,9 @@
</footer>
<script src="{{ site.cdn.jquery }}" integrity="{{ site.cdn.jquery_hash }}" crossorigin="anonymous"></script>
-<script>window.jQuery || document.write('<script src="{{ site.baseurl }}/assets/js/vendor/jquery.min.js"><\/script>')</script>
+<script>window.jQuery || document.write('<script src="{{ site.baseurl }}/assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
-<script src="{{ site.baseurl }}/assets/js/vendor/tether.min.js"></script>
+<script src="{{ site.baseurl }}/assets/js/vendor/popper.min.js"></script>
{% if site.github %}
<script src="{{ site.baseurl }}/dist/js/bootstrap.min.js"></script>
@@ -25,9 +25,10 @@
{% if site.github %}
<script src="{{ site.baseurl }}/assets/js/docs.min.js"></script>
{% else %}
- {% for file in site.data.configBridge.paths.docsJs %}
- <script src="{{ site.baseurl }}/{{ file }}"></script>
- {% endfor %}
+ <script src="{{ site.baseurl }}/assets/js/vendor/anchor.min.js"></script>
+ <script src="{{ site.baseurl }}/assets/js/vendor/clipboard.min.js"></script>
+ <script src="{{ site.baseurl }}/assets/js/vendor/holder.min.js"></script>
+ <script src="{{ site.baseurl }}/assets/js/src/application.js"></script>
{% endif %}
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
diff --git a/docs/_includes/header.html b/docs/_includes/header.html
index 11076af46..57415be54 100644
--- a/docs/_includes/header.html
+++ b/docs/_includes/header.html
@@ -1,5 +1,4 @@
<meta charset="utf-8">
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>
diff --git a/docs/_includes/nav-docs.html b/docs/_includes/nav-docs.html
index ab9c43c81..89ca747a9 100644
--- a/docs/_includes/nav-docs.html
+++ b/docs/_includes/nav-docs.html
@@ -1,3 +1,8 @@
+<form class="bd-search d-none d-sm-block">
+ <input type="search" class="form-control" id="search-input" placeholder="Search..." aria-label="Search for..." autocomplete="off">
+ <div class="dropdown-menu bd-search-results" id="search-results"></div>
+</form>
+
<nav class="bd-links" id="docsNavbarContent">
{% assign page_slug = page.url | split: '/' | last %}
{% for group in site.data.nav %}
diff --git a/docs/_includes/nav-home.html b/docs/_includes/nav-home.html
index 093377ed7..2819f5f53 100644
--- a/docs/_includes/nav-home.html
+++ b/docs/_includes/nav-home.html
@@ -1,4 +1,4 @@
-<header class="navbar navbar-toggleable-md navbar-light bd-navbar">
+<header class="navbar navbar-light navbar-expand-md bd-navbar">
<nav class="container">
{% comment %}
<nav class="nav navbar-nav float-right">
@@ -25,23 +25,25 @@
</nav>
{% endcomment %}
- <a class="navbar-brand" href="{{ site.baseurl }}/">
- Bootstrap
- </a>
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#bd-main-nav" aria-controls="bd-main-nav" aria-expanded="false" aria-label="Toggle navigation">
- <span class="navbar-toggler-icon"></span>
- </button>
+ <div class="d-flex justify-content-between d-lg-none">
+ <a class="navbar-brand" href="{{ site.baseurl }}/">
+ Bootstrap
+ </a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#bd-main-nav" aria-controls="bd-main-nav" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ </div>
<div class="collapse navbar-collapse" id="bd-main-nav">
- <ul class="navbar-nav mr-auto">
- <li class="nav-item {% if page.layout == "home" %}active{% endif %}">
- <a class="nav-link" href="{{ site.baseurl }}/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Bootstrap');">Home</a>
+ <ul class="navbar-nav">
+ <li class="nav-item active">
+ <a class="nav-link {% if page.layout == "home" %}active{% endif %}" href="{{ site.baseurl }}/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Bootstrap');">Bootstrap</a>
</li>
- <li class="nav-item {% if page.layout == "docs" %}active{% endif %}">
- <a class="nav-link" href="{{ site.baseurl }}/getting-started/introduction/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Docs');">Documentation</a>
+ <li class="nav-item">
+ <a class="nav-link {% if page.layout == "docs" %}active{% endif %}" href="{{ site.baseurl }}/getting-started/introduction/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Docs');">Documentation</a>
</li>
- <li class="nav-item {% if page.title == "Examples" %}active{% endif %}">
- <a class="nav-link" href="{{ site.baseurl }}/examples/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Examples');">Examples</a>
+ <li class="nav-item">
+ <a class="nav-link {% if page.title == "Examples" %}active{% endif %}" href="{{ site.baseurl }}/examples/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Examples');">Examples</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ site.themes }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Themes');">Themes</a>
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
index dab3d5665..e3642ac6d 100644
--- a/docs/_layouts/default.html
+++ b/docs/_layouts/default.html
@@ -12,9 +12,9 @@
{% include nav-home.html %}
- <div id="content">
+ <main id="content" role="main">
{{ content }}
- </div>
+ </main>
{% include footer.html %}
</body>
diff --git a/docs/_layouts/docs.html b/docs/_layouts/docs.html
index b8a2a73d1..c44275f1f 100644
--- a/docs/_layouts/docs.html
+++ b/docs/_layouts/docs.html
@@ -12,15 +12,22 @@
{% include nav-home.html %}
- <div class="container mt-4">
+ <div class="bd-pageheader">
+ <div class="container">
+ {% include page-headers.html %}
+ {% include ads.html %}
+ </div>
+ </div>
+
+ <div class="container">
<div class="row">
- <div class="col-12 col-md-3 bd-sidebar">
+ <div class="col-12 col-md-3 push-md-9 bd-sidebar">
{% include nav-docs.html %}
</div>
- <div class="col-12 col-md-9 bd-content">
+ <main class="col-12 col-md-9 pull-md-3 bd-content" role="main">
<h1 class="bd-title" id="content">{{ page.title }}</h1>
{{ content }}
- </div>
+ </main>
</div>
</div>
diff --git a/docs/_plugins/bridge.rb b/docs/_plugins/bridge.rb
deleted file mode 100644
index 69a13fbbb..000000000
--- a/docs/_plugins/bridge.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-require 'yaml'
-
-module Bridge
- class Generator < Jekyll::Generator
- def generate(site)
- path = File.join(site.source, "../grunt/configBridge.json")
- site.data["configBridge"] = YAML.load_file(path)
- end
- end
-end
diff --git a/docs/about/brand.md b/docs/about/brand.md
index 601051c2f..32c40b9c4 100644
--- a/docs/about/brand.md
+++ b/docs/about/brand.md
@@ -14,14 +14,14 @@ Have a need for Bootstrap's brand resources? Great! We have only a few guideline
## Mark and logo
-Use either the Bootstrap mark (a capital **B**) or the standard logo (just **Bootstrap**). It should always appear in Helvetica Neue Bold. **Do not use the Twitter bird** in association with Bootstrap.
+Use either the Bootstrap mark (a capital **B**) or the standard logo (just **Bootstrap**). It should always appear in San Francisco Display Semibold. **Do not use the Twitter bird** in association with Bootstrap.
<div class="bd-brand-logos">
<div class="bd-brand-item">
- <div class="bd-booticon bd-booticon-lg">B</div>
+ <img class="svg" src="{{ site.baseurl }}/assets/brand/bootstrap-solid.svg" alt="Bootstrap" width="144" height="144">
</div>
<div class="bd-brand-item inverse">
- <div class="bd-booticon bd-booticon-lg bd-booticon-inverse">B</div>
+ <img class="svg" src="{{ site.baseurl }}/assets/brand/bootstrap-outline.svg" alt="Bootstrap" width="144" height="144">
</div>
</div>
<div class="bd-brand-logos">
diff --git a/docs/assets/css/docs.min.css b/docs/assets/css/docs.min.css
index 9203050ee..6d42f2b49 100644
--- a/docs/assets/css/docs.min.css
+++ b/docs/assets/css/docs.min.css
@@ -1,7 +1,7 @@
/*!
* Bootstrap Docs (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors
- * Copyright 2011-2016 Twitter, Inc.
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see https://creativecommons.org/licenses/by/3.0/.
- */.bd-booticon{display:block;width:9rem;height:9rem;font-size:6.5rem;line-height:9rem;color:#fff;text-align:center;cursor:default;background-color:#563d7c;border-radius:15%}.bd-booticon.inverse{color:#563d7c;background-color:#fff}.bd-booticon.outline{background-color:transparent;border:1px solid #cdbfe3}.bd-navbar{margin-bottom:2rem;border-bottom:1px solid rgba(0,0,0,.1);-webkit-box-shadow:0 6px 12px rgba(0,0,0,.05);box-shadow:0 6px 12px rgba(0,0,0,.05)}.bd-navbar .navbar-nav .nav-link{color:#8e869d}.bd-navbar .navbar-nav .nav-link.active,.bd-navbar .navbar-nav .nav-link:focus,.bd-navbar .navbar-nav .nav-link:hover{color:#292b2c;background-color:transparent}.bd-navbar .navbar-nav .nav-link.active{font-weight:500;color:#040404}.bd-navbar .dropdown-menu{font-size:inherit}.bd-masthead{position:relative;padding:3rem 15px 2rem;color:#cdbfe3;text-align:center;background-image:-webkit-linear-gradient(315deg,#271b38,#563d7c,#7952b3);background-image:-o-linear-gradient(315deg,#271b38,#563d7c,#7952b3);background-image:linear-gradient(135deg,#271b38,#563d7c,#7952b3)}.bd-masthead .bd-booticon{margin:0 auto 2rem;color:#cdbfe3;border-color:#cdbfe3}.bd-masthead h1{font-weight:300;line-height:1}.bd-masthead .lead{margin-right:auto;margin-bottom:2rem;margin-left:auto;font-size:1.25rem;color:#fff}.bd-masthead .version{margin-top:-1rem;margin-bottom:2rem}.bd-masthead .btn{width:100%;padding:1rem 2rem;font-size:1.25rem;font-weight:500;color:#ffe484;border-color:#ffe484}.bd-masthead .btn:hover{color:#2a2730;background-color:#ffe484;border-color:#ffe484}.bd-masthead .carbonad{margin-bottom:-2rem!important}@media (min-width:576px){.bd-masthead{padding-top:8rem;padding-bottom:2rem}.bd-masthead .btn{width:auto}.bd-masthead .carbonad{margin-bottom:0!important}}@media (min-width:768px){.bd-masthead{padding-bottom:4rem}.bd-masthead .bd-header{margin-bottom:4rem}.bd-masthead h1{font-size:4rem}.bd-masthead .lead{font-size:1.5rem}.bd-masthead .carbonad{margin-top:3rem!important}}@media (min-width:992px){.bd-masthead .lead{width:85%;font-size:2rem}}.bd-featurette{padding-top:3rem;padding-bottom:3rem;font-size:1rem;line-height:1.5;color:#555;text-align:center;background-color:#fff;border-top:1px solid #eee}.bd-featurette .highlight{text-align:left}.bd-featurette .lead{margin-right:auto;margin-bottom:2rem;margin-left:auto;font-size:1rem;text-align:center}@media (min-width:576px){.bd-featurette{text-align:left}}@media (min-width:768px){.bd-featurette .col-sm-6:first-child{padding-right:45px}.bd-featurette .col-sm-6:last-child{padding-left:45px}}.bd-featurette-title{margin-bottom:.5rem;font-size:2rem;font-weight:400;color:#333;text-align:center}.half-rule{width:6rem;margin:2.5rem auto}@media (min-width:576px){.half-rule{margin-right:0;margin-left:0}}.bd-featurette h4{margin-top:1rem;margin-bottom:.5rem;font-weight:400;color:#333}.bd-featurette-img{display:block;margin-bottom:1.25rem;color:#333}.bd-featurette-img:hover{color:#0275d8;text-decoration:none}.bd-featurette-img img{display:block;margin-bottom:1rem}@media (min-width:480px){.bd-featurette .img-fluid{margin-top:2rem}}@media (min-width:768px){.bd-featurette{padding-top:6rem;padding-bottom:6rem}.bd-featurette-title{font-size:2.5rem}.bd-featurette-title+.lead{font-size:1.5rem}.bd-featurette .lead{max-width:80%}.bd-featurette .img-fluid{margin-top:0}}.bd-featured-sites{margin-right:-1px;margin-left:-1px}.bd-featured-sites .col-6{padding:1px}.bd-featured-sites .img-fluid{margin-top:0}@media (min-width:768px){.bd-featured-sites .col-sm-3:first-child img{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.bd-featured-sites .col-sm-3:last-child img{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}}#carbonads{display:block;padding:15px 15px 15px 160px;margin:50px -15px 0;overflow:hidden;font-size:13px;line-height:1.5;text-align:left;border:solid #866ab3;border-width:1px 0 0}#carbonads a{color:#fff;text-decoration:none}@media (min-width:576px){#carbonads{max-width:330px;margin:50px auto 0;border-width:1px;border-radius:4px}}@media (min-width:992px){#carbonads{position:absolute;top:0;right:15px;margin-top:0}.bd-masthead #carbonads{position:static}}.carbon-img{float:left;margin-left:-145px}.carbon-poweredby{display:block;color:#cdbfe3!important}.bd-content #carbonads{position:static;max-width:400px;margin:2rem 0;line-height:1.4;background-color:#f5f5f5;border:0}.bd-content #carbonads a{color:#333}.bd-content #carbonads .carbon-poweredby{color:#777!important}.bd-content>table{display:block;width:100%;max-width:100%;margin-bottom:1rem;overflow-y:auto}.bd-content>table>tbody>tr>td,.bd-content>table>tbody>tr>th,.bd-content>table>tfoot>tr>td,.bd-content>table>tfoot>tr>th,.bd-content>table>thead>tr>td,.bd-content>table>thead>tr>th{padding:.75rem;vertical-align:top;border:1px solid #eceeef}.bd-content>table>tbody>tr>td>p:last-child,.bd-content>table>tbody>tr>th>p:last-child,.bd-content>table>tfoot>tr>td>p:last-child,.bd-content>table>tfoot>tr>th>p:last-child,.bd-content>table>thead>tr>td>p:last-child,.bd-content>table>thead>tr>th>p:last-child{margin-bottom:0}.bd-content>table td:first-child>code{white-space:nowrap}.bd-content>h2:not(:first-child){margin-top:3rem}.bd-content>h3{margin-top:1.5rem}.bd-content>ol li,.bd-content>ul li{margin-bottom:.25rem}@media (min-width:576px){.bd-content>ol,.bd-content>p,.bd-content>ul{max-width:80%}}.bd-title{margin-top:1rem;margin-bottom:1rem;font-weight:300}@media (min-width:576px){.bd-title{font-size:3rem}.bd-title+p{max-width:80%;margin-bottom:2rem;font-size:1.5rem;font-weight:300}}#markdown-toc>li:first-child{display:none}#markdown-toc ul{padding-left:2rem;margin-top:.25rem;margin-bottom:.25rem}.bd-pageheader{padding:2rem 15px;margin-bottom:1.5rem;color:#cdbfe3;text-align:center;background-color:#563d7c}.bd-pageheader .container{position:relative}.bd-pageheader h1{font-size:3rem;font-weight:400;color:#fff}.bd-pageheader p{margin-bottom:0;font-size:1.25rem;font-weight:300}@media (min-width:576px){.bd-pageheader{padding-top:4rem;padding-bottom:4rem;margin-bottom:3rem;text-align:left}.bd-pageheader .carbonad{margin:2rem 0 0!important}}@media (min-width:768px){.bd-pageheader h1{font-size:4rem}.bd-pageheader p{font-size:1.5rem}}@media (min-width:992px){.bd-pageheader h1,.bd-pageheader p{margin-right:380px}.bd-pageheader .carbonad{position:absolute;top:0;right:.75rem;margin:0!important}}#skippy{display:block;padding:1em;color:#fff;background-color:#563d7c;outline:0}#skippy .skiplink-text{padding:.5em;outline:1px dotted}@media (min-width:768px){.bd-sidebar{position:-webkit-sticky;position:sticky;top:2rem;max-height:calc(100vh - 4rem);overflow-y:auto}}.bd-search{position:relative}.bd-search .form-control{background-color:#fafafa}.bd-search .form-control:focus{background-color:#fff}@media (min-width:768px){.bd-search{padding-right:1rem}}.bd-search-results{right:0;display:block;padding:0;overflow:hidden;font-size:.9rem}.bd-search-results:empty{display:none}.bd-search-results .dropdown-item{padding-right:.75rem;padding-left:.75rem}.bd-search-results .dropdown-item:first-child{margin-top:.25rem}.bd-search-results .dropdown-item:last-child{margin-bottom:.25rem}.bd-search-results .no-results{padding:.75rem 1rem;color:#7a7a7a;text-align:center;white-space:normal}.bd-sidenav{display:none}.bd-toc-link{display:block;padding-top:.25rem;padding-bottom:.25rem;color:#464a4c}.bd-toc-link:focus,.bd-toc-link:hover{color:#0275d8;text-decoration:none}.active>.bd-toc-link{font-weight:500;color:#292b2c}.active>.bd-sidenav{display:block}.bd-toc-item.active{margin-top:1rem;margin-bottom:1rem}.bd-toc-item:first-child{margin-top:0}.bd-toc-item:last-child{margin-bottom:2rem}.bd-sidebar .nav>li>a{display:block;padding-top:.25rem;padding-bottom:.25rem;font-size:90%;color:#99979c}.bd-sidebar .nav>li>a:focus,.bd-sidebar .nav>li>a:hover{color:#0275d8;text-decoration:none;background-color:transparent}.bd-sidebar .nav>.active:focus>a,.bd-sidebar .nav>.active:hover>a,.bd-sidebar .nav>.active>a{font-weight:500;color:#292b2c;background-color:transparent}.bd-footer{padding:4rem 0;margin-top:4rem;font-size:85%;text-align:center;background-color:#f7f7f7}.bd-footer a{font-weight:500;color:#464a4c}.bd-footer a:hover{color:#0275d8}.bd-footer p{margin-bottom:0}@media (min-width:576px){.bd-footer{text-align:left}}.bd-footer-links{padding-left:0;margin-bottom:1rem}.bd-footer-links li{display:inline-block}.bd-footer-links li+li{margin-left:1rem}.bd-example-row .row+.row{margin-top:1rem}.bd-example-row .row>.col,.bd-example-row .row>[class^=col-]{padding-top:.75rem;padding-bottom:.75rem;background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.2)}.bd-example-row .flex-items-bottom,.bd-example-row .flex-items-middle,.bd-example-row .flex-items-top{min-height:6rem;background-color:rgba(255,0,0,.1)}.bd-example-row-flex-cols .row{min-height:10rem;background-color:rgba(255,0,0,.1)}.bd-highlight{background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.15)}.bd-example-container{min-width:16rem;max-width:25rem;margin-right:auto;margin-left:auto}.bd-example-container-header{height:3rem;margin-bottom:.5rem;background-color:#daeeff;border-radius:.25rem}.bd-example-container-sidebar{float:right;width:4rem;height:8rem;background-color:#fae3c4;border-radius:.25rem}.bd-example-container-body{height:8rem;margin-right:4.5rem;background-color:#957bbe;border-radius:.25rem}.bd-example-container-fluid{max-width:none}.bd-example{position:relative;padding:1rem;margin:1rem -1rem;border:solid #f7f7f9;border-width:.2rem 0 0}.bd-example::after{display:block;content:"";clear:both}@media (min-width:576px){.bd-example{padding:1.5rem;margin-right:0;margin-bottom:0;margin-left:0;border-width:.2rem}}.bd-example+.clipboard+.highlight,.bd-example+.highlight{margin-top:0}.bd-example+p{margin-top:2rem}.bd-example .pos-f-t{position:relative;margin:-1rem}@media (min-width:576px){.bd-example .pos-f-t{margin:-1.5rem}}.bd-example>.form-control+.form-control{margin-top:.5rem}.bd-example>.alert+.alert,.bd-example>.nav+.nav,.bd-example>.navbar+.navbar,.bd-example>.progress+.btn,.bd-example>.progress+.progress{margin-top:1rem}.bd-example>.dropdown-menu:first-child{position:static;display:block}.bd-example>.form-group:last-child{margin-bottom:0}.bd-example>.close{float:none}.bd-example-type .table .type-info{color:#999;vertical-align:middle}.bd-example-type .table td{padding:1rem 0;border-color:#eee}.bd-example-type .table tr:first-child td{border-top:0}.bd-example-type h1,.bd-example-type h2,.bd-example-type h3,.bd-example-type h4,.bd-example-type h5,.bd-example-type h6{margin:0}.bd-example-bg-classes p{padding:1rem}.bd-example>img+img{margin-left:.5rem}.bd-example>.btn-group{margin-top:.25rem;margin-bottom:.25rem}.bd-example>.btn-toolbar+.btn-toolbar{margin-top:.5rem}.bd-example-control-sizing input[type=text]+input[type=text],.bd-example-control-sizing select{margin-top:.5rem}.bd-example-form .input-group{margin-bottom:.5rem}.bd-example>textarea.form-control{resize:vertical}.bd-example>.list-group{max-width:400px}.bd-example .navbar-fixed-top{position:static;margin:-1rem -1rem 1rem}.bd-example .navbar-fixed-bottom{position:static;margin:1rem -1rem -1rem}@media (min-width:576px){.bd-example .navbar-fixed-top{margin:-1.5rem -1.5rem 1rem}.bd-example .navbar-fixed-bottom{margin:1rem -1.5rem -1.5rem}}.bd-example .pagination{margin-top:.5rem;margin-bottom:.5rem}.bd-example-modal{background-color:#fafafa}.bd-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block}.bd-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto}.bd-example>.dropdown>.dropdown-toggle{float:left}.bd-example>.dropdown>.dropdown-menu{position:static;display:block;margin-bottom:.25rem;clear:left}.bd-example-tabs .nav-tabs{margin-bottom:1rem}.bd-example-tooltips{text-align:center}.bd-example-tooltips>.btn{margin-top:.25rem;margin-bottom:.25rem}.bd-example-popover-static{padding-bottom:1.5rem;background-color:#f9f9f9}.bd-example-popover-static .popover{position:relative;display:block;float:left;width:260px;margin:1.25rem}.tooltip-demo a{white-space:nowrap}.bd-example-tooltip-static .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1}.scrollspy-example{position:relative;height:200px;margin-top:.5rem;overflow:auto}.bd-example>.bg-danger:not(.navbar),.bd-example>.bg-faded:not(.navbar),.bd-example>.bg-info:not(.navbar),.bd-example>.bg-inverse:not(.navbar),.bd-example>.bg-primary:not(.navbar),.bd-example>.bg-success:not(.navbar),.bd-example>.bg-warning:not(.navbar){padding:.5rem;margin-top:.5rem;margin-bottom:.5rem}.bd-example-border-utils [class^=border-]{display:inline-block;width:6rem;height:6rem;margin:.25rem;background-color:#f5f5f5;border:1px solid}.highlight{padding:1rem;margin:1rem -15px;background-color:#f7f7f9}@media (min-width:576px){.highlight{padding:1.5rem;margin-right:0;margin-left:0}}.highlight pre{padding:0;margin-top:0;margin-bottom:0;background-color:transparent;border:0}.highlight pre code{font-size:inherit;color:#292b2c}.table-responsive .highlight pre{white-space:normal}.bd-table th small,.responsive-utilities th small{display:block;font-weight:400;color:#999}.responsive-utilities tbody th{font-weight:400}.responsive-utilities td{text-align:center}.responsive-utilities .is-visible{color:#468847;background-color:#dff0d8!important}.responsive-utilities .is-hidden{color:#ccc;background-color:#f9f9f9!important}.responsive-utilities-test{margin-top:.25rem}.responsive-utilities-test .col-6{margin-top:.5rem;margin-bottom:.5rem}.responsive-utilities-test span{display:block;padding:1rem .5rem;font-size:1rem;font-weight:700;line-height:1.1;text-align:center;border-radius:.25rem}.hidden-on .col-6>.not-visible,.visible-on .col-6>.not-visible{color:#999;border:1px solid #ddd}.hidden-on .col-6 .visible,.visible-on .col-6 .visible{color:#468847;background-color:#dff0d8;border:1px solid #d6e9c6}@media (max-width:575px){.hidden-xs-only{display:none!important}}@media (min-width:576px) and (max-width:767px){.hidden-sm-only{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md-only{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-lg-only{display:none!important}}@media (min-width:1200px){.hidden-xl-only{display:none!important}}.btn-bs{font-weight:500;color:#7952b3;border-color:#7952b3}.btn-bs:active,.btn-bs:focus,.btn-bs:hover{color:#fff;background-color:#7952b3;border-color:#7952b3}.bd-callout{padding:1.25rem;margin-top:1.25rem;margin-bottom:1.25rem;border:1px solid #eee;border-left-width:.25rem;border-radius:.25rem}.bd-callout h4{margin-top:0;margin-bottom:.25rem}.bd-callout p:last-child{margin-bottom:0}.bd-callout code{border-radius:.25rem}.bd-callout+.bd-callout{margin-top:-.25rem}.bd-callout-info{border-left-color:#5bc0de}.bd-callout-info h4{color:#5bc0de}.bd-callout-warning{border-left-color:#f0ad4e}.bd-callout-warning h4{color:#f0ad4e}.bd-callout-danger{border-left-color:#d9534f}.bd-callout-danger h4{color:#d9534f}.bd-examples .img-thumbnail{margin-bottom:.75rem}.bd-examples h4{margin-bottom:.25rem}.bd-examples p{margin-bottom:1.25rem}@media (max-width:480px){.bd-examples{margin-right:-.75rem;margin-left:-.75rem}.bd-examples>[class^=col-]{padding-right:.75rem;padding-left:.75rem}}.bd-team{margin-bottom:1.5rem}.bd-team .team-member{line-height:2rem;color:#555}.bd-team .team-member:hover{color:#333;text-decoration:none}.bd-team .github-btn{float:right;width:180px;height:1.25rem;margin-top:.25rem;border:0}.bd-team img{float:left;width:2rem;margin-right:.5rem;border-radius:.25rem}.bd-browser-bugs td p{margin-bottom:0}.bd-browser-bugs th:first-child{width:18%}.bd-brand-logos{display:table;width:100%;margin-bottom:1rem;overflow:hidden;color:#563d7c;background-color:#f9f9f9;border-radius:.25rem}.bd-brand-item{padding:4rem 0;text-align:center}.bd-brand-item+.bd-brand-item{border-top:1px solid #fff}.bd-brand-logos .inverse{color:#fff;background-color:#563d7c}.bd-brand-item h1,.bd-brand-item h3{margin-top:0;margin-bottom:0}.bd-brand-item .bd-booticon{margin-right:auto;margin-left:auto}@media (min-width:768px){.bd-brand-item{display:table-cell;width:1%}.bd-brand-item+.bd-brand-item{border-top:0;border-left:1px solid #fff}.bd-brand-item h1{font-size:4rem}}.color-swatches{margin:0 -5px;overflow:hidden}.color-swatch{float:left;width:4rem;height:4rem;margin-right:.25rem;margin-left:.25rem;border-radius:.25rem}@media (min-width:768px){.color-swatch{width:6rem;height:6rem}}.color-swatches .bd-purple{background-color:#563d7c}.color-swatches .bd-purple-light{background-color:#cdbfe3}.color-swatches .bd-purple-lighter{background-color:#e5e1ea}.color-swatches .bd-gray{background-color:#f9f9f9}.bd-clipboard{position:relative;display:none;float:right}.bd-clipboard+.highlight{margin-top:0}.btn-clipboard{position:absolute;top:.5rem;right:.5rem;z-index:10;display:block;padding:.25rem .5rem;font-size:75%;color:#818a91;cursor:pointer;background-color:transparent;border-radius:.25rem}.btn-clipboard:hover{color:#fff;background-color:#027de7}@media (min-width:768px){.bd-clipboard{display:block}}.hll{background-color:#ffc}.c{color:#999}.k{color:#069}.o{color:#555}.cm{color:#999}.cp{color:#099}.c1{color:#999}.cs{color:#999}.gd{background-color:#fcc;border:1px solid #c00}.ge{font-style:italic}.gr{color:red}.gh{color:#030}.gi{background-color:#cfc;border:1px solid #0c0}.go{color:#aaa}.gp{color:#009}.gu{color:#030}.gt{color:#9c6}.kc{color:#069}.kd{color:#069}.kn{color:#069}.kp{color:#069}.kr{color:#069}.kt{color:#078}.m{color:#f60}.s{color:#d44950}.na{color:#4f9fcf}.nb{color:#366}.nc{color:#0a8}.no{color:#360}.nd{color:#99f}.ni{color:#999}.ne{color:#c00}.nf{color:#c0f}.nl{color:#99f}.nn{color:#0cf}.nt{color:#2f6f9f}.nv{color:#033}.ow{color:#000}.w{color:#bbb}.mf{color:#f60}.mh{color:#f60}.mi{color:#f60}.mo{color:#f60}.sb{color:#c30}.sc{color:#c30}.sd{font-style:italic;color:#c30}.s2{color:#c30}.se{color:#c30}.sh{color:#c30}.si{color:#a00}.sx{color:#c30}.sr{color:#3aa}.s1{color:#c30}.ss{color:#fc3}.bp{color:#366}.vc{color:#033}.vg{color:#033}.vi{color:#033}.il{color:#f60}.css .nt+.nt,.css .o,.css .o+.nt{color:#999}.language-bash::before{color:#009;content:"$ ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.language-powershell::before{color:#009;content:"PM> ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.anchorjs-link{padding-right:.25em!important;margin-left:-.75em!important;color:inherit}@media (max-width:480px){.anchorjs-link{display:none}}:hover>.anchorjs-link{opacity:.75;-webkit-transition:color .16s linear;-o-transition:color .16s linear;transition:color .16s linear}.anchorjs-link:focus,:hover>.anchorjs-link:hover{text-decoration:none;opacity:1} \ No newline at end of file
+ */.bd-booticon{display:block;width:9rem;height:9rem;font-size:6.5rem;line-height:9rem;color:#fff;text-align:center;cursor:default;background-color:#563d7c;border-radius:15%}.bd-booticon.inverse{color:#563d7c;background-color:#fff}.bd-booticon.outline{background-color:transparent;border:1px solid #cdbfe3}.bd-navbar .navbar-nav .nav-link{color:#8e869d}.bd-navbar .navbar-nav .nav-link.active,.bd-navbar .navbar-nav .nav-link:focus,.bd-navbar .navbar-nav .nav-link:hover{color:#292b2c;background-color:transparent}.bd-navbar .navbar-nav .nav-link.active{font-weight:500;color:#040404}.bd-navbar .dropdown-menu{font-size:inherit}.bd-masthead{position:relative;padding:3rem 15px 2rem;color:#cdbfe3;text-align:center;background-image:-webkit-linear-gradient(315deg,#271b38,#563d7c,#7952b3);background-image:-o-linear-gradient(315deg,#271b38,#563d7c,#7952b3);background-image:linear-gradient(135deg,#271b38,#563d7c,#7952b3)}.bd-masthead .bd-booticon{margin:0 auto 2rem;color:#cdbfe3;border-color:#cdbfe3}.bd-masthead h1{font-weight:300;line-height:1}.bd-masthead .lead{margin-right:auto;margin-bottom:2rem;margin-left:auto;font-size:1.25rem;color:#fff}.bd-masthead .version{margin-top:-1rem;margin-bottom:2rem}.bd-masthead .btn{width:100%;padding:1rem 2rem;font-size:1.25rem;font-weight:500;color:#ffe484;border-color:#ffe484}.bd-masthead .btn:focus,.bd-masthead .btn:hover{color:#2a2730;background-color:#ffe484;border-color:#ffe484}.bd-masthead .carbonad{margin-bottom:-2rem!important}@media (min-width:576px){.bd-masthead{padding-top:8rem;padding-bottom:2rem}.bd-masthead .btn{width:auto}.bd-masthead .carbonad{margin-bottom:0!important}}@media (min-width:768px){.bd-masthead{padding-bottom:4rem}.bd-masthead .bd-header{margin-bottom:4rem}.bd-masthead h1{font-size:4rem}.bd-masthead .lead{font-size:1.5rem}.bd-masthead .carbonad{margin-top:3rem!important}}@media (min-width:992px){.bd-masthead .lead{width:85%;font-size:2rem}}.bd-featurette{padding-top:3rem;padding-bottom:3rem;font-size:1rem;line-height:1.5;color:#555;text-align:center;background-color:#fff;border-top:1px solid #eee}.bd-featurette .highlight{text-align:left}.bd-featurette .lead{margin-right:auto;margin-bottom:2rem;margin-left:auto;font-size:1rem;text-align:center}@media (min-width:576px){.bd-featurette{text-align:left}}@media (min-width:768px){.bd-featurette .col-sm-6:first-child{padding-right:45px}.bd-featurette .col-sm-6:last-child{padding-left:45px}}.bd-featurette-title{margin-bottom:.5rem;font-size:2rem;font-weight:400;color:#333;text-align:center}.half-rule{width:6rem;margin:2.5rem auto}@media (min-width:576px){.half-rule{margin-right:0;margin-left:0}}.bd-featurette h4{margin-top:1rem;margin-bottom:.5rem;font-weight:400;color:#333}.bd-featurette-img{display:block;margin-bottom:1.25rem;color:#333}.bd-featurette-img:hover{color:#0275d8;text-decoration:none}.bd-featurette-img img{display:block;margin-bottom:1rem}@media (min-width:480px){.bd-featurette .img-fluid{margin-top:2rem}}@media (min-width:768px){.bd-featurette{padding-top:6rem;padding-bottom:6rem}.bd-featurette-title{font-size:2.5rem}.bd-featurette-title+.lead{font-size:1.5rem}.bd-featurette .lead{max-width:80%}.bd-featurette .img-fluid{margin-top:0}}.bd-featured-sites{margin-right:-1px;margin-left:-1px}.bd-featured-sites .col-6{padding:1px}.bd-featured-sites .img-fluid{margin-top:0}@media (min-width:768px){.bd-featured-sites .col-sm-3:first-child img{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.bd-featured-sites .col-sm-3:last-child img{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}}#carbonads{display:block;padding:15px 15px 15px 160px;margin:50px -15px 0;overflow:hidden;font-size:13px;line-height:1.5;text-align:left;border:solid #866ab3;border-width:1px 0 0}#carbonads a{color:#fff;text-decoration:none}@media (min-width:576px){#carbonads{max-width:330px;margin:50px auto 0;border-width:1px;border-radius:4px}}@media (min-width:992px){#carbonads{position:absolute;top:0;right:15px;margin-top:0}.bd-masthead #carbonads{position:static}}.carbon-img{float:left;margin-left:-145px}.carbon-poweredby{display:block;color:#cdbfe3!important}.bd-content>table{width:100%;max-width:100%;margin-bottom:1rem}@media (max-width:991px){.bd-content>table{display:block;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}}.bd-content>table>tbody>tr>td,.bd-content>table>tbody>tr>th,.bd-content>table>tfoot>tr>td,.bd-content>table>tfoot>tr>th,.bd-content>table>thead>tr>td,.bd-content>table>thead>tr>th{padding:.75rem;vertical-align:top;border:1px solid #eceeef}.bd-content>table>tbody>tr>td>p:last-child,.bd-content>table>tbody>tr>th>p:last-child,.bd-content>table>tfoot>tr>td>p:last-child,.bd-content>table>tfoot>tr>th>p:last-child,.bd-content>table>thead>tr>td>p:last-child,.bd-content>table>thead>tr>th>p:last-child{margin-bottom:0}.bd-content>table td:first-child>code{white-space:nowrap}.bd-content>h2:not(:first-child){margin-top:3rem}.bd-content>h3{margin-top:1.5rem}.bd-content>ol li,.bd-content>ul li{margin-bottom:.25rem}@media (min-width:576px){.bd-title{font-size:3rem}.bd-title+p{font-size:1.25rem;font-weight:300}}#markdown-toc>li:first-child{display:none}#markdown-toc ul{padding-left:2rem;margin-top:.25rem;margin-bottom:.25rem}.bd-pageheader{padding:2rem 15px;margin-bottom:1.5rem;color:#cdbfe3;text-align:center;background-color:#563d7c}.bd-pageheader .container{position:relative}.bd-pageheader h1{font-size:3rem;font-weight:400;color:#fff}.bd-pageheader p{margin-bottom:0;font-size:1.25rem;font-weight:300}@media (min-width:576px){.bd-pageheader{padding-top:4rem;padding-bottom:4rem;margin-bottom:3rem;text-align:left}.bd-pageheader .carbonad{margin:2rem 0 0!important}}@media (min-width:768px){.bd-pageheader h1{font-size:4rem}.bd-pageheader p{font-size:1.5rem}}@media (min-width:992px){.bd-pageheader h1,.bd-pageheader p{margin-right:380px}.bd-pageheader .carbonad{position:absolute;top:0;right:.75rem;margin:0!important}}#skippy{display:block;padding:1em;color:#fff;background-color:#563d7c;outline:0}#skippy .skiplink-text{padding:.5em;outline:1px dotted}@media (min-width:768px){.bd-sidebar{padding-left:1rem}}.bd-search{position:relative;margin-bottom:1.5rem}.bd-search .form-control{height:2.45rem;padding-top:.4rem;padding-bottom:.4rem;background-color:#fafafa}.bd-search .form-control:focus{background-color:#fff}.bd-search-results{right:0;display:block;padding:0;overflow:hidden;font-size:.9rem}.bd-search-results:empty{display:none}.bd-search-results .dropdown-item{padding-right:.75rem;padding-left:.75rem}.bd-search-results .dropdown-item:first-child{margin-top:.25rem}.bd-search-results .dropdown-item:last-child{margin-bottom:.25rem}.bd-search-results .no-results{padding:.75rem 1rem;color:#7a7a7a;text-align:center;white-space:normal}.bd-sidenav{display:none}.bd-toc-link{display:block;padding:.25rem .75rem;color:#464a4c}.bd-toc-link:focus,.bd-toc-link:hover{color:#0275d8;text-decoration:none}.active>.bd-toc-link{font-weight:500;color:#292b2c}.active>.bd-sidenav{display:block}.bd-toc-item.active{margin-top:1rem;margin-bottom:1rem}.bd-toc-item:first-child{margin-top:0}.bd-toc-item:last-child{margin-bottom:2rem}.bd-sidebar .nav>li>a{display:block;padding:.25rem .75rem;font-size:90%;color:#99979c}.bd-sidebar .nav>li>a:focus,.bd-sidebar .nav>li>a:hover{color:#0275d8;text-decoration:none;background-color:transparent}.bd-sidebar .nav>.active:focus>a,.bd-sidebar .nav>.active:hover>a,.bd-sidebar .nav>.active>a{font-weight:500;color:#292b2c;background-color:transparent}.bd-footer{padding:4rem 0;margin-top:4rem;font-size:85%;text-align:center;background-color:#f7f7f7}.bd-footer a{font-weight:500;color:#464a4c}.bd-footer a:focus,.bd-footer a:hover{color:#0275d8}.bd-footer p{margin-bottom:0}@media (min-width:576px){.bd-footer{text-align:left}}.bd-footer-links{padding-left:0;margin-bottom:1rem}.bd-footer-links li{display:inline-block}.bd-footer-links li+li{margin-left:1rem}.bd-example-row .row+.row{margin-top:1rem}.bd-example-row .row>.col,.bd-example-row .row>[class^=col-]{padding-top:.75rem;padding-bottom:.75rem;background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.2)}.bd-example-row .flex-items-bottom,.bd-example-row .flex-items-middle,.bd-example-row .flex-items-top{min-height:6rem;background-color:rgba(255,0,0,.1)}.bd-example-row-flex-cols .row{min-height:10rem;background-color:rgba(255,0,0,.1)}.bd-highlight{background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.15)}.example-container{width:800px;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.example-container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.example-container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.example-container{padding-right:15px;padding-left:15px}}.example-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.example-row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.example-row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.example-row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.example-row{margin-right:-15px;margin-left:-15px}}.example-content-main{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-main{padding-right:15px;padding-left:15px}}@media (min-width:768px){.example-content-main{padding-right:15px;padding-left:15px}}@media (min-width:992px){.example-content-main{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.example-content-main{padding-right:15px;padding-left:15px}}@media (min-width:576px){.example-content-main{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-main{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}}.example-content-secondary{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-secondary{padding-right:15px;padding-left:15px}}@media (min-width:768px){.example-content-secondary{padding-right:15px;padding-left:15px}}@media (min-width:992px){.example-content-secondary{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.example-content-secondary{padding-right:15px;padding-left:15px}}@media (min-width:576px){.example-content-secondary{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-secondary{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}}.bd-example-container{min-width:16rem;max-width:25rem;margin-right:auto;margin-left:auto}.bd-example-container-header{height:3rem;margin-bottom:.5rem;background-color:#daeeff;border-radius:.25rem}.bd-example-container-sidebar{float:right;width:4rem;height:8rem;background-color:#fae3c4;border-radius:.25rem}.bd-example-container-body{height:8rem;margin-right:4.5rem;background-color:#957bbe;border-radius:.25rem}.bd-example-container-fluid{max-width:none}.bd-example{position:relative;padding:1rem;margin:1rem -15px;border:solid #f7f7f9;border-width:.2rem 0 0}.bd-example::after{display:block;clear:both;content:""}@media (min-width:576px){.bd-example{padding:1.5rem;margin-right:0;margin-bottom:0;margin-left:0;border-width:.2rem}}.bd-example+.clipboard+.highlight,.bd-example+.highlight{margin-top:0}.bd-example+p{margin-top:2rem}.bd-example .pos-f-t{position:relative;margin:-1rem}@media (min-width:576px){.bd-example .pos-f-t{margin:-1.5rem}}.bd-example>.form-control+.form-control{margin-top:.5rem}.bd-example>.alert+.alert,.bd-example>.nav+.nav,.bd-example>.navbar+.navbar,.bd-example>.progress+.btn,.bd-example>.progress+.progress{margin-top:1rem}.bd-example>.dropdown-menu:first-child{position:static;display:block}.bd-example>.form-group:last-child{margin-bottom:0}.bd-example>.close{float:none}.bd-example-type .table .type-info{color:#999;vertical-align:middle}.bd-example-type .table td{padding:1rem 0;border-color:#eee}.bd-example-type .table tr:first-child td{border-top:0}.bd-example-type h1,.bd-example-type h2,.bd-example-type h3,.bd-example-type h4,.bd-example-type h5,.bd-example-type h6{margin:0}.bd-example-bg-classes p{padding:1rem}.bd-example>img+img{margin-left:.5rem}.bd-example>.btn-group{margin-top:.25rem;margin-bottom:.25rem}.bd-example>.btn-toolbar+.btn-toolbar{margin-top:.5rem}.bd-example-control-sizing input[type=text]+input[type=text],.bd-example-control-sizing select{margin-top:.5rem}.bd-example-form .input-group{margin-bottom:.5rem}.bd-example>textarea.form-control{resize:vertical}.bd-example>.list-group{max-width:400px}.bd-example .fixed-top,.bd-example .sticky-top{position:static;margin:-1rem -1rem 1rem}.bd-example .fixed-bottom{position:static;margin:1rem -1rem -1rem}@media (min-width:576px){.bd-example .fixed-top,.bd-example .sticky-top{margin:-1.5rem -1.5rem 1rem}.bd-example .fixed-bottom{margin:1rem -1.5rem -1.5rem}}.bd-example .pagination{margin-top:.5rem;margin-bottom:.5rem}.bd-example-modal{background-color:#fafafa}.bd-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block}.bd-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto}.bd-example-tabs .nav-tabs{margin-bottom:1rem}.bd-example-tooltips{text-align:center}.bd-example-tooltips>.btn{margin-top:.25rem;margin-bottom:.25rem}.bs-tooltip-bottom-docs .arrow,.bs-tooltip-top-docs .arrow{left:50%}.bs-tooltip-left-docs .arrow,.bs-tooltip-right-docs .arrow{top:50%}.bd-example-popover-static{padding-bottom:1.5rem;background-color:#f9f9f9}.bd-example-popover-static .popover{position:relative;display:block;float:left;width:260px;margin:1.25rem}.bs-popover-bottom-docs .arrow,.bs-popover-top-docs .arrow{left:50%}.bs-popover-left-docs .arrow,.bs-popover-right-docs .arrow{top:50%}.tooltip-demo a{white-space:nowrap}.bd-example-tooltip-static .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1}.scrollspy-example{position:relative;height:200px;margin-top:.5rem;overflow:auto}.scrollspy-example-2{position:relative;height:350px;overflow:auto}.bd-example>.bg-danger:not(.navbar),.bd-example>.bg-faded:not(.navbar),.bd-example>.bg-info:not(.navbar),.bd-example>.bg-inverse:not(.navbar),.bd-example>.bg-primary:not(.navbar),.bd-example>.bg-success:not(.navbar),.bd-example>.bg-warning:not(.navbar){padding:.5rem;margin-top:.5rem;margin-bottom:.5rem}.bd-example-border-utils [class^=border-]{display:inline-block;width:6rem;height:6rem;margin:.25rem;background-color:#f5f5f5;border:1px solid}.highlight{padding:1rem;margin:1rem -15px;background-color:#f7f7f9;-ms-overflow-style:-ms-autohiding-scrollbar}@media (min-width:576px){.highlight{padding:1.5rem;margin-right:0;margin-left:0}}.highlight pre{padding:0;margin-top:0;margin-bottom:0;background-color:transparent;border:0}.highlight pre code{font-size:inherit;color:#292b2c}.table-responsive .highlight pre{white-space:normal}.bd-table th small{display:block;font-weight:400;color:#999}.btn-bs{font-weight:500;color:#7952b3;border-color:#7952b3}.btn-bs:active,.btn-bs:focus,.btn-bs:hover{color:#fff;background-color:#7952b3;border-color:#7952b3}.bd-callout{padding:1.25rem;margin-top:1.25rem;margin-bottom:1.25rem;border:1px solid #eee;border-left-width:.25rem;border-radius:.25rem}.bd-callout h4{margin-top:0;margin-bottom:.25rem}.bd-callout p:last-child{margin-bottom:0}.bd-callout code{border-radius:.25rem}.bd-callout+.bd-callout{margin-top:-.25rem}.bd-callout-info{border-left-color:#5bc0de}.bd-callout-info h4{color:#5bc0de}.bd-callout-warning{border-left-color:#f0ad4e}.bd-callout-warning h4{color:#f0ad4e}.bd-callout-danger{border-left-color:#d9534f}.bd-callout-danger h4{color:#d9534f}.bd-examples .img-thumbnail{margin-bottom:.75rem}.bd-examples h4{margin-bottom:.25rem}.bd-examples p{margin-bottom:1.25rem}@media (max-width:480px){.bd-examples{margin-right:-.75rem;margin-left:-.75rem}.bd-examples>[class^=col-]{padding-right:.75rem;padding-left:.75rem}}.bd-team{margin-bottom:1.5rem}.bd-team .team-member{line-height:2rem;color:#555}.bd-team .team-member:focus,.bd-team .team-member:hover{color:#333}.bd-team .team-member:hover{text-decoration:none}.bd-team .github-btn{float:right;width:180px;height:1.25rem;margin-top:.25rem;border:0}.bd-team img{float:left;width:2rem;margin-right:.5rem;border-radius:.25rem}.bd-browser-bugs td p{margin-bottom:0}.bd-browser-bugs th:first-child{width:18%}.bd-brand-logos{display:table;width:100%;margin-bottom:1rem;overflow:hidden;color:#563d7c;background-color:#f9f9f9;border-radius:.25rem}.bd-brand-item{padding:4rem 0;text-align:center}.bd-brand-item+.bd-brand-item{border-top:1px solid #fff}.bd-brand-logos .inverse{color:#fff;background-color:#563d7c}.bd-brand-item h1,.bd-brand-item h3{margin-top:0;margin-bottom:0}.bd-brand-item .bd-booticon{margin-right:auto;margin-left:auto}@media (min-width:768px){.bd-brand-item{display:table-cell;width:1%}.bd-brand-item+.bd-brand-item{border-top:0;border-left:1px solid #fff}.bd-brand-item h1{font-size:4rem}}.color-swatches{margin:0 -5px;overflow:hidden}.color-swatch{float:left;width:4rem;height:4rem;margin-right:.25rem;margin-left:.25rem;border-radius:.25rem}@media (min-width:768px){.color-swatch{width:6rem;height:6rem}}.color-swatches .bd-purple{background-color:#563d7c}.color-swatches .bd-purple-light{background-color:#cdbfe3}.color-swatches .bd-purple-lighter{background-color:#e5e1ea}.color-swatches .bd-gray{background-color:#f9f9f9}.bd-clipboard{position:relative;display:none;float:right}.bd-clipboard+.highlight{margin-top:0}.btn-clipboard{position:absolute;top:.5rem;right:.5rem;z-index:10;display:block;padding:.25rem .5rem;font-size:75%;color:#818a91;cursor:pointer;background-color:transparent;border:0;border-radius:.25rem}.btn-clipboard:hover{color:#fff;background-color:#027de7}@media (min-width:768px){.bd-clipboard{display:block}}.hll{background-color:#ffc}.c{color:#999}.k{color:#069}.o{color:#555}.cm{color:#999}.cp{color:#099}.c1{color:#999}.cs{color:#999}.gd{background-color:#fcc;border:1px solid #c00}.ge{font-style:italic}.gr{color:red}.gh{color:#030}.gi{background-color:#cfc;border:1px solid #0c0}.go{color:#aaa}.gp{color:#009}.gu{color:#030}.gt{color:#9c6}.kc{color:#069}.kd{color:#069}.kn{color:#069}.kp{color:#069}.kr{color:#069}.kt{color:#078}.m{color:#f60}.s{color:#d44950}.na{color:#4f9fcf}.nb{color:#366}.nc{color:#0a8}.no{color:#360}.nd{color:#99f}.ni{color:#999}.ne{color:#c00}.nf{color:#c0f}.nl{color:#99f}.nn{color:#0cf}.nt{color:#2f6f9f}.nv{color:#033}.ow{color:#000}.w{color:#bbb}.mf{color:#f60}.mh{color:#f60}.mi{color:#f60}.mo{color:#f60}.sb{color:#c30}.sc{color:#c30}.sd{font-style:italic;color:#c30}.s2{color:#c30}.se{color:#c30}.sh{color:#c30}.si{color:#a00}.sx{color:#c30}.sr{color:#3aa}.s1{color:#c30}.ss{color:#fc3}.bp{color:#366}.vc{color:#033}.vg{color:#033}.vi{color:#033}.il{color:#f60}.css .nt+.nt,.css .o,.css .o+.nt{color:#999}.language-bash::before{color:#009;content:"$ ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.language-powershell::before{color:#009;content:"PM> ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.anchorjs-link{color:inherit}@media (max-width:480px){.anchorjs-link{display:none}}:hover>.anchorjs-link{opacity:.75;-webkit-transition:color .16s linear;-o-transition:color .16s linear;transition:color .16s linear}.anchorjs-link:focus,:hover>.anchorjs-link:hover{text-decoration:none;opacity:1}/*# sourceMappingURL=docs.min.css.map */ \ No newline at end of file
diff --git a/docs/assets/css/docs.min.css.map b/docs/assets/css/docs.min.css.map
index 3ad45096a..2f4fdbb8e 100644
--- a/docs/assets/css/docs.min.css.map
+++ b/docs/assets/css/docs.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../scss/_booticon.scss","../scss/docs.scss","../scss/_nav.scss","../../../scss/_variables.scss","../scss/_masthead.scss","../../../scss/mixins/_breakpoints.scss","../scss/_featurettes.scss","../scss/_featured-sites.scss","../scss/_ads.scss","../scss/_content.scss","../scss/_page-header.scss","../scss/_skiplink.scss","../scss/_sidebar.scss","../scss/_footer.scss","../scss/_component-examples.scss","../../../scss/mixins/_clearfix.scss","../scss/_responsive-tests.scss","../scss/_buttons.scss","../scss/_callouts.scss","../scss/_examples.scss","../scss/_team.scss","../scss/_browser-bugs.scss","../scss/_brand.scss","../scss/_clipboard-js.scss","../scss/_syntax.scss","../scss/_anchor.scss"],"names":[],"mappings":"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"} \ No newline at end of file
+{"version":3,"sources":["../scss/docs.scss","../scss/_booticon.scss","../scss/_nav.scss","../scss/_masthead.scss","../../../scss/mixins/_breakpoints.scss","../scss/_featurettes.scss","../scss/_featured-sites.scss","../scss/_ads.scss","../scss/_content.scss","docs/assets/css/docs.min.css","../scss/_page-header.scss","../scss/_skiplink.scss","../scss/_sidebar.scss","../scss/_footer.scss","../scss/_component-examples.scss","../../../scss/mixins/_grid.scss","../../../scss/mixins/_clearfix.scss","../scss/_responsive-tests.scss","../scss/_buttons.scss","../scss/_callouts.scss","../scss/_examples.scss","../scss/_team.scss","../scss/_browser-bugs.scss","../scss/_brand.scss","../scss/_clipboard-js.scss","../scss/_syntax.scss","../scss/_anchor.scss"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/docs/assets/js/docs.min.js b/docs/assets/js/docs.min.js
index 855b6d9c6..a0ccb4987 100644
--- a/docs/assets/js/docs.min.js
+++ b/docs/assets/js/docs.min.js
@@ -1,10 +1,4 @@
-!function(e,t){"use strict";"function"==typeof define&&define.amd?define([],t):"object"==typeof module&&module.exports?module.exports=t():(e.AnchorJS=t(),e.anchors=new e.AnchorJS)}(this,function(){"use strict";function e(e){function t(e){e.icon=e.hasOwnProperty("icon")?e.icon:"",e.visible=e.hasOwnProperty("visible")?e.visible:"hover",e.placement=e.hasOwnProperty("placement")?e.placement:"right",e.class=e.hasOwnProperty("class")?e.class:"",e.truncate=e.hasOwnProperty("truncate")?Math.floor(e.truncate):64}function n(e){var t;if("string"==typeof e||e instanceof String)t=[].slice.call(document.querySelectorAll(e));else{if(!(Array.isArray(e)||e instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");t=[].slice.call(e)}return t}function r(){if(null===document.head.querySelector("style.anchorjs")){var e,t=document.createElement("style"),n=" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",r=" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",i=' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',o=" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }";t.className="anchorjs",t.appendChild(document.createTextNode("")),e=document.head.querySelector('[rel="stylesheet"], style'),void 0===e?document.head.appendChild(t):document.head.insertBefore(t,e),t.sheet.insertRule(n,t.sheet.cssRules.length),t.sheet.insertRule(r,t.sheet.cssRules.length),t.sheet.insertRule(o,t.sheet.cssRules.length),t.sheet.insertRule(i,t.sheet.cssRules.length)}}this.options=e||{},this.elements=[],t(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(e){var i,o,a,s,l,u,c,f,d,h,p,g,m=[];if(t(this.options),g=this.options.visible,"touch"===g&&(g=this.isTouchDevice()?"always":"hover"),e||(e="h1, h2, h3, h4, h5, h6"),i=n(e),0===i.length)return!1;for(r(),o=document.querySelectorAll("[id]"),a=[].map.call(o,function(e){return e.id}),l=0;l<i.length;l++)if(this.hasAnchorJSLink(i[l]))m.push(l);else{if(i[l].hasAttribute("id"))s=i[l].getAttribute("id");else{f=this.urlify(i[l].textContent),d=f,c=0;do void 0!==u&&(d=f+"-"+c),u=a.indexOf(d),c+=1;while(-1!==u);u=void 0,a.push(d),i[l].setAttribute("id",d),s=d}h=s.replace(/-/g," "),p=document.createElement("a"),p.className="anchorjs-link "+this.options.class,p.href="#"+s,p.setAttribute("aria-label","Anchor link for: "+h),p.setAttribute("data-anchorjs-icon",this.options.icon),"always"===g&&(p.style.opacity="1"),""===this.options.icon&&(p.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(p.style.lineHeight="inherit")),"left"===this.options.placement?(p.style.position="absolute",p.style.marginLeft="-1em",p.style.paddingRight="0.5em",i[l].insertBefore(p,i[l].firstChild)):(p.style.paddingLeft="0.375em",i[l].appendChild(p))}for(l=0;l<m.length;l++)i.splice(m[l]-l,1);return this.elements=this.elements.concat(i),this},this.remove=function(e){for(var t,r,i=n(e),o=0;o<i.length;o++)r=i[o].querySelector(".anchorjs-link"),r&&(t=this.elements.indexOf(i[o]),-1!==t&&this.elements.splice(t,1),i[o].removeChild(r));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(e){var n,r=/[& +$,:;=?@"#{}|^~[`%!'\]\.\/\(\)\*\\]/g;return this.options.truncate||t(this.options),n=e.trim().replace(/\'/gi,"").replace(r,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(e){var t=e.firstChild&&(" "+e.firstChild.className+" ").indexOf(" anchorjs-link ")>-1,n=e.lastChild&&(" "+e.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return t||n||!1}}return e}),/*!
- * clipboard.js v1.5.12
- * https://zenorocha.github.io/clipboard.js
- *
- * Licensed MIT © Zeno Rocha
- */
-!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Clipboard=e()}}(function(){var e;return function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return i(n?n:e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(e,t,n){var r=e("matches-selector");t.exports=function(e,t,n){for(var i=n?e:e.parentNode;i&&i!==document;){if(r(i,t))return i;i=i.parentNode}}},{"matches-selector":5}],2:[function(e,t,n){function r(e,t,n,r,o){var a=i.apply(this,arguments);return e.addEventListener(n,a,o),{destroy:function(){e.removeEventListener(n,a,o)}}}function i(e,t,n,r){return function(n){n.delegateTarget=o(n.target,t,!0),n.delegateTarget&&r.call(e,n)}}var o=e("closest");t.exports=r},{closest:1}],3:[function(e,t,n){n.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},n.nodeList=function(e){var t=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===t||"[object HTMLCollection]"===t)&&"length"in e&&(0===e.length||n.node(e[0]))},n.string=function(e){return"string"==typeof e||e instanceof String},n.fn=function(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t}},{}],4:[function(e,t,n){function r(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!s.string(t))throw new TypeError("Second argument must be a String");if(!s.fn(n))throw new TypeError("Third argument must be a Function");if(s.node(e))return i(e,t,n);if(s.nodeList(e))return o(e,t,n);if(s.string(e))return a(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function i(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}function o(e,t,n){return Array.prototype.forEach.call(e,function(e){e.addEventListener(t,n)}),{destroy:function(){Array.prototype.forEach.call(e,function(e){e.removeEventListener(t,n)})}}}function a(e,t,n){return l(document.body,e,t,n)}var s=e("./is"),l=e("delegate");t.exports=r},{"./is":3,delegate:2}],5:[function(e,t,n){function r(e,t){if(o)return o.call(e,t);for(var n=e.parentNode.querySelectorAll(t),r=0;r<n.length;++r)if(n[r]==e)return!0;return!1}var i=Element.prototype,o=i.matchesSelector||i.webkitMatchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector;t.exports=r},{}],6:[function(e,t,n){function r(e){var t;if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName)e.focus(),e.setSelectionRange(0,e.value.length),t=e.value;else{e.hasAttribute("contenteditable")&&e.focus();var n=window.getSelection(),r=document.createRange();r.selectNodeContents(e),n.removeAllRanges(),n.addRange(r),t=n.toString()}return t}t.exports=r},{}],7:[function(e,t,n){function r(){}r.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){function r(){i.off(e,r),t.apply(n,arguments)}var i=this;return r._=t,this.on(e,r,n)},emit:function(e){var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,i=n.length;for(r;i>r;r++)n[r].fn.apply(n[r].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),r=n[e],i=[];if(r&&t)for(var o=0,a=r.length;a>o;o++)r[o].fn!==t&&r[o].fn._!==t&&i.push(r[o]);return i.length?n[e]=i:delete n[e],this}},t.exports=r},{}],8:[function(t,n,r){!function(i,o){if("function"==typeof e&&e.amd)e(["module","select"],o);else if("undefined"!=typeof r)o(n,t("select"));else{var a={exports:{}};o(a,i.select),i.clipboardAction=a.exports}}(this,function(e,t){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=n(t),o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(){function e(t){r(this,e),this.resolveOptions(t),this.initSelection()}return e.prototype.resolveOptions=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action=e.action,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""},e.prototype.initSelection=function(){this.text?this.selectFake():this.target&&this.selectTarget()},e.prototype.selectFake=function(){var e=this,t="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px",this.fakeElem.style.top=(window.pageYOffset||document.documentElement.scrollTop)+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()},e.prototype.removeFake=function(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)},e.prototype.selectTarget=function(){this.selectedText=(0,i.default)(this.target),this.copyText()},e.prototype.copyText=function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)},e.prototype.handleResult=function(e){e?this.emitter.emit("success",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)}):this.emitter.emit("error",{action:this.action,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})},e.prototype.clearSelection=function(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()},e.prototype.destroy=function(){this.removeFake()},a(e,[{key:"action",set:function(){var e=arguments.length<=0||void 0===arguments[0]?"copy":arguments[0];if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(e){if(void 0!==e){if(!e||"object"!==("undefined"==typeof e?"undefined":o(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function(){return this._target}}]),e}();e.exports=s})},{select:6}],9:[function(t,n,r){!function(i,o){if("function"==typeof e&&e.amd)e(["module","./clipboard-action","tiny-emitter","good-listener"],o);else if("undefined"!=typeof r)o(n,t("./clipboard-action"),t("tiny-emitter"),t("good-listener"));else{var a={exports:{}};o(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(e,t,n,r){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}var u=i(t),c=i(n),f=i(r),d=function(e){function t(n,r){o(this,t);var i=a(this,e.call(this));return i.resolveOptions(r),i.listenClick(n),i}return s(t,e),t.prototype.resolveOptions=function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText},t.prototype.listenClick=function(e){var t=this;this.listener=(0,f.default)(e,"click",function(e){return t.onClick(e)})},t.prototype.onClick=function(e){var t=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new u.default({action:this.action(t),target:this.target(t),text:this.text(t),trigger:t,emitter:this})},t.prototype.defaultAction=function(e){return l("action",e)},t.prototype.defaultTarget=function(e){var t=l("target",e);return t?document.querySelector(t):void 0},t.prototype.defaultText=function(e){return l("text",e)},t.prototype.destroy=function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)},t}(c.default);e.exports=d})},{"./clipboard-action":8,"good-listener":4,"tiny-emitter":7}]},{},[9])(9)}),/*!
+!function(e,t){"use strict";"function"==typeof define&&define.amd?define([],t):"object"==typeof module&&module.exports?module.exports=t():(e.AnchorJS=t(),e.anchors=new e.AnchorJS)}(this,function(){"use strict";function e(e){function t(e){e.icon=e.hasOwnProperty("icon")?e.icon:"",e.visible=e.hasOwnProperty("visible")?e.visible:"hover",e.placement=e.hasOwnProperty("placement")?e.placement:"right",e.class=e.hasOwnProperty("class")?e.class:"",e.truncate=e.hasOwnProperty("truncate")?Math.floor(e.truncate):64}function n(e){var t;if("string"==typeof e||e instanceof String)t=[].slice.call(document.querySelectorAll(e));else{if(!(Array.isArray(e)||e instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");t=[].slice.call(e)}return t}function r(){if(null===document.head.querySelector("style.anchorjs")){var e,t=document.createElement("style");t.className="anchorjs",t.appendChild(document.createTextNode("")),e=document.head.querySelector('[rel="stylesheet"], style'),void 0===e?document.head.appendChild(t):document.head.insertBefore(t,e),t.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",t.sheet.cssRules.length),t.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",t.sheet.cssRules.length),t.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",t.sheet.cssRules.length),t.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',t.sheet.cssRules.length)}}this.options=e||{},this.elements=[],t(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(e){var i,o,a,s,l,c,u,h,d,f,A,p,g=[];if(t(this.options),p=this.options.visible,"touch"===p&&(p=this.isTouchDevice()?"always":"hover"),e||(e="h1, h2, h3, h4, h5, h6"),i=n(e),0===i.length)return!1;for(r(),o=document.querySelectorAll("[id]"),a=[].map.call(o,function(e){return e.id}),l=0;l<i.length;l++)if(this.hasAnchorJSLink(i[l]))g.push(l);else{if(i[l].hasAttribute("id"))s=i[l].getAttribute("id");else{h=this.urlify(i[l].textContent),d=h,u=0;do{void 0!==c&&(d=h+"-"+u),c=a.indexOf(d),u+=1}while(-1!==c);c=void 0,a.push(d),i[l].setAttribute("id",d),s=d}f=s.replace(/-/g," "),A=document.createElement("a"),A.className="anchorjs-link "+this.options.class,A.href="#"+s,A.setAttribute("aria-label","Anchor link for: "+f),A.setAttribute("data-anchorjs-icon",this.options.icon),"always"===p&&(A.style.opacity="1"),""===this.options.icon&&(A.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(A.style.lineHeight="inherit")),"left"===this.options.placement?(A.style.position="absolute",A.style.marginLeft="-1em",A.style.paddingRight="0.5em",i[l].insertBefore(A,i[l].firstChild)):(A.style.paddingLeft="0.375em",i[l].appendChild(A))}for(l=0;l<g.length;l++)i.splice(g[l]-l,1);return this.elements=this.elements.concat(i),this},this.remove=function(e){for(var t,r,i=n(e),o=0;o<i.length;o++)(r=i[o].querySelector(".anchorjs-link"))&&(t=this.elements.indexOf(i[o]),-1!==t&&this.elements.splice(t,1),i[o].removeChild(r));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(e){return this.options.truncate||t(this.options),e.trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'\]\.\/\(\)\*\\]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(e){var t=e.firstChild&&(" "+e.firstChild.className+" ").indexOf(" anchorjs-link ")>-1,n=e.lastChild&&(" "+e.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return t||n||!1}}return e}),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Clipboard=e()}}(function(){var e;return function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n?n:e)},u,u.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(e,t,n){function r(e,t){for(;e&&e.nodeType!==i;){if(e.matches(t))return e;e=e.parentNode}}var i=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var o=Element.prototype;o.matches=o.matchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector||o.webkitMatchesSelector}t.exports=r},{}],2:[function(e,t,n){function r(e,t,n,r,o){var a=i.apply(this,arguments);return e.addEventListener(n,a,o),{destroy:function(){e.removeEventListener(n,a,o)}}}function i(e,t,n,r){return function(n){n.delegateTarget=o(n.target,t),n.delegateTarget&&r.call(e,n)}}var o=e("./closest");t.exports=r},{"./closest":1}],3:[function(e,t,n){n.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},n.nodeList=function(e){var t=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===t||"[object HTMLCollection]"===t)&&"length"in e&&(0===e.length||n.node(e[0]))},n.string=function(e){return"string"==typeof e||e instanceof String},n.fn=function(e){return"[object Function]"===Object.prototype.toString.call(e)}},{}],4:[function(e,t,n){function r(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!s.string(t))throw new TypeError("Second argument must be a String");if(!s.fn(n))throw new TypeError("Third argument must be a Function");if(s.node(e))return i(e,t,n);if(s.nodeList(e))return o(e,t,n);if(s.string(e))return a(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function i(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}function o(e,t,n){return Array.prototype.forEach.call(e,function(e){e.addEventListener(t,n)}),{destroy:function(){Array.prototype.forEach.call(e,function(e){e.removeEventListener(t,n)})}}}function a(e,t,n){return l(document.body,e,t,n)}var s=e("./is"),l=e("delegate");t.exports=r},{"./is":3,delegate:2}],5:[function(e,t,n){function r(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var r=window.getSelection(),i=document.createRange();i.selectNodeContents(e),r.removeAllRanges(),r.addRange(i),t=r.toString()}return t}t.exports=r},{}],6:[function(e,t,n){function r(){}r.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){function r(){i.off(e,r),t.apply(n,arguments)}var i=this;return r._=t,this.on(e,r,n)},emit:function(e){var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,i=n.length;for(r;r<i;r++)n[r].fn.apply(n[r].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),r=n[e],i=[];if(r&&t)for(var o=0,a=r.length;o<a;o++)r[o].fn!==t&&r[o].fn._!==t&&i.push(r[o]);return i.length?n[e]=i:delete n[e],this}},t.exports=r},{}],7:[function(t,n,r){!function(i,o){if("function"==typeof e&&e.amd)e(["module","select"],o);else if(void 0!==r)o(n,t("select"));else{var a={exports:{}};o(a,i.select),i.clipboardAction=a.exports}}(this,function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(e){return e&&e.__esModule?e:{default:e}}(t),i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function(){function e(t){n(this,e),this.resolveOptions(t),this.initSelection()}return o(e,[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var e=this,t="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,r.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,r.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":i(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function(){return this._target}}]),e}();e.exports=a})},{select:5}],8:[function(t,n,r){!function(i,o){if("function"==typeof e&&e.amd)e(["module","./clipboard-action","tiny-emitter","good-listener"],o);else if(void 0!==r)o(n,t("./clipboard-action"),t("tiny-emitter"),t("good-listener"));else{var a={exports:{}};o(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(e,t,n,r){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}var c=i(t),u=i(n),h=i(r),d=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),f=function(e){function t(e,n){o(this,t);var r=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.resolveOptions(n),r.listenClick(e),r}return s(t,e),d(t,[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText}},{key:"listenClick",value:function(e){var t=this;this.listener=(0,h.default)(e,"click",function(e){return t.onClick(e)})}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new c.default({action:this.action(t),target:this.target(t),text:this.text(t),trigger:t,emitter:this})}},{key:"defaultAction",value:function(e){return l("action",e)}},{key:"defaultTarget",value:function(e){var t=l("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return l("text",e)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,n=!!document.queryCommandSupported;return t.forEach(function(e){n=n&&!!document.queryCommandSupported(e)}),n}}]),t}(u.default);e.exports=f})},{"./clipboard-action":7,"good-listener":4,"tiny-emitter":6}]},{},[8])(8)}),/*!
Holder - client side image placeholders
Version 2.9.4+cabil
@@ -15,16 +9,11 @@ Issues: https://github.com/imsky/holder/issues
License: MIT
*/
-!function(e){if(e.document){var t=e.document;t.querySelectorAll||(t.querySelectorAll=function(n){var r,i=t.createElement("style"),o=[];for(t.documentElement.firstChild.appendChild(i),t._qsa=[],i.styleSheet.cssText=n+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",e.scrollBy(0,0),i.parentNode.removeChild(i);t._qsa.length;)r=t._qsa.shift(),r.style.removeAttribute("x-qsa"),o.push(r);return t._qsa=null,o}),t.querySelector||(t.querySelector=function(e){var n=t.querySelectorAll(e);return n.length?n[0]:null}),t.getElementsByClassName||(t.getElementsByClassName=function(e){return e=String(e).replace(/^|\s+/g,"."),t.querySelectorAll(e)}),Object.keys||(Object.keys=function(e){if(e!==Object(e))throw TypeError("Object.keys called on non-object");var t,n=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.push(t);return n}),Array.prototype.forEach||(Array.prototype.forEach=function(e){if(void 0===this||null===this)throw TypeError();var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw TypeError();var r,i=arguments[1];for(r=0;r<n;r++)r in t&&e.call(i,t[r],r,t)}),function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.atob=e.atob||function(e){e=String(e);var n,r=0,i=[],o=0,a=0;if(e=e.replace(/\s/g,""),e.length%4===0&&(e=e.replace(/=+$/,"")),e.length%4===1)throw Error("InvalidCharacterError");if(/[^+\/0-9A-Za-z]/.test(e))throw Error("InvalidCharacterError");for(;r<e.length;)n=t.indexOf(e.charAt(r)),o=o<<6|n,a+=6,24===a&&(i.push(String.fromCharCode(o>>16&255)),i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o)),a=0,o=0),r+=1;return 12===a?(o>>=4,i.push(String.fromCharCode(255&o))):18===a&&(o>>=2,i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o))),i.join("")},e.btoa=e.btoa||function(e){e=String(e);var n,r,i,o,a,s,l,u=0,c=[];if(/[^\x00-\xFF]/.test(e))throw Error("InvalidCharacterError");for(;u<e.length;)n=e.charCodeAt(u++),r=e.charCodeAt(u++),i=e.charCodeAt(u++),o=n>>2,a=(3&n)<<4|r>>4,s=(15&r)<<2|i>>6,l=63&i,u===e.length+2?(s=64,l=64):u===e.length+1&&(l=64),c.push(t.charAt(o),t.charAt(a),t.charAt(s),t.charAt(l));return c.join("")}}(e),Object.prototype.hasOwnProperty||(Object.prototype.hasOwnProperty=function(e){var t=this.__proto__||this.constructor.prototype;return e in this&&(!(e in t)||t[e]!==this[e])}),function(){if("performance"in e==0&&(e.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in e.performance==0){var t=Date.now();performance.timing&&performance.timing.navigationStart&&(t=performance.timing.navigationStart),e.performance.now=function(){return Date.now()-t}}}(),e.requestAnimationFrame||(e.webkitRequestAnimationFrame&&e.webkitCancelAnimationFrame?!function(e){e.requestAnimationFrame=function(t){return webkitRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=e.webkitCancelAnimationFrame}(e):e.mozRequestAnimationFrame&&e.mozCancelAnimationFrame?!function(e){e.requestAnimationFrame=function(t){return mozRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=e.mozCancelAnimationFrame}(e):!function(e){e.requestAnimationFrame=function(t){return e.setTimeout(t,1e3/60)},e.cancelAnimationFrame=e.clearTimeout}(e))}}(this),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Holder=t():e.Holder=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){(function(t){function r(e,t,n,r){var a=i(n.substr(n.lastIndexOf(e.domain)),e);a&&o({mode:null,el:r,flags:a,engineSettings:t})}function i(e,t){var n={theme:S(N.settings.themes.gray,null),stylesheets:t.stylesheets,instanceOptions:t},r=e.indexOf("?"),i=[e];r!==-1&&(i=[e.slice(0,r),e.slice(r+1)]);var o=i[0].split("/");n.holderURL=e;var a=o[1],s=a.match(/([\d]+p?)x([\d]+p?)/);if(!s)return!1;if(n.fluid=a.indexOf("p")!==-1,n.dimensions={width:s[1].replace("p","%"),height:s[2].replace("p","%")},2===i.length){var l=v.parse(i[1]);if(A.truthy(l.ratio)){n.fluid=!0;var u=parseFloat(n.dimensions.width.replace("%","")),c=parseFloat(n.dimensions.height.replace("%",""));c=Math.floor(100*(c/u)),u=100,n.dimensions.width=u+"%",n.dimensions.height=c+"%"}if(n.auto=A.truthy(l.auto),l.bg&&(n.theme.bg=A.parseColor(l.bg)),l.fg&&(n.theme.fg=A.parseColor(l.fg)),l.bg&&!l.fg&&(n.autoFg=!0),l.theme&&n.instanceOptions.themes.hasOwnProperty(l.theme)&&(n.theme=S(n.instanceOptions.themes[l.theme],null)),l.text&&(n.text=l.text),l.textmode&&(n.textmode=l.textmode),l.size&&(n.size=l.size),l.font&&(n.font=l.font),l.align&&(n.align=l.align),l.lineWrap&&(n.lineWrap=l.lineWrap),n.nowrap=A.truthy(l.nowrap),n.outline=A.truthy(l.outline),A.truthy(l.random)){N.vars.cache.themeKeys=N.vars.cache.themeKeys||Object.keys(n.instanceOptions.themes);var f=N.vars.cache.themeKeys[0|Math.random()*N.vars.cache.themeKeys.length];n.theme=S(n.instanceOptions.themes[f],null)}}return n}function o(e){var t=e.mode,n=e.el,r=e.flags,i=e.engineSettings,o=r.dimensions,s=r.theme,l=o.width+"x"+o.height;t=null==t?r.fluid?"fluid":"image":t;var f=/holder_([a-z]+)/g,d=!1;if(null!=r.text&&(s.text=r.text,"object"===n.nodeName.toLowerCase())){for(var h=s.text.split("\\n"),p=0;p<h.length;p++)h[p]=A.encodeHtmlEntity(h[p]);s.text=h.join("\\n")}if(s.text){var g=s.text.match(f);null!==g&&g.forEach(function(e){"holder_dimensions"===e&&(s.text=s.text.replace(e,l))})}var m=r.holderURL,v=S(i,null);if(r.font&&(s.font=r.font,!v.noFontFallback&&"img"===n.nodeName.toLowerCase()&&N.setup.supportsCanvas&&"svg"===v.renderer&&(v=S(v,{renderer:"canvas"}))),r.font&&"canvas"==v.renderer&&(v.reRender=!0),"background"==t)null==n.getAttribute("data-background-src")&&x.setAttr(n,{"data-background-src":m});else{var y={};y[N.vars.dataAttr]=m,x.setAttr(n,y)}r.theme=s,n.holderData={flags:r,engineSettings:v},"image"!=t&&"fluid"!=t||x.setAttr(n,{alt:s.text?d?s.text:s.text+" ["+l+"]":l});var b={mode:t,el:n,holderSettings:{dimensions:o,theme:s,flags:r},engineSettings:v};"image"==t?(r.auto||(n.style.width=o.width+"px",n.style.height=o.height+"px"),"html"==v.renderer?n.style.backgroundColor=s.bg:(a(b),"exact"==r.textmode&&(n.holderData.resizeUpdate=!0,N.vars.resizableImages.push(n),u(n)))):"background"==t&&"html"!=v.renderer?a(b):"fluid"==t&&(n.holderData.resizeUpdate=!0,"%"==o.height.slice(-1)?n.style.height=o.height:null!=r.auto&&r.auto||(n.style.height=o.height+"px"),"%"==o.width.slice(-1)?n.style.width=o.width:null!=r.auto&&r.auto||(n.style.width=o.width+"px"),"inline"!=n.style.display&&""!==n.style.display&&"none"!=n.style.display||(n.style.display="block"),c(n),"html"==v.renderer?n.style.backgroundColor=s.bg:(N.vars.resizableImages.push(n),u(n)))}function a(e){function n(){var t=null;switch(l.renderer){case"canvas":t=E(c,e);break;case"svg":t=T(c,e);break;default:throw"Holder: invalid renderer: "+l.renderer}return t}var r=null,i=e.mode,o=e.el,a=e.holderSettings,l=e.engineSettings;switch(l.renderer){case"svg":if(!N.setup.supportsSVG)return;break;case"canvas":if(!N.setup.supportsCanvas)return;break;default:return}var u={width:a.dimensions.width,height:a.dimensions.height,theme:a.theme,flags:a.flags},c=s(u);if(r=n(),null==r)throw"Holder: couldn't render placeholder";"background"==i?(o.style.backgroundImage="url("+r+")",l.noBackgroundSize||(o.style.backgroundSize=u.width+"px "+u.height+"px")):("img"===o.nodeName.toLowerCase()?x.setAttr(o,{src:r}):"object"===o.nodeName.toLowerCase()&&x.setAttr(o,{data:r,type:"image/svg+xml"}),l.reRender&&t.setTimeout(function(){var e=n();if(null==e)throw"Holder: couldn't render placeholder";"img"===o.nodeName.toLowerCase()?x.setAttr(o,{src:e}):"object"===o.nodeName.toLowerCase()&&x.setAttr(o,{data:e,type:"image/svg+xml"})},150)),x.setAttr(o,{"data-holder-rendered":!0})}function s(e){function t(e,t,n,r){t.width=n,t.height=r,e.width=Math.max(e.width,t.width),e.height+=t.height}var n=N.defaults.size;switch(parseFloat(e.theme.size)?n=e.theme.size:parseFloat(e.flags.size)&&(n=e.flags.size),e.font={family:e.theme.font?e.theme.font:"Arial, Helvetica, Open Sans, sans-serif",size:l(e.width,e.height,n,N.defaults.scale),units:e.theme.units?e.theme.units:N.defaults.units,weight:e.theme.fontweight?e.theme.fontweight:"bold"},e.text=e.theme.text||Math.floor(e.width)+"x"+Math.floor(e.height),e.noWrap=e.theme.nowrap||e.flags.nowrap,e.align=e.theme.align||e.flags.align||"center",e.flags.textmode){case"literal":e.text=e.flags.dimensions.width+"x"+e.flags.dimensions.height;break;case"exact":if(!e.flags.exactDimensions)break;e.text=Math.floor(e.flags.exactDimensions.width)+"x"+Math.floor(e.flags.exactDimensions.height)}var r=e.flags.lineWrap||N.setup.lineWrapRatio,i=e.width*r,o=i,a=new y({width:e.width,height:e.height}),s=a.Shape,u=new s.Rect("holderBg",{fill:e.theme.bg});if(u.resize(e.width,e.height),a.root.add(u),e.flags.outline){var c=new w(u.properties.fill);c=c.lighten(c.lighterThan("7f7f7f")?-.1:.1),u.properties.outline={fill:c.toHex(!0),width:2}}var f=e.theme.fg;if(e.flags.autoFg){var d=new w(u.properties.fill),h=new w("fff"),p=new w("000",{alpha:.285714});f=d.blendAlpha(d.lighterThan("7f7f7f")?p:h).toHex(!0)}var g=new s.Group("holderTextGroup",{text:e.text,align:e.align,font:e.font,fill:f});g.moveTo(null,null,1),a.root.add(g);var m=g.textPositionData=D(a);if(!m)throw"Holder: staging fallback not supported yet.";g.properties.leading=m.boundingBox.height;var v=null,A=null;if(m.lineCount>1){var b,x=0,C=0,T=0;A=new s.Group("line"+T),"left"!==e.align&&"right"!==e.align||(o=e.width*(1-2*(1-r)));for(var E=0;E<m.words.length;E++){var S=m.words[E];v=new s.Text(S.text);var k="\\n"==S.text;!e.noWrap&&(x+S.width>=o||k===!0)&&(t(g,A,x,g.properties.leading),g.add(A),x=0,C+=g.properties.leading,T+=1,A=new s.Group("line"+T),A.y=C),k!==!0&&(v.moveTo(x,0),x+=m.spaceWidth+S.width,A.add(v))}if(t(g,A,x,g.properties.leading),g.add(A),"left"===e.align)g.moveTo(e.width-i,null,null);else if("right"===e.align){for(b in g.children)A=g.children[b],A.moveTo(e.width-A.width,null,null);g.moveTo(0-(e.width-i),null,null)}else{for(b in g.children)A=g.children[b],A.moveTo((g.width-A.width)/2,null,null);g.moveTo((e.width-g.width)/2,null,null)}g.moveTo(null,(e.height-g.height)/2,null),(e.height-g.height)/2<0&&g.moveTo(null,0,null)}else v=new s.Text(e.text),A=new s.Group("line0"),A.add(v),g.add(A),"left"===e.align?g.moveTo(e.width-i,null,null):"right"===e.align?g.moveTo(0-(e.width-i),null,null):g.moveTo((e.width-m.boundingBox.width)/2,null,null),g.moveTo(null,(e.height-m.boundingBox.height)/2,null);return a}function l(e,t,n,r){var i=parseInt(e,10),o=parseInt(t,10),a=Math.max(i,o),s=Math.min(i,o),l=.8*Math.min(s,a*r);return Math.round(Math.max(n,l))}function u(e){var t;t=null==e||null==e.nodeType?N.vars.resizableImages:[e];for(var n=0,r=t.length;n<r;n++){var i=t[n];if(i.holderData){var o=i.holderData.flags,s=k(i);if(s){if(!i.holderData.resizeUpdate)continue;if(o.fluid&&o.auto){var l=i.holderData.fluidConfig;switch(l.mode){case"width":s.height=s.width/l.ratio;break;case"height":s.width=s.height*l.ratio}}var u={mode:"image",holderSettings:{dimensions:s,theme:o.theme,flags:o},el:i,engineSettings:i.holderData.engineSettings};"exact"==o.textmode&&(o.exactDimensions=s,u.holderSettings.dimensions=o.dimensions),a(u)}else h(i)}}}function c(e){if(e.holderData){var t=k(e);if(t){var n=e.holderData.flags,r={fluidHeight:"%"==n.dimensions.height.slice(-1),fluidWidth:"%"==n.dimensions.width.slice(-1),mode:null,initialDimensions:t};r.fluidWidth&&!r.fluidHeight?(r.mode="width",r.ratio=r.initialDimensions.width/parseFloat(n.dimensions.height)):!r.fluidWidth&&r.fluidHeight&&(r.mode="height",r.ratio=parseFloat(n.dimensions.width)/r.initialDimensions.height),e.holderData.fluidConfig=r}else h(e)}}function f(){var e,n=[],r=Object.keys(N.vars.invisibleImages);r.forEach(function(t){e=N.vars.invisibleImages[t],k(e)&&"img"==e.nodeName.toLowerCase()&&(n.push(e),delete N.vars.invisibleImages[t])}),n.length&&j.run({images:n}),setTimeout(function(){t.requestAnimationFrame(f)},10)}function d(){N.vars.visibilityCheckStarted||(t.requestAnimationFrame(f),N.vars.visibilityCheckStarted=!0)}function h(e){e.holderData.invisibleId||(N.vars.invisibleId+=1,N.vars.invisibleImages["i"+N.vars.invisibleId]=e,e.holderData.invisibleId=N.vars.invisibleId)}function p(e){N.vars.debounceTimer||e.call(this),N.vars.debounceTimer&&t.clearTimeout(N.vars.debounceTimer),N.vars.debounceTimer=t.setTimeout(function(){N.vars.debounceTimer=null,e.call(this)},N.setup.debounce)}function g(){p(function(){u(null)})}var m=n(2),v=n(3),y=n(6),A=n(7),b=n(8),x=n(9),w=n(10),C=n(11),T=n(12),E=n(15),S=A.extend,k=A.dimensionCheck,O=C.svg_ns,j={version:C.version,addTheme:function(e,t){return null!=e&&null!=t&&(N.settings.themes[e]=t),delete N.vars.cache.themeKeys,this},addImage:function(e,t){var n=x.getNodeArray(t);return n.forEach(function(t){var n=x.newEl("img"),r={};r[N.setup.dataAttr]=e,x.setAttr(n,r),t.appendChild(n)}),this},setResizeUpdate:function(e,t){e.holderData&&(e.holderData.resizeUpdate=!!t,e.holderData.resizeUpdate&&u(e))},run:function(e){e=e||{};var n={},a=S(N.settings,e);N.vars.preempted=!0,N.vars.dataAttr=a.dataAttr||N.setup.dataAttr,n.renderer=a.renderer?a.renderer:N.setup.renderer,N.setup.renderers.join(",").indexOf(n.renderer)===-1&&(n.renderer=N.setup.supportsSVG?"svg":N.setup.supportsCanvas?"canvas":"html");var s=x.getNodeArray(a.images),l=x.getNodeArray(a.bgnodes),u=x.getNodeArray(a.stylenodes),c=x.getNodeArray(a.objects);return n.stylesheets=[],n.svgXMLStylesheet=!0,n.noFontFallback=!!a.noFontFallback,n.noBackgroundSize=!!a.noBackgroundSize,u.forEach(function(e){if(e.attributes.rel&&e.attributes.href&&"stylesheet"==e.attributes.rel.value){var t=e.attributes.href.value,r=x.newEl("a");r.href=t;var i=r.protocol+"//"+r.host+r.pathname+r.search;n.stylesheets.push(i)}}),l.forEach(function(e){if(t.getComputedStyle){var r=t.getComputedStyle(e,null).getPropertyValue("background-image"),s=e.getAttribute("data-background-src"),l=s||r,u=null,c=a.domain+"/",f=l.indexOf(c);if(0===f)u=l;else if(1===f&&"?"===l[0])u=l.slice(1);else{var d=l.substr(f).match(/([^\"]*)"?\)/);if(null!==d)u=d[1];else if(0===l.indexOf("url("))throw"Holder: unable to parse background URL: "+l}if(u){var h=i(u,a);h&&o({mode:"background",el:e,flags:h,engineSettings:n})}}}),c.forEach(function(e){var t={};try{t.data=e.getAttribute("data"),t.dataSrc=e.getAttribute(N.vars.dataAttr)}catch(e){}var i=null!=t.data&&0===t.data.indexOf(a.domain),o=null!=t.dataSrc&&0===t.dataSrc.indexOf(a.domain);i?r(a,n,t.data,e):o&&r(a,n,t.dataSrc,e)}),s.forEach(function(e){var t={};try{t.src=e.getAttribute("src"),t.dataSrc=e.getAttribute(N.vars.dataAttr),t.rendered=e.getAttribute("data-holder-rendered")}catch(e){}var i=null!=t.src,o=null!=t.dataSrc&&0===t.dataSrc.indexOf(a.domain),s=null!=t.rendered&&"true"==t.rendered;i?0===t.src.indexOf(a.domain)?r(a,n,t.src,e):o&&(s?r(a,n,t.dataSrc,e):!function(e,t,n,i,o){A.imageExists(e,function(e){e||r(t,n,i,o)})}(t.src,a,n,t.dataSrc,e)):o&&r(a,n,t.dataSrc,e)}),this}},N={settings:{domain:"holder.js",images:"img",objects:"object",bgnodes:"body .holderjs",stylenodes:"head link.holderjs",themes:{gray:{bg:"#EEEEEE",fg:"#AAAAAA"},social:{bg:"#3a5a97",fg:"#FFFFFF"},industrial:{bg:"#434A52",fg:"#C2F200"},sky:{bg:"#0D8FDB",fg:"#FFFFFF"},vine:{bg:"#39DBAC",fg:"#1E292C"},lava:{bg:"#F8591A",fg:"#1C2846"}}},defaults:{size:10,units:"pt",scale:1/16}},D=function(){var e=null,t=null,n=null;return function(r){var i=r.root;if(N.setup.supportsSVG){var o=!1,a=function(e){return document.createTextNode(e)};null!=e&&e.parentNode===document.body||(o=!0),e=b.initSVG(e,i.properties.width,i.properties.height),e.style.display="block",o&&(t=x.newEl("text",O),n=a(null),x.setAttr(t,{x:0}),t.appendChild(n),e.appendChild(t),document.body.appendChild(e),e.style.visibility="hidden",e.style.position="absolute",e.style.top="-100%",e.style.left="-100%");var s=i.children.holderTextGroup,l=s.properties;x.setAttr(t,{y:l.font.size,style:A.cssProps({"font-weight":l.font.weight,"font-size":l.font.size+l.font.units,"font-family":l.font.family})}),n.nodeValue=l.text;var u=t.getBBox(),c=Math.ceil(u.width/i.properties.width),f=l.text.split(" "),d=l.text.match(/\\n/g);c+=null==d?0:d.length,n.nodeValue=l.text.replace(/[ ]+/g,"");var h=t.getComputedTextLength(),p=u.width-h,g=Math.round(p/Math.max(1,f.length-1)),m=[];if(c>1){n.nodeValue="";for(var v=0;v<f.length;v++)if(0!==f[v].length){n.nodeValue=A.decodeHtmlEntity(f[v]);var y=t.getBBox();m.push({text:f[v],width:y.width})}}return e.style.display="none",{spaceWidth:g,lineCount:c,boundingBox:u,words:m}}return!1}}();for(var L in N.flags)N.flags.hasOwnProperty(L)&&(N.flags[L].match=function(e){return e.match(this.regex)});N.setup={renderer:"html",debounce:100,ratio:1,supportsCanvas:!1,supportsSVG:!1,lineWrapRatio:.9,dataAttr:"data-src",renderers:["html","canvas","svg"]},N.vars={preempted:!1,resizableImages:[],invisibleImages:{},invisibleId:0,visibilityCheckStarted:!1,debounceTimer:null,cache:{}},function(){var e=x.newEl("canvas");e.getContext&&e.toDataURL("image/png").indexOf("data:image/png")!=-1&&(N.setup.renderer="canvas",N.setup.supportsCanvas=!0),document.createElementNS&&document.createElementNS(O,"svg").createSVGRect&&(N.setup.renderer="svg",N.setup.supportsSVG=!0)}(),d(),m&&m(function(){N.vars.preempted||j.run(),t.addEventListener?(t.addEventListener("resize",g,!1),t.addEventListener("orientationchange",g,!1)):t.attachEvent("onresize",g),"object"==typeof t.Turbolinks&&t.document.addEventListener("page:change",function(){j.run()})}),e.exports=j}).call(t,function(){return this}())},function(e,t){function n(e){function t(e){if(!x){if(!a.body)return i(t);for(x=!0;e=w.shift();)i(e)}}function n(e){(A||e.type===l||a[d]===f)&&(r(),t())}function r(){A?(a[y](m,n,u),e[y](l,n,u)):(a[p](v,n),e[p](c,n))}function i(e,t){setTimeout(e,+t>=0?t:1)}function o(e){x?i(e):w.push(e)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function e(){document.removeEventListener("DOMContentLoaded",e,!1),document.readyState="complete"},!1),document.readyState="loading");var a=e.document,s=a.documentElement,l="load",u=!1,c="on"+l,f="complete",d="readyState",h="attachEvent",p="detachEvent",g="addEventListener",m="DOMContentLoaded",v="onreadystatechange",y="removeEventListener",A=g in a,b=u,x=u,w=[];if(a[d]===f)i(t);else if(A)a[g](m,n,u),e[g](l,n,u);else{a[h](v,n),e[h](c,n);try{b=null==e.frameElement&&s}catch(e){}b&&b.doScroll&&!function e(){if(!x){try{b.doScroll("left")}catch(t){return i(e,50)}r(),t()}}()}return o.version="1.4.0",o.isReady=function(){return x},o}e.exports="undefined"!=typeof window&&n(window)},function(e,t,n){var r=encodeURIComponent,i=decodeURIComponent,o=n(4),a=n(5),s=/(\w+)\[(\d+)\]/,l=/\w+\.\w+/;t.parse=function(e){if("string"!=typeof e)return{};if(e=o(e),""===e)return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var t={},n=e.split("&"),r=0;r<n.length;r++){var a,u,c,f=n[r].split("="),d=i(f[0]);if(a=s.exec(d))t[a[1]]=t[a[1]]||[],t[a[1]][a[2]]=i(f[1]);else if(a=l.test(d)){for(a=d.split("."),u=t;a.length;)if(c=a.shift(),c.length){if(u[c]){if(u[c]&&"object"!=typeof u[c])break}else u[c]={};a.length||(u[c]=i(f[1])),u=u[c]}}else t[f[0]]=null==f[1]?"":i(f[1])}return t},t.stringify=function(e){if(!e)return"";var t=[];for(var n in e){var i=e[n];if("array"!=a(i))t.push(r(n)+"="+r(e[n]));else for(var o=0;o<i.length;++o)t.push(r(n+"["+o+"]")+"="+r(i[o]))}return t.join("&")}},function(e,t){function n(e){return e.replace(/^\s*|\s*$/g,"")}t=e.exports=n,t.left=function(e){return e.replace(/^\s*/,"")},t.right=function(e){return e.replace(/\s*$/,"")}},function(e,t){function n(e){return!(null==e||!(e._isBuffer||e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)))}var r=Object.prototype.toString;e.exports=function(e){switch(r.call(e)){case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object Error]":return"error"}return null===e?"null":void 0===e?"undefined":e!==e?"nan":e&&1===e.nodeType?"element":n(e)?"buffer":(e=e.valueOf?e.valueOf():Object.prototype.valueOf.apply(e),typeof e)}},function(e,t){var n=function(e){function t(e,t){for(var n in t)e[n]=t[n];return e}var n=1,r=function(e){n++,this.parent=null,this.children={},this.id=n,this.name="n"+n,"undefined"!=typeof e&&(this.name=e),this.x=this.y=this.z=0,this.width=this.height=0};r.prototype.resize=function(e,t){null!=e&&(this.width=e),null!=t&&(this.height=t)},r.prototype.moveTo=function(e,t,n){this.x=null!=e?e:this.x,this.y=null!=t?t:this.y,this.z=null!=n?n:this.z},r.prototype.add=function(e){var t=e.name;if("undefined"!=typeof this.children[t])throw"SceneGraph: child already exists: "+t;this.children[t]=e,e.parent=this};var i=function(){r.call(this,"root"),this.properties=e};i.prototype=new r;var o=function(e,n){if(r.call(this,e),this.properties={fill:"#000000"},"undefined"!=typeof n)t(this.properties,n);else if("undefined"!=typeof e&&"string"!=typeof e)throw"SceneGraph: invalid node name"};o.prototype=new r;var a=function(){o.apply(this,arguments),this.type="group"};a.prototype=new o;var s=function(){o.apply(this,arguments),this.type="rect"};s.prototype=new o;var l=function(e){o.call(this),this.type="text",this.properties.text=e};l.prototype=new o;var u=new i;return this.Shape={Rect:s,Text:l,Group:a},this.root=u,this};e.exports=n},function(e,t){(function(e){t.extend=function(e,t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);if(null!=t)for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);return n},t.cssProps=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+":"+e[n]);return t.join(";")},t.encodeHtmlEntity=function(e){for(var t=[],n=0,r=e.length-1;r>=0;r--)n=e.charCodeAt(r),n>128?t.unshift(["&#",n,";"].join("")):t.unshift(e[r]);return t.join("")},t.imageExists=function(e,t){var n=new Image;n.onerror=function(){t.call(this,!1)},n.onload=function(){t.call(this,!0)},n.src=e},t.decodeHtmlEntity=function(e){return e.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(t)})},t.dimensionCheck=function(e){var t={height:e.clientHeight,width:e.clientWidth};return!(!t.height||!t.width)&&t},t.truthy=function(e){return"string"==typeof e?"true"===e||"yes"===e||"1"===e||"on"===e||"✓"===e:!!e},t.parseColor=function(e){var t,n=/(^(?:#?)[0-9a-f]{6}$)|(^(?:#?)[0-9a-f]{3}$)/i,r=/^rgb\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/,i=/^rgba\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0\.\d{1,}|1)\)$/,o=e.match(n);return null!==o?(t=o[1]||o[2],"#"!==t[0]?"#"+t:t):(o=e.match(r),null!==o?t="rgb("+o.slice(1).join(",")+")":(o=e.match(i),null!==o?t="rgba("+o.slice(1).join(",")+")":null))},t.canvasRatio=function(){var t=1,n=1;if(e.document){var r=e.document.createElement("canvas");if(r.getContext){var i=r.getContext("2d");t=e.devicePixelRatio||1,n=i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1}}return t/n}}).call(t,function(){return this}())},function(e,t,n){(function(e){var r=n(9),i="http://www.w3.org/2000/svg",o=8;t.initSVG=function(e,t,n){var a,s,l=!1;e&&e.querySelector?(s=e.querySelector("style"),null===s&&(l=!0)):(e=r.newEl("svg",i),l=!0),l&&(a=r.newEl("defs",i),s=r.newEl("style",i),r.setAttr(s,{type:"text/css"}),a.appendChild(s),e.appendChild(a)),e.webkitMatchesSelector&&e.setAttribute("xmlns",i);for(var u=0;u<e.childNodes.length;u++)e.childNodes[u].nodeType===o&&e.removeChild(e.childNodes[u]);for(;s.childNodes.length;)s.removeChild(s.childNodes[0]);return r.setAttr(e,{width:t,height:n,viewBox:"0 0 "+t+" "+n,preserveAspectRatio:"none"}),e},t.svgStringToDataURI=function(){var t="data:image/svg+xml;charset=UTF-8,",n="data:image/svg+xml;charset=UTF-8;base64,";return function(r,i){return i?n+btoa(e.unescape(encodeURIComponent(r))):t+encodeURIComponent(r)}}(),t.serializeSVG=function(t,n){if(e.XMLSerializer){var i=new XMLSerializer,o="",a=n.stylesheets;if(n.svgXMLStylesheet){for(var s=r.createXML(),l=a.length-1;l>=0;l--){var u=s.createProcessingInstruction("xml-stylesheet",'href="'+a[l]+'" rel="stylesheet"');s.insertBefore(u,s.firstChild)}s.removeChild(s.documentElement),o=i.serializeToString(s)}var c=i.serializeToString(t);return c=c.replace(/\&amp;(\#[0-9]{2,}\;)/g,"&$1"),o+c}}}).call(t,function(){return this}())},function(e,t){(function(e){t.newEl=function(t,n){if(e.document)return null==n?e.document.createElement(t):e.document.createElementNS(n,t)},t.setAttr=function(e,t){for(var n in t)e.setAttribute(n,t[n])},t.createXML=function(){if(e.DOMParser)return(new DOMParser).parseFromString("<xml />","application/xml")},t.getNodeArray=function(t){var n=null;return"string"==typeof t?n=document.querySelectorAll(t):e.NodeList&&t instanceof e.NodeList?n=t:e.Node&&t instanceof e.Node?n=[t]:e.HTMLCollection&&t instanceof e.HTMLCollection?n=t:t instanceof Array?n=t:null===t&&(n=[]),n=Array.prototype.slice.call(n)}}).call(t,function(){return this}())},function(e,t){var n=function(e,t){"string"==typeof e&&(this.original=e,"#"===e.charAt(0)&&(e=e.slice(1)),/[^a-f0-9]+/i.test(e)||(3===e.length&&(e=e.replace(/./g,"$&$&")),6===e.length&&(this.alpha=1,t&&t.alpha&&(this.alpha=t.alpha),this.set(parseInt(e,16)))))};n.rgb2hex=function(e,t,n){function r(e){var t=(0|e).toString(16);return e<16&&(t="0"+t),t}return[e,t,n].map(r).join("")},n.hsl2rgb=function(e,t,n){var r=e/60,i=(1-Math.abs(2*n-1))*t,o=i*(1-Math.abs(parseInt(r)%2-1)),a=n-i/2,s=0,l=0,u=0;return r>=0&&r<1?(s=i,l=o):r>=1&&r<2?(s=o,l=i):r>=2&&r<3?(l=i,u=o):r>=3&&r<4?(l=o,u=i):r>=4&&r<5?(s=o,u=i):r>=5&&r<6&&(s=i,u=o),s+=a,l+=a,u+=a,s=parseInt(255*s),l=parseInt(255*l),u=parseInt(255*u),[s,l,u]},n.prototype.set=function(e){this.raw=e;var t=(16711680&this.raw)>>16,n=(65280&this.raw)>>8,r=255&this.raw,i=.2126*t+.7152*n+.0722*r,o=-.09991*t-.33609*n+.436*r,a=.615*t-.55861*n-.05639*r;return this.rgb={r:t,g:n,b:r},this.yuv={y:i,u:o,v:a},this},n.prototype.lighten=function(e){var t=Math.min(1,Math.max(0,Math.abs(e)))*(e<0?-1:1),r=255*t|0,i=Math.min(255,Math.max(0,this.rgb.r+r)),o=Math.min(255,Math.max(0,this.rgb.g+r)),a=Math.min(255,Math.max(0,this.rgb.b+r)),s=n.rgb2hex(i,o,a);return new n(s)},n.prototype.toHex=function(e){return(e?"#":"")+this.raw.toString(16)},n.prototype.lighterThan=function(e){return e instanceof n||(e=new n(e)),this.yuv.y>e.yuv.y},n.prototype.blendAlpha=function(e){e instanceof n||(e=new n(e));var t=e,r=this,i=t.alpha*t.rgb.r+(1-t.alpha)*r.rgb.r,o=t.alpha*t.rgb.g+(1-t.alpha)*r.rgb.g,a=t.alpha*t.rgb.b+(1-t.alpha)*r.rgb.b;return new n(n.rgb2hex(i,o,a))},e.exports=n},function(e,t){e.exports={version:"2.9.4",svg_ns:"http://www.w3.org/2000/svg"}},function(e,t,n){function r(e,t){return f.element({tag:t,width:e.width,height:e.height,fill:e.properties.fill})}function i(e){return u.cssProps({fill:e.fill,"font-weight":e.font.weight,"font-family":e.font.family+", monospace","font-size":e.font.size+e.font.units})}function o(e,t,n){var r=n/2;return["M",r,r,"H",e-r,"V",t-r,"H",r,"V",0,"M",0,r,"L",e,t-r,"M",0,t-r,"L",e,r].join(" ")}var a=n(13),s=n(8),l=n(11),u=n(7),c=l.svg_ns,f={element:function(e){var t=e.tag,n=e.content||"";return delete e.tag,delete e.content,[t,n,e]}};e.exports=function(e,t){var n=t.engineSettings,l=n.stylesheets,u=l.map(function(e){return'<?xml-stylesheet rel="stylesheet" href="'+e+'"?>'}).join("\n"),d="holder_"+Number(new Date).toString(16),h=e.root,p=h.children.holderTextGroup,g="#"+d+" text { "+i(p.properties)+" } ";p.y+=.8*p.textPositionData.boundingBox.height;var m=[];Object.keys(p.children).forEach(function(e){var t=p.children[e];Object.keys(t.children).forEach(function(e){var n=t.children[e],r=p.x+t.x+n.x,i=p.y+t.y+n.y,o=f.element({tag:"text",content:n.properties.text,x:r,y:i});m.push(o)})});var v=f.element({tag:"g",content:m}),y=null;if(h.children.holderBg.properties.outline){var A=h.children.holderBg.properties.outline;y=f.element({tag:"path",d:o(h.children.holderBg.width,h.children.holderBg.height,A.width),"stroke-width":A.width,stroke:A.fill,fill:"none"})}var b=r(h.children.holderBg,"rect"),x=[];x.push(b),A&&x.push(y),x.push(v);var w=f.element({tag:"g",id:d,content:x}),C=f.element({tag:"style",content:g,type:"text/css"}),T=f.element({tag:"defs",content:C}),E=f.element({tag:"svg",content:[T,w],width:h.properties.width,height:h.properties.height,xmlns:c,viewBox:[0,0,h.properties.width,h.properties.height].join(" "),preserveAspectRatio:"none"}),S=a(E);S=u+S[0];var k=s.svgStringToDataURI(S,"background"===t.mode);return k}},function(e,t,n){n(14),e.exports=function e(t,n,r){"use strict";function i(e){var t=e.match(/^[\w-]+/),n={tag:t?t[0]:"div",attr:{},children:[]},i=e.match(/#([\w-]+)/),o=e.match(/\$([\w-]+)/),a=e.match(/\.[\w-]+/g);return i&&(n.attr.id=i[1],r[i[1]]=n),o&&(r[o[1]]=n),a&&(n.attr.class=a.join(" ").replace(/\./g,"")),e.match(/&$/g)&&(h=!1),n}function o(e,t){if(null!==t&&t!==!1&&void 0!==t)return"string"!=typeof t&&"object"!=typeof t?String(t):t}function a(e){return e||0===e?String(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;"):""}function s(e){return String(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var l,u,c,f,d=1,h=!0;if(r=r||{},"string"==typeof t[0])t[0]=i(t[0]);else{if(!Array.isArray(t[0]))throw new Error("First element of array must be a string, or an array and not "+JSON.stringify(t[0]));d=0}for(;d<t.length;d++){if(t[d]===!1||null===t[d]){t[0]=!1;break}if(void 0!==t[d]&&t[d]!==!0)if("string"==typeof t[d])h&&(t[d]=s(t[d])),t[0].children.push(t[d]);else if("number"==typeof t[d])t[0].children.push(t[d]);else if(Array.isArray(t[d])){if(Array.isArray(t[d][0])){if(t[d].reverse().forEach(function(e){t.splice(d+1,0,e)}),0!==d)continue;d++}e(t[d],n,r),t[d][0]&&t[0].children.push(t[d][0])}else if("function"==typeof t[d])c=t[d];else{if("object"!=typeof t[d])throw new TypeError('"'+t[d]+'" is not allowed as a value.');for(u in t[d])t[d].hasOwnProperty(u)&&null!==t[d][u]&&t[d][u]!==!1&&("style"===u&&"object"==typeof t[d][u]?t[0].attr[u]=JSON.stringify(t[d][u],o).slice(2,-2).replace(/","/g,";").replace(/":"/g,":").replace(/\\"/g,"'"):t[0].attr[u]=t[d][u])}}if(t[0]!==!1){l="<"+t[0].tag;for(f in t[0].attr)t[0].attr.hasOwnProperty(f)&&(l+=" "+f+'="'+a(t[0].attr[f])+'"');l+=">",t[0].children.forEach(function(e){l+=e}),l+="</"+t[0].tag+">",t[0]=l}return r[0]=t[0],c&&c(t[0]),r}},function(e,t){"use strict";function n(e){var t=""+e,n=r.exec(t);if(!n)return t;var i,o="",a=0,s=0;for(a=n.index;a<t.length;a++){switch(t.charCodeAt(a)){case 34:i="&quot;";break;case 38:i="&amp;";break;case 39:i="&#39;";break;case 60:i="&lt;";break;case 62:i="&gt;";break;default:continue}s!==a&&(o+=t.substring(s,a)),s=a+1,o+=i}return s!==a?o+t.substring(s,a):o}var r=/["'&<>]/;e.exports=n},function(e,t,n){var r=n(9),i=n(7);e.exports=function(){var e=r.newEl("canvas"),t=null;return function(n){null==t&&(t=e.getContext("2d"));var r=i.canvasRatio(),o=n.root;e.width=r*o.properties.width,e.height=r*o.properties.height,t.textBaseline="middle";var a=o.children.holderBg,s=r*a.width,l=r*a.height,u=2,c=u/2;t.fillStyle=a.properties.fill,t.fillRect(0,0,s,l),a.properties.outline&&(t.strokeStyle=a.properties.outline.fill,t.lineWidth=a.properties.outline.width,t.moveTo(c,c),t.lineTo(s-c,c),t.lineTo(s-c,l-c),t.lineTo(c,l-c),t.lineTo(c,c),t.moveTo(0,c),t.lineTo(s,l-c),t.moveTo(0,l-c),t.lineTo(s,c),t.stroke());var f=o.children.holderTextGroup;t.font=f.properties.font.weight+" "+r*f.properties.font.size+f.properties.font.units+" "+f.properties.font.family+", monospace",t.fillStyle=f.properties.fill;for(var d in f.children){var h=f.children[d];for(var p in h.children){var g=h.children[p],m=r*(f.x+h.x+g.x),v=r*(f.y+h.y+g.y+f.properties.leading/2);t.fillText(g.properties.text,m,v)}}return e.toDataURL("image/png")}}()}])}),function(e,t){t&&(Holder=e.Holder);
-}(this,"undefined"!=typeof Meteor&&"undefined"!=typeof Package),!function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);throw new Error("Cannot find module '"+a+"'")}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return i(n?n:e)},u,u.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(e,t,n){"use strict";function r(e,t){var n=t.length,r=e.length;if(r>n)return!1;if(r===n)return e===t;e:for(var i=0,o=0;i<r;i++){for(var a=e.charCodeAt(i);o<n;)if(t.charCodeAt(o++)===a)continue e;return!1}return!0}t.exports=r},{}],2:[function(e,t,n){"use strict";function r(e,t){var n=o();n.open("GET",e,!0),n.onreadystatechange=i(n,t),n.send()}function i(e,t){return function(){if(4===e.readyState&&200===e.status)try{t(null,JSON.parse(e.responseText))}catch(e){t(e,null)}}}function o(){return window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")}t.exports={load:r}},{}],3:[function(e,t,n){"use strict";t.exports=function e(t){function n(e){return!!e&&void 0!==e.required&&e.required instanceof Array}if(!n(t))throw new Error("-- OptionsValidator: required options missing");if(!(this instanceof e))return new e(t);var r=t.required;this.getRequiredOptions=function(){return r},this.validate=function(e){var t=[];return r.forEach(function(n){void 0===e[n]&&t.push(n)}),t}}},{}],4:[function(e,t,n){"use strict";function r(e){return a(e)?l(e):s(e)?u(e):void 0}function i(){return v.length=0,v}function o(){return v}function a(e){return!!e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){return!!e&&"[object Array]"===Object.prototype.toString.call(e)}function l(e){return v.push(e),v}function u(e){for(var t=[],n=0;n<e.length;n++)a(e[n])&&t.push(l(e[n]));return t}function c(e){return e?d(v,e,y.searchStrategy,y):[]}function f(e){y=e||{},y.fuzzy=e.fuzzy||!1,y.limit=e.limit||10,y.searchStrategy=e.fuzzy?g:m}function d(e,t,n,r){for(var i=[],o=0;o<e.length&&i.length<r.limit;o++){var a=h(e[o],t,n,r);a&&i.push(a)}return i}function h(e,t,n,r){for(var i in e)if(!p(e[i],r.exclude)&&n.matches(e[i],t))return e}function p(e,t){var n=!1;t=t||[];for(var r=0;r<t.length;r++){var i=t[r];!n&&new RegExp(e).test(i)&&(n=!0)}return n}t.exports={put:r,clear:i,get:o,search:c,setOptions:f};var g=e("./SearchStrategies/FuzzySearchStrategy"),m=e("./SearchStrategies/LiteralSearchStrategy"),v=[],y={};y.fuzzy=!1,y.limit=10,y.searchStrategy=y.fuzzy?g:m},{"./SearchStrategies/FuzzySearchStrategy":5,"./SearchStrategies/LiteralSearchStrategy":6}],5:[function(e,t,n){"use strict";function r(){this.matches=function(e,t){return i(t,e)}}var i=e("fuzzysearch");t.exports=new r},{fuzzysearch:1}],6:[function(e,t,n){"use strict";function r(){this.matches=function(e,t){return"string"==typeof e&&(e=e.trim(),e.toLowerCase().indexOf(t.toLowerCase())>=0)}}t.exports=new r},{}],7:[function(e,t,n){"use strict";function r(e){o.pattern=e.pattern||o.pattern,o.template=e.template||o.template,"function"==typeof e.middleware&&(o.middleware=e.middleware)}function i(e){return o.template.replace(o.pattern,function(t,n){var r=o.middleware(n,e[n],o.template);return void 0!==r?r:e[n]||t})}t.exports={compile:i,setOptions:r};var o={};o.pattern=/\{(.*?)\}/g,o.template="",o.middleware=function(){}},{}],8:[function(e,t,n){!function(t,n,r){"use strict";function i(e){m.put(e),l()}function o(e){v.load(e,function(t,n){t&&d("failed to get JSON ("+e+")"),i(n)})}function a(){h.resultsContainer.innerHTML=""}function s(e){h.resultsContainer.innerHTML+=e}function l(){h.searchInput.addEventListener("keyup",function(e){a();var t=e.which,n=e.target.value;f(t)&&c(n)&&u(m.search(n))})}function u(e){if(0===e.length)return s(h.noResultsText);for(var t=0;t<e.length;t++)s(g.compile(e[t]))}function c(e){return e&&e.length>0}function f(e){return[13,16,20,37,38,39,40,91].indexOf(e)===-1}function d(e){throw new Error("SimpleJekyllSearch --- "+e)}var h={searchInput:null,resultsContainer:null,json:[],searchResultTemplate:'<li><a href="{url}" title="{desc}">{title}</a></li>',templateMiddleware:function(){},noResultsText:"No results found",limit:10,fuzzy:!1,exclude:[]},p=["searchInput","resultsContainer","json"],g=e("./Templater"),m=e("./Repository"),v=e("./JSONLoader"),y=e("./OptionsValidator")({required:p}),A=e("./utils");t.SimpleJekyllSearch=function(e){var t=y.validate(e);t.length>0&&d("You must specify the following required options: "+p),h=A.merge(h,e),g.setOptions({template:h.searchResultTemplate,middleware:h.templateMiddleware}),m.setOptions({fuzzy:h.fuzzy,limit:h.limit}),A.isJSON(h.json)?i(h.json):o(h.json)},t.SimpleJekyllSearch.init=t.SimpleJekyllSearch,"function"==typeof t.SimpleJekyllSearchInit&&t.SimpleJekyllSearchInit.call(this,t.SimpleJekyllSearch)}(window,document)},{"./JSONLoader":2,"./OptionsValidator":3,"./Repository":4,"./Templater":7,"./utils":9}],9:[function(e,t,n){"use strict";function r(e,t){var n={};for(var r in e)n[r]=e[r],void 0!==t[r]&&(n[r]=t[r]);return n}function i(e){try{return!!(e instanceof Object&&JSON.parse(JSON.stringify(e)))}catch(e){return!1}}t.exports={merge:r,isJSON:i}},{}]},{},[8]),/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||te;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=pe.type(e);return"function"!==n&&!pe.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function i(e,t,n){return pe.isFunction(t)?pe.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?pe.grep(e,function(e){return e===t!==n}):"string"!=typeof t?pe.grep(e,function(e){return ae.call(t,e)>-1!==n}):Te.test(t)?pe.filter(t,e,n):(t=pe.filter(t,e),pe.grep(e,function(e){return ae.call(t,e)>-1!==n&&1===e.nodeType}))}function o(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return pe.each(e.match(Ne)||[],function(e,n){t[n]=!0}),t}function s(e){return e}function l(e){throw e}function u(e,t,n){var r;try{e&&pe.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&pe.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function c(){te.removeEventListener("DOMContentLoaded",c),e.removeEventListener("load",c),pe.ready()}function f(){this.expando=pe.expando+f.uid++}function d(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Re.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Pe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=d(n)}catch(e){}He.set(e,t,n)}else n=void 0;return n}function p(e,t,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return pe.css(e,t,"")},l=s(),u=n&&n[3]||(pe.cssNumber[t]?"":"px"),c=(pe.cssNumber[t]||"px"!==u&&+l)&&Ie.exec(pe.css(e,t));if(c&&c[3]!==u){u=u||c[3],n=n||[],c=+l||1;do o=o||".5",c/=o,pe.style(e,t,c+u);while(o!==(o=s()/l)&&1!==o&&--a)}return n&&(c=+c||+l||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=u,r.start=c,r.end=i)),i}function g(e){var t,n=e.ownerDocument,r=e.nodeName,i=$e[r];return i?i:(t=n.body.appendChild(n.createElement(r)),i=pe.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),$e[r]=i,i)}function m(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)r=e[o],r.style&&(n=r.style.display,t?("none"===n&&(i[o]=qe.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&We(r)&&(i[o]=g(r))):"none"!==n&&(i[o]="none",qe.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}function v(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&pe.nodeName(e,t)?pe.merge([e],n):n}function y(e,t){for(var n=0,r=e.length;n<r;n++)qe.set(e[n],"globalEval",!t||qe.get(t[n],"globalEval"))}function A(e,t,n,r,i){for(var o,a,s,l,u,c,f=t.createDocumentFragment(),d=[],h=0,p=e.length;h<p;h++)if(o=e[h],o||0===o)if("object"===pe.type(o))pe.merge(d,o.nodeType?[o]:o);else if(Qe.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(Ue.exec(o)||["",""])[1].toLowerCase(),l=Ge[s]||Ge._default,a.innerHTML=l[1]+pe.htmlPrefilter(o)+l[2],c=l[0];c--;)a=a.lastChild;pe.merge(d,a.childNodes),a=f.firstChild,a.textContent=""}else d.push(t.createTextNode(o));for(f.textContent="",h=0;o=d[h++];)if(r&&pe.inArray(o,r)>-1)i&&i.push(o);else if(u=pe.contains(o.ownerDocument,o),a=v(f.appendChild(o),"script"),u&&y(a),n)for(c=0;o=a[c++];)Ye.test(o.type||"")&&n.push(o);return f}function b(){return!0}function x(){return!1}function w(){try{return te.activeElement}catch(e){}}function C(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)C(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=x;else if(!i)return e;return 1===o&&(a=i,i=function(e){return pe().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=pe.guid++)),e.each(function(){pe.event.add(this,t,i,r,n)})}function T(e,t){return pe.nodeName(e,"table")&&pe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function E(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function S(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function k(e,t){var n,r,i,o,a,s,l,u;if(1===t.nodeType){if(qe.hasData(e)&&(o=qe.access(e),a=qe.set(t,o),u=o.events)){delete a.handle,a.events={};for(i in u)for(n=0,r=u[i].length;n<r;n++)pe.event.add(t,i,u[i][n])}He.hasData(e)&&(s=He.access(e),l=pe.extend({},s),He.set(t,l))}}function O(e,t){var n=t.nodeName.toLowerCase();"input"===n&&Xe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function j(e,t,r,i){t=ie.apply([],t);var o,a,s,l,u,c,f=0,d=e.length,h=d-1,p=t[0],g=pe.isFunction(p);if(g||d>1&&"string"==typeof p&&!de.checkClone&&nt.test(p))return e.each(function(n){var o=e.eq(n);g&&(t[0]=p.call(this,n,o.html())),j(o,t,r,i)});if(d&&(o=A(t,e[0].ownerDocument,!1,e,i),a=o.firstChild,1===o.childNodes.length&&(o=a),a||i)){for(s=pe.map(v(o,"script"),E),l=s.length;f<d;f++)u=o,f!==h&&(u=pe.clone(u,!0,!0),l&&pe.merge(s,v(u,"script"))),r.call(e[f],u,f);if(l)for(c=s[s.length-1].ownerDocument,pe.map(s,S),f=0;f<l;f++)u=s[f],Ye.test(u.type||"")&&!qe.access(u,"globalEval")&&pe.contains(c,u)&&(u.src?pe._evalUrl&&pe._evalUrl(u.src):n(u.textContent.replace(it,""),c))}return e}function N(e,t,n){for(var r,i=t?pe.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||pe.cleanData(v(r)),r.parentNode&&(n&&pe.contains(r.ownerDocument,r)&&y(v(r,"script")),r.parentNode.removeChild(r));return e}function D(e,t,n){var r,i,o,a,s=e.style;return n=n||st(e),n&&(a=n.getPropertyValue(t)||n[t],""!==a||pe.contains(e.ownerDocument,e)||(a=pe.style(e,t)),!de.pixelMarginRight()&&at.test(a)&&ot.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function L(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function M(e){if(e in dt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ft.length;n--;)if(e=ft[n]+t,e in dt)return e}function F(e,t,n){var r=Ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function q(e,t,n,r,i){var o,a=0;for(o=n===(r?"border":"content")?4:"width"===t?1:0;o<4;o+=2)"margin"===n&&(a+=pe.css(e,n+ze[o],!0,i)),r?("content"===n&&(a-=pe.css(e,"padding"+ze[o],!0,i)),"margin"!==n&&(a-=pe.css(e,"border"+ze[o]+"Width",!0,i))):(a+=pe.css(e,"padding"+ze[o],!0,i),"padding"!==n&&(a+=pe.css(e,"border"+ze[o]+"Width",!0,i)));return a}function H(e,t,n){var r,i=!0,o=st(e),a="border-box"===pe.css(e,"boxSizing",!1,o);if(e.getClientRects().length&&(r=e.getBoundingClientRect()[t]),r<=0||null==r){if(r=D(e,t,o),(r<0||null==r)&&(r=e.style[t]),at.test(r))return r;i=a&&(de.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+q(e,t,n||(a?"border":"content"),i,o)+"px"}function R(e,t,n,r,i){return new R.prototype.init(e,t,n,r,i)}function P(){pt&&(e.requestAnimationFrame(P),pe.fx.tick())}function B(){return e.setTimeout(function(){ht=void 0}),ht=pe.now()}function I(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)n=ze[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function z(e,t,n){for(var r,i=($.tweeners[t]||[]).concat($.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function W(e,t,n){var r,i,o,a,s,l,u,c,f="width"in t||"height"in t,d=this,h={},p=e.style,g=e.nodeType&&We(e),v=qe.get(e,"fxshow");n.queue||(a=pe._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,d.always(function(){d.always(function(){a.unqueued--,pe.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],gt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}h[r]=v&&v[r]||pe.style(e,r)}if(l=!pe.isEmptyObject(t),l||!pe.isEmptyObject(h)){f&&1===e.nodeType&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],u=v&&v.display,null==u&&(u=qe.get(e,"display")),c=pe.css(e,"display"),"none"===c&&(u?c=u:(m([e],!0),u=e.style.display||u,c=pe.css(e,"display"),m([e]))),("inline"===c||"inline-block"===c&&null!=u)&&"none"===pe.css(e,"float")&&(l||(d.done(function(){p.display=u}),null==u&&(c=p.display,u="none"===c?"":c)),p.display="inline-block")),n.overflow&&(p.overflow="hidden",d.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]})),l=!1;for(r in h)l||(v?"hidden"in v&&(g=v.hidden):v=qe.access(e,"fxshow",{display:u}),o&&(v.hidden=!g),g&&m([e],!0),d.done(function(){g||m([e]),qe.remove(e,"fxshow");for(r in h)pe.style(e,r,h[r])})),l=z(g?v[r]:0,r,d),r in v||(v[r]=l.start,g&&(l.end=l.start,l.start=0))}}function _(e,t){var n,r,i,o,a;for(n in e)if(r=pe.camelCase(n),i=t[r],o=e[n],pe.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=pe.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function $(e,t,n){var r,i,o=0,a=$.prefilters.length,s=pe.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;for(var t=ht||B(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;a<l;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),o<1&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:pe.extend({},t),opts:pe.extend(!0,{specialEasing:{},easing:pe.easing._default},n),originalProperties:t,originalOptions:n,startTime:ht||B(),duration:n.duration,tweens:[],createTween:function(t,n){var r=pe.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)u.tweens[n].run(1);return t?(s.notifyWith(e,[u,1,0]),s.resolveWith(e,[u,t])):s.rejectWith(e,[u,t]),this}}),c=u.props;for(_(c,u.opts.specialEasing);o<a;o++)if(r=$.prefilters[o].call(u,e,c,u.opts))return pe.isFunction(r.stop)&&(pe._queueHooks(u.elem,u.opts.queue).stop=pe.proxy(r.stop,r)),r;return pe.map(c,z,u),pe.isFunction(u.opts.start)&&u.opts.start.call(e,u),pe.fx.timer(pe.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function X(e){var t=e.match(Ne)||[];return t.join(" ")}function U(e){return e.getAttribute&&e.getAttribute("class")||""}function Y(e,t,n,r){var i;if(pe.isArray(t))pe.each(t,function(t,i){n||St.test(e)?r(e,i):Y(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==pe.type(t))r(e,t);else for(i in t)Y(e+"["+i+"]",t[i],n,r)}function G(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(Ne)||[];if(pe.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Q(e,t,n,r){function i(s){var l;return o[s]=!0,pe.each(e[s]||[],function(e,s){var u=s(t,n,r);return"string"!=typeof u||a||o[u]?a?!(l=u):void 0:(t.dataTypes.unshift(u),i(u),!1)}),l}var o={},a=e===Pt;return i(t.dataTypes[0])||!o["*"]&&i("*")}function V(e,t){var n,r,i=pe.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&pe.extend(!0,e,r),e}function J(e,t,n){for(var r,i,o,a,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){l.unshift(i);break}if(l[0]in n)o=l[0];else{for(i in n){if(!l[0]||e.converters[i+" "+l[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==l[0]&&l.unshift(o),n[o]}function K(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}function Z(e){return pe.isWindow(e)?e:9===e.nodeType&&e.defaultView}var ee=[],te=e.document,ne=Object.getPrototypeOf,re=ee.slice,ie=ee.concat,oe=ee.push,ae=ee.indexOf,se={},le=se.toString,ue=se.hasOwnProperty,ce=ue.toString,fe=ce.call(Object),de={},he="3.1.1",pe=function(e,t){return new pe.fn.init(e,t)},ge=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,me=/^-ms-/,ve=/-([a-z])/g,ye=function(e,t){return t.toUpperCase()};pe.fn=pe.prototype={jquery:he,constructor:pe,length:0,toArray:function(){return re.call(this)},get:function(e){return null==e?re.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=pe.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return pe.each(this,e)},map:function(e){return this.pushStack(pe.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(re.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:oe,sort:ee.sort,splice:ee.splice},pe.extend=pe.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[s]||{},s++),"object"==typeof a||pe.isFunction(a)||(a={}),s===l&&(a=this,s--);s<l;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],r=e[t],a!==r&&(u&&r&&(pe.isPlainObject(r)||(i=pe.isArray(r)))?(i?(i=!1,o=n&&pe.isArray(n)?n:[]):o=n&&pe.isPlainObject(n)?n:{},a[t]=pe.extend(u,o,r)):void 0!==r&&(a[t]=r));return a},pe.extend({expando:"jQuery"+(he+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===pe.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=pe.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==le.call(e)||(t=ne(e))&&(n=ue.call(t,"constructor")&&t.constructor,"function"!=typeof n||ce.call(n)!==fe))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?se[le.call(e)]||"object":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(me,"ms-").replace(ve,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,i=0;if(r(e))for(n=e.length;i<n&&t.call(e[i],i,e[i])!==!1;i++);else for(i in e)if(t.call(e[i],i,e[i])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ge,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?pe.merge(n,"string"==typeof e?[e]:e):oe.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:ae.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)r=!t(e[o],o),r!==s&&i.push(e[o]);return i},map:function(e,t,n){var i,o,a=0,s=[];if(r(e))for(i=e.length;a<i;a++)o=t(e[a],a,n),null!=o&&s.push(o);else for(a in e)o=t(e[a],a,n),null!=o&&s.push(o);return ie.apply([],s)},guid:1,proxy:function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),pe.isFunction(e))return r=re.call(arguments,2),i=function(){return e.apply(t||this,r.concat(re.call(arguments)))},i.guid=e.guid=e.guid||pe.guid++,i},now:Date.now,support:de}),"function"==typeof Symbol&&(pe.fn[Symbol.iterator]=ee[Symbol.iterator]),pe.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){se["[object "+t+"]"]=t.toLowerCase()});var Ae=function(e){function t(e,t,n,r){var i,o,a,s,l,u,c,d=t&&t.ownerDocument,p=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==p&&9!==p&&11!==p)return n;if(!r&&((t?t.ownerDocument||t:z)!==M&&L(t),t=t||M,q)){if(11!==p&&(l=ve.exec(e)))if(i=l[1]){if(9===p){if(!(a=t.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(d&&(a=d.getElementById(i))&&B(t,a)&&a.id===i)return n.push(a),n}else{if(l[2])return K.apply(n,t.getElementsByTagName(e)),n;if((i=l[3])&&w.getElementsByClassName&&t.getElementsByClassName)return K.apply(n,t.getElementsByClassName(i)),n}if(w.qsa&&!U[e+" "]&&(!H||!H.test(e))){if(1!==p)d=t,c=e;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(xe,we):t.setAttribute("id",s=I),u=S(e),o=u.length;o--;)u[o]="#"+s+" "+h(u[o]);c=u.join(","),d=ye.test(e)&&f(t.parentNode)||t}if(c)try{return K.apply(n,d.querySelectorAll(c)),n}catch(e){}finally{s===I&&t.removeAttribute("id")}}}return O(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>C.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[I]=!0,e}function i(e){var t=M.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)C.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function u(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Te(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function d(){}function h(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function p(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=_++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,l){var u,c,f,d=[W,s];if(l){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,l))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(f=t[I]||(t[I]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((u=c[o])&&u[0]===W&&u[1]===s)return d[2]=u[2];if(c[o]=d,d[2]=e(t,n,l))return!0}return!1}}function g(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var i=0,o=n.length;i<o;i++)t(e,n[i],r);return r}function v(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,u=null!=t;s<l;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),u&&t.push(s)));return a}function y(e,t,n,i,o,a){return i&&!i[I]&&(i=y(i)),o&&!o[I]&&(o=y(o,a)),r(function(r,a,s,l){var u,c,f,d=[],h=[],p=a.length,g=r||m(t||"*",s.nodeType?[s]:s,[]),y=!e||!r&&t?g:v(g,d,e,s,l),A=n?o||(r?e:p||i)?[]:a:y;if(n&&n(y,A,s,l),i)for(u=v(A,h),i(u,[],s,l),c=u.length;c--;)(f=u[c])&&(A[h[c]]=!(y[h[c]]=f));if(r){if(o||e){if(o){for(u=[],c=A.length;c--;)(f=A[c])&&u.push(y[c]=f);o(null,A=[],u,l)}for(c=A.length;c--;)(f=A[c])&&(u=o?ee(r,f):d[c])>-1&&(r[u]=!(a[u]=f))}}else A=v(A===a?A.splice(p,A.length):A),o?o(null,a,A,l):K.apply(a,A)})}function A(e){for(var t,n,r,i=e.length,o=C.relative[e[0].type],a=o||C.relative[" "],s=o?1:0,l=p(function(e){return e===t},a,!0),u=p(function(e){return ee(t,e)>-1},a,!0),c=[function(e,n,r){var i=!o&&(r||n!==j)||((t=n).nodeType?l(e,n,r):u(e,n,r));return t=null,i}];s<i;s++)if(n=C.relative[e[s].type])c=[p(g(c),n)];else{if(n=C.filter[e[s].type].apply(null,e[s].matches),n[I]){for(r=++s;r<i&&!C.relative[e[r].type];r++);return y(s>1&&g(c),s>1&&h(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s<r&&A(e.slice(s,r)),r<i&&A(e=e.slice(r)),r<i&&h(e))}c.push(n)}return g(c)}function b(e,n){var i=n.length>0,o=e.length>0,a=function(r,a,s,l,u){var c,f,d,h=0,p="0",g=r&&[],m=[],y=j,A=r||o&&C.find.TAG("*",u),b=W+=null==y?1:Math.random()||.1,x=A.length;for(u&&(j=a===M||a||u);p!==x&&null!=(c=A[p]);p++){if(o&&c){for(f=0,a||c.ownerDocument===M||(L(c),s=!q);d=e[f++];)if(d(c,a||M,s)){l.push(c);break}u&&(W=b)}i&&((c=!d&&c)&&h--,r&&g.push(c))}if(h+=p,i&&p!==h){for(f=0;d=n[f++];)d(g,m,a,s);if(r){if(h>0)for(;p--;)g[p]||m[p]||(m[p]=V.call(l));m=v(m)}K.apply(l,m),u&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(l)}return u&&(W=b,j=y),g};return i?r(a):a}var x,w,C,T,E,S,k,O,j,N,D,L,M,F,q,H,R,P,B,I="sizzle"+1*new Date,z=e.document,W=0,_=0,$=n(),X=n(),U=n(),Y=function(e,t){return e===t&&(D=!0),0},G={}.hasOwnProperty,Q=[],V=Q.pop,J=Q.push,K=Q.push,Z=Q.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",ie="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",oe=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ie+")*)|.*)\\)|)",ae=new RegExp(ne+"+","g"),se=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),le=new RegExp("^"+ne+"*,"+ne+"*"),ue=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),ce=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(oe),de=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},pe=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,Ae=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},xe=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,we=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ce=function(){L()},Te=p(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{K.apply(Q=Z.call(z.childNodes),z.childNodes),Q[z.childNodes.length].nodeType}catch(e){K={apply:Q.length?function(e,t){J.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:z;return r!==M&&9===r.nodeType&&r.documentElement?(M=r,F=M.documentElement,q=!E(M),z!==M&&(n=M.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(M.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=me.test(M.getElementsByClassName),w.getById=i(function(e){return F.appendChild(e).id=I,!M.getElementsByName||!M.getElementsByName(I).length}),w.getById?(C.filter.ID=function(e){var t=e.replace(Ae,be);return function(e){return e.getAttribute("id")===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&q){var n=t.getElementById(e);return n?[n]:[]}}):(C.filter.ID=function(e){var t=e.replace(Ae,be);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&q){var n,r,i,o=t.getElementById(e);if(o){if(n=o.getAttributeNode("id"),n&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if(n=o.getAttributeNode("id"),n&&n.value===e)return[o]}return[]}}),C.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},C.find.CLASS=w.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&q)return t.getElementsByClassName(e)},R=[],H=[],(w.qsa=me.test(M.querySelectorAll))&&(i(function(e){F.appendChild(e).innerHTML="<a id='"+I+"'></a><select id='"+I+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&H.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||H.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+I+"-]").length||H.push("~="),e.querySelectorAll(":checked").length||H.push(":checked"),e.querySelectorAll("a#"+I+"+*").length||H.push(".#.+[+~]")}),i(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=M.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&H.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&H.push(":enabled",":disabled"),F.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&H.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),H.push(",.*:")})),(w.matchesSelector=me.test(P=F.matches||F.webkitMatchesSelector||F.mozMatchesSelector||F.oMatchesSelector||F.msMatchesSelector))&&i(function(e){w.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),R.push("!=",oe)}),H=H.length&&new RegExp(H.join("|")),R=R.length&&new RegExp(R.join("|")),t=me.test(F.compareDocumentPosition),B=t||me.test(F.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},Y=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===M||e.ownerDocument===z&&B(z,e)?-1:t===M||t.ownerDocument===z&&B(z,t)?1:N?ee(N,e)-ee(N,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],l=[t];if(!i||!o)return e===M?-1:t===M?1:i?-1:o?1:N?ee(N,e)-ee(N,t):0;if(i===o)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)l.unshift(n);for(;s[r]===l[r];)r++;return r?a(s[r],l[r]):s[r]===z?-1:l[r]===z?1:0},M):M},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==M&&L(e),n=n.replace(ce,"='$1']"),w.matchesSelector&&q&&!U[n+" "]&&(!R||!R.test(n))&&(!H||!H.test(n)))try{var r=P.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,M,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==M&&L(e),B(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==M&&L(e);var n=C.attrHandle[t.toLowerCase()],r=n&&G.call(C.attrHandle,t.toLowerCase())?n(e,t,!q):void 0;return void 0!==r?r:w.attributes||!q?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(xe,we)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(D=!w.detectDuplicates,N=!w.sortStable&&e.slice(0),e.sort(Y),D){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return N=null,e},T=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=T(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=T(t);return n},C=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Ae,be),e[3]=(e[3]||e[4]||e[5]||"").replace(Ae,be),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=S(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Ae,be).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&$(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ae," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,f,d,h,p,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s,A=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;p=g="only"===e&&!p&&"nextSibling"}return!0}if(p=[a?m.firstChild:m.lastChild],a&&y){for(d=m,f=d[I]||(d[I]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),u=c[e]||[],h=u[0]===W&&u[1],A=h&&u[2],d=h&&m.childNodes[h];d=++h&&d&&d[g]||(A=h=0)||p.pop();)if(1===d.nodeType&&++A&&d===t){c[e]=[W,h,A];break}}else if(y&&(d=t,f=d[I]||(d[I]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),u=c[e]||[],h=u[0]===W&&u[1],A=h),A===!1)for(;(d=++h&&d&&d[g]||(A=h=0)||p.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++A||(y&&(f=d[I]||(d[I]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[W,A]),d!==t)););return A-=i,A===r||A%r===0&&A/r>=0}}},PSEUDO:function(e,n){var i,o=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[I]?o(n):o.length>1?(i=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=ee(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(se,"$1"));return i[I]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(Ae,be),function(t){return(t.textContent||t.innerText||T(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(Ae,be).toLowerCase(),function(t){var n;do if(n=q?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1;
-}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===F},focus:function(e){return e===M.activeElement&&(!M.hasFocus||M.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:u(!1),disabled:u(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return pe.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[n<0?n+t:n]}),even:c(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},C.pseudos.nth=C.pseudos.eq;for(x in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})C.pseudos[x]=s(x);for(x in{submit:!0,reset:!0})C.pseudos[x]=l(x);return d.prototype=C.filters=C.pseudos,C.setFilters=new d,S=t.tokenize=function(e,n){var r,i,o,a,s,l,u,c=X[e+" "];if(c)return n?0:c.slice(0);for(s=e,l=[],u=C.preFilter;s;){r&&!(i=le.exec(s))||(i&&(s=s.slice(i[0].length)||s),l.push(o=[])),r=!1,(i=ue.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(se," ")}),s=s.slice(r.length));for(a in C.filter)!(i=he[a].exec(s))||u[a]&&!(i=u[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?t.error(e):X(e,l).slice(0)},k=t.compile=function(e,t){var n,r=[],i=[],o=U[e+" "];if(!o){for(t||(t=S(e)),n=t.length;n--;)o=A(t[n]),o[I]?r.push(o):i.push(o);o=U(e,b(i,r)),o.selector=e}return o},O=t.select=function(e,t,n,r){var i,o,a,s,l,u="function"==typeof e&&e,c=!r&&S(e=u.selector||e);if(n=n||[],1===c.length){if(o=c[0]=c[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&9===t.nodeType&&q&&C.relative[o[1].type]){if(t=(C.find.ID(a.matches[0].replace(Ae,be),t)||[])[0],!t)return n;u&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=he.needsContext.test(e)?0:o.length;i--&&(a=o[i],!C.relative[s=a.type]);)if((l=C.find[s])&&(r=l(a.matches[0].replace(Ae,be),ye.test(o[0].type)&&f(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&h(o),!e)return K.apply(n,r),n;break}}return(u||k(e,c))(r,t,!q,n,!t||ye.test(e)&&f(t.parentNode)||t),n},w.sortStable=I.split("").sort(Y).join("")===I,w.detectDuplicates=!!D,L(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(M.createElement("fieldset"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);pe.find=Ae,pe.expr=Ae.selectors,pe.expr[":"]=pe.expr.pseudos,pe.uniqueSort=pe.unique=Ae.uniqueSort,pe.text=Ae.getText,pe.isXMLDoc=Ae.isXML,pe.contains=Ae.contains,pe.escapeSelector=Ae.escape;var be=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&pe(e).is(n))break;r.push(e)}return r},xe=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},we=pe.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,Te=/^.[^:#\[\.,]*$/;pe.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?pe.find.matchesSelector(r,e)?[r]:[]:pe.find.matches(e,pe.grep(t,function(e){return 1===e.nodeType}))},pe.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(pe(e).filter(function(){for(t=0;t<r;t++)if(pe.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)pe.find(e,i[t],n);return r>1?pe.uniqueSort(n):n},filter:function(e){return this.pushStack(i(this,e||[],!1))},not:function(e){return this.pushStack(i(this,e||[],!0))},is:function(e){return!!i(this,"string"==typeof e&&we.test(e)?pe(e):e||[],!1).length}});var Ee,Se=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,ke=pe.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ee,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Se.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof pe?t[0]:t,pe.merge(this,pe.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ce.test(r[1])&&pe.isPlainObject(t))for(r in t)pe.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=te.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):pe.isFunction(e)?void 0!==n.ready?n.ready(e):e(pe):pe.makeArray(e,this)};ke.prototype=pe.fn,Ee=pe(te);var Oe=/^(?:parents|prev(?:Until|All))/,je={children:!0,contents:!0,next:!0,prev:!0};pe.fn.extend({has:function(e){var t=pe(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(pe.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&pe(e);if(!we.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&pe.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?pe.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?ae.call(pe(e),this[0]):ae.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(pe.uniqueSort(pe.merge(this.get(),pe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),pe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return o(e,"nextSibling")},prev:function(e){return o(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return xe((e.parentNode||{}).firstChild,e)},children:function(e){return xe(e.firstChild)},contents:function(e){return e.contentDocument||pe.merge([],e.childNodes)}},function(e,t){pe.fn[e]=function(n,r){var i=pe.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=pe.filter(r,i)),this.length>1&&(je[e]||pe.uniqueSort(i),Oe.test(e)&&i.reverse()),this.pushStack(i)}});var Ne=/[^\x20\t\r\n\f]+/g;pe.Callbacks=function(e){e="string"==typeof e?a(e):pe.extend({},e);var t,n,r,i,o=[],s=[],l=-1,u=function(){for(i=e.once,r=t=!0;s.length;l=-1)for(n=s.shift();++l<o.length;)o[l].apply(n[0],n[1])===!1&&e.stopOnFalse&&(l=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},c={add:function(){return o&&(n&&!t&&(l=o.length-1,s.push(n)),function t(n){pe.each(n,function(n,r){pe.isFunction(r)?e.unique&&c.has(r)||o.push(r):r&&r.length&&"string"!==pe.type(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return pe.each(arguments,function(e,t){for(var n;(n=pe.inArray(t,o,n))>-1;)o.splice(n,1),n<=l&&l--}),this},has:function(e){return e?pe.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=s=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||u()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},pe.extend({Deferred:function(t){var n=[["notify","progress",pe.Callbacks("memory"),pe.Callbacks("memory"),2],["resolve","done",pe.Callbacks("once memory"),pe.Callbacks("once memory"),0,"resolved"],["reject","fail",pe.Callbacks("once memory"),pe.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return pe.Deferred(function(t){pe.each(n,function(n,r){var i=pe.isFunction(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&pe.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){function o(t,n,r,i){return function(){var u=this,c=arguments,f=function(){var e,f;if(!(t<a)){if(e=r.apply(u,c),e===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"==typeof e||"function"==typeof e)&&e.then,pe.isFunction(f)?i?f.call(e,o(a,n,s,i),o(a,n,l,i)):(a++,f.call(e,o(a,n,s,i),o(a,n,l,i),o(a,n,s,n.notifyWith))):(r!==s&&(u=void 0,c=[e]),(i||n.resolveWith)(u,c))}},d=i?f:function(){try{f()}catch(e){pe.Deferred.exceptionHook&&pe.Deferred.exceptionHook(e,d.stackTrace),t+1>=a&&(r!==l&&(u=void 0,c=[e]),n.rejectWith(u,c))}};t?d():(pe.Deferred.getStackHook&&(d.stackTrace=pe.Deferred.getStackHook()),e.setTimeout(d))}}var a=0;return pe.Deferred(function(e){n[0][3].add(o(0,e,pe.isFunction(i)?i:s,e.notifyWith)),n[1][3].add(o(0,e,pe.isFunction(t)?t:s)),n[2][3].add(o(0,e,pe.isFunction(r)?r:l))}).promise()},promise:function(e){return null!=e?pe.extend(e,i):i}},o={};return pe.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[0][2].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=re.call(arguments),o=pe.Deferred(),a=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?re.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(u(e,o.done(a(n)).resolve,o.reject),"pending"===o.state()||pe.isFunction(i[n]&&i[n].then)))return o.then();for(;n--;)u(i[n],a(n),o.reject);return o.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;pe.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},pe.readyException=function(t){e.setTimeout(function(){throw t})};var Le=pe.Deferred();pe.fn.ready=function(e){return Le.then(e).catch(function(e){pe.readyException(e)}),this},pe.extend({isReady:!1,readyWait:1,holdReady:function(e){e?pe.readyWait++:pe.ready(!0)},ready:function(e){(e===!0?--pe.readyWait:pe.isReady)||(pe.isReady=!0,e!==!0&&--pe.readyWait>0||Le.resolveWith(te,[pe]))}}),pe.ready.then=Le.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(pe.ready):(te.addEventListener("DOMContentLoaded",c),e.addEventListener("load",c));var Me=function(e,t,n,r,i,o,a){var s=0,l=e.length,u=null==n;if("object"===pe.type(n)){i=!0;for(s in n)Me(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,pe.isFunction(r)||(a=!0),u&&(a?(t.call(e,r),t=null):(u=t,t=function(e,t,n){return u.call(pe(e),n)})),t))for(;s<l;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:u?t.call(e):l?t(e[0],n):o},Fe=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};f.uid=1,f.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Fe(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[pe.camelCase(t)]=n;else for(r in t)i[pe.camelCase(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][pe.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){pe.isArray(t)?t=t.map(pe.camelCase):(t=pe.camelCase(t),t=t in r?[t]:t.match(Ne)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||pe.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!pe.isEmptyObject(t)}};var qe=new f,He=new f,Re=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Pe=/[A-Z]/g;pe.extend({hasData:function(e){return He.hasData(e)||qe.hasData(e)},data:function(e,t,n){return He.access(e,t,n)},removeData:function(e,t){He.remove(e,t)},_data:function(e,t,n){return qe.access(e,t,n)},_removeData:function(e,t){qe.remove(e,t)}}),pe.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=He.get(o),1===o.nodeType&&!qe.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=pe.camelCase(r.slice(5)),h(o,r,i[r])));qe.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){He.set(this,e)}):Me(this,function(t){var n;if(o&&void 0===t){if(n=He.get(o,e),void 0!==n)return n;if(n=h(o,e),void 0!==n)return n}else this.each(function(){He.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){He.remove(this,e)})}}),pe.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=qe.get(e,t),n&&(!r||pe.isArray(n)?r=qe.access(e,t,pe.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=pe.queue(e,t),r=n.length,i=n.shift(),o=pe._queueHooks(e,t),a=function(){pe.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return qe.get(e,n)||qe.access(e,n,{empty:pe.Callbacks("once memory").add(function(){qe.remove(e,[t+"queue",n])})})}}),pe.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?pe.queue(this[0],e):void 0===t?this:this.each(function(){var n=pe.queue(this,e,t);pe._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&pe.dequeue(this,e)})},dequeue:function(e){return this.each(function(){pe.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=pe.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)n=qe.get(o[a],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var Be=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Ie=new RegExp("^(?:([+-])=|)("+Be+")([a-z%]*)$","i"),ze=["Top","Right","Bottom","Left"],We=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&pe.contains(e.ownerDocument,e)&&"none"===pe.css(e,"display")},_e=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i},$e={};pe.fn.extend({show:function(){return m(this,!0)},hide:function(){return m(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){We(this)?pe(this).show():pe(this).hide()})}});var Xe=/^(?:checkbox|radio)$/i,Ue=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Ye=/^$|\/(?:java|ecma)script/i,Ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td;var Qe=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),de.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",de.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Ve=te.documentElement,Je=/^key/,Ke=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;pe.event={global:{},add:function(e,t,n,r,i){var o,a,s,l,u,c,f,d,h,p,g,m=qe.get(e);if(m)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&pe.find.matchesSelector(Ve,i),n.guid||(n.guid=pe.guid++),(l=m.events)||(l=m.events={}),(a=m.handle)||(a=m.handle=function(t){return"undefined"!=typeof pe&&pe.event.triggered!==t.type?pe.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Ne)||[""],u=t.length;u--;)s=Ze.exec(t[u])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h&&(f=pe.event.special[h]||{},h=(i?f.delegateType:f.bindType)||h,f=pe.event.special[h]||{},c=pe.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&pe.expr.match.needsContext.test(i),namespace:p.join(".")},o),(d=l[h])||(d=l[h]=[],d.delegateCount=0,f.setup&&f.setup.call(e,r,p,a)!==!1||e.addEventListener&&e.addEventListener(h,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),pe.event.global[h]=!0)},remove:function(e,t,n,r,i){var o,a,s,l,u,c,f,d,h,p,g,m=qe.hasData(e)&&qe.get(e);if(m&&(l=m.events)){for(t=(t||"").match(Ne)||[""],u=t.length;u--;)if(s=Ze.exec(t[u])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h){for(f=pe.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,d=l[h]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;o--;)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&f.teardown.call(e,p,m.handle)!==!1||pe.removeEvent(e,h,m.handle),delete l[h])}else for(h in l)pe.event.remove(e,h+t[u],n,r,!0);pe.isEmptyObject(l)&&qe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=pe.event.fix(e),l=new Array(arguments.length),u=(qe.get(this,"events")||{})[s.type]||[],c=pe.event.special[s.type]||{};for(l[0]=s,t=1;t<arguments.length;t++)l[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,s)!==!1){for(a=pe.event.handlers.call(this,s,u),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,r=((pe.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,l),void 0!==r&&(s.result=r)===!1&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],l=t.delegateCount,u=e.target;if(l&&u.nodeType&&!("click"===e.type&&e.button>=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||u.disabled!==!0)){for(o=[],a={},n=0;n<l;n++)r=t[n],i=r.selector+" ",void 0===a[i]&&(a[i]=r.needsContext?pe(i,this).index(u)>-1:pe.find(i,this,null,[u]).length),a[i]&&o.push(r);o.length&&s.push({elem:u,handlers:o})}return u=this,l<t.length&&s.push({elem:u,handlers:t.slice(l)}),s},addProp:function(e,t){Object.defineProperty(pe.Event.prototype,e,{enumerable:!0,configurable:!0,get:pe.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[pe.expando]?e:new pe.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==w()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===w()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&pe.nodeName(this,"input"))return this.click(),!1},_default:function(e){return pe.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},pe.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},pe.Event=function(e,t){return this instanceof pe.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?b:x,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&pe.extend(this,t),this.timeStamp=e&&e.timeStamp||pe.now(),void(this[pe.expando]=!0)):new pe.Event(e,t)},pe.Event.prototype={constructor:pe.Event,isDefaultPrevented:x,isPropagationStopped:x,isImmediatePropagationStopped:x,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=b,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=b,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=b,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},pe.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Je.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ke.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},pe.event.addProp),pe.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){pe.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||pe.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),pe.fn.extend({on:function(e,t,n,r){return C(this,e,t,n,r)},one:function(e,t,n,r){return C(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,pe(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return t!==!1&&"function"!=typeof t||(n=t,t=void 0),n===!1&&(n=x),this.each(function(){pe.event.remove(this,e,n,t)})}});var et=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/<script|<style|<link/i,nt=/checked\s*(?:[^=]|=\s*.checked.)/i,rt=/^true\/(.*)/,it=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;pe.extend({htmlPrefilter:function(e){return e.replace(et,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),l=pe.contains(e.ownerDocument,e);if(!(de.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||pe.isXMLDoc(e)))for(a=v(s),o=v(e),r=0,i=o.length;r<i;r++)O(o[r],a[r]);if(t)if(n)for(o=o||v(e),a=a||v(s),r=0,i=o.length;r<i;r++)k(o[r],a[r]);else k(e,s);return a=v(s,"script"),a.length>0&&y(a,!l&&v(e,"script")),s},cleanData:function(e){for(var t,n,r,i=pe.event.special,o=0;void 0!==(n=e[o]);o++)if(Fe(n)){if(t=n[qe.expando]){if(t.events)for(r in t.events)i[r]?pe.event.remove(n,r):pe.removeEvent(n,r,t.handle);n[qe.expando]=void 0}n[He.expando]&&(n[He.expando]=void 0)}}}),pe.fn.extend({detach:function(e){return N(this,e,!0)},remove:function(e){return N(this,e)},text:function(e){return Me(this,function(e){return void 0===e?pe.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return j(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.appendChild(e)}})},prepend:function(){return j(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return j(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return j(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(pe.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return pe.clone(this,e,t)})},html:function(e){return Me(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ge[(Ue.exec(e)||["",""])[1].toLowerCase()]){e=pe.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(pe.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return j(this,arguments,function(t){var n=this.parentNode;pe.inArray(this,e)<0&&(pe.cleanData(v(this)),n&&n.replaceChild(t,this))},e)}}),pe.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){pe.fn[e]=function(e){for(var n,r=[],i=pe(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),pe(i[a])[t](n),oe.apply(r,n.get());return this.pushStack(r)}});var ot=/^margin/,at=new RegExp("^("+Be+")(?!px)[a-z%]+$","i"),st=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(s){s.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",s.innerHTML="",Ve.appendChild(a);var t=e.getComputedStyle(s);n="1%"!==t.top,o="2px"===t.marginLeft,r="4px"===t.width,s.style.marginRight="50%",i="4px"===t.marginRight,Ve.removeChild(a),s=null}}var n,r,i,o,a=te.createElement("div"),s=te.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",de.clearCloneStyle="content-box"===s.style.backgroundClip,a.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",a.appendChild(s),pe.extend(de,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),i},reliableMarginLeft:function(){return t(),o}}))}();var lt=/^(none|table(?!-c[ea]).+)/,ut={position:"absolute",visibility:"hidden",display:"block"},ct={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","Moz","ms"],dt=te.createElement("div").style;pe.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=D(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=pe.camelCase(t),l=e.style;return t=pe.cssProps[s]||(pe.cssProps[s]=M(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],void 0===n?a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t]:(o=typeof n,"string"===o&&(i=Ie.exec(n))&&i[1]&&(n=p(e,t,i),o="number"),void(null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(pe.cssNumber[s]?"":"px")),de.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(l[t]=n))))}},css:function(e,t,n,r){var i,o,a,s=pe.camelCase(t);return t=pe.cssProps[s]||(pe.cssProps[s]=M(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],a&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=D(e,t,r)),"normal"===i&&t in ct&&(i=ct[t]),""===n||n?(o=parseFloat(i),n===!0||isFinite(o)?o||0:i):i}}),pe.each(["height","width"],function(e,t){pe.cssHooks[t]={get:function(e,n,r){if(n)return!lt.test(pe.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?H(e,t,r):_e(e,ut,function(){return H(e,t,r)})},set:function(e,n,r){var i,o=r&&st(e),a=r&&q(e,t,r,"border-box"===pe.css(e,"boxSizing",!1,o),o);return a&&(i=Ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=pe.css(e,t)),F(e,n,a)}}}),pe.cssHooks.marginLeft=L(de.reliableMarginLeft,function(e,t){if(t)return(parseFloat(D(e,"marginLeft"))||e.getBoundingClientRect().left-_e(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),pe.each({margin:"",padding:"",border:"Width"},function(e,t){pe.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+ze[r]+t]=o[r]||o[r-2]||o[0];return i}},ot.test(e)||(pe.cssHooks[e+t].set=F)}),pe.fn.extend({css:function(e,t){return Me(this,function(e,t,n){var r,i,o={},a=0;if(pe.isArray(t)){for(r=st(e),i=t.length;a<i;a++)o[t[a]]=pe.css(e,t[a],!1,r);return o}return void 0!==n?pe.style(e,t,n):pe.css(e,t)},e,t,arguments.length>1)}}),pe.Tween=R,R.prototype={constructor:R,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||pe.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(pe.cssNumber[n]?"":"px")},cur:function(){var e=R.propHooks[this.prop];return e&&e.get?e.get(this):R.propHooks._default.get(this)},run:function(e){var t,n=R.propHooks[this.prop];return this.options.duration?this.pos=t=pe.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):R.propHooks._default.set(this),this}},R.prototype.init.prototype=R.prototype,R.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=pe.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){pe.fx.step[e.prop]?pe.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[pe.cssProps[e.prop]]&&!pe.cssHooks[e.prop]?e.elem[e.prop]=e.now:pe.style(e.elem,e.prop,e.now+e.unit)}}},R.propHooks.scrollTop=R.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},pe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},pe.fx=R.prototype.init,pe.fx.step={};var ht,pt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;pe.Animation=pe.extend($,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return p(n.elem,e,Ie.exec(t),n),n}]},tweener:function(e,t){pe.isFunction(e)?(t=e,e=["*"]):e=e.match(Ne);for(var n,r=0,i=e.length;r<i;r++)n=e[r],$.tweeners[n]=$.tweeners[n]||[],$.tweeners[n].unshift(t)},prefilters:[W],prefilter:function(e,t){t?$.prefilters.unshift(e):$.prefilters.push(e)}}),pe.speed=function(e,t,n){var r=e&&"object"==typeof e?pe.extend({},e):{complete:n||!n&&t||pe.isFunction(e)&&e,duration:e,easing:n&&t||t&&!pe.isFunction(t)&&t};return pe.fx.off||te.hidden?r.duration=0:"number"!=typeof r.duration&&(r.duration in pe.fx.speeds?r.duration=pe.fx.speeds[r.duration]:r.duration=pe.fx.speeds._default),null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){pe.isFunction(r.old)&&r.old.call(this),r.queue&&pe.dequeue(this,r.queue)},r},pe.fn.extend({fadeTo:function(e,t,n,r){return this.filter(We).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=pe.isEmptyObject(e),o=pe.speed(t,n,r),a=function(){var t=$(this,pe.extend({},e),o);(i||qe.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=pe.timers,a=qe.get(this);
-if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&mt.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||pe.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=qe.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=pe.timers,a=r?r.length:0;for(n.finish=!0,pe.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),pe.each(["toggle","show","hide"],function(e,t){var n=pe.fn[t];pe.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(I(t,!0),e,r,i)}}),pe.each({slideDown:I("show"),slideUp:I("hide"),slideToggle:I("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){pe.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),pe.timers=[],pe.fx.tick=function(){var e,t=0,n=pe.timers;for(ht=pe.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||pe.fx.stop(),ht=void 0},pe.fx.timer=function(e){pe.timers.push(e),e()?pe.fx.start():pe.timers.pop()},pe.fx.interval=13,pe.fx.start=function(){pt||(pt=e.requestAnimationFrame?e.requestAnimationFrame(P):e.setInterval(pe.fx.tick,pe.fx.interval))},pe.fx.stop=function(){e.cancelAnimationFrame?e.cancelAnimationFrame(pt):e.clearInterval(pt),pt=null},pe.fx.speeds={slow:600,fast:200,_default:400},pe.fn.delay=function(t,n){return t=pe.fx?pe.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=te.createElement("input"),t=te.createElement("select"),n=t.appendChild(te.createElement("option"));e.type="checkbox",de.checkOn=""!==e.value,de.optSelected=n.selected,e=te.createElement("input"),e.value="t",e.type="radio",de.radioValue="t"===e.value}();var vt,yt=pe.expr.attrHandle;pe.fn.extend({attr:function(e,t){return Me(this,pe.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){pe.removeAttr(this,e)})}}),pe.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?pe.prop(e,t,n):(1===o&&pe.isXMLDoc(e)||(i=pe.attrHooks[t.toLowerCase()]||(pe.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void pe.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=pe.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!de.radioValue&&"radio"===t&&pe.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(Ne);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?pe.removeAttr(e,n):e.setAttribute(n,n),n}},pe.each(pe.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||pe.find.attr;yt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=yt[a],yt[a]=i,i=null!=n(e,t,r)?a:null,yt[a]=o),i}});var At=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;pe.fn.extend({prop:function(e,t){return Me(this,pe.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[pe.propFix[e]||e]})}}),pe.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&pe.isXMLDoc(e)||(t=pe.propFix[t]||t,i=pe.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=pe.find.attr(e,"tabindex");return t?parseInt(t,10):At.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),de.optSelected||(pe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),pe.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){pe.propFix[this.toLowerCase()]=this}),pe.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,l=0;if(pe.isFunction(e))return this.each(function(t){pe(this).addClass(e.call(this,t,U(this)))});if("string"==typeof e&&e)for(t=e.match(Ne)||[];n=this[l++];)if(i=U(n),r=1===n.nodeType&&" "+X(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");s=X(r),i!==s&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,l=0;if(pe.isFunction(e))return this.each(function(t){pe(this).removeClass(e.call(this,t,U(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(Ne)||[];n=this[l++];)if(i=U(n),r=1===n.nodeType&&" "+X(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");s=X(r),i!==s&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):pe.isFunction(e)?this.each(function(n){pe(this).toggleClass(e.call(this,n,U(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=pe(this),o=e.match(Ne)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=U(this),t&&qe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":qe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+X(U(n))+" ").indexOf(t)>-1)return!0;return!1}});var xt=/\r/g;pe.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=pe.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,pe(this).val()):e,null==i?i="":"number"==typeof i?i+="":pe.isArray(i)&&(i=pe.map(i,function(e){return null==e?"":e+""})),t=pe.valHooks[this.type]||pe.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=pe.valHooks[i.type]||pe.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(xt,""):null==n?"":n)):void 0}}),pe.extend({valHooks:{option:{get:function(e){var t=pe.find.attr(e,"value");return null!=t?t:X(pe.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],l=a?o+1:i.length;for(r=o<0?l:a?o:0;r<l;r++)if(n=i[r],(n.selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!pe.nodeName(n.parentNode,"optgroup"))){if(t=pe(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=pe.makeArray(t),a=i.length;a--;)r=i[a],(r.selected=pe.inArray(pe.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),pe.each(["radio","checkbox"],function(){pe.valHooks[this]={set:function(e,t){if(pe.isArray(t))return e.checked=pe.inArray(pe(e).val(),t)>-1}},de.checkOn||(pe.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var wt=/^(?:focusinfocus|focusoutblur)$/;pe.extend(pe.event,{trigger:function(t,n,r,i){var o,a,s,l,u,c,f,d=[r||te],h=ue.call(t,"type")?t.type:t,p=ue.call(t,"namespace")?t.namespace.split("."):[];if(a=s=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!wt.test(h+pe.event.triggered)&&(h.indexOf(".")>-1&&(p=h.split("."),h=p.shift(),p.sort()),u=h.indexOf(":")<0&&"on"+h,t=t[pe.expando]?t:new pe.Event(h,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=p.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:pe.makeArray(n,[t]),f=pe.event.special[h]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!pe.isWindow(r)){for(l=f.delegateType||h,wt.test(l+h)||(a=a.parentNode);a;a=a.parentNode)d.push(a),s=a;s===(r.ownerDocument||te)&&d.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=d[o++])&&!t.isPropagationStopped();)t.type=o>1?l:f.bindType||h,c=(qe.get(a,"events")||{})[t.type]&&qe.get(a,"handle"),c&&c.apply(a,n),c=u&&a[u],c&&c.apply&&Fe(a)&&(t.result=c.apply(a,n),t.result===!1&&t.preventDefault());return t.type=h,i||t.isDefaultPrevented()||f._default&&f._default.apply(d.pop(),n)!==!1||!Fe(r)||u&&pe.isFunction(r[h])&&!pe.isWindow(r)&&(s=r[u],s&&(r[u]=null),pe.event.triggered=h,r[h](),pe.event.triggered=void 0,s&&(r[u]=s)),t.result}},simulate:function(e,t,n){var r=pe.extend(new pe.Event,n,{type:e,isSimulated:!0});pe.event.trigger(r,null,t)}}),pe.fn.extend({trigger:function(e,t){return this.each(function(){pe.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return pe.event.trigger(e,t,n,!0)}}),pe.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){pe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),pe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),de.focusin="onfocusin"in e,de.focusin||pe.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){pe.event.simulate(t,e.target,pe.event.fix(e))};pe.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=qe.access(r,t);i||r.addEventListener(e,n,!0),qe.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=qe.access(r,t)-1;i?qe.access(r,t,i):(r.removeEventListener(e,n,!0),qe.remove(r,t))}}});var Ct=e.location,Tt=pe.now(),Et=/\?/;pe.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||pe.error("Invalid XML: "+t),n};var St=/\[\]$/,kt=/\r?\n/g,Ot=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;pe.param=function(e,t){var n,r=[],i=function(e,t){var n=pe.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(pe.isArray(e)||e.jquery&&!pe.isPlainObject(e))pe.each(e,function(){i(this.name,this.value)});else for(n in e)Y(n,e[n],t,i);return r.join("&")},pe.fn.extend({serialize:function(){return pe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=pe.prop(this,"elements");return e?pe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!pe(this).is(":disabled")&&jt.test(this.nodeName)&&!Ot.test(e)&&(this.checked||!Xe.test(e))}).map(function(e,t){var n=pe(this).val();return null==n?null:pe.isArray(n)?pe.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var Nt=/%20/g,Dt=/#.*$/,Lt=/([?&])_=[^&]*/,Mt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ft=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,qt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Rt={},Pt={},Bt="*/".concat("*"),It=te.createElement("a");It.href=Ct.href,pe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Ft.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Bt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":pe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?V(V(e,pe.ajaxSettings),t):V(pe.ajaxSettings,e)},ajaxPrefilter:G(Rt),ajaxTransport:G(Pt),ajax:function(t,n){function r(t,n,r,s){var u,d,h,b,x,w=n;c||(c=!0,l&&e.clearTimeout(l),i=void 0,a=s||"",C.readyState=t>0?4:0,u=t>=200&&t<300||304===t,r&&(b=J(p,C,r)),b=K(p,b,C,u),u?(p.ifModified&&(x=C.getResponseHeader("Last-Modified"),x&&(pe.lastModified[o]=x),x=C.getResponseHeader("etag"),x&&(pe.etag[o]=x)),204===t||"HEAD"===p.type?w="nocontent":304===t?w="notmodified":(w=b.state,d=b.data,h=b.error,u=!h)):(h=w,!t&&w||(w="error",t<0&&(t=0))),C.status=t,C.statusText=(n||w)+"",u?v.resolveWith(g,[d,w,C]):v.rejectWith(g,[C,w,h]),C.statusCode(A),A=void 0,f&&m.trigger(u?"ajaxSuccess":"ajaxError",[C,p,u?d:h]),y.fireWith(g,[C,w]),f&&(m.trigger("ajaxComplete",[C,p]),--pe.active||pe.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,l,u,c,f,d,h,p=pe.ajaxSetup({},n),g=p.context||p,m=p.context&&(g.nodeType||g.jquery)?pe(g):pe.event,v=pe.Deferred(),y=pe.Callbacks("once memory"),A=p.statusCode||{},b={},x={},w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s)for(s={};t=Mt.exec(a);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=x[e.toLowerCase()]=x[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)C.always(e[C.status]);else for(t in e)A[t]=[A[t],e[t]];return this},abort:function(e){var t=e||w;return i&&i.abort(t),r(0,t),this}};if(v.promise(C),p.url=((t||p.url||Ct.href)+"").replace(Ht,Ct.protocol+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=(p.dataType||"*").toLowerCase().match(Ne)||[""],null==p.crossDomain){u=te.createElement("a");try{u.href=p.url,u.href=u.href,p.crossDomain=It.protocol+"//"+It.host!=u.protocol+"//"+u.host}catch(e){p.crossDomain=!0}}if(p.data&&p.processData&&"string"!=typeof p.data&&(p.data=pe.param(p.data,p.traditional)),Q(Rt,p,n,C),c)return C;f=pe.event&&p.global,f&&0===pe.active++&&pe.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!qt.test(p.type),o=p.url.replace(Dt,""),p.hasContent?p.data&&p.processData&&0===(p.contentType||"").indexOf("application/x-www-form-urlencoded")&&(p.data=p.data.replace(Nt,"+")):(h=p.url.slice(o.length),p.data&&(o+=(Et.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(o=o.replace(Lt,"$1"),h=(Et.test(o)?"&":"?")+"_="+Tt++ +h),p.url=o+h),p.ifModified&&(pe.lastModified[o]&&C.setRequestHeader("If-Modified-Since",pe.lastModified[o]),pe.etag[o]&&C.setRequestHeader("If-None-Match",pe.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Bt+"; q=0.01":""):p.accepts["*"]);for(d in p.headers)C.setRequestHeader(d,p.headers[d]);if(p.beforeSend&&(p.beforeSend.call(g,C,p)===!1||c))return C.abort();if(w="abort",y.add(p.complete),C.done(p.success),C.fail(p.error),i=Q(Pt,p,n,C)){if(C.readyState=1,f&&m.trigger("ajaxSend",[C,p]),c)return C;p.async&&p.timeout>0&&(l=e.setTimeout(function(){C.abort("timeout")},p.timeout));try{c=!1,i.send(b,r)}catch(e){if(c)throw e;r(-1,e)}}else r(-1,"No Transport");return C},getJSON:function(e,t,n){return pe.get(e,t,n,"json")},getScript:function(e,t){return pe.get(e,void 0,t,"script")}}),pe.each(["get","post"],function(e,t){pe[t]=function(e,n,r,i){return pe.isFunction(n)&&(i=i||r,r=n,n=void 0),pe.ajax(pe.extend({url:e,type:t,dataType:i,data:n,success:r},pe.isPlainObject(e)&&e))}}),pe._evalUrl=function(e){return pe.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},pe.fn.extend({wrapAll:function(e){var t;return this[0]&&(pe.isFunction(e)&&(e=e.call(this[0])),t=pe(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return pe.isFunction(e)?this.each(function(t){pe(this).wrapInner(e.call(this,t))}):this.each(function(){var t=pe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=pe.isFunction(e);return this.each(function(n){pe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){pe(this).replaceWith(this.childNodes)}),this}}),pe.expr.pseudos.hidden=function(e){return!pe.expr.pseudos.visible(e)},pe.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},pe.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var zt={0:200,1223:204},Wt=pe.ajaxSettings.xhr();de.cors=!!Wt&&"withCredentials"in Wt,de.ajax=Wt=!!Wt,pe.ajaxTransport(function(t){var n,r;if(de.cors||Wt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(zt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),pe.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),pe.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return pe.globalEval(e),e}}}),pe.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),pe.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=pe("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),te.head.appendChild(t[0])},abort:function(){n&&n()}}}});var _t=[],$t=/(=)\?(?=&|$)|\?\?/;pe.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=_t.pop()||pe.expando+"_"+Tt++;return this[e]=!0,e}}),pe.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=t.jsonp!==!1&&($t.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&$t.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=pe.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace($t,"$1"+i):t.jsonp!==!1&&(t.url+=(Et.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||pe.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?pe(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,_t.push(i)),a&&pe.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),de.createHTMLDocument=function(){var e=te.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),pe.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var r,i,o;return t||(de.createHTMLDocument?(t=te.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=te.location.href,t.head.appendChild(r)):t=te),i=Ce.exec(e),o=!n&&[],i?[t.createElement(i[1])]:(i=A([e],t,o),o&&o.length&&pe(o).remove(),pe.merge([],i.childNodes))},pe.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=X(e.slice(s)),e=e.slice(0,s)),pe.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&pe.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?pe("<div>").append(pe.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},pe.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){pe.fn[t]=function(e){return this.on(t,e)}}),pe.expr.pseudos.animated=function(e){return pe.grep(pe.timers,function(t){return e===t.elem}).length},pe.offset={setOffset:function(e,t,n){var r,i,o,a,s,l,u,c=pe.css(e,"position"),f=pe(e),d={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=pe.css(e,"top"),l=pe.css(e,"left"),u=("absolute"===c||"fixed"===c)&&(o+l).indexOf("auto")>-1,u?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(l)||0),pe.isFunction(t)&&(t=t.call(e,n,pe.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+i),"using"in t?t.using.call(e,d):f.css(d)}},pe.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){pe.offset.setOffset(this,e,t)});var t,n,r,i,o=this[0];return o?o.getClientRects().length?(r=o.getBoundingClientRect(),r.width||r.height?(i=o.ownerDocument,n=Z(i),t=i.documentElement,{top:r.top+n.pageYOffset-t.clientTop,left:r.left+n.pageXOffset-t.clientLeft}):r):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===pe.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),pe.nodeName(e[0],"html")||(r=e.offset()),r={top:r.top+pe.css(e[0],"borderTopWidth",!0),left:r.left+pe.css(e[0],"borderLeftWidth",!0)}),{top:t.top-r.top-pe.css(n,"marginTop",!0),left:t.left-r.left-pe.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===pe.css(e,"position");)e=e.offsetParent;return e||Ve})}}),pe.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;pe.fn[e]=function(r){return Me(this,function(e,r,i){var o=Z(e);return void 0===i?o?o[t]:e[r]:void(o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i)},e,r,arguments.length)}}),pe.each(["top","left"],function(e,t){pe.cssHooks[t]=L(de.pixelPosition,function(e,n){if(n)return n=D(e,t),at.test(n)?pe(e).position()[t]+"px":n})}),pe.each({Height:"height",Width:"width"},function(e,t){pe.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){pe.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(i===!0||o===!0?"margin":"border");return Me(this,function(t,n,i){var o;return pe.isWindow(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?pe.css(t,n,s):pe.style(t,n,i,s)},t,a?i:void 0,a)}})}),pe.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),pe.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return pe});var Xt=e.jQuery,Ut=e.$;return pe.noConflict=function(t){return e.$===pe&&(e.$=Ut),t&&e.jQuery===pe&&(e.jQuery=Xt),pe},t||(e.jQuery=e.$=pe),pe}),!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t(require,exports,module):e.Tether=t()}(this,function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e){var t=e.getBoundingClientRect(),n={};for(var r in t)n[r]=t[r];if(e.ownerDocument!==document){var o=e.ownerDocument.defaultView.frameElement;if(o){var a=i(o);n.top+=a.top,n.bottom+=a.top,n.left+=a.left,n.right+=a.left}}return n}function o(e){var t=getComputedStyle(e)||{},n=t.position,r=[];if("fixed"===n)return[e];for(var i=e;(i=i.parentNode)&&i&&1===i.nodeType;){var o=void 0;try{o=getComputedStyle(i)}catch(e){}if("undefined"==typeof o||null===o)return r.push(i),r;var a=o,s=a.overflow,l=a.overflowX,u=a.overflowY;/(auto|scroll)/.test(s+u+l)&&("absolute"!==n||["relative","absolute","fixed"].indexOf(o.position)>=0)&&r.push(i)}return r.push(e.ownerDocument.body),e.ownerDocument!==document&&r.push(e.ownerDocument.defaultView),r}function a(){E&&document.body.removeChild(E),E=null}function s(e){var t=void 0;e===document?(t=document,e=document.documentElement):t=e.ownerDocument;var n=t.documentElement,r=i(e),o=O();return r.top-=o.top,r.left-=o.left,"undefined"==typeof r.width&&(r.width=document.body.scrollWidth-r.left-r.right),"undefined"==typeof r.height&&(r.height=document.body.scrollHeight-r.top-r.bottom),r.top=r.top-n.clientTop,r.left=r.left-n.clientLeft,r.right=t.body.clientWidth-r.width-r.left,r.bottom=t.body.clientHeight-r.height-r.top,r}function l(e){return e.offsetParent||document.documentElement}function u(){if(j)return j;var e=document.createElement("div");e.style.width="100%",e.style.height="200px";var t=document.createElement("div");c(t.style,{position:"absolute",top:0,left:0,pointerEvents:"none",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),t.appendChild(e),document.body.appendChild(t);var n=e.offsetWidth;t.style.overflow="scroll";var r=e.offsetWidth;n===r&&(r=t.clientWidth),document.body.removeChild(t);var i=n-r;return j={width:i,height:i}}function c(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=[];return Array.prototype.push.apply(t,arguments),t.slice(1).forEach(function(t){if(t)for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}),e}function f(e,t){if("undefined"!=typeof e.classList)t.split(" ").forEach(function(t){t.trim()&&e.classList.remove(t)});else{var n=new RegExp("(^| )"+t.split(" ").join("|")+"( |$)","gi"),r=p(e).replace(n," ");g(e,r)}}function d(e,t){if("undefined"!=typeof e.classList)t.split(" ").forEach(function(t){t.trim()&&e.classList.add(t)});else{f(e,t);var n=p(e)+(" "+t);g(e,n)}}function h(e,t){if("undefined"!=typeof e.classList)return e.classList.contains(t);var n=p(e);return new RegExp("(^| )"+t+"( |$)","gi").test(n)}function p(e){return e.className instanceof e.ownerDocument.defaultView.SVGAnimatedString?e.className.baseVal:e.className}function g(e,t){e.setAttribute("class",t)}function m(e,t,n){n.forEach(function(n){-1===t.indexOf(n)&&h(e,n)&&f(e,n)}),t.forEach(function(t){h(e,t)||d(e,t)})}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function v(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function y(e,t){var n=arguments.length<=2||void 0===arguments[2]?1:arguments[2];return e+n>=t&&t>=e-n}function A(){return"undefined"!=typeof performance&&"undefined"!=typeof performance.now?performance.now():+new Date}function b(){for(var e={top:0,left:0},t=arguments.length,n=Array(t),r=0;t>r;r++)n[r]=arguments[r];return n.forEach(function(t){var n=t.top,r=t.left;"string"==typeof n&&(n=parseFloat(n,10)),"string"==typeof r&&(r=parseFloat(r,10)),e.top+=n,e.left+=r}),e}function x(e,t){return"string"==typeof e.left&&-1!==e.left.indexOf("%")&&(e.left=parseFloat(e.left,10)/100*t.width),"string"==typeof e.top&&-1!==e.top.indexOf("%")&&(e.top=parseFloat(e.top,10)/100*t.height),e}function w(e,t){return"scrollParent"===t?t=e.scrollParents[0]:"window"===t&&(t=[pageXOffset,pageYOffset,innerWidth+pageXOffset,innerHeight+pageYOffset]),t===document&&(t=t.documentElement),"undefined"!=typeof t.nodeType&&!function(){var e=t,n=s(t),r=n,i=getComputedStyle(t);if(t=[r.left,r.top,n.width+r.left,n.height+r.top],e.ownerDocument!==document){var o=e.ownerDocument.defaultView;t[0]+=o.pageXOffset,t[1]+=o.pageYOffset,t[2]+=o.pageXOffset,t[3]+=o.pageYOffset}Q.forEach(function(e,n){e=e[0].toUpperCase()+e.substr(1),"Top"===e||"Left"===e?t[n]+=parseFloat(i["border"+e+"Width"]):t[n]-=parseFloat(i["border"+e+"Width"])})}(),t}var C=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),T=void 0;"undefined"==typeof T&&(T={modules:[]});var E=null,S=function(){var e=0;return function(){return++e}}(),k={},O=function(){var e=E;e||(e=document.createElement("div"),e.setAttribute("data-tether-id",S()),c(e.style,{top:0,left:0,position:"absolute"}),document.body.appendChild(e),E=e);var t=e.getAttribute("data-tether-id");return"undefined"==typeof k[t]&&(k[t]=i(e),D(function(){delete k[t]})),k[t]},j=null,N=[],D=function(e){N.push(e)},L=function(){for(var e=void 0;e=N.pop();)e()},M=function(){function e(){r(this,e)}return C(e,[{key:"on",value:function(e,t,n){var r=!(arguments.length<=3||void 0===arguments[3])&&arguments[3];"undefined"==typeof this.bindings&&(this.bindings={}),"undefined"==typeof this.bindings[e]&&(this.bindings[e]=[]),this.bindings[e].push({handler:t,ctx:n,once:r})}},{key:"once",value:function(e,t,n){this.on(e,t,n,!0)}},{key:"off",value:function(e,t){if("undefined"!=typeof this.bindings&&"undefined"!=typeof this.bindings[e])if("undefined"==typeof t)delete this.bindings[e];else for(var n=0;n<this.bindings[e].length;)this.bindings[e][n].handler===t?this.bindings[e].splice(n,1):++n}},{key:"trigger",value:function(e){if("undefined"!=typeof this.bindings&&this.bindings[e]){for(var t=0,n=arguments.length,r=Array(n>1?n-1:0),i=1;n>i;i++)r[i-1]=arguments[i];for(;t<this.bindings[e].length;){var o=this.bindings[e][t],a=o.handler,s=o.ctx,l=o.once,u=s;"undefined"==typeof u&&(u=this),a.apply(u,r),l?this.bindings[e].splice(t,1):++t}}}}]),e}();T.Utils={getActualBoundingClientRect:i,getScrollParents:o,getBounds:s,getOffsetParent:l,extend:c,addClass:d,removeClass:f,hasClass:h,updateClasses:m,defer:D,flush:L,uniqueId:S,Evented:M,getScrollBarSize:u,removeUtilElements:a};var F=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),C=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),q=function(e,t,n){for(var r=!0;r;){var i=e,o=t,a=n;r=!1,null===i&&(i=Function.prototype);var s=Object.getOwnPropertyDescriptor(i,o);if(void 0!==s){if("value"in s)return s.value;var l=s.get;if(void 0===l)return;return l.call(a)}var u=Object.getPrototypeOf(i);if(null===u)return;e=u,t=o,n=a,r=!0,s=u=void 0}};if("undefined"==typeof T)throw new Error("You must include the utils.js file before tether.js");var H=T.Utils,o=H.getScrollParents,s=H.getBounds,l=H.getOffsetParent,c=H.extend,d=H.addClass,f=H.removeClass,m=H.updateClasses,D=H.defer,L=H.flush,u=H.getScrollBarSize,a=H.removeUtilElements,R=function(){if("undefined"==typeof document)return"";for(var e=document.createElement("div"),t=["transform","WebkitTransform","OTransform","MozTransform","msTransform"],n=0;n<t.length;++n){var r=t[n];if(void 0!==e.style[r])return r}}(),P=[],B=function(){P.forEach(function(e){e.position(!1)}),L()};!function(){var e=null,t=null,n=null,r=function r(){return"undefined"!=typeof t&&t>16?(t=Math.min(t-16,250),void(n=setTimeout(r,250))):void("undefined"!=typeof e&&A()-e<10||(null!=n&&(clearTimeout(n),n=null),e=A(),B(),t=A()-e))};"undefined"!=typeof window&&"undefined"!=typeof window.addEventListener&&["resize","scroll","touchmove"].forEach(function(e){window.addEventListener(e,r)})}();var I={center:"center",left:"right",right:"left"},z={middle:"middle",top:"bottom",bottom:"top"},W={top:0,left:0,
-middle:"50%",center:"50%",bottom:"100%",right:"100%"},_=function(e,t){var n=e.left,r=e.top;return"auto"===n&&(n=I[t.left]),"auto"===r&&(r=z[t.top]),{left:n,top:r}},$=function(e){var t=e.left,n=e.top;return"undefined"!=typeof W[e.left]&&(t=W[e.left]),"undefined"!=typeof W[e.top]&&(n=W[e.top]),{left:t,top:n}},X=function(e){var t=e.split(" "),n=F(t,2),r=n[0],i=n[1];return{top:r,left:i}},U=X,Y=function(e){function t(e){var n=this;r(this,t),q(Object.getPrototypeOf(t.prototype),"constructor",this).call(this),this.position=this.position.bind(this),P.push(this),this.history=[],this.setOptions(e,!1),T.modules.forEach(function(e){"undefined"!=typeof e.initialize&&e.initialize.call(n)}),this.position()}return v(t,e),C(t,[{key:"getClass",value:function(){var e=arguments.length<=0||void 0===arguments[0]?"":arguments[0],t=this.options.classes;return"undefined"!=typeof t&&t[e]?this.options.classes[e]:this.options.classPrefix?this.options.classPrefix+"-"+e:e}},{key:"setOptions",value:function(e){var t=this,n=arguments.length<=1||void 0===arguments[1]||arguments[1],r={offset:"0 0",targetOffset:"0 0",targetAttachment:"auto auto",classPrefix:"tether"};this.options=c(r,e);var i=this.options,a=i.element,s=i.target,l=i.targetModifier;if(this.element=a,this.target=s,this.targetModifier=l,"viewport"===this.target?(this.target=document.body,this.targetModifier="visible"):"scroll-handle"===this.target&&(this.target=document.body,this.targetModifier="scroll-handle"),["element","target"].forEach(function(e){if("undefined"==typeof t[e])throw new Error("Tether Error: Both element and target must be defined");"undefined"!=typeof t[e].jquery?t[e]=t[e][0]:"string"==typeof t[e]&&(t[e]=document.querySelector(t[e]))}),d(this.element,this.getClass("element")),this.options.addTargetClasses!==!1&&d(this.target,this.getClass("target")),!this.options.attachment)throw new Error("Tether Error: You must provide an attachment");this.targetAttachment=U(this.options.targetAttachment),this.attachment=U(this.options.attachment),this.offset=X(this.options.offset),this.targetOffset=X(this.options.targetOffset),"undefined"!=typeof this.scrollParents&&this.disable(),"scroll-handle"===this.targetModifier?this.scrollParents=[this.target]:this.scrollParents=o(this.target),this.options.enabled!==!1&&this.enable(n)}},{key:"getTargetBounds",value:function(){if("undefined"==typeof this.targetModifier)return s(this.target);if("visible"===this.targetModifier){if(this.target===document.body)return{top:pageYOffset,left:pageXOffset,height:innerHeight,width:innerWidth};var e=s(this.target),t={height:e.height,width:e.width,top:e.top,left:e.left};return t.height=Math.min(t.height,e.height-(pageYOffset-e.top)),t.height=Math.min(t.height,e.height-(e.top+e.height-(pageYOffset+innerHeight))),t.height=Math.min(innerHeight,t.height),t.height-=2,t.width=Math.min(t.width,e.width-(pageXOffset-e.left)),t.width=Math.min(t.width,e.width-(e.left+e.width-(pageXOffset+innerWidth))),t.width=Math.min(innerWidth,t.width),t.width-=2,t.top<pageYOffset&&(t.top=pageYOffset),t.left<pageXOffset&&(t.left=pageXOffset),t}if("scroll-handle"===this.targetModifier){var e=void 0,n=this.target;n===document.body?(n=document.documentElement,e={left:pageXOffset,top:pageYOffset,height:innerHeight,width:innerWidth}):e=s(n);var r=getComputedStyle(n),i=n.scrollWidth>n.clientWidth||[r.overflow,r.overflowX].indexOf("scroll")>=0||this.target!==document.body,o=0;i&&(o=15);var a=e.height-parseFloat(r.borderTopWidth)-parseFloat(r.borderBottomWidth)-o,t={width:15,height:.975*a*(a/n.scrollHeight),left:e.left+e.width-parseFloat(r.borderLeftWidth)-15},l=0;408>a&&this.target===document.body&&(l=-11e-5*Math.pow(a,2)-.00727*a+22.58),this.target!==document.body&&(t.height=Math.max(t.height,24));var u=this.target.scrollTop/(n.scrollHeight-a);return t.top=u*(a-t.height-l)+e.top+parseFloat(r.borderTopWidth),this.target===document.body&&(t.height=Math.max(t.height,24)),t}}},{key:"clearCache",value:function(){this._cache={}}},{key:"cache",value:function(e,t){return"undefined"==typeof this._cache&&(this._cache={}),"undefined"==typeof this._cache[e]&&(this._cache[e]=t.call(this)),this._cache[e]}},{key:"enable",value:function(){var e=this,t=arguments.length<=0||void 0===arguments[0]||arguments[0];this.options.addTargetClasses!==!1&&d(this.target,this.getClass("enabled")),d(this.element,this.getClass("enabled")),this.enabled=!0,this.scrollParents.forEach(function(t){t!==e.target.ownerDocument&&t.addEventListener("scroll",e.position)}),t&&this.position()}},{key:"disable",value:function(){var e=this;f(this.target,this.getClass("enabled")),f(this.element,this.getClass("enabled")),this.enabled=!1,"undefined"!=typeof this.scrollParents&&this.scrollParents.forEach(function(t){t.removeEventListener("scroll",e.position)})}},{key:"destroy",value:function(){var e=this;this.disable(),P.forEach(function(t,n){t===e&&P.splice(n,1)}),0===P.length&&a()}},{key:"updateAttachClasses",value:function(e,t){var n=this;e=e||this.attachment,t=t||this.targetAttachment;var r=["left","top","bottom","right","middle","center"];"undefined"!=typeof this._addAttachClasses&&this._addAttachClasses.length&&this._addAttachClasses.splice(0,this._addAttachClasses.length),"undefined"==typeof this._addAttachClasses&&(this._addAttachClasses=[]);var i=this._addAttachClasses;e.top&&i.push(this.getClass("element-attached")+"-"+e.top),e.left&&i.push(this.getClass("element-attached")+"-"+e.left),t.top&&i.push(this.getClass("target-attached")+"-"+t.top),t.left&&i.push(this.getClass("target-attached")+"-"+t.left);var o=[];r.forEach(function(e){o.push(n.getClass("element-attached")+"-"+e),o.push(n.getClass("target-attached")+"-"+e)}),D(function(){"undefined"!=typeof n._addAttachClasses&&(m(n.element,n._addAttachClasses,o),n.options.addTargetClasses!==!1&&m(n.target,n._addAttachClasses,o),delete n._addAttachClasses)})}},{key:"position",value:function(){var e=this,t=arguments.length<=0||void 0===arguments[0]||arguments[0];if(this.enabled){this.clearCache();var n=_(this.targetAttachment,this.attachment);this.updateAttachClasses(this.attachment,n);var r=this.cache("element-bounds",function(){return s(e.element)}),i=r.width,o=r.height;if(0===i&&0===o&&"undefined"!=typeof this.lastSize){var a=this.lastSize;i=a.width,o=a.height}else this.lastSize={width:i,height:o};var c=this.cache("target-bounds",function(){return e.getTargetBounds()}),f=c,d=x($(this.attachment),{width:i,height:o}),h=x($(n),f),p=x(this.offset,{width:i,height:o}),g=x(this.targetOffset,f);d=b(d,p),h=b(h,g);for(var m=c.left+h.left-d.left,v=c.top+h.top-d.top,y=0;y<T.modules.length;++y){var A=T.modules[y],w=A.position.call(this,{left:m,top:v,targetAttachment:n,targetPos:c,elementPos:r,offset:d,targetOffset:h,manualOffset:p,manualTargetOffset:g,scrollbarSize:k,attachment:this.attachment});if(w===!1)return!1;"undefined"!=typeof w&&"object"==typeof w&&(v=w.top,m=w.left)}var C={page:{top:v,left:m},viewport:{top:v-pageYOffset,bottom:pageYOffset-v-o+innerHeight,left:m-pageXOffset,right:pageXOffset-m-i+innerWidth}},E=this.target.ownerDocument,S=E.defaultView,k=void 0;return S.innerHeight>E.documentElement.clientHeight&&(k=this.cache("scrollbar-size",u),C.viewport.bottom-=k.height),S.innerWidth>E.documentElement.clientWidth&&(k=this.cache("scrollbar-size",u),C.viewport.right-=k.width),(-1===["","static"].indexOf(E.body.style.position)||-1===["","static"].indexOf(E.body.parentElement.style.position))&&(C.page.bottom=E.body.scrollHeight-v-o,C.page.right=E.body.scrollWidth-m-i),"undefined"!=typeof this.options.optimizations&&this.options.optimizations.moveElement!==!1&&"undefined"==typeof this.targetModifier&&!function(){var t=e.cache("target-offsetparent",function(){return l(e.target)}),n=e.cache("target-offsetparent-bounds",function(){return s(t)}),r=getComputedStyle(t),i=n,o={};if(["Top","Left","Bottom","Right"].forEach(function(e){o[e.toLowerCase()]=parseFloat(r["border"+e+"Width"])}),n.right=E.body.scrollWidth-n.left-i.width+o.right,n.bottom=E.body.scrollHeight-n.top-i.height+o.bottom,C.page.top>=n.top+o.top&&C.page.bottom>=n.bottom&&C.page.left>=n.left+o.left&&C.page.right>=n.right){var a=t.scrollTop,u=t.scrollLeft;C.offset={top:C.page.top-n.top+a-o.top,left:C.page.left-n.left+u-o.left}}}(),this.move(C),this.history.unshift(C),this.history.length>3&&this.history.pop(),t&&L(),!0}}},{key:"move",value:function(e){var t=this;if("undefined"!=typeof this.element.parentNode){var n={};for(var r in e){n[r]={};for(var i in e[r]){for(var o=!1,a=0;a<this.history.length;++a){var s=this.history[a];if("undefined"!=typeof s[r]&&!y(s[r][i],e[r][i])){o=!0;break}}o||(n[r][i]=!0)}}var u={top:"",left:"",right:"",bottom:""},f=function(e,n){var r="undefined"!=typeof t.options.optimizations,i=r?t.options.optimizations.gpu:null;if(i!==!1){var o=void 0,a=void 0;if(e.top?(u.top=0,o=n.top):(u.bottom=0,o=-n.bottom),e.left?(u.left=0,a=n.left):(u.right=0,a=-n.right),window.matchMedia){var s=window.matchMedia("only screen and (min-resolution: 1.3dppx)").matches||window.matchMedia("only screen and (-webkit-min-device-pixel-ratio: 1.3)").matches;s||(a=Math.round(a),o=Math.round(o))}u[R]="translateX("+a+"px) translateY("+o+"px)","msTransform"!==R&&(u[R]+=" translateZ(0)")}else e.top?u.top=n.top+"px":u.bottom=n.bottom+"px",e.left?u.left=n.left+"px":u.right=n.right+"px"},d=!1;if((n.page.top||n.page.bottom)&&(n.page.left||n.page.right)?(u.position="absolute",f(n.page,e.page)):(n.viewport.top||n.viewport.bottom)&&(n.viewport.left||n.viewport.right)?(u.position="fixed",f(n.viewport,e.viewport)):"undefined"!=typeof n.offset&&n.offset.top&&n.offset.left?!function(){u.position="absolute";var r=t.cache("target-offsetparent",function(){return l(t.target)});l(t.element)!==r&&D(function(){t.element.parentNode.removeChild(t.element),r.appendChild(t.element)}),f(n.offset,e.offset),d=!0}():(u.position="absolute",f({top:!0,left:!0},e.page)),!d){for(var h=!0,p=this.element.parentNode;p&&1===p.nodeType&&"BODY"!==p.tagName;){if("static"!==getComputedStyle(p).position){h=!1;break}p=p.parentNode}h||(this.element.parentNode.removeChild(this.element),this.element.ownerDocument.body.appendChild(this.element))}var g={},m=!1;for(var i in u){var v=u[i],A=this.element.style[i];A!==v&&(m=!0,g[i]=v)}m&&D(function(){c(t.element.style,g),t.trigger("repositioned")})}}}]),t}(M);Y.modules=[],T.position=B;var G=c(Y,T),F=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),H=T.Utils,s=H.getBounds,c=H.extend,m=H.updateClasses,D=H.defer,Q=["left","top","right","bottom"];T.modules.push({position:function(e){var t=this,n=e.top,r=e.left,i=e.targetAttachment;if(!this.options.constraints)return!0;var o=this.cache("element-bounds",function(){return s(t.element)}),a=o.height,l=o.width;if(0===l&&0===a&&"undefined"!=typeof this.lastSize){var u=this.lastSize;l=u.width,a=u.height}var f=this.cache("target-bounds",function(){return t.getTargetBounds()}),d=f.height,h=f.width,p=[this.getClass("pinned"),this.getClass("out-of-bounds")];this.options.constraints.forEach(function(e){var t=e.outOfBoundsClass,n=e.pinnedClass;t&&p.push(t),n&&p.push(n)}),p.forEach(function(e){["left","top","right","bottom"].forEach(function(t){p.push(e+"-"+t)})});var g=[],v=c({},i),y=c({},this.attachment);return this.options.constraints.forEach(function(e){var o=e.to,s=e.attachment,u=e.pin;"undefined"==typeof s&&(s="");var c=void 0,f=void 0;if(s.indexOf(" ")>=0){var p=s.split(" "),m=F(p,2);f=m[0],c=m[1]}else c=f=s;var A=w(t,o);("target"===f||"both"===f)&&(n<A[1]&&"top"===v.top&&(n+=d,v.top="bottom"),n+a>A[3]&&"bottom"===v.top&&(n-=d,v.top="top")),"together"===f&&("top"===v.top&&("bottom"===y.top&&n<A[1]?(n+=d,v.top="bottom",n+=a,y.top="top"):"top"===y.top&&n+a>A[3]&&n-(a-d)>=A[1]&&(n-=a-d,v.top="bottom",y.top="bottom")),"bottom"===v.top&&("top"===y.top&&n+a>A[3]?(n-=d,v.top="top",n-=a,y.top="bottom"):"bottom"===y.top&&n<A[1]&&n+(2*a-d)<=A[3]&&(n+=a-d,v.top="top",y.top="top")),"middle"===v.top&&(n+a>A[3]&&"top"===y.top?(n-=a,y.top="bottom"):n<A[1]&&"bottom"===y.top&&(n+=a,y.top="top"))),("target"===c||"both"===c)&&(r<A[0]&&"left"===v.left&&(r+=h,v.left="right"),r+l>A[2]&&"right"===v.left&&(r-=h,v.left="left")),"together"===c&&(r<A[0]&&"left"===v.left?"right"===y.left?(r+=h,v.left="right",r+=l,y.left="left"):"left"===y.left&&(r+=h,v.left="right",r-=l,y.left="right"):r+l>A[2]&&"right"===v.left?"left"===y.left?(r-=h,v.left="left",r-=l,y.left="right"):"right"===y.left&&(r-=h,v.left="left",r+=l,y.left="left"):"center"===v.left&&(r+l>A[2]&&"left"===y.left?(r-=l,y.left="right"):r<A[0]&&"right"===y.left&&(r+=l,y.left="left"))),("element"===f||"both"===f)&&(n<A[1]&&"bottom"===y.top&&(n+=a,y.top="top"),n+a>A[3]&&"top"===y.top&&(n-=a,y.top="bottom")),("element"===c||"both"===c)&&(r<A[0]&&("right"===y.left?(r+=l,y.left="left"):"center"===y.left&&(r+=l/2,y.left="left")),r+l>A[2]&&("left"===y.left?(r-=l,y.left="right"):"center"===y.left&&(r-=l/2,y.left="right"))),"string"==typeof u?u=u.split(",").map(function(e){return e.trim()}):u===!0&&(u=["top","left","right","bottom"]),u=u||[];var b=[],x=[];n<A[1]&&(u.indexOf("top")>=0?(n=A[1],b.push("top")):x.push("top")),n+a>A[3]&&(u.indexOf("bottom")>=0?(n=A[3]-a,b.push("bottom")):x.push("bottom")),r<A[0]&&(u.indexOf("left")>=0?(r=A[0],b.push("left")):x.push("left")),r+l>A[2]&&(u.indexOf("right")>=0?(r=A[2]-l,b.push("right")):x.push("right")),b.length&&!function(){var e=void 0;e="undefined"!=typeof t.options.pinnedClass?t.options.pinnedClass:t.getClass("pinned"),g.push(e),b.forEach(function(t){g.push(e+"-"+t)})}(),x.length&&!function(){var e=void 0;e="undefined"!=typeof t.options.outOfBoundsClass?t.options.outOfBoundsClass:t.getClass("out-of-bounds"),g.push(e),x.forEach(function(t){g.push(e+"-"+t)})}(),(b.indexOf("left")>=0||b.indexOf("right")>=0)&&(y.left=v.left=!1),(b.indexOf("top")>=0||b.indexOf("bottom")>=0)&&(y.top=v.top=!1),(v.top!==i.top||v.left!==i.left||y.top!==t.attachment.top||y.left!==t.attachment.left)&&(t.updateAttachClasses(y,v),t.trigger("update",{attachment:y,targetAttachment:v}))}),D(function(){t.options.addTargetClasses!==!1&&m(t.target,g,p),m(t.element,g,p)}),{top:n,left:r}}});var H=T.Utils,s=H.getBounds,m=H.updateClasses,D=H.defer;T.modules.push({position:function(e){var t=this,n=e.top,r=e.left,i=this.cache("element-bounds",function(){return s(t.element)}),o=i.height,a=i.width,l=this.getTargetBounds(),u=n+o,c=r+a,f=[];n<=l.bottom&&u>=l.top&&["left","right"].forEach(function(e){var t=l[e];(t===r||t===c)&&f.push(e)}),r<=l.right&&c>=l.left&&["top","bottom"].forEach(function(e){var t=l[e];(t===n||t===u)&&f.push(e)});var d=[],h=[],p=["left","top","right","bottom"];return d.push(this.getClass("abutted")),p.forEach(function(e){d.push(t.getClass("abutted")+"-"+e)}),f.length&&h.push(this.getClass("abutted")),f.forEach(function(e){h.push(t.getClass("abutted")+"-"+e)}),D(function(){t.options.addTargetClasses!==!1&&m(t.target,h,d),m(t.element,h,d)}),!0}});var F=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&s.return&&s.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();return T.modules.push({position:function(e){var t=e.top,n=e.left;if(this.options.shift){var r=this.options.shift;"function"==typeof this.options.shift&&(r=this.options.shift.call(this,{top:t,left:n}));var i=void 0,o=void 0;if("string"==typeof r){r=r.split(" "),r[1]=r[1]||r[0];var a=r,s=F(a,2);i=s[0],o=s[1],i=parseFloat(i,10),o=parseFloat(o,10)}else i=r.top,o=r.left;return t+=i,n+=o,{top:t,left:n}}}}),G}),/*!
+!function(e){if(e.document){var t=e.document;t.querySelectorAll||(t.querySelectorAll=function(n){var r,i=t.createElement("style"),o=[];for(t.documentElement.firstChild.appendChild(i),t._qsa=[],i.styleSheet.cssText=n+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",e.scrollBy(0,0),i.parentNode.removeChild(i);t._qsa.length;)r=t._qsa.shift(),r.style.removeAttribute("x-qsa"),o.push(r);return t._qsa=null,o}),t.querySelector||(t.querySelector=function(e){var n=t.querySelectorAll(e);return n.length?n[0]:null}),t.getElementsByClassName||(t.getElementsByClassName=function(e){return e=String(e).replace(/^|\s+/g,"."),t.querySelectorAll(e)}),Object.keys||(Object.keys=function(e){if(e!==Object(e))throw TypeError("Object.keys called on non-object");var t,n=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.push(t);return n}),Array.prototype.forEach||(Array.prototype.forEach=function(e){if(void 0===this||null===this)throw TypeError();var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw TypeError();var r,i=arguments[1];for(r=0;r<n;r++)r in t&&e.call(i,t[r],r,t)}),function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.atob=e.atob||function(e){e=String(e);var n,r=0,i=[],o=0,a=0;if(e=e.replace(/\s/g,""),e.length%4==0&&(e=e.replace(/=+$/,"")),e.length%4==1)throw Error("InvalidCharacterError");if(/[^+\/0-9A-Za-z]/.test(e))throw Error("InvalidCharacterError");for(;r<e.length;)n=t.indexOf(e.charAt(r)),o=o<<6|n,a+=6,24===a&&(i.push(String.fromCharCode(o>>16&255)),i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o)),a=0,o=0),r+=1;return 12===a?(o>>=4,i.push(String.fromCharCode(255&o))):18===a&&(o>>=2,i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o))),i.join("")},e.btoa=e.btoa||function(e){e=String(e);var n,r,i,o,a,s,l,c=0,u=[];if(/[^\x00-\xFF]/.test(e))throw Error("InvalidCharacterError");for(;c<e.length;)n=e.charCodeAt(c++),r=e.charCodeAt(c++),i=e.charCodeAt(c++),o=n>>2,a=(3&n)<<4|r>>4,s=(15&r)<<2|i>>6,l=63&i,c===e.length+2?(s=64,l=64):c===e.length+1&&(l=64),u.push(t.charAt(o),t.charAt(a),t.charAt(s),t.charAt(l));return u.join("")}}(e),Object.prototype.hasOwnProperty||(Object.prototype.hasOwnProperty=function(e){var t=this.__proto__||this.constructor.prototype;return e in this&&(!(e in t)||t[e]!==this[e])}),function(){if("performance"in e==0&&(e.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in e.performance==0){var t=Date.now();performance.timing&&performance.timing.navigationStart&&(t=performance.timing.navigationStart),e.performance.now=function(){return Date.now()-t}}}(),e.requestAnimationFrame||(e.webkitRequestAnimationFrame&&e.webkitCancelAnimationFrame?function(e){e.requestAnimationFrame=function(t){return webkitRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=e.webkitCancelAnimationFrame}(e):e.mozRequestAnimationFrame&&e.mozCancelAnimationFrame?function(e){e.requestAnimationFrame=function(t){return mozRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=e.mozCancelAnimationFrame}(e):function(e){e.requestAnimationFrame=function(t){return e.setTimeout(t,1e3/60)},e.cancelAnimationFrame=e.clearTimeout}(e))}}(this),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Holder=t():e.Holder=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){(function(t){function r(e,t,n,r){var a=i(n.substr(n.lastIndexOf(e.domain)),e);a&&o({mode:null,el:r,flags:a,engineSettings:t})}function i(e,t){var n={theme:S(O.settings.themes.gray,null),stylesheets:t.stylesheets,instanceOptions:t},r=e.indexOf("?"),i=[e];r!==-1&&(i=[e.slice(0,r),e.slice(r+1)]);var o=i[0].split("/");n.holderURL=e;var a=o[1],s=a.match(/([\d]+p?)x([\d]+p?)/);if(!s)return!1;if(n.fluid=a.indexOf("p")!==-1,n.dimensions={width:s[1].replace("p","%"),height:s[2].replace("p","%")},2===i.length){var l=g.parse(i[1]);if(v.truthy(l.ratio)){n.fluid=!0;var c=parseFloat(n.dimensions.width.replace("%","")),u=parseFloat(n.dimensions.height.replace("%",""));u=Math.floor(u/c*100),c=100,n.dimensions.width=c+"%",n.dimensions.height=u+"%"}if(n.auto=v.truthy(l.auto),l.bg&&(n.theme.bg=v.parseColor(l.bg)),l.fg&&(n.theme.fg=v.parseColor(l.fg)),l.bg&&!l.fg&&(n.autoFg=!0),l.theme&&n.instanceOptions.themes.hasOwnProperty(l.theme)&&(n.theme=S(n.instanceOptions.themes[l.theme],null)),l.text&&(n.text=l.text),l.textmode&&(n.textmode=l.textmode),l.size&&(n.size=l.size),l.font&&(n.font=l.font),l.align&&(n.align=l.align),l.lineWrap&&(n.lineWrap=l.lineWrap),n.nowrap=v.truthy(l.nowrap),n.outline=v.truthy(l.outline),v.truthy(l.random)){O.vars.cache.themeKeys=O.vars.cache.themeKeys||Object.keys(n.instanceOptions.themes);var h=O.vars.cache.themeKeys[0|Math.random()*O.vars.cache.themeKeys.length];n.theme=S(n.instanceOptions.themes[h],null)}}return n}function o(e){var t=e.mode,n=e.el,r=e.flags,i=e.engineSettings,o=r.dimensions,s=r.theme,l=o.width+"x"+o.height;t=null==t?r.fluid?"fluid":"image":t;if(null!=r.text&&(s.text=r.text,"object"===n.nodeName.toLowerCase())){for(var h=s.text.split("\\n"),d=0;d<h.length;d++)h[d]=v.encodeHtmlEntity(h[d]);s.text=h.join("\\n")}if(s.text){var f=s.text.match(/holder_([a-z]+)/g);null!==f&&f.forEach(function(e){"holder_dimensions"===e&&(s.text=s.text.replace(e,l))})}var A=r.holderURL,p=S(i,null);if(r.font&&(s.font=r.font,!p.noFontFallback&&"img"===n.nodeName.toLowerCase()&&O.setup.supportsCanvas&&"svg"===p.renderer&&(p=S(p,{renderer:"canvas"}))),r.font&&"canvas"==p.renderer&&(p.reRender=!0),"background"==t)null==n.getAttribute("data-background-src")&&b.setAttr(n,{"data-background-src":A});else{var g={};g[O.vars.dataAttr]=A,b.setAttr(n,g)}r.theme=s,n.holderData={flags:r,engineSettings:p},"image"!=t&&"fluid"!=t||b.setAttr(n,{alt:s.text?s.text+" ["+l+"]":l});var m={mode:t,el:n,holderSettings:{dimensions:o,theme:s,flags:r},engineSettings:p};"image"==t?(r.auto||(n.style.width=o.width+"px",n.style.height=o.height+"px"),"html"==p.renderer?n.style.backgroundColor=s.bg:(a(m),"exact"==r.textmode&&(n.holderData.resizeUpdate=!0,O.vars.resizableImages.push(n),c(n)))):"background"==t&&"html"!=p.renderer?a(m):"fluid"==t&&(n.holderData.resizeUpdate=!0,"%"==o.height.slice(-1)?n.style.height=o.height:null!=r.auto&&r.auto||(n.style.height=o.height+"px"),"%"==o.width.slice(-1)?n.style.width=o.width:null!=r.auto&&r.auto||(n.style.width=o.width+"px"),"inline"!=n.style.display&&""!==n.style.display&&"none"!=n.style.display||(n.style.display="block"),u(n),"html"==p.renderer?n.style.backgroundColor=s.bg:(O.vars.resizableImages.push(n),c(n)))}function a(e){function n(){var t=null;switch(l.renderer){case"canvas":t=C(u,e);break;case"svg":t=E(u,e);break;default:throw"Holder: invalid renderer: "+l.renderer}return t}var r=null,i=e.mode,o=e.el,a=e.holderSettings,l=e.engineSettings;switch(l.renderer){case"svg":if(!O.setup.supportsSVG)return;break;case"canvas":if(!O.setup.supportsCanvas)return;break;default:return}var c={width:a.dimensions.width,height:a.dimensions.height,theme:a.theme,flags:a.flags},u=s(c);if(null==(r=n()))throw"Holder: couldn't render placeholder";"background"==i?(o.style.backgroundImage="url("+r+")",l.noBackgroundSize||(o.style.backgroundSize=c.width+"px "+c.height+"px")):("img"===o.nodeName.toLowerCase()?b.setAttr(o,{src:r}):"object"===o.nodeName.toLowerCase()&&b.setAttr(o,{data:r,type:"image/svg+xml"}),l.reRender&&t.setTimeout(function(){var e=n();if(null==e)throw"Holder: couldn't render placeholder";"img"===o.nodeName.toLowerCase()?b.setAttr(o,{src:e}):"object"===o.nodeName.toLowerCase()&&b.setAttr(o,{data:e,type:"image/svg+xml"})},150)),b.setAttr(o,{"data-holder-rendered":!0})}function s(e){function t(e,t,n,r){t.width=n,t.height=r,e.width=Math.max(e.width,t.width),e.height+=t.height}var n=O.defaults.size;switch(parseFloat(e.theme.size)?n=e.theme.size:parseFloat(e.flags.size)&&(n=e.flags.size),e.font={family:e.theme.font?e.theme.font:"Arial, Helvetica, Open Sans, sans-serif",size:l(e.width,e.height,n,O.defaults.scale),units:e.theme.units?e.theme.units:O.defaults.units,weight:e.theme.fontweight?e.theme.fontweight:"bold"},e.text=e.theme.text||Math.floor(e.width)+"x"+Math.floor(e.height),e.noWrap=e.theme.nowrap||e.flags.nowrap,e.align=e.theme.align||e.flags.align||"center",e.flags.textmode){case"literal":e.text=e.flags.dimensions.width+"x"+e.flags.dimensions.height;break;case"exact":if(!e.flags.exactDimensions)break;e.text=Math.floor(e.flags.exactDimensions.width)+"x"+Math.floor(e.flags.exactDimensions.height)}var r=e.flags.lineWrap||O.setup.lineWrapRatio,i=e.width*r,o=i,a=new m({width:e.width,height:e.height}),s=a.Shape,c=new s.Rect("holderBg",{fill:e.theme.bg});if(c.resize(e.width,e.height),a.root.add(c),e.flags.outline){var u=new w(c.properties.fill);u=u.lighten(u.lighterThan("7f7f7f")?-.1:.1),c.properties.outline={fill:u.toHex(!0),width:2}}var h=e.theme.fg;if(e.flags.autoFg){var d=new w(c.properties.fill),f=new w("fff"),A=new w("000",{alpha:.285714});h=d.blendAlpha(d.lighterThan("7f7f7f")?A:f).toHex(!0)}var p=new s.Group("holderTextGroup",{text:e.text,align:e.align,font:e.font,fill:h});p.moveTo(null,null,1),a.root.add(p);var g=p.textPositionData=M(a);if(!g)throw"Holder: staging fallback not supported yet.";p.properties.leading=g.boundingBox.height;var v=null,y=null;if(g.lineCount>1){var b,x=0,E=0,C=0;y=new s.Group("line"+C),"left"!==e.align&&"right"!==e.align||(o=e.width*(1-2*(1-r)));for(var S=0;S<g.words.length;S++){var k=g.words[S];v=new s.Text(k.text);var T="\\n"==k.text;!e.noWrap&&(x+k.width>=o||T===!0)&&(t(p,y,x,p.properties.leading),p.add(y),x=0,E+=p.properties.leading,C+=1,y=new s.Group("line"+C),y.y=E),T!==!0&&(v.moveTo(x,0),x+=g.spaceWidth+k.width,y.add(v))}if(t(p,y,x,p.properties.leading),p.add(y),"left"===e.align)p.moveTo(e.width-i,null,null);else if("right"===e.align){for(b in p.children)y=p.children[b],y.moveTo(e.width-y.width,null,null);p.moveTo(0-(e.width-i),null,null)}else{for(b in p.children)y=p.children[b],y.moveTo((p.width-y.width)/2,null,null);p.moveTo((e.width-p.width)/2,null,null)}p.moveTo(null,(e.height-p.height)/2,null),(e.height-p.height)/2<0&&p.moveTo(null,0,null)}else v=new s.Text(e.text),y=new s.Group("line0"),y.add(v),p.add(y),"left"===e.align?p.moveTo(e.width-i,null,null):"right"===e.align?p.moveTo(0-(e.width-i),null,null):p.moveTo((e.width-g.boundingBox.width)/2,null,null),p.moveTo(null,(e.height-g.boundingBox.height)/2,null);return a}function l(e,t,n,r){var i=parseInt(e,10),o=parseInt(t,10),a=Math.max(i,o),s=Math.min(i,o),l=.8*Math.min(s,a*r);return Math.round(Math.max(n,l))}function c(e){var t;t=null==e||null==e.nodeType?O.vars.resizableImages:[e];for(var n=0,r=t.length;n<r;n++){var i=t[n];if(i.holderData){var o=i.holderData.flags,s=k(i);if(s){if(!i.holderData.resizeUpdate)continue;if(o.fluid&&o.auto){var l=i.holderData.fluidConfig;switch(l.mode){case"width":s.height=s.width/l.ratio;break;case"height":s.width=s.height*l.ratio}}var c={mode:"image",holderSettings:{dimensions:s,theme:o.theme,flags:o},el:i,engineSettings:i.holderData.engineSettings};"exact"==o.textmode&&(o.exactDimensions=s,c.holderSettings.dimensions=o.dimensions),a(c)}else d(i)}}}function u(e){if(e.holderData){var t=k(e);if(t){var n=e.holderData.flags,r={fluidHeight:"%"==n.dimensions.height.slice(-1),fluidWidth:"%"==n.dimensions.width.slice(-1),mode:null,initialDimensions:t};r.fluidWidth&&!r.fluidHeight?(r.mode="width",r.ratio=r.initialDimensions.width/parseFloat(n.dimensions.height)):!r.fluidWidth&&r.fluidHeight&&(r.mode="height",r.ratio=parseFloat(n.dimensions.width)/r.initialDimensions.height),e.holderData.fluidConfig=r}else d(e)}}function h(){var e,n=[];Object.keys(O.vars.invisibleImages).forEach(function(t){e=O.vars.invisibleImages[t],k(e)&&"img"==e.nodeName.toLowerCase()&&(n.push(e),delete O.vars.invisibleImages[t])}),n.length&&j.run({images:n}),setTimeout(function(){t.requestAnimationFrame(h)},10)}function d(e){e.holderData.invisibleId||(O.vars.invisibleId+=1,O.vars.invisibleImages["i"+O.vars.invisibleId]=e,e.holderData.invisibleId=O.vars.invisibleId)}function f(e){O.vars.debounceTimer||e.call(this),O.vars.debounceTimer&&t.clearTimeout(O.vars.debounceTimer),O.vars.debounceTimer=t.setTimeout(function(){O.vars.debounceTimer=null,e.call(this)},O.setup.debounce)}function A(){f(function(){c(null)})}var p=n(2),g=n(3),m=n(6),v=n(7),y=n(8),b=n(9),w=n(10),x=n(11),E=n(12),C=n(15),S=v.extend,k=v.dimensionCheck,T=x.svg_ns,j={version:x.version,addTheme:function(e,t){return null!=e&&null!=t&&(O.settings.themes[e]=t),delete O.vars.cache.themeKeys,this},addImage:function(e,t){return b.getNodeArray(t).forEach(function(t){var n=b.newEl("img"),r={};r[O.setup.dataAttr]=e,b.setAttr(n,r),t.appendChild(n)}),this},setResizeUpdate:function(e,t){e.holderData&&(e.holderData.resizeUpdate=!!t,e.holderData.resizeUpdate&&c(e))},run:function(e){e=e||{};var n={},a=S(O.settings,e);O.vars.preempted=!0,O.vars.dataAttr=a.dataAttr||O.setup.dataAttr,n.renderer=a.renderer?a.renderer:O.setup.renderer,O.setup.renderers.join(",").indexOf(n.renderer)===-1&&(n.renderer=O.setup.supportsSVG?"svg":O.setup.supportsCanvas?"canvas":"html");var s=b.getNodeArray(a.images),l=b.getNodeArray(a.bgnodes),c=b.getNodeArray(a.stylenodes),u=b.getNodeArray(a.objects);return n.stylesheets=[],n.svgXMLStylesheet=!0,n.noFontFallback=!!a.noFontFallback,n.noBackgroundSize=!!a.noBackgroundSize,c.forEach(function(e){if(e.attributes.rel&&e.attributes.href&&"stylesheet"==e.attributes.rel.value){var t=e.attributes.href.value,r=b.newEl("a");r.href=t;var i=r.protocol+"//"+r.host+r.pathname+r.search;n.stylesheets.push(i)}}),l.forEach(function(e){if(t.getComputedStyle){var r=t.getComputedStyle(e,null).getPropertyValue("background-image"),s=e.getAttribute("data-background-src"),l=s||r,c=null,u=a.domain+"/",h=l.indexOf(u);if(0===h)c=l;else if(1===h&&"?"===l[0])c=l.slice(1);else{var d=l.substr(h).match(/([^\"]*)"?\)/);if(null!==d)c=d[1];else if(0===l.indexOf("url("))throw"Holder: unable to parse background URL: "+l}if(c){var f=i(c,a);f&&o({mode:"background",el:e,flags:f,engineSettings:n})}}}),u.forEach(function(e){var t={};try{t.data=e.getAttribute("data"),t.dataSrc=e.getAttribute(O.vars.dataAttr)}catch(e){}var i=null!=t.data&&0===t.data.indexOf(a.domain),o=null!=t.dataSrc&&0===t.dataSrc.indexOf(a.domain);i?r(a,n,t.data,e):o&&r(a,n,t.dataSrc,e)}),s.forEach(function(e){var t={};try{t.src=e.getAttribute("src"),t.dataSrc=e.getAttribute(O.vars.dataAttr),t.rendered=e.getAttribute("data-holder-rendered")}catch(e){}var i=null!=t.src,o=null!=t.dataSrc&&0===t.dataSrc.indexOf(a.domain),s=null!=t.rendered&&"true"==t.rendered;i?0===t.src.indexOf(a.domain)?r(a,n,t.src,e):o&&(s?r(a,n,t.dataSrc,e):function(e,t,n,i,o){v.imageExists(e,function(e){e||r(t,n,i,o)})}(t.src,a,n,t.dataSrc,e)):o&&r(a,n,t.dataSrc,e)}),this}},O={settings:{domain:"holder.js",images:"img",objects:"object",bgnodes:"body .holderjs",stylenodes:"head link.holderjs",themes:{gray:{bg:"#EEEEEE",fg:"#AAAAAA"},social:{bg:"#3a5a97",fg:"#FFFFFF"},industrial:{bg:"#434A52",fg:"#C2F200"},sky:{bg:"#0D8FDB",fg:"#FFFFFF"},vine:{bg:"#39DBAC",fg:"#1E292C"},lava:{bg:"#F8591A",fg:"#1C2846"}}},defaults:{size:10,units:"pt",scale:1/16}},M=function(){var e=null,t=null,n=null;return function(r){var i=r.root;if(O.setup.supportsSVG){var o=!1;null!=e&&e.parentNode===document.body||(o=!0),e=y.initSVG(e,i.properties.width,i.properties.height),e.style.display="block",o&&(t=b.newEl("text",T),n=function(e){return document.createTextNode(e)}(null),b.setAttr(t,{x:0}),t.appendChild(n),e.appendChild(t),document.body.appendChild(e),e.style.visibility="hidden",e.style.position="absolute",e.style.top="-100%",e.style.left="-100%");var a=i.children.holderTextGroup,s=a.properties;b.setAttr(t,{y:s.font.size,style:v.cssProps({"font-weight":s.font.weight,"font-size":s.font.size+s.font.units,"font-family":s.font.family})}),n.nodeValue=s.text;var l=t.getBBox(),c=Math.ceil(l.width/i.properties.width),u=s.text.split(" "),h=s.text.match(/\\n/g);c+=null==h?0:h.length,n.nodeValue=s.text.replace(/[ ]+/g,"");var d=t.getComputedTextLength(),f=l.width-d,A=Math.round(f/Math.max(1,u.length-1)),p=[];if(c>1){n.nodeValue="";for(var g=0;g<u.length;g++)if(0!==u[g].length){n.nodeValue=v.decodeHtmlEntity(u[g]);var m=t.getBBox();p.push({text:u[g],width:m.width})}}return e.style.display="none",{spaceWidth:A,lineCount:c,boundingBox:l,words:p}}return!1}}();for(var D in O.flags)O.flags.hasOwnProperty(D)&&(O.flags[D].match=function(e){return e.match(this.regex)});O.setup={renderer:"html",debounce:100,ratio:1,supportsCanvas:!1,supportsSVG:!1,lineWrapRatio:.9,dataAttr:"data-src",renderers:["html","canvas","svg"]},O.vars={preempted:!1,resizableImages:[],invisibleImages:{},invisibleId:0,visibilityCheckStarted:!1,debounceTimer:null,cache:{}},function(){var e=b.newEl("canvas");e.getContext&&e.toDataURL("image/png").indexOf("data:image/png")!=-1&&(O.setup.renderer="canvas",O.setup.supportsCanvas=!0),document.createElementNS&&document.createElementNS(T,"svg").createSVGRect&&(O.setup.renderer="svg",O.setup.supportsSVG=!0)}(),function(){O.vars.visibilityCheckStarted||(t.requestAnimationFrame(h),O.vars.visibilityCheckStarted=!0)}(),p&&p(function(){O.vars.preempted||j.run(),t.addEventListener?(t.addEventListener("resize",A,!1),t.addEventListener("orientationchange",A,!1)):t.attachEvent("onresize",A),"object"==typeof t.Turbolinks&&t.document.addEventListener("page:change",function(){j.run()})}),e.exports=j}).call(t,function(){return this}())},function(e,t){e.exports="undefined"!=typeof window&&function(e){function t(e){if(!w){if(!a.body)return i(t);for(w=!0;e=x.shift();)i(e)}}function n(e){(y||e.type===l||a[d]===h)&&(r(),t())}function r(){y?(a[v](g,n,c),e[v](l,n,c)):(a[A](m,n),e[A](u,n))}function i(e,t){setTimeout(e,+t>=0?t:1)}function o(e){w?i(e):x.push(e)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function e(){document.removeEventListener("DOMContentLoaded",e,!1),document.readyState="complete"},!1),document.readyState="loading");var a=e.document,s=a.documentElement,l="load",c=!1,u="on"+l,h="complete",d="readyState",f="attachEvent",A="detachEvent",p="addEventListener",g="DOMContentLoaded",m="onreadystatechange",v="removeEventListener",y=p in a,b=c,w=c,x=[];if(a[d]===h)i(t);else if(y)a[p](g,n,c),e[p](l,n,c);else{a[f](m,n),e[f](u,n);try{b=null==e.frameElement&&s}catch(e){}b&&b.doScroll&&function e(){if(!w){try{b.doScroll("left")}catch(t){return i(e,50)}r(),t()}}()}return o.version="1.4.0",o.isReady=function(){return w},o}(window)},function(e,t,n){var r=encodeURIComponent,i=decodeURIComponent,o=n(4),a=n(5),s=/(\w+)\[(\d+)\]/,l=/\w+\.\w+/;t.parse=function(e){if("string"!=typeof e)return{};if(""===(e=o(e)))return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var t={},n=e.split("&"),r=0;r<n.length;r++){var a,c,u,h=n[r].split("="),d=i(h[0]);if(a=s.exec(d))t[a[1]]=t[a[1]]||[],t[a[1]][a[2]]=i(h[1]);else if(a=l.test(d)){for(a=d.split("."),c=t;a.length;)if(u=a.shift(),u.length){if(c[u]){if(c[u]&&"object"!=typeof c[u])break}else c[u]={};a.length||(c[u]=i(h[1])),c=c[u]}}else t[h[0]]=null==h[1]?"":i(h[1])}return t},t.stringify=function(e){if(!e)return"";var t=[];for(var n in e){var i=e[n];if("array"!=a(i))t.push(r(n)+"="+r(e[n]));else for(var o=0;o<i.length;++o)t.push(r(n+"["+o+"]")+"="+r(i[o]))}return t.join("&")}},function(e,t){function n(e){return e.replace(/^\s*|\s*$/g,"")}t=e.exports=n,t.left=function(e){return e.replace(/^\s*/,"")},t.right=function(e){return e.replace(/\s*$/,"")}},function(e,t){function n(e){return!(null==e||!(e._isBuffer||e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)))}var r=Object.prototype.toString;e.exports=function(e){switch(r.call(e)){case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object Error]":return"error"}return null===e?"null":void 0===e?"undefined":e!==e?"nan":e&&1===e.nodeType?"element":n(e)?"buffer":typeof(e=e.valueOf?e.valueOf():Object.prototype.valueOf.apply(e))}},function(e,t){var n=function(e){function t(e,t){for(var n in t)e[n]=t[n];return e}var n=1,r=function(e){n++,this.parent=null,this.children={},this.id=n,this.name="n"+n,void 0!==e&&(this.name=e),this.x=this.y=this.z=0,this.width=this.height=0};r.prototype.resize=function(e,t){null!=e&&(this.width=e),null!=t&&(this.height=t)},r.prototype.moveTo=function(e,t,n){this.x=null!=e?e:this.x,this.y=null!=t?t:this.y,this.z=null!=n?n:this.z},r.prototype.add=function(e){var t=e.name;if(void 0!==this.children[t])throw"SceneGraph: child already exists: "+t;this.children[t]=e,e.parent=this};var i=function(){r.call(this,"root"),this.properties=e};i.prototype=new r;var o=function(e,n){if(r.call(this,e),this.properties={fill:"#000000"},void 0!==n)t(this.properties,n);else if(void 0!==e&&"string"!=typeof e)throw"SceneGraph: invalid node name"};o.prototype=new r;var a=function(){o.apply(this,arguments),this.type="group"};a.prototype=new o;var s=function(){o.apply(this,arguments),this.type="rect"};s.prototype=new o;var l=function(e){o.call(this),this.type="text",this.properties.text=e};l.prototype=new o;var c=new i;return this.Shape={Rect:s,Text:l,Group:a},this.root=c,this};e.exports=n},function(e,t){(function(e){t.extend=function(e,t){var n={};for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);if(null!=t)for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);return n},t.cssProps=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+":"+e[n]);return t.join(";")},t.encodeHtmlEntity=function(e){for(var t=[],n=0,r=e.length-1;r>=0;r--)n=e.charCodeAt(r),n>128?t.unshift(["&#",n,";"].join("")):t.unshift(e[r]);return t.join("")},t.imageExists=function(e,t){var n=new Image;n.onerror=function(){t.call(this,!1)},n.onload=function(){t.call(this,!0)},n.src=e},t.decodeHtmlEntity=function(e){return e.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(t)})},t.dimensionCheck=function(e){var t={height:e.clientHeight,width:e.clientWidth};return!(!t.height||!t.width)&&t},t.truthy=function(e){return"string"==typeof e?"true"===e||"yes"===e||"1"===e||"on"===e||"✓"===e:!!e},t.parseColor=function(e){var t,n=e.match(/(^(?:#?)[0-9a-f]{6}$)|(^(?:#?)[0-9a-f]{3}$)/i);return null!==n?(t=n[1]||n[2],"#"!==t[0]?"#"+t:t):(n=e.match(/^rgb\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/),null!==n?t="rgb("+n.slice(1).join(",")+")":(n=e.match(/^rgba\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0\.\d{1,}|1)\)$/),null!==n?t="rgba("+n.slice(1).join(",")+")":null))},t.canvasRatio=function(){var t=1,n=1;if(e.document){var r=e.document.createElement("canvas");if(r.getContext){var i=r.getContext("2d");t=e.devicePixelRatio||1,n=i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1}}return t/n}}).call(t,function(){return this}())},function(e,t,n){(function(e){var r=n(9),i="http://www.w3.org/2000/svg";t.initSVG=function(e,t,n){var o,a,s=!1;e&&e.querySelector?null===(a=e.querySelector("style"))&&(s=!0):(e=r.newEl("svg",i),s=!0),s&&(o=r.newEl("defs",i),a=r.newEl("style",i),r.setAttr(a,{type:"text/css"}),o.appendChild(a),e.appendChild(o)),e.webkitMatchesSelector&&e.setAttribute("xmlns",i);for(var l=0;l<e.childNodes.length;l++)8===e.childNodes[l].nodeType&&e.removeChild(e.childNodes[l]);for(;a.childNodes.length;)a.removeChild(a.childNodes[0]);return r.setAttr(e,{width:t,height:n,viewBox:"0 0 "+t+" "+n,preserveAspectRatio:"none"}),e},t.svgStringToDataURI=function(){return function(t,n){return n?"data:image/svg+xml;charset=UTF-8;base64,"+btoa(e.unescape(encodeURIComponent(t))):"data:image/svg+xml;charset=UTF-8,"+encodeURIComponent(t)}}(),t.serializeSVG=function(t,n){if(e.XMLSerializer){var i=new XMLSerializer,o="",a=n.stylesheets;if(n.svgXMLStylesheet){for(var s=r.createXML(),l=a.length-1;l>=0;l--){var c=s.createProcessingInstruction("xml-stylesheet",'href="'+a[l]+'" rel="stylesheet"');s.insertBefore(c,s.firstChild)}s.removeChild(s.documentElement),o=i.serializeToString(s)}var u=i.serializeToString(t);return u=u.replace(/\&amp;(\#[0-9]{2,}\;)/g,"&$1"),o+u}}}).call(t,function(){return this}())},function(e,t){(function(e){t.newEl=function(t,n){if(e.document)return null==n?e.document.createElement(t):e.document.createElementNS(n,t)},t.setAttr=function(e,t){for(var n in t)e.setAttribute(n,t[n])},t.createXML=function(){if(e.DOMParser)return(new DOMParser).parseFromString("<xml />","application/xml")},t.getNodeArray=function(t){var n=null;return"string"==typeof t?n=document.querySelectorAll(t):e.NodeList&&t instanceof e.NodeList?n=t:e.Node&&t instanceof e.Node?n=[t]:e.HTMLCollection&&t instanceof e.HTMLCollection?n=t:t instanceof Array?n=t:null===t&&(n=[]),n=Array.prototype.slice.call(n)}}).call(t,function(){return this}())},function(e,t){var n=function(e,t){"string"==typeof e&&(this.original=e,"#"===e.charAt(0)&&(e=e.slice(1)),/[^a-f0-9]+/i.test(e)||(3===e.length&&(e=e.replace(/./g,"$&$&")),6===e.length&&(this.alpha=1,t&&t.alpha&&(this.alpha=t.alpha),this.set(parseInt(e,16)))))};n.rgb2hex=function(e,t,n){function r(e){var t=(0|e).toString(16);return e<16&&(t="0"+t),t}return[e,t,n].map(r).join("")},n.hsl2rgb=function(e,t,n){var r=e/60,i=(1-Math.abs(2*n-1))*t,o=i*(1-Math.abs(parseInt(r)%2-1)),a=n-i/2,s=0,l=0,c=0;return r>=0&&r<1?(s=i,l=o):r>=1&&r<2?(s=o,l=i):r>=2&&r<3?(l=i,c=o):r>=3&&r<4?(l=o,c=i):r>=4&&r<5?(s=o,c=i):r>=5&&r<6&&(s=i,c=o),s+=a,l+=a,c+=a,s=parseInt(255*s),l=parseInt(255*l),c=parseInt(255*c),[s,l,c]},n.prototype.set=function(e){this.raw=e;var t=(16711680&this.raw)>>16,n=(65280&this.raw)>>8,r=255&this.raw,i=.2126*t+.7152*n+.0722*r,o=-.09991*t-.33609*n+.436*r,a=.615*t-.55861*n-.05639*r;return this.rgb={r:t,g:n,b:r},this.yuv={y:i,u:o,v:a},this},n.prototype.lighten=function(e){var t=Math.min(1,Math.max(0,Math.abs(e)))*(e<0?-1:1),r=255*t|0,i=Math.min(255,Math.max(0,this.rgb.r+r)),o=Math.min(255,Math.max(0,this.rgb.g+r)),a=Math.min(255,Math.max(0,this.rgb.b+r));return new n(n.rgb2hex(i,o,a))},n.prototype.toHex=function(e){return(e?"#":"")+this.raw.toString(16)},n.prototype.lighterThan=function(e){return e instanceof n||(e=new n(e)),this.yuv.y>e.yuv.y},n.prototype.blendAlpha=function(e){e instanceof n||(e=new n(e));var t=e,r=this,i=t.alpha*t.rgb.r+(1-t.alpha)*r.rgb.r,o=t.alpha*t.rgb.g+(1-t.alpha)*r.rgb.g,a=t.alpha*t.rgb.b+(1-t.alpha)*r.rgb.b;return new n(n.rgb2hex(i,o,a))},e.exports=n},function(e,t){e.exports={version:"2.9.4",svg_ns:"http://www.w3.org/2000/svg"}},function(e,t,n){function r(e,t){return h.element({tag:t,width:e.width,height:e.height,fill:e.properties.fill})}function i(e){return c.cssProps({fill:e.fill,"font-weight":e.font.weight,"font-family":e.font.family+", monospace","font-size":e.font.size+e.font.units})}function o(e,t,n){var r=n/2;return["M",r,r,"H",e-r,"V",t-r,"H",r,"V",0,"M",0,r,"L",e,t-r,"M",0,t-r,"L",e,r].join(" ")}var a=n(13),s=n(8),l=n(11),c=n(7),u=l.svg_ns,h={element:function(e){var t=e.tag,n=e.content||"";return delete e.tag,delete e.content,[t,n,e]}};e.exports=function(e,t){var n=t.engineSettings,l=n.stylesheets,c=l.map(function(e){return'<?xml-stylesheet rel="stylesheet" href="'+e+'"?>'}).join("\n"),d="holder_"+Number(new Date).toString(16),f=e.root,A=f.children.holderTextGroup,p="#"+d+" text { "+i(A.properties)+" } ";A.y+=.8*A.textPositionData.boundingBox.height;var g=[];Object.keys(A.children).forEach(function(e){var t=A.children[e];Object.keys(t.children).forEach(function(e){var n=t.children[e],r=A.x+t.x+n.x,i=A.y+t.y+n.y,o=h.element({tag:"text",content:n.properties.text,x:r,y:i});g.push(o)})});var m=h.element({tag:"g",content:g}),v=null;if(f.children.holderBg.properties.outline){var y=f.children.holderBg.properties.outline;v=h.element({tag:"path",d:o(f.children.holderBg.width,f.children.holderBg.height,y.width),"stroke-width":y.width,stroke:y.fill,fill:"none"})}var b=r(f.children.holderBg,"rect"),w=[];w.push(b),y&&w.push(v),w.push(m);var x=h.element({tag:"g",id:d,content:w}),E=h.element({tag:"style",content:p,type:"text/css"}),C=h.element({tag:"defs",content:E}),S=h.element({tag:"svg",content:[C,x],width:f.properties.width,height:f.properties.height,xmlns:u,viewBox:[0,0,f.properties.width,f.properties.height].join(" "),preserveAspectRatio:"none"}),k=a(S);return k=c+k[0],s.svgStringToDataURI(k,"background"===t.mode)}},function(e,t,n){n(14),e.exports=function e(t,n,r){"use strict";function i(e,t){if(null!==t&&t!==!1&&void 0!==t)return"string"!=typeof t&&"object"!=typeof t?String(t):t}var o,a,s,l,c=1,u=!0;if(r=r||{},"string"==typeof t[0])t[0]=function(e){var t=e.match(/^[\w-]+/),n={tag:t?t[0]:"div",attr:{},children:[]},i=e.match(/#([\w-]+)/),o=e.match(/\$([\w-]+)/),a=e.match(/\.[\w-]+/g);return i&&(n.attr.id=i[1],r[i[1]]=n),o&&(r[o[1]]=n),a&&(n.attr.class=a.join(" ").replace(/\./g,"")),e.match(/&$/g)&&(u=!1),n}(t[0]);else{if(!Array.isArray(t[0]))throw new Error("First element of array must be a string, or an array and not "+JSON.stringify(t[0]));c=0}for(;c<t.length;c++){if(t[c]===!1||null===t[c]){t[0]=!1;break}if(void 0!==t[c]&&t[c]!==!0)if("string"==typeof t[c])u&&(t[c]=function(e){return String(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}(t[c])),t[0].children.push(t[c]);else if("number"==typeof t[c])t[0].children.push(t[c]);else if(Array.isArray(t[c])){if(Array.isArray(t[c][0])){if(t[c].reverse().forEach(function(e){t.splice(c+1,0,e)}),0!==c)continue;c++}e(t[c],n,r),t[c][0]&&t[0].children.push(t[c][0])}else if("function"==typeof t[c])s=t[c];else{if("object"!=typeof t[c])throw new TypeError('"'+t[c]+'" is not allowed as a value.');for(a in t[c])t[c].hasOwnProperty(a)&&null!==t[c][a]&&t[c][a]!==!1&&("style"===a&&"object"==typeof t[c][a]?t[0].attr[a]=JSON.stringify(t[c][a],i).slice(2,-2).replace(/","/g,";").replace(/":"/g,":").replace(/\\"/g,"'"):t[0].attr[a]=t[c][a])}}if(t[0]!==!1){o="<"+t[0].tag;for(l in t[0].attr)t[0].attr.hasOwnProperty(l)&&(o+=" "+l+'="'+function(e){return e||0===e?String(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;"):""}(t[0].attr[l])+'"');o+=">",t[0].children.forEach(function(e){o+=e}),o+="</"+t[0].tag+">",t[0]=o}return r[0]=t[0],s&&s(t[0]),r}},function(e,t){"use strict";function n(e){var t=""+e,n=r.exec(t);if(!n)return t;var i,o="",a=0,s=0;for(a=n.index;a<t.length;a++){switch(t.charCodeAt(a)){case 34:i="&quot;";break;case 38:i="&amp;";break;case 39:i="&#39;";break;case 60:i="&lt;";break;case 62:i="&gt;";break;default:continue}s!==a&&(o+=t.substring(s,a)),s=a+1,o+=i}return s!==a?o+t.substring(s,a):o}var r=/["'&<>]/;e.exports=n},function(e,t,n){var r=n(9),i=n(7);e.exports=function(){var e=r.newEl("canvas"),t=null;return function(n){null==t&&(t=e.getContext("2d"));var r=i.canvasRatio(),o=n.root;e.width=r*o.properties.width,e.height=r*o.properties.height,t.textBaseline="middle";var a=o.children.holderBg,s=r*a.width,l=r*a.height;t.fillStyle=a.properties.fill,t.fillRect(0,0,s,l),a.properties.outline&&(t.strokeStyle=a.properties.outline.fill,t.lineWidth=a.properties.outline.width,t.moveTo(1,1),t.lineTo(s-1,1),t.lineTo(s-1,l-1),t.lineTo(1,l-1),t.lineTo(1,1),t.moveTo(0,1),t.lineTo(s,l-1),t.moveTo(0,l-1),t.lineTo(s,1),t.stroke());var c=o.children.holderTextGroup;t.font=c.properties.font.weight+" "+r*c.properties.font.size+c.properties.font.units+" "+c.properties.font.family+", monospace",t.fillStyle=c.properties.fill;for(var u in c.children){var h=c.children[u];for(var d in h.children){var f=h.children[d],A=r*(c.x+h.x+f.x),p=r*(c.y+h.y+f.y+c.properties.leading/2);t.fillText(f.properties.text,A,p)}}return e.toDataURL("image/png")}}()}])}),function(e,t){t&&(Holder=e.Holder)}(this,"undefined"!=typeof Meteor&&"undefined"!=typeof Package),/*!
* JavaScript for Bootstrap's docs (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors
- * Copyright 2011-2016 Twitter, Inc.
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see https://creativecommons.org/licenses/by/3.0/.
*/
-!function(e){"use strict";e(function(){e(".tooltip-demo").tooltip({selector:'[data-toggle="tooltip"]',container:"body"}),e('[data-toggle="popover"]').popover(),e(".tooltip-test").tooltip(),e(".popover-test").popover(),e('.bd-example-indeterminate [type="checkbox"]').prop("indeterminate",!0),e('.bd-content [href="#"]').click(function(e){e.preventDefault()}),e("#exampleModal").on("show.bs.modal",function(t){var n=e(t.relatedTarget),r=n.data("whatever"),i=e(this);i.find(".modal-title").text("New message to "+r),i.find(".modal-body input").val(r)}),e(".highlight").each(function(){var t='<div class="bd-clipboard"><span class="btn-clipboard" title="Copy to clipboard">Copy</span></div>';e(this).before(t),e(".btn-clipboard").tooltip()});var t=new Clipboard(".btn-clipboard",{target:function(e){return e.parentNode.nextElementSibling}});t.on("success",function(t){e(t.trigger).attr("title","Copied!").tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle"),t.clearSelection()}),t.on("error",function(t){var n=/Mac/i.test(navigator.userAgent)?"⌘":"Ctrl-",r="Press "+n+"C to copy";e(t.trigger).attr("title",r).tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle")})})}(jQuery),function(){"use strict";anchors.options.placement="left",anchors.add(".bd-content > h1, .bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5")}(); \ No newline at end of file
+function(e){"use strict";e(function(){e(".tooltip-demo").tooltip({selector:'[data-toggle="tooltip"]',container:"body"}),e('[data-toggle="popover"]').popover(),e(".tooltip-test").tooltip(),e(".popover-test").popover(),e('.bd-example-indeterminate [type="checkbox"]').prop("indeterminate",!0),e('.bd-content [href="#"]').click(function(e){e.preventDefault()}),e("#exampleModal").on("show.bs.modal",function(t){var n=e(t.relatedTarget),r=n.data("whatever"),i=e(this);i.find(".modal-title").text("New message to "+r),i.find(".modal-body input").val(r)}),e(".bd-toggle-animated-progress").on("click",function(){e(this).siblings(".progress").find(".progress-bar-striped").toggleClass("progress-bar-animated")}),e(".highlight").each(function(){e(this).before('<div class="bd-clipboard"><span class="btn-clipboard" title="Copy to clipboard">Copy</span></div>'),e(".btn-clipboard").tooltip()});var t=new Clipboard(".btn-clipboard",{target:function(e){return e.parentNode.nextElementSibling}});t.on("success",function(t){e(t.trigger).attr("title","Copied!").tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle"),t.clearSelection()}),t.on("error",function(t){var n=/Mac/i.test(navigator.userAgent)?"⌘":"Ctrl-",r="Press "+n+"C to copy";e(t.trigger).attr("title",r).tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle")})})}(jQuery),function(){"use strict";anchors.options.placement="left",anchors.add(".bd-content > h1, .bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5")}(); \ No newline at end of file
diff --git a/docs/assets/js/ie-emulation-modes-warning.js b/docs/assets/js/ie-emulation-modes-warning.js
index 452c1268f..7996b9e34 100644
--- a/docs/assets/js/ie-emulation-modes-warning.js
+++ b/docs/assets/js/ie-emulation-modes-warning.js
@@ -10,7 +10,7 @@
*/
// Intended to prevent false-positive bug reports about Bootstrap not working properly in old versions of IE due to folks testing using IE's unreliable emulation modes.
(function () {
- 'use strict';
+ 'use strict'
function emulatedIEMajorVersion() {
var groups = /MSIE ([0-9.]+)/.exec(window.navigator.userAgent)
@@ -49,4 +49,4 @@
if (emulated !== nonEmulated) {
window.alert('WARNING: You appear to be using IE' + nonEmulated + ' in IE' + emulated + ' emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON\'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!')
}
-})();
+}())
diff --git a/docs/assets/js/ie10-viewport-bug-workaround.js b/docs/assets/js/ie10-viewport-bug-workaround.js
index 0aecf6b30..b335ef943 100644
--- a/docs/assets/js/ie10-viewport-bug-workaround.js
+++ b/docs/assets/js/ie10-viewport-bug-workaround.js
@@ -1,7 +1,7 @@
/*!
* IE10 viewport hack for Surface/desktop Windows 8 bug
- * Copyright 2014-2015 The Bootstrap Authors
- * Copyright 2014-2015 Twitter, Inc.
+ * Copyright 2014-2017 The Bootstrap Authors
+ * Copyright 2014-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
@@ -9,7 +9,7 @@
// https://getbootstrap.com/getting-started/#support-ie10-width
(function () {
- 'use strict';
+ 'use strict'
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
var msViewportStyle = document.createElement('style')
@@ -21,4 +21,4 @@
document.head.appendChild(msViewportStyle)
}
-})();
+}())
diff --git a/docs/assets/js/src/application.js b/docs/assets/js/src/application.js
index 529b0c1b8..b98c3a5ea 100644
--- a/docs/assets/js/src/application.js
+++ b/docs/assets/js/src/application.js
@@ -4,16 +4,16 @@
/*!
* JavaScript for Bootstrap's docs (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors
- * Copyright 2011-2016 Twitter, Inc.
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see https://creativecommons.org/licenses/by/3.0/.
*/
/* global Clipboard, anchors */
-!function ($) {
- 'use strict';
+(function ($) {
+ 'use strict'
$(function () {
@@ -48,11 +48,23 @@
$modal.find('.modal-body input').val(recipient)
})
+ // Activate animated progress bar
+ $('.bd-toggle-animated-progress').on('click', function () {
+ $(this).siblings('.progress').find('.progress-bar-striped').toggleClass('progress-bar-animated')
+ })
+
// Insert copy to clipboard button before .highlight
$('.highlight').each(function () {
- var btnHtml = '<div class="bd-clipboard"><span class="btn-clipboard" title="Copy to clipboard">Copy</span></div>'
+ var btnHtml = '<div class="bd-clipboard"><button class="btn-clipboard" title="Copy to clipboard">Copy</button></div>'
$(this).before(btnHtml)
- $('.btn-clipboard').tooltip()
+ $('.btn-clipboard')
+ .tooltip()
+ .on('mouseleave', function () {
+ // explicitly hide tooltip, since after clicking it remains
+ // focused (as it's a button), so tooltip would otherwise
+ // remain visible until focus is moved away
+ $(this).tooltip('hide')
+ })
})
var clipboard = new Clipboard('.btn-clipboard', {
@@ -86,11 +98,11 @@
})
-}(jQuery)
+}(jQuery))
;(function () {
- 'use strict';
+ 'use strict'
- anchors.options.placement = 'left';
+ anchors.options.placement = 'left'
anchors.add('.bd-content > h1, .bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5')
-})();
+}())
diff --git a/docs/assets/js/vendor/clipboard.min.js b/docs/assets/js/vendor/clipboard.min.js
index 580433f1d..1993676f9 100644
--- a/docs/assets/js/vendor/clipboard.min.js
+++ b/docs/assets/js/vendor/clipboard.min.js
@@ -1,7 +1,7 @@
/*!
- * clipboard.js v1.5.12
+ * clipboard.js v1.6.1
* https://zenorocha.github.io/clipboard.js
*
* Licensed MIT © Zeno Rocha
*/
-!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,o){function i(a,c){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!c&&s)return s(a,!0);if(r)return r(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var u=n[a]={exports:{}};e[a][0].call(u.exports,function(t){var n=e[a][1][t];return i(n?n:t)},u,u.exports,t,e,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a<o.length;a++)i(o[a]);return i}({1:[function(t,e,n){var o=t("matches-selector");e.exports=function(t,e,n){for(var i=n?t:t.parentNode;i&&i!==document;){if(o(i,e))return i;i=i.parentNode}}},{"matches-selector":5}],2:[function(t,e,n){function o(t,e,n,o,r){var a=i.apply(this,arguments);return t.addEventListener(n,a,r),{destroy:function(){t.removeEventListener(n,a,r)}}}function i(t,e,n,o){return function(n){n.delegateTarget=r(n.target,e,!0),n.delegateTarget&&o.call(t,n)}}var r=t("closest");e.exports=o},{closest:1}],3:[function(t,e,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){var e=Object.prototype.toString.call(t);return"[object Function]"===e}},{}],4:[function(t,e,n){function o(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!c.string(e))throw new TypeError("Second argument must be a String");if(!c.fn(n))throw new TypeError("Third argument must be a Function");if(c.node(t))return i(t,e,n);if(c.nodeList(t))return r(t,e,n);if(c.string(t))return a(t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function i(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}function r(t,e,n){return Array.prototype.forEach.call(t,function(t){t.addEventListener(e,n)}),{destroy:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,n)})}}}function a(t,e,n){return s(document.body,t,e,n)}var c=t("./is"),s=t("delegate");e.exports=o},{"./is":3,delegate:2}],5:[function(t,e,n){function o(t,e){if(r)return r.call(t,e);for(var n=t.parentNode.querySelectorAll(e),o=0;o<n.length;++o)if(n[o]==t)return!0;return!1}var i=Element.prototype,r=i.matchesSelector||i.webkitMatchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector;e.exports=o},{}],6:[function(t,e,n){function o(t){var e;if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName)t.focus(),t.setSelectionRange(0,t.value.length),e=t.value;else{t.hasAttribute("contenteditable")&&t.focus();var n=window.getSelection(),o=document.createRange();o.selectNodeContents(t),n.removeAllRanges(),n.addRange(o),e=n.toString()}return e}e.exports=o},{}],7:[function(t,e,n){function o(){}o.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){function o(){i.off(t,o),e.apply(n,arguments)}var i=this;return o._=e,this.on(t,o,n)},emit:function(t){var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,i=n.length;for(o;i>o;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],i=[];if(o&&e)for(var r=0,a=o.length;a>r;r++)o[r].fn!==e&&o[r].fn._!==e&&i.push(o[r]);return i.length?n[t]=i:delete n[t],this}},e.exports=o},{}],8:[function(e,n,o){!function(i,r){if("function"==typeof t&&t.amd)t(["module","select"],r);else if("undefined"!=typeof o)r(n,e("select"));else{var a={exports:{}};r(a,i.select),i.clipboardAction=a.exports}}(this,function(t,e){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i=n(e),r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},a=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),c=function(){function t(e){o(this,t),this.resolveOptions(e),this.initSelection()}return t.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action=e.action,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""},t.prototype.initSelection=function t(){this.text?this.selectFake():this.target&&this.selectTarget()},t.prototype.selectFake=function t(){var e=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px",this.fakeElem.style.top=(window.pageYOffset||document.documentElement.scrollTop)+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()},t.prototype.removeFake=function t(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)},t.prototype.selectTarget=function t(){this.selectedText=(0,i.default)(this.target),this.copyText()},t.prototype.copyText=function t(){var e=void 0;try{e=document.execCommand(this.action)}catch(n){e=!1}this.handleResult(e)},t.prototype.handleResult=function t(e){e?this.emitter.emit("success",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)}):this.emitter.emit("error",{action:this.action,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})},t.prototype.clearSelection=function t(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()},t.prototype.destroy=function t(){this.removeFake()},a(t,[{key:"action",set:function t(){var e=arguments.length<=0||void 0===arguments[0]?"copy":arguments[0];if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function t(){return this._action}},{key:"target",set:function t(e){if(void 0!==e){if(!e||"object"!==("undefined"==typeof e?"undefined":r(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function t(){return this._target}}]),t}();t.exports=c})},{select:6}],9:[function(e,n,o){!function(i,r){if("function"==typeof t&&t.amd)t(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if("undefined"!=typeof o)r(n,e("./clipboard-action"),e("tiny-emitter"),e("good-listener"));else{var a={exports:{}};r(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(t,e,n,o){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function s(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}var l=i(e),u=i(n),f=i(o),d=function(t){function e(n,o){r(this,e);var i=a(this,t.call(this));return i.resolveOptions(o),i.listenClick(n),i}return c(e,t),e.prototype.resolveOptions=function t(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText},e.prototype.listenClick=function t(e){var n=this;this.listener=(0,f.default)(e,"click",function(t){return n.onClick(t)})},e.prototype.onClick=function t(e){var n=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l.default({action:this.action(n),target:this.target(n),text:this.text(n),trigger:n,emitter:this})},e.prototype.defaultAction=function t(e){return s("action",e)},e.prototype.defaultTarget=function t(e){var n=s("target",e);return n?document.querySelector(n):void 0},e.prototype.defaultText=function t(e){return s("text",e)},e.prototype.destroy=function t(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)},e}(u.default);t.exports=d})},{"./clipboard-action":8,"good-listener":4,"tiny-emitter":7}]},{},[9])(9)}); \ No newline at end of file
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Clipboard=e()}}(function(){var e,t,n;return function e(t,n,o){function i(a,c){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!c&&l)return l(a,!0);if(r)return r(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var s=n[a]={exports:{}};t[a][0].call(s.exports,function(e){var n=t[a][1][e];return i(n?n:e)},s,s.exports,e,t,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a<o.length;a++)i(o[a]);return i}({1:[function(e,t,n){function o(e,t){for(;e&&e.nodeType!==i;){if(e.matches(t))return e;e=e.parentNode}}var i=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var r=Element.prototype;r.matches=r.matchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.webkitMatchesSelector}t.exports=o},{}],2:[function(e,t,n){function o(e,t,n,o,r){var a=i.apply(this,arguments);return e.addEventListener(n,a,r),{destroy:function(){e.removeEventListener(n,a,r)}}}function i(e,t,n,o){return function(n){n.delegateTarget=r(n.target,t),n.delegateTarget&&o.call(e,n)}}var r=e("./closest");t.exports=o},{"./closest":1}],3:[function(e,t,n){n.node=function(e){return void 0!==e&&e instanceof HTMLElement&&1===e.nodeType},n.nodeList=function(e){var t=Object.prototype.toString.call(e);return void 0!==e&&("[object NodeList]"===t||"[object HTMLCollection]"===t)&&"length"in e&&(0===e.length||n.node(e[0]))},n.string=function(e){return"string"==typeof e||e instanceof String},n.fn=function(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t}},{}],4:[function(e,t,n){function o(e,t,n){if(!e&&!t&&!n)throw new Error("Missing required arguments");if(!c.string(t))throw new TypeError("Second argument must be a String");if(!c.fn(n))throw new TypeError("Third argument must be a Function");if(c.node(e))return i(e,t,n);if(c.nodeList(e))return r(e,t,n);if(c.string(e))return a(e,t,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function i(e,t,n){return e.addEventListener(t,n),{destroy:function(){e.removeEventListener(t,n)}}}function r(e,t,n){return Array.prototype.forEach.call(e,function(e){e.addEventListener(t,n)}),{destroy:function(){Array.prototype.forEach.call(e,function(e){e.removeEventListener(t,n)})}}}function a(e,t,n){return l(document.body,e,t,n)}var c=e("./is"),l=e("delegate");t.exports=o},{"./is":3,delegate:2}],5:[function(e,t,n){function o(e){var t;if("SELECT"===e.nodeName)e.focus(),t=e.value;else if("INPUT"===e.nodeName||"TEXTAREA"===e.nodeName){var n=e.hasAttribute("readonly");n||e.setAttribute("readonly",""),e.select(),e.setSelectionRange(0,e.value.length),n||e.removeAttribute("readonly"),t=e.value}else{e.hasAttribute("contenteditable")&&e.focus();var o=window.getSelection(),i=document.createRange();i.selectNodeContents(e),o.removeAllRanges(),o.addRange(i),t=o.toString()}return t}t.exports=o},{}],6:[function(e,t,n){function o(){}o.prototype={on:function(e,t,n){var o=this.e||(this.e={});return(o[e]||(o[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){function o(){i.off(e,o),t.apply(n,arguments)}var i=this;return o._=t,this.on(e,o,n)},emit:function(e){var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),o=0,i=n.length;for(o;o<i;o++)n[o].fn.apply(n[o].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),o=n[e],i=[];if(o&&t)for(var r=0,a=o.length;r<a;r++)o[r].fn!==t&&o[r].fn._!==t&&i.push(o[r]);return i.length?n[e]=i:delete n[e],this}},t.exports=o},{}],7:[function(t,n,o){!function(i,r){if("function"==typeof e&&e.amd)e(["module","select"],r);else if("undefined"!=typeof o)r(n,t("select"));else{var a={exports:{}};r(a,i.select),i.clipboardAction=a.exports}}(this,function(e,t){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=n(t),r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),c=function(){function e(t){o(this,e),this.resolveOptions(t),this.initSelection()}return a(e,[{key:"resolveOptions",value:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function e(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function e(){var t=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=document.body.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px";var o=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=o+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,document.body.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function e(){this.fakeHandler&&(document.body.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(document.body.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function e(){this.selectedText=(0,i.default)(this.target),this.copyText()}},{key:"copyText",value:function e(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function e(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function e(){this.target&&this.target.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function e(){this.removeFake()}},{key:"action",set:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function e(){return this._action}},{key:"target",set:function e(t){if(void 0!==t){if(!t||"object"!==("undefined"==typeof t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function e(){return this._target}}]),e}();e.exports=c})},{select:5}],8:[function(t,n,o){!function(i,r){if("function"==typeof e&&e.amd)e(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if("undefined"!=typeof o)r(n,t("./clipboard-action"),t("tiny-emitter"),t("good-listener"));else{var a={exports:{}};r(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(e,t,n,o){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}var u=i(t),s=i(n),f=i(o),d=function(){function e(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,n,o){return n&&e(t.prototype,n),o&&e(t,o),t}}(),h=function(e){function t(e,n){r(this,t);var o=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return o.resolveOptions(n),o.listenClick(e),o}return c(t,e),d(t,[{key:"resolveOptions",value:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText}},{key:"listenClick",value:function e(t){var n=this;this.listener=(0,f.default)(t,"click",function(e){return n.onClick(e)})}},{key:"onClick",value:function e(t){var n=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new u.default({action:this.action(n),target:this.target(n),text:this.text(n),trigger:n,emitter:this})}},{key:"defaultAction",value:function e(t){return l("action",t)}},{key:"defaultTarget",value:function e(t){var n=l("target",t);if(n)return document.querySelector(n)}},{key:"defaultText",value:function e(t){return l("text",t)}},{key:"destroy",value:function e(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],n="string"==typeof t?[t]:t,o=!!document.queryCommandSupported;return n.forEach(function(e){o=o&&!!document.queryCommandSupported(e)}),o}}]),t}(s.default);e.exports=h})},{"./clipboard-action":7,"good-listener":4,"tiny-emitter":6}]},{},[8])(8)}); \ No newline at end of file
diff --git a/docs/assets/js/vendor/jekyll-search.min.js b/docs/assets/js/vendor/jekyll-search.min.js
index ab653bf8d..2e49f0e01 100644
--- a/docs/assets/js/vendor/jekyll-search.min.js
+++ b/docs/assets/js/vendor/jekyll-search.min.js
@@ -1 +1 @@
-!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";function fuzzysearch(needle,haystack){var tlen=haystack.length,qlen=needle.length;if(qlen>tlen)return!1;if(qlen===tlen)return needle===haystack;outer:for(var i=0,j=0;i<qlen;i++){for(var nch=needle.charCodeAt(i);j<tlen;)if(haystack.charCodeAt(j++)===nch)continue outer;return!1}return!0}module.exports=fuzzysearch},{}],2:[function(require,module,exports){"use strict";function load(location,callback){var xhr=getXHR();xhr.open("GET",location,!0),xhr.onreadystatechange=createStateChangeListener(xhr,callback),xhr.send()}function createStateChangeListener(xhr,callback){return function(){if(4===xhr.readyState&&200===xhr.status)try{callback(null,JSON.parse(xhr.responseText))}catch(err){callback(err,null)}}}function getXHR(){return window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")}module.exports={load:load}},{}],3:[function(require,module,exports){"use strict";module.exports=function OptionsValidator(params){function validateParams(params){return!!params&&(void 0!==params.required&&params.required instanceof Array)}if(!validateParams(params))throw new Error("-- OptionsValidator: required options missing");if(!(this instanceof OptionsValidator))return new OptionsValidator(params);var requiredOptions=params.required;this.getRequiredOptions=function(){return requiredOptions},this.validate=function(parameters){var errors=[];return requiredOptions.forEach(function(requiredOptionName){void 0===parameters[requiredOptionName]&&errors.push(requiredOptionName)}),errors}}},{}],4:[function(require,module,exports){"use strict";function put(data){return isObject(data)?addObject(data):isArray(data)?addArray(data):void 0}function clear(){return data.length=0,data}function get(){return data}function isObject(obj){return!!obj&&"[object Object]"===Object.prototype.toString.call(obj)}function isArray(obj){return!!obj&&"[object Array]"===Object.prototype.toString.call(obj)}function addObject(_data){return data.push(_data),data}function addArray(_data){for(var added=[],i=0;i<_data.length;i++)isObject(_data[i])&&added.push(addObject(_data[i]));return added}function search(crit){return crit?findMatches(data,crit,opt.searchStrategy,opt):[]}function setOptions(_opt){opt=_opt||{},opt.fuzzy=_opt.fuzzy||!1,opt.limit=_opt.limit||10,opt.searchStrategy=_opt.fuzzy?FuzzySearchStrategy:LiteralSearchStrategy}function findMatches(data,crit,strategy,opt){for(var matches=[],i=0;i<data.length&&matches.length<opt.limit;i++){var match=findMatchesInObject(data[i],crit,strategy,opt);match&&matches.push(match)}return matches}function findMatchesInObject(obj,crit,strategy,opt){for(var key in obj)if(!isExcluded(obj[key],opt.exclude)&&strategy.matches(obj[key],crit))return obj}function isExcluded(term,excludedTerms){var excluded=!1;excludedTerms=excludedTerms||[];for(var i=0;i<excludedTerms.length;i++){var excludedTerm=excludedTerms[i];!excluded&&new RegExp(term).test(excludedTerm)&&(excluded=!0)}return excluded}module.exports={put:put,clear:clear,get:get,search:search,setOptions:setOptions};var FuzzySearchStrategy=require("./SearchStrategies/FuzzySearchStrategy"),LiteralSearchStrategy=require("./SearchStrategies/LiteralSearchStrategy"),data=[],opt={};opt.fuzzy=!1,opt.limit=10,opt.searchStrategy=opt.fuzzy?FuzzySearchStrategy:LiteralSearchStrategy},{"./SearchStrategies/FuzzySearchStrategy":5,"./SearchStrategies/LiteralSearchStrategy":6}],5:[function(require,module,exports){"use strict";function FuzzySearchStrategy(){this.matches=function(string,crit){return fuzzysearch(crit,string)}}var fuzzysearch=require("fuzzysearch");module.exports=new FuzzySearchStrategy},{fuzzysearch:1}],6:[function(require,module,exports){"use strict";function LiteralSearchStrategy(){this.matches=function(string,crit){return"string"==typeof string&&(string=string.trim(),string.toLowerCase().indexOf(crit.toLowerCase())>=0)}}module.exports=new LiteralSearchStrategy},{}],7:[function(require,module,exports){"use strict";function setOptions(_options){options.pattern=_options.pattern||options.pattern,options.template=_options.template||options.template,"function"==typeof _options.middleware&&(options.middleware=_options.middleware)}function compile(data){return options.template.replace(options.pattern,function(match,prop){var value=options.middleware(prop,data[prop],options.template);return void 0!==value?value:data[prop]||match})}module.exports={compile:compile,setOptions:setOptions};var options={};options.pattern=/\{(.*?)\}/g,options.template="",options.middleware=function(){}},{}],8:[function(require,module,exports){!function(window,document,undefined){"use strict";function initWithJSON(json){repository.put(json),registerInput()}function initWithURL(url){jsonLoader.load(url,function(err,json){err&&throwError("failed to get JSON ("+url+")"),initWithJSON(json)})}function emptyResultsContainer(){options.resultsContainer.innerHTML=""}function appendToResultsContainer(text){options.resultsContainer.innerHTML+=text}function registerInput(){options.searchInput.addEventListener("keyup",function(e){emptyResultsContainer();var key=e.which,query=e.target.value;isWhitelistedKey(key)&&isValidQuery(query)&&render(repository.search(query))})}function render(results){if(0===results.length)return appendToResultsContainer(options.noResultsText);for(var i=0;i<results.length;i++)appendToResultsContainer(templater.compile(results[i]))}function isValidQuery(query){return query&&query.length>0}function isWhitelistedKey(key){return[13,16,20,37,38,39,40,91].indexOf(key)===-1}function throwError(message){throw new Error("SimpleJekyllSearch --- "+message)}var options={searchInput:null,resultsContainer:null,json:[],searchResultTemplate:'<li><a href="{url}" title="{desc}">{title}</a></li>',templateMiddleware:function(){},noResultsText:"No results found",limit:10,fuzzy:!1,exclude:[]},requiredOptions=["searchInput","resultsContainer","json"],templater=require("./Templater"),repository=require("./Repository"),jsonLoader=require("./JSONLoader"),optionsValidator=require("./OptionsValidator")({required:requiredOptions}),utils=require("./utils");window.SimpleJekyllSearch=function(_options){var errors=optionsValidator.validate(_options);errors.length>0&&throwError("You must specify the following required options: "+requiredOptions),options=utils.merge(options,_options),templater.setOptions({template:options.searchResultTemplate,middleware:options.templateMiddleware}),repository.setOptions({fuzzy:options.fuzzy,limit:options.limit}),utils.isJSON(options.json)?initWithJSON(options.json):initWithURL(options.json)},window.SimpleJekyllSearch.init=window.SimpleJekyllSearch,"function"==typeof window.SimpleJekyllSearchInit&&window.SimpleJekyllSearchInit.call(this,window.SimpleJekyllSearch)}(window,document)},{"./JSONLoader":2,"./OptionsValidator":3,"./Repository":4,"./Templater":7,"./utils":9}],9:[function(require,module,exports){"use strict";function merge(defaultParams,mergeParams){var mergedOptions={};for(var option in defaultParams)mergedOptions[option]=defaultParams[option],void 0!==mergeParams[option]&&(mergedOptions[option]=mergeParams[option]);return mergedOptions}function isJSON(json){try{return!!(json instanceof Object&&JSON.parse(JSON.stringify(json)))}catch(e){return!1}}module.exports={merge:merge,isJSON:isJSON}},{}]},{},[8]); \ No newline at end of file
+!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){"use strict";function fuzzysearch(needle,haystack){var tlen=haystack.length,qlen=needle.length;if(qlen>tlen)return!1;if(qlen===tlen)return needle===haystack;outer:for(var i=0,j=0;i<qlen;i++){for(var nch=needle.charCodeAt(i);j<tlen;)if(haystack.charCodeAt(j++)===nch)continue outer;return!1}return!0}module.exports=fuzzysearch},{}],2:[function(require,module,exports){"use strict";function load(location,callback){var xhr=getXHR();xhr.open("GET",location,!0),xhr.onreadystatechange=createStateChangeListener(xhr,callback),xhr.send()}function createStateChangeListener(xhr,callback){return function(){if(4===xhr.readyState&&200===xhr.status)try{callback(null,JSON.parse(xhr.responseText))}catch(err){callback(err,null)}}}function getXHR(){return window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")}module.exports={load:load}},{}],3:[function(require,module,exports){"use strict";module.exports=function OptionsValidator(params){function validateParams(params){return!!params&&(void 0!==params.required&&params.required instanceof Array)}if(!validateParams(params))throw new Error("-- OptionsValidator: required options missing");if(!(this instanceof OptionsValidator))return new OptionsValidator(params);var requiredOptions=params.required;this.getRequiredOptions=function(){return requiredOptions},this.validate=function(parameters){var errors=[];return requiredOptions.forEach(function(requiredOptionName){void 0===parameters[requiredOptionName]&&errors.push(requiredOptionName)}),errors}}},{}],4:[function(require,module,exports){"use strict";function put(data){return isObject(data)?addObject(data):isArray(data)?addArray(data):void 0}function clear(){return data.length=0,data}function get(){return data}function isObject(obj){return!!obj&&"[object Object]"===Object.prototype.toString.call(obj)}function isArray(obj){return!!obj&&"[object Array]"===Object.prototype.toString.call(obj)}function addObject(_data){return data.push(_data),data}function addArray(_data){for(var added=[],i=0;i<_data.length;i++)isObject(_data[i])&&added.push(addObject(_data[i]));return added}function search(crit){return crit?findMatches(data,crit,opt.searchStrategy,opt):[]}function setOptions(_opt){opt=_opt||{},opt.fuzzy=_opt.fuzzy||!1,opt.limit=_opt.limit||10,opt.searchStrategy=_opt.fuzzy?FuzzySearchStrategy:LiteralSearchStrategy}function findMatches(data,crit,strategy,opt){for(var matches=[],i=0;i<data.length&&matches.length<opt.limit;i++){var match=findMatchesInObject(data[i],crit,strategy,opt);match&&matches.push(match)}return matches}function findMatchesInObject(obj,crit,strategy,opt){for(var key in obj)if(!isExcluded(obj[key],opt.exclude)&&strategy.matches(obj[key],crit))return obj}function isExcluded(term,excludedTerms){var excluded=!1;excludedTerms=excludedTerms||[];for(var i=0;i<excludedTerms.length;i++){var excludedTerm=excludedTerms[i];!excluded&&new RegExp(term).test(excludedTerm)&&(excluded=!0)}return excluded}module.exports={put:put,clear:clear,get:get,search:search,setOptions:setOptions};var FuzzySearchStrategy=require("./SearchStrategies/FuzzySearchStrategy"),LiteralSearchStrategy=require("./SearchStrategies/LiteralSearchStrategy"),data=[],opt={};opt.fuzzy=!1,opt.limit=10,opt.searchStrategy=opt.fuzzy?FuzzySearchStrategy:LiteralSearchStrategy},{"./SearchStrategies/FuzzySearchStrategy":5,"./SearchStrategies/LiteralSearchStrategy":6}],5:[function(require,module,exports){"use strict";function FuzzySearchStrategy(){this.matches=function(string,crit){return fuzzysearch(crit,string)}}var fuzzysearch=require("fuzzysearch");module.exports=new FuzzySearchStrategy},{fuzzysearch:1}],6:[function(require,module,exports){"use strict";function LiteralSearchStrategy(){this.matches=function(string,crit){return"string"==typeof string&&(string=string.trim(),string.toLowerCase().indexOf(crit.toLowerCase())>=0)}}module.exports=new LiteralSearchStrategy},{}],7:[function(require,module,exports){"use strict";function setOptions(_options){options.pattern=_options.pattern||options.pattern,options.template=_options.template||options.template,"function"==typeof _options.middleware&&(options.middleware=_options.middleware)}function compile(data){return options.template.replace(options.pattern,function(match,prop){var value=options.middleware(prop,data[prop],options.template);return void 0!==value?value:data[prop]||match})}module.exports={compile:compile,setOptions:setOptions};var options={};options.pattern=/\{(.*?)\}/g,options.template="",options.middleware=function(){}},{}],8:[function(require,module,exports){!function(window,document,undefined){"use strict";function initWithJSON(json){repository.put(json),registerInput()}function initWithURL(url){jsonLoader.load(url,function(err,json){err&&throwError("failed to get JSON ("+url+")"),initWithJSON(json)})}function emptyResultsContainer(){options.resultsContainer.innerHTML=""}function appendToResultsContainer(text){options.resultsContainer.innerHTML+=text}function registerInput(){options.searchInput.addEventListener("keyup",function(e){var key=e.which;if(isWhitelistedKey(key)){emptyResultsContainer();var query=e.target.value;isValidQuery(query)&&render(repository.search(query))}})}function render(results){if(0===results.length)return appendToResultsContainer(options.noResultsText);for(var i=0;i<results.length;i++)appendToResultsContainer(templater.compile(results[i]))}function isValidQuery(query){return query&&query.length>0}function isWhitelistedKey(key){return[13,16,20,37,38,39,40,91].indexOf(key)===-1}function throwError(message){throw new Error("SimpleJekyllSearch --- "+message)}var options={searchInput:null,resultsContainer:null,json:[],searchResultTemplate:'<li><a href="{url}" title="{desc}">{title}</a></li>',templateMiddleware:function(){},noResultsText:"No results found",limit:10,fuzzy:!1,exclude:[]},requiredOptions=["searchInput","resultsContainer","json"],templater=require("./Templater"),repository=require("./Repository"),jsonLoader=require("./JSONLoader"),optionsValidator=require("./OptionsValidator")({required:requiredOptions}),utils=require("./utils");window.SimpleJekyllSearch=function(_options){var errors=optionsValidator.validate(_options);errors.length>0&&throwError("You must specify the following required options: "+requiredOptions),options=utils.merge(options,_options),templater.setOptions({template:options.searchResultTemplate,middleware:options.templateMiddleware}),repository.setOptions({fuzzy:options.fuzzy,limit:options.limit}),utils.isJSON(options.json)?initWithJSON(options.json):initWithURL(options.json)},window.SimpleJekyllSearch.init=window.SimpleJekyllSearch,"function"==typeof window.SimpleJekyllSearchInit&&window.SimpleJekyllSearchInit.call(this,window.SimpleJekyllSearch)}(window,document)},{"./JSONLoader":2,"./OptionsValidator":3,"./Repository":4,"./Templater":7,"./utils":9}],9:[function(require,module,exports){"use strict";function merge(defaultParams,mergeParams){var mergedOptions={};for(var option in defaultParams)mergedOptions[option]=defaultParams[option],void 0!==mergeParams[option]&&(mergedOptions[option]=mergeParams[option]);return mergedOptions}function isJSON(json){try{return!!(json instanceof Object&&JSON.parse(JSON.stringify(json)))}catch(e){return!1}}module.exports={merge:merge,isJSON:isJSON}},{}]},{},[8]); \ No newline at end of file
diff --git a/docs/assets/js/vendor/jquery-slim.min.js b/docs/assets/js/vendor/jquery-slim.min.js
new file mode 100644
index 000000000..6cdf1eecf
--- /dev/null
+++ b/docs/assets/js/vendor/jquery-slim.min.js
@@ -0,0 +1,8160 @@
+/*!
+ * jQuery JavaScript Library v3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2017-03-20T19:00Z
+ */
+( function( global, factory ) {
+
+ "use strict";
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+ // For CommonJS and CommonJS-like environments where a proper `window`
+ // is present, execute the factory and get jQuery.
+ // For environments that do not have a `window` with a `document`
+ // (such as Node.js), expose a factory as module.exports.
+ // This accentuates the need for the creation of a real `window`.
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket #14549 for more info.
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+
+
+ function DOMEval( code, doc ) {
+ doc = doc || document;
+
+ var script = doc.createElement( "script" );
+
+ script.text = code;
+ doc.head.appendChild( script ).parentNode.removeChild( script );
+ }
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+ version = "3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+
+ // The jQuery object is actually just the init constructor 'enhanced'
+ // Need init if jQuery is called (just allow error to be thrown if not included)
+ return new jQuery.fn.init( selector, context );
+ },
+
+ // Support: Android <=4.0 only
+ // Make sure we trim BOM and NBSP
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+ // Matches dashed string for camelizing
+ rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([a-z])/g,
+
+ // Used by jQuery.camelCase as callback to replace()
+ fcamelCase = function( all, letter ) {
+ return letter.toUpperCase();
+ };
+
+jQuery.fn = jQuery.prototype = {
+
+ // The current version of jQuery being used
+ jquery: version,
+
+ constructor: jQuery,
+
+ // The default length of a jQuery object is 0
+ length: 0,
+
+ toArray: function() {
+ return slice.call( this );
+ },
+
+ // Get the Nth element in the matched element set OR
+ // Get the whole matched element set as a clean array
+ get: function( num ) {
+
+ // Return all the elements in a clean array
+ if ( num == null ) {
+ return slice.call( this );
+ }
+
+ // Return just the one element from the set
+ return num < 0 ? this[ num + this.length ] : this[ num ];
+ },
+
+ // Take an array of elements and push it onto the stack
+ // (returning the new matched element set)
+ pushStack: function( elems ) {
+
+ // Build a new jQuery matched element set
+ var ret = jQuery.merge( this.constructor(), elems );
+
+ // Add the old object onto the stack (as a reference)
+ ret.prevObject = this;
+
+ // Return the newly-formed element set
+ return ret;
+ },
+
+ // Execute a callback for every element in the matched set.
+ each: function( callback ) {
+ return jQuery.each( this, callback );
+ },
+
+ map: function( callback ) {
+ return this.pushStack( jQuery.map( this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ } ) );
+ },
+
+ slice: function() {
+ return this.pushStack( slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+ },
+
+ end: function() {
+ return this.prevObject || this.constructor();
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: push,
+ sort: arr.sort,
+ splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[ 0 ] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+
+ // Skip the boolean and the target
+ target = arguments[ i ] || {};
+ i++;
+ }
+
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
+ target = {};
+ }
+
+ // Extend jQuery itself if only one argument is passed
+ if ( i === length ) {
+ target = this;
+ i--;
+ }
+
+ for ( ; i < length; i++ ) {
+
+ // Only deal with non-null/undefined values
+ if ( ( options = arguments[ i ] ) != null ) {
+
+ // Extend the base object
+ for ( name in options ) {
+ src = target[ name ];
+ copy = options[ name ];
+
+ // Prevent never-ending loop
+ if ( target === copy ) {
+ continue;
+ }
+
+ // Recurse if we're merging plain objects or arrays
+ if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+ ( copyIsArray = Array.isArray( copy ) ) ) ) {
+
+ if ( copyIsArray ) {
+ copyIsArray = false;
+ clone = src && Array.isArray( src ) ? src : [];
+
+ } else {
+ clone = src && jQuery.isPlainObject( src ) ? src : {};
+ }
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+jQuery.extend( {
+
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+ // Assume jQuery is ready without the ready module
+ isReady: true,
+
+ error: function( msg ) {
+ throw new Error( msg );
+ },
+
+ noop: function() {},
+
+ isFunction: function( obj ) {
+ return jQuery.type( obj ) === "function";
+ },
+
+ isWindow: function( obj ) {
+ return obj != null && obj === obj.window;
+ },
+
+ isNumeric: function( obj ) {
+
+ // As of jQuery 3.0, isNumeric is limited to
+ // strings and numbers (primitives or objects)
+ // that can be coerced to finite numbers (gh-2662)
+ var type = jQuery.type( obj );
+ return ( type === "number" || type === "string" ) &&
+
+ // parseFloat NaNs numeric-cast false positives ("")
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+ // subtraction forces infinities to NaN
+ !isNaN( obj - parseFloat( obj ) );
+ },
+
+ isPlainObject: function( obj ) {
+ var proto, Ctor;
+
+ // Detect obvious negatives
+ // Use toString instead of jQuery.type to catch host objects
+ if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+ return false;
+ }
+
+ proto = getProto( obj );
+
+ // Objects with no prototype (e.g., `Object.create( null )`) are plain
+ if ( !proto ) {
+ return true;
+ }
+
+ // Objects with prototype are plain iff they were constructed by a global Object function
+ Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+ return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+ },
+
+ isEmptyObject: function( obj ) {
+
+ /* eslint-disable no-unused-vars */
+ // See https://github.com/eslint/eslint/issues/6125
+ var name;
+
+ for ( name in obj ) {
+ return false;
+ }
+ return true;
+ },
+
+ type: function( obj ) {
+ if ( obj == null ) {
+ return obj + "";
+ }
+
+ // Support: Android <=2.3 only (functionish RegExp)
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ toString.call( obj ) ] || "object" :
+ typeof obj;
+ },
+
+ // Evaluates a script in a global context
+ globalEval: function( code ) {
+ DOMEval( code );
+ },
+
+ // Convert dashed to camelCase; used by the css and data modules
+ // Support: IE <=9 - 11, Edge 12 - 13
+ // Microsoft forgot to hump their vendor prefix (#9572)
+ camelCase: function( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+ },
+
+ each: function( obj, callback ) {
+ var length, i = 0;
+
+ if ( isArrayLike( obj ) ) {
+ length = obj.length;
+ for ( ; i < length; i++ ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ // Support: Android <=4.0 only
+ trim: function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArrayLike( Object( arr ) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ return arr == null ? -1 : indexOf.call( arr, elem, i );
+ },
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ merge: function( first, second ) {
+ var len = +second.length,
+ j = 0,
+ i = first.length;
+
+ for ( ; j < len; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+
+ first.length = i;
+
+ return first;
+ },
+
+ grep: function( elems, callback, invert ) {
+ var callbackInverse,
+ matches = [],
+ i = 0,
+ length = elems.length,
+ callbackExpect = !invert;
+
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( ; i < length; i++ ) {
+ callbackInverse = !callback( elems[ i ], i );
+ if ( callbackInverse !== callbackExpect ) {
+ matches.push( elems[ i ] );
+ }
+ }
+
+ return matches;
+ },
+
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var length, value,
+ i = 0,
+ ret = [];
+
+ // Go through the array, translating each of the items to their new values
+ if ( isArrayLike( elems ) ) {
+ length = elems.length;
+ for ( ; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+
+ // Go through every key on the object,
+ } else {
+ for ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return concat.apply( [], ret );
+ },
+
+ // A global GUID counter for objects
+ guid: 1,
+
+ // Bind a function to a context, optionally partially applying any
+ // arguments.
+ proxy: function( fn, context ) {
+ var tmp, args, proxy;
+
+ if ( typeof context === "string" ) {
+ tmp = fn[ context ];
+ context = fn;
+ fn = tmp;
+ }
+
+ // Quick check to determine if target is callable, in the spec
+ // this throws a TypeError, but we will just return undefined.
+ if ( !jQuery.isFunction( fn ) ) {
+ return undefined;
+ }
+
+ // Simulated bind
+ args = slice.call( arguments, 2 );
+ proxy = function() {
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+ };
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+ return proxy;
+ },
+
+ now: Date.now,
+
+ // jQuery.support is not used in Core but other projects attach their
+ // properties to it so it needs to exist.
+ support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+ jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+ // Support: real iOS 8.2 only (not reproducible in simulator)
+ // `in` check used to prevent JIT error (gh-2145)
+ // hasOwn isn't used here due to false negatives
+ // regarding Nodelist length in IE
+ var length = !!obj && "length" in obj && obj.length,
+ type = jQuery.type( obj );
+
+ if ( type === "function" || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.3.3
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-08-08
+ */
+(function( window ) {
+
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ }
+ return 0;
+ },
+
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf as it's faster than native
+ // https://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
+
+ // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+ "*\\]",
+
+ pseudos = ":(" + identifier + ")(?:\\((" +
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
+
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+ rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + identifier + ")" ),
+ "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+ "TAG": new RegExp( "^(" + identifier + "|[*])" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rsibling = /[+~]/,
+
+ // CSS escapes
+ // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox<24
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ high < 0 ?
+ // BMP codepoint
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // CSS string/identifier serialization
+ // https://drafts.csswg.org/cssom/#common-serializing-idioms
+ rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+ fcssescape = function( ch, asCodePoint ) {
+ if ( asCodePoint ) {
+
+ // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+ if ( ch === "\0" ) {
+ return "\uFFFD";
+ }
+
+ // Control characters and (dependent upon position) numbers get escaped as code points
+ return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+ }
+
+ // Other potentially-special ASCII characters get backslash-escaped
+ return "\\" + ch;
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ },
+
+ disabledAncestor = addCombinator(
+ function( elem ) {
+ return elem.disabled === true && ("form" in elem || "label" in elem);
+ },
+ { dir: "parentNode", next: "legend" }
+ );
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var m, i, elem, nid, match, groups, newSelector,
+ newContext = context && context.ownerDocument,
+
+ // nodeType defaults to 9, since context defaults to document
+ nodeType = context ? context.nodeType : 9;
+
+ results = results || [];
+
+ // Return early from calls with invalid selector or context
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
+ }
+
+ // Try to shortcut find operations (as opposed to filters) in HTML documents
+ if ( !seed ) {
+
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+ context = context || document;
+
+ if ( documentIsHTML ) {
+
+ // If the selector is sufficiently simple, try using a "get*By*" DOM method
+ // (excepting DocumentFragment context, where the methods don't exist)
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+ // ID selector
+ if ( (m = match[1]) ) {
+
+ // Document context
+ if ( nodeType === 9 ) {
+ if ( (elem = context.getElementById( m )) ) {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+
+ // Element context
+ } else {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( newContext && (elem = newContext.getElementById( m )) &&
+ contains( context, elem ) &&
+ elem.id === m ) {
+
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Type selector
+ } else if ( match[2] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Class selector
+ } else if ( (m = match[3]) && support.getElementsByClassName &&
+ context.getElementsByClassName ) {
+
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // Take advantage of querySelectorAll
+ if ( support.qsa &&
+ !compilerCache[ selector + " " ] &&
+ (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+ if ( nodeType !== 1 ) {
+ newContext = context;
+ newSelector = selector;
+
+ // qSA looks outside Element context, which is not what we want
+ // Thanks to Andrew Dupont for this workaround technique
+ // Support: IE <=8
+ // Exclude object elements
+ } else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+ // Capture the context ID, setting it first if necessary
+ if ( (nid = context.getAttribute( "id" )) ) {
+ nid = nid.replace( rcssescape, fcssescape );
+ } else {
+ context.setAttribute( "id", (nid = expando) );
+ }
+
+ // Prefix every selector in the list
+ groups = tokenize( selector );
+ i = groups.length;
+ while ( i-- ) {
+ groups[i] = "#" + nid + " " + toSelector( groups[i] );
+ }
+ newSelector = groups.join( "," );
+
+ // Expand context for sibling selectors
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+ context;
+ }
+
+ if ( newSelector ) {
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch ( qsaError ) {
+ } finally {
+ if ( nid === expando ) {
+ context.removeAttribute( "id" );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key + " " ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+ var el = document.createElement("fieldset");
+
+ try {
+ return !!fn( el );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( el.parentNode ) {
+ el.parentNode.removeChild( el );
+ }
+ // release memory in IE
+ el = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = arr.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ a.sourceIndex - b.sourceIndex;
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return (name === "input" || name === "button") && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+ // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+ return function( elem ) {
+
+ // Only certain elements can match :enabled or :disabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+ if ( "form" in elem ) {
+
+ // Check for inherited disabledness on relevant non-disabled elements:
+ // * listed form-associated elements in a disabled fieldset
+ // https://html.spec.whatwg.org/multipage/forms.html#category-listed
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+ // * option elements in a disabled optgroup
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+ // All such elements have a "form" property.
+ if ( elem.parentNode && elem.disabled === false ) {
+
+ // Option elements defer to a parent optgroup if present
+ if ( "label" in elem ) {
+ if ( "label" in elem.parentNode ) {
+ return elem.parentNode.disabled === disabled;
+ } else {
+ return elem.disabled === disabled;
+ }
+ }
+
+ // Support: IE 6 - 11
+ // Use the isDisabled shortcut property to check for disabled fieldset ancestors
+ return elem.isDisabled === disabled ||
+
+ // Where there is no isDisabled, check manually
+ /* jshint -W018 */
+ elem.isDisabled !== !disabled &&
+ disabledAncestor( elem ) === disabled;
+ }
+
+ return elem.disabled === disabled;
+
+ // Try to winnow out elements that can't be disabled before trusting the disabled property.
+ // Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+ // even exist on them, let alone have a boolean value.
+ } else if ( "label" in elem ) {
+ return elem.disabled === disabled;
+ }
+
+ // Remaining elements are neither :enabled nor :disabled
+ return false;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction(function( argument ) {
+ argument = +argument;
+ return markFunction(function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ (j = matchIndexes[i]) ] ) {
+ seed[j] = !(matches[j] = seed[j]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ // documentElement is verified for cases where it doesn't yet exist
+ // (such as loading iframes in IE - #4833)
+ var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, subWindow,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // Return early if doc is invalid or already selected
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Update global variables
+ document = doc;
+ docElem = document.documentElement;
+ documentIsHTML = !isXML( document );
+
+ // Support: IE 9-11, Edge
+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+ if ( preferredDoc !== document &&
+ (subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+ // Support: IE 11, Edge
+ if ( subWindow.addEventListener ) {
+ subWindow.addEventListener( "unload", unloadHandler, false );
+
+ // Support: IE 9 - 10 only
+ } else if ( subWindow.attachEvent ) {
+ subWindow.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert(function( el ) {
+ el.className = "i";
+ return !el.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( el ) {
+ el.appendChild( document.createComment("") );
+ return !el.getElementsByTagName("*").length;
+ });
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programmatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( el ) {
+ docElem.appendChild( el ).id = expando;
+ return !document.getElementsByName || !document.getElementsByName( expando ).length;
+ });
+
+ // ID filter and find
+ if ( support.getById ) {
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var elem = context.getElementById( id );
+ return elem ? [ elem ] : [];
+ }
+ };
+ } else {
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" &&
+ elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+
+ // Support: IE 6 - 7 only
+ // getElementById is not reliable as a find shortcut
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var node, i, elems,
+ elem = context.getElementById( id );
+
+ if ( elem ) {
+
+ // Verify the id attribute
+ node = elem.getAttributeNode("id");
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+
+ // Fall back on getElementsByName
+ elems = context.getElementsByName( id );
+ i = 0;
+ while ( (elem = elems[i++]) ) {
+ node = elem.getAttributeNode("id");
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+ }
+ }
+
+ return [];
+ }
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See https://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert(function( el ) {
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // https://bugs.jquery.com/ticket/12359
+ docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+ "<select id='" + expando + "-\r\\' msallowcapture=''>" +
+ "<option selected=''></option></select>";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !el.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push("~=");
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !el.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibling-combinator selector` fails
+ if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push(".#.+[+~]");
+ }
+ });
+
+ assert(function( el ) {
+ el.innerHTML = "<a href='' disabled='disabled'></a>" +
+ "<select disabled='disabled'><option/></select>";
+
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = document.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ el.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( el.querySelectorAll("[name=d]").length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( el.querySelectorAll(":enabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Support: IE9-11+
+ // IE's :disabled selector does not pick up the children of disabled fieldsets
+ docElem.appendChild( el ).disabled = true;
+ if ( el.querySelectorAll(":disabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ el.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( el ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( el, "*" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( el, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully self-exclusive
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+ return a === document ? -1 :
+ b === document ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ // Make sure that attribute selectors are quoted
+ expr = expr.replace( rattributeQuotes, "='$1']" );
+
+ if ( support.matchesSelector && documentIsHTML &&
+ !compilerCache[ expr + " " ] &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch (e) {}
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.escape = function( sel ) {
+ return (sel + "").replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+ // If no nodeType, this is expected to be an array
+ while ( (node = elem[i++]) ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[6] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] ) {
+ match[2] = match[4] || match[5] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+ // Get excess from tokenize (recursively)
+ (excess = tokenize( unquoted, true )) &&
+ // advance to the next closing parenthesis
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+ // excess is a negative index
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, uniqueCache, outerCache, node, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType,
+ diff = false;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) {
+
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+
+ // Seek `elem` from a previously-cached index
+
+ // ...in a gzip-friendly way
+ node = parent;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex && cache[ 2 ];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ } else {
+ // Use previously-cached element index if available
+ if ( useCache ) {
+ // ...in a gzip-friendly way
+ node = elem;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex;
+ }
+
+ // xml :nth-child(...)
+ // or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ if ( diff === false ) {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) &&
+ ++diff ) {
+
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ uniqueCache[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction(function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[i] );
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
+ }
+ }) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+ // Potentially complex pseudos
+ "not": markFunction(function( selector ) {
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction(function( seed, matches, context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( (elem = unmatched[i]) ) {
+ seed[i] = !(matches[i] = elem);
+ }
+ }
+ }) :
+ function( elem, context, xml ) {
+ input[0] = elem;
+ matcher( input, null, xml, results );
+ // Don't keep the element (issue #299)
+ input[0] = null;
+ return !results.pop();
+ };
+ }),
+
+ "has": markFunction(function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ }),
+
+ "contains": markFunction(function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "enabled": createDisabledPseudo( false ),
+ "disabled": createDisabledPseudo( true ),
+
+ "checked": function( elem ) {
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ },
+
+ "selected": function( elem ) {
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( match ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( (tokens = []) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ skip = combinator.next,
+ key = skip || dir,
+ checkNonElements = base && key === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ return false;
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, uniqueCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+ if ( skip && skip === elem.nodeName.toLowerCase() ) {
+ elem = elem[ dir ] || elem;
+ } else if ( (oldCache = uniqueCache[ key ]) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return (newCache[ 2 ] = oldCache[ 2 ]);
+ } else {
+ // Reuse newcache so results back-propagate to previous elements
+ uniqueCache[ key ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ return false;
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[i]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( (elem = unmatched[i]) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction(function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ });
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[0].type ],
+ implicitRelative = leadingRelative || Expr.relative[" "],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ (checkContext = context).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ } else {
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[j].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ len = elems.length;
+
+ if ( outermost ) {
+ outermostContext = context === document || context || outermost;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ if ( !context && elem.ownerDocument !== document ) {
+ setDocument( elem );
+ xml = !documentIsHTML;
+ }
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context || document, xml) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+ // They will have gone through all possible matchers
+ if ( (elem = !matcher && elem) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // `i` is now the count of elements visited above, and adding it to `matchedCount`
+ // makes the latter nonnegative.
+ matchedCount += i;
+
+ // Apply set filters to unmatched elements
+ // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+ // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+ // no element matchers and no seed.
+ // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+ // case, which will result in a "00" `matchedCount` that differs from `i` but is also
+ // numerically zero.
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( (matcher = setMatchers[j++]) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !(unmatched[i] || setMatched[i]) ) {
+ setMatched[i] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[i] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is only one selector in the list and no seed
+ // (the latter of which guarantees us context)
+ if ( match.length === 1 ) {
+
+ // Reduce context if the leading compound selector is an ID
+ tokens = match[0] = match[0].slice( 0 );
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+ context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[i];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ (type = token.type) ] ) {
+ break;
+ }
+ if ( (find = Expr.find[ type ]) ) {
+ // Search, expanding context for leading sibling combinators
+ if ( (seed = find(
+ token.matches[0].replace( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+ // Should return 1, but returns 4 (following)
+ return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+ el.innerHTML = "<a href='#'></a>";
+ return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+ el.innerHTML = "<input/>";
+ el.firstChild.setAttribute( "value", "" );
+ return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+ return el.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ null;
+ }
+ });
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+
+
+
+var dir = function( elem, dir, until ) {
+ var matched = [],
+ truncate = until !== undefined;
+
+ while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+ if ( elem.nodeType === 1 ) {
+ if ( truncate && jQuery( elem ).is( until ) ) {
+ break;
+ }
+ matched.push( elem );
+ }
+ }
+ return matched;
+};
+
+
+var siblings = function( n, elem ) {
+ var matched = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ matched.push( n );
+ }
+ }
+
+ return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+
+
+function nodeName( elem, name ) {
+
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+var risSimple = /^.[^:#\[\.,]*$/;
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+ if ( jQuery.isFunction( qualifier ) ) {
+ return jQuery.grep( elements, function( elem, i ) {
+ return !!qualifier.call( elem, i, elem ) !== not;
+ } );
+ }
+
+ // Single element
+ if ( qualifier.nodeType ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( elem === qualifier ) !== not;
+ } );
+ }
+
+ // Arraylike of elements (jQuery, arguments, Array)
+ if ( typeof qualifier !== "string" ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+ } );
+ }
+
+ // Simple selector that can be filtered directly, removing non-Elements
+ if ( risSimple.test( qualifier ) ) {
+ return jQuery.filter( qualifier, elements, not );
+ }
+
+ // Complex selector, compare the two sets, removing non-Elements
+ qualifier = jQuery.filter( qualifier, elements );
+ return jQuery.grep( elements, function( elem ) {
+ return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;
+ } );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+ var elem = elems[ 0 ];
+
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ if ( elems.length === 1 && elem.nodeType === 1 ) {
+ return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+ }
+
+ return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+ return elem.nodeType === 1;
+ } ) );
+};
+
+jQuery.fn.extend( {
+ find: function( selector ) {
+ var i, ret,
+ len = this.length,
+ self = this;
+
+ if ( typeof selector !== "string" ) {
+ return this.pushStack( jQuery( selector ).filter( function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( self[ i ], this ) ) {
+ return true;
+ }
+ }
+ } ) );
+ }
+
+ ret = this.pushStack( [] );
+
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
+ }
+
+ return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+ },
+ filter: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], false ) );
+ },
+ not: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], true ) );
+ },
+ is: function( selector ) {
+ return !!winnow(
+ this,
+
+ // If this is a positional/relative selector, check membership in the returned set
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
+ typeof selector === "string" && rneedsContext.test( selector ) ?
+ jQuery( selector ) :
+ selector || [],
+ false
+ ).length;
+ }
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ // Shortcut simple #id case for speed
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+ init = jQuery.fn.init = function( selector, context, root ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // Method init() accepts an alternate rootjQuery
+ // so migrate can support jQuery.sub (gh-2101)
+ root = root || rootjQuery;
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector[ 0 ] === "<" &&
+ selector[ selector.length - 1 ] === ">" &&
+ selector.length >= 3 ) {
+
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && ( match[ 1 ] || !context ) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[ 1 ] ) {
+ context = context instanceof jQuery ? context[ 0 ] : context;
+
+ // Option to run scripts is true for back-compat
+ // Intentionally let the error be thrown if parseHTML is not present
+ jQuery.merge( this, jQuery.parseHTML(
+ match[ 1 ],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+
+ // Properties of context are called as methods if possible
+ if ( jQuery.isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[ 2 ] );
+
+ if ( elem ) {
+
+ // Inject the element directly into the jQuery object
+ this[ 0 ] = elem;
+ this.length = 1;
+ }
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || root ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this[ 0 ] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( jQuery.isFunction( selector ) ) {
+ return root.ready !== undefined ?
+ root.ready( selector ) :
+
+ // Execute immediately if ready is not present
+ selector( jQuery );
+ }
+
+ return jQuery.makeArray( selector, this );
+ };
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+ // Methods guaranteed to produce a unique set when starting from a unique set
+ guaranteedUnique = {
+ children: true,
+ contents: true,
+ next: true,
+ prev: true
+ };
+
+jQuery.fn.extend( {
+ has: function( target ) {
+ var targets = jQuery( target, this ),
+ l = targets.length;
+
+ return this.filter( function() {
+ var i = 0;
+ for ( ; i < l; i++ ) {
+ if ( jQuery.contains( this, targets[ i ] ) ) {
+ return true;
+ }
+ }
+ } );
+ },
+
+ closest: function( selectors, context ) {
+ var cur,
+ i = 0,
+ l = this.length,
+ matched = [],
+ targets = typeof selectors !== "string" && jQuery( selectors );
+
+ // Positional selectors never match, since there's no _selection_ context
+ if ( !rneedsContext.test( selectors ) ) {
+ for ( ; i < l; i++ ) {
+ for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+ // Always skip document fragments
+ if ( cur.nodeType < 11 && ( targets ?
+ targets.index( cur ) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+ matched.push( cur );
+ break;
+ }
+ }
+ }
+ }
+
+ return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+ },
+
+ // Determine the position of an element within the set
+ index: function( elem ) {
+
+ // No argument, return index in parent
+ if ( !elem ) {
+ return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+ }
+
+ // Index in selector
+ if ( typeof elem === "string" ) {
+ return indexOf.call( jQuery( elem ), this[ 0 ] );
+ }
+
+ // Locate the position of the desired element
+ return indexOf.call( this,
+
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[ 0 ] : elem
+ );
+ },
+
+ add: function( selector, context ) {
+ return this.pushStack(
+ jQuery.uniqueSort(
+ jQuery.merge( this.get(), jQuery( selector, context ) )
+ )
+ );
+ },
+
+ addBack: function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ }
+} );
+
+function sibling( cur, dir ) {
+ while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+ return cur;
+}
+
+jQuery.each( {
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, i, until ) {
+ return dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return sibling( elem, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return sibling( elem, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, i, until ) {
+ return dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, i, until ) {
+ return dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return siblings( ( elem.parentNode || {} ).firstChild, elem );
+ },
+ children: function( elem ) {
+ return siblings( elem.firstChild );
+ },
+ contents: function( elem ) {
+ if ( nodeName( elem, "iframe" ) ) {
+ return elem.contentDocument;
+ }
+
+ // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+ // Treat the template element as a regular one in browsers that
+ // don't support it.
+ if ( nodeName( elem, "template" ) ) {
+ elem = elem.content || elem;
+ }
+
+ return jQuery.merge( [], elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var matched = jQuery.map( this, fn, until );
+
+ if ( name.slice( -5 ) !== "Until" ) {
+ selector = until;
+ }
+
+ if ( selector && typeof selector === "string" ) {
+ matched = jQuery.filter( selector, matched );
+ }
+
+ if ( this.length > 1 ) {
+
+ // Remove duplicates
+ if ( !guaranteedUnique[ name ] ) {
+ jQuery.uniqueSort( matched );
+ }
+
+ // Reverse order for parents* and prev-derivatives
+ if ( rparentsprev.test( name ) ) {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack( matched );
+ };
+} );
+var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+ var object = {};
+ jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ } );
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ * once: will ensure the callback list can only be fired once (like a Deferred)
+ *
+ * memory: will keep track of previous values and will call any callback added
+ * after the list has been fired right away with the latest "memorized"
+ * values (like a Deferred)
+ *
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
+ *
+ * stopOnFalse: interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+ // Convert options from String-formatted to Object-formatted if needed
+ // (we check in cache first)
+ options = typeof options === "string" ?
+ createOptions( options ) :
+ jQuery.extend( {}, options );
+
+ var // Flag to know if list is currently firing
+ firing,
+
+ // Last fire value for non-forgettable lists
+ memory,
+
+ // Flag to know if list was already fired
+ fired,
+
+ // Flag to prevent firing
+ locked,
+
+ // Actual callback list
+ list = [],
+
+ // Queue of execution data for repeatable lists
+ queue = [],
+
+ // Index of currently firing callback (modified by add/remove as needed)
+ firingIndex = -1,
+
+ // Fire callbacks
+ fire = function() {
+
+ // Enforce single-firing
+ locked = locked || options.once;
+
+ // Execute callbacks for all pending executions,
+ // respecting firingIndex overrides and runtime changes
+ fired = firing = true;
+ for ( ; queue.length; firingIndex = -1 ) {
+ memory = queue.shift();
+ while ( ++firingIndex < list.length ) {
+
+ // Run callback and check for early termination
+ if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+ options.stopOnFalse ) {
+
+ // Jump to end and forget the data so .add doesn't re-fire
+ firingIndex = list.length;
+ memory = false;
+ }
+ }
+ }
+
+ // Forget the data if we're done with it
+ if ( !options.memory ) {
+ memory = false;
+ }
+
+ firing = false;
+
+ // Clean up if we're done firing for good
+ if ( locked ) {
+
+ // Keep an empty list if we have data for future add calls
+ if ( memory ) {
+ list = [];
+
+ // Otherwise, this object is spent
+ } else {
+ list = "";
+ }
+ }
+ },
+
+ // Actual Callbacks object
+ self = {
+
+ // Add a callback or a collection of callbacks to the list
+ add: function() {
+ if ( list ) {
+
+ // If we have memory from a past run, we should fire after adding
+ if ( memory && !firing ) {
+ firingIndex = list.length - 1;
+ queue.push( memory );
+ }
+
+ ( function add( args ) {
+ jQuery.each( args, function( _, arg ) {
+ if ( jQuery.isFunction( arg ) ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
+ } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
+
+ // Inspect recursively
+ add( arg );
+ }
+ } );
+ } )( arguments );
+
+ if ( memory && !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Remove a callback from the list
+ remove: function() {
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+
+ // Handle firing indexes
+ if ( index <= firingIndex ) {
+ firingIndex--;
+ }
+ }
+ } );
+ return this;
+ },
+
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function( fn ) {
+ return fn ?
+ jQuery.inArray( fn, list ) > -1 :
+ list.length > 0;
+ },
+
+ // Remove all callbacks from the list
+ empty: function() {
+ if ( list ) {
+ list = [];
+ }
+ return this;
+ },
+
+ // Disable .fire and .add
+ // Abort any current/pending executions
+ // Clear all callbacks and values
+ disable: function() {
+ locked = queue = [];
+ list = memory = "";
+ return this;
+ },
+ disabled: function() {
+ return !list;
+ },
+
+ // Disable .fire
+ // Also disable .add unless we have memory (since it would have no effect)
+ // Abort any pending executions
+ lock: function() {
+ locked = queue = [];
+ if ( !memory && !firing ) {
+ list = memory = "";
+ }
+ return this;
+ },
+ locked: function() {
+ return !!locked;
+ },
+
+ // Call all callbacks with the given context and arguments
+ fireWith: function( context, args ) {
+ if ( !locked ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ queue.push( args );
+ if ( !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Call all the callbacks with the given arguments
+ fire: function() {
+ self.fireWith( this, arguments );
+ return this;
+ },
+
+ // To know if the callbacks have already been called at least once
+ fired: function() {
+ return !!fired;
+ }
+ };
+
+ return self;
+};
+
+
+function Identity( v ) {
+ return v;
+}
+function Thrower( ex ) {
+ throw ex;
+}
+
+function adoptValue( value, resolve, reject, noValue ) {
+ var method;
+
+ try {
+
+ // Check for promise aspect first to privilege synchronous behavior
+ if ( value && jQuery.isFunction( ( method = value.promise ) ) ) {
+ method.call( value ).done( resolve ).fail( reject );
+
+ // Other thenables
+ } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {
+ method.call( value, resolve, reject );
+
+ // Other non-thenables
+ } else {
+
+ // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+ // * false: [ value ].slice( 0 ) => resolve( value )
+ // * true: [ value ].slice( 1 ) => resolve()
+ resolve.apply( undefined, [ value ].slice( noValue ) );
+ }
+
+ // For Promises/A+, convert exceptions into rejections
+ // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+ // Deferred#then to conditionally suppress rejection.
+ } catch ( value ) {
+
+ // Support: Android 4.0 only
+ // Strict mode functions invoked without .call/.apply get global-object context
+ reject.apply( undefined, [ value ] );
+ }
+}
+
+jQuery.extend( {
+
+ Deferred: function( func ) {
+ var tuples = [
+
+ // action, add listener, callbacks,
+ // ... .then handlers, argument index, [final state]
+ [ "notify", "progress", jQuery.Callbacks( "memory" ),
+ jQuery.Callbacks( "memory" ), 2 ],
+ [ "resolve", "done", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 0, "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 1, "rejected" ]
+ ],
+ state = "pending",
+ promise = {
+ state: function() {
+ return state;
+ },
+ always: function() {
+ deferred.done( arguments ).fail( arguments );
+ return this;
+ },
+ "catch": function( fn ) {
+ return promise.then( null, fn );
+ },
+
+ // Keep pipe for back-compat
+ pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+ var fns = arguments;
+
+ return jQuery.Deferred( function( newDefer ) {
+ jQuery.each( tuples, function( i, tuple ) {
+
+ // Map tuples (progress, done, fail) to arguments (done, fail, progress)
+ var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+ // deferred.progress(function() { bind to newDefer or newDefer.notify })
+ // deferred.done(function() { bind to newDefer or newDefer.resolve })
+ // deferred.fail(function() { bind to newDefer or newDefer.reject })
+ deferred[ tuple[ 1 ] ]( function() {
+ var returned = fn && fn.apply( this, arguments );
+ if ( returned && jQuery.isFunction( returned.promise ) ) {
+ returned.promise()
+ .progress( newDefer.notify )
+ .done( newDefer.resolve )
+ .fail( newDefer.reject );
+ } else {
+ newDefer[ tuple[ 0 ] + "With" ](
+ this,
+ fn ? [ returned ] : arguments
+ );
+ }
+ } );
+ } );
+ fns = null;
+ } ).promise();
+ },
+ then: function( onFulfilled, onRejected, onProgress ) {
+ var maxDepth = 0;
+ function resolve( depth, deferred, handler, special ) {
+ return function() {
+ var that = this,
+ args = arguments,
+ mightThrow = function() {
+ var returned, then;
+
+ // Support: Promises/A+ section 2.3.3.3.3
+ // https://promisesaplus.com/#point-59
+ // Ignore double-resolution attempts
+ if ( depth < maxDepth ) {
+ return;
+ }
+
+ returned = handler.apply( that, args );
+
+ // Support: Promises/A+ section 2.3.1
+ // https://promisesaplus.com/#point-48
+ if ( returned === deferred.promise() ) {
+ throw new TypeError( "Thenable self-resolution" );
+ }
+
+ // Support: Promises/A+ sections 2.3.3.1, 3.5
+ // https://promisesaplus.com/#point-54
+ // https://promisesaplus.com/#point-75
+ // Retrieve `then` only once
+ then = returned &&
+
+ // Support: Promises/A+ section 2.3.4
+ // https://promisesaplus.com/#point-64
+ // Only check objects and functions for thenability
+ ( typeof returned === "object" ||
+ typeof returned === "function" ) &&
+ returned.then;
+
+ // Handle a returned thenable
+ if ( jQuery.isFunction( then ) ) {
+
+ // Special processors (notify) just wait for resolution
+ if ( special ) {
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special )
+ );
+
+ // Normal processors (resolve) also hook into progress
+ } else {
+
+ // ...and disregard older resolution values
+ maxDepth++;
+
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special ),
+ resolve( maxDepth, deferred, Identity,
+ deferred.notifyWith )
+ );
+ }
+
+ // Handle all other returned values
+ } else {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Identity ) {
+ that = undefined;
+ args = [ returned ];
+ }
+
+ // Process the value(s)
+ // Default process is resolve
+ ( special || deferred.resolveWith )( that, args );
+ }
+ },
+
+ // Only normal processors (resolve) catch and reject exceptions
+ process = special ?
+ mightThrow :
+ function() {
+ try {
+ mightThrow();
+ } catch ( e ) {
+
+ if ( jQuery.Deferred.exceptionHook ) {
+ jQuery.Deferred.exceptionHook( e,
+ process.stackTrace );
+ }
+
+ // Support: Promises/A+ section 2.3.3.3.4.1
+ // https://promisesaplus.com/#point-61
+ // Ignore post-resolution exceptions
+ if ( depth + 1 >= maxDepth ) {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Thrower ) {
+ that = undefined;
+ args = [ e ];
+ }
+
+ deferred.rejectWith( that, args );
+ }
+ }
+ };
+
+ // Support: Promises/A+ section 2.3.3.3.1
+ // https://promisesaplus.com/#point-57
+ // Re-resolve promises immediately to dodge false rejection from
+ // subsequent errors
+ if ( depth ) {
+ process();
+ } else {
+
+ // Call an optional hook to record the stack, in case of exception
+ // since it's otherwise lost when execution goes async
+ if ( jQuery.Deferred.getStackHook ) {
+ process.stackTrace = jQuery.Deferred.getStackHook();
+ }
+ window.setTimeout( process );
+ }
+ };
+ }
+
+ return jQuery.Deferred( function( newDefer ) {
+
+ // progress_handlers.add( ... )
+ tuples[ 0 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ jQuery.isFunction( onProgress ) ?
+ onProgress :
+ Identity,
+ newDefer.notifyWith
+ )
+ );
+
+ // fulfilled_handlers.add( ... )
+ tuples[ 1 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ jQuery.isFunction( onFulfilled ) ?
+ onFulfilled :
+ Identity
+ )
+ );
+
+ // rejected_handlers.add( ... )
+ tuples[ 2 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ jQuery.isFunction( onRejected ) ?
+ onRejected :
+ Thrower
+ )
+ );
+ } ).promise();
+ },
+
+ // Get a promise for this deferred
+ // If obj is provided, the promise aspect is added to the object
+ promise: function( obj ) {
+ return obj != null ? jQuery.extend( obj, promise ) : promise;
+ }
+ },
+ deferred = {};
+
+ // Add list-specific methods
+ jQuery.each( tuples, function( i, tuple ) {
+ var list = tuple[ 2 ],
+ stateString = tuple[ 5 ];
+
+ // promise.progress = list.add
+ // promise.done = list.add
+ // promise.fail = list.add
+ promise[ tuple[ 1 ] ] = list.add;
+
+ // Handle state
+ if ( stateString ) {
+ list.add(
+ function() {
+
+ // state = "resolved" (i.e., fulfilled)
+ // state = "rejected"
+ state = stateString;
+ },
+
+ // rejected_callbacks.disable
+ // fulfilled_callbacks.disable
+ tuples[ 3 - i ][ 2 ].disable,
+
+ // progress_callbacks.lock
+ tuples[ 0 ][ 2 ].lock
+ );
+ }
+
+ // progress_handlers.fire
+ // fulfilled_handlers.fire
+ // rejected_handlers.fire
+ list.add( tuple[ 3 ].fire );
+
+ // deferred.notify = function() { deferred.notifyWith(...) }
+ // deferred.resolve = function() { deferred.resolveWith(...) }
+ // deferred.reject = function() { deferred.rejectWith(...) }
+ deferred[ tuple[ 0 ] ] = function() {
+ deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+ return this;
+ };
+
+ // deferred.notifyWith = list.fireWith
+ // deferred.resolveWith = list.fireWith
+ // deferred.rejectWith = list.fireWith
+ deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+ } );
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( singleValue ) {
+ var
+
+ // count of uncompleted subordinates
+ remaining = arguments.length,
+
+ // count of unprocessed arguments
+ i = remaining,
+
+ // subordinate fulfillment data
+ resolveContexts = Array( i ),
+ resolveValues = slice.call( arguments ),
+
+ // the master Deferred
+ master = jQuery.Deferred(),
+
+ // subordinate callback factory
+ updateFunc = function( i ) {
+ return function( value ) {
+ resolveContexts[ i ] = this;
+ resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+ if ( !( --remaining ) ) {
+ master.resolveWith( resolveContexts, resolveValues );
+ }
+ };
+ };
+
+ // Single- and empty arguments are adopted like Promise.resolve
+ if ( remaining <= 1 ) {
+ adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+ !remaining );
+
+ // Use .then() to unwrap secondary thenables (cf. gh-3000)
+ if ( master.state() === "pending" ||
+ jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+ return master.then();
+ }
+ }
+
+ // Multiple arguments are aggregated like Promise.all array elements
+ while ( i-- ) {
+ adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+ }
+
+ return master.promise();
+ }
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+ // Support: IE 8 - 9 only
+ // Console exists when dev tools are open, which can happen at any time
+ if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
+ window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+ }
+};
+
+
+
+
+jQuery.readyException = function( error ) {
+ window.setTimeout( function() {
+ throw error;
+ } );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+ readyList
+ .then( fn )
+
+ // Wrap jQuery.readyException in a function so that the lookup
+ // happens at the time of error handling instead of callback
+ // registration.
+ .catch( function( error ) {
+ jQuery.readyException( error );
+ } );
+
+ return this;
+};
+
+jQuery.extend( {
+
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+ }
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+ document.removeEventListener( "DOMContentLoaded", completed );
+ window.removeEventListener( "load", completed );
+ jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+ ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ window.setTimeout( jQuery.ready );
+
+} else {
+
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ len = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( jQuery.type( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ access( elems, fn, i, key[ i ], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !jQuery.isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < len; i++ ) {
+ fn(
+ elems[ i ], key, raw ?
+ value :
+ value.call( elems[ i ], i, fn( elems[ i ], key ) )
+ );
+ }
+ }
+ }
+
+ if ( chainable ) {
+ return elems;
+ }
+
+ // Gets
+ if ( bulk ) {
+ return fn.call( elems );
+ }
+
+ return len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+var acceptData = function( owner ) {
+
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+ this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+ cache: function( owner ) {
+
+ // Check if the owner object already has a cache
+ var value = owner[ this.expando ];
+
+ // If not, create one
+ if ( !value ) {
+ value = {};
+
+ // We can accept data for non-element nodes in modern browsers,
+ // but we should not, see #8335.
+ // Always return an empty object.
+ if ( acceptData( owner ) ) {
+
+ // If it is a node unlikely to be stringify-ed or looped over
+ // use plain assignment
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = value;
+
+ // Otherwise secure it in a non-enumerable property
+ // configurable must be true to allow the property to be
+ // deleted when data is removed
+ } else {
+ Object.defineProperty( owner, this.expando, {
+ value: value,
+ configurable: true
+ } );
+ }
+ }
+ }
+
+ return value;
+ },
+ set: function( owner, data, value ) {
+ var prop,
+ cache = this.cache( owner );
+
+ // Handle: [ owner, key, value ] args
+ // Always use camelCase key (gh-2257)
+ if ( typeof data === "string" ) {
+ cache[ jQuery.camelCase( data ) ] = value;
+
+ // Handle: [ owner, { properties } ] args
+ } else {
+
+ // Copy the properties one-by-one to the cache object
+ for ( prop in data ) {
+ cache[ jQuery.camelCase( prop ) ] = data[ prop ];
+ }
+ }
+ return cache;
+ },
+ get: function( owner, key ) {
+ return key === undefined ?
+ this.cache( owner ) :
+
+ // Always use camelCase key (gh-2257)
+ owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
+ },
+ access: function( owner, key, value ) {
+
+ // In cases where either:
+ //
+ // 1. No key was specified
+ // 2. A string key was specified, but no value provided
+ //
+ // Take the "read" path and allow the get method to determine
+ // which value to return, respectively either:
+ //
+ // 1. The entire cache object
+ // 2. The data stored at the key
+ //
+ if ( key === undefined ||
+ ( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+ return this.get( owner, key );
+ }
+
+ // When the key is not a string, or both a key and value
+ // are specified, set or extend (existing objects) with either:
+ //
+ // 1. An object of properties
+ // 2. A key and value
+ //
+ this.set( owner, key, value );
+
+ // Since the "set" path can have two possible entry points
+ // return the expected data based on which path was taken[*]
+ return value !== undefined ? value : key;
+ },
+ remove: function( owner, key ) {
+ var i,
+ cache = owner[ this.expando ];
+
+ if ( cache === undefined ) {
+ return;
+ }
+
+ if ( key !== undefined ) {
+
+ // Support array or space separated string of keys
+ if ( Array.isArray( key ) ) {
+
+ // If key is an array of keys...
+ // We always set camelCase keys, so remove that.
+ key = key.map( jQuery.camelCase );
+ } else {
+ key = jQuery.camelCase( key );
+
+ // If a key with the spaces exists, use it.
+ // Otherwise, create an array by matching non-whitespace
+ key = key in cache ?
+ [ key ] :
+ ( key.match( rnothtmlwhite ) || [] );
+ }
+
+ i = key.length;
+
+ while ( i-- ) {
+ delete cache[ key[ i ] ];
+ }
+ }
+
+ // Remove the expando if there's no more data
+ if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+ // Support: Chrome <=35 - 45
+ // Webkit & Blink performance suffers when deleting properties
+ // from DOM nodes, so set to undefined instead
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = undefined;
+ } else {
+ delete owner[ this.expando ];
+ }
+ }
+ },
+ hasData: function( owner ) {
+ var cache = owner[ this.expando ];
+ return cache !== undefined && !jQuery.isEmptyObject( cache );
+ }
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+// Implementation Summary
+//
+// 1. Enforce API surface and semantic compatibility with 1.9.x branch
+// 2. Improve the module's maintainability by reducing the storage
+// paths to a single mechanism.
+// 3. Use the same single mechanism to support "private" and "user" data.
+// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+// 5. Avoid exposing implementation details on user objects (eg. expando properties)
+// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ rmultiDash = /[A-Z]/g;
+
+function getData( data ) {
+ if ( data === "true" ) {
+ return true;
+ }
+
+ if ( data === "false" ) {
+ return false;
+ }
+
+ if ( data === "null" ) {
+ return null;
+ }
+
+ // Only convert to a number if it doesn't change the string
+ if ( data === +data + "" ) {
+ return +data;
+ }
+
+ if ( rbrace.test( data ) ) {
+ return JSON.parse( data );
+ }
+
+ return data;
+}
+
+function dataAttr( elem, key, data ) {
+ var name;
+
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+ name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+ data = elem.getAttribute( name );
+
+ if ( typeof data === "string" ) {
+ try {
+ data = getData( data );
+ } catch ( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ dataUser.set( elem, key, data );
+ } else {
+ data = undefined;
+ }
+ }
+ return data;
+}
+
+jQuery.extend( {
+ hasData: function( elem ) {
+ return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return dataUser.access( elem, name, data );
+ },
+
+ removeData: function( elem, name ) {
+ dataUser.remove( elem, name );
+ },
+
+ // TODO: Now that all calls to _data and _removeData have been replaced
+ // with direct calls to dataPriv methods, these can be deprecated.
+ _data: function( elem, name, data ) {
+ return dataPriv.access( elem, name, data );
+ },
+
+ _removeData: function( elem, name ) {
+ dataPriv.remove( elem, name );
+ }
+} );
+
+jQuery.fn.extend( {
+ data: function( key, value ) {
+ var i, name, data,
+ elem = this[ 0 ],
+ attrs = elem && elem.attributes;
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = dataUser.get( elem );
+
+ if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+ i = attrs.length;
+ while ( i-- ) {
+
+ // Support: IE 11 only
+ // The attrs elements can be null (#14894)
+ if ( attrs[ i ] ) {
+ name = attrs[ i ].name;
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = jQuery.camelCase( name.slice( 5 ) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ }
+ dataPriv.set( elem, "hasDataAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each( function() {
+ dataUser.set( this, key );
+ } );
+ }
+
+ return access( this, function( value ) {
+ var data;
+
+ // The calling jQuery object (element matches) is not empty
+ // (and therefore has an element appears at this[ 0 ]) and the
+ // `value` parameter was not undefined. An empty jQuery object
+ // will result in `undefined` for elem = this[ 0 ] which will
+ // throw an exception if an attempt to read a data cache is made.
+ if ( elem && value === undefined ) {
+
+ // Attempt to get data from the cache
+ // The key will always be camelCased in Data
+ data = dataUser.get( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to "discover" the data in
+ // HTML5 custom data-* attrs
+ data = dataAttr( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // We tried really hard, but the data doesn't exist.
+ return;
+ }
+
+ // Set the data...
+ this.each( function() {
+
+ // We always store the camelCased key
+ dataUser.set( this, key, value );
+ } );
+ }, null, value, arguments.length > 1, null, true );
+ },
+
+ removeData: function( key ) {
+ return this.each( function() {
+ dataUser.remove( this, key );
+ } );
+ }
+} );
+
+
+jQuery.extend( {
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = dataPriv.get( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || Array.isArray( data ) ) {
+ queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+ } else {
+ queue.push( data );
+ }
+ }
+ return queue || [];
+ }
+ },
+
+ dequeue: function( elem, type ) {
+ type = type || "fx";
+
+ var queue = jQuery.queue( elem, type ),
+ startLength = queue.length,
+ fn = queue.shift(),
+ hooks = jQuery._queueHooks( elem, type ),
+ next = function() {
+ jQuery.dequeue( elem, type );
+ };
+
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ startLength--;
+ }
+
+ if ( fn ) {
+
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift( "inprogress" );
+ }
+
+ // Clear up the last queue stop function
+ delete hooks.stop;
+ fn.call( elem, next, hooks );
+ }
+
+ if ( !startLength && hooks ) {
+ hooks.empty.fire();
+ }
+ },
+
+ // Not public - generate a queueHooks object, or return the current one
+ _queueHooks: function( elem, type ) {
+ var key = type + "queueHooks";
+ return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+ empty: jQuery.Callbacks( "once memory" ).add( function() {
+ dataPriv.remove( elem, [ type + "queue", key ] );
+ } )
+ } );
+ }
+} );
+
+jQuery.fn.extend( {
+ queue: function( type, data ) {
+ var setter = 2;
+
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ setter--;
+ }
+
+ if ( arguments.length < setter ) {
+ return jQuery.queue( this[ 0 ], type );
+ }
+
+ return data === undefined ?
+ this :
+ this.each( function() {
+ var queue = jQuery.queue( this, type, data );
+
+ // Ensure a hooks for this queue
+ jQuery._queueHooks( this, type );
+
+ if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ dequeue: function( type ) {
+ return this.each( function() {
+ jQuery.dequeue( this, type );
+ } );
+ },
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ },
+
+ // Get a promise resolved when queues of a certain type
+ // are emptied (fx is the type by default)
+ promise: function( type, obj ) {
+ var tmp,
+ count = 1,
+ defer = jQuery.Deferred(),
+ elements = this,
+ i = this.length,
+ resolve = function() {
+ if ( !( --count ) ) {
+ defer.resolveWith( elements, [ elements ] );
+ }
+ };
+
+ if ( typeof type !== "string" ) {
+ obj = type;
+ type = undefined;
+ }
+ type = type || "fx";
+
+ while ( i-- ) {
+ tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var isHiddenWithinTree = function( elem, el ) {
+
+ // isHiddenWithinTree might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+
+ // Inline style trumps all
+ return elem.style.display === "none" ||
+ elem.style.display === "" &&
+
+ // Otherwise, check computed style
+ // Support: Firefox <=43 - 45
+ // Disconnected elements can have computed display: none, so first confirm that elem is
+ // in the document.
+ jQuery.contains( elem.ownerDocument, elem ) &&
+
+ jQuery.css( elem, "display" ) === "none";
+ };
+
+var swap = function( elem, options, callback, args ) {
+ var ret, name,
+ old = {};
+
+ // Remember the old values, and insert the new ones
+ for ( name in options ) {
+ old[ name ] = elem.style[ name ];
+ elem.style[ name ] = options[ name ];
+ }
+
+ ret = callback.apply( elem, args || [] );
+
+ // Revert the old values
+ for ( name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
+
+ return ret;
+};
+
+
+
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+ var adjusted,
+ scale = 1,
+ maxIterations = 20,
+ currentValue = tween ?
+ function() {
+ return tween.cur();
+ } :
+ function() {
+ return jQuery.css( elem, prop, "" );
+ },
+ initial = currentValue(),
+ unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+ // Starting value computation is required for potential unit mismatches
+ initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+ rcssNum.exec( jQuery.css( elem, prop ) );
+
+ if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+ // Trust units reported by jQuery.css
+ unit = unit || initialInUnit[ 3 ];
+
+ // Make sure we update the tween properties later on
+ valueParts = valueParts || [];
+
+ // Iteratively approximate from a nonzero starting point
+ initialInUnit = +initial || 1;
+
+ do {
+
+ // If previous iteration zeroed out, double until we get *something*.
+ // Use string for doubling so we don't accidentally see scale as unchanged below
+ scale = scale || ".5";
+
+ // Adjust and apply
+ initialInUnit = initialInUnit / scale;
+ jQuery.style( elem, prop, initialInUnit + unit );
+
+ // Update scale, tolerating zero or NaN from tween.cur()
+ // Break the loop if scale is unchanged or perfect, or if we've just had enough.
+ } while (
+ scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
+ );
+ }
+
+ if ( valueParts ) {
+ initialInUnit = +initialInUnit || +initial || 0;
+
+ // Apply relative offset (+=/-=) if specified
+ adjusted = valueParts[ 1 ] ?
+ initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+ +valueParts[ 2 ];
+ if ( tween ) {
+ tween.unit = unit;
+ tween.start = initialInUnit;
+ tween.end = adjusted;
+ }
+ }
+ return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+ var temp,
+ doc = elem.ownerDocument,
+ nodeName = elem.nodeName,
+ display = defaultDisplayMap[ nodeName ];
+
+ if ( display ) {
+ return display;
+ }
+
+ temp = doc.body.appendChild( doc.createElement( nodeName ) );
+ display = jQuery.css( temp, "display" );
+
+ temp.parentNode.removeChild( temp );
+
+ if ( display === "none" ) {
+ display = "block";
+ }
+ defaultDisplayMap[ nodeName ] = display;
+
+ return display;
+}
+
+function showHide( elements, show ) {
+ var display, elem,
+ values = [],
+ index = 0,
+ length = elements.length;
+
+ // Determine new display value for elements that need to change
+ for ( ; index < length; index++ ) {
+ elem = elements[ index ];
+ if ( !elem.style ) {
+ continue;
+ }
+
+ display = elem.style.display;
+ if ( show ) {
+
+ // Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+ // check is required in this first loop unless we have a nonempty display value (either
+ // inline or about-to-be-restored)
+ if ( display === "none" ) {
+ values[ index ] = dataPriv.get( elem, "display" ) || null;
+ if ( !values[ index ] ) {
+ elem.style.display = "";
+ }
+ }
+ if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+ values[ index ] = getDefaultDisplay( elem );
+ }
+ } else {
+ if ( display !== "none" ) {
+ values[ index ] = "none";
+
+ // Remember what we're overwriting
+ dataPriv.set( elem, "display", display );
+ }
+ }
+ }
+
+ // Set the display of the elements in a second loop to avoid constant reflow
+ for ( index = 0; index < length; index++ ) {
+ if ( values[ index ] != null ) {
+ elements[ index ].style.display = values[ index ];
+ }
+ }
+
+ return elements;
+}
+
+jQuery.fn.extend( {
+ show: function() {
+ return showHide( this, true );
+ },
+ hide: function() {
+ return showHide( this );
+ },
+ toggle: function( state ) {
+ if ( typeof state === "boolean" ) {
+ return state ? this.show() : this.hide();
+ }
+
+ return this.each( function() {
+ if ( isHiddenWithinTree( this ) ) {
+ jQuery( this ).show();
+ } else {
+ jQuery( this ).hide();
+ }
+ } );
+ }
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
+
+var rscriptType = ( /^$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+ // Support: IE <=9 only
+ option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+ // XHTML parsers do not magically insert elements in the
+ // same way that tag soup parsers do. So we cannot shorten
+ // this by omitting <tbody> or other required elements.
+ thead: [ 1, "<table>", "</table>" ],
+ col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+ tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+ td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+ _default: [ 0, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+ // Support: IE <=9 - 11 only
+ // Use typeof to avoid zero-argument method invocation on host objects (#15151)
+ var ret;
+
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ ret = context.getElementsByTagName( tag || "*" );
+
+ } else if ( typeof context.querySelectorAll !== "undefined" ) {
+ ret = context.querySelectorAll( tag || "*" );
+
+ } else {
+ ret = [];
+ }
+
+ if ( tag === undefined || tag && nodeName( context, tag ) ) {
+ return jQuery.merge( [ context ], ret );
+ }
+
+ return ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+ var i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ dataPriv.set(
+ elems[ i ],
+ "globalEval",
+ !refElements || dataPriv.get( refElements[ i ], "globalEval" )
+ );
+ }
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+ var elem, tmp, tag, wrap, contains, j,
+ fragment = context.createDocumentFragment(),
+ nodes = [],
+ i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ elem = elems[ i ];
+
+ if ( elem || elem === 0 ) {
+
+ // Add nodes directly
+ if ( jQuery.type( elem ) === "object" ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+ // Convert non-html into a text node
+ } else if ( !rhtml.test( elem ) ) {
+ nodes.push( context.createTextNode( elem ) );
+
+ // Convert html into DOM nodes
+ } else {
+ tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+ // Deserialize a standard representation
+ tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+ wrap = wrapMap[ tag ] || wrapMap._default;
+ tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+ // Descend through wrappers to the right content
+ j = wrap[ 0 ];
+ while ( j-- ) {
+ tmp = tmp.lastChild;
+ }
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, tmp.childNodes );
+
+ // Remember the top-level container
+ tmp = fragment.firstChild;
+
+ // Ensure the created nodes are orphaned (#12392)
+ tmp.textContent = "";
+ }
+ }
+ }
+
+ // Remove wrapper from fragment
+ fragment.textContent = "";
+
+ i = 0;
+ while ( ( elem = nodes[ i++ ] ) ) {
+
+ // Skip elements already in the context collection (trac-4087)
+ if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+ if ( ignored ) {
+ ignored.push( elem );
+ }
+ continue;
+ }
+
+ contains = jQuery.contains( elem.ownerDocument, elem );
+
+ // Append to fragment
+ tmp = getAll( fragment.appendChild( elem ), "script" );
+
+ // Preserve script evaluation history
+ if ( contains ) {
+ setGlobalEval( tmp );
+ }
+
+ // Capture executables
+ if ( scripts ) {
+ j = 0;
+ while ( ( elem = tmp[ j++ ] ) ) {
+ if ( rscriptType.test( elem.type || "" ) ) {
+ scripts.push( elem );
+ }
+ }
+ }
+ }
+
+ return fragment;
+}
+
+
+( function() {
+ var fragment = document.createDocumentFragment(),
+ div = fragment.appendChild( document.createElement( "div" ) ),
+ input = document.createElement( "input" );
+
+ // Support: Android 4.0 - 4.3 only
+ // Check state lost if the name is set (#11217)
+ // Support: Windows Web Apps (WWA)
+ // `name` and `type` must use .setAttribute for WWA (#14901)
+ input.setAttribute( "type", "radio" );
+ input.setAttribute( "checked", "checked" );
+ input.setAttribute( "name", "t" );
+
+ div.appendChild( input );
+
+ // Support: Android <=4.1 only
+ // Older WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE <=11 only
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ div.innerHTML = "<textarea>x</textarea>";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+var documentElement = document.documentElement;
+
+
+
+var
+ rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+// Support: IE <=9 only
+// See #13393 for more info
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+ var origFn, type;
+
+ // Types can be a map of types/handlers
+ if ( typeof types === "object" ) {
+
+ // ( types-Object, selector, data )
+ if ( typeof selector !== "string" ) {
+
+ // ( types-Object, data )
+ data = data || selector;
+ selector = undefined;
+ }
+ for ( type in types ) {
+ on( elem, type, selector, data, types[ type ], one );
+ }
+ return elem;
+ }
+
+ if ( data == null && fn == null ) {
+
+ // ( types, fn )
+ fn = selector;
+ data = selector = undefined;
+ } else if ( fn == null ) {
+ if ( typeof selector === "string" ) {
+
+ // ( types, selector, fn )
+ fn = data;
+ data = undefined;
+ } else {
+
+ // ( types, data, fn )
+ fn = data;
+ data = selector;
+ selector = undefined;
+ }
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ } else if ( !fn ) {
+ return elem;
+ }
+
+ if ( one === 1 ) {
+ origFn = fn;
+ fn = function( event ) {
+
+ // Can use an empty set, since event contains the info
+ jQuery().off( event );
+ return origFn.apply( this, arguments );
+ };
+
+ // Use same guid so caller can remove using origFn
+ fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+ }
+ return elem.each( function() {
+ jQuery.event.add( this, types, fn, data, selector );
+ } );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+
+ var handleObjIn, eventHandle, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.get( elem );
+
+ // Don't attach events to noData or text/comment nodes (but allow plain objects)
+ if ( !elemData ) {
+ return;
+ }
+
+ // Caller can pass in an object of custom data in lieu of the handler
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ selector = handleObjIn.selector;
+ }
+
+ // Ensure that invalid selectors throw exceptions at attach time
+ // Evaluate against documentElement in case elem is a non-element node (e.g., document)
+ if ( selector ) {
+ jQuery.find.matchesSelector( documentElement, selector );
+ }
+
+ // Make sure that the handler has a unique ID, used to find/remove it later
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
+
+ // Init the element's event structure and main handler, if this is the first
+ if ( !( events = elemData.events ) ) {
+ events = elemData.events = {};
+ }
+ if ( !( eventHandle = elemData.handle ) ) {
+ eventHandle = elemData.handle = function( e ) {
+
+ // Discard the second event of a jQuery.event.trigger() and
+ // when an event is called after a page has unloaded
+ return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+ jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+ };
+ }
+
+ // Handle multiple events separated by a space
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
+
+ // If event changes its type, use the special event handlers for the changed type
+ special = jQuery.event.special[ type ] || {};
+
+ // If selector defined, determine special event api type, otherwise given type
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+
+ // Update special based on newly reset type
+ special = jQuery.event.special[ type ] || {};
+
+ // handleObj is passed to all event handlers
+ handleObj = jQuery.extend( {
+ type: type,
+ origType: origType,
+ data: data,
+ handler: handler,
+ guid: handler.guid,
+ selector: selector,
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+ namespace: namespaces.join( "." )
+ }, handleObjIn );
+
+ // Init the event handler queue if we're the first
+ if ( !( handlers = events[ type ] ) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener if the special events handler returns false
+ if ( !special.setup ||
+ special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
+ // Add to the element's handler list, delegates in front
+ if ( selector ) {
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
+ } else {
+ handlers.push( handleObj );
+ }
+
+ // Keep track of which events have ever been used, for event optimization
+ jQuery.event.global[ type ] = true;
+ }
+
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+
+ var j, origCount, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+ if ( !elemData || !( events = elemData.events ) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // Unbind all events (on this namespace, if provided) for the element
+ if ( !type ) {
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+ }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+ handlers = events[ type ] || [];
+ tmp = tmp[ 2 ] &&
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector ||
+ selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.delegateCount--;
+ }
+ if ( special.remove ) {
+ special.remove.call( elem, handleObj );
+ }
+ }
+ }
+
+ // Remove generic event handler if we removed something and no more handlers exist
+ // (avoids potential for endless recursion during removal of special event handlers)
+ if ( origCount && !handlers.length ) {
+ if ( !special.teardown ||
+ special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+ jQuery.removeEvent( elem, type, elemData.handle );
+ }
+
+ delete events[ type ];
+ }
+ }
+
+ // Remove data and the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ dataPriv.remove( elem, "handle events" );
+ }
+ },
+
+ dispatch: function( nativeEvent ) {
+
+ // Make a writable jQuery.Event from the native event object
+ var event = jQuery.event.fix( nativeEvent );
+
+ var i, j, ret, matched, handleObj, handlerQueue,
+ args = new Array( arguments.length ),
+ handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
+ args[ 0 ] = event;
+
+ for ( i = 1; i < arguments.length; i++ ) {
+ args[ i ] = arguments[ i ];
+ }
+
+ event.delegateTarget = this;
+
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+ return;
+ }
+
+ // Determine handlers
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( ( handleObj = matched.handlers[ j++ ] ) &&
+ !event.isImmediatePropagationStopped() ) {
+
+ // Triggered event must either 1) have no namespace, or 2) have namespace(s)
+ // a subset or equal to those in the bound event (both can have no namespace).
+ if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+ handleObj.handler ).apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( ( event.result = ret ) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+ }
+ }
+ }
+
+ // Call the postDispatch hook for the mapped type
+ if ( special.postDispatch ) {
+ special.postDispatch.call( this, event );
+ }
+
+ return event.result;
+ },
+
+ handlers: function( event, handlers ) {
+ var i, handleObj, sel, matchedHandlers, matchedSelectors,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Find delegate handlers
+ if ( delegateCount &&
+
+ // Support: IE <=9
+ // Black-hole SVG <use> instance trees (trac-13180)
+ cur.nodeType &&
+
+ // Support: Firefox <=42
+ // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
+ // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
+ // Support: IE 11 only
+ // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
+ !( event.type === "click" && event.button >= 1 ) ) {
+
+ for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+ // Don't check non-elements (#13208)
+ // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+ if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
+ matchedHandlers = [];
+ matchedSelectors = {};
+ for ( i = 0; i < delegateCount; i++ ) {
+ handleObj = handlers[ i ];
+
+ // Don't conflict with Object.prototype properties (#13203)
+ sel = handleObj.selector + " ";
+
+ if ( matchedSelectors[ sel ] === undefined ) {
+ matchedSelectors[ sel ] = handleObj.needsContext ?
+ jQuery( sel, this ).index( cur ) > -1 :
+ jQuery.find( sel, this, null, [ cur ] ).length;
+ }
+ if ( matchedSelectors[ sel ] ) {
+ matchedHandlers.push( handleObj );
+ }
+ }
+ if ( matchedHandlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
+ }
+ }
+ }
+ }
+
+ // Add the remaining (directly-bound) handlers
+ cur = this;
+ if ( delegateCount < handlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
+ }
+
+ return handlerQueue;
+ },
+
+ addProp: function( name, hook ) {
+ Object.defineProperty( jQuery.Event.prototype, name, {
+ enumerable: true,
+ configurable: true,
+
+ get: jQuery.isFunction( hook ) ?
+ function() {
+ if ( this.originalEvent ) {
+ return hook( this.originalEvent );
+ }
+ } :
+ function() {
+ if ( this.originalEvent ) {
+ return this.originalEvent[ name ];
+ }
+ },
+
+ set: function( value ) {
+ Object.defineProperty( this, name, {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: value
+ } );
+ }
+ } );
+ },
+
+ fix: function( originalEvent ) {
+ return originalEvent[ jQuery.expando ] ?
+ originalEvent :
+ new jQuery.Event( originalEvent );
+ },
+
+ special: {
+ load: {
+
+ // Prevent triggered image.load events from bubbling to window.load
+ noBubble: true
+ },
+ focus: {
+
+ // Fire native event if possible so blur/focus sequence is correct
+ trigger: function() {
+ if ( this !== safeActiveElement() && this.focus ) {
+ this.focus();
+ return false;
+ }
+ },
+ delegateType: "focusin"
+ },
+ blur: {
+ trigger: function() {
+ if ( this === safeActiveElement() && this.blur ) {
+ this.blur();
+ return false;
+ }
+ },
+ delegateType: "focusout"
+ },
+ click: {
+
+ // For checkbox, fire native event so checked state will be right
+ trigger: function() {
+ if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
+ this.click();
+ return false;
+ }
+ },
+
+ // For cross-browser consistency, don't fire native .click() on links
+ _default: function( event ) {
+ return nodeName( event.target, "a" );
+ }
+ },
+
+ beforeunload: {
+ postDispatch: function( event ) {
+
+ // Support: Firefox 20+
+ // Firefox doesn't alert if the returnValue field is not set.
+ if ( event.result !== undefined && event.originalEvent ) {
+ event.originalEvent.returnValue = event.result;
+ }
+ }
+ }
+ }
+};
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+ // This "if" is needed for plain objects
+ if ( elem.removeEventListener ) {
+ elem.removeEventListener( type, handle );
+ }
+};
+
+jQuery.Event = function( src, props ) {
+
+ // Allow instantiation without the 'new' keyword
+ if ( !( this instanceof jQuery.Event ) ) {
+ return new jQuery.Event( src, props );
+ }
+
+ // Event object
+ if ( src && src.type ) {
+ this.originalEvent = src;
+ this.type = src.type;
+
+ // Events bubbling up the document may have been marked as prevented
+ // by a handler lower down the tree; reflect the correct value.
+ this.isDefaultPrevented = src.defaultPrevented ||
+ src.defaultPrevented === undefined &&
+
+ // Support: Android <=2.3 only
+ src.returnValue === false ?
+ returnTrue :
+ returnFalse;
+
+ // Create target properties
+ // Support: Safari <=6 - 7 only
+ // Target should not be a text node (#504, #13143)
+ this.target = ( src.target && src.target.nodeType === 3 ) ?
+ src.target.parentNode :
+ src.target;
+
+ this.currentTarget = src.currentTarget;
+ this.relatedTarget = src.relatedTarget;
+
+ // Event type
+ } else {
+ this.type = src;
+ }
+
+ // Put explicitly provided properties onto the event object
+ if ( props ) {
+ jQuery.extend( this, props );
+ }
+
+ // Create a timestamp if incoming event doesn't have one
+ this.timeStamp = src && src.timeStamp || jQuery.now();
+
+ // Mark it as fixed
+ this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+ constructor: jQuery.Event,
+ isDefaultPrevented: returnFalse,
+ isPropagationStopped: returnFalse,
+ isImmediatePropagationStopped: returnFalse,
+ isSimulated: false,
+
+ preventDefault: function() {
+ var e = this.originalEvent;
+
+ this.isDefaultPrevented = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.preventDefault();
+ }
+ },
+ stopPropagation: function() {
+ var e = this.originalEvent;
+
+ this.isPropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopPropagation();
+ }
+ },
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
+
+ this.isImmediatePropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopImmediatePropagation();
+ }
+
+ this.stopPropagation();
+ }
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+ altKey: true,
+ bubbles: true,
+ cancelable: true,
+ changedTouches: true,
+ ctrlKey: true,
+ detail: true,
+ eventPhase: true,
+ metaKey: true,
+ pageX: true,
+ pageY: true,
+ shiftKey: true,
+ view: true,
+ "char": true,
+ charCode: true,
+ key: true,
+ keyCode: true,
+ button: true,
+ buttons: true,
+ clientX: true,
+ clientY: true,
+ offsetX: true,
+ offsetY: true,
+ pointerId: true,
+ pointerType: true,
+ screenX: true,
+ screenY: true,
+ targetTouches: true,
+ toElement: true,
+ touches: true,
+
+ which: function( event ) {
+ var button = event.button;
+
+ // Add which for key events
+ if ( event.which == null && rkeyEvent.test( event.type ) ) {
+ return event.charCode != null ? event.charCode : event.keyCode;
+ }
+
+ // Add which for click: 1 === left; 2 === middle; 3 === right
+ if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+ if ( button & 1 ) {
+ return 1;
+ }
+
+ if ( button & 2 ) {
+ return 3;
+ }
+
+ if ( button & 4 ) {
+ return 2;
+ }
+
+ return 0;
+ }
+
+ return event.which;
+ }
+}, jQuery.event.addProp );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+}, function( orig, fix ) {
+ jQuery.event.special[ orig ] = {
+ delegateType: fix,
+ bindType: fix,
+
+ handle: function( event ) {
+ var ret,
+ target = this,
+ related = event.relatedTarget,
+ handleObj = event.handleObj;
+
+ // For mouseenter/leave call the handler if related is outside the target.
+ // NB: No relatedTarget if the mouse left/entered the browser window
+ if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+ event.type = handleObj.origType;
+ ret = handleObj.handler.apply( this, arguments );
+ event.type = fix;
+ }
+ return ret;
+ }
+ };
+} );
+
+jQuery.fn.extend( {
+
+ on: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn );
+ },
+ one: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn, 1 );
+ },
+ off: function( types, selector, fn ) {
+ var handleObj, type;
+ if ( types && types.preventDefault && types.handleObj ) {
+
+ // ( event ) dispatched jQuery.Event
+ handleObj = types.handleObj;
+ jQuery( types.delegateTarget ).off(
+ handleObj.namespace ?
+ handleObj.origType + "." + handleObj.namespace :
+ handleObj.origType,
+ handleObj.selector,
+ handleObj.handler
+ );
+ return this;
+ }
+ if ( typeof types === "object" ) {
+
+ // ( types-object [, selector] )
+ for ( type in types ) {
+ this.off( type, selector, types[ type ] );
+ }
+ return this;
+ }
+ if ( selector === false || typeof selector === "function" ) {
+
+ // ( types [, fn] )
+ fn = selector;
+ selector = undefined;
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ }
+ return this.each( function() {
+ jQuery.event.remove( this, types, fn, selector );
+ } );
+ }
+} );
+
+
+var
+
+ /* eslint-disable max-len */
+
+ // See https://github.com/eslint/eslint/issues/3229
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+ /* eslint-enable */
+
+ // Support: IE <=10 - 11, Edge 12 - 13
+ // In IE/Edge using regex groups here causes severe slowdowns.
+ // See https://connect.microsoft.com/IE/feedback/details/1736512/
+ rnoInnerhtml = /<script|<style|<link/i,
+
+ // checked="checked" or checked
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+ rscriptTypeMasked = /^true\/(.*)/,
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+// Prefer a tbody over its parent table for containing new rows
+function manipulationTarget( elem, content ) {
+ if ( nodeName( elem, "table" ) &&
+ nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+ return jQuery( ">tbody", elem )[ 0 ] || elem;
+ }
+
+ return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+ elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+ return elem;
+}
+function restoreScript( elem ) {
+ var match = rscriptTypeMasked.exec( elem.type );
+
+ if ( match ) {
+ elem.type = match[ 1 ];
+ } else {
+ elem.removeAttribute( "type" );
+ }
+
+ return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+ var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+ if ( dest.nodeType !== 1 ) {
+ return;
+ }
+
+ // 1. Copy private data: events, handlers, etc.
+ if ( dataPriv.hasData( src ) ) {
+ pdataOld = dataPriv.access( src );
+ pdataCur = dataPriv.set( dest, pdataOld );
+ events = pdataOld.events;
+
+ if ( events ) {
+ delete pdataCur.handle;
+ pdataCur.events = {};
+
+ for ( type in events ) {
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+ jQuery.event.add( dest, type, events[ type ][ i ] );
+ }
+ }
+ }
+ }
+
+ // 2. Copy user data
+ if ( dataUser.hasData( src ) ) {
+ udataOld = dataUser.access( src );
+ udataCur = jQuery.extend( {}, udataOld );
+
+ dataUser.set( dest, udataCur );
+ }
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+ var nodeName = dest.nodeName.toLowerCase();
+
+ // Fails to persist the checked state of a cloned checkbox or radio button.
+ if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+ dest.checked = src.checked;
+
+ // Fails to return the selected option to the default selected state when cloning options
+ } else if ( nodeName === "input" || nodeName === "textarea" ) {
+ dest.defaultValue = src.defaultValue;
+ }
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+ // Flatten any nested arrays
+ args = concat.apply( [], args );
+
+ var fragment, first, scripts, hasScripts, node, doc,
+ i = 0,
+ l = collection.length,
+ iNoClone = l - 1,
+ value = args[ 0 ],
+ isFunction = jQuery.isFunction( value );
+
+ // We can't cloneNode fragments that contain checked, in WebKit
+ if ( isFunction ||
+ ( l > 1 && typeof value === "string" &&
+ !support.checkClone && rchecked.test( value ) ) ) {
+ return collection.each( function( index ) {
+ var self = collection.eq( index );
+ if ( isFunction ) {
+ args[ 0 ] = value.call( this, index, self.html() );
+ }
+ domManip( self, args, callback, ignored );
+ } );
+ }
+
+ if ( l ) {
+ fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+ first = fragment.firstChild;
+
+ if ( fragment.childNodes.length === 1 ) {
+ fragment = first;
+ }
+
+ // Require either new content or an interest in ignored elements to invoke the callback
+ if ( first || ignored ) {
+ scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+ hasScripts = scripts.length;
+
+ // Use the original fragment for the last item
+ // instead of the first because it can end up
+ // being emptied incorrectly in certain situations (#8070).
+ for ( ; i < l; i++ ) {
+ node = fragment;
+
+ if ( i !== iNoClone ) {
+ node = jQuery.clone( node, true, true );
+
+ // Keep references to cloned scripts for later restoration
+ if ( hasScripts ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( scripts, getAll( node, "script" ) );
+ }
+ }
+
+ callback.call( collection[ i ], node, i );
+ }
+
+ if ( hasScripts ) {
+ doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+ // Reenable scripts
+ jQuery.map( scripts, restoreScript );
+
+ // Evaluate executable scripts on first document insertion
+ for ( i = 0; i < hasScripts; i++ ) {
+ node = scripts[ i ];
+ if ( rscriptType.test( node.type || "" ) &&
+ !dataPriv.access( node, "globalEval" ) &&
+ jQuery.contains( doc, node ) ) {
+
+ if ( node.src ) {
+
+ // Optional AJAX dependency, but won't run scripts if not present
+ if ( jQuery._evalUrl ) {
+ jQuery._evalUrl( node.src );
+ }
+ } else {
+ DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return collection;
+}
+
+function remove( elem, selector, keepData ) {
+ var node,
+ nodes = selector ? jQuery.filter( selector, elem ) : elem,
+ i = 0;
+
+ for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+ if ( !keepData && node.nodeType === 1 ) {
+ jQuery.cleanData( getAll( node ) );
+ }
+
+ if ( node.parentNode ) {
+ if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+ setGlobalEval( getAll( node, "script" ) );
+ }
+ node.parentNode.removeChild( node );
+ }
+ }
+
+ return elem;
+}
+
+jQuery.extend( {
+ htmlPrefilter: function( html ) {
+ return html.replace( rxhtmlTag, "<$1></$2>" );
+ },
+
+ clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+ var i, l, srcElements, destElements,
+ clone = elem.cloneNode( true ),
+ inPage = jQuery.contains( elem.ownerDocument, elem );
+
+ // Fix IE cloning issues
+ if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+ !jQuery.isXMLDoc( elem ) ) {
+
+ // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+ destElements = getAll( clone );
+ srcElements = getAll( elem );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ fixInput( srcElements[ i ], destElements[ i ] );
+ }
+ }
+
+ // Copy the events from the original to the clone
+ if ( dataAndEvents ) {
+ if ( deepDataAndEvents ) {
+ srcElements = srcElements || getAll( elem );
+ destElements = destElements || getAll( clone );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+ }
+ } else {
+ cloneCopyEvent( elem, clone );
+ }
+ }
+
+ // Preserve script evaluation history
+ destElements = getAll( clone, "script" );
+ if ( destElements.length > 0 ) {
+ setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+ }
+
+ // Return the cloned set
+ return clone;
+ },
+
+ cleanData: function( elems ) {
+ var data, elem, type,
+ special = jQuery.event.special,
+ i = 0;
+
+ for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+ if ( acceptData( elem ) ) {
+ if ( ( data = elem[ dataPriv.expando ] ) ) {
+ if ( data.events ) {
+ for ( type in data.events ) {
+ if ( special[ type ] ) {
+ jQuery.event.remove( elem, type );
+
+ // This is a shortcut to avoid jQuery.event.remove's overhead
+ } else {
+ jQuery.removeEvent( elem, type, data.handle );
+ }
+ }
+ }
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataPriv.expando ] = undefined;
+ }
+ if ( elem[ dataUser.expando ] ) {
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataUser.expando ] = undefined;
+ }
+ }
+ }
+ }
+} );
+
+jQuery.fn.extend( {
+ detach: function( selector ) {
+ return remove( this, selector, true );
+ },
+
+ remove: function( selector ) {
+ return remove( this, selector );
+ },
+
+ text: function( value ) {
+ return access( this, function( value ) {
+ return value === undefined ?
+ jQuery.text( this ) :
+ this.empty().each( function() {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ this.textContent = value;
+ }
+ } );
+ }, null, value, arguments.length );
+ },
+
+ append: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.appendChild( elem );
+ }
+ } );
+ },
+
+ prepend: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.insertBefore( elem, target.firstChild );
+ }
+ } );
+ },
+
+ before: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this );
+ }
+ } );
+ },
+
+ after: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this.nextSibling );
+ }
+ } );
+ },
+
+ empty: function() {
+ var elem,
+ i = 0;
+
+ for ( ; ( elem = this[ i ] ) != null; i++ ) {
+ if ( elem.nodeType === 1 ) {
+
+ // Prevent memory leaks
+ jQuery.cleanData( getAll( elem, false ) );
+
+ // Remove any remaining nodes
+ elem.textContent = "";
+ }
+ }
+
+ return this;
+ },
+
+ clone: function( dataAndEvents, deepDataAndEvents ) {
+ dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+ deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+ return this.map( function() {
+ return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+ } );
+ },
+
+ html: function( value ) {
+ return access( this, function( value ) {
+ var elem = this[ 0 ] || {},
+ i = 0,
+ l = this.length;
+
+ if ( value === undefined && elem.nodeType === 1 ) {
+ return elem.innerHTML;
+ }
+
+ // See if we can take a shortcut and just use innerHTML
+ if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+ !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+ value = jQuery.htmlPrefilter( value );
+
+ try {
+ for ( ; i < l; i++ ) {
+ elem = this[ i ] || {};
+
+ // Remove element nodes and prevent memory leaks
+ if ( elem.nodeType === 1 ) {
+ jQuery.cleanData( getAll( elem, false ) );
+ elem.innerHTML = value;
+ }
+ }
+
+ elem = 0;
+
+ // If using innerHTML throws an exception, use the fallback method
+ } catch ( e ) {}
+ }
+
+ if ( elem ) {
+ this.empty().append( value );
+ }
+ }, null, value, arguments.length );
+ },
+
+ replaceWith: function() {
+ var ignored = [];
+
+ // Make the changes, replacing each non-ignored context element with the new content
+ return domManip( this, arguments, function( elem ) {
+ var parent = this.parentNode;
+
+ if ( jQuery.inArray( this, ignored ) < 0 ) {
+ jQuery.cleanData( getAll( this ) );
+ if ( parent ) {
+ parent.replaceChild( elem, this );
+ }
+ }
+
+ // Force callback invocation
+ }, ignored );
+ }
+} );
+
+jQuery.each( {
+ appendTo: "append",
+ prependTo: "prepend",
+ insertBefore: "before",
+ insertAfter: "after",
+ replaceAll: "replaceWith"
+}, function( name, original ) {
+ jQuery.fn[ name ] = function( selector ) {
+ var elems,
+ ret = [],
+ insert = jQuery( selector ),
+ last = insert.length - 1,
+ i = 0;
+
+ for ( ; i <= last; i++ ) {
+ elems = i === last ? this : this.clone( true );
+ jQuery( insert[ i ] )[ original ]( elems );
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // .get() because push.apply(_, arraylike) throws on ancient WebKit
+ push.apply( ret, elems.get() );
+ }
+
+ return this.pushStack( ret );
+ };
+} );
+var rmargin = ( /^margin/ );
+
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+ // Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+ // IE throws on elements created in popups
+ // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+ var view = elem.ownerDocument.defaultView;
+
+ if ( !view || !view.opener ) {
+ view = window;
+ }
+
+ return view.getComputedStyle( elem );
+ };
+
+
+
+( function() {
+
+ // Executing both pixelPosition & boxSizingReliable tests require only one layout
+ // so they're executed at the same time to save the second computation.
+ function computeStyleTests() {
+
+ // This is a singleton, we need to execute it only once
+ if ( !div ) {
+ return;
+ }
+
+ div.style.cssText =
+ "box-sizing:border-box;" +
+ "position:relative;display:block;" +
+ "margin:auto;border:1px;padding:1px;" +
+ "top:1%;width:50%";
+ div.innerHTML = "";
+ documentElement.appendChild( container );
+
+ var divStyle = window.getComputedStyle( div );
+ pixelPositionVal = divStyle.top !== "1%";
+
+ // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+ reliableMarginLeftVal = divStyle.marginLeft === "2px";
+ boxSizingReliableVal = divStyle.width === "4px";
+
+ // Support: Android 4.0 - 4.3 only
+ // Some styles come back with percentage values, even though they shouldn't
+ div.style.marginRight = "50%";
+ pixelMarginRightVal = divStyle.marginRight === "4px";
+
+ documentElement.removeChild( container );
+
+ // Nullify the div so it wouldn't be stored in the memory and
+ // it will also be a sign that checks already performed
+ div = null;
+ }
+
+ var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
+ container = document.createElement( "div" ),
+ div = document.createElement( "div" );
+
+ // Finish early in limited (non-browser) environments
+ if ( !div.style ) {
+ return;
+ }
+
+ // Support: IE <=9 - 11 only
+ // Style of cloned element affects source element cloned (#8908)
+ div.style.backgroundClip = "content-box";
+ div.cloneNode( true ).style.backgroundClip = "";
+ support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+ container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
+ "padding:0;margin-top:1px;position:absolute";
+ container.appendChild( div );
+
+ jQuery.extend( support, {
+ pixelPosition: function() {
+ computeStyleTests();
+ return pixelPositionVal;
+ },
+ boxSizingReliable: function() {
+ computeStyleTests();
+ return boxSizingReliableVal;
+ },
+ pixelMarginRight: function() {
+ computeStyleTests();
+ return pixelMarginRightVal;
+ },
+ reliableMarginLeft: function() {
+ computeStyleTests();
+ return reliableMarginLeftVal;
+ }
+ } );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+ var width, minWidth, maxWidth, ret,
+
+ // Support: Firefox 51+
+ // Retrieving style before computed somehow
+ // fixes an issue with getting wrong values
+ // on detached elements
+ style = elem.style;
+
+ computed = computed || getStyles( elem );
+
+ // getPropertyValue is needed for:
+ // .css('filter') (IE 9 only, #12537)
+ // .css('--customProperty) (#3144)
+ if ( computed ) {
+ ret = computed.getPropertyValue( name ) || computed[ name ];
+
+ if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+ ret = jQuery.style( elem, name );
+ }
+
+ // A tribute to the "awesome hack by Dean Edwards"
+ // Android Browser returns percentage for some values,
+ // but width seems to be reliably pixels.
+ // This is against the CSSOM draft spec:
+ // https://drafts.csswg.org/cssom/#resolved-values
+ if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
+
+ // Remember the original values
+ width = style.width;
+ minWidth = style.minWidth;
+ maxWidth = style.maxWidth;
+
+ // Put in the new values to get a computed value out
+ style.minWidth = style.maxWidth = style.width = ret;
+ ret = computed.width;
+
+ // Revert the changed values
+ style.width = width;
+ style.minWidth = minWidth;
+ style.maxWidth = maxWidth;
+ }
+ }
+
+ return ret !== undefined ?
+
+ // Support: IE <=9 - 11 only
+ // IE returns zIndex value as an integer.
+ ret + "" :
+ ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+ // Define the hook, we'll check on the first run if it's really needed.
+ return {
+ get: function() {
+ if ( conditionFn() ) {
+
+ // Hook not needed (or it's not possible to use it due
+ // to missing dependency), remove it.
+ delete this.get;
+ return;
+ }
+
+ // Hook needed; redefine it so that the support test is not executed again.
+ return ( this.get = hookFn ).apply( this, arguments );
+ }
+ };
+}
+
+
+var
+
+ // Swappable if display is none or starts with table
+ // except "table", "table-cell", or "table-caption"
+ // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+ rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+ rcustomProp = /^--/,
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+ cssNormalTransform = {
+ letterSpacing: "0",
+ fontWeight: "400"
+ },
+
+ cssPrefixes = [ "Webkit", "Moz", "ms" ],
+ emptyStyle = document.createElement( "div" ).style;
+
+// Return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( name ) {
+
+ // Shortcut for names that are not vendor prefixed
+ if ( name in emptyStyle ) {
+ return name;
+ }
+
+ // Check for vendor prefixed names
+ var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+ i = cssPrefixes.length;
+
+ while ( i-- ) {
+ name = cssPrefixes[ i ] + capName;
+ if ( name in emptyStyle ) {
+ return name;
+ }
+ }
+}
+
+// Return a property mapped along what jQuery.cssProps suggests or to
+// a vendor prefixed property.
+function finalPropName( name ) {
+ var ret = jQuery.cssProps[ name ];
+ if ( !ret ) {
+ ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
+ }
+ return ret;
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+
+ // Any relative (+/-) values have already been
+ // normalized at this point
+ var matches = rcssNum.exec( value );
+ return matches ?
+
+ // Guard against undefined "subtract", e.g., when used as in cssHooks
+ Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+ value;
+}
+
+function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
+ var i,
+ val = 0;
+
+ // If we already have the right measurement, avoid augmentation
+ if ( extra === ( isBorderBox ? "border" : "content" ) ) {
+ i = 4;
+
+ // Otherwise initialize for horizontal or vertical properties
+ } else {
+ i = name === "width" ? 1 : 0;
+ }
+
+ for ( ; i < 4; i += 2 ) {
+
+ // Both box models exclude margin, so add it if we want it
+ if ( extra === "margin" ) {
+ val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
+ }
+
+ if ( isBorderBox ) {
+
+ // border-box includes padding, so remove it if we want content
+ if ( extra === "content" ) {
+ val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+ }
+
+ // At this point, extra isn't border nor margin, so remove border
+ if ( extra !== "margin" ) {
+ val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ } else {
+
+ // At this point, extra isn't content, so add padding
+ val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+ // At this point, extra isn't content nor padding, so add border
+ if ( extra !== "padding" ) {
+ val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ }
+ }
+
+ return val;
+}
+
+function getWidthOrHeight( elem, name, extra ) {
+
+ // Start with computed style
+ var valueIsBorderBox,
+ styles = getStyles( elem ),
+ val = curCSS( elem, name, styles ),
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+ // Computed unit is not pixels. Stop here and return.
+ if ( rnumnonpx.test( val ) ) {
+ return val;
+ }
+
+ // Check for style in case a browser which returns unreliable values
+ // for getComputedStyle silently falls back to the reliable elem.style
+ valueIsBorderBox = isBorderBox &&
+ ( support.boxSizingReliable() || val === elem.style[ name ] );
+
+ // Fall back to offsetWidth/Height when value is "auto"
+ // This happens for inline elements with no explicit setting (gh-3571)
+ if ( val === "auto" ) {
+ val = elem[ "offset" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];
+ }
+
+ // Normalize "", auto, and prepare for extra
+ val = parseFloat( val ) || 0;
+
+ // Use the active box-sizing model to add/subtract irrelevant styles
+ return ( val +
+ augmentWidthOrHeight(
+ elem,
+ name,
+ extra || ( isBorderBox ? "border" : "content" ),
+ valueIsBorderBox,
+ styles
+ )
+ ) + "px";
+}
+
+jQuery.extend( {
+
+ // Add in style property hooks for overriding the default
+ // behavior of getting and setting a style property
+ cssHooks: {
+ opacity: {
+ get: function( elem, computed ) {
+ if ( computed ) {
+
+ // We should always get a number back from opacity
+ var ret = curCSS( elem, "opacity" );
+ return ret === "" ? "1" : ret;
+ }
+ }
+ }
+ },
+
+ // Don't automatically add "px" to these possibly-unitless properties
+ cssNumber: {
+ "animationIterationCount": true,
+ "columnCount": true,
+ "fillOpacity": true,
+ "flexGrow": true,
+ "flexShrink": true,
+ "fontWeight": true,
+ "lineHeight": true,
+ "opacity": true,
+ "order": true,
+ "orphans": true,
+ "widows": true,
+ "zIndex": true,
+ "zoom": true
+ },
+
+ // Add in properties whose names you wish to fix before
+ // setting or getting the value
+ cssProps: {
+ "float": "cssFloat"
+ },
+
+ // Get and set the style property on a DOM Node
+ style: function( elem, name, value, extra ) {
+
+ // Don't set styles on text and comment nodes
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+ return;
+ }
+
+ // Make sure that we're working with the right name
+ var ret, type, hooks,
+ origName = jQuery.camelCase( name ),
+ isCustomProp = rcustomProp.test( name ),
+ style = elem.style;
+
+ // Make sure that we're working with the right name. We don't
+ // want to query the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
+
+ // Gets hook for the prefixed version, then unprefixed version
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // Check if we're setting a value
+ if ( value !== undefined ) {
+ type = typeof value;
+
+ // Convert "+=" or "-=" to relative numbers (#7345)
+ if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+ value = adjustCSS( elem, name, ret );
+
+ // Fixes bug #9237
+ type = "number";
+ }
+
+ // Make sure that null and NaN values aren't set (#7116)
+ if ( value == null || value !== value ) {
+ return;
+ }
+
+ // If a number was passed in, add the unit (except for certain CSS properties)
+ if ( type === "number" ) {
+ value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+ }
+
+ // background-* props affect original clone's values
+ if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+ style[ name ] = "inherit";
+ }
+
+ // If a hook was provided, use that value, otherwise just set the specified value
+ if ( !hooks || !( "set" in hooks ) ||
+ ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+ if ( isCustomProp ) {
+ style.setProperty( name, value );
+ } else {
+ style[ name ] = value;
+ }
+ }
+
+ } else {
+
+ // If a hook was provided get the non-computed value from there
+ if ( hooks && "get" in hooks &&
+ ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+ return ret;
+ }
+
+ // Otherwise just get the value from the style object
+ return style[ name ];
+ }
+ },
+
+ css: function( elem, name, extra, styles ) {
+ var val, num, hooks,
+ origName = jQuery.camelCase( name ),
+ isCustomProp = rcustomProp.test( name );
+
+ // Make sure that we're working with the right name. We don't
+ // want to modify the value if it is a CSS custom property
+ // since they are user-defined.
+ if ( !isCustomProp ) {
+ name = finalPropName( origName );
+ }
+
+ // Try prefixed name followed by the unprefixed name
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // If a hook was provided get the computed value from there
+ if ( hooks && "get" in hooks ) {
+ val = hooks.get( elem, true, extra );
+ }
+
+ // Otherwise, if a way to get the computed value exists, use that
+ if ( val === undefined ) {
+ val = curCSS( elem, name, styles );
+ }
+
+ // Convert "normal" to computed value
+ if ( val === "normal" && name in cssNormalTransform ) {
+ val = cssNormalTransform[ name ];
+ }
+
+ // Make numeric if forced or a qualifier was provided and val looks numeric
+ if ( extra === "" || extra ) {
+ num = parseFloat( val );
+ return extra === true || isFinite( num ) ? num || 0 : val;
+ }
+
+ return val;
+ }
+} );
+
+jQuery.each( [ "height", "width" ], function( i, name ) {
+ jQuery.cssHooks[ name ] = {
+ get: function( elem, computed, extra ) {
+ if ( computed ) {
+
+ // Certain elements can have dimension info if we invisibly show them
+ // but it must have a current display style that would benefit
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+
+ // Support: Safari 8+
+ // Table columns in Safari have non-zero offsetWidth & zero
+ // getBoundingClientRect().width unless display is changed.
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a disconnected node
+ // in IE throws an error.
+ ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
+ swap( elem, cssShow, function() {
+ return getWidthOrHeight( elem, name, extra );
+ } ) :
+ getWidthOrHeight( elem, name, extra );
+ }
+ },
+
+ set: function( elem, value, extra ) {
+ var matches,
+ styles = extra && getStyles( elem ),
+ subtract = extra && augmentWidthOrHeight(
+ elem,
+ name,
+ extra,
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ styles
+ );
+
+ // Convert to pixels if value adjustment is needed
+ if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+ ( matches[ 3 ] || "px" ) !== "px" ) {
+
+ elem.style[ name ] = value;
+ value = jQuery.css( elem, name );
+ }
+
+ return setPositiveNumber( elem, value, subtract );
+ }
+ };
+} );
+
+jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
+ function( elem, computed ) {
+ if ( computed ) {
+ return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
+ elem.getBoundingClientRect().left -
+ swap( elem, { marginLeft: 0 }, function() {
+ return elem.getBoundingClientRect().left;
+ } )
+ ) + "px";
+ }
+ }
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+ margin: "",
+ padding: "",
+ border: "Width"
+}, function( prefix, suffix ) {
+ jQuery.cssHooks[ prefix + suffix ] = {
+ expand: function( value ) {
+ var i = 0,
+ expanded = {},
+
+ // Assumes a single number if not a string
+ parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+ for ( ; i < 4; i++ ) {
+ expanded[ prefix + cssExpand[ i ] + suffix ] =
+ parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+ }
+
+ return expanded;
+ }
+ };
+
+ if ( !rmargin.test( prefix ) ) {
+ jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+ }
+} );
+
+jQuery.fn.extend( {
+ css: function( name, value ) {
+ return access( this, function( elem, name, value ) {
+ var styles, len,
+ map = {},
+ i = 0;
+
+ if ( Array.isArray( name ) ) {
+ styles = getStyles( elem );
+ len = name.length;
+
+ for ( ; i < len; i++ ) {
+ map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+ }
+
+ return map;
+ }
+
+ return value !== undefined ?
+ jQuery.style( elem, name, value ) :
+ jQuery.css( elem, name );
+ }, name, value, arguments.length > 1 );
+ }
+} );
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function( next, hooks ) {
+ var timeout = window.setTimeout( next, time );
+ hooks.stop = function() {
+ window.clearTimeout( timeout );
+ };
+ } );
+};
+
+
+( function() {
+ var input = document.createElement( "input" ),
+ select = document.createElement( "select" ),
+ opt = select.appendChild( document.createElement( "option" ) );
+
+ input.type = "checkbox";
+
+ // Support: Android <=4.3 only
+ // Default value for a checkbox should be "on"
+ support.checkOn = input.value !== "";
+
+ // Support: IE <=11 only
+ // Must access selectedIndex to make default options select
+ support.optSelected = opt.selected;
+
+ // Support: IE <=11 only
+ // An input loses its value after becoming a radio
+ input = document.createElement( "input" );
+ input.value = "t";
+ input.type = "radio";
+ support.radioValue = input.value === "t";
+} )();
+
+
+var boolHook,
+ attrHandle = jQuery.expr.attrHandle;
+
+jQuery.fn.extend( {
+ attr: function( name, value ) {
+ return access( this, jQuery.attr, name, value, arguments.length > 1 );
+ },
+
+ removeAttr: function( name ) {
+ return this.each( function() {
+ jQuery.removeAttr( this, name );
+ } );
+ }
+} );
+
+jQuery.extend( {
+ attr: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set attributes on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ // Fallback to prop when attributes are not supported
+ if ( typeof elem.getAttribute === "undefined" ) {
+ return jQuery.prop( elem, name, value );
+ }
+
+ // Attribute hooks are determined by the lowercase version
+ // Grab necessary hook if one is defined
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+ hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
+ ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+ }
+
+ if ( value !== undefined ) {
+ if ( value === null ) {
+ jQuery.removeAttr( elem, name );
+ return;
+ }
+
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ elem.setAttribute( name, value + "" );
+ return value;
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ ret = jQuery.find.attr( elem, name );
+
+ // Non-existent attributes return null, we normalize to undefined
+ return ret == null ? undefined : ret;
+ },
+
+ attrHooks: {
+ type: {
+ set: function( elem, value ) {
+ if ( !support.radioValue && value === "radio" &&
+ nodeName( elem, "input" ) ) {
+ var val = elem.value;
+ elem.setAttribute( "type", value );
+ if ( val ) {
+ elem.value = val;
+ }
+ return value;
+ }
+ }
+ }
+ },
+
+ removeAttr: function( elem, value ) {
+ var name,
+ i = 0,
+
+ // Attribute names can contain non-HTML whitespace characters
+ // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
+ attrNames = value && value.match( rnothtmlwhite );
+
+ if ( attrNames && elem.nodeType === 1 ) {
+ while ( ( name = attrNames[ i++ ] ) ) {
+ elem.removeAttribute( name );
+ }
+ }
+ }
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+ set: function( elem, value, name ) {
+ if ( value === false ) {
+
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else {
+ elem.setAttribute( name, name );
+ }
+ return name;
+ }
+};
+
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+ var getter = attrHandle[ name ] || jQuery.find.attr;
+
+ attrHandle[ name ] = function( elem, name, isXML ) {
+ var ret, handle,
+ lowercaseName = name.toLowerCase();
+
+ if ( !isXML ) {
+
+ // Avoid an infinite loop by temporarily removing this function from the getter
+ handle = attrHandle[ lowercaseName ];
+ attrHandle[ lowercaseName ] = ret;
+ ret = getter( elem, name, isXML ) != null ?
+ lowercaseName :
+ null;
+ attrHandle[ lowercaseName ] = handle;
+ }
+ return ret;
+ };
+} );
+
+
+
+
+var rfocusable = /^(?:input|select|textarea|button)$/i,
+ rclickable = /^(?:a|area)$/i;
+
+jQuery.fn.extend( {
+ prop: function( name, value ) {
+ return access( this, jQuery.prop, name, value, arguments.length > 1 );
+ },
+
+ removeProp: function( name ) {
+ return this.each( function() {
+ delete this[ jQuery.propFix[ name ] || name ];
+ } );
+ }
+} );
+
+jQuery.extend( {
+ prop: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set properties on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+ // Fix name and attach hooks
+ name = jQuery.propFix[ name ] || name;
+ hooks = jQuery.propHooks[ name ];
+ }
+
+ if ( value !== undefined ) {
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ return ( elem[ name ] = value );
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ return elem[ name ];
+ },
+
+ propHooks: {
+ tabIndex: {
+ get: function( elem ) {
+
+ // Support: IE <=9 - 11 only
+ // elem.tabIndex doesn't always return the
+ // correct value when it hasn't been explicitly set
+ // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+ // Use proper attribute retrieval(#12072)
+ var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+ if ( tabindex ) {
+ return parseInt( tabindex, 10 );
+ }
+
+ if (
+ rfocusable.test( elem.nodeName ) ||
+ rclickable.test( elem.nodeName ) &&
+ elem.href
+ ) {
+ return 0;
+ }
+
+ return -1;
+ }
+ }
+ },
+
+ propFix: {
+ "for": "htmlFor",
+ "class": "className"
+ }
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+// eslint rule "no-unused-expressions" is disabled for this code
+// since it considers such accessions noop
+if ( !support.optSelected ) {
+ jQuery.propHooks.selected = {
+ get: function( elem ) {
+
+ /* eslint no-unused-expressions: "off" */
+
+ var parent = elem.parentNode;
+ if ( parent && parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ return null;
+ },
+ set: function( elem ) {
+
+ /* eslint no-unused-expressions: "off" */
+
+ var parent = elem.parentNode;
+ if ( parent ) {
+ parent.selectedIndex;
+
+ if ( parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ }
+ }
+ };
+}
+
+jQuery.each( [
+ "tabIndex",
+ "readOnly",
+ "maxLength",
+ "cellSpacing",
+ "cellPadding",
+ "rowSpan",
+ "colSpan",
+ "useMap",
+ "frameBorder",
+ "contentEditable"
+], function() {
+ jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+
+
+
+ // Strip and collapse whitespace according to HTML spec
+ // https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace
+ function stripAndCollapse( value ) {
+ var tokens = value.match( rnothtmlwhite ) || [];
+ return tokens.join( " " );
+ }
+
+
+function getClass( elem ) {
+ return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+jQuery.fn.extend( {
+ addClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ if ( typeof value === "string" && value ) {
+ classes = value.match( rnothtmlwhite ) || [];
+
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+ if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+ cur += clazz + " ";
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = stripAndCollapse( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ removeClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ if ( !arguments.length ) {
+ return this.attr( "class", "" );
+ }
+
+ if ( typeof value === "string" && value ) {
+ classes = value.match( rnothtmlwhite ) || [];
+
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+
+ // This expression is here for better compressibility (see addClass)
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+
+ // Remove *all* instances
+ while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+ cur = cur.replace( " " + clazz + " ", " " );
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = stripAndCollapse( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ toggleClass: function( value, stateVal ) {
+ var type = typeof value;
+
+ if ( typeof stateVal === "boolean" && type === "string" ) {
+ return stateVal ? this.addClass( value ) : this.removeClass( value );
+ }
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).toggleClass(
+ value.call( this, i, getClass( this ), stateVal ),
+ stateVal
+ );
+ } );
+ }
+
+ return this.each( function() {
+ var className, i, self, classNames;
+
+ if ( type === "string" ) {
+
+ // Toggle individual class names
+ i = 0;
+ self = jQuery( this );
+ classNames = value.match( rnothtmlwhite ) || [];
+
+ while ( ( className = classNames[ i++ ] ) ) {
+
+ // Check each className given, space separated list
+ if ( self.hasClass( className ) ) {
+ self.removeClass( className );
+ } else {
+ self.addClass( className );
+ }
+ }
+
+ // Toggle whole class name
+ } else if ( value === undefined || type === "boolean" ) {
+ className = getClass( this );
+ if ( className ) {
+
+ // Store className if set
+ dataPriv.set( this, "__className__", className );
+ }
+
+ // If the element has a class name or if we're passed `false`,
+ // then remove the whole classname (if there was one, the above saved it).
+ // Otherwise bring back whatever was previously saved (if anything),
+ // falling back to the empty string if nothing was stored.
+ if ( this.setAttribute ) {
+ this.setAttribute( "class",
+ className || value === false ?
+ "" :
+ dataPriv.get( this, "__className__" ) || ""
+ );
+ }
+ }
+ } );
+ },
+
+ hasClass: function( selector ) {
+ var className, elem,
+ i = 0;
+
+ className = " " + selector + " ";
+ while ( ( elem = this[ i++ ] ) ) {
+ if ( elem.nodeType === 1 &&
+ ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+} );
+
+
+
+
+var rreturn = /\r/g;
+
+jQuery.fn.extend( {
+ val: function( value ) {
+ var hooks, ret, isFunction,
+ elem = this[ 0 ];
+
+ if ( !arguments.length ) {
+ if ( elem ) {
+ hooks = jQuery.valHooks[ elem.type ] ||
+ jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+ if ( hooks &&
+ "get" in hooks &&
+ ( ret = hooks.get( elem, "value" ) ) !== undefined
+ ) {
+ return ret;
+ }
+
+ ret = elem.value;
+
+ // Handle most common string cases
+ if ( typeof ret === "string" ) {
+ return ret.replace( rreturn, "" );
+ }
+
+ // Handle cases where value is null/undef or number
+ return ret == null ? "" : ret;
+ }
+
+ return;
+ }
+
+ isFunction = jQuery.isFunction( value );
+
+ return this.each( function( i ) {
+ var val;
+
+ if ( this.nodeType !== 1 ) {
+ return;
+ }
+
+ if ( isFunction ) {
+ val = value.call( this, i, jQuery( this ).val() );
+ } else {
+ val = value;
+ }
+
+ // Treat null/undefined as ""; convert numbers to string
+ if ( val == null ) {
+ val = "";
+
+ } else if ( typeof val === "number" ) {
+ val += "";
+
+ } else if ( Array.isArray( val ) ) {
+ val = jQuery.map( val, function( value ) {
+ return value == null ? "" : value + "";
+ } );
+ }
+
+ hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+ // If set returns undefined, fall back to normal setting
+ if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+ this.value = val;
+ }
+ } );
+ }
+} );
+
+jQuery.extend( {
+ valHooks: {
+ option: {
+ get: function( elem ) {
+
+ var val = jQuery.find.attr( elem, "value" );
+ return val != null ?
+ val :
+
+ // Support: IE <=10 - 11 only
+ // option.text throws exceptions (#14686, #14858)
+ // Strip and collapse whitespace
+ // https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+ stripAndCollapse( jQuery.text( elem ) );
+ }
+ },
+ select: {
+ get: function( elem ) {
+ var value, option, i,
+ options = elem.options,
+ index = elem.selectedIndex,
+ one = elem.type === "select-one",
+ values = one ? null : [],
+ max = one ? index + 1 : options.length;
+
+ if ( index < 0 ) {
+ i = max;
+
+ } else {
+ i = one ? index : 0;
+ }
+
+ // Loop through all the selected options
+ for ( ; i < max; i++ ) {
+ option = options[ i ];
+
+ // Support: IE <=9 only
+ // IE8-9 doesn't update selected after form reset (#2551)
+ if ( ( option.selected || i === index ) &&
+
+ // Don't return options that are disabled or in a disabled optgroup
+ !option.disabled &&
+ ( !option.parentNode.disabled ||
+ !nodeName( option.parentNode, "optgroup" ) ) ) {
+
+ // Get the specific value for the option
+ value = jQuery( option ).val();
+
+ // We don't need an array for one selects
+ if ( one ) {
+ return value;
+ }
+
+ // Multi-Selects return an array
+ values.push( value );
+ }
+ }
+
+ return values;
+ },
+
+ set: function( elem, value ) {
+ var optionSet, option,
+ options = elem.options,
+ values = jQuery.makeArray( value ),
+ i = options.length;
+
+ while ( i-- ) {
+ option = options[ i ];
+
+ /* eslint-disable no-cond-assign */
+
+ if ( option.selected =
+ jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+ ) {
+ optionSet = true;
+ }
+
+ /* eslint-enable no-cond-assign */
+ }
+
+ // Force browsers to behave consistently when non-matching value is set
+ if ( !optionSet ) {
+ elem.selectedIndex = -1;
+ }
+ return values;
+ }
+ }
+ }
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+ jQuery.valHooks[ this ] = {
+ set: function( elem, value ) {
+ if ( Array.isArray( value ) ) {
+ return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+ }
+ }
+ };
+ if ( !support.checkOn ) {
+ jQuery.valHooks[ this ].get = function( elem ) {
+ return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+ };
+ }
+} );
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;
+
+jQuery.extend( jQuery.event, {
+
+ trigger: function( event, data, elem, onlyHandlers ) {
+
+ var i, cur, tmp, bubbleType, ontype, handle, special,
+ eventPath = [ elem || document ],
+ type = hasOwn.call( event, "type" ) ? event.type : event,
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
+
+ cur = tmp = elem = elem || document;
+
+ // Don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+ return;
+ }
+
+ if ( type.indexOf( "." ) > -1 ) {
+
+ // Namespaced trigger; create a regexp to match event type in handle()
+ namespaces = type.split( "." );
+ type = namespaces.shift();
+ namespaces.sort();
+ }
+ ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
+ event = event[ jQuery.expando ] ?
+ event :
+ new jQuery.Event( type, typeof event === "object" && event );
+
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+ event.isTrigger = onlyHandlers ? 2 : 3;
+ event.namespace = namespaces.join( "." );
+ event.rnamespace = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+ null;
+
+ // Clean up the event in case it is being reused
+ event.result = undefined;
+ if ( !event.target ) {
+ event.target = elem;
+ }
+
+ // Clone any incoming data and prepend the event, creating the handler arg list
+ data = data == null ?
+ [ event ] :
+ jQuery.makeArray( data, [ event ] );
+
+ // Allow special events to draw outside the lines
+ special = jQuery.event.special[ type ] || {};
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+ return;
+ }
+
+ // Determine event propagation path in advance, per W3C events spec (#9951)
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+ if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+ bubbleType = special.delegateType || type;
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
+ cur = cur.parentNode;
+ }
+ for ( ; cur; cur = cur.parentNode ) {
+ eventPath.push( cur );
+ tmp = cur;
+ }
+
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
+ if ( tmp === ( elem.ownerDocument || document ) ) {
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+ }
+ }
+
+ // Fire handlers on the event path
+ i = 0;
+ while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+
+ event.type = i > 1 ?
+ bubbleType :
+ special.bindType || type;
+
+ // jQuery handler
+ handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+ dataPriv.get( cur, "handle" );
+ if ( handle ) {
+ handle.apply( cur, data );
+ }
+
+ // Native handler
+ handle = ontype && cur[ ontype ];
+ if ( handle && handle.apply && acceptData( cur ) ) {
+ event.result = handle.apply( cur, data );
+ if ( event.result === false ) {
+ event.preventDefault();
+ }
+ }
+ }
+ event.type = type;
+
+ // If nobody prevented the default action, do it now
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+ if ( ( !special._default ||
+ special._default.apply( eventPath.pop(), data ) === false ) &&
+ acceptData( elem ) ) {
+
+ // Call a native DOM method on the target with the same name as the event.
+ // Don't do default actions on window, that's where global variables be (#6170)
+ if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
+
+ // Don't re-trigger an onFOO event when we call its FOO() method
+ tmp = elem[ ontype ];
+
+ if ( tmp ) {
+ elem[ ontype ] = null;
+ }
+
+ // Prevent re-triggering of the same event, since we already bubbled it above
+ jQuery.event.triggered = type;
+ elem[ type ]();
+ jQuery.event.triggered = undefined;
+
+ if ( tmp ) {
+ elem[ ontype ] = tmp;
+ }
+ }
+ }
+ }
+
+ return event.result;
+ },
+
+ // Piggyback on a donor event to simulate a different one
+ // Used only for `focus(in | out)` events
+ simulate: function( type, elem, event ) {
+ var e = jQuery.extend(
+ new jQuery.Event(),
+ event,
+ {
+ type: type,
+ isSimulated: true
+ }
+ );
+
+ jQuery.event.trigger( e, null, elem );
+ }
+
+} );
+
+jQuery.fn.extend( {
+
+ trigger: function( type, data ) {
+ return this.each( function() {
+ jQuery.event.trigger( type, data, this );
+ } );
+ },
+ triggerHandler: function( type, data ) {
+ var elem = this[ 0 ];
+ if ( elem ) {
+ return jQuery.event.trigger( type, data, elem, true );
+ }
+ }
+} );
+
+
+jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
+ function( i, name ) {
+
+ // Handle event binding
+ jQuery.fn[ name ] = function( data, fn ) {
+ return arguments.length > 0 ?
+ this.on( name, null, data, fn ) :
+ this.trigger( name );
+ };
+} );
+
+jQuery.fn.extend( {
+ hover: function( fnOver, fnOut ) {
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+ }
+} );
+
+
+
+
+support.focusin = "onfocusin" in window;
+
+
+// Support: Firefox <=44
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+ jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+ // Attach a single capturing handler on the document while someone wants focusin/focusout
+ var handler = function( event ) {
+ jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
+ };
+
+ jQuery.event.special[ fix ] = {
+ setup: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix );
+
+ if ( !attaches ) {
+ doc.addEventListener( orig, handler, true );
+ }
+ dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+ },
+ teardown: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix ) - 1;
+
+ if ( !attaches ) {
+ doc.removeEventListener( orig, handler, true );
+ dataPriv.remove( doc, fix );
+
+ } else {
+ dataPriv.access( doc, fix, attaches );
+ }
+ }
+ };
+ } );
+}
+
+
+var
+ rbracket = /\[\]$/,
+ rCRLF = /\r?\n/g,
+ rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+ rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+ var name;
+
+ if ( Array.isArray( obj ) ) {
+
+ // Serialize array item.
+ jQuery.each( obj, function( i, v ) {
+ if ( traditional || rbracket.test( prefix ) ) {
+
+ // Treat each array item as a scalar.
+ add( prefix, v );
+
+ } else {
+
+ // Item is non-scalar (array or object), encode its numeric index.
+ buildParams(
+ prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+ v,
+ traditional,
+ add
+ );
+ }
+ } );
+
+ } else if ( !traditional && jQuery.type( obj ) === "object" ) {
+
+ // Serialize object item.
+ for ( name in obj ) {
+ buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+ }
+
+ } else {
+
+ // Serialize scalar item.
+ add( prefix, obj );
+ }
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+ var prefix,
+ s = [],
+ add = function( key, valueOrFunction ) {
+
+ // If value is a function, invoke it and use its return value
+ var value = jQuery.isFunction( valueOrFunction ) ?
+ valueOrFunction() :
+ valueOrFunction;
+
+ s[ s.length ] = encodeURIComponent( key ) + "=" +
+ encodeURIComponent( value == null ? "" : value );
+ };
+
+ // If an array was passed in, assume that it is an array of form elements.
+ if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+ // Serialize the form elements
+ jQuery.each( a, function() {
+ add( this.name, this.value );
+ } );
+
+ } else {
+
+ // If traditional, encode the "old" way (the way 1.3.2 or older
+ // did it), otherwise encode params recursively.
+ for ( prefix in a ) {
+ buildParams( prefix, a[ prefix ], traditional, add );
+ }
+ }
+
+ // Return the resulting serialization
+ return s.join( "&" );
+};
+
+jQuery.fn.extend( {
+ serialize: function() {
+ return jQuery.param( this.serializeArray() );
+ },
+ serializeArray: function() {
+ return this.map( function() {
+
+ // Can add propHook for "elements" to filter or add form elements
+ var elements = jQuery.prop( this, "elements" );
+ return elements ? jQuery.makeArray( elements ) : this;
+ } )
+ .filter( function() {
+ var type = this.type;
+
+ // Use .is( ":disabled" ) so that fieldset[disabled] works
+ return this.name && !jQuery( this ).is( ":disabled" ) &&
+ rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
+ ( this.checked || !rcheckableType.test( type ) );
+ } )
+ .map( function( i, elem ) {
+ var val = jQuery( this ).val();
+
+ if ( val == null ) {
+ return null;
+ }
+
+ if ( Array.isArray( val ) ) {
+ return jQuery.map( val, function( val ) {
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } );
+ }
+
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } ).get();
+ }
+} );
+
+
+jQuery.fn.extend( {
+ wrapAll: function( html ) {
+ var wrap;
+
+ if ( this[ 0 ] ) {
+ if ( jQuery.isFunction( html ) ) {
+ html = html.call( this[ 0 ] );
+ }
+
+ // The elements to wrap the target around
+ wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+ if ( this[ 0 ].parentNode ) {
+ wrap.insertBefore( this[ 0 ] );
+ }
+
+ wrap.map( function() {
+ var elem = this;
+
+ while ( elem.firstElementChild ) {
+ elem = elem.firstElementChild;
+ }
+
+ return elem;
+ } ).append( this );
+ }
+
+ return this;
+ },
+
+ wrapInner: function( html ) {
+ if ( jQuery.isFunction( html ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).wrapInner( html.call( this, i ) );
+ } );
+ }
+
+ return this.each( function() {
+ var self = jQuery( this ),
+ contents = self.contents();
+
+ if ( contents.length ) {
+ contents.wrapAll( html );
+
+ } else {
+ self.append( html );
+ }
+ } );
+ },
+
+ wrap: function( html ) {
+ var isFunction = jQuery.isFunction( html );
+
+ return this.each( function( i ) {
+ jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );
+ } );
+ },
+
+ unwrap: function( selector ) {
+ this.parent( selector ).not( "body" ).each( function() {
+ jQuery( this ).replaceWith( this.childNodes );
+ } );
+ return this;
+ }
+} );
+
+
+jQuery.expr.pseudos.hidden = function( elem ) {
+ return !jQuery.expr.pseudos.visible( elem );
+};
+jQuery.expr.pseudos.visible = function( elem ) {
+ return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
+};
+
+
+
+
+// Support: Safari 8 only
+// In Safari 8 documents created via document.implementation.createHTMLDocument
+// collapse sibling forms: the second one becomes a child of the first one.
+// Because of that, this security measure has to be disabled in Safari 8.
+// https://bugs.webkit.org/show_bug.cgi?id=137337
+support.createHTMLDocument = ( function() {
+ var body = document.implementation.createHTMLDocument( "" ).body;
+ body.innerHTML = "<form></form><form></form>";
+ return body.childNodes.length === 2;
+} )();
+
+
+// Argument "data" should be string of html
+// context (optional): If specified, the fragment will be created in this context,
+// defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+ if ( typeof data !== "string" ) {
+ return [];
+ }
+ if ( typeof context === "boolean" ) {
+ keepScripts = context;
+ context = false;
+ }
+
+ var base, parsed, scripts;
+
+ if ( !context ) {
+
+ // Stop scripts or inline event handlers from being executed immediately
+ // by using document.implementation
+ if ( support.createHTMLDocument ) {
+ context = document.implementation.createHTMLDocument( "" );
+
+ // Set the base href for the created document
+ // so any parsed elements with URLs
+ // are based on the document's URL (gh-2965)
+ base = context.createElement( "base" );
+ base.href = document.location.href;
+ context.head.appendChild( base );
+ } else {
+ context = document;
+ }
+ }
+
+ parsed = rsingleTag.exec( data );
+ scripts = !keepScripts && [];
+
+ // Single tag
+ if ( parsed ) {
+ return [ context.createElement( parsed[ 1 ] ) ];
+ }
+
+ parsed = buildFragment( [ data ], context, scripts );
+
+ if ( scripts && scripts.length ) {
+ jQuery( scripts ).remove();
+ }
+
+ return jQuery.merge( [], parsed.childNodes );
+};
+
+
+jQuery.offset = {
+ setOffset: function( elem, options, i ) {
+ var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
+ position = jQuery.css( elem, "position" ),
+ curElem = jQuery( elem ),
+ props = {};
+
+ // Set position first, in-case top/left are set even on static elem
+ if ( position === "static" ) {
+ elem.style.position = "relative";
+ }
+
+ curOffset = curElem.offset();
+ curCSSTop = jQuery.css( elem, "top" );
+ curCSSLeft = jQuery.css( elem, "left" );
+ calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+ ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
+
+ // Need to be able to calculate position if either
+ // top or left is auto and position is either absolute or fixed
+ if ( calculatePosition ) {
+ curPosition = curElem.position();
+ curTop = curPosition.top;
+ curLeft = curPosition.left;
+
+ } else {
+ curTop = parseFloat( curCSSTop ) || 0;
+ curLeft = parseFloat( curCSSLeft ) || 0;
+ }
+
+ if ( jQuery.isFunction( options ) ) {
+
+ // Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
+ options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
+ }
+
+ if ( options.top != null ) {
+ props.top = ( options.top - curOffset.top ) + curTop;
+ }
+ if ( options.left != null ) {
+ props.left = ( options.left - curOffset.left ) + curLeft;
+ }
+
+ if ( "using" in options ) {
+ options.using.call( elem, props );
+
+ } else {
+ curElem.css( props );
+ }
+ }
+};
+
+jQuery.fn.extend( {
+ offset: function( options ) {
+
+ // Preserve chaining for setter
+ if ( arguments.length ) {
+ return options === undefined ?
+ this :
+ this.each( function( i ) {
+ jQuery.offset.setOffset( this, options, i );
+ } );
+ }
+
+ var doc, docElem, rect, win,
+ elem = this[ 0 ];
+
+ if ( !elem ) {
+ return;
+ }
+
+ // Return zeros for disconnected and hidden (display: none) elements (gh-2310)
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a
+ // disconnected node in IE throws an error
+ if ( !elem.getClientRects().length ) {
+ return { top: 0, left: 0 };
+ }
+
+ rect = elem.getBoundingClientRect();
+
+ doc = elem.ownerDocument;
+ docElem = doc.documentElement;
+ win = doc.defaultView;
+
+ return {
+ top: rect.top + win.pageYOffset - docElem.clientTop,
+ left: rect.left + win.pageXOffset - docElem.clientLeft
+ };
+ },
+
+ position: function() {
+ if ( !this[ 0 ] ) {
+ return;
+ }
+
+ var offsetParent, offset,
+ elem = this[ 0 ],
+ parentOffset = { top: 0, left: 0 };
+
+ // Fixed elements are offset from window (parentOffset = {top:0, left: 0},
+ // because it is its only offset parent
+ if ( jQuery.css( elem, "position" ) === "fixed" ) {
+
+ // Assume getBoundingClientRect is there when computed position is fixed
+ offset = elem.getBoundingClientRect();
+
+ } else {
+
+ // Get *real* offsetParent
+ offsetParent = this.offsetParent();
+
+ // Get correct offsets
+ offset = this.offset();
+ if ( !nodeName( offsetParent[ 0 ], "html" ) ) {
+ parentOffset = offsetParent.offset();
+ }
+
+ // Add offsetParent borders
+ parentOffset = {
+ top: parentOffset.top + jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ),
+ left: parentOffset.left + jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true )
+ };
+ }
+
+ // Subtract parent offsets and element margins
+ return {
+ top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+ left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
+ };
+ },
+
+ // This method will return documentElement in the following cases:
+ // 1) For the element inside the iframe without offsetParent, this method will return
+ // documentElement of the parent window
+ // 2) For the hidden or detached element
+ // 3) For body or html element, i.e. in case of the html node - it will return itself
+ //
+ // but those exceptions were never presented as a real life use-cases
+ // and might be considered as more preferable results.
+ //
+ // This logic, however, is not guaranteed and can change at any point in the future
+ offsetParent: function() {
+ return this.map( function() {
+ var offsetParent = this.offsetParent;
+
+ while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+ offsetParent = offsetParent.offsetParent;
+ }
+
+ return offsetParent || documentElement;
+ } );
+ }
+} );
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
+ var top = "pageYOffset" === prop;
+
+ jQuery.fn[ method ] = function( val ) {
+ return access( this, function( elem, method, val ) {
+
+ // Coalesce documents and windows
+ var win;
+ if ( jQuery.isWindow( elem ) ) {
+ win = elem;
+ } else if ( elem.nodeType === 9 ) {
+ win = elem.defaultView;
+ }
+
+ if ( val === undefined ) {
+ return win ? win[ prop ] : elem[ method ];
+ }
+
+ if ( win ) {
+ win.scrollTo(
+ !top ? val : win.pageXOffset,
+ top ? val : win.pageYOffset
+ );
+
+ } else {
+ elem[ method ] = val;
+ }
+ }, method, val, arguments.length );
+ };
+} );
+
+// Support: Safari <=7 - 9.1, Chrome <=37 - 49
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+ jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+ function( elem, computed ) {
+ if ( computed ) {
+ computed = curCSS( elem, prop );
+
+ // If curCSS returns percentage, fallback to offset
+ return rnumnonpx.test( computed ) ?
+ jQuery( elem ).position()[ prop ] + "px" :
+ computed;
+ }
+ }
+ );
+} );
+
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+ jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
+ function( defaultExtra, funcName ) {
+
+ // Margin is only for outerHeight, outerWidth
+ jQuery.fn[ funcName ] = function( margin, value ) {
+ var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+ extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+ return access( this, function( elem, type, value ) {
+ var doc;
+
+ if ( jQuery.isWindow( elem ) ) {
+
+ // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
+ return funcName.indexOf( "outer" ) === 0 ?
+ elem[ "inner" + name ] :
+ elem.document.documentElement[ "client" + name ];
+ }
+
+ // Get document width or height
+ if ( elem.nodeType === 9 ) {
+ doc = elem.documentElement;
+
+ // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
+ // whichever is greatest
+ return Math.max(
+ elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+ elem.body[ "offset" + name ], doc[ "offset" + name ],
+ doc[ "client" + name ]
+ );
+ }
+
+ return value === undefined ?
+
+ // Get width or height on the element, requesting but not forcing parseFloat
+ jQuery.css( elem, type, extra ) :
+
+ // Set width or height on the element
+ jQuery.style( elem, type, value, extra );
+ }, type, chainable ? margin : undefined, chainable );
+ };
+ } );
+} );
+
+
+jQuery.fn.extend( {
+
+ bind: function( types, data, fn ) {
+ return this.on( types, null, data, fn );
+ },
+ unbind: function( types, fn ) {
+ return this.off( types, null, fn );
+ },
+
+ delegate: function( selector, types, data, fn ) {
+ return this.on( types, selector, data, fn );
+ },
+ undelegate: function( selector, types, fn ) {
+
+ // ( namespace ) or ( selector, types [, fn] )
+ return arguments.length === 1 ?
+ this.off( selector, "**" ) :
+ this.off( types, selector || "**", fn );
+ }
+} );
+
+jQuery.holdReady = function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+};
+jQuery.isArray = Array.isArray;
+jQuery.parseJSON = JSON.parse;
+jQuery.nodeName = nodeName;
+
+
+
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+ define( "jquery", [], function() {
+ return jQuery;
+ } );
+}
+
+
+
+
+var
+
+ // Map over jQuery in case of overwrite
+ _jQuery = window.jQuery,
+
+ // Map over the $ in case of overwrite
+ _$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+ if ( window.$ === jQuery ) {
+ window.$ = _$;
+ }
+
+ if ( deep && window.jQuery === jQuery ) {
+ window.jQuery = _jQuery;
+ }
+
+ return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in AMD
+// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( !noGlobal ) {
+ window.jQuery = window.$ = jQuery;
+}
+
+
+
+
+return jQuery;
+} );
diff --git a/docs/assets/js/vendor/jquery.min.js b/docs/assets/js/vendor/jquery.min.js
deleted file mode 100644
index 4c5be4c0f..000000000
--- a/docs/assets/js/vendor/jquery.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */
-!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),
-a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:X.test(a)?JSON.parse(a):a)}function $(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=Z(c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),$(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=$(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var _=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,aa=new RegExp("^(?:([+-])=|)("+_+")([a-z%]*)$","i"),ba=["Top","Right","Bottom","Left"],ca=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function ea(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&aa.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var fa={};function ga(a){var b,c=a.ownerDocument,d=a.nodeName,e=fa[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),fa[d]=e,e)}function ha(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ca(d)&&(e[f]=ga(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ha(this,!0)},hide:function(){return ha(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ca(this)?r(this).show():r(this).hide()})}});var ia=/^(?:checkbox|radio)$/i,ja=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var oa=/<|&#?\w+;/;function pa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(oa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ja.exec(f)||["",""])[1].toLowerCase(),i=la[h]||la._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==wa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===wa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ua:va,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:va,isPropagationStopped:va,isImmediatePropagationStopped:va,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ua,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ua,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ua,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&ra.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&sa.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return xa(this,a,b,c,d)},one:function(a,b,c,d){return xa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=va),this.each(function(){r.event.remove(this,a,c,b)})}});var ya=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/<script|<style|<link/i,Aa=/checked\s*(?:[^=]|=\s*.checked.)/i,Ba=/^true\/(.*)/,Ca=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ha(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ia.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ia(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,ma(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Fa),l=0;l<i;l++)j=h[l],ka.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ca,""),k))}return a}function Ja(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(ma(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&na(ma(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(ya,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);if(b)if(c)for(f=f||ma(a),g=g||ma(h),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);else Ga(a,h);return g=ma(h,"script"),g.length>0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(ma(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ia(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(ma(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ka=/^margin/,La=new RegExp("^("+_+")(?!px)[a-z%]+$","i"),Ma=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",qa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,qa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Na(a,b,c){var d,e,f,g,h=a.style;return c=c||Ma(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&La.test(g)&&Ka.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Oa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Pa=/^(none|table(?!-c[ea]).+)/,Qa={position:"absolute",visibility:"hidden",display:"block"},Ra={letterSpacing:"0",fontWeight:"400"},Sa=["Webkit","Moz","ms"],Ta=d.createElement("div").style;function Ua(a){if(a in Ta)return a;var b=a[0].toUpperCase()+a.slice(1),c=Sa.length;while(c--)if(a=Sa[c]+b,a in Ta)return a}function Va(a,b,c){var d=aa.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Wa(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ba[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ba[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ba[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ba[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ba[f]+"Width",!0,e)));return g}function Xa(a,b,c){var d,e=!0,f=Ma(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Na(a,b,f),(d<0||null==d)&&(d=a.style[b]),La.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Wa(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Na(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ua(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=aa.exec(c))&&e[1]&&(c=ea(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ua(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Na(a,b,d)),"normal"===e&&b in Ra&&(e=Ra[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Pa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Xa(a,b,d):da(a,Qa,function(){return Xa(a,b,d)})},set:function(a,c,d){var e,f=d&&Ma(a),g=d&&Wa(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=aa.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Va(a,c,g)}}}),r.cssHooks.marginLeft=Oa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Na(a,"marginLeft"))||a.getBoundingClientRect().left-da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ba[d]+b]=f[d]||f[d-2]||f[0];return e}},Ka.test(a)||(r.cssHooks[a+b].set=Va)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=Ma(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function fb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ca(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],_a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ha([a],!0),j=a.style.display||j,k=r.css(a,"display"),ha([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ha([a],!0),m.done(function(){p||ha([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=eb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function gb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function hb(a,b,c){var d,e,f=0,g=hb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Za||cb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Za||cb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(gb(k,j.opts.specialEasing);f<g;f++)if(d=hb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,eb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(hb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return ea(c.elem,a,aa.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],hb.tweeners[c]=hb.tweeners[c]||[],hb.tweeners[c].unshift(b)},prefilters:[fb],prefilter:function(a,b){b?hb.prefilters.unshift(a):hb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:"number"!=typeof e.duration&&(e.duration in r.fx.speeds?e.duration=r.fx.speeds[e.duration]:e.duration=r.fx.speeds._default),null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ca).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=hb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&ab.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(db(b,!0),a,d,e)}}),r.each({slideDown:db("show"),slideUp:db("hide"),slideToggle:db("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Za=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Za=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){$a||($a=a.requestAnimationFrame?a.requestAnimationFrame(bb):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame($a):a.clearInterval($a),$a=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var ib,jb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)),
-void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=pa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=mb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||qa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Oa(o.pixelPosition,function(a,c){if(c)return c=Na(a,b),La.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r});
diff --git a/docs/assets/js/vendor/popper.min.js b/docs/assets/js/vendor/popper.min.js
new file mode 100644
index 000000000..ac85cba98
--- /dev/null
+++ b/docs/assets/js/vendor/popper.min.js
@@ -0,0 +1,3 @@
+var _Mathfloor=Math.floor,_Mathmin=Math.min,_Mathround=Math.round,_Mathmax=Math.max;(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function o(Ne){return''!==Ne&&!isNaN(parseFloat(Ne))&&isFinite(Ne)}function r(Ne,We){Object.keys(We).forEach(function(Pe){var De='';-1!==['width','height','top','right','bottom','left'].indexOf(Pe)&&o(We[Pe])&&(De='px'),Ne.style[Pe]=We[Pe]+De})}function p(Ne){return Ne&&'[object Function]'==={}.toString.call(Ne)}function s(Ne,We){if(1!==Ne.nodeType)return[];var Pe=window.getComputedStyle(Ne,null);return We?Pe[We]:Pe}function d(Ne){return'HTML'===Ne.nodeName?Ne:Ne.parentNode||Ne.host}function f(Ne){if(!Ne||-1!==['HTML','BODY','#document'].indexOf(Ne.nodeName))return window.document.body;var We=s(Ne),Pe=We.overflow,De=We.overflowX,He=We.overflowY;return /(auto|scroll)/.test(Pe+He+De)?Ne:f(d(Ne))}function l(Ne){var We=Ne.nodeName;return'BODY'!==We&&('HTML'===We||Ne.firstElementChild.offsetParent===Ne)}function m(Ne){return null===Ne.parentNode?Ne:m(Ne.parentNode)}function h(Ne){var We=Ne&&Ne.offsetParent,Pe=We&&We.nodeName;return Pe&&'BODY'!==Pe&&'HTML'!==Pe?We:window.document.documentElement}function c(Ne,We){if(!Ne||!Ne.nodeType||!We||!We.nodeType)return window.document.documentElement;var Pe=Ne.compareDocumentPosition(We)&Node.DOCUMENT_POSITION_FOLLOWING,De=Pe?Ne:We,He=Pe?We:Ne,Be=document.createRange();Be.setStart(De,0),Be.setEnd(He,0);var Me=Be.commonAncestorContainer;if(Ne!==Me&&We!==Me||De.contains(He))return l(Me)?Me:h(Me);var Ie=m(Ne);return Ie.host?c(Ie.host,We):c(Ne,m(We).host)}function u(Ne){var We=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',Pe='top'===We?'scrollTop':'scrollLeft',De=Ne.nodeName;if('BODY'===De||'HTML'===De){var He=window.document.documentElement,Be=window.document.scrollingElement||He;return Be[Pe]}return Ne[Pe]}function g(Ne,We){var Pe=2<arguments.length&&void 0!==arguments[2]&&arguments[2],De=u(We,'top'),He=u(We,'left'),Be=Pe?-1:1;return Ne.top+=De*Be,Ne.bottom+=De*Be,Ne.left+=He*Be,Ne.right+=He*Be,Ne}function w(Ne,We){var Pe='x'===We?'Left':'Top',De='Left'==Pe?'Right':'Bottom';return+Ne['border'+Pe+'Width'].split('px')[0]+ +Ne['border'+De+'Width'].split('px')[0]}function E(Ne,We,Pe,De){return _Mathmax(We['offset'+Ne],Pe['client'+Ne],Pe['offset'+Ne],ye()?Pe['offset'+Ne]+De['margin'+('Height'===Ne?'Top':'Left')]+De['margin'+('Height'===Ne?'Bottom':'Right')]:0)}function v(){var Ne=window.document.body,We=window.document.documentElement,Pe=ye()&&window.getComputedStyle(We);return{height:E('Height',Ne,We,Pe),width:E('Width',Ne,We,Pe)}}function O(Ne){return xe({},Ne,{right:Ne.left+Ne.width,bottom:Ne.top+Ne.height})}function L(Ne){var We={};if(ye())try{We=Ne.getBoundingClientRect();var Pe=u(Ne,'top'),De=u(Ne,'left');We.top+=Pe,We.left+=De,We.bottom+=Pe,We.right+=De}catch(Ye){}else We=Ne.getBoundingClientRect();var He={left:We.left,top:We.top,width:We.right-We.left,height:We.bottom-We.top},Be='HTML'===Ne.nodeName?v():{},Me=Be.width||Ne.clientWidth||He.right-He.left,Ie=Be.height||Ne.clientHeight||He.bottom-He.top,Ae=Ne.offsetWidth-Me,Re=Ne.offsetHeight-Ie;if(Ae||Re){var Ue=s(Ne);Ae-=w(Ue,'x'),Re-=w(Ue,'y'),He.width-=Ae,He.height-=Re}return O(He)}function S(Ne,We){var Pe=ye(),De='HTML'===We.nodeName,He=L(Ne),Be=L(We),Me=f(Ne),Ie=O({top:He.top-Be.top,left:He.left-Be.left,width:He.width,height:He.height});if(De||'BODY'===We.nodeName){var Ae=s(We),Re=Pe&&De?0:+Ae.borderTopWidth.split('px')[0],Ue=Pe&&De?0:+Ae.borderLeftWidth.split('px')[0],Ye=Pe&&De?0:+Ae.marginTop.split('px')[0],Fe=Pe&&De?0:+Ae.marginLeft.split('px')[0];Ie.top-=Re-Ye,Ie.bottom-=Re-Ye,Ie.left-=Ue-Fe,Ie.right-=Ue-Fe,Ie.marginTop=Ye,Ie.marginLeft=Fe}return(Pe?We.contains(Me):We===Me&&'BODY'!==Me.nodeName)&&(Ie=g(Ie,We)),Ie}function C(Ne){var We=window.document.documentElement,Pe=S(Ne,We),De=_Mathmax(We.clientWidth,window.innerWidth||0),He=_Mathmax(We.clientHeight,window.innerHeight||0),Be=u(We),Me=u(We,'left'),Ie={top:Be-Pe.top+Pe.marginTop,left:Me-Pe.left+Pe.marginLeft,width:De,height:He};return O(Ie)}function T(Ne){var We=Ne.nodeName;return'BODY'===We||'HTML'===We?!1:'fixed'===s(Ne,'position')||T(d(Ne))}function k(Ne,We,Pe,De){var He={top:0,left:0},Be=c(Ne,We);if('viewport'===De)He=C(Be);else{var Me;'scrollParent'===De?(Me=f(d(Ne)),'BODY'===Me.nodeName&&(Me=window.document.documentElement)):'window'===De?Me=window.document.documentElement:Me=De;var Ie=S(Me,Be);if('HTML'===Me.nodeName&&!T(Be)){var Ae=v(),Re=Ae.height,Ue=Ae.width;He.top+=Ie.top-Ie.marginTop,He.bottom=Re+Ie.top,He.left+=Ie.left-Ie.marginLeft,He.right=Ue+Ie.left}else He=Ie}return He.left+=Pe,He.top+=Pe,He.right-=Pe,He.bottom-=Pe,He}function N(Ne){var We=Ne.width,Pe=Ne.height;return We*Pe}function W(Ne,We,Pe,De,He){var Be=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===Ne.indexOf('auto'))return Ne;var Me=k(Pe,De,Be,He),Ie={top:{width:Me.width,height:We.top-Me.top},right:{width:Me.right-We.right,height:Me.height},bottom:{width:Me.width,height:Me.bottom-We.bottom},left:{width:We.left-Me.left,height:Me.height}},Ae=Object.keys(Ie).map(function(Fe){return xe({key:Fe},Ie[Fe],{area:N(Ie[Fe])})}).sort(function(Fe,je){return je.area-Fe.area}),Re=Ae.filter(function(Fe){var je=Fe.width,qe=Fe.height;return je>=Pe.clientWidth&&qe>=Pe.clientHeight}),Ue=0<Re.length?Re[0].key:Ae[0].key,Ye=Ne.split('-')[1];return Ue+(Ye?'-'+Ye:'')}function P(Ne,We,Pe){var De=c(We,Pe);return S(Pe,De)}function D(Ne){var We=window.getComputedStyle(Ne),Pe=parseFloat(We.marginTop)+parseFloat(We.marginBottom),De=parseFloat(We.marginLeft)+parseFloat(We.marginRight),He={width:Ne.offsetWidth+De,height:Ne.offsetHeight+Pe};return He}function H(Ne){var We={left:'right',right:'left',bottom:'top',top:'bottom'};return Ne.replace(/left|right|bottom|top/g,function(Pe){return We[Pe]})}function B(Ne,We,Pe){Pe=Pe.split('-')[0];var De=D(Ne),He={width:De.width,height:De.height},Be=-1!==['right','left'].indexOf(Pe),Me=Be?'top':'left',Ie=Be?'left':'top',Ae=Be?'height':'width',Re=Be?'width':'height';return He[Me]=We[Me]+We[Ae]/2-De[Ae]/2,He[Ie]=Pe===Ie?We[Ie]-De[Re]:We[H(Ie)],He}function M(Ne,We){return Array.prototype.find?Ne.find(We):Ne.filter(We)[0]}function I(Ne,We,Pe){if(Array.prototype.findIndex)return Ne.findIndex(function(He){return He[We]===Pe});var De=M(Ne,function(He){return He[We]===Pe});return Ne.indexOf(De)}function A(Ne,We,Pe){var De=void 0===Pe?Ne:Ne.slice(0,I(Ne,'name',Pe));return De.forEach(function(He){He.function&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var Be=He.function||He.fn;He.enabled&&p(Be)&&(We=Be(We,He))}),We}function R(){if(!this.state.isDestroyed){var Ne={instance:this,styles:{},attributes:{},flipped:!1,offsets:{}};Ne.offsets.reference=P(this.state,this.popper,this.reference),Ne.placement=W(this.options.placement,Ne.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),Ne.originalPlacement=Ne.placement,Ne.offsets.popper=B(this.popper,Ne.offsets.reference,Ne.placement),Ne.offsets.popper.position='absolute',Ne=A(this.modifiers,Ne),this.state.isCreated?this.options.onUpdate(Ne):(this.state.isCreated=!0,this.options.onCreate(Ne))}}function U(Ne,We){return Ne.some(function(Pe){var De=Pe.name,He=Pe.enabled;return He&&De===We})}function Y(Ne){for(var We=[!1,'ms','webkit','moz','o'],Pe=Ne.charAt(0).toUpperCase()+Ne.slice(1),De=0;De<We.length-1;De++){var He=We[De],Be=He?''+He+Pe:Ne;if('undefined'!=typeof window.document.body.style[Be])return Be}return null}function F(){return this.state.isDestroyed=!0,U(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.left='',this.popper.style.position='',this.popper.style.top='',this.popper.style[Y('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function j(Ne,We,Pe,De){var He='BODY'===Ne.nodeName,Be=He?window:Ne;Be.addEventListener(We,Pe,{passive:!0}),He||j(f(Be.parentNode),We,Pe,De),De.push(Be)}function q(Ne,We,Pe,De){Pe.updateBound=De,window.addEventListener('resize',Pe.updateBound,{passive:!0});var He=f(Ne);return j(He,'scroll',Pe.updateBound,Pe.scrollParents),Pe.scrollElement=He,Pe.eventsEnabled=!0,Pe}function K(){this.state.eventsEnabled||(this.state=q(this.reference,this.options,this.state,this.scheduleUpdate))}function z(Ne,We){return window.removeEventListener('resize',We.updateBound),We.scrollParents.forEach(function(Pe){Pe.removeEventListener('scroll',We.updateBound)}),We.updateBound=null,We.scrollParents=[],We.scrollElement=null,We.eventsEnabled=!1,We}function _(){this.state.eventsEnabled&&(window.cancelAnimationFrame(this.scheduleUpdate),this.state=z(this.reference,this.state))}function V(Ne,We){Object.keys(We).forEach(function(Pe){var De=We[Pe];!1===De?Ne.removeAttribute(Pe):Ne.setAttribute(Pe,We[Pe])})}function Q(Ne,We,Pe){var De=M(Ne,function(Ie){var Ae=Ie.name;return Ae===We}),He=!!De&&Ne.some(function(Ie){return Ie.name===Pe&&Ie.enabled&&Ie.order<De.order});if(!He){var Be='`'+We+'`';console.warn('`'+Pe+'`'+' modifier is required by '+Be+' modifier in order to work, be sure to include it before '+Be+'!')}return He}function $(Ne){return'end'===Ne?'start':'start'===Ne?'end':Ne}function J(Ne){var We=1<arguments.length&&void 0!==arguments[1]&&arguments[1],Pe=Le.indexOf(Ne),De=Le.slice(Pe+1).concat(Le.slice(0,Pe));return We?De.reverse():De}function oe(Ne,We,Pe,De){var He=Ne.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),Be=+He[1],Me=He[2];if(!Be)return Ne;if(0===Me.indexOf('%')){var Ie;switch(Me){case'%p':Ie=Pe;break;case'%':case'%r':default:Ie=De;}var Ae=O(Ie);return Ae[We]/100*Be}if('vh'===Me||'vw'===Me){var Re;return Re='vh'===Me?_Mathmax(document.documentElement.clientHeight,window.innerHeight||0):_Mathmax(document.documentElement.clientWidth,window.innerWidth||0),Re/100*Be}return Be}function ie(Ne,We,Pe,De){var He=[0,0],Be=-1!==['right','left'].indexOf(De),Me=Ne.split(/(\+|\-)/).map(function(Ue){return Ue.trim()}),Ie=Me.indexOf(M(Me,function(Ue){return-1!==Ue.search(/,|\s/)}));Me[Ie]&&-1===Me[Ie].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var Ae=/\s*,\s*|\s+/,Re=-1===Ie?[Me]:[Me.slice(0,Ie).concat([Me[Ie].split(Ae)[0]]),[Me[Ie].split(Ae)[1]].concat(Me.slice(Ie+1))];return Re=Re.map(function(Ue,Ye){var Fe=(1===Ye?!Be:Be)?'height':'width',je=!1;return Ue.reduce(function(qe,Ke){return''===qe[qe.length-1]&&-1!==['+','-'].indexOf(Ke)?(qe[qe.length-1]=Ke,je=!0,qe):je?(qe[qe.length-1]+=Ke,je=!1,qe):qe.concat(Ke)},[]).map(function(qe){return oe(qe,Fe,We,Pe)})}),Re.forEach(function(Ue,Ye){Ue.forEach(function(Fe,je){o(Fe)&&(He[Ye]+=Fe*('-'===Ue[je-1]?-1:1))})}),He}for(var de=['native code','[object MutationObserverConstructor]'],fe=function(Ne){return de.some(function(We){return-1<(Ne||'').toString().indexOf(We)})},le='undefined'!=typeof window,me=['Edge','Trident','Firefox'],he=0,ce=0;ce<me.length;ce+=1)if(le&&0<=navigator.userAgent.indexOf(me[ce])){he=1;break}var be,ue=le&&fe(window.MutationObserver),ge=ue?function(Ne){var We=!1,Pe=0,De=document.createElement('span'),He=new MutationObserver(function(){Ne(),We=!1});return He.observe(De,{attributes:!0}),function(){We||(We=!0,De.setAttribute('x-index',Pe),++Pe)}}:function(Ne){var We=!1;return function(){We||(We=!0,setTimeout(function(){We=!1,Ne()},he))}},ye=function(){return void 0==be&&(be=-1!==navigator.appVersion.indexOf('MSIE 10')),be},we=function(Ne,We){if(!(Ne instanceof We))throw new TypeError('Cannot call a class as a function')},Ee=function(){function Ne(We,Pe){for(var He,De=0;De<Pe.length;De++)He=Pe[De],He.enumerable=He.enumerable||!1,He.configurable=!0,'value'in He&&(He.writable=!0),Object.defineProperty(We,He.key,He)}return function(We,Pe,De){return Pe&&Ne(We.prototype,Pe),De&&Ne(We,De),We}}(),ve=function(Ne,We,Pe){return We in Ne?Object.defineProperty(Ne,We,{value:Pe,enumerable:!0,configurable:!0,writable:!0}):Ne[We]=Pe,Ne},xe=Object.assign||function(Ne){for(var Pe,We=1;We<arguments.length;We++)for(var De in Pe=arguments[We],Pe)Object.prototype.hasOwnProperty.call(Pe,De)&&(Ne[De]=Pe[De]);return Ne},Oe=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],Le=Oe.slice(3),Se={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},ke=function(){function Ne(We,Pe){var De=this,He=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};we(this,Ne),this.scheduleUpdate=function(){return requestAnimationFrame(De.update)},this.update=ge(this.update.bind(this)),this.options=xe({},Ne.Defaults,He),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=We.jquery?We[0]:We,this.popper=Pe.jquery?Pe[0]:Pe,r(this.popper,{position:'absolute'}),this.options.modifiers={},Object.keys(xe({},Ne.Defaults.modifiers,He.modifiers)).forEach(function(Me){De.options.modifiers[Me]=xe({},Ne.Defaults.modifiers[Me]||{},He.modifiers?He.modifiers[Me]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(Me){return xe({name:Me},De.options.modifiers[Me])}).sort(function(Me,Ie){return Me.order-Ie.order}),this.modifiers.forEach(function(Me){Me.enabled&&p(Me.onLoad)&&Me.onLoad(De.reference,De.popper,De.options,Me,De.state)}),this.update();var Be=this.options.eventsEnabled;Be&&this.enableEventListeners(),this.state.eventsEnabled=Be}return Ee(Ne,[{key:'update',value:function(){return R.call(this)}},{key:'destroy',value:function(){return F.call(this)}},{key:'enableEventListeners',value:function(){return K.call(this)}},{key:'disableEventListeners',value:function(){return _.call(this)}}]),Ne}();return ke.Utils=('undefined'==typeof window?global:window).PopperUtils,ke.placements=Oe,ke.Defaults={placement:'bottom',eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(Ne){var We=Ne.placement,Pe=We.split('-')[0],De=We.split('-')[1];if(De){var He=Ne.offsets.reference,Be=O(Ne.offsets.popper),Me=-1!==['bottom','top'].indexOf(Pe),Ie=Me?'left':'top',Ae=Me?'width':'height',Re={start:ve({},Ie,He[Ie]),end:ve({},Ie,He[Ie]+He[Ae]-Be[Ae])};Ne.offsets.popper=xe({},Be,Re[De])}return Ne}},offset:{order:200,enabled:!0,fn:function(Ne,We){var Ae,Pe=We.offset,De=Ne.placement,He=Ne.offsets,Be=He.popper,Me=He.reference,Ie=De.split('-')[0];return Ae=o(+Pe)?[+Pe,0]:ie(Pe,Be,Me,Ie),'left'===Ie?(Be.top+=Ae[0],Be.left-=Ae[1]):'right'===Ie?(Be.top+=Ae[0],Be.left+=Ae[1]):'top'===Ie?(Be.left+=Ae[0],Be.top-=Ae[1]):'bottom'===Ie&&(Be.left+=Ae[0],Be.top+=Ae[1]),Ne.popper=Be,Ne},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(Ne,We){var Pe=We.boundariesElement||h(Ne.instance.popper),De=k(Ne.instance.popper,Ne.instance.reference,We.padding,Pe);We.boundaries=De;var He=We.priority,Be=O(Ne.offsets.popper),Me={primary:function(Ae){var Re=Be[Ae];return Be[Ae]<De[Ae]&&!We.escapeWithReference&&(Re=_Mathmax(Be[Ae],De[Ae])),ve({},Ae,Re)},secondary:function(Ae){var Re='right'===Ae?'left':'top',Ue=Be[Re];return Be[Ae]>De[Ae]&&!We.escapeWithReference&&(Ue=_Mathmin(Be[Re],De[Ae]-('right'===Ae?Be.width:Be.height))),ve({},Re,Ue)}};return He.forEach(function(Ie){var Ae=-1===['left','top'].indexOf(Ie)?'secondary':'primary';Be=xe({},Be,Me[Ae](Ie))}),Ne.offsets.popper=Be,Ne},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(Ne){var We=O(Ne.offsets.popper),Pe=Ne.offsets.reference,De=Ne.placement.split('-')[0],He=_Mathfloor,Be=-1!==['top','bottom'].indexOf(De),Me=Be?'right':'bottom',Ie=Be?'left':'top',Ae=Be?'width':'height';return We[Me]<He(Pe[Ie])&&(Ne.offsets.popper[Ie]=He(Pe[Ie])-We[Ae]),We[Ie]>He(Pe[Me])&&(Ne.offsets.popper[Ie]=He(Pe[Me])),Ne}},arrow:{order:500,enabled:!0,fn:function(Ne,We){if(!Q(Ne.instance.modifiers,'arrow','keepTogether'))return Ne;var Pe=We.element;if('string'==typeof Pe){if(Pe=Ne.instance.popper.querySelector(Pe),!Pe)return Ne;}else if(!Ne.instance.popper.contains(Pe))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),Ne;var De=Ne.placement.split('-')[0],He=O(Ne.offsets.popper),Be=Ne.offsets.reference,Me=-1!==['left','right'].indexOf(De),Ie=Me?'height':'width',Ae=Me?'top':'left',Re=Me?'left':'top',Ue=Me?'bottom':'right',Ye=D(Pe)[Ie];Be[Ue]-Ye<He[Ae]&&(Ne.offsets.popper[Ae]-=He[Ae]-(Be[Ue]-Ye)),Be[Ae]+Ye>He[Ue]&&(Ne.offsets.popper[Ae]+=Be[Ae]+Ye-He[Ue]);var Fe=Be[Ae]+Be[Ie]/2-Ye/2,je=Fe-O(Ne.offsets.popper)[Ae];return je=_Mathmax(_Mathmin(He[Ie]-Ye,je),0),Ne.arrowElement=Pe,Ne.offsets.arrow={},Ne.offsets.arrow[Ae]=_Mathfloor(je),Ne.offsets.arrow[Re]='',Ne},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(Ne,We){if(U(Ne.instance.modifiers,'inner'))return Ne;if(Ne.flipped&&Ne.placement===Ne.originalPlacement)return Ne;var Pe=k(Ne.instance.popper,Ne.instance.reference,We.padding,We.boundariesElement),De=Ne.placement.split('-')[0],He=H(De),Be=Ne.placement.split('-')[1]||'',Me=[];switch(We.behavior){case Se.FLIP:Me=[De,He];break;case Se.CLOCKWISE:Me=J(De);break;case Se.COUNTERCLOCKWISE:Me=J(De,!0);break;default:Me=We.behavior;}return Me.forEach(function(Ie,Ae){if(De!==Ie||Me.length===Ae+1)return Ne;De=Ne.placement.split('-')[0],He=H(De);var Re=O(Ne.offsets.popper),Ue=Ne.offsets.reference,Ye=_Mathfloor,Fe='left'===De&&Ye(Re.right)>Ye(Ue.left)||'right'===De&&Ye(Re.left)<Ye(Ue.right)||'top'===De&&Ye(Re.bottom)>Ye(Ue.top)||'bottom'===De&&Ye(Re.top)<Ye(Ue.bottom),je=Ye(Re.left)<Ye(Pe.left),qe=Ye(Re.right)>Ye(Pe.right),Ke=Ye(Re.top)<Ye(Pe.top),ze=Ye(Re.bottom)>Ye(Pe.bottom),_e='left'===De&&je||'right'===De&&qe||'top'===De&&Ke||'bottom'===De&&ze,Ve=-1!==['top','bottom'].indexOf(De),Ge=!!We.flipVariations&&(Ve&&'start'===Be&&je||Ve&&'end'===Be&&qe||!Ve&&'start'===Be&&Ke||!Ve&&'end'===Be&&ze);(Fe||_e||Ge)&&(Ne.flipped=!0,(Fe||_e)&&(De=Me[Ae+1]),Ge&&(Be=$(Be)),Ne.placement=De+(Be?'-'+Be:''),Ne.offsets.popper=xe({},Ne.offsets.popper,B(Ne.instance.popper,Ne.offsets.reference,Ne.placement)),Ne=A(Ne.instance.modifiers,Ne,'flip'))}),Ne},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(Ne){var We=Ne.placement,Pe=We.split('-')[0],De=O(Ne.offsets.popper),He=O(Ne.offsets.reference),Be=-1!==['left','right'].indexOf(Pe),Me=-1===['top','left'].indexOf(Pe);return De[Be?'left':'top']=He[We]-(Me?De[Be?'width':'height']:0),Ne.placement=H(We),Ne.offsets.popper=O(De),Ne}},hide:{order:800,enabled:!0,fn:function(Ne){if(!Q(Ne.instance.modifiers,'hide','preventOverflow'))return Ne;var We=Ne.offsets.reference,Pe=M(Ne.instance.modifiers,function(De){return'preventOverflow'===De.name}).boundaries;if(We.bottom<Pe.top||We.left>Pe.right||We.top>Pe.bottom||We.right<Pe.left){if(!0===Ne.hide)return Ne;Ne.hide=!0,Ne.attributes['x-out-of-boundaries']=''}else{if(!1===Ne.hide)return Ne;Ne.hide=!1,Ne.attributes['x-out-of-boundaries']=!1}return Ne}},applyStyle:{order:900,enabled:!0,fn:function(Ne,We){var Pe={position:Ne.offsets.popper.position},De={'x-placement':Ne.placement},He=_Mathround(Ne.offsets.popper.left),Be=_Mathround(Ne.offsets.popper.top),Me=Y('transform');return We.gpuAcceleration&&Me?(Pe[Me]='translate3d('+He+'px, '+Be+'px, 0)',Pe.top=0,Pe.left=0,Pe.willChange='transform'):(Pe.left=He,Pe.top=Be,Pe.willChange='top, left'),r(Ne.instance.popper,xe({},Pe,Ne.styles)),V(Ne.instance.popper,xe({},De,Ne.attributes)),Ne.offsets.arrow&&r(Ne.arrowElement,Ne.offsets.arrow),Ne},onLoad:function(Ne,We,Pe,De,He){var Be=P(He,We,Ne),Me=W(Pe.placement,Be,We,Ne,Pe.modifiers.flip.boundariesElement,Pe.modifiers.flip.padding);return We.setAttribute('x-placement',Me),Pe},gpuAcceleration:!0}}},ke});
+
+//# sourceMappingURL=popper.min.js.map \ No newline at end of file
diff --git a/docs/assets/js/vendor/tether.min.js b/docs/assets/js/vendor/tether.min.js
deleted file mode 100644
index a49f2a7e2..000000000
--- a/docs/assets/js/vendor/tether.min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e(require,exports,module):t.Tether=e()}(this,function(t,e,o){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){var e=t.getBoundingClientRect(),o={};for(var n in e)o[n]=e[n];if(t.ownerDocument!==document){var r=t.ownerDocument.defaultView.frameElement;if(r){var s=i(r);o.top+=s.top,o.bottom+=s.top,o.left+=s.left,o.right+=s.left}}return o}function r(t){var e=getComputedStyle(t)||{},o=e.position,n=[];if("fixed"===o)return[t];for(var i=t;(i=i.parentNode)&&i&&1===i.nodeType;){var r=void 0;try{r=getComputedStyle(i)}catch(s){}if("undefined"==typeof r||null===r)return n.push(i),n;var a=r,f=a.overflow,l=a.overflowX,h=a.overflowY;/(auto|scroll)/.test(f+h+l)&&("absolute"!==o||["relative","absolute","fixed"].indexOf(r.position)>=0)&&n.push(i)}return n.push(t.ownerDocument.body),t.ownerDocument!==document&&n.push(t.ownerDocument.defaultView),n}function s(){A&&document.body.removeChild(A),A=null}function a(t){var e=void 0;t===document?(e=document,t=document.documentElement):e=t.ownerDocument;var o=e.documentElement,n=i(t),r=P();return n.top-=r.top,n.left-=r.left,"undefined"==typeof n.width&&(n.width=document.body.scrollWidth-n.left-n.right),"undefined"==typeof n.height&&(n.height=document.body.scrollHeight-n.top-n.bottom),n.top=n.top-o.clientTop,n.left=n.left-o.clientLeft,n.right=e.body.clientWidth-n.width-n.left,n.bottom=e.body.clientHeight-n.height-n.top,n}function f(t){return t.offsetParent||document.documentElement}function l(){if(M)return M;var t=document.createElement("div");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");h(e.style,{position:"absolute",top:0,left:0,pointerEvents:"none",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),e.appendChild(t),document.body.appendChild(e);var o=t.offsetWidth;e.style.overflow="scroll";var n=t.offsetWidth;o===n&&(n=e.clientWidth),document.body.removeChild(e);var i=o-n;return M={width:i,height:i}}function h(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=[];return Array.prototype.push.apply(e,arguments),e.slice(1).forEach(function(e){if(e)for(var o in e)({}).hasOwnProperty.call(e,o)&&(t[o]=e[o])}),t}function d(t,e){if("undefined"!=typeof t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.remove(e)});else{var o=new RegExp("(^| )"+e.split(" ").join("|")+"( |$)","gi"),n=c(t).replace(o," ");g(t,n)}}function u(t,e){if("undefined"!=typeof t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.add(e)});else{d(t,e);var o=c(t)+(" "+e);g(t,o)}}function p(t,e){if("undefined"!=typeof t.classList)return t.classList.contains(e);var o=c(t);return new RegExp("(^| )"+e+"( |$)","gi").test(o)}function c(t){return t.className instanceof t.ownerDocument.defaultView.SVGAnimatedString?t.className.baseVal:t.className}function g(t,e){t.setAttribute("class",e)}function m(t,e,o){o.forEach(function(o){-1===e.indexOf(o)&&p(t,o)&&d(t,o)}),e.forEach(function(e){p(t,e)||u(t,e)})}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function y(t,e){var o=arguments.length<=2||void 0===arguments[2]?1:arguments[2];return t+o>=e&&e>=t-o}function b(){return"undefined"!=typeof performance&&"undefined"!=typeof performance.now?performance.now():+new Date}function w(){for(var t={top:0,left:0},e=arguments.length,o=Array(e),n=0;e>n;n++)o[n]=arguments[n];return o.forEach(function(e){var o=e.top,n=e.left;"string"==typeof o&&(o=parseFloat(o,10)),"string"==typeof n&&(n=parseFloat(n,10)),t.top+=o,t.left+=n}),t}function C(t,e){return"string"==typeof t.left&&-1!==t.left.indexOf("%")&&(t.left=parseFloat(t.left,10)/100*e.width),"string"==typeof t.top&&-1!==t.top.indexOf("%")&&(t.top=parseFloat(t.top,10)/100*e.height),t}function O(t,e){return"scrollParent"===e?e=t.scrollParents[0]:"window"===e&&(e=[pageXOffset,pageYOffset,innerWidth+pageXOffset,innerHeight+pageYOffset]),e===document&&(e=e.documentElement),"undefined"!=typeof e.nodeType&&!function(){var t=e,o=a(e),n=o,i=getComputedStyle(e);if(e=[n.left,n.top,o.width+n.left,o.height+n.top],t.ownerDocument!==document){var r=t.ownerDocument.defaultView;e[0]+=r.pageXOffset,e[1]+=r.pageYOffset,e[2]+=r.pageXOffset,e[3]+=r.pageYOffset}G.forEach(function(t,o){t=t[0].toUpperCase()+t.substr(1),"Top"===t||"Left"===t?e[o]+=parseFloat(i["border"+t+"Width"]):e[o]-=parseFloat(i["border"+t+"Width"])})}(),e}var E=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),x=void 0;"undefined"==typeof x&&(x={modules:[]});var A=null,T=function(){var t=0;return function(){return++t}}(),S={},P=function(){var t=A;t||(t=document.createElement("div"),t.setAttribute("data-tether-id",T()),h(t.style,{top:0,left:0,position:"absolute"}),document.body.appendChild(t),A=t);var e=t.getAttribute("data-tether-id");return"undefined"==typeof S[e]&&(S[e]=i(t),k(function(){delete S[e]})),S[e]},M=null,W=[],k=function(t){W.push(t)},_=function(){for(var t=void 0;t=W.pop();)t()},B=function(){function t(){n(this,t)}return E(t,[{key:"on",value:function(t,e,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3];"undefined"==typeof this.bindings&&(this.bindings={}),"undefined"==typeof this.bindings[t]&&(this.bindings[t]=[]),this.bindings[t].push({handler:e,ctx:o,once:n})}},{key:"once",value:function(t,e,o){this.on(t,e,o,!0)}},{key:"off",value:function(t,e){if("undefined"!=typeof this.bindings&&"undefined"!=typeof this.bindings[t])if("undefined"==typeof e)delete this.bindings[t];else for(var o=0;o<this.bindings[t].length;)this.bindings[t][o].handler===e?this.bindings[t].splice(o,1):++o}},{key:"trigger",value:function(t){if("undefined"!=typeof this.bindings&&this.bindings[t]){for(var e=0,o=arguments.length,n=Array(o>1?o-1:0),i=1;o>i;i++)n[i-1]=arguments[i];for(;e<this.bindings[t].length;){var r=this.bindings[t][e],s=r.handler,a=r.ctx,f=r.once,l=a;"undefined"==typeof l&&(l=this),s.apply(l,n),f?this.bindings[t].splice(e,1):++e}}}}]),t}();x.Utils={getActualBoundingClientRect:i,getScrollParents:r,getBounds:a,getOffsetParent:f,extend:h,addClass:u,removeClass:d,hasClass:p,updateClasses:m,defer:k,flush:_,uniqueId:T,Evented:B,getScrollBarSize:l,removeUtilElements:s};var z=function(){function t(t,e){var o=[],n=!0,i=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);n=!0);}catch(f){i=!0,r=f}finally{try{!n&&a["return"]&&a["return"]()}finally{if(i)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),E=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),j=function(t,e,o){for(var n=!0;n;){var i=t,r=e,s=o;n=!1,null===i&&(i=Function.prototype);var a=Object.getOwnPropertyDescriptor(i,r);if(void 0!==a){if("value"in a)return a.value;var f=a.get;if(void 0===f)return;return f.call(s)}var l=Object.getPrototypeOf(i);if(null===l)return;t=l,e=r,o=s,n=!0,a=l=void 0}};if("undefined"==typeof x)throw new Error("You must include the utils.js file before tether.js");var Y=x.Utils,r=Y.getScrollParents,a=Y.getBounds,f=Y.getOffsetParent,h=Y.extend,u=Y.addClass,d=Y.removeClass,m=Y.updateClasses,k=Y.defer,_=Y.flush,l=Y.getScrollBarSize,s=Y.removeUtilElements,L=function(){if("undefined"==typeof document)return"";for(var t=document.createElement("div"),e=["transform","WebkitTransform","OTransform","MozTransform","msTransform"],o=0;o<e.length;++o){var n=e[o];if(void 0!==t.style[n])return n}}(),D=[],X=function(){D.forEach(function(t){t.position(!1)}),_()};!function(){var t=null,e=null,o=null,n=function i(){return"undefined"!=typeof e&&e>16?(e=Math.min(e-16,250),void(o=setTimeout(i,250))):void("undefined"!=typeof t&&b()-t<10||(null!=o&&(clearTimeout(o),o=null),t=b(),X(),e=b()-t))};"undefined"!=typeof window&&"undefined"!=typeof window.addEventListener&&["resize","scroll","touchmove"].forEach(function(t){window.addEventListener(t,n)})}();var F={center:"center",left:"right",right:"left"},H={middle:"middle",top:"bottom",bottom:"top"},N={top:0,left:0,middle:"50%",center:"50%",bottom:"100%",right:"100%"},U=function(t,e){var o=t.left,n=t.top;return"auto"===o&&(o=F[e.left]),"auto"===n&&(n=H[e.top]),{left:o,top:n}},V=function(t){var e=t.left,o=t.top;return"undefined"!=typeof N[t.left]&&(e=N[t.left]),"undefined"!=typeof N[t.top]&&(o=N[t.top]),{left:e,top:o}},R=function(t){var e=t.split(" "),o=z(e,2),n=o[0],i=o[1];return{top:n,left:i}},q=R,I=function(t){function e(t){var o=this;n(this,e),j(Object.getPrototypeOf(e.prototype),"constructor",this).call(this),this.position=this.position.bind(this),D.push(this),this.history=[],this.setOptions(t,!1),x.modules.forEach(function(t){"undefined"!=typeof t.initialize&&t.initialize.call(o)}),this.position()}return v(e,t),E(e,[{key:"getClass",value:function(){var t=arguments.length<=0||void 0===arguments[0]?"":arguments[0],e=this.options.classes;return"undefined"!=typeof e&&e[t]?this.options.classes[t]:this.options.classPrefix?this.options.classPrefix+"-"+t:t}},{key:"setOptions",value:function(t){var e=this,o=arguments.length<=1||void 0===arguments[1]?!0:arguments[1],n={offset:"0 0",targetOffset:"0 0",targetAttachment:"auto auto",classPrefix:"tether"};this.options=h(n,t);var i=this.options,s=i.element,a=i.target,f=i.targetModifier;if(this.element=s,this.target=a,this.targetModifier=f,"viewport"===this.target?(this.target=document.body,this.targetModifier="visible"):"scroll-handle"===this.target&&(this.target=document.body,this.targetModifier="scroll-handle"),["element","target"].forEach(function(t){if("undefined"==typeof e[t])throw new Error("Tether Error: Both element and target must be defined");"undefined"!=typeof e[t].jquery?e[t]=e[t][0]:"string"==typeof e[t]&&(e[t]=document.querySelector(e[t]))}),u(this.element,this.getClass("element")),this.options.addTargetClasses!==!1&&u(this.target,this.getClass("target")),!this.options.attachment)throw new Error("Tether Error: You must provide an attachment");this.targetAttachment=q(this.options.targetAttachment),this.attachment=q(this.options.attachment),this.offset=R(this.options.offset),this.targetOffset=R(this.options.targetOffset),"undefined"!=typeof this.scrollParents&&this.disable(),"scroll-handle"===this.targetModifier?this.scrollParents=[this.target]:this.scrollParents=r(this.target),this.options.enabled!==!1&&this.enable(o)}},{key:"getTargetBounds",value:function(){if("undefined"==typeof this.targetModifier)return a(this.target);if("visible"===this.targetModifier){if(this.target===document.body)return{top:pageYOffset,left:pageXOffset,height:innerHeight,width:innerWidth};var t=a(this.target),e={height:t.height,width:t.width,top:t.top,left:t.left};return e.height=Math.min(e.height,t.height-(pageYOffset-t.top)),e.height=Math.min(e.height,t.height-(t.top+t.height-(pageYOffset+innerHeight))),e.height=Math.min(innerHeight,e.height),e.height-=2,e.width=Math.min(e.width,t.width-(pageXOffset-t.left)),e.width=Math.min(e.width,t.width-(t.left+t.width-(pageXOffset+innerWidth))),e.width=Math.min(innerWidth,e.width),e.width-=2,e.top<pageYOffset&&(e.top=pageYOffset),e.left<pageXOffset&&(e.left=pageXOffset),e}if("scroll-handle"===this.targetModifier){var t=void 0,o=this.target;o===document.body?(o=document.documentElement,t={left:pageXOffset,top:pageYOffset,height:innerHeight,width:innerWidth}):t=a(o);var n=getComputedStyle(o),i=o.scrollWidth>o.clientWidth||[n.overflow,n.overflowX].indexOf("scroll")>=0||this.target!==document.body,r=0;i&&(r=15);var s=t.height-parseFloat(n.borderTopWidth)-parseFloat(n.borderBottomWidth)-r,e={width:15,height:.975*s*(s/o.scrollHeight),left:t.left+t.width-parseFloat(n.borderLeftWidth)-15},f=0;408>s&&this.target===document.body&&(f=-11e-5*Math.pow(s,2)-.00727*s+22.58),this.target!==document.body&&(e.height=Math.max(e.height,24));var l=this.target.scrollTop/(o.scrollHeight-s);return e.top=l*(s-e.height-f)+t.top+parseFloat(n.borderTopWidth),this.target===document.body&&(e.height=Math.max(e.height,24)),e}}},{key:"clearCache",value:function(){this._cache={}}},{key:"cache",value:function(t,e){return"undefined"==typeof this._cache&&(this._cache={}),"undefined"==typeof this._cache[t]&&(this._cache[t]=e.call(this)),this._cache[t]}},{key:"enable",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?!0:arguments[0];this.options.addTargetClasses!==!1&&u(this.target,this.getClass("enabled")),u(this.element,this.getClass("enabled")),this.enabled=!0,this.scrollParents.forEach(function(e){e!==t.target.ownerDocument&&e.addEventListener("scroll",t.position)}),e&&this.position()}},{key:"disable",value:function(){var t=this;d(this.target,this.getClass("enabled")),d(this.element,this.getClass("enabled")),this.enabled=!1,"undefined"!=typeof this.scrollParents&&this.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.position)})}},{key:"destroy",value:function(){var t=this;this.disable(),D.forEach(function(e,o){e===t&&D.splice(o,1)}),0===D.length&&s()}},{key:"updateAttachClasses",value:function(t,e){var o=this;t=t||this.attachment,e=e||this.targetAttachment;var n=["left","top","bottom","right","middle","center"];"undefined"!=typeof this._addAttachClasses&&this._addAttachClasses.length&&this._addAttachClasses.splice(0,this._addAttachClasses.length),"undefined"==typeof this._addAttachClasses&&(this._addAttachClasses=[]);var i=this._addAttachClasses;t.top&&i.push(this.getClass("element-attached")+"-"+t.top),t.left&&i.push(this.getClass("element-attached")+"-"+t.left),e.top&&i.push(this.getClass("target-attached")+"-"+e.top),e.left&&i.push(this.getClass("target-attached")+"-"+e.left);var r=[];n.forEach(function(t){r.push(o.getClass("element-attached")+"-"+t),r.push(o.getClass("target-attached")+"-"+t)}),k(function(){"undefined"!=typeof o._addAttachClasses&&(m(o.element,o._addAttachClasses,r),o.options.addTargetClasses!==!1&&m(o.target,o._addAttachClasses,r),delete o._addAttachClasses)})}},{key:"position",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?!0:arguments[0];if(this.enabled){this.clearCache();var o=U(this.targetAttachment,this.attachment);this.updateAttachClasses(this.attachment,o);var n=this.cache("element-bounds",function(){return a(t.element)}),i=n.width,r=n.height;if(0===i&&0===r&&"undefined"!=typeof this.lastSize){var s=this.lastSize;i=s.width,r=s.height}else this.lastSize={width:i,height:r};var h=this.cache("target-bounds",function(){return t.getTargetBounds()}),d=h,u=C(V(this.attachment),{width:i,height:r}),p=C(V(o),d),c=C(this.offset,{width:i,height:r}),g=C(this.targetOffset,d);u=w(u,c),p=w(p,g);for(var m=h.left+p.left-u.left,v=h.top+p.top-u.top,y=0;y<x.modules.length;++y){var b=x.modules[y],O=b.position.call(this,{left:m,top:v,targetAttachment:o,targetPos:h,elementPos:n,offset:u,targetOffset:p,manualOffset:c,manualTargetOffset:g,scrollbarSize:S,attachment:this.attachment});if(O===!1)return!1;"undefined"!=typeof O&&"object"==typeof O&&(v=O.top,m=O.left)}var E={page:{top:v,left:m},viewport:{top:v-pageYOffset,bottom:pageYOffset-v-r+innerHeight,left:m-pageXOffset,right:pageXOffset-m-i+innerWidth}},A=this.target.ownerDocument,T=A.defaultView,S=void 0;return T.innerHeight>A.documentElement.clientHeight&&(S=this.cache("scrollbar-size",l),E.viewport.bottom-=S.height),T.innerWidth>A.documentElement.clientWidth&&(S=this.cache("scrollbar-size",l),E.viewport.right-=S.width),(-1===["","static"].indexOf(A.body.style.position)||-1===["","static"].indexOf(A.body.parentElement.style.position))&&(E.page.bottom=A.body.scrollHeight-v-r,E.page.right=A.body.scrollWidth-m-i),"undefined"!=typeof this.options.optimizations&&this.options.optimizations.moveElement!==!1&&"undefined"==typeof this.targetModifier&&!function(){var e=t.cache("target-offsetparent",function(){return f(t.target)}),o=t.cache("target-offsetparent-bounds",function(){return a(e)}),n=getComputedStyle(e),i=o,r={};if(["Top","Left","Bottom","Right"].forEach(function(t){r[t.toLowerCase()]=parseFloat(n["border"+t+"Width"])}),o.right=A.body.scrollWidth-o.left-i.width+r.right,o.bottom=A.body.scrollHeight-o.top-i.height+r.bottom,E.page.top>=o.top+r.top&&E.page.bottom>=o.bottom&&E.page.left>=o.left+r.left&&E.page.right>=o.right){var s=e.scrollTop,l=e.scrollLeft;E.offset={top:E.page.top-o.top+s-r.top,left:E.page.left-o.left+l-r.left}}}(),this.move(E),this.history.unshift(E),this.history.length>3&&this.history.pop(),e&&_(),!0}}},{key:"move",value:function(t){var e=this;if("undefined"!=typeof this.element.parentNode){var o={};for(var n in t){o[n]={};for(var i in t[n]){for(var r=!1,s=0;s<this.history.length;++s){var a=this.history[s];if("undefined"!=typeof a[n]&&!y(a[n][i],t[n][i])){r=!0;break}}r||(o[n][i]=!0)}}var l={top:"",left:"",right:"",bottom:""},d=function(t,o){var n="undefined"!=typeof e.options.optimizations,i=n?e.options.optimizations.gpu:null;if(i!==!1){var r=void 0,s=void 0;if(t.top?(l.top=0,r=o.top):(l.bottom=0,r=-o.bottom),t.left?(l.left=0,s=o.left):(l.right=0,s=-o.right),window.matchMedia){var a=window.matchMedia("only screen and (min-resolution: 1.3dppx)").matches||window.matchMedia("only screen and (-webkit-min-device-pixel-ratio: 1.3)").matches;a||(s=Math.round(s),r=Math.round(r))}l[L]="translateX("+s+"px) translateY("+r+"px)","msTransform"!==L&&(l[L]+=" translateZ(0)")}else t.top?l.top=o.top+"px":l.bottom=o.bottom+"px",t.left?l.left=o.left+"px":l.right=o.right+"px"},u=!1;if((o.page.top||o.page.bottom)&&(o.page.left||o.page.right)?(l.position="absolute",d(o.page,t.page)):(o.viewport.top||o.viewport.bottom)&&(o.viewport.left||o.viewport.right)?(l.position="fixed",d(o.viewport,t.viewport)):"undefined"!=typeof o.offset&&o.offset.top&&o.offset.left?!function(){l.position="absolute";var n=e.cache("target-offsetparent",function(){return f(e.target)});f(e.element)!==n&&k(function(){e.element.parentNode.removeChild(e.element),n.appendChild(e.element)}),d(o.offset,t.offset),u=!0}():(l.position="absolute",d({top:!0,left:!0},t.page)),!u){for(var p=!0,c=this.element.parentNode;c&&1===c.nodeType&&"BODY"!==c.tagName;){if("static"!==getComputedStyle(c).position){p=!1;break}c=c.parentNode}p||(this.element.parentNode.removeChild(this.element),this.element.ownerDocument.body.appendChild(this.element))}var g={},m=!1;for(var i in l){var v=l[i],b=this.element.style[i];b!==v&&(m=!0,g[i]=v)}m&&k(function(){h(e.element.style,g),e.trigger("repositioned")})}}}]),e}(B);I.modules=[],x.position=X;var $=h(I,x),z=function(){function t(t,e){var o=[],n=!0,i=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);n=!0);}catch(f){i=!0,r=f}finally{try{!n&&a["return"]&&a["return"]()}finally{if(i)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),Y=x.Utils,a=Y.getBounds,h=Y.extend,m=Y.updateClasses,k=Y.defer,G=["left","top","right","bottom"];x.modules.push({position:function(t){var e=this,o=t.top,n=t.left,i=t.targetAttachment;if(!this.options.constraints)return!0;var r=this.cache("element-bounds",function(){return a(e.element)}),s=r.height,f=r.width;if(0===f&&0===s&&"undefined"!=typeof this.lastSize){var l=this.lastSize;f=l.width,s=l.height}var d=this.cache("target-bounds",function(){return e.getTargetBounds()}),u=d.height,p=d.width,c=[this.getClass("pinned"),this.getClass("out-of-bounds")];this.options.constraints.forEach(function(t){var e=t.outOfBoundsClass,o=t.pinnedClass;e&&c.push(e),o&&c.push(o)}),c.forEach(function(t){["left","top","right","bottom"].forEach(function(e){c.push(t+"-"+e)})});var g=[],v=h({},i),y=h({},this.attachment);return this.options.constraints.forEach(function(t){var r=t.to,a=t.attachment,l=t.pin;"undefined"==typeof a&&(a="");var h=void 0,d=void 0;if(a.indexOf(" ")>=0){var c=a.split(" "),m=z(c,2);d=m[0],h=m[1]}else h=d=a;var b=O(e,r);("target"===d||"both"===d)&&(o<b[1]&&"top"===v.top&&(o+=u,v.top="bottom"),o+s>b[3]&&"bottom"===v.top&&(o-=u,v.top="top")),"together"===d&&("top"===v.top&&("bottom"===y.top&&o<b[1]?(o+=u,v.top="bottom",o+=s,y.top="top"):"top"===y.top&&o+s>b[3]&&o-(s-u)>=b[1]&&(o-=s-u,v.top="bottom",y.top="bottom")),"bottom"===v.top&&("top"===y.top&&o+s>b[3]?(o-=u,v.top="top",o-=s,y.top="bottom"):"bottom"===y.top&&o<b[1]&&o+(2*s-u)<=b[3]&&(o+=s-u,v.top="top",y.top="top")),"middle"===v.top&&(o+s>b[3]&&"top"===y.top?(o-=s,y.top="bottom"):o<b[1]&&"bottom"===y.top&&(o+=s,y.top="top"))),("target"===h||"both"===h)&&(n<b[0]&&"left"===v.left&&(n+=p,v.left="right"),n+f>b[2]&&"right"===v.left&&(n-=p,v.left="left")),"together"===h&&(n<b[0]&&"left"===v.left?"right"===y.left?(n+=p,v.left="right",n+=f,y.left="left"):"left"===y.left&&(n+=p,v.left="right",n-=f,y.left="right"):n+f>b[2]&&"right"===v.left?"left"===y.left?(n-=p,v.left="left",n-=f,y.left="right"):"right"===y.left&&(n-=p,v.left="left",n+=f,y.left="left"):"center"===v.left&&(n+f>b[2]&&"left"===y.left?(n-=f,y.left="right"):n<b[0]&&"right"===y.left&&(n+=f,y.left="left"))),("element"===d||"both"===d)&&(o<b[1]&&"bottom"===y.top&&(o+=s,y.top="top"),o+s>b[3]&&"top"===y.top&&(o-=s,y.top="bottom")),("element"===h||"both"===h)&&(n<b[0]&&("right"===y.left?(n+=f,y.left="left"):"center"===y.left&&(n+=f/2,y.left="left")),n+f>b[2]&&("left"===y.left?(n-=f,y.left="right"):"center"===y.left&&(n-=f/2,y.left="right"))),"string"==typeof l?l=l.split(",").map(function(t){return t.trim()}):l===!0&&(l=["top","left","right","bottom"]),l=l||[];var w=[],C=[];o<b[1]&&(l.indexOf("top")>=0?(o=b[1],w.push("top")):C.push("top")),o+s>b[3]&&(l.indexOf("bottom")>=0?(o=b[3]-s,w.push("bottom")):C.push("bottom")),n<b[0]&&(l.indexOf("left")>=0?(n=b[0],w.push("left")):C.push("left")),n+f>b[2]&&(l.indexOf("right")>=0?(n=b[2]-f,w.push("right")):C.push("right")),w.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.pinnedClass?e.options.pinnedClass:e.getClass("pinned"),g.push(t),w.forEach(function(e){g.push(t+"-"+e)})}(),C.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.outOfBoundsClass?e.options.outOfBoundsClass:e.getClass("out-of-bounds"),g.push(t),C.forEach(function(e){g.push(t+"-"+e)})}(),(w.indexOf("left")>=0||w.indexOf("right")>=0)&&(y.left=v.left=!1),(w.indexOf("top")>=0||w.indexOf("bottom")>=0)&&(y.top=v.top=!1),(v.top!==i.top||v.left!==i.left||y.top!==e.attachment.top||y.left!==e.attachment.left)&&(e.updateAttachClasses(y,v),e.trigger("update",{attachment:y,targetAttachment:v}))}),k(function(){e.options.addTargetClasses!==!1&&m(e.target,g,c),m(e.element,g,c)}),{top:o,left:n}}});var Y=x.Utils,a=Y.getBounds,m=Y.updateClasses,k=Y.defer;x.modules.push({position:function(t){var e=this,o=t.top,n=t.left,i=this.cache("element-bounds",function(){return a(e.element)}),r=i.height,s=i.width,f=this.getTargetBounds(),l=o+r,h=n+s,d=[];o<=f.bottom&&l>=f.top&&["left","right"].forEach(function(t){var e=f[t];(e===n||e===h)&&d.push(t)}),n<=f.right&&h>=f.left&&["top","bottom"].forEach(function(t){var e=f[t];(e===o||e===l)&&d.push(t)});var u=[],p=[],c=["left","top","right","bottom"];return u.push(this.getClass("abutted")),c.forEach(function(t){u.push(e.getClass("abutted")+"-"+t)}),d.length&&p.push(this.getClass("abutted")),d.forEach(function(t){p.push(e.getClass("abutted")+"-"+t)}),k(function(){e.options.addTargetClasses!==!1&&m(e.target,p,u),m(e.element,p,u)}),!0}});var z=function(){function t(t,e){var o=[],n=!0,i=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);n=!0);}catch(f){i=!0,r=f}finally{try{!n&&a["return"]&&a["return"]()}finally{if(i)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();return x.modules.push({position:function(t){var e=t.top,o=t.left;if(this.options.shift){var n=this.options.shift;"function"==typeof this.options.shift&&(n=this.options.shift.call(this,{top:e,left:o}));var i=void 0,r=void 0;if("string"==typeof n){n=n.split(" "),n[1]=n[1]||n[0];var s=n,a=z(s,2);i=a[0],r=a[1],i=parseFloat(i,10),r=parseFloat(r,10)}else i=n.top,r=n.left;return e+=i,o+=r,{top:e,left:o}}}}),$}); \ No newline at end of file
diff --git a/docs/assets/scss/_booticon.scss b/docs/assets/scss/_booticon.scss
deleted file mode 100644
index dd4989847..000000000
--- a/docs/assets/scss/_booticon.scss
+++ /dev/null
@@ -1,25 +0,0 @@
-//
-// Bootstrap "B" Booticon
-//
-
-.bd-booticon {
- display: block;
- width: 9rem;
- height: 9rem;
- font-size: 6.5rem;
- line-height: 9rem;
- color: #fff;
- text-align: center;
- cursor: default;
- background-color: $bd-purple;
- border-radius: 15%;
-
- &.inverse {
- color: $bd-purple;
- background-color: #fff;
- }
- &.outline {
- background-color: transparent;
- border: 1px solid $bd-purple-light;
- }
-}
diff --git a/docs/assets/scss/_clipboard-js.scss b/docs/assets/scss/_clipboard-js.scss
index cc3176a99..e27d1d4f8 100644
--- a/docs/assets/scss/_clipboard-js.scss
+++ b/docs/assets/scss/_clipboard-js.scss
@@ -23,6 +23,7 @@
color: #818a91;
cursor: pointer;
background-color: transparent;
+ border: 0;
border-radius: .25rem;
&:hover {
diff --git a/docs/assets/scss/_component-examples.scss b/docs/assets/scss/_component-examples.scss
index a9c12a9c8..84dc45781 100644
--- a/docs/assets/scss/_component-examples.scss
+++ b/docs/assets/scss/_component-examples.scss
@@ -37,6 +37,40 @@
border: 1px solid rgba($bd-purple, .15);
}
+// Grid mixins
+.example-container {
+ width: 800px;
+ @include make-container();
+}
+
+.example-row {
+ @include make-row();
+}
+
+.example-content-main {
+ @include make-col-ready();
+
+ @include media-breakpoint-up(sm) {
+ @include make-col(6);
+ }
+
+ @include media-breakpoint-up(lg) {
+ @include make-col(8);
+ }
+}
+
+.example-content-secondary {
+ @include make-col-ready();
+
+ @include media-breakpoint-up(sm) {
+ @include make-col(6);
+ }
+
+ @include media-breakpoint-up(lg) {
+ @include make-col(4);
+ }
+}
+
//
// Container illustrations
@@ -83,7 +117,7 @@
.bd-example {
position: relative;
padding: 1rem;
- margin: 1rem -1rem;
+ margin: 1rem (-$grid-gutter-width-base / 2);
border: solid #f7f7f9;
border-width: .2rem 0 0;
@include clearfix();
@@ -203,20 +237,22 @@
// Navbars
.bd-example {
- .navbar-fixed-top {
+ .fixed-top,
+ .sticky-top {
position: static;
margin: -1rem -1rem 1rem;
}
- .navbar-fixed-bottom {
+ .fixed-bottom {
position: static;
margin: 1rem -1rem -1rem;
}
@include media-breakpoint-up(sm) {
- .navbar-fixed-top {
+ .fixed-top,
+ .sticky-top {
margin: -1.5rem -1.5rem 1rem;
}
- .navbar-fixed-bottom {
+ .fixed-bottom {
margin: 1rem -1.5rem -1.5rem;
}
}
@@ -249,17 +285,6 @@
}
}
-// Example dropdowns
-.bd-example > .dropdown > .dropdown-toggle {
- float: left;
-}
-.bd-example > .dropdown > .dropdown-menu {
- position: static;
- display: block;
- margin-bottom: .25rem;
- clear: left;
-}
-
// Example tabbable tabs
.bd-example-tabs .nav-tabs {
margin-bottom: 1rem;
@@ -273,6 +298,18 @@
margin-top: .25rem;
margin-bottom: .25rem;
}
+.bs-tooltip-top-docs,
+.bs-tooltip-bottom-docs {
+ .arrow {
+ left: 50%;
+ }
+}
+.bs-tooltip-right-docs,
+.bs-tooltip-left-docs {
+ .arrow {
+ top: 50%;
+ }
+}
// Popovers
.bd-example-popover-static {
@@ -286,6 +323,18 @@
width: 260px;
margin: 1.25rem;
}
+.bs-popover-top-docs,
+.bs-popover-bottom-docs {
+ .arrow {
+ left: 50%;
+ }
+}
+.bs-popover-right-docs,
+.bs-popover-left-docs {
+ .arrow {
+ top: 50%;
+ }
+}
// Tooltips
.tooltip-demo a {
@@ -307,6 +356,12 @@
overflow: auto;
}
+.scrollspy-example-2 {
+ position: relative;
+ height: 350px;
+ overflow: auto;
+}
+
// Helpers
.bd-example > {
.bg-primary,
@@ -343,6 +398,7 @@
padding: 1rem;
margin: 1rem (-$grid-gutter-width-base / 2);
background-color: #f7f7f9;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
@include media-breakpoint-up(sm) {
padding: 1.5rem;
diff --git a/docs/assets/scss/_content.scss b/docs/assets/scss/_content.scss
index b08477b7f..335bfba07 100644
--- a/docs/assets/scss/_content.scss
+++ b/docs/assets/scss/_content.scss
@@ -6,11 +6,15 @@
.bd-content {
> table {
- display: block;
width: 100%;
max-width: 100%;
- margin-bottom: $spacer;
- overflow-y: auto;
+ margin-bottom: 1rem;
+
+ @include media-breakpoint-down(md) {
+ display: block;
+ overflow-x: auto;
+ -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
+ }
// Cells
> thead,
diff --git a/docs/assets/scss/_footer.scss b/docs/assets/scss/_footer.scss
index 237a90d32..e7ffac480 100644
--- a/docs/assets/scss/_footer.scss
+++ b/docs/assets/scss/_footer.scss
@@ -13,7 +13,8 @@
font-weight: 500;
color: $gray;
- &:hover {
+ &:hover,
+ &:focus {
color: $link-color;
}
}
diff --git a/docs/assets/scss/_masthead.scss b/docs/assets/scss/_masthead.scss
index 94d0cb6f0..faa0954f5 100644
--- a/docs/assets/scss/_masthead.scss
+++ b/docs/assets/scss/_masthead.scss
@@ -40,7 +40,8 @@
color: $bd-yellow;
border-color: $bd-yellow;
- &:hover {
+ &:hover,
+ &:focus {
color: $bd-graphite;
background-color: $bd-yellow;
border-color: $bd-yellow;
diff --git a/docs/assets/scss/_responsive-tests.scss b/docs/assets/scss/_responsive-tests.scss
index 7b1b500b3..9656a2bc3 100644
--- a/docs/assets/scss/_responsive-tests.scss
+++ b/docs/assets/scss/_responsive-tests.scss
@@ -10,86 +10,8 @@
}
// Utility classes table
-.bd-table th small,
-.responsive-utilities th small {
+.bd-table th small {
display: block;
font-weight: normal;
color: #999;
}
-.responsive-utilities tbody th {
- font-weight: normal;
-}
-.responsive-utilities td {
- text-align: center;
-}
-.responsive-utilities .is-visible {
- color: #468847;
- background-color: #dff0d8 !important;
-}
-.responsive-utilities .is-hidden {
- color: #ccc;
- background-color: #f9f9f9 !important;
-}
-
-// Responsive tests
-.responsive-utilities-test {
- margin-top: .25rem;
-}
-.responsive-utilities-test .col-6 {
- margin-top: .5rem;
- margin-bottom: .5rem;
-}
-.responsive-utilities-test span {
- display: block;
- padding: 1rem .5rem;
- font-size: 1rem;
- font-weight: bold;
- line-height: 1.1;
- text-align: center;
- border-radius: .25rem;
-}
-.visible-on,
-.hidden-on {
- .col-6 {
- > .not-visible {
- color: #999;
- border: 1px solid #ddd;
- }
- }
-}
-.visible-on,
-.hidden-on {
- .col-6 {
- .visible {
- color: #468847;
- background-color: #dff0d8;
- border: 1px solid #d6e9c6;
- }
- }
-}
-
-@include media-breakpoint-only(xs) {
- .hidden-xs-only {
- display: none !important;
- }
-}
-@include media-breakpoint-only(sm) {
- .hidden-sm-only {
- display: none !important;
- }
-}
-@include media-breakpoint-only(md) {
- .hidden-md-only {
- display: none !important;
- }
-}
-@include media-breakpoint-only(lg) {
- .hidden-lg-only {
- display: none !important;
- }
-}
-@include media-breakpoint-only(xl) {
- .hidden-xl-only {
- display: none !important;
- }
-}
diff --git a/docs/assets/scss/_team.scss b/docs/assets/scss/_team.scss
index 47516277a..5f6229bd3 100644
--- a/docs/assets/scss/_team.scss
+++ b/docs/assets/scss/_team.scss
@@ -6,8 +6,12 @@
color: #555;
}
- .team-member:hover {
+ .team-member:hover,
+ .team-member:focus {
color: #333;
+ }
+
+ .team-member:hover {
text-decoration: none;
}
diff --git a/docs/assets/scss/docs.scss b/docs/assets/scss/docs.scss
index c55657af3..77626ef1e 100644
--- a/docs/assets/scss/docs.scss
+++ b/docs/assets/scss/docs.scss
@@ -1,7 +1,7 @@
/*!
* Bootstrap Docs (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors
- * Copyright 2011-2016 Twitter, Inc.
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see https://creativecommons.org/licenses/by/3.0/.
*/
@@ -39,7 +39,6 @@ $bd-warning: #f0ad4e;
$bd-info: #5bc0de;
// Load docs components
-@import "booticon";
@import "nav";
@import "masthead";
@import "featurettes";
diff --git a/docs/browser-bugs.md b/docs/browser-bugs.md
index bc7356021..f02cb9a37 100644
--- a/docs/browser-bugs.md
+++ b/docs/browser-bugs.md
@@ -15,28 +15,26 @@ See also:
* [WebKit bug 159753: [meta] Issues affecting Bootstrap](https://bugs.webkit.org/show_bug.cgi?id=159753)
* [jQuery's browser bug workarounds](https://docs.google.com/document/d/1LPaPA30bLUB_publLIMF0RlhdnPx_ePXm7oW02iiT6o)
-<div class="table-responsive">
- <table class="bd-browser-bugs table table-bordered table-hover">
- <thead>
- <tr>
- <th>Browser(s)</th>
- <th>Summary of bug</th>
- <th>Upstream bug(s)</th>
- <th>Bootstrap issue(s)</th>
- </tr>
- </thead>
- <tbody>
- {% for bug in site.data.browser-bugs %}
- <tr>
- <td>{{ bug.browser }}</td>
- <td>{{ bug.summary | markdownify | bugify }}</td>
- <td>{{ bug.upstream_bug | bugify }}</td>
- <td>{{ bug.origin | bugify }}</td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
-</div>
+<table class="bd-browser-bugs table table-bordered table-hover table-responsive">
+ <thead>
+ <tr>
+ <th>Browser(s)</th>
+ <th>Summary of bug</th>
+ <th>Upstream bug(s)</th>
+ <th>Bootstrap issue(s)</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for bug in site.data.browser-bugs %}
+ <tr>
+ <td>{{ bug.browser }}</td>
+ <td>{{ bug.summary | markdownify | bugify }}</td>
+ <td>{{ bug.upstream_bug | bugify }}</td>
+ <td>{{ bug.origin | bugify }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+</table>
# Most wanted features
@@ -44,25 +42,23 @@ There are several features specified in Web standards which would allow us to ma
We publicly list these "most wanted" feature requests here, in the hopes of expediting the process of getting them implemented.
-<div class="table-responsive">
- <table class="bd-browser-bugs table table-bordered table-hover">
- <thead>
- <tr>
- <th>Browser(s)</th>
- <th>Summary of feature</th>
- <th>Upstream issue(s)</th>
- <th>Bootstrap issue(s)</th>
- </tr>
- </thead>
- <tbody>
- {% for feat in site.data.browser-features %}
- <tr>
- <td>{{ feat.browser }}</td>
- <td>{{ feat.summary | markdownify | bugify }}</td>
- <td>{{ feat.upstream_bug | bugify }}</td>
- <td>{{ feat.origin | bugify }}</td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
-</div>
+<table class="bd-browser-bugs table table-bordered table-hover table-responsive">
+ <thead>
+ <tr>
+ <th>Browser(s)</th>
+ <th>Summary of feature</th>
+ <th>Upstream issue(s)</th>
+ <th>Bootstrap issue(s)</th>
+ </tr>
+ </thead>
+ <tbody>
+ {% for feat in site.data.browser-features %}
+ <tr>
+ <td>{{ feat.browser }}</td>
+ <td>{{ feat.summary | markdownify | bugify }}</td>
+ <td>{{ feat.upstream_bug | bugify }}</td>
+ <td>{{ feat.origin | bugify }}</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+</table>
diff --git a/docs/components/alerts.md b/docs/components/alerts.md
index da72e322e..dae4ec7d3 100644
--- a/docs/components/alerts.md
+++ b/docs/components/alerts.md
@@ -55,12 +55,13 @@ Use the `.alert-link` utility class to quickly provide matching colored links wi
### Additional content
-Alerts can also contain additional HTML elements like headings and paragraphs.
+Alerts can also contain additional HTML elements like headings, paragraphs and dividers.
{% example html %}
<div class="alert alert-success" role="alert">
<h4 class="alert-heading">Well done!</h4>
<p>Aww yeah, you successfully read this important alert message. This example text is going to run a bit longer so that you can see how spacing within an alert works with this kind of content.</p>
+ <hr>
<p class="mb-0">Whenever you need to, be sure to use margin utilities to keep things nice and tidy.</p>
</div>
{% endexample %}
diff --git a/docs/components/badge.md b/docs/components/badge.md
index 4e4bafcde..a7497a285 100644
--- a/docs/components/badge.md
+++ b/docs/components/badge.md
@@ -1,7 +1,7 @@
---
layout: docs
title: Badges
-description: Documentation and examples for badges, our small count and labelling component.
+description: Documentation and examples for badges, our small count and labeling component.
group: components
---
@@ -53,3 +53,16 @@ Use the `.badge-pill` modifier class to make badges more rounded (with a larger
<span class="badge badge-pill badge-warning">Warning</span>
<span class="badge badge-pill badge-danger">Danger</span>
{% endexample %}
+
+## Links
+
+Using the `.badge` classes with the `<a>` element quickly provide _actionable_ badges with hover and focus states.
+
+{% example html %}
+<a href="#" class="badge badge-default">Default</a>
+<a href="#" class="badge badge-primary">Primary</a>
+<a href="#" class="badge badge-success">Success</a>
+<a href="#" class="badge badge-info">Info</a>
+<a href="#" class="badge badge-warning">Warning</a>
+<a href="#" class="badge badge-danger">Danger</a>
+{% endexample %}
diff --git a/docs/components/button-group.md b/docs/components/button-group.md
index 59a18e262..d2d5140ed 100644
--- a/docs/components/button-group.md
+++ b/docs/components/button-group.md
@@ -12,6 +12,14 @@ Group a series of buttons together on a single line with the button group. Add o
* Will be replaced with the ToC, excluding the "Contents" header
{:toc}
+{% callout warning %}
+## 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"`.
+
+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.
+{% endcallout %}
+
## Basic example
Wrap a series of buttons with `.btn` in `.btn-group`.
@@ -59,7 +67,7 @@ Feel free to mix input groups with button groups in your toolbars. Similar to th
</div>
<div class="input-group">
<span class="input-group-addon" id="btnGroupAddon">@</span>
- <input type="text" class="form-control" placeholder="Input group example" aria-describedby="btnGroupAddon">
+ <input type="text" class="form-control" placeholder="Input group example" aria-label="Input group example" aria-describedby="btnGroupAddon">
</div>
</div>
@@ -72,7 +80,7 @@ Feel free to mix input groups with button groups in your toolbars. Similar to th
</div>
<div class="input-group">
<span class="input-group-addon" id="btnGroupAddon2">@</span>
- <input type="text" class="form-control" placeholder="Input group example" aria-describedby="btnGroupAddon2">
+ <input type="text" class="form-control" placeholder="Input group example" aria-label="Input group example" aria-describedby="btnGroupAddon2">
</div>
</div>
{% endexample %}
diff --git a/docs/components/buttons.md b/docs/components/buttons.md
index fdec395de..7f701d90a 100644
--- a/docs/components/buttons.md
+++ b/docs/components/buttons.md
@@ -151,13 +151,13 @@ Note that pre-checked buttons require you to manually add the `.active` class to
{% example html %}
<div class="btn-group" data-toggle="buttons">
- <label class="btn btn-primary active">
+ <label class="btn btn-secondary active">
<input type="checkbox" checked autocomplete="off"> Checkbox 1 (pre-checked)
</label>
- <label class="btn btn-primary">
+ <label class="btn btn-secondary">
<input type="checkbox" autocomplete="off"> Checkbox 2
</label>
- <label class="btn btn-primary">
+ <label class="btn btn-secondary">
<input type="checkbox" autocomplete="off"> Checkbox 3
</label>
</div>
@@ -165,13 +165,13 @@ Note that pre-checked buttons require you to manually add the `.active` class to
{% example html %}
<div class="btn-group" data-toggle="buttons">
- <label class="btn btn-primary active">
+ <label class="btn btn-secondary active">
<input type="radio" name="options" id="option1" autocomplete="off" checked> Radio 1 (preselected)
</label>
- <label class="btn btn-primary">
+ <label class="btn btn-secondary">
<input type="radio" name="options" id="option2" autocomplete="off"> Radio 2
</label>
- <label class="btn btn-primary">
+ <label class="btn btn-secondary">
<input type="radio" name="options" id="option3" autocomplete="off"> Radio 3
</label>
</div>
diff --git a/docs/components/card.md b/docs/components/card.md
index 4e8c11026..74debae44 100644
--- a/docs/components/card.md
+++ b/docs/components/card.md
@@ -1,7 +1,7 @@
---
layout: docs
title: Cards
-description: Bootstrap Cards provide a flexible and extensible content container with multiple variants and options.
+description: Bootstrap's cards provide a flexible and extensible content container with multiple variants and options.
group: components
---
@@ -18,7 +18,7 @@ If you're familiar with Bootstrap 3, cards replace our old panels, wells, and th
Cards are built with as little markup and styles as possible, but still manage to deliver a ton of control and customization. Built with flexbox, they offer easy alignment and mix well with other Bootstrap components.
-Below is an example of a basic card with mixed content and a fixed width. Cards have no fixed width to start, so they'll naturally fill the full width of it's parent element. This is easily customized with our various [sizing options](#sizing).
+Below is an example of a basic card with mixed content and a fixed width. Cards have no fixed width to start, so they'll naturally fill the full width of its parent element. This is easily customized with our various [sizing options](#sizing).
{% example html %}
<div class="card" style="width: 20rem;">
@@ -51,7 +51,7 @@ The building block of a card is the `.card-block`. Use it whenever you need a pa
Card titles are used by adding `.card-title` to a `<h*>` tag. In the same way, links are added and placed next to each other by adding `.card-link` to a `<a>` tag.
-Subtitles are used by adding a `.card-subtitle` to an `<h*>` tag. If the `.card-title` and the `.card-subtitle` items are placed in a `.card-block` item, the card title and subtitle are aligned nicely.
+Subtitles are used by adding a `.card-subtitle` to a `<h*>` tag. If the `.card-title` and the `.card-subtitle` items are placed in a `.card-block` item, the card title and subtitle are aligned nicely.
{% example html %}
<div class="card">
@@ -208,7 +208,7 @@ Using the grid, wrap cards in columns and rows as needed.
### Using utilities
-Use our handful of [available sizing utilities]({{ site.baseurl }}/utilities/sizing-and-positioning/#width-and-height) to quickly set a card's width.
+Use our handful of [available sizing utilities]({{ site.baseurl }}/utilities/sizing/) to quickly set a card's width.
{% example html %}
<div class="card w-75">
@@ -359,7 +359,7 @@ Turn an image into a card background and overlay your card's text. Depending on
<div class="card-img-overlay">
<h4 class="card-title">Card title</h4>
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
- <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p>
+ <p class="card-text">Last updated 3 mins ago</p>
</div>
</div>
{% endexample %}
@@ -376,11 +376,13 @@ You can also use `.card-inverse` with the [contextual backgrounds variants](#bac
{% example html %}
<div class="card card-inverse" style="background-color: #333; border-color: #333;">
+ <div class="card-header">Header</div>
<div class="card-block">
<h3 class="card-title">Special title treatment</h3>
<p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
+ <div class="card-footer">Footer</div>
</div>
{% endexample %}
@@ -565,7 +567,7 @@ When using card groups with footers, their content will automatically line up.
### Card decks
-Need a set of equal width and height cards that aren't attached to one another? Use card decks. By default, card decks require two wrapping elements: `.card-deck-wrapper` and a `.card-deck`. We use table styles for the sizing and the gutters on `.card-deck`. The `.card-deck-wrapper` is used to negative margin out the `border-spacing` on the `.card-deck`.
+Need a set of equal width and height cards that aren't attached to one another? Use card decks.
{% example html %}
<div class="card-deck">
@@ -642,7 +644,7 @@ Cards can be organized into [Masonry](http://masonry.desandro.com)-like columns
{% example html %}
<div class="card-columns">
<div class="card">
- <img class="card-img-top img-fluid" data-src="holder.js/100px160/" alt="Card image cap">
+ <img class="card-img-top" data-src="holder.js/100px160/" alt="Card image cap">
<div class="card-block">
<h4 class="card-title">Card title that wraps to a new line</h4>
<p class="card-text">This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
@@ -659,7 +661,7 @@ Cards can be organized into [Masonry](http://masonry.desandro.com)-like columns
</blockquote>
</div>
<div class="card">
- <img class="card-img-top img-fluid" data-src="holder.js/100px160/" alt="Card image cap">
+ <img class="card-img-top" data-src="holder.js/100px160/" alt="Card image cap">
<div class="card-block">
<h4 class="card-title">Card title</h4>
<p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
@@ -684,7 +686,7 @@ Cards can be organized into [Masonry](http://masonry.desandro.com)-like columns
</div>
</div>
<div class="card">
- <img class="card-img img-fluid" data-src="holder.js/100px260/" alt="Card image">
+ <img class="card-img" data-src="holder.js/100px260/" alt="Card image">
</div>
<div class="card p-3 text-right">
<blockquote class="card-blockquote">
diff --git a/docs/components/carousel.md b/docs/components/carousel.md
index 8dd819fba..af00dc526 100644
--- a/docs/components/carousel.md
+++ b/docs/components/carousel.md
@@ -28,15 +28,15 @@ Here's a carousel with slides only. Note the presence of the `.d-block` and `.im
{% example html %}
<div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel">
- <div class="carousel-inner" role="listbox">
+ <div class="carousel-inner">
<div class="carousel-item active">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
</div>
<div class="carousel-item">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
</div>
<div class="carousel-item">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
</div>
</div>
</div>
@@ -48,15 +48,15 @@ Adding in the previous and next controls:
{% example html %}
<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
- <div class="carousel-inner" role="listbox">
+ <div class="carousel-inner">
<div class="carousel-item active">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
</div>
<div class="carousel-item">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
</div>
<div class="carousel-item">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
@@ -81,15 +81,15 @@ You can also add the indicators to the carousel, alongside the controls, too.
<li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
</ol>
- <div class="carousel-inner" role="listbox">
+ <div class="carousel-inner">
<div class="carousel-item active">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
</div>
<div class="carousel-item">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
</div>
<div class="carousel-item">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
@@ -104,12 +104,6 @@ You can also add the indicators to the carousel, alongside the controls, too.
{% endexample %}
{% callout warning %}
-#### Transition animations not supported in Internet Explorer 9
-
-Bootstrap exclusively uses CSS3 for its animations, but Internet Explorer 9 doesn't support the necessary CSS properties. Thus, there are no slide transition animations when using that browser. We have intentionally decided not to include jQuery-based fallbacks for the transitions.
-{% endcallout %}
-
-{% callout warning %}
#### Initial active element required
The `.active` class needs to be added to one of the slides. Otherwise, the carousel will not be visible.
@@ -126,35 +120,35 @@ Add captions to your slides easily with the `.carousel-caption` element within a
<li data-target="#carouselExampleCaptions" data-slide-to="1"></li>
<li data-target="#carouselExampleCaptions" data-slide-to="2"></li>
</ol>
- <div class="carousel-inner" role="listbox">
+ <div class="carousel-inner">
<div class="carousel-item active">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
<div class="carousel-caption d-none d-md-block">
<h3>First slide label</h3>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</div>
</div>
<div class="carousel-item">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
<div class="carousel-caption d-none d-md-block">
<h3>Second slide label</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
<div class="carousel-item">
- <img class="d-block img-fluid" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
+ <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
<div class="carousel-caption d-none d-md-block">
<h3>Third slide label</h3>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
</div>
</div>
</div>
- <a class="carousel-control carousel-control-left" href="#carouselExampleCaptions" role="button" data-slide="prev">
- <span class="icon-prev" aria-hidden="true"></span>
+ <a class="carousel-control-prev" href="#carouselExampleCaptions" role="button" data-slide="prev">
+ <span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
- <a class="carousel-control carousel-control-right" href="#carouselExampleCaptions" role="button" data-slide="next">
- <span class="icon-next" aria-hidden="true"></span>
+ <a class="carousel-control-next" href="#carouselExampleCaptions" role="button" data-slide="next">
+ <span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
@@ -190,53 +184,55 @@ $('.carousel').carousel()
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-interval=""`.
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 100px;">Name</th>
- <th style="width: 50px;">Type</th>
- <th style="width: 50px;">Default</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>interval</td>
- <td>number</td>
- <td>5000</td>
- <td>The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.</td>
- </tr>
- <tr>
- <td>keyboard</td>
- <td>boolean</td>
- <td>true</td>
- <td>Whether the carousel should react to keyboard events.</td>
- </tr>
- <tr>
- <td>pause</td>
- <td>string | null</td>
- <td>"hover"</td>
- <td>If set to <code>"hover"</code>, pauses the cycling of the carousel on <code>mouseenter</code> and resumes the cycling of the carousel on <code>mouseleave</code>. If set to <code>null</code>, hovering over the carousel won't pause it.</td>
- </tr>
- <tr>
- <td>ride</td>
- <td>string</td>
- <td>false</td>
- <td>Autoplays the carousel after the user manually cycles the first item. If "carousel", autoplays the carousel on load.</td>
- </tr>
- <tr>
- <td>wrap</td>
- <td>boolean</td>
- <td>true</td>
- <td>Whether the carousel should cycle continuously or have hard stops.</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 100px;">Name</th>
+ <th style="width: 50px;">Type</th>
+ <th style="width: 50px;">Default</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>interval</td>
+ <td>number</td>
+ <td>5000</td>
+ <td>The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.</td>
+ </tr>
+ <tr>
+ <td>keyboard</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Whether the carousel should react to keyboard events.</td>
+ </tr>
+ <tr>
+ <td>pause</td>
+ <td>string | boolean</td>
+ <td>"hover"</td>
+ <td><p>If set to <code>"hover"</code>, pauses the cycling of the carousel on <code>mouseenter</code> and resumes the cycling of the carousel on <code>mouseleave</code>. If set to <code>false</code>, hovering over the carousel won't pause it.</p>
+ <p>On touch-enabled devices, when set to <code>"hover"</code>, cycling will pause on <code>touchend</code> (once the user finished interacting with the carousel) for two intervals, before automatically resuming. Note that this is in addition to the above mouse behavior.</p></td>
+ </tr>
+ <tr>
+ <td>ride</td>
+ <td>string</td>
+ <td>false</td>
+ <td>Autoplays the carousel after the user manually cycles the first item. If "carousel", autoplays the carousel on load.</td>
+ </tr>
+ <tr>
+ <td>wrap</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Whether the carousel should cycle continuously or have hard stops.</td>
+ </tr>
+ </tbody>
+</table>
### Methods
+{% capture callout-include %}{% include callout-danger-async-methods.md %}{% endcapture %}
+{{ callout-include | markdownify }}
+
#### `.carousel(options)`
Initializes the carousel with an optional options `object` and starts cycling through items.
@@ -257,15 +253,15 @@ Stops the carousel from cycling through items.
#### `.carousel(number)`
-Cycles the carousel to a particular frame (0 based, similar to an array).
+Cycles the carousel to a particular frame (0 based, similar to an array). **Returns to the caller before the target item has been shown** (i.e. before the `slid.bs.carousel` event occurs).
#### `.carousel('prev')`
-Cycles to the previous item.
+Cycles to the previous item. **Returns to the caller before the previous item has been shown** (i.e. before the `slid.bs.carousel` event occurs).
#### `.carousel('next')`
-Cycles to the next item.
+Cycles to the next item. **Returns to the caller before the next item has been shown** (i.e. before the `slid.bs.carousel` event occurs).
### Events
@@ -273,29 +269,29 @@ Bootstrap's carousel class exposes two events for hooking into carousel function
- `direction`: The direction in which the carousel is sliding (either `"left"` or `"right"`).
- `relatedTarget`: The DOM element that is being slid into place as the active item.
+- `from`: The index of the current item
+- `to`: The index of the next item
All carousel events are fired at the carousel itself (i.e. at the `<div class="carousel">`).
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 150px;">Event Type</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>slide.bs.carousel</td>
- <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
- </tr>
- <tr>
- <td>slid.bs.carousel</td>
- <td>This event is fired when the carousel has completed its slide transition.</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 150px;">Event Type</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>slide.bs.carousel</td>
+ <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
+ </tr>
+ <tr>
+ <td>slid.bs.carousel</td>
+ <td>This event is fired when the carousel has completed its slide transition.</td>
+ </tr>
+ </tbody>
+</table>
{% highlight js %}
$('#myCarousel').on('slide.bs.carousel', function () {
diff --git a/docs/components/collapse.md b/docs/components/collapse.md
index e3172fa75..65b8171bd 100644
--- a/docs/components/collapse.md
+++ b/docs/components/collapse.md
@@ -40,20 +40,20 @@ You can use a link with the `href` attribute, or a button with the `data-target`
## Accordion example
-Extend the default collapse behavior to create an accordion.
+Using the [card]({{ site.baseurl }}/components/card/) component, you can extend the default collapse behavior to create an accordion.
{% example html %}
-<div id="accordion" role="tablist" aria-multiselectable="true">
+<div id="accordion" role="tablist">
<div class="card">
<div class="card-header" role="tab" id="headingOne">
<h5 class="mb-0">
- <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
+ <a data-toggle="collapse" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Collapsible Group Item #1
</a>
</h5>
</div>
- <div id="collapseOne" class="collapse show" role="tabpanel" aria-labelledby="headingOne">
+ <div id="collapseOne" class="collapse show" role="tabpanel" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-block">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
@@ -62,12 +62,12 @@ Extend the default collapse behavior to create an accordion.
<div class="card">
<div class="card-header" role="tab" id="headingTwo">
<h5 class="mb-0">
- <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
+ <a class="collapsed" data-toggle="collapse" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Collapsible Group Item #2
</a>
</h5>
</div>
- <div id="collapseTwo" class="collapse" role="tabpanel" aria-labelledby="headingTwo">
+ <div id="collapseTwo" class="collapse" role="tabpanel" aria-labelledby="headingTwo" data-parent="#accordion">
<div class="card-block">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
@@ -76,12 +76,12 @@ Extend the default collapse behavior to create an accordion.
<div class="card">
<div class="card-header" role="tab" id="headingThree">
<h5 class="mb-0">
- <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
+ <a class="collapsed" data-toggle="collapse" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Collapsible Group Item #3
</a>
</h5>
</div>
- <div id="collapseThree" class="collapse" role="tabpanel" aria-labelledby="headingThree">
+ <div id="collapseThree" class="collapse" role="tabpanel" aria-labelledby="headingThree" data-parent="#accordion">
<div class="card-block">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
@@ -90,9 +90,36 @@ Extend the default collapse behavior to create an accordion.
</div>
{% endexample %}
+You can also create accordions with custom markup. Add the `data-children` attribute and specify a set of sibling elements to toggle (e.g., `.item`). Then, use the same attributes and classes as shown above for connectinh toggles to their associated content.
+
+{% example html %}
+<div id="exampleAccordion" data-children=".item">
+ <div class="item">
+ <a data-toggle="collapse" data-parent="#exampleAccordion" href="#exampleAccordion1" aria-expanded="true" aria-controls="exampleAccordion1">
+ Toggle item
+ </a>
+ <div id="exampleAccordion1" class="collapse show" role="tabpanel">
+ <p class="mb-3">
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed pretium lorem non vestibulum scelerisque. Proin a vestibulum sem, eget tristique massa. Aliquam lacinia rhoncus nibh quis ornare.
+ </p>
+ </div>
+ </div>
+ <div class="item">
+ <a data-toggle="collapse" data-parent="#exampleAccordion" href="#exampleAccordion2" aria-expanded="false" aria-controls="exampleAccordion2">
+ Toggle item 2
+ </a>
+ <div id="exampleAccordion2" class="collapse" role="tabpanel">
+ <p class="mb-3">
+ Donec at ipsum dignissim, rutrum turpis scelerisque, tristique lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus nec dui turpis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
+ </p>
+ </div>
+ </div>
+</div>
+{% endexample %}
+
## Accessibility
-Be sure to add `aria-expanded` to the control element. This attribute explicitly defines the current state of the collapsible element to screen readers and similar assistive technologies. If the collapsible element is closed by default, it should have a value of `aria-expanded="false"`. If you've set the collapsible element to be open by default using the `in` class, set `aria-expanded="true"` on the control instead. The plugin will automatically toggle this attribute based on whether or not the collapsible element has been opened or closed.
+Be sure to add `aria-expanded` to the control element. This attribute explicitly conveys the current state of the collapsible element tied to the control to screen readers and similar assistive technologies. If the collapsible element is closed by default, the attribute on the control element should have a value of `aria-expanded="false"`. If you've set the collapsible element to be open by default using the `show` class, set `aria-expanded="true"` on the control instead. The plugin will automatically toggle this attribute on the control based on whether or not the collapsible element has been opened or closed (via JavaScript, or because the user triggered another control element also tied to the same collapsbile element).
Additionally, if your control element is targeting a single collapsible element – i.e. the `data-target` attribute is pointing to an `id` selector – you may add an additional `aria-controls` attribute to the control element, containing the `id` of the collapsible element. Modern screen readers and similar assistive technologies make use of this attribute to provide users with additional shortcuts to navigate directly to the collapsible element itself.
@@ -110,7 +137,7 @@ These classes can be found in `_transitions.scss`.
Just add `data-toggle="collapse"` and a `data-target` to the element to automatically assign control of a collapsible element. The `data-target` attribute accepts a CSS selector to apply the collapse to. Be sure to add the class `collapse` to the collapsible element. If you'd like it to default open, add the additional class `show`.
-To add accordion-like group management to a collapsible control, add the data attribute `data-parent="#selector"`. Refer to the demo to see this in action.
+To add accordion-like group management to a collapsible area, add the data attribute `data-parent="#selector"`. Refer to the demo to see this in action.
### Via JavaScript
@@ -124,35 +151,36 @@ $('.collapse').collapse()
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-parent=""`.
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 100px;">Name</th>
- <th style="width: 50px;">Type</th>
- <th style="width: 50px;">Default</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>parent</td>
- <td>selector</td>
- <td>false</td>
- <td>If a selector is provided, then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior - this is dependent on the <code>panel</code> class)</td>
- </tr>
- <tr>
- <td>toggle</td>
- <td>boolean</td>
- <td>true</td>
- <td>Toggles the collapsible element on invocation</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 100px;">Name</th>
+ <th style="width: 50px;">Type</th>
+ <th style="width: 50px;">Default</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>parent</td>
+ <td>selector</td>
+ <td>false</td>
+ <td>If a selector is provided, then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior - this is dependent on the <code>card</code> class). The attribute has to be set on the target collapsible area.</td>
+ </tr>
+ <tr>
+ <td>toggle</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Toggles the collapsible element on invocation</td>
+ </tr>
+ </tbody>
+</table>
### Methods
+{% capture callout-include %}{% include callout-danger-async-methods.md %}{% endcapture %}
+{{ callout-include | markdownify }}
+
#### `.collapse(options)`
Activates your content as a collapsible element. Accepts an optional options `object`.
@@ -165,50 +193,46 @@ $('#myCollapsible').collapse({
#### `.collapse('toggle')`
-Toggles a collapsible element to shown or hidden.
+Toggles a collapsible element to shown or hidden. **Returns to the caller before the collapsible element has actually been shown or hidden (i.e. before the `shown.bs.collapse` or `hidden.bs.collapse` event occurs).
#### `.collapse('show')`
-Shows a collapsible element.
+Shows a collapsible element. **Returns to the caller before the collapsible element has actually been shown** (i.e. before the `shown.bs.collapse` event occurs).
#### `.collapse('hide')`
-Hides a collapsible element.
+Hides a collapsible element. **Returns to the caller before the collapsible element has actually been hidden** (i.e. before the `hidden.bs.collapse` event occurs).
### Events
Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 150px;">Event Type</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>show.bs.collapse</td>
- <td>This event fires immediately when the <code>show</code> instance method is called.</td>
- </tr>
- <tr>
- <td>shown.bs.collapse</td>
- <td>This event is fired when a collapse element has been made visible to the user (will wait for CSS transitions to complete).</td>
- </tr>
- <tr>
- <td>hide.bs.collapse</td>
- <td>
- This event is fired immediately when the <code>hide</code> method has been called.
- </td>
- </tr>
- <tr>
- <td>hidden.bs.collapse</td>
- <td>This event is fired when a collapse element has been hidden from the user (will wait for CSS transitions to complete).</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 150px;">Event Type</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>show.bs.collapse</td>
+ <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+ </tr>
+ <tr>
+ <td>shown.bs.collapse</td>
+ <td>This event is fired when a collapse element has been made visible to the user (will wait for CSS transitions to complete).</td>
+ </tr>
+ <tr>
+ <td>hide.bs.collapse</td>
+ <td>This event is fired immediately when the <code>hide</code> method has been called.</td>
+ </tr>
+ <tr>
+ <td>hidden.bs.collapse</td>
+ <td>This event is fired when a collapse element has been hidden from the user (will wait for CSS transitions to complete).</td>
+ </tr>
+ </tbody>
+</table>
{% highlight js %}
$('#myCollapsible').on('hidden.bs.collapse', function () {
diff --git a/docs/components/dropdowns.md b/docs/components/dropdowns.md
index d26de6eef..13f49a32f 100644
--- a/docs/components/dropdowns.md
+++ b/docs/components/dropdowns.md
@@ -12,16 +12,33 @@ Dropdowns are toggleable, contextual overlays for displaying lists of links and
* Will be replaced with the ToC, excluding the "Contents" header
{:toc}
+## Overview
+
+Things to know when using the popover plugin:
+
+- Dropdown rely on the 3rd party library [Popper.js](https://popper.js.org) for positioning. You must include [popper.min.js](https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js) before bootstrap.js in order for dropdowns to work!
+- Popper.js handle natively the flip of Dropdown when it's outside the viewport, if you want to disable that's behavior use `flip` attribute
+
## Examples
Wrap the dropdown's toggle (your button or link) and the dropdown menu within `.dropdown`, or another element that declares `position: relative;`. Dropdowns can be triggered from `<a>` or `<button>` elements to better fit your potential needs.
+{% callout info %}
+### Dropdown menu accessibility
+
+The [<abbr title="Web Accessibility Initiative">WAI</abbr> <abbr title="Accessible Rich Internet Applications">ARIA</abbr>](https://www.w3.org/TR/wai-aria/) standard defines an actual [`role="menu"` widget](https://www.w3.org/TR/wai-aria/roles#menu), but this is specific to application-like menus which trigger actions or functions. <abbr title="Accessible Rich Internet Applications">ARIA</abbr> menus can only contain menu items, checkbox menu items, radio button menu items, radio button groups, and sub-menus.
+
+Bootstrap's dropdowns, on the other hand, are designed to be generic and applicable to a variety of situations and markup structures. For instance, it is possible to create dropdowns that contain additional inputs and form controls, such as search fields or login forms. For this reason, Bootstrap does not expect (nor automatically add) any of the `role` and `aria-` attributes required for true <abbr title="Accessible Rich Internet Applications">ARIA</abbr> menus. Authors will have to include these more specific attributes themselves.
+
+However, Bootstrap does add built-in support for most standard keyboard menu interactions, such as the ability to move through individual `.dropdown-item` elements using the cursor keys and close the menu with the <kbd>ESC</kbd> key.
+{% endcallout %}
+
### Single button dropdowns
Any single `.btn` can be turned into a dropdown toggle with some markup changes. Here's how you can put them to work with either `<button>` elements:
{% example html %}
-<div class="dropdown show">
+<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown button
</button>
@@ -37,7 +54,7 @@ And with `<a>` elements:
{% example html %}
<div class="dropdown show">
- <a class="btn btn-secondary dropdown-toggle" href="https://example.com" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ <a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown link
</a>
@@ -252,7 +269,7 @@ Button dropdowns work with buttons of all sizes, including default and split dro
<a class="dropdown-item" href="#">Separated link</a>
</div>
</div><!-- /btn-group -->
- <div class="btn-group">
+ <div class="btn-group ml-2">
<button type="button" class="btn btn-lg btn-secondary">Large split button</button>
<button type="button" class="btn btn-lg btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
@@ -279,7 +296,7 @@ Button dropdowns work with buttons of all sizes, including default and split dro
<a class="dropdown-item" href="#">Separated link</a>
</div>
</div><!-- /btn-group -->
- <div class="btn-group">
+ <div class="btn-group ml-2">
<button type="button" class="btn btn-sm btn-secondary">Small split button</button>
<button type="button" class="btn btn-sm btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
@@ -344,34 +361,32 @@ Button dropdowns work with buttons of all sizes, including default and split dro
Trigger dropdown menus above elements by adding `.dropup` to the parent element.
<div class="bd-example">
- <div class="btn-toolbar" role="toolbar">
- <div class="btn-group dropup">
- <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- Dropup
- </button>
- <div class="dropdown-menu">
- <a class="dropdown-item" href="#">Action</a>
- <a class="dropdown-item" href="#">Another action</a>
- <a class="dropdown-item" href="#">Something else here</a>
- <div class="dropdown-divider"></div>
- <a class="dropdown-item" href="#">Separated link</a>
- </div>
+ <div class="btn-group dropup">
+ <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ Dropup
+ </button>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ <div class="dropdown-divider"></div>
+ <a class="dropdown-item" href="#">Separated link</a>
</div>
+ </div>
- <div class="btn-group dropup">
- <button type="button" class="btn btn-secondary">
- Split dropup
- </button>
- <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- <span class="sr-only">Toggle Dropdown</span>
- </button>
- <div class="dropdown-menu">
- <a class="dropdown-item" href="#">Action</a>
- <a class="dropdown-item" href="#">Another action</a>
- <a class="dropdown-item" href="#">Something else here</a>
- <div class="dropdown-divider"></div>
- <a class="dropdown-item" href="#">Separated link</a>
- </div>
+ <div class="btn-group dropup">
+ <button type="button" class="btn btn-secondary">
+ Split dropup
+ </button>
+ <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ <span class="sr-only">Toggle Dropdown</span>
+ </button>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ <div class="dropdown-divider"></div>
+ <a class="dropdown-item" href="#">Separated link</a>
</div>
</div>
</div>
@@ -407,7 +422,7 @@ Trigger dropdown menus above elements by adding `.dropup` to the parent element.
Historically dropdown menu contents *had* to be links, but that's no longer the case with v4. Now you can optionally use `<button>` elements in your dropdowns instead of just `<a>`s.
{% example html %}
-<div class="dropdown show">
+<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</button>
@@ -482,7 +497,9 @@ Add `.disabled` to items in the dropdown to **style them as disabled**.
Via data attributes or JavaScript, the dropdown plugin toggles hidden content (dropdown menus) by toggling the `.show` class on the parent list item.
-On mobile devices, opening a dropdown adds a `.dropdown-backdrop` as a tap area for closing dropdown menus when tapping outside the menu, a requirement for proper iOS support. **This means that switching from an open dropdown menu to a different dropdown menu requires an extra tap on mobile.**
+{% callout info %}
+On touch-enabled devices, opening a dropdown adds empty (`$.noop`) `mouseover` handlers to the immediate children of the `<body>` element. This admittedly ugly hack is necessary to work around a [quirk in iOS' event delegation](https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html), which would otherwise prevent a tap anywhere outside of the dropdown from triggering the code that closes the dropdown. Once the dropdown is closed, these additional empty `mouseover` handlers are removed.
+{% endcallout %}
Note: The `data-toggle="dropdown"` attribute is relied on for closing dropdown menus at an application level, so it's a good idea to always use it.
@@ -510,20 +527,54 @@ $('.dropdown-toggle').dropdown()
{% endhighlight %}
{% callout info %}
-#### `data-toggle="dropdown"` still required
+##### `data-toggle="dropdown"` still required
Regardless of whether you call your dropdown via JavaScript or instead use the data-api, `data-toggle="dropdown"` is always required to be present on the dropdown's trigger element.
{% endcallout %}
### Options
-*None.*
+Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-placement=""`.
+
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 100px;">Name</th>
+ <th style="width: 100px;">Type</th>
+ <th style="width: 50px;">Default</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>placement</td>
+ <td>string</td>
+ <td>'bottom'</td>
+ <td>
+ <p>How to position the popover - top | bottom.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>offset</td>
+ <td>number | string</td>
+ <td>0</td>
+ <td>Offset of the dropdown relative to its target. For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</td>
+ </tr>
+ <tr>
+ <td>flip</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Allow Dropdown to flip in case of an overlapping on the reference element. For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..flip.enabled">flip docs</a>.</td>
+ </tr>
+ </tbody>
+</table>
### Methods
| Method | Description |
| --- | --- |
| `$().dropdown('toggle')` | Toggles the dropdown menu of a given navbar or tabbed navigation. |
+| `$().dropdown('update')` | Updates the position of an element's dropdown. |
### Events
diff --git a/docs/components/forms.md b/docs/components/forms.md
index 88bd37dc2..52230fa54 100644
--- a/docs/components/forms.md
+++ b/docs/components/forms.md
@@ -1,7 +1,7 @@
---
layout: docs
title: Forms
-description: Examples and usage guidelines for from controls, form layouts, and custom forms.
+description: Examples and usage guidelines for form controls, form layouts, and custom forms.
group: components
---
@@ -261,11 +261,11 @@ The `.form-group` class is the easiest way to add some structure to forms. Its o
{% example html %}
<form>
<div class="form-group">
- <label for="formGroupExampleInput">Example label</label>
+ <label class="form-control-label" for="formGroupExampleInput">Example label</label>
<input type="text" class="form-control" id="formGroupExampleInput" placeholder="Example input">
</div>
<div class="form-group">
- <label for="formGroupExampleInput2">Another label</label>
+ <label class="form-control-label" for="formGroupExampleInput2">Another label</label>
<input type="text" class="form-control" id="formGroupExampleInput2" placeholder="Another input">
</div>
</form>
@@ -331,7 +331,7 @@ Assistive technologies such as screen readers will have trouble with your forms
### Using the Grid
-For more structured form layouts that are also responsive, you can utilize Bootstrap's [predefined grid classes]({{ site.baseurl }}/layout/grid/#predefined-classes) or [mixins]({{ site.baseurl }}/layout/grid/#sass-mixins) to create horizontal forms. Add the `.row` class to form groups and use the `.col-*-*` classes to specify the width of your labels and controls.
+For more structured form layouts that are also responsive, you can utilize Bootstrap's [predefined grid classes]({{ site.baseurl }}/layout/grid/) or [mixins]({{ site.baseurl }}/layout/grid/#sass-mixins) to create horizontal forms. Add the `.row` class to form groups and use the `.col-*-*` classes to specify the width of your labels and controls.
Be sure to add `.col-form-label` to your `<label>`s as well so they're vertically centered with their associated form controls. For `<legend>` elements, you can use `.col-form-legend` to make them appear similar to regular `<label>` elements.
@@ -350,31 +350,33 @@ Be sure to add `.col-form-label` to your `<label>`s as well so they're verticall
<input type="password" class="form-control" id="inputPassword3" placeholder="Password">
</div>
</div>
- <fieldset class="form-group row">
- <legend class="col-form-legend col-sm-2">Radios</legend>
- <div class="col-sm-10">
- <div class="form-check">
- <label class="form-check-label">
- <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios1" value="option1" checked>
- Option one is this and that&mdash;be sure to include why it's great
- </label>
- </div>
- <div class="form-check">
- <label class="form-check-label">
- <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios2" value="option2">
- Option two can be something else and selecting it will deselect option one
- </label>
- </div>
- <div class="form-check disabled">
- <label class="form-check-label">
- <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios3" value="option3" disabled>
- Option three is disabled
- </label>
+ <fieldset class="form-group">
+ <div class="row">
+ <legend class="col-form-legend col-sm-2">Radios</legend>
+ <div class="col-sm-10">
+ <div class="form-check">
+ <label class="form-check-label">
+ <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios1" value="option1" checked>
+ Option one is this and that&mdash;be sure to include why it's great
+ </label>
+ </div>
+ <div class="form-check">
+ <label class="form-check-label">
+ <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios2" value="option2">
+ Option two can be something else and selecting it will deselect option one
+ </label>
+ </div>
+ <div class="form-check disabled">
+ <label class="form-check-label">
+ <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios3" value="option3" disabled>
+ Option three is disabled
+ </label>
+ </div>
</div>
</div>
</fieldset>
<div class="form-group row">
- <label class="col-sm-2">Checkbox</label>
+ <div class="col-sm-2">Checkbox</div>
<div class="col-sm-10">
<div class="form-check">
<label class="form-check-label">
@@ -392,6 +394,55 @@ Be sure to add `.col-form-label` to your `<label>`s as well so they're verticall
</div>
{% endexample %}
+More complex layouts can also be created with the grid system.
+
+{% example html %}
+<div class="container">
+ <form>
+ <div class="row">
+ <div class="form-group col-md-6">
+ <label for="inputEmail4" class="col-form-label">Email</label>
+ <input type="email" class="form-control" id="inputEmail4" placeholder="Email">
+ </div>
+ <div class="form-group col-md-6">
+ <label for="inputPassword4" class="col-form-label">Password</label>
+ <input type="password" class="form-control" id="inputPassword4" placeholder="Password">
+ </div>
+ </div>
+ <div class="form-group">
+ <label for="inputAddress" class="col-form-label">Address</label>
+ <input type="text" class="form-control" id="inputAddress" placeholder="1234 Main St">
+ </div>
+ <div class="form-group">
+ <label for="inputAddress2" class="col-form-label">Address 2</label>
+ <input type="text" class="form-control" id="inputAddress2" placeholder="Apartment, studio, or floor">
+ </div>
+ <div class="row">
+ <div class="form-group col-md-6">
+ <label for="inputCity" class="col-form-label">City</label>
+ <input type="text" class="form-control" id="inputCity">
+ </div>
+ <div class="form-group col-md-4">
+ <label for="inputState" class="col-form-label">State</label>
+ <select id="inputState" class="form-control">Choose</select>
+ </div>
+ <div class="form-group col-md-2">
+ <label for="inputZip" class="col-form-label">Zip</label>
+ <input type="text" class="form-control" id="inputZip">
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="form-check">
+ <label class="form-check-label">
+ <input class="form-check-input" type="checkbox"> Check me out
+ </label>
+ </div>
+ </div>
+ <button type="submit" class="btn btn-primary">Sign in</button>
+ </form>
+</div>
+{% endexample %}
+
Grid-based form layouts also support large and small inputs.
{% example html %}
@@ -413,7 +464,6 @@ Grid-based form layouts also support large and small inputs.
</div>
{% endexample %}
-
## Checkboxes and radios
Default checkboxes and radios are improved upon with the help of `.form-check`, **a single class for both input types that improves the layout and behavior of their HTML elements**. Checkboxes are for selecting one or several options in a list, while radios are for selecting one option from many.
@@ -519,14 +569,14 @@ Should you have no text within the `<label>`, the input is positioned as you'd e
## Static controls
-When you need to place plain text next to a form label within a form, use the `.form-control-static` class on an element of your choice.
+If you want to have read-only fields in your form styled as plain text, use the `.form-control-static` class to remove the default form field styling and preserve the correct margin and padding.
{% example html %}
<form>
<div class="form-group row">
- <label class="col-sm-2 col-form-label">Email</label>
+ <label for="staticEmail" class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
- <p class="form-control-static">[email protected]</p>
+ <input type="text" readonly class="form-control-static" id="staticEmail" value="[email protected]">
</div>
</div>
<div class="form-group row">
@@ -541,8 +591,8 @@ When you need to place plain text next to a form label within a form, use the `.
{% example html %}
<form class="form-inline">
<div class="form-group">
- <label class="sr-only">Email</label>
- <p class="form-control-static">[email protected]</p>
+ <label for="staticEmail2" class="sr-only">Email</label>
+ <input type="text" readonly class="form-control-static" id="staticEmail2" value="[email protected]">
</div>
<div class="form-group mx-sm-3">
<label for="inputPassword2" class="sr-only">Password</label>
@@ -554,7 +604,7 @@ When you need to place plain text next to a form label within a form, use the `.
## Disabled states
-Add the `disabled` boolean attribute on an input to prevent user interactions. Disabled inputs appear lighter and add a `not-allowed` cursor.
+Add the `disabled` boolean attribute on an input to prevent user interactions and make it appear lighter.
{% highlight html %}
<input class="form-control" id="disabledInput" type="text" placeholder="Disabled input here..." disabled>
@@ -674,8 +724,8 @@ Inline text can use any typical inline HTML element (be it a `<small>`, `<span>`
{% example html %}
<form class="form-inline">
<div class="form-group">
- <label for="inputPassword4">Password</label>
- <input type="password" id="inputPassword4" class="form-control mx-sm-3" aria-describedby="passwordHelpInline">
+ <label for="inputPassword6">Password</label>
+ <input type="password" id="inputPassword6" class="form-control mx-sm-3" aria-describedby="passwordHelpInline">
<small id="passwordHelpInline" class="text-muted">
Must be 8-20 characters long.
</small>
diff --git a/docs/components/input-group.md b/docs/components/input-group.md
index 0869b70e7..f84cb2453 100644
--- a/docs/components/input-group.md
+++ b/docs/components/input-group.md
@@ -19,11 +19,11 @@ Place one add-on or button on either side of an input. You may also place one on
{% example html %}
<div class="input-group">
<span class="input-group-addon" id="basic-addon1">@</span>
- <input type="text" class="form-control" placeholder="Username" aria-describedby="basic-addon1">
+ <input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1">
</div>
<br>
<div class="input-group">
- <input type="text" class="form-control" placeholder="Recipient's username" aria-describedby="basic-addon2">
+ <input type="text" class="form-control" placeholder="Recipient's username" aria-label="Recipient's username" aria-describedby="basic-addon2">
<span class="input-group-addon" id="basic-addon2">@example.com</span>
</div>
<br>
@@ -53,12 +53,12 @@ Add the relative form sizing classes to the `.input-group` itself and contents w
{% example html %}
<div class="input-group input-group-lg">
<span class="input-group-addon" id="sizing-addon1">@</span>
- <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon1">
+ <input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="sizing-addon1">
</div>
<br>
<div class="input-group">
<span class="input-group-addon" id="sizing-addon2">@</span>
- <input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon2">
+ <input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="sizing-addon2">
</div>
{% endexample %}
@@ -124,12 +124,12 @@ Buttons in input groups must wrapped in a `.input-group-btn` for proper alignmen
<span class="input-group-btn">
<button class="btn btn-secondary" type="button">Go!</button>
</span>
- <input type="text" class="form-control" placeholder="Search for...">
+ <input type="text" class="form-control" placeholder="Search for..." aria-label="Search for...">
</div>
</div>
<div class="col-lg-6">
<div class="input-group">
- <input type="text" class="form-control" placeholder="Search for...">
+ <input type="text" class="form-control" placeholder="Search for..." aria-label="Search for...>
<span class="input-group-btn">
<button class="btn btn-secondary" type="button">Go!</button>
</span>
@@ -143,7 +143,7 @@ Buttons in input groups must wrapped in a `.input-group-btn` for proper alignmen
<span class="input-group-btn">
<button class="btn btn-secondary" type="button">Hate it</button>
</span>
- <input type="text" class="form-control" placeholder="Product name">
+ <input type="text" class="form-control" placeholder="Product name" aria-label="Product name">
<span class="input-group-btn">
<button class="btn btn-secondary" type="button">Love it</button>
</span>
@@ -240,4 +240,4 @@ Buttons in input groups must wrapped in a `.input-group-btn` for proper alignmen
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 (`<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.
+The exact technique to be used (`<label>` elements hidden using the `.sr-only` class, or use of the `aria-label` and `aria-labelledby` attributes, possibly in combination with `aria-describedby`) 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.
diff --git a/docs/components/list-group.md b/docs/components/list-group.md
index 3b30f7d8d..dcf605aee 100644
--- a/docs/components/list-group.md
+++ b/docs/components/list-group.md
@@ -116,19 +116,19 @@ Contextual classes also work with `.list-group-item-action`. Note the addition o
## With badges
-Add badges to any list group item to show unread counts, activity, and more with the help of some utilities. Note the [`justify-content-between` utility class]({{ site.baseurl }}/layout/grid/#horizontal-alignment) and the badge's placement.
+Add badges to any list group item to show unread counts, activity, and more with the help of some [utilities]({{ site.baseurl }}/utilities/flexbox/).
{% example html %}
<ul class="list-group">
- <li class="list-group-item justify-content-between">
+ <li class="list-group-item d-flex justify-content-between align-items-center">
Cras justo odio
<span class="badge badge-default badge-pill">14</span>
</li>
- <li class="list-group-item justify-content-between">
+ <li class="list-group-item d-flex justify-content-between align-items-center">
Dapibus ac facilisis in
<span class="badge badge-default badge-pill">2</span>
</li>
- <li class="list-group-item justify-content-between">
+ <li class="list-group-item d-flex justify-content-between align-items-center">
Morbi leo risus
<span class="badge badge-default badge-pill">1</span>
</li>
@@ -137,21 +137,225 @@ Add badges to any list group item to show unread counts, activity, and more with
## Custom content
-Add nearly any HTML within, even for linked list groups like the one below.
+Add nearly any HTML within, even for linked list groups like the one below, with the help of [flexbox utilities]({{ site.baseurl }}/utilities/flexbox/).
{% example html %}
<div class="list-group">
- <a href="#" class="list-group-item list-group-item-action active">
- <h5 class="mt-0 mb-1">List group item heading</h5>
- <small>Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</small>
+ <a href="#" class="list-group-item list-group-item-action flex-column align-items-start active">
+ <div class="d-flex w-100 justify-content-between">
+ <h5 class="mb-1">List group item heading</h5>
+ <small>3 days ago</small>
+ </div>
+ <p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
+ <small>Donec id elit non mi porta.</small>
</a>
- <a href="#" class="list-group-item list-group-item-action">
- <h5 class="mt-0 mb-1">List group item heading</h5>
- <small>Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</small>
+ <a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
+ <div class="d-flex w-100 justify-content-between">
+ <h5 class="mb-1">List group item heading</h5>
+ <small class="text-muted">3 days ago</small>
+ </div>
+ <p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
+ <small class="text-muted">Donec id elit non mi porta.</small>
</a>
- <a href="#" class="list-group-item list-group-item-action">
- <h5 class="mt-0 mb-1">List group item heading</h5>
- <small>Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</small>
+ <a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
+ <div class="d-flex w-100 justify-content-between">
+ <h5 class="mb-1">List group item heading</h5>
+ <small class="text-muted">3 days ago</small>
+ </div>
+ <p class="mb-1">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
+ <small class="text-muted">Donec id elit non mi porta.</small>
</a>
</div>
{% endexample %}
+
+## JavaScript behavior
+
+Use the tab JavaScript plugin—include it individually or through the compiled `bootstrap.js` file—to extend our list group to create tabbable panes of local content.
+
+<div class="bd-example" role="tabpanel">
+ <div class="row">
+ <div class="col-4">
+ <div class="list-group" id="list-tab" role="tablist">
+ <a class="list-group-item list-group-item-action active" id="list-home-list" data-toggle="tab" href="#list-home" role="tab" aria-controls="home">Home</a>
+ <a class="list-group-item list-group-item-action" id="list-profile-list" data-toggle="tab" href="#list-profile" role="tab" aria-controls="profile">Profile</a>
+ <a class="list-group-item list-group-item-action" id="list-messages-list" data-toggle="tab" href="#list-messages" role="tab" aria-controls="messages">Messages</a>
+ <a class="list-group-item list-group-item-action" id="list-settings-list" data-toggle="tab" href="#list-settings" role="tab" aria-controls="settings">Settings</a>
+ </div>
+ </div>
+ <div class="col-8">
+ <div class="tab-content" id="nav-tabContent">
+ <div class="tab-pane fade show active" id="list-home" role="tabpanel" aria-labelledby="list-home-list">
+ <p>Velit aute mollit ipsum ad dolor consectetur nulla officia culpa adipisicing exercitation fugiat tempor. Voluptate deserunt sit sunt nisi aliqua fugiat proident ea ut. Mollit voluptate reprehenderit occaecat nisi ad non minim tempor sunt voluptate consectetur exercitation id ut nulla. Ea et fugiat aliquip nostrud sunt incididunt consectetur culpa aliquip eiusmod dolor. Anim ad Lorem aliqua in cupidatat nisi enim eu nostrud do aliquip veniam minim.</p>
+ </div>
+ <div class="tab-pane fade" id="list-profile" role="tabpanel" aria-labelledby="list-profile-list">
+ <p>Cupidatat quis ad sint excepteur laborum in esse qui. Et excepteur consectetur ex nisi eu do cillum ad laborum. Mollit et eu officia dolore sunt Lorem culpa qui commodo velit ex amet id ex. Officia anim incididunt laboris deserunt anim aute dolor incididunt veniam aute dolore do exercitation. Dolor nisi culpa ex ad irure in elit eu dolore. Ad laboris ipsum reprehenderit irure non commodo enim culpa commodo veniam incididunt veniam ad.</p>
+ </div>
+ <div class="tab-pane fade" id="list-messages" role="tabpanel" aria-labelledby="list-messages-list">
+ <p>Ut ut do pariatur aliquip aliqua aliquip exercitation do nostrud commodo reprehenderit aute ipsum voluptate. Irure Lorem et laboris nostrud amet cupidatat cupidatat anim do ut velit mollit consequat enim tempor. Consectetur est minim nostrud nostrud consectetur irure labore voluptate irure. Ipsum id Lorem sit sint voluptate est pariatur eu ad cupidatat et deserunt culpa sit eiusmod deserunt. Consectetur et fugiat anim do eiusmod aliquip nulla laborum elit adipisicing pariatur cillum.</p>
+ </div>
+ <div class="tab-pane fade" id="list-settings" role="tabpanel" aria-labelledby="list-settings-list">
+ <p>Irure enim occaecat labore sit qui aliquip reprehenderit amet velit. Deserunt ullamco ex elit nostrud ut dolore nisi officia magna sit occaecat laboris sunt dolor. Nisi eu minim cillum occaecat aute est cupidatat aliqua labore aute occaecat ea aliquip sunt amet. Aute mollit dolor ut exercitation irure commodo non amet consectetur quis amet culpa. Quis ullamco nisi amet qui aute irure eu. Magna labore dolor quis ex labore id nostrud deserunt dolor eiusmod eu pariatur culpa mollit in irure.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+
+{% highlight html %}
+<div class="row">
+ <div class="col-4">
+ <div class="list-group" id="list-tab" role="tablist">
+ <a class="list-group-item list-group-item-action active" id="list-home-list" data-toggle="list" href="#list-home" role="tab" aria-controls="home">Home</a>
+ <a class="list-group-item list-group-item-action" id="list-profile-list" data-toggle="list" href="#list-profile" role="tab" aria-controls="profile">Profile</a>
+ <a class="list-group-item list-group-item-action" id="list-messages-list" data-toggle="list" href="#list-messages" role="tab" aria-controls="messages">Messages</a>
+ <a class="list-group-item list-group-item-action" id="list-settings-list" data-toggle="list" href="#list-settings" role="tab" aria-controls="settings">Settings</a>
+ </div>
+ </div>
+ <div class="col-8">
+ <div class="tab-content" id="nav-tabContent">
+ <div class="tab-pane fade show active" id="list-home" role="tabpanel" aria-labelledby="list-home-list">...</div>
+ <div class="tab-pane fade" id="list-profile" role="tabpanel" aria-labelledby="list-profile-list">...</div>
+ <div class="tab-pane fade" id="list-messages" role="tabpanel" aria-labelledby="list-messages-list">...</div>
+ <div class="tab-pane fade" id="list-settings" role="tabpanel" aria-labelledby="list-settings-list">...</div>
+ </div>
+ </div>
+</div>
+{% endhighlight %}
+
+### Using data attributes
+
+You can activate a list group navigation without writing any JavaScript by simply specifying `data-toggle="list"` or on an element. Use these data attributes on `.list-group-item`.
+
+<div role="tabpanel">
+{% highlight html %}
+<!-- List group -->
+<div class="list-group" id="myList" role="tablist">
+ <a class="list-group-item list-group-item-action active" data-toggle="list" href="#home" role="tab">Home</a>
+ <a class="list-group-item list-group-item-action" data-toggle="list" href="#profile" role="tab">Profile</a>
+ <a class="list-group-item list-group-item-action" data-toggle="list" href="#messages" role="tab">Messages</a>
+ <a class="list-group-item list-group-item-action" data-toggle="list" href="#settings" role="tab">Settings</a>
+</div>
+
+<!-- Tab panes -->
+<div class="tab-content">
+ <div class="tab-pane active" id="home" role="tabpanel">...</div>
+ <div class="tab-pane" id="profile" role="tabpanel">...</div>
+ <div class="tab-pane" id="messages" role="tabpanel">...</div>
+ <div class="tab-pane" id="settings" role="tabpanel">...</div>
+</div>
+{% endhighlight %}
+</div>
+
+### Via JavaScript
+
+Enable tabbable list item via JavaScript (each list item needs to be activated individually):
+
+{% highlight js %}
+$('#myList a').click(function (e) {
+ e.preventDefault()
+ $(this).tab('show')
+})
+{% endhighlight %}
+
+You can activate individual list item in several ways:
+
+{% highlight js %}
+$('#myList a[href="#profile"]').tab('show') // Select tab by name
+$('#myList a:first').tab('show') // Select first tab
+$('#myList a:last').tab('show') // Select last tab
+$('#myList li:eq(2) a').tab('show') // Select third tab (0-indexed)
+{% endhighlight %}
+
+### Fade effect
+
+To make tabs panel fade in, add `.fade` to each `.tab-pane`. The first tab pane must also have `.show` to make the initial content visible.
+
+{% highlight html %}
+<div class="tab-content">
+ <div class="tab-pane fade show active" id="home" role="tabpanel">...</div>
+ <div class="tab-pane fade" id="profile" role="tabpanel">...</div>
+ <div class="tab-pane fade" id="messages" role="tabpanel">...</div>
+ <div class="tab-pane fade" id="settings" role="tabpanel">...</div>
+</div>
+{% endhighlight %}
+
+### Methods
+
+#### $().tab
+
+Activates a list item element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the DOM.
+
+{% highlight html %}
+<div class="list-group" id="myList" role="tablist">
+ <a class="list-group-item list-group-item-action active" data-toggle="list" href="#home" role="tab">Home</a>
+ <a class="list-group-item list-group-item-action" data-toggle="list" href="#profile" role="tab">Profile</a>
+ <a class="list-group-item list-group-item-action" data-toggle="list" href="#messages" role="tab">Messages</a>
+ <a class="list-group-item list-group-item-action" data-toggle="list" href="#settings" role="tab">Settings</a>
+</div>
+
+<div class="tab-content">
+ <div class="tab-pane active" id="home" role="tabpanel">...</div>
+ <div class="tab-pane" id="profile" role="tabpanel">...</div>
+ <div class="tab-pane" id="messages" role="tabpanel">...</div>
+ <div class="tab-pane" id="settings" role="tabpanel">...</div>
+</div>
+
+<script>
+ $(function () {
+ $('#myList a:last').tab('show')
+ })
+</script>
+{% endhighlight %}
+
+#### .tab('show')
+
+Selects the given list item and shows its associated pane. Any other list item that was previously selected becomes unselected and its associated pane is hidden. **Returns to the caller before the tab pane has actually been shown** (for example, before the `shown.bs.tab` event occurs).
+
+{% highlight js %}
+$('#someListItem').tab('show')
+{% endhighlight %}
+
+### Events
+
+When showing a new tab, the events fire in the following order:
+
+1. `hide.bs.tab` (on the current active tab)
+2. `show.bs.tab` (on the to-be-shown tab)
+3. `hidden.bs.tab` (on the previous active tab, the same one as for the `hide.bs.tab` event)
+4. `shown.bs.tab` (on the newly-active just-shown tab, the same one as for the `show.bs.tab` event)
+
+If no tab was already active, the `hide.bs.tab` and `hidden.bs.tab` events will not be fired.
+
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 150px;">Event type</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>show.bs.tab</td>
+ <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+ </tr>
+ <tr>
+ <td>shown.bs.tab</td>
+ <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
+ </tr>
+ <tr>
+ <td>hide.bs.tab</td>
+ <td>This event fires when a new tab is to be shown (and thus the previous active tab is to be hidden). Use <code>event.target</code> and <code>event.relatedTarget</code> to target the current active tab and the new soon-to-be-active tab, respectively.</td>
+ </tr>
+ <tr>
+ <td>hidden.bs.tab</td>
+ <td>This event fires after a new tab is shown (and thus the previous active tab is hidden). Use <code>event.target</code> and <code>event.relatedTarget</code> to target the previous active tab and the new active tab, respectively.</td>
+ </tr>
+ </tbody>
+</table>
+
+{% highlight js %}
+$('a[data-toggle="list"]').on('shown.bs.tab', function (e) {
+ e.target // newly activated tab
+ e.relatedTarget // previous active tab
+})
+{% endhighlight %}
diff --git a/docs/components/modal.md b/docs/components/modal.md
index b311ebf35..a2f4471d3 100644
--- a/docs/components/modal.md
+++ b/docs/components/modal.md
@@ -19,9 +19,9 @@ Before getting started with Bootstrap's modal component, be sure to read the fol
- Modals are built with HTML, CSS, and JavaScript. They're positioned over everything else in the document and remove scroll from the `<body>` so that modal content scrolls instead.
- Clicking on the modal "backdrop" will automatically close the modal.
- Bootstrap only supports one modal window at a time. Nested modals aren't supported as we believe them to be poor user experiences.
-- Modal's use `position: fixed`, which can sometimes be a bit particular about it's rendering. Whenever possible, place your modal HTML in a top-level position to avoid potential interference from other elements. You'll likely run into issues when nesting a `.modal` within another fixed element.
-- One again, due to `position: fixed`, there are some caveats with using modals on mobile devices. [See our browser support docs]({{ site.baseurl }}/getting-started/browsers-devices/#modals-and-dropdowns-on-mobile) for details.
-- Lastly, the `autofocus` HTML attribute has no affect in modals. Here's how you can achieve the same effect with custom JavaScript.
+- Modals use `position: fixed`, which can sometimes be a bit particular about its rendering. Whenever possible, place your modal HTML in a top-level position to avoid potential interference from other elements. You'll likely run into issues when nesting a `.modal` within another fixed element.
+- Once again, due to `position: fixed`, there are some caveats with using modals on mobile devices. [See our browser support docs]({{ site.baseurl }}/getting-started/browsers-devices/#modals-and-dropdowns-on-mobile) for details.
+- Lastly, the `autofocus` HTML attribute has no effect in modals. Here's how you can achieve the same effect with custom JavaScript.
Keep reading for demos and usage guidelines.
@@ -63,7 +63,7 @@ Below is a _static_ modal example (meaning its `position` and `display` have bee
</div>
{% highlight html %}
-<div class="modal fade">
+<div class="modal">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
@@ -121,7 +121,7 @@ Toggle a working modal demo by clicking the button below. It will slide down and
</button>
<!-- Modal -->
-<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
+<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
@@ -347,7 +347,7 @@ Utilize the Bootstrap grid system within a modal by nesting `.container-fluid` w
### Varying modal content
-Have a bunch of buttons that all trigger the same modal with slightly different contents? Use `event.relatedTarget` and [HTML `data-*` attributes](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes) (possibly [via jQuery](https://api.jquery.com/data/)) to vary the contents of the modal depending on which button was clicked.
+Have a bunch of buttons that all trigger the same modal with slightly different contents? Use `event.relatedTarget` and [HTML `data-*` attributes](https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes) (possibly [via jQuery](https://api.jquery.com/data/)) to vary the contents of the modal depending on which button was clicked.
Below is a live demo followed by example HTML and JavaScript. For more information, [read the modal events docs](#events) for details on `relatedTarget`.
@@ -410,7 +410,7 @@ For modals that simply appear rather than fade in to view, remove the `.fade` cl
### Dynamic heights
-If the height of a modal changes while it is open, you should call `$('#myModal').data('bs.modal').handleUpdate()` to readjust the modal's position in case a scrollbar appears.
+If the height of a modal changes while it is open, you should call `$('#myModal').data('bs.modal').handleUpdate()` or `$('#myModal').modal('handleUpdate')` to readjust the modal's position in case a scrollbar appears.
### Accessibility
@@ -508,47 +508,48 @@ Call a modal with id `myModal` with a single line of JavaScript:
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-backdrop=""`.
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 100px;">Name</th>
- <th style="width: 50px;">Type</th>
- <th style="width: 50px;">Default</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>backdrop</td>
- <td>boolean or the string <code>'static'</code></td>
- <td>true</td>
- <td>Includes a modal-backdrop element. Alternatively, specify <code>static</code> for a backdrop which doesn't close the modal on click.</td>
- </tr>
- <tr>
- <td>keyboard</td>
- <td>boolean</td>
- <td>true</td>
- <td>Closes the modal when escape key is pressed</td>
- </tr>
- <tr>
- <td>focus</td>
- <td>boolean</td>
- <td>true</td>
- <td>Puts the focus on the modal when initialized.</td>
- </tr>
- <tr>
- <td>show</td>
- <td>boolean</td>
- <td>true</td>
- <td>Shows the modal when initialized.</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 100px;">Name</th>
+ <th style="width: 50px;">Type</th>
+ <th style="width: 50px;">Default</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>backdrop</td>
+ <td>boolean or the string <code>'static'</code></td>
+ <td>true</td>
+ <td>Includes a modal-backdrop element. Alternatively, specify <code>static</code> for a backdrop which doesn't close the modal on click.</td>
+ </tr>
+ <tr>
+ <td>keyboard</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Closes the modal when escape key is pressed</td>
+ </tr>
+ <tr>
+ <td>focus</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Puts the focus on the modal when initialized.</td>
+ </tr>
+ <tr>
+ <td>show</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Shows the modal when initialized.</td>
+ </tr>
+ </tbody>
+</table>
### Methods
+{% capture callout-include %}{% include callout-danger-async-methods.md %}{% endcapture %}
+{{ callout-include | markdownify }}
+
#### `.modal(options)`
Activates your content as a modal. Accepts an optional options `object`.
@@ -577,38 +578,42 @@ Manually hides a modal. **Returns to the caller before the modal has actually be
{% highlight js %}$('#myModal').modal('hide'){% endhighlight %}
+#### `.modal('handleUpdate')`
+
+Manually readjust the modal's position if the height of a modal changes while it is open (i.e. in case a scrollbar appears).
+
+{% highlight js %}$('#myModal').modal('handleUpdate'){% endhighlight %}
+
### Events
Bootstrap's modal class exposes a few events for hooking into modal functionality. All modal events are fired at the modal itself (i.e. at the `<div class="modal">`).
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 150px;">Event Type</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>show.bs.modal</td>
- <td>This event fires immediately when the <code>show</code> instance method is called. If caused by a click, the clicked element is available as the <code>relatedTarget</code> property of the event.</td>
- </tr>
- <tr>
- <td>shown.bs.modal</td>
- <td>This event is fired when the modal has been made visible to the user (will wait for CSS transitions to complete). If caused by a click, the clicked element is available as the <code>relatedTarget</code> property of the event.</td>
- </tr>
- <tr>
- <td>hide.bs.modal</td>
- <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
- </tr>
- <tr>
- <td>hidden.bs.modal</td>
- <td>This event is fired when the modal has finished being hidden from the user (will wait for CSS transitions to complete).</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 150px;">Event Type</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>show.bs.modal</td>
+ <td>This event fires immediately when the <code>show</code> instance method is called. If caused by a click, the clicked element is available as the <code>relatedTarget</code> property of the event.</td>
+ </tr>
+ <tr>
+ <td>shown.bs.modal</td>
+ <td>This event is fired when the modal has been made visible to the user (will wait for CSS transitions to complete). If caused by a click, the clicked element is available as the <code>relatedTarget</code> property of the event.</td>
+ </tr>
+ <tr>
+ <td>hide.bs.modal</td>
+ <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
+ </tr>
+ <tr>
+ <td>hidden.bs.modal</td>
+ <td>This event is fired when the modal has finished being hidden from the user (will wait for CSS transitions to complete).</td>
+ </tr>
+ </tbody>
+</table>
{% highlight js %}
$('#myModal').on('hidden.bs.modal', function (e) {
diff --git a/docs/components/navbar.md b/docs/components/navbar.md
index ea4245b46..0891d2327 100644
--- a/docs/components/navbar.md
+++ b/docs/components/navbar.md
@@ -16,7 +16,7 @@ The navbar is a wrapper that positions branding, navigation, and other elements
Here's what you need to know before getting started with the navbar:
-- Navbars require a wrapping `.navbar` with `.navbar-toggleable-*` for responsive collapsing and [color scheme](#color-schemes) classes.
+- Navbars require a wrapping `.navbar` with `.navbar-expand{-sm|-md|-lg|-xl}` for responsive collapsing and [color scheme](#color-schemes) classes.
- Navbars and their contents are fluid by default. Use [optional containers](#containers) to limit their horizontal width.
- Navbars and their contents are built with flexbox, providing easy alignment options via utility classes.
- Navbars are responsive by default, but you can easily modify them to change that. Responsive behavior depends on our Collapse JavaScript plugin.
@@ -30,19 +30,19 @@ Navbars come with built-in support for a handful of sub-components. Choose from
- `.navbar-brand` for your company, product, or project name.
- `.navbar-nav` for a full-height and lightweight navigation (including support for dropdowns).
-- `.navbar-toggler` for use with our collapse plugin and other [navigation toggling](#collapsible-content) behaviors.
+- `.navbar-toggler` for use with our collapse plugin and other [navigation toggling](#responsive-behaviors) behaviors.
- `.form-inline` for any form controls and actions.
- `.navbar-text` for adding vertically centered strings of text.
- `.collapse.navbar-collapse` for grouping and hiding navbar contents by a parent breakpoint.
-Here's an example of all the sub-components included in a responsive light-themed navbar that automatically collapses at the `md` (medium) breakpoint.
+Here's an example of all the sub-components included in a responsive light-themed navbar that automatically collapses at the `lg` (large) breakpoint.
{% example html %}
-<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
+<nav class="navbar navbar-expand-lg navbar-light bg-faded">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
@@ -57,7 +57,7 @@ Here's an example of all the sub-components included in a responsive light-theme
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
@@ -108,11 +108,11 @@ Navbar navigation links build on our `.nav` options with their own modifier clas
Active states—with `.active`—to indicate the current page can be applied directly to `.nav-link`s or their immediate parent `.nav-item`s.
{% example html %}
-<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
+<nav class="navbar navbar-expand-lg navbar-light bg-faded">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active">
@@ -135,11 +135,11 @@ Active states—with `.active`—to indicate the current page can be applied dir
And because we use classes for our navs, you can avoid the list-based approach entirely if you like.
{% example html %}
-<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
+<nav class="navbar navbar-expand-lg navbar-light bg-faded">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">Home <span class="sr-only">(current)</span></a>
@@ -154,11 +154,11 @@ And because we use classes for our navs, you can avoid the list-based approach e
You may also utilize dropdowns in your navbar nav. Dropdown menus require a wrapping element for positioning, so be sure to use separate and nested elements for `.nav-item` and `.nav-link` as shown below.
{% example html %}
-<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
+<nav class="navbar navbar-expand-lg navbar-light bg-faded">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav">
<li class="nav-item active">
@@ -192,7 +192,7 @@ Place various form controls and components within a navbar with `.form-inline`.
{% example html %}
<nav class="navbar navbar-light bg-faded">
<form class="form-inline">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</nav>
@@ -204,7 +204,7 @@ Align the contents of your inline forms with utilities as needed.
<nav class="navbar navbar-light bg-faded justify-content-between">
<a class="navbar-brand">Navbar</a>
<form class="form-inline">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</nav>
@@ -217,7 +217,7 @@ Input groups work, too:
<form class="form-inline">
<div class="input-group">
<span class="input-group-addon" id="basic-addon1">@</span>
- <input type="text" class="form-control" placeholder="Username" aria-describedby="basic-addon1">
+ <input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1">
</div>
</form>
</nav>
@@ -249,11 +249,11 @@ Navbars may contain bits of text with the help of `.navbar-text`. This class adj
Mix and match with other components and utilities as needed.
{% example html %}
-<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
+<nav class="navbar navbar-expand-lg navbar-light bg-faded">
+ <a class="navbar-brand" href="#">Navbar w/ text</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar w/ text</a>
<div class="collapse navbar-collapse" id="navbarText">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
@@ -278,11 +278,11 @@ Mix and match with other components and utilities as needed.
Theming the navbar has never been easier thanks to the combination of theming classes and `background-color` utilities. Choose from `.navbar-light` for use with light background colors, or `.navbar-inverse` for dark background colors. Then, customize with `.bg-*` utilities.
<div class="bd-example">
- <nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarColor01" aria-controls="navbarColor01" aria-expanded="false" aria-label="Toggle navigation">
- <span class="navbar-toggler-icon"></span>
- </button>
+ <nav class="navbar navbar-expand-lg navbar-inverse bg-inverse">
<a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor01" aria-controls="navbarColor01" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
<div class="collapse navbar-collapse" id="navbarColor01">
<ul class="navbar-nav mr-auto">
@@ -300,17 +300,17 @@ Theming the navbar has never been easier thanks to the combination of theming cl
</li>
</ul>
<form class="form-inline">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-info my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>
- <nav class="navbar navbar-toggleable-md navbar-inverse bg-primary">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarColor02" aria-controls="navbarColor02" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-lg navbar-inverse bg-primary">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor02" aria-controls="navbarColor02" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarColor02">
<ul class="navbar-nav mr-auto">
@@ -328,17 +328,17 @@ Theming the navbar has never been easier thanks to the combination of theming cl
</li>
</ul>
<form class="form-inline">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-secondary my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>
- <nav class="navbar navbar-toggleable-md navbar-light" style="background-color: #e3f2fd;">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarColor03" aria-controls="navbarColor03" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-lg navbar-light" style="background-color: #e3f2fd;">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor03" aria-controls="navbarColor03" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarColor03">
<ul class="navbar-nav mr-auto">
@@ -356,7 +356,7 @@ Theming the navbar has never been easier thanks to the combination of theming cl
</li>
</ul>
<form class="form-inline">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-primary my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
@@ -383,16 +383,16 @@ Although it's not required, you can wrap a navbar in a `.container` to center it
{% example html %}
<div class="container">
- <nav class="navbar navbar-toggleable-md navbar-light bg-faded">
+ <nav class="navbar navbar-expand-lg navbar-light bg-faded">
<a class="navbar-brand" href="#">Navbar</a>
</nav>
</div>
{% endexample %}
-When the container is within your navbar, its horizontal padding is removed at breakpoints lower than your specified `.navbar-toggleable-*` class. This ensures we're not doubling up on padding unnecessarily on lower viewports when your navbar is collapsed.
+When the container is within your navbar, its horizontal padding is removed at breakpoints lower than your specified `.navbar-expand{-sm|-md|-lg|-xl}` class. This ensures we're not doubling up on padding unnecessarily on lower viewports when your navbar is collapsed.
{% example html %}
-<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
+<nav class="navbar navbar-expand-lg navbar-light bg-faded">
<div class="container">
<a class="navbar-brand" href="#">Navbar</a>
</div>
@@ -401,7 +401,7 @@ When the container is within your navbar, its horizontal padding is removed at b
## Placement
-Navbars can be statically placed (their default behavior), static without rounded corners, or fixed to the top or bottom of the viewport.
+Use our position utilities to place navbars in non-static positions. Choose from fixed to the top, fixed to the bottom, or stickied to the top. **Note that `position: sticky`, used for `.sticky-top`, [isn't fully supported in every browser](http://caniuse.com/#feat=css-sticky).**
{% example html %}
<nav class="navbar navbar-light bg-faded">
@@ -410,29 +410,37 @@ Navbars can be statically placed (their default behavior), static without rounde
{% endexample %}
{% example html %}
-<nav class="navbar navbar-fixed-top navbar-light bg-faded">
+<nav class="navbar fixed-top navbar-light bg-faded">
<a class="navbar-brand" href="#">Fixed top</a>
</nav>
{% endexample %}
{% example html %}
-<nav class="navbar navbar-fixed-bottom navbar-light bg-faded">
+<nav class="navbar fixed-bottom navbar-light bg-faded">
<a class="navbar-brand" href="#">Fixed bottom</a>
</nav>
{% endexample %}
+{% example html %}
+<nav class="navbar sticky-top navbar-light bg-faded">
+ <a class="navbar-brand" href="#">Sticky top</a>
+</nav>
+{% endexample %}
+
## Responsive behaviors
-Navbars can utilize `.navbar-toggler`, `.navbar-collapse`, and `.navbar-toggleable-*` classes to change when their content collapses behind a button. In combination with other utilities, you can easily choose when to show or hide particular elements.
+Navbars can utilize `.navbar-toggler`, `.navbar-collapse`, and `.navbar-expand{-sm|-md|-lg|-xl}` classes to change when their content collapses behind a button. In combination with other utilities, you can easily choose when to show or hide particular elements.
+
+For navbars that never collapse, add the `.navbar-expand` class on the navbar. For navbars that always collapse, don't add any `.navbar-expand` class.
### Toggler
-Navbar togglers can be left or right aligned with `.navbar-toggler-left` or `.navbar-toggler-right` modifiers. These are absolutely positioned within the navbar to avoid interference with the collapsed state. You can also use your own styles to position togglers. Below are examples of different toggle styles.
+Navbar togglers are left-aligned by default, but should they follow a sibling element like a `.navbar-brand`, they'll automatically be aligned to the far right. Reversing your markup will reverse the placement of the toggler. Below are examples of different toggle styles.
With no `.navbar-brand` shown in lowest breakpoint:
{% example html %}
-<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
+<nav class="navbar navbar-expand-lg navbar-light bg-faded">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo01" aria-controls="navbarTogglerDemo01" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
@@ -450,7 +458,7 @@ With no `.navbar-brand` shown in lowest breakpoint:
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
@@ -460,14 +468,14 @@ With no `.navbar-brand` shown in lowest breakpoint:
With a brand name shown on the left and toggler on the right:
{% example html %}
-<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation">
+<nav class="navbar navbar-expand-lg navbar-light bg-faded">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarTogglerDemo02">
- <ul class="navbar-nav mr-auto mt-2 mt-md-0">
+ <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
@@ -486,6 +494,35 @@ With a brand name shown on the left and toggler on the right:
</nav>
{% endexample %}
+With a toggler on the left and brand name on the right:
+
+{% example html %}
+<nav class="navbar navbar-expand-lg navbar-light bg-faded">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo03" aria-controls="navbarTogglerDemo03" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <div class="collapse navbar-collapse" id="navbarTogglerDemo03">
+ <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
+ <li class="nav-item active">
+ <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">Link</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link disabled" href="#">Disabled</a>
+ </li>
+ </ul>
+ <form class="form-inline my-2 my-lg-0">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
+ <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
+ </form>
+ </div>
+</nav>
+{% endexample %}
+
### External content
Sometimes you want to use the collapse plugin to trigger hidden content elsewhere on the page. Because our plugin works on the `id` and `data-target` matching, that's easily done!
diff --git a/docs/components/navs.md b/docs/components/navs.md
index fed519e8e..5c3f2cf9d 100644
--- a/docs/components/navs.md
+++ b/docs/components/navs.md
@@ -14,7 +14,11 @@ Navigation available in Bootstrap share general markup and styles, from the base
## Base nav
-The base `.nav` component is built with flexbox and provide a strong foundation for building all types of navigation components. It includes some style overrides (for working with lists), some link padding for larger hit areas, and basic disabled styling. No active states are included in the base nav.
+The base `.nav` component is built with flexbox and provide a strong foundation for building all types of navigation components. It includes some style overrides (for working with lists), some link padding for larger hit areas, and basic disabled styling.
+
+{% callout info %}
+The base `.nav` component does not include any `.active` state. The following examples include the class, mainly to demonstrate that this particular class does not trigger any special styling.
+{% endcallout %}
{% example html %}
<ul class="nav">
@@ -185,28 +189,42 @@ Force your `.nav`'s contents to extend the full available width one of two modif
</ul>
{% endexample %}
+When using a `<nav>`-based navigation, be sure to include `.nav-item` on the anchors.
+
+{% example html %}
+<nav class="nav nav-pills nav-fill">
+ <a class="nav-item nav-link active" href="#">Active</a>
+ <a class="nav-item nav-link" href="#">Link</a>
+ <a class="nav-item nav-link" href="#">Link</a>
+ <a class="nav-item nav-link disabled" href="#">Disabled</a>
+</nav>
+{% endexample %}
+
For equal-width elements, use `.nav-justified`. All horizontal space will be occupied by nav links, but unlike the `.nav-fill` above, every nav item will be the same width.
{% example html %}
-<ul class="nav nav-pills nav-justified">
- <li class="nav-item">
- <a class="nav-link active" href="#">Active</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">Longer nav link</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">Link</a>
- </li>
- <li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
- </li>
-</ul>
+<nav class="nav nav-pills nav-justified">
+ <a class="nav-link active" href="#">Active</a>
+ <a class="nav-link" href="#">Longer nav link</a>
+ <a class="nav-link" href="#">Link</a>
+ <a class="nav-link disabled" href="#">Disabled</a>
+</nav>
{% endexample %}
+Similar to the `.nav-fill` example using a `<nav>`-based navigation, be sure to include `.nav-item` on the anchors.
+
+{% example html %}
+<nav class="nav nav-pills nav-justified">
+ <a class="nav-item nav-link active" href="#">Active</a>
+ <a class="nav-item nav-link" href="#">Link</a>
+ <a class="nav-item nav-link" href="#">Link</a>
+ <a class="nav-item nav-link disabled" href="#">Disabled</a>
+</nav>
+
+{% endexample %}
## Working with flex utilities
-If you need responsive nav variations, consider using a series of [flex utilities](). While more verbose, these utilities offer greater customization across responsive breakpoints. In the example below, our nav will be stacked on the lowest breakpoint, then adapt to a horizontal layout that fills the available width starting from the small breakpoint.
+If you need responsive nav variations, consider using a series of [flexbox utilities]({{ site.baseurl }}/utilities/flexbox/). While more verbose, these utilities offer greater customization across responsive breakpoints. In the example below, our nav will be stacked on the lowest breakpoint, then adapt to a horizontal layout that fills the available width starting from the small breakpoint.
{% example html %}
<nav class="nav nav-pills flex-column flex-sm-row">
@@ -221,6 +239,8 @@ If you need responsive nav variations, consider using a series of [flex utilitie
If you're 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 that navigation bars, even if visually styled as tabs with the `.nav-tabs` class, should **not** be given `role="tablist"`, `role="tab"` or `role="tabpanel"` attributes. These are only appropriate for dynamic tabbed interfaces, as described in the [<abbr title="Web Accessibility Initiative">WAI</abbr> <abbr title="Accessible Rich Internet Applications">ARIA</abbr> Authoring Practices](https://www.w3.org/TR/wai-aria-practices/#tabpanel). See [JavaScript behavior for dynamic tabbed interfaces](#javascript-behavior-for-dynamic-tabbed-interfaces) in this section for an example.
+
## Using dropdowns
Add dropdown menus with a little extra HTML and the [dropdowns JavaScript plugin]({{ site.baseurl }}/components/dropdowns/#usage).
@@ -277,11 +297,13 @@ Add dropdown menus with a little extra HTML and the [dropdowns JavaScript plugin
</ul>
{% endexample %}
-## JavaScript behavior
+## JavaScript behavior for dynamic tabbed interfaces
Use the tab JavaScript plugin—include it individually or through the compiled `bootstrap.js` file—to extend our navigational tabs and pills to create tabbable panes of local content, even via dropdown menus.
-<div class="bd-example bd-example-tabs" role="tabpanel">
+Dynamic tabbed interfaces, as described in the [<abbr title="Web Accessibility Initiative">WAI</abbr> <abbr title="Accessible Rich Internet Applications">ARIA</abbr> Authoring Practices](https://www.w3.org/TR/wai-aria-practices/#tabpanel), require `role="tablist"`, `role="tab"`, `role="tabpanel"`, and additional `aria-` attributes in order to convey their structure, functionality and current state to users of assistive technologies (such as screen readers).
+
+<div class="bd-example bd-example-tabs">
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-expanded="true">Home</a>
@@ -300,29 +322,212 @@ Use the tab JavaScript plugin—include it individually or through the compiled
</li>
</ul>
<div class="tab-content" id="myTabContent">
- <div role="tabpanel" class="tab-pane fade show active" id="home" aria-labelledBy="home-tab">
+ <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
<p>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.</p>
</div>
- <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledBy="profile-tab">
+ <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
<p>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. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
</div>
- <div class="tab-pane fade" id="dropdown1" role="tabpanel" aria-labelledBy="dropdown1-tab">
+ <div class="tab-pane fade" id="dropdown1" role="tabpanel" aria-labelledby="dropdown1-tab">
<p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
</div>
- <div class="tab-pane fade" id="dropdown2" role="tabpanel" aria-labelledBy="dropdown2-tab">
+ <div class="tab-pane fade" id="dropdown2" role="tabpanel" aria-labelledby="dropdown2-tab">
<p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
</div>
</div>
</div>
+{% highlight html %}
+<ul class="nav nav-tabs" id="myTab" role="tablist">
+ <li class="nav-item">
+ <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-expanded="true">Home</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile">Profile</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
+ Dropdown
+ </a>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" id="dropdown1-tab" href="#dropdown1" role="tab" data-toggle="tab" aria-controls="dropdown1">@fat</a>
+ <a class="dropdown-item" id="dropdown2-tab" href="#dropdown2" role="tab" data-toggle="tab" aria-controls="dropdown2">@mdo</a>
+ </div>
+ </li>
+</ul>
+<div class="tab-content" id="myTabContent">
+ <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">...</div>
+ <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">...</div>
+ <div class="tab-pane fade" id="dropdown1" role="tabpanel" aria-labelledby="dropdown1-tab">...</div>
+ <div class="tab-pane fade" id="dropdown2" role="tabpanel" aria-labelledby="dropdown2-tab">...</div>
+</div>
+{% endhighlight %}
+
+To help fit your needs, this works with `<ul>`-based markup, as shown above, as well as `<nav>`-based markup shown below.
+
+<div class="bd-example bd-example-tabs">
+ <nav class="nav nav-tabs" id="nav-tab" role="tablist">
+ <a class="nav-item nav-link active" id="nav-home-tab" data-toggle="tab" href="#nav-home" role="tab" aria-controls="home" aria-expanded="true">Home</a>
+ <a class="nav-item nav-link" id="nav-profile-tab" data-toggle="tab" href="#nav-profile" role="tab" aria-controls="profile">Profile</a>
+ <div class="dropdown">
+ <a class="nav-item nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
+ Dropdown
+ </a>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" id="nav-dropdown1-tab" href="#nav-dropdown1" role="tab" data-toggle="tab" aria-controls="dropdown1">@fat</a>
+ <a class="dropdown-item" id="nav-dropdown2-tab" href="#nav-dropdown2" role="tab" data-toggle="tab" aria-controls="dropdown2">@mdo</a>
+ </div>
+ </div>
+ </nav>
+ <div class="tab-content" id="nav-tabContent">
+ <div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">
+ <p>Et et consectetur ipsum labore excepteur est proident excepteur ad velit occaecat qui minim occaecat veniam. Fugiat veniam incididunt anim aliqua enim pariatur veniam sunt est aute sit dolor anim. Velit non irure adipisicing aliqua ullamco irure incididunt irure non esse consectetur nostrud minim non minim occaecat. Amet duis do nisi duis veniam non est eiusmod tempor incididunt tempor dolor ipsum in qui sit. Exercitation mollit sit culpa nisi culpa non adipisicing reprehenderit do dolore. Duis reprehenderit occaecat anim ullamco ad duis occaecat ex.</p>
+ </div>
+ <div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab">
+ <p>Nulla est ullamco ut irure incididunt nulla Lorem Lorem minim irure officia enim reprehenderit. Magna duis labore cillum sint adipisicing exercitation ipsum. Nostrud ut anim non exercitation velit laboris fugiat cupidatat. Commodo esse dolore fugiat sint velit ullamco magna consequat voluptate minim amet aliquip ipsum aute laboris nisi. Labore labore veniam irure irure ipsum pariatur mollit magna in cupidatat dolore magna irure esse tempor ad mollit. Dolore commodo nulla minim amet ipsum officia consectetur amet ullamco voluptate nisi commodo ea sit eu.</p>
+ </div>
+ <div class="tab-pane fade" id="nav-dropdown1" role="tabpanel" aria-labelledby="nav-dropdown1-tab">
+ <p>Sint sit mollit irure quis est nostrud cillum consequat Lorem esse do quis dolor esse fugiat sunt do. Eu ex commodo veniam Lorem aliquip laborum occaecat qui Lorem esse mollit dolore anim cupidatat. Deserunt officia id Lorem nostrud aute id commodo elit eiusmod enim irure amet eiusmod qui reprehenderit nostrud tempor. Fugiat ipsum excepteur in aliqua non et quis aliquip ad irure in labore cillum elit enim. Consequat aliquip incididunt ipsum et minim laborum laborum laborum et cillum labore. Deserunt adipisicing cillum id nulla minim nostrud labore eiusmod et amet. Laboris consequat consequat commodo non ut non aliquip reprehenderit nulla anim occaecat. Sunt sit ullamco reprehenderit irure ea ullamco Lorem aute nostrud magna.</p>
+ </div>
+ <div class="tab-pane fade" id="nav-dropdown2" role="tabpanel" aria-labelledby="nav-dropdown2-tab">
+ <p>Proident incididunt esse qui ea nisi ullamco aliquip nostrud velit sint duis. Aute culpa aute cillum sit consectetur mollit minim non reprehenderit tempor. Occaecat amet consectetur aute esse ad ullamco ad commodo mollit reprehenderit esse in consequat. Mollit minim do consectetur pariatur irure non id ea dolore occaecat adipisicing consectetur est aute magna non.</p>
+ </div>
+ </div>
+</div>
+
+{% highlight html %}
+<nav class="nav nav-tabs" id="myTab" role="tablist">
+ <a class="nav-item nav-link active" id="nav-home-tab" data-toggle="tab" href="#nav-home" role="tab" aria-controls="nav-home" aria-expanded="true">Home</a>
+ <a class="nav-item nav-link" id="nav-profile-tab" data-toggle="tab" href="#nav-profile" role="tab" aria-controls="nav-profile">Profile</a>
+ <div class="dropdown">
+ <a class="nav-item nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
+ Dropdown
+ </a>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" id="nav-dropdown1-tab" href="#nav-dropdown1" role="tab" data-toggle="tab" aria-controls="nav-dropdown1">@fat</a>
+ <a class="dropdown-item" id="nav-dropdown2-tab" href="#nav-dropdown2" role="tab" data-toggle="tab" aria-controls="nav-dropdown2">@mdo</a>
+ </div>
+ </div>
+</nav>
+<div class="tab-content" id="nav-tabContent">
+ <div class="tab-pane fade show active" id="nav-home" role="tabpanel" aria-labelledby="nav-home-tab">...</div>
+ <div class="tab-pane fade" id="nav-profile" role="tabpanel" aria-labelledby="nav-profile-tab">...</div>
+ <div class="tab-pane fade" id="nav-dropdown1" role="tabpanel" aria-labelledby="nav-dropdown1-tab">...</div>
+ <div class="tab-pane fade" id="nav-dropdown2" role="tabpanel" aria-labelledby="nav-dropdown2-tab">...</div>
+</div>
+{% endhighlight %}
+
+The tabs plugin also works with pills.
+
+<div class="bd-example bd-example-tabs">
+ <ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
+ <li class="nav-item">
+ <a class="nav-link active" id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab" aria-controls="pills-home" aria-expanded="true">Home</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab" aria-controls="pills-profile" aria-expanded="true">Profile</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" id="pills-dropdown1-tab" href="#pills-dropdown1" role="tab" data-toggle="pill" aria-controls="pills-dropdown1">@fat</a>
+ <a class="dropdown-item" id="pills-dropdown2-tab" href="#pills-dropdown2" role="tab" data-toggle="pill" aria-controls="pills-dropdown2">@mdo</a>
+ </div>
+ </li>
+ </ul>
+ <div class="tab-content" id="pills-tabContent">
+ <div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">
+ <p>Consequat occaecat ullamco amet non eiusmod nostrud dolore irure incididunt est duis anim sunt officia. Fugiat velit proident aliquip nisi incididunt nostrud exercitation proident est nisi. Irure magna elit commodo anim ex veniam culpa eiusmod id nostrud sit cupidatat in veniam ad. Eiusmod consequat eu adipisicing minim anim aliquip cupidatat culpa excepteur quis. Occaecat sit eu exercitation irure Lorem incididunt nostrud.</p>
+ </div>
+ <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">
+ <p>Ad pariatur nostrud pariatur exercitation ipsum ipsum culpa mollit commodo mollit ex. Aute sunt incididunt amet commodo est sint nisi deserunt pariatur do. Aliquip ex eiusmod voluptate exercitation cillum id incididunt elit sunt. Qui minim sit magna Lorem id et dolore velit Lorem amet exercitation duis deserunt. Anim id labore elit adipisicing ut in id occaecat pariatur ut ullamco ea tempor duis.</p>
+ </div>
+ <div class="tab-pane fade" id="pills-dropdown1" role="tabpanel" aria-labelledby="pills-dropdown1-tab">
+ <p>Est quis nulla laborum officia ad nisi ex nostrud culpa Lorem excepteur aliquip dolor aliqua irure ex. Nulla ut duis ipsum nisi elit fugiat commodo sunt reprehenderit laborum veniam eu veniam. Eiusmod minim exercitation fugiat irure ex labore incididunt do fugiat commodo aliquip sit id deserunt reprehenderit aliquip nostrud. Amet ex cupidatat excepteur aute veniam incididunt mollit cupidatat esse irure officia elit do ipsum ullamco Lorem. Ullamco ut ad minim do mollit labore ipsum laboris ipsum commodo sunt tempor enim incididunt. Commodo quis sunt dolore aliquip aute tempor irure magna enim minim reprehenderit. Ullamco consectetur culpa veniam sint cillum aliqua incididunt velit ullamco sunt ullamco quis quis commodo voluptate. Mollit nulla nostrud adipisicing aliqua cupidatat aliqua pariatur mollit voluptate voluptate consequat non.</p>
+ </div>
+ <div class="tab-pane fade" id="pills-dropdown2" role="tabpanel" aria-labelledby="nav-dropdown2-tab">
+ <p>Tempor anim aliquip qui nisi sit minim ex in cupidatat ipsum adipisicing. Ad non magna anim id ullamco do dolor sit adipisicing nulla exercitation. Qui Lorem eiusmod sint in laboris pariatur est adipisicing non sunt occaecat in mollit culpa sit. Aliquip id duis do do quis mollit ut duis. Non dolor reprehenderit do esse nostrud deserunt non eiusmod minim anim sit voluptate ipsum. Nulla elit aliqua do sunt labore velit anim nisi dolor nostrud consectetur fugiat ex qui velit ex tempor. Do cillum qui anim aliquip id cillum duis ex laboris tempor incididunt sint dolor ullamco tempor. Fugiat laboris enim anim veniam aliquip cillum irure.</p>
+ </div>
+ </div>
+</div>
+
+{% highlight html %}
+<ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
+ <li class="nav-item">
+ <a class="nav-link active" id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab" aria-controls="pills-home" aria-expanded="true">Home</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab" aria-controls="pills-profile" aria-expanded="true">Profile</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" id="pills-dropdown1-tab" href="#pills-dropdown1" role="tab" data-toggle="pill" aria-controls="pills-dropdown1">@fat</a>
+ <a class="dropdown-item" id="pills-dropdown2-tab" href="#pills-dropdown2" role="tab" data-toggle="pill" aria-controls="pills-dropdown2">@mdo</a>
+ </div>
+ </li>
+</ul>
+<div class="tab-content" id="pills-tabContent">
+ <div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">...</div>
+ <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">...</div>
+ <div class="tab-pane fade" id="pills-dropdown1" role="tabpanel" aria-labelledby="pills-dropdown1-tab">...</div>
+ <div class="tab-pane fade" id="pills-dropdown2" role="tabpanel" aria-labelledby="pills-dropdown2-tab">...</div>
+</div>
+{% endhighlight %}
+
+And with vertical pills.
+
+<div class="bd-example bd-example-tabs">
+ <div class="row">
+ <div class="col-3">
+ <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist">
+ <a class="nav-link active" id="v-pills-home-tab" data-toggle="pill" href="#v-pills-home" role="tab" aria-controls="v-pills-home" aria-expanded="true">Home</a>
+ <a class="nav-link" id="v-pills-profile-tab" data-toggle="pill" href="#v-pills-profile" role="tab" aria-controls="v-pills-profile" aria-expanded="true">Profile</a>
+ <a class="nav-link" id="v-pills-messages-tab" data-toggle="pill" href="#v-pills-messages" role="tab" aria-controls="v-pills-messages" aria-expanded="true">Messages</a>
+ <a class="nav-link" id="v-pills-settings-tab" data-toggle="pill" href="#v-pills-settings" role="tab" aria-controls="v-pills-settings" aria-expanded="true">Settings</a>
+ </div>
+ </div>
+ <div class="col-9">
+ <div class="tab-content" id="v-pills-tabContent">
+ <div class="tab-pane fade show active" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab">
+ <p>Cillum ad ut irure tempor velit nostrud occaecat ullamco aliqua anim Lorem sint. Veniam sint duis incididunt do esse magna mollit excepteur laborum qui. Id id reprehenderit sit est eu aliqua occaecat quis et velit excepteur laborum mollit dolore eiusmod. Ipsum dolor in occaecat commodo et voluptate minim reprehenderit mollit pariatur. Deserunt non laborum enim et cillum eu deserunt excepteur ea incididunt minim occaecat.</p>
+ </div>
+ <div class="tab-pane fade" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab">
+ <p>Culpa dolor voluptate do laboris laboris irure reprehenderit id incididunt duis pariatur mollit aute magna pariatur consectetur. Eu veniam duis non ut dolor deserunt commodo et minim in quis laboris ipsum velit id veniam. Quis ut consectetur adipisicing officia excepteur non sit. Ut et elit aliquip labore Lorem enim eu. Ullamco mollit occaecat dolore ipsum id officia mollit qui esse anim eiusmod do sint minim consectetur qui.</p>
+ </div>
+ <div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab">
+ <p>Fugiat id quis dolor culpa eiusmod anim velit excepteur proident dolor aute qui magna. Ad proident laboris ullamco esse anim Lorem Lorem veniam quis Lorem irure occaecat velit nostrud magna nulla. Velit et et proident Lorem do ea tempor officia dolor. Reprehenderit Lorem aliquip labore est magna commodo est ea veniam consectetur.</p>
+ </div>
+ <div class="tab-pane fade" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab">
+ <p>Eu dolore ea ullamco dolore Lorem id cupidatat excepteur reprehenderit consectetur elit id dolor proident in cupidatat officia. Voluptate excepteur commodo labore nisi cillum duis aliqua do. Aliqua amet qui mollit consectetur nulla mollit velit aliqua veniam nisi id do Lorem deserunt amet. Culpa ullamco sit adipisicing labore officia magna elit nisi in aute tempor commodo eiusmod.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+
+{% highlight html %}
+<div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist">
+ <a class="nav-link active" id="v-pills-home-tab" data-toggle="pill" href="#v-pills-home" role="tab" aria-controls="v-pills-home" aria-expanded="true">Home</a>
+ <a class="nav-link" id="v-pills-profile-tab" data-toggle="pill" href="#v-pills-profile" role="tab" aria-controls="v-pills-profile" aria-expanded="true">Profile</a>
+ <a class="nav-link" id="v-pills-messages-tab" data-toggle="pill" href="#v-pills-messages" role="tab" aria-controls="v-pills-messages" aria-expanded="true">Messages</a>
+ <a class="nav-link" id="v-pills-settings-tab" data-toggle="pill" href="#v-pills-settings" role="tab" aria-controls="v-pills-settings" aria-expanded="true">Settings</a>
+</div>
+<div class="tab-content" id="v-pills-tabContent">
+ <div class="tab-pane fade show active" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab">...</div>
+ <div class="tab-pane fade" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab">...</div>
+ <div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab">...</div>
+ <div class="tab-pane fade" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab">...</div>
+</div>
+{% endhighlight %}
+
### Using data attributes
You can activate a tab or pill navigation without writing any JavaScript by simply specifying `data-toggle="tab"` or `data-toggle="pill"` on an element. Use these data attributes on `.nav-tabs` or `.nav-pills`.
-<div role="tabpanel">
{% highlight html %}
<!-- Nav tabs -->
-<ul class="nav nav-tabs" role="tablist">
+<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#home" role="tab">Home</a>
</li>
@@ -345,7 +550,6 @@ You can activate a tab or pill navigation without writing any JavaScript by simp
<div class="tab-pane" id="settings" role="tabpanel">...</div>
</div>
{% endhighlight %}
-</div>
### Via JavaScript
@@ -382,6 +586,9 @@ To make tabs fade in, add `.fade` to each `.tab-pane`. The first tab pane must a
### Methods
+{% capture callout-include %}{% include callout-danger-async-methods.md %}{% endcapture %}
+{{ callout-include | markdownify }}
+
#### $().tab
Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the DOM.
@@ -437,17 +644,17 @@ If no tab was already active, then the `hide.bs.tab` and `hidden.bs.tab` events
<table class="table table-bordered table-striped table-responsive">
<thead>
- <tr>
- <th style="width: 150px;">Event Type</th>
- <th>Description</th>
- </tr>
+ <tr>
+ <th style="width: 150px;">Event Type</th>
+ <th>Description</th>
+ </tr>
</thead>
<tbody>
<tr>
<td>show.bs.tab</td>
<td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
- </tr>
- <tr>
+ </tr>
+ <tr>
<td>shown.bs.tab</td>
<td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
</tr>
diff --git a/docs/components/pagination.md b/docs/components/pagination.md
index 0273e8efe..03c3a56ec 100644
--- a/docs/components/pagination.md
+++ b/docs/components/pagination.md
@@ -141,7 +141,7 @@ Fancy larger or smaller pagination? Add `.pagination-lg` or `.pagination-sm` for
## Alignment
-Change the alignment of pagination components with [flexbox utilities]({{ site.baseurl }}/utilities/flexbox).
+Change the alignment of pagination components with [flexbox utilities]({{ site.baseurl }}/utilities/flexbox/).
{% example html %}
<nav aria-label="Page navigation example">
diff --git a/docs/components/popovers.md b/docs/components/popovers.md
index 1cd96da49..614be7e2b 100644
--- a/docs/components/popovers.md
+++ b/docs/components/popovers.md
@@ -17,7 +17,7 @@ Add small overlay content, like those found in iOS, to any element for housing s
Things to know when using the popover plugin:
-- Popovers rely on the 3rd party library [Tether](http://tether.io/) for positioning. You must include [tether.min.js](https://github.com/HubSpot/tether/blob/master/dist/js/tether.min.js) before bootstrap.js in order for popovers to work!
+- Popovers rely on the 3rd party library [Popper.js](https://popper.js.org) for positioning. You must include [popper.min.js](https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js) before bootstrap.js in order for popovers to work!
- Popovers require the [tooltip plugin]({{ site.baseurl }}/components/tooltips/) as a dependency.
- Popovers are opt-in for performance reasons, so **you must initialize them yourself**.
- Zero-length `title` and `content` values will never show a popover.
@@ -25,6 +25,7 @@ Things to know when using the popover plugin:
- Triggering popovers on hidden elements will not work.
- Popovers for `.disabled` or `disabled` elements must be triggered on a wrapper element.
- When triggered from hyperlinks that span multiple lines, popovers will be centered. Use `white-space: nowrap;` on your `<a>`s to avoid this behavior.
+- Popovers must be hidden before their corresponding elements have been removed from the DOM.
Got all that? Great, let's see how they work with some examples.
@@ -55,29 +56,32 @@ $(function () {
Four options are available: top, right, bottom, and left aligned.
<div class="bd-example bd-example-popover-static">
- <div class="popover popover-top">
+ <div class="popover bs-popover-top bs-popover-top-docs">
+ <div class="arrow" x-arrow></div>
<h3 class="popover-title">Popover top</h3>
<div class="popover-content">
<p>Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.</p>
</div>
</div>
- <div class="popover popover-right">
+ <div class="popover bs-popover-right bs-popover-right-docs">
+ <div class="arrow" x-arrow></div>
<h3 class="popover-title">Popover right</h3>
<div class="popover-content">
<p>Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.</p>
</div>
</div>
- <div class="popover popover-bottom">
+ <div class="popover bs-popover-bottom bs-popover-bottom-docs">
+ <div class="arrow" x-arrow></div>
<h3 class="popover-title">Popover bottom</h3>
-
<div class="popover-content">
<p>Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.</p>
</div>
</div>
- <div class="popover popover-left">
+ <div class="popover bs-popover-left bs-popover-left-docs">
+ <div class="arrow" x-arrow></div>
<h3 class="popover-title">Popover left</h3>
<div class="popover-content">
<p>Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.</p>
@@ -163,113 +167,112 @@ Enable popovers via JavaScript:
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-animation=""`.
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 100px;">Name</th>
- <th style="width: 100px;">Type</th>
- <th style="width: 50px;">Default</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>animation</td>
- <td>boolean</td>
- <td>true</td>
- <td>Apply a CSS fade transition to the popover</td>
- </tr>
- <tr>
- <td>container</td>
- <td>string | false</td>
- <td>false</td>
- <td>
- <p>Appends the popover to a specific element. Example: <code>container: 'body'</code>. This option is particularly useful in that it allows you to position the popover in the flow of the document near the triggering element - which will prevent the popover from floating away from the triggering element during a window resize.</p>
- </td>
- </tr>
- <tr>
- <td>content</td>
- <td>string | element | function</td>
- <td>''</td>
- <td>
- <p>Default content value if <code>data-content</code> attribute isn't present.</p>
- <p>If a function is given, it will be called with its <code>this</code> reference set to the element that the popover is attached to.</p>
- </td>
- </tr>
- <tr>
- <td>delay</td>
- <td>number | object</td>
- <td>0</td>
- <td>
- <p>Delay showing and hiding the popover (ms) - does not apply to manual trigger type</p>
- <p>If a number is supplied, delay is applied to both hide/show</p>
- <p>Object structure is: <code>delay: { "show": 500, "hide": 100 }</code></p>
- </td>
- </tr>
- <tr>
- <td>html</td>
- <td>boolean</td>
- <td>false</td>
- <td>Insert HTML into the popover. If false, jQuery's <code>text</code> method will be used to insert content into the DOM. Use text if you're worried about XSS attacks.</td>
- </tr>
- <tr>
- <td>placement</td>
- <td>string | function</td>
- <td>'right'</td>
- <td>
- <p>How to position the popover - top | bottom | left | right.</p>
- <p>When a function is used to determine the placement, it is called with the popover DOM node as its first argument and the triggering element DOM node as its second. The <code>this</code> context is set to the popover instance.</p>
- </td>
- </tr>
- <tr>
- <td>selector</td>
- <td>string</td>
- <td>false</td>
- <td>If a selector is provided, popover objects will be delegated to the specified targets. In practice, this is used to enable dynamic HTML content to have popovers added. See <a href="https://github.com/twbs/bootstrap/issues/4215">this</a> and <a href="https://jsbin.com/zopod/1/edit">an informative example</a>.</td>
- </tr>
- <tr>
- <td>template</td>
- <td>string</td>
- <td><code>'&lt;div class="popover" role="tooltip"&gt;&lt;div class="popover-arrow"&gt;&lt;/div&gt;&lt;h3 class="popover-title"&gt;&lt;/h3&gt;&lt;div class="popover-content"&gt;&lt;/div&gt;&lt;/div&gt;'</code></td>
- <td>
- <p>Base HTML to use when creating the popover.</p>
- <p>The popover's <code>title</code> will be injected into the <code>.popover-title</code>.</p>
- <p>The popover's <code>content</code> will be injected into the <code>.popover-content</code>.</p>
- <p><code>.popover-arrow</code> will become the popover's arrow.</p>
- <p>The outermost wrapper element should have the <code>.popover</code> class.</p>
- </td>
- </tr>
- <tr>
- <td>title</td>
- <td>string | element | function</td>
- <td>''</td>
- <td>
- <p>Default title value if <code>title</code> attribute isn't present.</p>
- <p>If a function is given, it will be called with its <code>this</code> reference set to the element that the popover is attached to.</p>
- </td>
- </tr>
- <tr>
- <td>trigger</td>
- <td>string</td>
- <td>'click'</td>
- <td>How popover is triggered - click | hover | focus | manual. You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.</td>
- </tr>
- <tr>
- <td>constraints</td>
- <td>Array</td>
- <td>'hover focus'</td>
- <td>An array of constraints - passed through to Tether. For more information refer to Tether's <a href="http://tether.io/#constraints">constraint docs</a>.</td>
- </tr>
- <tr>
- <td>offset</td>
- <td>string</td>
- <td>'0 0'</td>
- <td>Offset of the popover relative to its target. For more information refer to Tether's <a href="http://tether.io/#offset">offset docs</a>.</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 100px;">Name</th>
+ <th style="width: 100px;">Type</th>
+ <th style="width: 50px;">Default</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>animation</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Apply a CSS fade transition to the popover</td>
+ </tr>
+ <tr>
+ <td>container</td>
+ <td>string | false</td>
+ <td>false</td>
+ <td>
+ <p>Appends the popover to a specific element. Example: <code>container: 'body'</code>. This option is particularly useful in that it allows you to position the popover in the flow of the document near the triggering element - which will prevent the popover from floating away from the triggering element during a window resize.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>content</td>
+ <td>string | element | function</td>
+ <td>''</td>
+ <td>
+ <p>Default content value if <code>data-content</code> attribute isn't present.</p>
+ <p>If a function is given, it will be called with its <code>this</code> reference set to the element that the popover is attached to.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>delay</td>
+ <td>number | object</td>
+ <td>0</td>
+ <td>
+ <p>Delay showing and hiding the popover (ms) - does not apply to manual trigger type</p>
+ <p>If a number is supplied, delay is applied to both hide/show</p>
+ <p>Object structure is: <code>delay: { "show": 500, "hide": 100 }</code></p>
+ </td>
+ </tr>
+ <tr>
+ <td>html</td>
+ <td>boolean</td>
+ <td>false</td>
+ <td>Insert HTML into the popover. If false, jQuery's <code>text</code> method will be used to insert content into the DOM. Use text if you're worried about XSS attacks.</td>
+ </tr>
+ <tr>
+ <td>placement</td>
+ <td>string | function</td>
+ <td>'right'</td>
+ <td>
+ <p>How to position the popover - auto | top | bottom | left | right.<br>When <code>auto</code> is specified, it will dynamically reorient the popover.</p>
+ <p>When a function is used to determine the placement, it is called with the popover DOM node as its first argument and the triggering element DOM node as its second. The <code>this</code> context is set to the popover instance.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>selector</td>
+ <td>string</td>
+ <td>false</td>
+ <td>If a selector is provided, popover objects will be delegated to the specified targets. In practice, this is used to enable dynamic HTML content to have popovers added. See <a href="https://github.com/twbs/bootstrap/issues/4215">this</a> and <a href="https://jsbin.com/zopod/1/edit">an informative example</a>.</td>
+ </tr>
+ <tr>
+ <td>template</td>
+ <td>string</td>
+ <td><code>'&lt;div class="popover" role="tooltip"&gt;&lt;div class="arrow" x-arrow&gt;&lt;/div&gt;&lt;h3 class="popover-title"&gt;&lt;/h3&gt;&lt;div class="popover-content"&gt;&lt;/div&gt;&lt;/div&gt;'</code></td>
+ <td>
+ <p>Base HTML to use when creating the popover.</p>
+ <p>The popover's <code>title</code> will be injected into the <code>.popover-title</code>.</p>
+ <p>The popover's <code>content</code> will be injected into the <code>.popover-content</code>.</p>
+ <p><code>.arrow</code> will become the popover's arrow.</p>
+ <p>The outermost wrapper element should have the <code>.popover</code> class.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>title</td>
+ <td>string | element | function</td>
+ <td>''</td>
+ <td>
+ <p>Default title value if <code>title</code> attribute isn't present.</p>
+ <p>If a function is given, it will be called with its <code>this</code> reference set to the element that the popover is attached to.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>trigger</td>
+ <td>string</td>
+ <td>'click'</td>
+ <td>How popover is triggered - click | hover | focus | manual. You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.</td>
+ </tr>
+ <tr>
+ <td>offset</td>
+ <td>number | string</td>
+ <td>0</td>
+ <td>Offset of the popover relative to its target. For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</td>
+ </tr>
+ <tr>
+ <td>fallbackPlacement</td>
+ <td>string | array</td>
+ <td>'flip'</td>
+ <td>Allow to specify which position Popper will use on fallback. For more information refer to
+ Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..flip.behavior">behavior docs</a></td>
+ </tr>
+ </tbody>
+</table>
{% callout info %}
#### Data attributes for individual popovers
@@ -279,6 +282,9 @@ Options for individual popovers can alternatively be specified through the use o
### Methods
+{% capture callout-include %}{% include callout-danger-async-methods.md %}{% endcapture %}
+{{ callout-include | markdownify }}
+
#### `$().popover(options)`
Initializes popovers for an element collection.
@@ -308,36 +314,62 @@ Hides and destroys an element's popover. Popovers that use delegation (which are
{% highlight js %}$('#element').popover('dispose'){% endhighlight %}
+#### `.popover('enable')`
+
+Gives an element's popover the ability to be shown. **Popovers are enabled by default.**
+
+{% highlight js %}$('#element').popover('enable'){% endhighlight %}
+
+#### `.popover('disable')`
+
+Removes the ability for an element's popover to be shown. The popover will only be able to be shown if it is re-enabled.
+
+{% highlight js %}$('#element').popover('disable'){% endhighlight %}
+
+#### `.popover('toggleEnabled')`
+
+Toggles the ability for an element's popover to be shown or hidden.
+
+{% highlight js %}$('#element').popover('toggleEnabled'){% endhighlight %}
+
+#### `.popover('update')`
+
+Updates the position of an element's popover.
+
+{% highlight js %}$('#element').popover('update'){% endhighlight %}
+
### Events
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 150px;">Event Type</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>show.bs.popover</td>
- <td>This event fires immediately when the <code>show</code> instance method is called.</td>
- </tr>
- <tr>
- <td>shown.bs.popover</td>
- <td>This event is fired when the popover has been made visible to the user (will wait for CSS transitions to complete).</td>
- </tr>
- <tr>
- <td>hide.bs.popover</td>
- <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
- </tr>
- <tr>
- <td>hidden.bs.popover</td>
- <td>This event is fired when the popover has finished being hidden from the user (will wait for CSS transitions to complete).</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 150px;">Event Type</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>show.bs.popover</td>
+ <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+ </tr>
+ <tr>
+ <td>shown.bs.popover</td>
+ <td>This event is fired when the popover has been made visible to the user (will wait for CSS transitions to complete).</td>
+ </tr>
+ <tr>
+ <td>hide.bs.popover</td>
+ <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
+ </tr>
+ <tr>
+ <td>hidden.bs.popover</td>
+ <td>This event is fired when the popover has finished being hidden from the user (will wait for CSS transitions to complete).</td>
+ </tr>
+ <tr>
+ <td>inserted.bs.popover</td>
+ <td>This event is fired after the <code>show.bs.popover</code> event when the tooltip template has been added to the DOM.</td>
+ </tr>
+ </tbody>
+</table>
{% highlight js %}
$('#myPopover').on('hidden.bs.popover', function () {
diff --git a/docs/components/progress.md b/docs/components/progress.md
index d137fad14..802a42a29 100644
--- a/docs/components/progress.md
+++ b/docs/components/progress.md
@@ -5,71 +5,147 @@ description: Documentation and examples for using Bootstrap progress bars.
group: components
---
-Stylize [the HTML5 `<progress>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress) with a few extra classes and some crafty browser-specific CSS. Be sure to read up on the browser support.
+Use our custom progress component for displaying simple or complex progress bars. We don't use [the HTML5 `<progress>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress), ensuring you can stack progress bars, animate them, and place text labels over them.
## Contents
* Will be replaced with the ToC, excluding the "Contents" header
{:toc}
-## Example
+## How it works
-To caption a progress bar, simply add a `<div>` with your caption text, [align the text using a utility class]({{ site.baseurl }}/utilities/typography/#text-alignment), and associate the caption with the `<progress>` element using the `aria-describedby` attribute.
+Progress components are built with two HTML elements, some CSS to set the width, and a few attributes.
+
+- We use the `.progress` as a wrapper to indicate the max value of the progress bar.
+- We use the inner `.progress-bar` to indicate the progress so far.
+- The `.progress-bar` requires an inline style, utility class, or custom CSS to set their width.
+- The `.progress-bar` also requires some `role` and `aria` attributes to make it accessible.
+
+Put that all together, and you have the following examples.
+
+{% example html %}
+<div class="progress">
+ <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar" role="progressbar" style="width: 50%" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar" role="progressbar" style="width: 75%" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+{% endexample %}
+
+Bootstrap provides a handful of [utilities for setting width]({{ site.baseurl }}/utilities/sizing/). Depending on your needs, these may help with quickly configuring progress.
+
+{% example html %}
+<div class="progress">
+ <div class="progress-bar w-75" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+{% endexample %}
+
+## Customizing
+
+Customize the appearance of your progress bars with custom CSS, background utilities, stripes, and more.
+
+### Labels
+
+Add labels to your progress bars by placing text within the `.progress-bar`.
{% example html %}
+<div class="progress">
+ <div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">25%</div>
+</div>
+{% endexample %}
+
+### Height
-<div class="text-center" id="example-caption-1">Reticulating splines&hellip; 0%</div>
-<progress class="progress" value="0" max="100" aria-describedby="example-caption-1"></progress>
+We only set a `height` value on the `.progress-bar`, so if you change that value the outer `.progress` will automatically resize accordingly.
-<div class="text-center" id="example-caption-2">Reticulating splines&hellip; 25%</div>
-<progress class="progress" value="25" max="100" aria-describedby="example-caption-2"></progress>
+{% example html %}
+<div class="progress">
+ <div class="progress-bar" role="progressbar" style="width: 25%; height: 1px;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar" role="progressbar" style="width: 25%; height: 20px;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+{% endexample %}
-<div class="text-center" id="example-caption-3">Reticulating splines&hellip; 50%</div>
-<progress class="progress" value="50" max="100" aria-describedby="example-caption-3"></progress>
+### Backgrounds
-<div class="text-center" id="example-caption-4">Reticulating splines&hellip; 75%</div>
-<progress class="progress" value="75" max="100" aria-describedby="example-caption-4"></progress>
+Use background utility classes to change the appearance of individual progress bars.
-<div class="text-center" id="example-caption-5">Reticulating splines&hellip; 100%</div>
-<progress class="progress" value="100" max="100" aria-describedby="example-caption-5"></progress>
+{% example html %}
+<div class="progress">
+ <div class="progress-bar bg-success" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar bg-info" role="progressbar" style="width: 50%" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar bg-warning" role="progressbar" style="width: 75%" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar bg-danger" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
{% endexample %}
-## Contextual alternatives
+### Multiple bars
-Progress bars use some of the same button and alert classes for consistent styles.
+Include multiple progress bars in a progress component if you need.
{% example html %}
-<progress class="progress progress-success" value="25" max="100"></progress>
-<progress class="progress progress-info" value="50" max="100"></progress>
-<progress class="progress progress-warning" value="75" max="100"></progress>
-<progress class="progress progress-danger" value="100" max="100"></progress>
+<div class="progress">
+ <div class="progress-bar" role="progressbar" style="width: 15%" aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"></div>
+ <div class="progress-bar bg-success" role="progressbar" style="width: 30%" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100"></div>
+ <div class="progress-bar bg-info" role="progressbar" style="width: 20%" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
{% endexample %}
### Striped
-Uses a gradient to create a striped effect.
+Add `.progress-bar-striped` to any `.progress-bar` to apply a stripe via CSS gradient over the progress bar's background color.
{% example html %}
-<progress class="progress progress-striped" value="10" max="100"></progress>
-<progress class="progress progress-striped progress-success" value="25" max="100"></progress>
-<progress class="progress progress-striped progress-info" value="50" max="100"></progress>
-<progress class="progress progress-striped progress-warning" value="75" max="100"></progress>
-<progress class="progress progress-striped progress-danger" value="100" max="100"></progress>
+<div class="progress">
+ <div class="progress-bar progress-bar-striped" role="progressbar" style="width: 10%" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar progress-bar-striped bg-success" role="progressbar" style="width: 25%" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar progress-bar-striped bg-info" role="progressbar" style="width: 50%" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar progress-bar-striped bg-warning" role="progressbar" style="width: 75%" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
+<div class="progress">
+ <div class="progress-bar progress-bar-striped bg-danger" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
+</div>
{% endexample %}
### Animated stripes
-The striped gradient can also be animated. Add `.progress-animated` to `.progress` to animate the stripes right to left via CSS3 animations.
+The striped gradient can also be animated. Add `.progress-bar-animated` to `.progress-bar` to animate the stripes right to left via CSS3 animations.
-**Animated progress bars don't work in Opera 12**—as they don't support CSS3 animations. They also **don't work in IE10+ and Microsoft Edge** as those browsers currently don't support CSS3 animations on the [`::-ms-fill` pseudo-element](https://msdn.microsoft.com/en-us/library/windows/apps/hh465757.aspx).
+**Animated progress bars don't work in Opera 12**—as they don't support CSS3 animations.
<div class="bd-example">
- <progress class="progress progress-striped" value="25" max="100"></progress>
- <button type="button" class="btn btn-secondary bd-activate-animated-progressbar" data-toggle="button" aria-pressed="false" autocomplete="off">
+ <div class="progress">
+ <div class="progress-bar progress-bar-striped" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100" style="width: 75%"></div>
+ </div>
+ <button type="button" class="btn btn-secondary bd-toggle-animated-progress" data-toggle="button" aria-pressed="false" autocomplete="off">
Toggle animation
</button>
</div>
{% highlight html %}
-<progress class="progress progress-striped progress-animated" value="25" max="100"></progress>
+<div class="progress">
+ <div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100" style="width: 75%"></div>
+</div>
{% endhighlight %}
diff --git a/docs/components/scrollspy.md b/docs/components/scrollspy.md
index 74829267e..80c057161 100644
--- a/docs/components/scrollspy.md
+++ b/docs/components/scrollspy.md
@@ -5,21 +5,38 @@ description: Documentation and examples for the scrollspy plugin with Bootstrap'
group: components
---
+Automatically update Bootstrap navigation or list group components based on scroll position to indicate which link is currently active in the viewport.
+
## Contents
* Will be replaced with the ToC, excluding the "Contents" header
{:toc}
+## How it works
+
+Scrollspy has a few requirements to function properly:
+
+- It must to be used on a Bootstrap [nav component]({{ site.baseurl }}/components/navs/) or [list group]({{ site.baseurl }}/components/list-group/).
+- Scrollspy requires `position: relative;` on the element you're spying on, usually the `<body>`.
+- When spying on elements other than the `<body>`, be sure to have a `height` set and `overflow-y: scroll;` applied.
+- Anchors (`<a>`) are required and must point to an element with that `id`.
+
+When successfully implemented, your nav or list group will update accordingly, moving the `.active` class from one item to the next based on their associated targets.
+
## Example in navbar
-The ScrollSpy plugin is for automatically updating nav targets based on scroll position. Scroll the area below the navbar and watch the active class change. The dropdown sub items will be highlighted as well.
+Scroll the area below the navbar and watch the active class change. The dropdown items will be highlighted as well.
<div class="bd-example">
<nav id="navbar-example2" class="navbar navbar-light bg-faded">
<a class="navbar-brand" href="#">Navbar</a>
<ul class="nav nav-pills">
- <li class="nav-item"><a class="nav-link" href="#fat">@fat</a></li>
- <li class="nav-item"><a class="nav-link" href="#mdo">@mdo</a></li>
+ <li class="nav-item">
+ <a class="nav-link" href="#fat">@fat</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#mdo">@mdo</a>
+ </li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
<div class="dropdown-menu">
@@ -47,16 +64,172 @@ The ScrollSpy plugin is for automatically updating nav targets based on scroll p
</div>
</div>
+{% highlight html %}
+<nav id="navbar-example2" class="navbar navbar-light bg-faded">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <ul class="nav nav-pills">
+ <li class="nav-item">
+ <a class="nav-link" href="#fat">@fat</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#mdo">@mdo</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" href="#one">one</a>
+ <a class="dropdown-item" href="#two">two</a>
+ <div role="separator" class="dropdown-divider"></div>
+ <a class="dropdown-item" href="#three">three</a>
+ </div>
+ </li>
+ </ul>
+</nav>
+<div data-spy="scroll" data-target="#navbar-example2" data-offset="0">
+ <h4 id="fat">@fat</h4>
+ <p>...</p>
+ <h4 id="mdo">@mdo</h4>
+ <p>...</p>
+ <h4 id="one">one</h4>
+ <p>...</p>
+ <h4 id="two">two</h4>
+ <p>...</p>
+ <h4 id="three">three</h4>
+ <p>...</p>
+</div>
+{% endhighlight %}
-## Usage
+## Example with nested nav
+
+Scrollspy also works with nested `.nav`s. If a nested `.nav` is `.active`, its parents will also be `.active`. Scroll the area next to the navbar and watch the active class change.
-### Requires Bootstrap nav
+<div class="bd-example">
+ <div class="row">
+ <div class="col-4">
+ <nav id="navbar-example3" class="navbar navbar-light bg-faded flex-column">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <nav class="nav nav-pills flex-column">
+ <a class="nav-link" href="#item-1">Item 1</a>
+ <nav class="nav nav-pills flex-column">
+ <a class="nav-link ml-3 my-1" href="#item-1-1">Item 1-1</a>
+ <a class="nav-link ml-3 my-1" href="#item-1-2">Item 1-2</a>
+ </nav>
+ <a class="nav-link" href="#item-2">Item 2</a>
+ <a class="nav-link" href="#item-3">Item 3</a>
+ <nav class="nav nav-pills flex-column">
+ <a class="nav-link ml-3 my-1" href="#item-3-1">Item 3-1</a>
+ <a class="nav-link ml-3 my-1" href="#item-3-2">Item 3-2</a>
+ </nav>
+ </nav>
+ </nav>
+ </div>
+ <div class="col-8">
+ <div data-spy="scroll" data-target="#navbar-example3" data-offset="0" class="scrollspy-example-2">
+ <h4 id="item-1">Item 1</h4>
+ <p>Ex consequat commodo adipisicing exercitation aute excepteur occaecat ullamco duis aliqua id magna ullamco eu. Do aute ipsum ipsum ullamco cillum consectetur ut et aute consectetur labore. Fugiat laborum incididunt tempor eu consequat enim dolore proident. Qui laborum do non excepteur nulla magna eiusmod consectetur in. Aliqua et aliqua officia quis et incididunt voluptate non anim reprehenderit adipisicing dolore ut consequat deserunt mollit dolore. Aliquip nulla enim veniam non fugiat id cupidatat nulla elit cupidatat commodo velit ut eiusmod cupidatat elit dolore.</p>
+ <h5 id="item-1-1">Item 1-1</h5>
+ <p>Amet tempor mollit aliquip pariatur excepteur commodo do ea cillum commodo Lorem et occaecat elit qui et. Aliquip labore ex ex esse voluptate occaecat Lorem ullamco deserunt. Aliqua cillum excepteur irure consequat id quis ea. Sit proident ullamco aute magna pariatur nostrud labore. Reprehenderit aliqua commodo eiusmod aliquip est do duis amet proident magna consectetur consequat eu commodo fugiat non quis. Enim aliquip exercitation ullamco adipisicing voluptate excepteur minim exercitation minim minim commodo adipisicing exercitation officia nisi adipisicing. Anim id duis qui consequat labore adipisicing sint dolor elit cillum anim et fugiat.</p>
+ <h5 id="item-1-2">Item 2-2</h5>
+ <p>Cillum nisi deserunt magna eiusmod qui eiusmod velit voluptate pariatur laborum sunt enim. Irure laboris mollit consequat incididunt sint et culpa culpa incididunt adipisicing magna magna occaecat. Nulla ipsum cillum eiusmod sint elit excepteur ea labore enim consectetur in labore anim. Proident ullamco ipsum esse elit ut Lorem eiusmod dolor et eiusmod. Anim occaecat nulla in non consequat eiusmod velit incididunt.</p>
+ <h4 id="item-2">Item 2</h4>
+ <p>Quis magna Lorem anim amet ipsum do mollit sit cillum voluptate ex nulla tempor. Laborum consequat non elit enim exercitation cillum aliqua consequat id aliqua. Esse ex consectetur mollit voluptate est in duis laboris ad sit ipsum anim Lorem. Incididunt veniam velit elit elit veniam Lorem aliqua quis ullamco deserunt sit enim elit aliqua esse irure. Laborum nisi sit est tempor laborum mollit labore officia laborum excepteur commodo non commodo dolor excepteur commodo. Ipsum fugiat ex est consectetur ipsum commodo tempor sunt in proident.</p>
+ <h4 id="item-3">Item 3</h4>
+ <p>Quis anim sit do amet fugiat dolor velit sit ea ea do reprehenderit culpa duis. Nostrud aliqua ipsum fugiat minim proident occaecat excepteur aliquip culpa aute tempor reprehenderit. Deserunt tempor mollit elit ex pariatur dolore velit fugiat mollit culpa irure ullamco est ex ullamco excepteur.</p>
+ <h5 id="item-3-1">Item 3-1</h5>
+ <p>Deserunt quis elit Lorem eiusmod amet enim enim amet minim Lorem proident nostrud. Ea id dolore anim exercitation aute fugiat labore voluptate cillum do laboris labore. Ex velit exercitation nisi enim labore reprehenderit labore nostrud ut ut. Esse officia sunt duis aliquip ullamco tempor eiusmod deserunt irure nostrud irure. Ullamco proident veniam laboris ea consectetur magna sunt ex exercitation aliquip minim enim culpa occaecat exercitation. Est tempor excepteur aliquip laborum consequat do deserunt laborum esse eiusmod irure proident ipsum esse qui.</p>
+ <h5 id="item-3-2">Item 3-2</h5>
+ <p>Labore sit culpa commodo elit adipisicing sit aliquip elit proident voluptate minim mollit nostrud aute reprehenderit do. Mollit excepteur eu Lorem ipsum anim commodo sint labore Lorem in exercitation velit incididunt. Occaecat consectetur nisi in occaecat proident minim enim sunt reprehenderit exercitation cupidatat et do officia. Aliquip consequat ad labore labore mollit ut amet. Sit pariatur tempor proident in veniam culpa aliqua excepteur elit magna fugiat eiusmod amet officia.</p>
+ </div>
+ </div>
+ </div>
+</div>
-Scrollspy currently requires the use of a [Bootstrap nav component]({{ site.baseurl }}/components/navs/) for proper highlighting of active links.
+{% highlight html %}
+<nav id="navbar-example3" class="navbar navbar-light bg-faded">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <nav class="nav nav-pills flex-column">
+ <a class="nav-link" href="#item-1">Item 1</a>
+ <nav class="nav nav-pills flex-column">
+ <a class="nav-link ml-3 my-1" href="#item-1-1">Item 1-1</a>
+ <a class="nav-link ml-3 my-1" href="#item-1-2">Item 1-2</a>
+ </nav>
+ <a class="nav-link" href="#item-2">Item2</a>
+ <a class="nav-link" href="#item-3">Item3</a>
+ <nav class="nav nav-pills flex-column">
+ <a class="nav-link ml-3 my-1" href="#item-3-1">Item 3-1</a>
+ <a class="nav-link ml-3 my-1" href="#item-3-2">Item 3-2</a>
+ </nav>
+ </nav>
+</nav>
+
+<div data-spy="scroll" data-target="#navbar-example3" data-offset="0">
+ <h4 id="item-1">Item 1</h4>
+ <p>...</p>
+ <h5 id="item-1-1">Item 1-1</h5>
+ <p>...</p>
+ <h5 id="item-1-2">Item 2-2</h5>
+ <p>...</p>
+ <h4 id="item-2">Item 2</h4>
+ <p>...</p>
+ <h4 id="item-3">Item 3</h4>
+ <p>...</p>
+ <h5 id="item-3-1">Item 3-1</h5>
+ <p>...</p>
+ <h5 id="item-3-2">Item 3-2</h5>
+ <p>...</p>
+</div>
+{% endhighlight %}
-### Requires relative positioning
+## Example with list-group
-No matter the implementation method, scrollspy requires the use of `position: relative;` on the element you're spying on. In most cases this is the `<body>`. When scrollspying on elements other than the `<body>`, be sure to have a `height` set and `overflow-y: scroll;` applied.
+Scrollspy also works with `.list-group`s. Scroll the area next to the list group and watch the active class change.
+
+<div class="bd-example">
+ <div class="row">
+ <div class="col-4">
+ <div id="list-example" class="list-group">
+ <a class="list-group-item list-group-item-action" href="#list-item-1">Item 1</a>
+ <a class="list-group-item list-group-item-action" href="#list-item-2">Item2</a>
+ <a class="list-group-item list-group-item-action" href="#list-item-3">Item 3</a>
+ <a class="list-group-item list-group-item-action" href="#list-item-4">Item 4</a>
+ </div>
+ </div>
+ <div class="col-8">
+ <div data-spy="scroll" data-target="#list-example" data-offset="0" class="scrollspy-example">
+ <h4 id="list-item-1">Item 1</h4>
+ <p>Ex consequat commodo adipisicing exercitation aute excepteur occaecat ullamco duis aliqua id magna ullamco eu. Do aute ipsum ipsum ullamco cillum consectetur ut et aute consectetur labore. Fugiat laborum incididunt tempor eu consequat enim dolore proident. Qui laborum do non excepteur nulla magna eiusmod consectetur in. Aliqua et aliqua officia quis et incididunt voluptate non anim reprehenderit adipisicing dolore ut consequat deserunt mollit dolore. Aliquip nulla enim veniam non fugiat id cupidatat nulla elit cupidatat commodo velit ut eiusmod cupidatat elit dolore.</p>
+ <h4 id="list-item-2">Item 2</h4>
+ <p>Quis magna Lorem anim amet ipsum do mollit sit cillum voluptate ex nulla tempor. Laborum consequat non elit enim exercitation cillum aliqua consequat id aliqua. Esse ex consectetur mollit voluptate est in duis laboris ad sit ipsum anim Lorem. Incididunt veniam velit elit elit veniam Lorem aliqua quis ullamco deserunt sit enim elit aliqua esse irure. Laborum nisi sit est tempor laborum mollit labore officia laborum excepteur commodo non commodo dolor excepteur commodo. Ipsum fugiat ex est consectetur ipsum commodo tempor sunt in proident.</p>
+ <h4 id="list-item-3">Item 3</h4>
+ <p>Quis anim sit do amet fugiat dolor velit sit ea ea do reprehenderit culpa duis. Nostrud aliqua ipsum fugiat minim proident occaecat excepteur aliquip culpa aute tempor reprehenderit. Deserunt tempor mollit elit ex pariatur dolore velit fugiat mollit culpa irure ullamco est ex ullamco excepteur.</p>
+ <h4 id="list-item-4">Item 4</h4>
+ <p>Quis anim sit do amet fugiat dolor velit sit ea ea do reprehenderit culpa duis. Nostrud aliqua ipsum fugiat minim proident occaecat excepteur aliquip culpa aute tempor reprehenderit. Deserunt tempor mollit elit ex pariatur dolore velit fugiat mollit culpa irure ullamco est ex ullamco excepteur.</p>
+ </div>
+ </div>
+ </div>
+</div>
+
+{% highlight html %}
+<div id="list-example" class="list-group">
+ <a class="list-group-item list-group-item-action" href="#list-item-1">Item 1</a>
+ <a class="list-group-item list-group-item-action" href="#list-item-2">Item2</a>
+ <a class="list-group-item list-group-item-action" href="#list-item-3">Item 3</a>
+ <a class="list-group-item list-group-item-action" href="#list-item-4">Item 4</a>
+</div>
+<div data-spy="scroll" data-target="#list-example" data-offset="0" class="scrollspy-example">
+ <h4 id="list-item-1">Item 1</h4>
+ <p>...</p>
+ <h4 id="list-item-2">Item 2</h4>
+ <p>...</p>
+ <h4 id="list-item-3">Item 3</h4>
+ <p>...</p>
+ <h4 id="list-item-4">Item 4</h4>
+ <p>...</p>
+</div>
+{% endhighlight %}
+
+
+## Usage
### Via data attributes
@@ -117,45 +290,42 @@ $('[data-spy="scroll"]').each(function () {
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-offset=""`.
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 100px;">Name</th>
- <th style="width: 100px;">Type</th>
- <th style="width: 50px;">Default</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>offset</td>
- <td>number</td>
- <td>10</td>
- <td>Pixels to offset from top when calculating position of scroll.</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 100px;">Name</th>
+ <th style="width: 100px;">Type</th>
+ <th style="width: 50px;">Default</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>offset</td>
+ <td>number</td>
+ <td>10</td>
+ <td>Pixels to offset from top when calculating position of scroll.</td>
+ </tr>
+ </tbody>
+</table>
### Events
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 150px;">Event Type</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>activate.bs.scrollspy</td>
- <td>This event fires whenever a new item becomes activated by the scrollspy.</td>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 150px;">Event Type</th>
+ <th>Description</th>
</tr>
- </tbody>
- </table>
-</div>
+ </thead>
+ <tbody>
+ <tr>
+ <td>activate.bs.scrollspy</td>
+ <td>This event fires whenever a new item becomes activated by the scrollspy.</td>
+ </tr>
+ </tbody>
+</table>
+
{% highlight js %}
$('#myScrollspy').on('activate.bs.scrollspy', function () {
// do something…
diff --git a/docs/components/tooltips.md b/docs/components/tooltips.md
index 31fb2c1c7..2e630e93e 100644
--- a/docs/components/tooltips.md
+++ b/docs/components/tooltips.md
@@ -16,13 +16,14 @@ Inspired by the excellent Tipsy jQuery plugin written by Jason Frame. Tooltips a
Things to know when using the tooltip plugin:
-- Tooltips rely on the 3rd party library [Tether](http://tether.io/) for positioning. You must include [tether.min.js](https://github.com/HubSpot/tether/blob/master/dist/js/tether.min.js) before bootstrap.js in order for tooltips to work!
+- Tooltips rely on the 3rd party library [Popper.js](https://popper.js.org) for positioning. You must include [popper.min.js](https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js) before bootstrap.js in order for tooltips to work!
- Tooltips are opt-in for performance reasons, so **you must initialize them yourself**.
- Tooltips with zero-length titles are never displayed.
- Specify `container: 'body'` to avoid rendering problems in more complex components (like our input groups, button groups, etc).
- Triggering tooltips on hidden elements will not work.
- Tooltips for `.disabled` or `disabled` elements must be triggered on a wrapper element.
- When triggered from hyperlinks that span multiple lines, tooltips will be centered. Use `white-space: nowrap;` on your `<a>`s to avoid this behavior.
+- Tooltips must be hidden before their corresponding elements have been removed from the DOM.
Got all that? Great, let's see how they work with some examples.
@@ -50,22 +51,26 @@ Hover over the links below to see tooltips:
Four options are available: top, right, bottom, and left aligned.
<div class="bd-example bd-example-tooltip-static">
- <div class="tooltip tooltip-top" role="tooltip">
+ <div class="tooltip bs-tooltip-top bs-tooltip-top-docs" role="tooltip">
+ <div class="arrow" x-arrow></div>
<div class="tooltip-inner">
Tooltip on the top
</div>
</div>
- <div class="tooltip tooltip-right" role="tooltip">
+ <div class="tooltip bs-tooltip-right bs-tooltip-right-docs" role="tooltip">
+ <div class="arrow" x-arrow></div>
<div class="tooltip-inner">
Tooltip on the right
</div>
</div>
- <div class="tooltip tooltip-bottom" role="tooltip">
+ <div class="tooltip bs-tooltip-bottom bs-tooltip-bottom-docs" role="tooltip">
+ <div class="arrow" x-arrow></div>
<div class="tooltip-inner">
Tooltip on the bottom
</div>
</div>
- <div class="tooltip tooltip-left" role="tooltip">
+ <div class="tooltip bs-tooltip-left bs-tooltip-left-docs" role="tooltip">
+ <div class="arrow" x-arrow></div>
<div class="tooltip-inner">
Tooltip on the left
</div>
@@ -134,8 +139,8 @@ You should only add tooltips to HTML elements that are traditionally keyboard-fo
<a href="#" data-toggle="tooltip" title="Some tooltip text!">Hover over me</a>
<!-- Generated markup by the plugin -->
-<div class="tooltip tooltip-top" role="tooltip">
- <div class="tooltip-arrow"></div>
+<div class="tooltip bs-tooltip-top" role="tooltip">
+ <div class="arrow" x-arrow></div>
<div class="tooltip-inner">
Some tooltip text!
</div>
@@ -146,107 +151,106 @@ You should only add tooltips to HTML elements that are traditionally keyboard-fo
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-animation=""`.
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 100px;">Name</th>
- <th style="width: 100px;">Type</th>
- <th style="width: 50px;">Default</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>animation</td>
- <td>boolean</td>
- <td>true</td>
- <td>Apply a CSS fade transition to the tooltip</td>
- </tr>
- <tr>
- <td>container</td>
- <td>string | element | false</td>
- <td>false</td>
- <td>
- <p>Appends the tooltip to a specific element. Example: <code>container: 'body'</code>. This option is particularly useful in that it allows you to position the tooltip in the flow of the document near the triggering element - which will prevent the tooltip from floating away from the triggering element during a window resize.</p>
- </td>
- </tr>
- <tr>
- <td>delay</td>
- <td>number | object</td>
- <td>0</td>
- <td>
- <p>Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type</p>
- <p>If a number is supplied, delay is applied to both hide/show</p>
- <p>Object structure is: <code>delay: { "show": 500, "hide": 100 }</code></p>
- </td>
- </tr>
- <tr>
- <td>html</td>
- <td>boolean</td>
- <td>false</td>
- <td>
- <p>Allow HTML in the tooltip.</p>
- <p>If true, HTML tags in the tooltip's <code>title</code> will be rendered in the tooltip. If false, jQuery's <code>text</code> method will be used to insert content into the DOM.</p>
- <p>Use text if you're worried about XSS attacks.</p>
- </td>
- </tr>
- <tr>
- <td>placement</td>
- <td>string | function</td>
- <td>'top'</td>
- <td>
- <p>How to position the tooltip - top | bottom | left | right.</p>
- <p>When a function is used to determine the placement, it is called with the tooltip DOM node as its first argument and the triggering element DOM node as its second. The <code>this</code> context is set to the tooltip instance.</p>
- </td>
- </tr>
- <tr>
- <td>selector</td>
- <td>string</td>
- <td>false</td>
- <td>If a selector is provided, popover objects will be delegated to the specified targets. In practice, this is used to enable dynamic HTML content to have popovers added. See <a href="https://github.com/twbs/bootstrap/issues/4215">this</a> and <a href="https://jsbin.com/zopod/1/edit">an informative example</a>.</td>
- </tr>
- <tr>
- <td>template</td>
- <td>string</td>
- <td><code>'&lt;div class="tooltip" role="tooltip"&gt;&lt;div class="tooltip-arrow"&gt;&lt;/div&gt;&lt;div class="tooltip-inner"&gt;&lt;/div&gt;&lt;/div&gt;'</code></td>
- <td>
- <p>Base HTML to use when creating the tooltip.</p>
- <p>The tooltip's <code>title</code> will be injected into the <code>.tooltip-inner</code>.</p>
- <p><code>.tooltip-arrow</code> will become the tooltip's arrow.</p>
- <p>The outermost wrapper element should have the <code>.tooltip</code> class.</p>
- </td>
- </tr>
- <tr>
- <td>title</td>
- <td>string | element | function</td>
- <td>''</td>
- <td>
- <p>Default title value if <code>title</code> attribute isn't present.</p>
- <p>If a function is given, it will be called with its <code>this</code> reference set to the element that the tooltip is attached to.</p>
- </td>
- </tr>
- <tr>
- <td>trigger</td>
- <td>string</td>
- <td>'hover focus'</td>
- <td>How tooltip is triggered - click | hover | focus | manual. You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.</td>
- </tr>
- <tr>
- <td>constraints</td>
- <td>Array</td>
- <td>[]</td>
- <td>An array of constraints - passed through to Tether. For more information refer to Tether's <a href="http://tether.io/#constraints">constraint docs</a>.</td>
- </tr>
- <tr>
- <td>offset</td>
- <td>string</td>
- <td>'0 0'</td>
- <td>Offset of the popover relative to its target. For more information refer to Tether's <a href="http://tether.io/#constraints">offset docs</a>.</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 100px;">Name</th>
+ <th style="width: 100px;">Type</th>
+ <th style="width: 50px;">Default</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>animation</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Apply a CSS fade transition to the tooltip</td>
+ </tr>
+ <tr>
+ <td>container</td>
+ <td>string | element | false</td>
+ <td>false</td>
+ <td>
+ <p>Appends the tooltip to a specific element. Example: <code>container: 'body'</code>. This option is particularly useful in that it allows you to position the tooltip in the flow of the document near the triggering element - which will prevent the tooltip from floating away from the triggering element during a window resize.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>delay</td>
+ <td>number | object</td>
+ <td>0</td>
+ <td>
+ <p>Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type</p>
+ <p>If a number is supplied, delay is applied to both hide/show</p>
+ <p>Object structure is: <code>delay: { "show": 500, "hide": 100 }</code></p>
+ </td>
+ </tr>
+ <tr>
+ <td>html</td>
+ <td>boolean</td>
+ <td>false</td>
+ <td>
+ <p>Allow HTML in the tooltip.</p>
+ <p>If true, HTML tags in the tooltip's <code>title</code> will be rendered in the tooltip. If false, jQuery's <code>text</code> method will be used to insert content into the DOM.</p>
+ <p>Use text if you're worried about XSS attacks.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>placement</td>
+ <td>string | function</td>
+ <td>'top'</td>
+ <td>
+ <p>How to position the tooltip - auto | top | bottom | left | right.<br>When <code>auto</code> is specified, it will dynamically reorient the tooltip.</p>
+ <p>When a function is used to determine the placement, it is called with the tooltip DOM node as its first argument and the triggering element DOM node as its second. The <code>this</code> context is set to the tooltip instance.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>selector</td>
+ <td>string</td>
+ <td>false</td>
+ <td>If a selector is provided, tooltip objects will be delegated to the specified targets. In practice, this is used to enable dynamic HTML content to have popovers added. See <a href="https://github.com/twbs/bootstrap/issues/4215">this</a> and <a href="https://jsbin.com/zopod/1/edit">an informative example</a>.</td>
+ </tr>
+ <tr>
+ <td>template</td>
+ <td>string</td>
+ <td><code>'&lt;div class="tooltip" role="tooltip"&gt;&lt;div class="arrow" x-arrow&gt;&lt;/div&gt;&lt;div class="tooltip-inner"&gt;&lt;/div&gt;&lt;/div&gt;'</code></td>
+ <td>
+ <p>Base HTML to use when creating the tooltip.</p>
+ <p>The tooltip's <code>title</code> will be injected into the <code>.tooltip-inner</code>.</p>
+ <p><code>.arrow</code> will become the tooltip's arrow.</p>
+ <p>The outermost wrapper element should have the <code>.tooltip</code> class.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>title</td>
+ <td>string | element | function</td>
+ <td>''</td>
+ <td>
+ <p>Default title value if <code>title</code> attribute isn't present.</p>
+ <p>If a function is given, it will be called with its <code>this</code> reference set to the element that the tooltip is attached to.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>trigger</td>
+ <td>string</td>
+ <td>'hover focus'</td>
+ <td>How tooltip is triggered - click | hover | focus | manual. You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.</td>
+ </tr>
+ <tr>
+ <td>offset</td>
+ <td>number | string</td>
+ <td>0</td>
+ <td>Offset of the tooltip relative to its target. For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</td>
+ </tr>
+ <tr>
+ <td>fallbackPlacement</td>
+ <td>string | array</td>
+ <td>'flip'</td>
+ <td>Allow to specify which position Popper will use on fallback. For more information refer to
+ Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..flip.behavior">behavior docs</a></td>
+ </tr>
+ </tbody>
+</table>
{% callout info %}
#### Data attributes for individual tooltips
@@ -256,6 +260,9 @@ Options for individual tooltips can alternatively be specified through the use o
### Methods
+{% capture callout-include %}{% include callout-danger-async-methods.md %}{% endcapture %}
+{{ callout-include | markdownify }}
+
#### `$().tooltip(options)`
Attaches a tooltip handler to an element collection.
@@ -284,36 +291,62 @@ Hides and destroys an element's tooltip. Tooltips that use delegation (which are
{% highlight js %}$('#element').tooltip('dispose'){% endhighlight %}
+#### `.tooltip('enable')`
+
+Gives an element's tooltip the ability to be shown. **Tooltips are enabled by default.**
+
+{% highlight js %}$('#element').tooltip('enable'){% endhighlight %}
+
+#### `.tooltip('disable')`
+
+Removes the ability for an element's tooltip to be shown. The tooltip will only be able to be shown if it is re-enabled.
+
+{% highlight js %}$('#element').tooltip('disable'){% endhighlight %}
+
+#### `.tooltip('toggleEnabled')`
+
+Toggles the ability for an element's tooltip to be shown or hidden.
+
+{% highlight js %}$('#element').tooltip('toggleEnabled'){% endhighlight %}
+
+#### `.tooltip('update')`
+
+Updates the position of an element's tooltip.
+
+{% highlight js %}$('#element').tooltip('update'){% endhighlight %}
+
### Events
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th style="width: 150px;">Event Type</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>show.bs.tooltip</td>
- <td>This event fires immediately when the <code>show</code> instance method is called.</td>
- </tr>
- <tr>
- <td>shown.bs.tooltip</td>
- <td>This event is fired when the tooltip has been made visible to the user (will wait for CSS transitions to complete).</td>
- </tr>
- <tr>
- <td>hide.bs.tooltip</td>
- <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
- </tr>
- <tr>
- <td>hidden.bs.tooltip</td>
- <td>This event is fired when the tooltip has finished being hidden from the user (will wait for CSS transitions to complete).</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th style="width: 150px;">Event Type</th>
+ <th>Description</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>show.bs.tooltip</td>
+ <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+ </tr>
+ <tr>
+ <td>shown.bs.tooltip</td>
+ <td>This event is fired when the tooltip has been made visible to the user (will wait for CSS transitions to complete).</td>
+ </tr>
+ <tr>
+ <td>hide.bs.tooltip</td>
+ <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
+ </tr>
+ <tr>
+ <td>hidden.bs.tooltip</td>
+ <td>This event is fired when the tooltip has finished being hidden from the user (will wait for CSS transitions to complete).</td>
+ </tr>
+ <tr>
+ <td>inserted.bs.tooltip</td>
+ <td>This event is fired after the <code>show.bs.tooltip</code> event when the tooltip template has been added to the DOM.</td>
+ </tr>
+ </tbody>
+</table>
{% highlight js %}
$('#myTooltip').on('hidden.bs.tooltip', function () {
diff --git a/docs/content/images.md b/docs/content/images.md
index fc8cda6b4..a89206488 100644
--- a/docs/content/images.md
+++ b/docs/content/images.md
@@ -25,9 +25,9 @@ Images in Bootstrap are made responsive with `.img-fluid`. `max-width: 100%;` an
{% endhighlight %}
{% callout warning %}
-#### SVG images and IE 9-10
+#### SVG images and IE 10
-In Internet Explorer 9-10, SVG images with `.img-fluid` are disproportionately sized. To fix this, add `width: 100% \9;` where necessary. This fix improperly sizes other image formats, so Bootstrap doesn't apply it automatically.
+In Internet Explorer 10, SVG images with `.img-fluid` are disproportionately sized. To fix this, add `width: 100% \9;` where necessary. This fix improperly sizes other image formats, so Bootstrap doesn't apply it automatically.
{% endcallout %}
## Image thumbnails
diff --git a/docs/content/reboot.md b/docs/content/reboot.md
index 08ad15a6a..ab65fe172 100644
--- a/docs/content/reboot.md
+++ b/docs/content/reboot.md
@@ -1,7 +1,7 @@
---
layout: docs
title: Reboot
-description: Documentation and examples for Reboot, Bootstrap's collection of element-specific CSS that builds on Normalize.css.
+description: Documentation and examples for Reboot, Bootstrap's collection of element-specific CSS that heavily builds on Normalize.css.
group: content
redirect_from: "/content/"
---
@@ -29,7 +29,7 @@ Here are our guidelines and reasons for choosing what to override in Reboot:
The `<html>` and `<body>` elements are updated to provide better page-wide defaults. More specifically:
- The `box-sizing` is globally set on every element—including `*:before` and `*:after`, to `border-box`. This ensures that the declared width of element is never exceeded due to padding or border.
-- A base `font-size: 16px` is declared on the `<html>` and `font-size: 1rem` on the `<body>` for easy responsive type-scaling via media queries.
+ - No base `font-size` is declared on the `<html>`, but `16px` is assumed (the browser default). `font-size: 1rem` is applied on the `<body>` for easy responsive type-scaling via media queries while respecting user preferences and ensuring a more accessible approach.
- The `<body>` also sets a global `font-family` and `line-height`. This is inherited later by some form elements to prevent font inconsistencies.
- For safety, the `<body>` has a declared `background-color`, defaulting to `#fff`.
@@ -311,7 +311,7 @@ The `<abbr>` element receives basic styling to make it stand out amongst paragra
## HTML5 `[hidden]` attribute
-HTML5 adds [a new global attribute named `[hidden]`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden), which is styled as `display: none` by default. Borrowing an idea from [PureCSS](http://purecss.io), we improve upon this default by making `[hidden] { display: none !important; }` to help prevent its `display` from getting accidentally overridden. While `[hidden]` isn't natively supported by IE10, the explicit declaration in our CSS gets around that problem.
+HTML5 adds [a new global attribute named `[hidden]`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden), which is styled as `display: none` by default. Borrowing an idea from [PureCSS](https://purecss.io), we improve upon this default by making `[hidden] { display: none !important; }` to help prevent its `display` from getting accidentally overridden. While `[hidden]` isn't natively supported by IE10, the explicit declaration in our CSS gets around that problem.
{% highlight html %}
<input type="text" hidden>
diff --git a/docs/content/tables.md b/docs/content/tables.md
index da847611f..62579ac69 100644
--- a/docs/content/tables.md
+++ b/docs/content/tables.md
@@ -442,50 +442,13 @@ Add `.table-sm` to make tables more compact by cutting cell padding in half.
Use contextual classes to color table rows or individual cells.
-<table class="table table-bordered table-striped table-responsive">
- <colgroup>
- <col class="col-1">
- <col class="col-7">
- </colgroup>
- <thead>
- <tr>
- <th>Class</th>
- <th>Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">
- <code>.table-active</code>
- </th>
- <td>Applies the hover color to a particular row or cell</td>
- </tr>
- <tr>
- <th scope="row">
- <code>.table-success</code>
- </th>
- <td>Indicates a successful or positive action</td>
- </tr>
- <tr>
- <th scope="row">
- <code>.table-info</code>
- </th>
- <td>Indicates a neutral informative change or action</td>
- </tr>
- <tr>
- <th scope="row">
- <code>.table-warning</code>
- </th>
- <td>Indicates a warning that might need attention</td>
- </tr>
- <tr>
- <th scope="row">
- <code>.table-danger</code>
- </th>
- <td>Indicates a dangerous or potentially negative action</td>
- </tr>
- </tbody>
-</table>
+| Class | Description |
+| --- | --- |
+| `.table-active` | Applies the hover color to a particular row or cell |
+| `.table-success` | Indicates a successful or positive action |
+| `.table-info` | Indicates a neutral informative change or action |
+| `.table-warning` | Indicates a warning that might need attention |
+| `.table-danger` | Indicates a dangerous or potentially negative action |
<div class="bd-example">
<table class="table">
@@ -560,17 +523,17 @@ Use contextual classes to color table rows or individual cells.
<!-- On rows -->
<tr class="table-active">...</tr>
<tr class="table-success">...</tr>
+<tr class="table-info">...</tr>
<tr class="table-warning">...</tr>
<tr class="table-danger">...</tr>
-<tr class="table-info">...</tr>
<!-- On cells (`td` or `th`) -->
<tr>
<td class="table-active">...</td>
<td class="table-success">...</td>
+ <td class="table-info">...</td>
<td class="table-warning">...</td>
<td class="table-danger">...</td>
- <td class="table-info">...</td>
</tr>
{% endhighlight %}
@@ -765,65 +728,7 @@ Responsive tables make use of `overflow-y: hidden`, which clips off any content
</div>
{% highlight html %}
-<table class="table table-responsive"">
+<table class="table table-responsive">
...
</table>
{% endhighlight %}
-
-
-### Reflow
-Turn traditional tables on their side by using `table-reflow`. When using reflow, the table header becomes the first column of the table, the first row within the table body becomes the second column, the second row becomes the third column, etc.
-
-{% callout warning %}
-#### Content order and complex tables
-
-Beware that the `table-reflow` style changes the visual order of content. Make sure that you only apply this style to well-formed and simple data tables (and in particular, don't use this for layout tables) with appropriate `<th>` table header cells for each row and column.
-
-In addition, this class will not work correctly for tables with cells that span multiple rows or columns (using `rowspan` or `colspan` attributes).
-
-{% endcallout %}
-
-{% example html %}
-<table class="table table-reflow">
- <thead>
- <tr>
- <th>#</th>
- <th>Table heading</th>
- <th>Table heading</th>
- <th>Table heading</th>
- <th>Table heading</th>
- <th>Table heading</th>
- <th>Table heading</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">1</th>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- </tr>
- <tr>
- <th scope="row">2</th>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- </tr>
- <tr>
- <th scope="row">3</th>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- <td>Table cell</td>
- </tr>
- </tbody>
-</table>
-{% endexample %}
diff --git a/docs/content/typography.md b/docs/content/typography.md
index 073734768..4fe5bbe02 100644
--- a/docs/content/typography.md
+++ b/docs/content/typography.md
@@ -5,7 +5,7 @@ description: Documentation and examples for Bootstrap typography, including glob
group: content
---
-Bootstrap includes simple and easily customized typography for headings, body text, lists, and more. For even more control, check out the [textual utility classes]({{ site.baseurl }}/utilities/typography).
+Bootstrap includes simple and easily customized typography for headings, body text, lists, and more. For even more control, check out the [textual utility classes]({{ site.baseurl }}/utilities/typography/).
## Contents
@@ -17,6 +17,7 @@ Bootstrap includes simple and easily customized typography for headings, body te
Bootstrap sets basic global display, typography, and link styles. Specifically, we:
- Use a [native font stack]({{ site.baseurl }}/content/reboot/#native-font-stack) that selects the best `font-family` for each OS and device.
+- For a more inclusive and accessible type scale, we assume the browser default root `font-size` (typically 16px) so visitors can customize their browser defaults as needed.
- Use the `$font-family-base`, `$font-size-base`, and `$line-height-base` attributes as our typographic base applied to the `<body>`.
- Set the global link color via `$link-color` and apply link underlines only on `:hover`.
- Use `$body-bg` to set a `background-color` on the `<body>` (`#fff` by default).
@@ -154,7 +155,7 @@ Change text alignment, transform, style, weight, and color with our [text utilit
## Abbreviations
-Stylized implementation of HTML's `<abbr>` element for abbreviations and acronyms to show the expanded version on hover. Abbreviations have a default underline from Normalize.css and gain a help cursor to provide additional context on hover and to users of assistive technologies.
+Stylized implementation of HTML's `<abbr>` element for abbreviations and acronyms to show the expanded version on hover. Abbreviations have a default underline and gain a help cursor to provide additional context on hover and to users of assistive technologies.
Add `.initialism` to an abbreviation for a slightly smaller font-size.
diff --git a/docs/dist/css/bootstrap-grid.css b/docs/dist/css/bootstrap-grid.css
index b5805a860..0bb960ecc 100644
--- a/docs/dist/css/bootstrap-grid.css
+++ b/docs/dist/css/bootstrap-grid.css
@@ -16,8 +16,8 @@ html {
}
.container {
- margin-left: auto;
margin-right: auto;
+ margin-left: auto;
padding-right: 15px;
padding-left: 15px;
}
@@ -79,8 +79,9 @@ html {
}
.container-fluid {
- margin-left: auto;
+ width: 100%;
margin-right: auto;
+ margin-left: auto;
padding-right: 15px;
padding-left: 15px;
}
@@ -164,7 +165,12 @@ html {
padding-left: 0;
}
-.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+.col-xl-auto {
position: relative;
width: 100%;
min-height: 1px;
@@ -173,28 +179,48 @@ html {
}
@media (min-width: 576px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 768px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 992px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 1200px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
@@ -220,99 +246,51 @@ html {
}
.col-1 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 8.333333%;
- -ms-flex: 0 0 8.333333%;
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ width: 8.333333%;
}
.col-2 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 16.666667%;
- -ms-flex: 0 0 16.666667%;
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ width: 16.666667%;
}
.col-3 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 25%;
- -ms-flex: 0 0 25%;
- flex: 0 0 25%;
- max-width: 25%;
+ width: 25%;
}
.col-4 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 33.333333%;
- -ms-flex: 0 0 33.333333%;
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ width: 33.333333%;
}
.col-5 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 41.666667%;
- -ms-flex: 0 0 41.666667%;
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ width: 41.666667%;
}
.col-6 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 50%;
- -ms-flex: 0 0 50%;
- flex: 0 0 50%;
- max-width: 50%;
+ width: 50%;
}
.col-7 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 58.333333%;
- -ms-flex: 0 0 58.333333%;
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ width: 58.333333%;
}
.col-8 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 66.666667%;
- -ms-flex: 0 0 66.666667%;
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ width: 66.666667%;
}
.col-9 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 75%;
- -ms-flex: 0 0 75%;
- flex: 0 0 75%;
- max-width: 75%;
+ width: 75%;
}
.col-10 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 83.333333%;
- -ms-flex: 0 0 83.333333%;
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ width: 83.333333%;
}
.col-11 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 91.666667%;
- -ms-flex: 0 0 91.666667%;
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ width: 91.666667%;
}
.col-12 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 100%;
- -ms-flex: 0 0 100%;
- flex: 0 0 100%;
- max-width: 100%;
+ width: 100%;
}
.pull-0 {
@@ -482,88 +460,40 @@ html {
width: auto;
}
.col-sm-1 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 8.333333%;
- -ms-flex: 0 0 8.333333%;
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ width: 8.333333%;
}
.col-sm-2 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 16.666667%;
- -ms-flex: 0 0 16.666667%;
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ width: 16.666667%;
}
.col-sm-3 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 25%;
- -ms-flex: 0 0 25%;
- flex: 0 0 25%;
- max-width: 25%;
+ width: 25%;
}
.col-sm-4 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 33.333333%;
- -ms-flex: 0 0 33.333333%;
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ width: 33.333333%;
}
.col-sm-5 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 41.666667%;
- -ms-flex: 0 0 41.666667%;
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ width: 41.666667%;
}
.col-sm-6 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 50%;
- -ms-flex: 0 0 50%;
- flex: 0 0 50%;
- max-width: 50%;
+ width: 50%;
}
.col-sm-7 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 58.333333%;
- -ms-flex: 0 0 58.333333%;
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ width: 58.333333%;
}
.col-sm-8 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 66.666667%;
- -ms-flex: 0 0 66.666667%;
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ width: 66.666667%;
}
.col-sm-9 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 75%;
- -ms-flex: 0 0 75%;
- flex: 0 0 75%;
- max-width: 75%;
+ width: 75%;
}
.col-sm-10 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 83.333333%;
- -ms-flex: 0 0 83.333333%;
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ width: 83.333333%;
}
.col-sm-11 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 91.666667%;
- -ms-flex: 0 0 91.666667%;
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ width: 91.666667%;
}
.col-sm-12 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 100%;
- -ms-flex: 0 0 100%;
- flex: 0 0 100%;
- max-width: 100%;
+ width: 100%;
}
.pull-sm-0 {
right: auto;
@@ -700,88 +630,40 @@ html {
width: auto;
}
.col-md-1 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 8.333333%;
- -ms-flex: 0 0 8.333333%;
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ width: 8.333333%;
}
.col-md-2 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 16.666667%;
- -ms-flex: 0 0 16.666667%;
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ width: 16.666667%;
}
.col-md-3 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 25%;
- -ms-flex: 0 0 25%;
- flex: 0 0 25%;
- max-width: 25%;
+ width: 25%;
}
.col-md-4 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 33.333333%;
- -ms-flex: 0 0 33.333333%;
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ width: 33.333333%;
}
.col-md-5 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 41.666667%;
- -ms-flex: 0 0 41.666667%;
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ width: 41.666667%;
}
.col-md-6 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 50%;
- -ms-flex: 0 0 50%;
- flex: 0 0 50%;
- max-width: 50%;
+ width: 50%;
}
.col-md-7 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 58.333333%;
- -ms-flex: 0 0 58.333333%;
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ width: 58.333333%;
}
.col-md-8 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 66.666667%;
- -ms-flex: 0 0 66.666667%;
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ width: 66.666667%;
}
.col-md-9 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 75%;
- -ms-flex: 0 0 75%;
- flex: 0 0 75%;
- max-width: 75%;
+ width: 75%;
}
.col-md-10 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 83.333333%;
- -ms-flex: 0 0 83.333333%;
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ width: 83.333333%;
}
.col-md-11 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 91.666667%;
- -ms-flex: 0 0 91.666667%;
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ width: 91.666667%;
}
.col-md-12 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 100%;
- -ms-flex: 0 0 100%;
- flex: 0 0 100%;
- max-width: 100%;
+ width: 100%;
}
.pull-md-0 {
right: auto;
@@ -918,88 +800,40 @@ html {
width: auto;
}
.col-lg-1 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 8.333333%;
- -ms-flex: 0 0 8.333333%;
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ width: 8.333333%;
}
.col-lg-2 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 16.666667%;
- -ms-flex: 0 0 16.666667%;
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ width: 16.666667%;
}
.col-lg-3 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 25%;
- -ms-flex: 0 0 25%;
- flex: 0 0 25%;
- max-width: 25%;
+ width: 25%;
}
.col-lg-4 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 33.333333%;
- -ms-flex: 0 0 33.333333%;
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ width: 33.333333%;
}
.col-lg-5 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 41.666667%;
- -ms-flex: 0 0 41.666667%;
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ width: 41.666667%;
}
.col-lg-6 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 50%;
- -ms-flex: 0 0 50%;
- flex: 0 0 50%;
- max-width: 50%;
+ width: 50%;
}
.col-lg-7 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 58.333333%;
- -ms-flex: 0 0 58.333333%;
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ width: 58.333333%;
}
.col-lg-8 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 66.666667%;
- -ms-flex: 0 0 66.666667%;
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ width: 66.666667%;
}
.col-lg-9 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 75%;
- -ms-flex: 0 0 75%;
- flex: 0 0 75%;
- max-width: 75%;
+ width: 75%;
}
.col-lg-10 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 83.333333%;
- -ms-flex: 0 0 83.333333%;
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ width: 83.333333%;
}
.col-lg-11 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 91.666667%;
- -ms-flex: 0 0 91.666667%;
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ width: 91.666667%;
}
.col-lg-12 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 100%;
- -ms-flex: 0 0 100%;
- flex: 0 0 100%;
- max-width: 100%;
+ width: 100%;
}
.pull-lg-0 {
right: auto;
@@ -1136,88 +970,40 @@ html {
width: auto;
}
.col-xl-1 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 8.333333%;
- -ms-flex: 0 0 8.333333%;
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ width: 8.333333%;
}
.col-xl-2 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 16.666667%;
- -ms-flex: 0 0 16.666667%;
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ width: 16.666667%;
}
.col-xl-3 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 25%;
- -ms-flex: 0 0 25%;
- flex: 0 0 25%;
- max-width: 25%;
+ width: 25%;
}
.col-xl-4 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 33.333333%;
- -ms-flex: 0 0 33.333333%;
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ width: 33.333333%;
}
.col-xl-5 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 41.666667%;
- -ms-flex: 0 0 41.666667%;
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ width: 41.666667%;
}
.col-xl-6 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 50%;
- -ms-flex: 0 0 50%;
- flex: 0 0 50%;
- max-width: 50%;
+ width: 50%;
}
.col-xl-7 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 58.333333%;
- -ms-flex: 0 0 58.333333%;
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ width: 58.333333%;
}
.col-xl-8 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 66.666667%;
- -ms-flex: 0 0 66.666667%;
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ width: 66.666667%;
}
.col-xl-9 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 75%;
- -ms-flex: 0 0 75%;
- flex: 0 0 75%;
- max-width: 75%;
+ width: 75%;
}
.col-xl-10 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 83.333333%;
- -ms-flex: 0 0 83.333333%;
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ width: 83.333333%;
}
.col-xl-11 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 91.666667%;
- -ms-flex: 0 0 91.666667%;
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ width: 91.666667%;
}
.col-xl-12 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 100%;
- -ms-flex: 0 0 100%;
- flex: 0 0 100%;
- max-width: 100%;
+ width: 100%;
}
.pull-xl-0 {
right: auto;
@@ -1334,4 +1120,963 @@ html {
margin-left: 91.666667%;
}
}
+
+.order-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+}
+
+.order-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+}
+
+.order-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+}
+
+.flex-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+}
+
+.flex-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+}
+
+.flex-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+}
+
+.flex-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+}
+
+.flex-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+}
+
+.flex-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+}
+
+.flex-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+}
+
+.justify-content-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+}
+
+.justify-content-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+}
+
+.justify-content-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+}
+
+.justify-content-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+}
+
+.justify-content-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+}
+
+.align-items-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+}
+
+.align-items-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+}
+
+.align-items-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+}
+
+.align-items-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+}
+
+.align-items-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+}
+
+.align-content-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+}
+
+.align-content-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+}
+
+.align-content-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+}
+
+.align-content-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+}
+
+.align-content-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+}
+
+.align-content-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+}
+
+.align-self-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+}
+
+.align-self-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+}
+
+.align-self-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+}
+
+.align-self-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+}
+
+.align-self-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+}
+
+.align-self-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+}
+
+@media (min-width: 576px) {
+ .order-sm-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-sm-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-sm-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-sm-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-sm-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-sm-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-sm-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-sm-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-sm-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-sm-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-sm-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-sm-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-sm-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-sm-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-sm-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-sm-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-sm-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-sm-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-sm-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-sm-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-sm-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-sm-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-sm-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-sm-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-sm-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-sm-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-sm-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-sm-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-sm-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-sm-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-sm-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-sm-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 768px) {
+ .order-md-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-md-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-md-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-md-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-md-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-md-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-md-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-md-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-md-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-md-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-md-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-md-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-md-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-md-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-md-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-md-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-md-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-md-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-md-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-md-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-md-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-md-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-md-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-md-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-md-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-md-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-md-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-md-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-md-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-md-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-md-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-md-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 992px) {
+ .order-lg-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-lg-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-lg-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-lg-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-lg-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-lg-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-lg-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-lg-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-lg-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-lg-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-lg-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-lg-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-lg-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-lg-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-lg-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-lg-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-lg-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-lg-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-lg-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-lg-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-lg-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-lg-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-lg-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-lg-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-lg-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-lg-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-lg-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-lg-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-lg-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-lg-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-lg-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-lg-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .order-xl-first {
+ -webkit-box-ordinal-group: 0;
+ -webkit-order: -1;
+ -ms-flex-order: -1;
+ order: -1;
+ }
+ .order-xl-last {
+ -webkit-box-ordinal-group: 2;
+ -webkit-order: 1;
+ -ms-flex-order: 1;
+ order: 1;
+ }
+ .order-xl-0 {
+ -webkit-box-ordinal-group: 1;
+ -webkit-order: 0;
+ -ms-flex-order: 0;
+ order: 0;
+ }
+ .flex-xl-row {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: row !important;
+ -ms-flex-direction: row !important;
+ flex-direction: row !important;
+ }
+ .flex-xl-column {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: normal !important;
+ -webkit-flex-direction: column !important;
+ -ms-flex-direction: column !important;
+ flex-direction: column !important;
+ }
+ .flex-xl-row-reverse {
+ -webkit-box-orient: horizontal !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: row-reverse !important;
+ -ms-flex-direction: row-reverse !important;
+ flex-direction: row-reverse !important;
+ }
+ .flex-xl-column-reverse {
+ -webkit-box-orient: vertical !important;
+ -webkit-box-direction: reverse !important;
+ -webkit-flex-direction: column-reverse !important;
+ -ms-flex-direction: column-reverse !important;
+ flex-direction: column-reverse !important;
+ }
+ .flex-xl-wrap {
+ -webkit-flex-wrap: wrap !important;
+ -ms-flex-wrap: wrap !important;
+ flex-wrap: wrap !important;
+ }
+ .flex-xl-nowrap {
+ -webkit-flex-wrap: nowrap !important;
+ -ms-flex-wrap: nowrap !important;
+ flex-wrap: nowrap !important;
+ }
+ .flex-xl-wrap-reverse {
+ -webkit-flex-wrap: wrap-reverse !important;
+ -ms-flex-wrap: wrap-reverse !important;
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xl-start {
+ -webkit-box-pack: start !important;
+ -webkit-justify-content: flex-start !important;
+ -ms-flex-pack: start !important;
+ justify-content: flex-start !important;
+ }
+ .justify-content-xl-end {
+ -webkit-box-pack: end !important;
+ -webkit-justify-content: flex-end !important;
+ -ms-flex-pack: end !important;
+ justify-content: flex-end !important;
+ }
+ .justify-content-xl-center {
+ -webkit-box-pack: center !important;
+ -webkit-justify-content: center !important;
+ -ms-flex-pack: center !important;
+ justify-content: center !important;
+ }
+ .justify-content-xl-between {
+ -webkit-box-pack: justify !important;
+ -webkit-justify-content: space-between !important;
+ -ms-flex-pack: justify !important;
+ justify-content: space-between !important;
+ }
+ .justify-content-xl-around {
+ -webkit-justify-content: space-around !important;
+ -ms-flex-pack: distribute !important;
+ justify-content: space-around !important;
+ }
+ .align-items-xl-start {
+ -webkit-box-align: start !important;
+ -webkit-align-items: flex-start !important;
+ -ms-flex-align: start !important;
+ align-items: flex-start !important;
+ }
+ .align-items-xl-end {
+ -webkit-box-align: end !important;
+ -webkit-align-items: flex-end !important;
+ -ms-flex-align: end !important;
+ align-items: flex-end !important;
+ }
+ .align-items-xl-center {
+ -webkit-box-align: center !important;
+ -webkit-align-items: center !important;
+ -ms-flex-align: center !important;
+ align-items: center !important;
+ }
+ .align-items-xl-baseline {
+ -webkit-box-align: baseline !important;
+ -webkit-align-items: baseline !important;
+ -ms-flex-align: baseline !important;
+ align-items: baseline !important;
+ }
+ .align-items-xl-stretch {
+ -webkit-box-align: stretch !important;
+ -webkit-align-items: stretch !important;
+ -ms-flex-align: stretch !important;
+ align-items: stretch !important;
+ }
+ .align-content-xl-start {
+ -webkit-align-content: flex-start !important;
+ -ms-flex-line-pack: start !important;
+ align-content: flex-start !important;
+ }
+ .align-content-xl-end {
+ -webkit-align-content: flex-end !important;
+ -ms-flex-line-pack: end !important;
+ align-content: flex-end !important;
+ }
+ .align-content-xl-center {
+ -webkit-align-content: center !important;
+ -ms-flex-line-pack: center !important;
+ align-content: center !important;
+ }
+ .align-content-xl-between {
+ -webkit-align-content: space-between !important;
+ -ms-flex-line-pack: justify !important;
+ align-content: space-between !important;
+ }
+ .align-content-xl-around {
+ -webkit-align-content: space-around !important;
+ -ms-flex-line-pack: distribute !important;
+ align-content: space-around !important;
+ }
+ .align-content-xl-stretch {
+ -webkit-align-content: stretch !important;
+ -ms-flex-line-pack: stretch !important;
+ align-content: stretch !important;
+ }
+ .align-self-xl-auto {
+ -webkit-align-self: auto !important;
+ -ms-flex-item-align: auto !important;
+ -ms-grid-row-align: auto !important;
+ align-self: auto !important;
+ }
+ .align-self-xl-start {
+ -webkit-align-self: flex-start !important;
+ -ms-flex-item-align: start !important;
+ align-self: flex-start !important;
+ }
+ .align-self-xl-end {
+ -webkit-align-self: flex-end !important;
+ -ms-flex-item-align: end !important;
+ align-self: flex-end !important;
+ }
+ .align-self-xl-center {
+ -webkit-align-self: center !important;
+ -ms-flex-item-align: center !important;
+ -ms-grid-row-align: center !important;
+ align-self: center !important;
+ }
+ .align-self-xl-baseline {
+ -webkit-align-self: baseline !important;
+ -ms-flex-item-align: baseline !important;
+ align-self: baseline !important;
+ }
+ .align-self-xl-stretch {
+ -webkit-align-self: stretch !important;
+ -ms-flex-item-align: stretch !important;
+ -ms-grid-row-align: stretch !important;
+ align-self: stretch !important;
+ }
+}
/*# sourceMappingURL=bootstrap-grid.css.map */ \ No newline at end of file
diff --git a/docs/dist/css/bootstrap-grid.css.map b/docs/dist/css/bootstrap-grid.css.map
index c5f13a242..04fef978c 100644
--- a/docs/dist/css/bootstrap-grid.css.map
+++ b/docs/dist/css/bootstrap-grid.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"AAUE;EAAgB,oBAAmB;CCRpC;;ADWD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AEjBC;ECAA,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDJ/B;;AEgDC;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDmBF;;AG6BG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CD0BF;;AGsBG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDiCF;;AGeG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDwCF;;AGQG;EFnDF;ICiBI,aEsMK;IFrML,gBAAe;GDflB;CD+CF;;AGCG;EFnDF;ICiBI,aEuMK;IFtML,gBAAe;GDflB;CDsDF;;AGNG;EFnDF;ICiBI,aEwMK;IFvML,gBAAe;GDflB;CD6DF;;AGbG;EFnDF;ICiBI,cEyMM;IFxMN,gBAAe;GDflB;CDoEF;;AC3DC;ECZA,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDO/B;;AEqCC;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CDuEF;;AGlCG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CD8EF;;AGzCG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CDqFF;;AGhDG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CD4FF;;ACpFC;ECYA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDjB/B;;AE2BC;EF7BF;ICkBI,oBAA4B;IAC5B,mBAA4B;GDjB/B;CDgGF;;AGrEG;EF7BF;ICkBI,oBAA4B;IAC5B,mBAA4B;GDjB/B;CDuGF;;AG5EG;EF7BF;ICkBI,oBAA4B;IAC5B,mBAA4B;GDjB/B;CD8GF;;AGnFG;EF7BF;ICkBI,oBAA4B;IAC5B,mBAA4B;GDjB/B;CDqHF;;ACjHC;EACE,gBAAe;EACf,eAAc;CAOf;;AATD;;EAMI,iB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GpCxC;EAFD;IHsCR,WAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,WAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,WAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,kBAAiD;GGpCxC;EAFD;IHsCR,YAAiD;GGpCxC;EAFD;IHkCR,WAAsD;GGhC7C;EAFD;IHkCR,gBAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,UAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,UAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,UAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,iBAAgD;GGhCvC;EAFD;IHkCR,WAAgD;GGhCvC;EAOD;IHqBR,gBAAyC;GGnBhC;EAFD;IHqBR,uBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,iBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,iBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,iBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;EAFD;IHqBR,wBAAyC;GGnBhC;CLyhCV","file":"bootstrap-grid.css","sourcesContent":[null,"@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */",null,null,null,null,null]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap-grid.scss","bootstrap-grid.css","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/mixins/_grid-framework.scss","../../scss/utilities/_flex.scss"],"names":[],"mappings":"AAUE;EAAgB,oBAAmB;CCRpC;;ADWD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,8BAA6B;CAC9B;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AEjBC;ECAA,mBAAkB;EAClB,kBAAiB;EAKb,oBAA4B;EAC5B,mBAA4B;CDJ/B;;AEgDC;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDmBF;;AG6BG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CD0BF;;AGsBG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDiCF;;AGeG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CDwCF;;AGQG;EFnDF;ICiBI,aE8KK;IF7KL,gBAAe;GDflB;CD+CF;;AGCG;EFnDF;ICiBI,aE+KK;IF9KL,gBAAe;GDflB;CDsDF;;AGNG;EFnDF;ICiBI,aEgLK;IF/KL,gBAAe;GDflB;CD6DF;;AGbG;EFnDF;ICiBI,cEiLM;IFhLN,gBAAe;GDflB;CDoEF;;AC3DC;EACE,YAAW;ECbb,mBAAkB;EAClB,kBAAiB;EAKb,oBAA4B;EAC5B,mBAA4B;CDQ/B;;AEoCC;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDQ/B;CDuEF;;AGnCG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDQ/B;CD8EF;;AG1CG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDQ/B;CDqFF;;AGjDG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDQ/B;CD4FF;;ACpFC;ECWA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDhB/B;;AE0BC;EF5BF;ICiBI,oBAA4B;IAC5B,mBAA4B;GDhB/B;CDgGF;;AGtEG;EF5BF;ICiBI,oBAA4B;IAC5B,mBAA4B;GDhB/B;CDuGF;;AG7EG;EF5BF;ICiBI,oBAA4B;IAC5B,mBAA4B;GDhB/B;CD8GF;;AGpFG;EF5BF;ICiBI,oBAA4B;IAC5B,mBAA4B;GDhB/B;CDqHF;;ACjHC;EACE,gBAAe;EACf,eAAc;CAOf;;AAT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","file":"bootstrap-grid.css","sourcesContent":[null,"@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n box-sizing: border-box;\n -ms-overflow-style: scrollbar;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n width: 8.333333%;\n}\n\n.col-2 {\n width: 16.666667%;\n}\n\n.col-3 {\n width: 25%;\n}\n\n.col-4 {\n width: 33.333333%;\n}\n\n.col-5 {\n width: 41.666667%;\n}\n\n.col-6 {\n width: 50%;\n}\n\n.col-7 {\n width: 58.333333%;\n}\n\n.col-8 {\n width: 66.666667%;\n}\n\n.col-9 {\n width: 75%;\n}\n\n.col-10 {\n width: 83.333333%;\n}\n\n.col-11 {\n width: 91.666667%;\n}\n\n.col-12 {\n width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n width: 8.333333%;\n }\n .col-sm-2 {\n width: 16.666667%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-4 {\n width: 33.333333%;\n }\n .col-sm-5 {\n width: 41.666667%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-7 {\n width: 58.333333%;\n }\n .col-sm-8 {\n width: 66.666667%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-10 {\n width: 83.333333%;\n }\n .col-sm-11 {\n width: 91.666667%;\n }\n .col-sm-12 {\n width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n width: 8.333333%;\n }\n .col-md-2 {\n width: 16.666667%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-4 {\n width: 33.333333%;\n }\n .col-md-5 {\n width: 41.666667%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-7 {\n width: 58.333333%;\n }\n .col-md-8 {\n width: 66.666667%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-10 {\n width: 83.333333%;\n }\n .col-md-11 {\n width: 91.666667%;\n }\n .col-md-12 {\n width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n width: 8.333333%;\n }\n .col-lg-2 {\n width: 16.666667%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-4 {\n width: 33.333333%;\n }\n .col-lg-5 {\n width: 41.666667%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-7 {\n width: 58.333333%;\n }\n .col-lg-8 {\n width: 66.666667%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-10 {\n width: 83.333333%;\n }\n .col-lg-11 {\n width: 91.666667%;\n }\n .col-lg-12 {\n width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n width: 8.333333%;\n }\n .col-xl-2 {\n width: 16.666667%;\n }\n .col-xl-3 {\n width: 25%;\n }\n .col-xl-4 {\n width: 33.333333%;\n }\n .col-xl-5 {\n width: 41.666667%;\n }\n .col-xl-6 {\n width: 50%;\n }\n .col-xl-7 {\n width: 58.333333%;\n }\n .col-xl-8 {\n width: 66.666667%;\n }\n .col-xl-9 {\n width: 75%;\n }\n .col-xl-10 {\n width: 83.333333%;\n }\n .col-xl-11 {\n width: 91.666667%;\n }\n .col-xl-12 {\n width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 1;\n}\n\n.order-0 {\n order: 0;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 1;\n }\n .order-sm-0 {\n order: 0;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 1;\n }\n .order-md-0 {\n order: 0;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 1;\n }\n .order-lg-0 {\n order: 0;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 1;\n }\n .order-xl-0 {\n order: 0;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */",null,null,null,null,null,null]} \ No newline at end of file
diff --git a/docs/dist/css/bootstrap-grid.min.css b/docs/dist/css/bootstrap-grid.min.css
index 65c1c640d..c225dffab 100644
--- a/docs/dist/css/bootstrap-grid.min.css
+++ b/docs/dist/css/bootstrap-grid.min.css
@@ -1 +1 @@
-@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}.container{margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file
+@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}.container{margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{width:8.333333%}.col-2{width:16.666667%}.col-3{width:25%}.col-4{width:33.333333%}.col-5{width:41.666667%}.col-6{width:50%}.col-7{width:58.333333%}.col-8{width:66.666667%}.col-9{width:75%}.col-10{width:83.333333%}.col-11{width:91.666667%}.col-12{width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{width:8.333333%}.col-sm-2{width:16.666667%}.col-sm-3{width:25%}.col-sm-4{width:33.333333%}.col-sm-5{width:41.666667%}.col-sm-6{width:50%}.col-sm-7{width:58.333333%}.col-sm-8{width:66.666667%}.col-sm-9{width:75%}.col-sm-10{width:83.333333%}.col-sm-11{width:91.666667%}.col-sm-12{width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{width:8.333333%}.col-md-2{width:16.666667%}.col-md-3{width:25%}.col-md-4{width:33.333333%}.col-md-5{width:41.666667%}.col-md-6{width:50%}.col-md-7{width:58.333333%}.col-md-8{width:66.666667%}.col-md-9{width:75%}.col-md-10{width:83.333333%}.col-md-11{width:91.666667%}.col-md-12{width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{width:8.333333%}.col-lg-2{width:16.666667%}.col-lg-3{width:25%}.col-lg-4{width:33.333333%}.col-lg-5{width:41.666667%}.col-lg-6{width:50%}.col-lg-7{width:58.333333%}.col-lg-8{width:66.666667%}.col-lg-9{width:75%}.col-lg-10{width:83.333333%}.col-lg-11{width:91.666667%}.col-lg-12{width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{width:8.333333%}.col-xl-2{width:16.666667%}.col-xl-3{width:25%}.col-xl-4{width:33.333333%}.col-xl-5{width:41.666667%}.col-xl-6{width:50%}.col-xl-7{width:58.333333%}.col-xl-8{width:66.666667%}.col-xl-9{width:75%}.col-xl-10{width:83.333333%}.col-xl-11{width:91.666667%}.col-xl-12{width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.order-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.order-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.order-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.order-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.order-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}/*# sourceMappingURL=bootstrap-grid.min.css.map */ \ No newline at end of file
diff --git a/docs/dist/css/bootstrap-grid.min.css.map b/docs/dist/css/bootstrap-grid.min.css.map
index 00677d755..8b3d95381 100644
--- a/docs/dist/css/bootstrap-grid.min.css.map
+++ b/docs/dist/css/bootstrap-grid.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss"],"names":[],"mappings":"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"} \ No newline at end of file
+{"version":3,"sources":["..\\..\\scss\\bootstrap-grid.scss","dist\\css\\bootstrap-grid.css","..\\..\\scss\\_grid.scss","..\\..\\scss\\mixins\\_grid.scss","..\\..\\scss\\mixins\\_breakpoints.scss","..\\..\\scss\\mixins\\_grid-framework.scss","..\\..\\scss\\utilities\\_flex.scss"],"names":[],"mappings":"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F4BR,KAAA,WE5BQ,QF4BR,KAAA,IE5BQ,QF4BR,KAAA,WE5BQ,QF4BR,KAAA,WE5BQ,QF4BR,KAAA,IE5BQ,SF4BR,KAAA,WE5BQ,SF4BR,KAAA,WE5BQ,SF4BR,KAAA,KEnBQ,UFeR,YAAA,UEfQ,UFeR,YAAA,WEfQ,UFeR,YAAA,IEfQ,UFeR,YAAA,WEfQ,UFeR,YAAA,WEfQ,UFeR,YAAA,IEfQ,UFeR,YAAA,WEfQ,UFeR,YAAA,WEfQ,UFeR,YAAA,IEfQ,WFeR,YAAA,WEfQ,WFeR,YAAA,WCjBE,yBCzBE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF2BN,MAAA,UE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,KEpBQ,WFgCR,MAAA,KEhCQ,WFgCR,MAAA,UEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,KEhCQ,WF4BR,KAAA,KE5BQ,WF4BR,KAAA,UE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,KEnBQ,aFeR,YAAA,EEfQ,aFeR,YAAA,UEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,cFeR,YAAA,WEfQ,cFeR,YAAA,YCjBE,yBCzBE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF2BN,MAAA,UE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,KEpBQ,WFgCR,MAAA,KEhCQ,WFgCR,MAAA,UEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,KEhCQ,WF4BR,KAAA,KE5BQ,WF4BR,KAAA,UE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,KEnBQ,aFeR,YAAA,EEfQ,aFeR,YAAA,UEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,cFeR,YAAA,WEfQ,cFeR,YAAA,YCjBE,yBCzBE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF2BN,MAAA,UE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,KEpBQ,WFgCR,MAAA,KEhCQ,WFgCR,MAAA,UEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,KEhCQ,WF4BR,KAAA,KE5BQ,WF4BR,KAAA,UE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,KEnBQ,aFeR,YAAA,EEfQ,aFeR,YAAA,UEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,cFeR,YAAA,WEfQ,cFeR,YAAA,YCjBE,0BCzBE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF2BN,MAAA,UE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,U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"} \ No newline at end of file
diff --git a/docs/dist/css/bootstrap-reboot.css b/docs/dist/css/bootstrap-reboot.css
index 230c686df..6d1cd096b 100644
--- a/docs/dist/css/bootstrap-reboot.css
+++ b/docs/dist/css/bootstrap-reboot.css
@@ -1,250 +1,12 @@
-/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
html {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
font-family: sans-serif;
line-height: 1.15;
- -ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-}
-
-body {
- margin: 0;
-}
-
-article,
-aside,
-footer,
-header,
-nav,
-section {
- display: block;
-}
-
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-figcaption,
-figure,
-main {
- display: block;
-}
-
-figure {
- margin: 1em 40px;
-}
-
-hr {
- -webkit-box-sizing: content-box;
- box-sizing: content-box;
- height: 0;
- overflow: visible;
-}
-
-pre {
- font-family: monospace, monospace;
- font-size: 1em;
-}
-
-a {
- background-color: transparent;
- -webkit-text-decoration-skip: objects;
-}
-
-a:active,
-a:hover {
- outline-width: 0;
-}
-
-abbr[title] {
- border-bottom: none;
- text-decoration: underline;
- text-decoration: underline dotted;
-}
-
-b,
-strong {
- font-weight: inherit;
-}
-
-b,
-strong {
- font-weight: bolder;
-}
-
-code,
-kbd,
-samp {
- font-family: monospace, monospace;
- font-size: 1em;
-}
-
-dfn {
- font-style: italic;
-}
-
-mark {
- background-color: #ff0;
- color: #000;
-}
-
-small {
- font-size: 80%;
-}
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-sup {
- top: -0.5em;
-}
-
-audio,
-video {
- display: inline-block;
-}
-
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-img {
- border-style: none;
-}
-
-svg:not(:root) {
- overflow: hidden;
-}
-
-button,
-input,
-optgroup,
-select,
-textarea {
- font-family: sans-serif;
- font-size: 100%;
- line-height: 1.15;
- margin: 0;
-}
-
-button,
-input {
- overflow: visible;
-}
-
-button,
-select {
- text-transform: none;
-}
-
-button,
-html [type="button"],
-[type="reset"],
-[type="submit"] {
- -webkit-appearance: button;
-}
-
-button::-moz-focus-inner,
-[type="button"]::-moz-focus-inner,
-[type="reset"]::-moz-focus-inner,
-[type="submit"]::-moz-focus-inner {
- border-style: none;
- padding: 0;
-}
-
-button:-moz-focusring,
-[type="button"]:-moz-focusring,
-[type="reset"]:-moz-focusring,
-[type="submit"]:-moz-focusring {
- outline: 1px dotted ButtonText;
-}
-
-fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
-}
-
-legend {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- color: inherit;
- display: table;
- max-width: 100%;
- padding: 0;
- white-space: normal;
-}
-
-progress {
- display: inline-block;
- vertical-align: baseline;
-}
-
-textarea {
- overflow: auto;
-}
-
-[type="checkbox"],
-[type="radio"] {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- padding: 0;
-}
-
-[type="number"]::-webkit-inner-spin-button,
-[type="number"]::-webkit-outer-spin-button {
- height: auto;
-}
-
-[type="search"] {
- -webkit-appearance: textfield;
- outline-offset: -2px;
-}
-
-[type="search"]::-webkit-search-cancel-button,
-[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-::-webkit-file-upload-button {
- -webkit-appearance: button;
- font: inherit;
-}
-
-details,
-menu {
- display: block;
-}
-
-summary {
- display: list-item;
-}
-
-canvas {
- display: inline-block;
-}
-
-template {
- display: none;
-}
-
-[hidden] {
- display: none;
-}
-
-html {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
+ -ms-text-size-adjust: 100%;
+ -ms-overflow-style: scrollbar;
+ -webkit-tap-highlight-color: transparent;
}
*,
@@ -258,14 +20,13 @@ html {
width: device-width;
}
-html {
- font-size: 16px;
- -ms-overflow-style: scrollbar;
- -webkit-tap-highlight-color: transparent;
+article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
+ display: block;
}
body {
- font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ margin: 0;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
@@ -277,6 +38,13 @@ body {
outline: none !important;
}
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible;
+}
+
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
@@ -289,7 +57,10 @@ p {
abbr[title],
abbr[data-original-title] {
+ text-decoration: underline;
+ text-decoration: underline dotted;
cursor: help;
+ border-bottom: 0;
}
address {
@@ -325,21 +96,47 @@ blockquote {
margin: 0 0 1rem;
}
+dfn {
+ font-style: italic;
+}
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+small {
+ font-size: 80%;
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -.25em;
+}
+
+sup {
+ top: -.5em;
+}
+
a {
color: #0275d8;
text-decoration: none;
+ background-color: transparent;
+ -webkit-text-decoration-skip: objects;
}
-a:focus, a:hover {
+a:hover {
color: #014c8c;
text-decoration: underline;
}
-a:focus {
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
@@ -351,7 +148,15 @@ a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
}
a:not([href]):not([tabindex]):focus {
- outline: none;
+ outline: 0;
+}
+
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
}
pre {
@@ -366,10 +171,11 @@ figure {
img {
vertical-align: middle;
+ border-style: none;
}
-[role="button"] {
- cursor: pointer;
+svg:not(:root) {
+ overflow: hidden;
}
a,
@@ -387,7 +193,6 @@ textarea {
table {
border-collapse: collapse;
- background-color: transparent;
}
caption {
@@ -415,13 +220,44 @@ button:focus {
input,
button,
select,
+optgroup,
textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: inherit;
line-height: inherit;
}
-input[type="radio"]:disabled,
-input[type="checkbox"]:disabled {
- cursor: not-allowed;
+button,
+input {
+ overflow: visible;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0;
}
input[type="date"],
@@ -432,6 +268,7 @@ input[type="month"] {
}
textarea {
+ overflow: auto;
resize: vertical;
}
@@ -445,20 +282,51 @@ fieldset {
legend {
display: block;
width: 100%;
+ max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
+ color: inherit;
+ white-space: normal;
+}
+
+progress {
+ vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
}
-input[type="search"] {
+[type="search"] {
+ outline-offset: -2px;
+ -webkit-appearance: none;
+}
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
+::-webkit-file-upload-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+
output {
display: inline-block;
}
+summary {
+ display: list-item;
+}
+
+template {
+ display: none;
+}
+
[hidden] {
display: none !important;
}
diff --git a/docs/dist/css/bootstrap-reboot.css.map b/docs/dist/css/bootstrap-reboot.css.map
index b537a0031..4110ba587 100644
--- a/docs/dist/css/bootstrap-reboot.css.map
+++ b/docs/dist/css/bootstrap-reboot.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/mixins/_tab-focus.scss"],"names":[],"mappings":"AAAA,4EAA4E;AAY5E;EACE,wBAAuB;EACvB,kBAAiB;EACjB,2BAA0B;EAC1B,+BAA8B;CAC/B;;AASD;EACE,UAAS;CACV;;AAMD;;;;;;EAME,eAAc;CACf;;AAOD;EACE,eAAc;EACd,iBAAgB;CACjB;;AAUD;;;EAGE,eAAc;CACf;;AAMD;EACE,iBAAgB;CACjB;;AAOD;EACE,gCAAuB;UAAvB,wBAAuB;EACvB,UAAS;EACT,kBAAiB;CAClB;;AAOD;EACE,kCAAiC;EACjC,eAAc;CACf;;AAUD;EACE,8BAA6B;EAC7B,sCAAqC;CACtC;;AAOD;;EAEE,iBAAgB;CACjB;;AAOD;EACE,oBAAmB;EACnB,2BAA0B;EAC1B,kCAAiC;CAClC;;AAMD;;EAEE,qBAAoB;CACrB;;AAMD;;EAEE,oBAAmB;CACpB;;AAOD;;;EAGE,kCAAiC;EACjC,eAAc;CACf;;AAMD;EACE,mBAAkB;CACnB;;AAMD;EACE,uBAAsB;EACtB,YAAW;CACZ;;AAMD;EACE,eAAc;CACf;;AAOD;;EAEE,eAAc;EACd,eAAc;EACd,mBAAkB;EAClB,yBAAwB;CACzB;;AAED;EACE,gBAAe;CAChB;;AAED;EACE,YAAW;CACZ;;AASD;;EAEE,sBAAqB;CACtB;;AAMD;EACE,cAAa;EACb,UAAS;CACV;;AAMD;EACE,mBAAkB;CACnB;;AAMD;EACE,iBAAgB;CACjB;;AAUD;;;;;EAKE,wBAAuB;EACvB,gBAAe;EACf,kBAAiB;EACjB,UAAS;CACV;;AAOD;;EAEE,kBAAiB;CAClB;;AAOD;;EAEE,qBAAoB;CACrB;;AAQD;;;;EAIE,2BAA0B;CAC3B;;AAMD;;;;EAIE,mBAAkB;EAClB,WAAU;CACX;;AAMD;;;;EAIE,+BAA8B;CAC/B;;AAMD;EACE,0BAAyB;EACzB,cAAa;EACb,+BAA8B;CAC/B;;AASD;EACE,+BAAsB;UAAtB,uBAAsB;EACtB,eAAc;EACd,eAAc;EACd,gBAAe;EACf,WAAU;EACV,oBAAmB;CACpB;;AAOD;EACE,sBAAqB;EACrB,yBAAwB;CACzB;;AAMD;EACE,eAAc;CACf;;ACtKD;;ED+KE,+BAAsB;UAAtB,uBAAsB;EACtB,WAAU;CACX;;AC3KD;;EDmLE,aAAY;CACb;;AC/KD;EDuLE,8BAA6B;EAC7B,qBAAoB;CACrB;;ACpLD;;ED4LE,yBAAwB;CACzB;;AAOD;EACE,2BAA0B;EAC1B,cAAa;CACd;;AAUD;;EAEE,eAAc;CACf;;AAMD;EACE,mBAAkB;CACnB;;AASD;EACE,sBAAqB;CACtB;;AAMD;EACE,cAAa;CACd;;ACpND;ED8NE,cAAa;CACd;;AEvbD;EACE,+BAAsB;UAAtB,uBAAsB;CACvB;;AAED;;;EAGE,4BAAmB;UAAnB,oBAAmB;CACpB;;AAmBC;EAAgB,oBAAmB;CD6MpC;;ACrMD;EAEE,gBCkMmB;ED1LnB,8BAA6B;EAE7B,yCAA0C;CAC3C;;AAED;EAEE,mHC6K4H;ED5K5H,gBCoLmB;EDnLnB,oBCwLyB;EDvLzB,iBC2LoB;EDzLpB,eC4BiC;ED1BjC,uBCcW;CDbZ;;AD6LD;ECrLE,yBAAwB;CACzB;;AAWD;EACE,cAAa;EACb,qBAAoB;CACrB;;AAMD;EACE,cAAa;EACb,oBAAmB;CACpB;;AAGD;;EAGE,aAAY;CACb;;AAED;EACE,oBAAmB;EACnB,mBAAkB;EAClB,qBAAoB;CACrB;;AAED;;;EAGE,cAAa;EACb,oBAAmB;CACpB;;AAED;;;;EAIE,iBAAgB;CACjB;;AAED;EACE,kBCqHqB;CDpHtB;;AAED;EACE,qBAAoB;EACpB,eAAc;CACf;;AAED;EACE,iBAAgB;CACjB;;AAOD;EACE,eC7Dc;ED8Dd,sBCgC0B;CDtB3B;;AExJG;EFiJA,eC8B4C;ED7B5C,2BC8B6B;CC7K5B;;AFyIL;EG1JE,2CAA0C;EAC1C,qBAAoB;CHoKnB;;AASH;EACE,eAAc;EACd,sBAAqB;CAUtB;;AE5KG;EFqKA,eAAc;EACd,sBAAqB;CEnKpB;;AF6JL;EAUI,cAAa;CACd;;AAQH;EAEE,cAAa;EAEb,oBAAmB;EAEnB,eAAc;CACf;;AAOD;EAGE,iBAAgB;CACjB;;AAOD;EAGE,uBAAsB;CAGvB;;ADuID;EC7HE,gBAAe;CAChB;;AAaD;;;;;;;;;EASE,+BAA0B;MAA1B,2BAA0B;CAC3B;;AAOD;EAEE,0BAAyB;EAEzB,8BCqEyC;CDpE1C;;AAED;EACE,qBC8DoC;ED7DpC,wBC6DoC;ED5DpC,eC7KiC;ED8KjC,iBAAgB;EAChB,qBAAoB;CACrB;;AAED;EAEE,iBAAgB;CACjB;;AAOD;EAEE,sBAAqB;EACrB,qBAAoB;CACrB;;AAMD;EACE,oBAAmB;EACnB,2CAA0C;CAC3C;;AAED;;;;EAME,qBAAoB;CACrB;;AAED;;EAMI,oBC6IwC;CD5IzC;;AAIH;;;;EASE,4BAA2B;CAC5B;;AAED;EAEE,iBAAgB;CACjB;;AAED;EAME,aAAY;EAEZ,WAAU;EACV,UAAS;EACT,UAAS;CACV;;AAED;EAEE,eAAc;EACd,YAAW;EACX,WAAU;EACV,qBAAoB;EACpB,kBAAiB;EACjB,qBAAoB;CACrB;;AAED;EAKE,yBAAwB;CACzB;;AAGD;EACE,sBAAqB;CAItB;;ADsED;EClEE,yBAAwB;CACzB","file":"bootstrap-reboot.css","sourcesContent":[null,"/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n font-size: 16px;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: none;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */",null,null,null,null]} \ No newline at end of file
+{"version":3,"sources":["../../scss/_reboot.scss","bootstrap-reboot.css","../../scss/_variables.scss","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":[null,"html {\n box-sizing: border-box;\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */",null,null]} \ No newline at end of file
diff --git a/docs/dist/css/bootstrap-reboot.min.css b/docs/dist/css/bootstrap-reboot.min.css
index c7b759ced..a0ccfa3c4 100644
--- a/docs/dist/css/bootstrap-reboot.min.css
+++ b/docs/dist/css/bootstrap-reboot.min.css
@@ -1 +1 @@
-/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{font-size:16px;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file
+html{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0275d8;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}/*# sourceMappingURL=bootstrap-reboot.min.css.map */ \ No newline at end of file
diff --git a/docs/dist/css/bootstrap-reboot.min.css.map b/docs/dist/css/bootstrap-reboot.min.css.map
index 0d19e6bf1..1de6016e2 100644
--- a/docs/dist/css/bootstrap-reboot.min.css.map
+++ b/docs/dist/css/bootstrap-reboot.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_normalize.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/mixins/_tab-focus.scss"],"names":[],"mappings":"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"} \ No newline at end of file
+{"version":3,"sources":["..\\..\\scss\\_reboot.scss","dist\\css\\bootstrap-reboot.css","bootstrap-reboot.css","..\\..\\scss\\mixins\\_hover.scss"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/docs/dist/css/bootstrap.css b/docs/dist/css/bootstrap.css
index 651d2ddcd..44e7e9d7e 100644
--- a/docs/dist/css/bootstrap.css
+++ b/docs/dist/css/bootstrap.css
@@ -1,253 +1,9 @@
/*!
- * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors
- * Copyright 2011-2016 Twitter, Inc.
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
-html {
- font-family: sans-serif;
- line-height: 1.15;
- -ms-text-size-adjust: 100%;
- -webkit-text-size-adjust: 100%;
-}
-
-body {
- margin: 0;
-}
-
-article,
-aside,
-footer,
-header,
-nav,
-section {
- display: block;
-}
-
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-figcaption,
-figure,
-main {
- display: block;
-}
-
-figure {
- margin: 1em 40px;
-}
-
-hr {
- -webkit-box-sizing: content-box;
- box-sizing: content-box;
- height: 0;
- overflow: visible;
-}
-
-pre {
- font-family: monospace, monospace;
- font-size: 1em;
-}
-
-a {
- background-color: transparent;
- -webkit-text-decoration-skip: objects;
-}
-
-a:active,
-a:hover {
- outline-width: 0;
-}
-
-abbr[title] {
- border-bottom: none;
- text-decoration: underline;
- text-decoration: underline dotted;
-}
-
-b,
-strong {
- font-weight: inherit;
-}
-
-b,
-strong {
- font-weight: bolder;
-}
-
-code,
-kbd,
-samp {
- font-family: monospace, monospace;
- font-size: 1em;
-}
-
-dfn {
- font-style: italic;
-}
-
-mark {
- background-color: #ff0;
- color: #000;
-}
-
-small {
- font-size: 80%;
-}
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-sup {
- top: -0.5em;
-}
-
-audio,
-video {
- display: inline-block;
-}
-
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-img {
- border-style: none;
-}
-
-svg:not(:root) {
- overflow: hidden;
-}
-
-button,
-input,
-optgroup,
-select,
-textarea {
- font-family: sans-serif;
- font-size: 100%;
- line-height: 1.15;
- margin: 0;
-}
-
-button,
-input {
- overflow: visible;
-}
-
-button,
-select {
- text-transform: none;
-}
-
-button,
-html [type="button"],
-[type="reset"],
-[type="submit"] {
- -webkit-appearance: button;
-}
-
-button::-moz-focus-inner,
-[type="button"]::-moz-focus-inner,
-[type="reset"]::-moz-focus-inner,
-[type="submit"]::-moz-focus-inner {
- border-style: none;
- padding: 0;
-}
-
-button:-moz-focusring,
-[type="button"]:-moz-focusring,
-[type="reset"]:-moz-focusring,
-[type="submit"]:-moz-focusring {
- outline: 1px dotted ButtonText;
-}
-
-fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
-}
-
-legend {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- color: inherit;
- display: table;
- max-width: 100%;
- padding: 0;
- white-space: normal;
-}
-
-progress {
- display: inline-block;
- vertical-align: baseline;
-}
-
-textarea {
- overflow: auto;
-}
-
-[type="checkbox"],
-[type="radio"] {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- padding: 0;
-}
-
-[type="number"]::-webkit-inner-spin-button,
-[type="number"]::-webkit-outer-spin-button {
- height: auto;
-}
-
-[type="search"] {
- -webkit-appearance: textfield;
- outline-offset: -2px;
-}
-
-[type="search"]::-webkit-search-cancel-button,
-[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-::-webkit-file-upload-button {
- -webkit-appearance: button;
- font: inherit;
-}
-
-details,
-menu {
- display: block;
-}
-
-summary {
- display: list-item;
-}
-
-canvas {
- display: inline-block;
-}
-
-template {
- display: none;
-}
-
-[hidden] {
- display: none;
-}
-
@media print {
*,
*::before,
@@ -299,10 +55,6 @@ template {
.navbar {
display: none;
}
- .btn > .caret,
- .dropup > .btn > .caret {
- border-top-color: #000 !important;
- }
.badge {
border: 1px solid #000;
}
@@ -322,6 +74,12 @@ template {
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
+ font-family: sans-serif;
+ line-height: 1.15;
+ -webkit-text-size-adjust: 100%;
+ -ms-text-size-adjust: 100%;
+ -ms-overflow-style: scrollbar;
+ -webkit-tap-highlight-color: transparent;
}
*,
@@ -335,14 +93,13 @@ html {
width: device-width;
}
-html {
- font-size: 16px;
- -ms-overflow-style: scrollbar;
- -webkit-tap-highlight-color: transparent;
+article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
+ display: block;
}
body {
- font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ margin: 0;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
@@ -354,6 +111,13 @@ body {
outline: none !important;
}
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible;
+}
+
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: .5rem;
@@ -366,7 +130,10 @@ p {
abbr[title],
abbr[data-original-title] {
+ text-decoration: underline;
+ text-decoration: underline dotted;
cursor: help;
+ border-bottom: 0;
}
address {
@@ -402,21 +169,47 @@ blockquote {
margin: 0 0 1rem;
}
+dfn {
+ font-style: italic;
+}
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+small {
+ font-size: 80%;
+}
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -.25em;
+}
+
+sup {
+ top: -.5em;
+}
+
a {
color: #0275d8;
text-decoration: none;
+ background-color: transparent;
+ -webkit-text-decoration-skip: objects;
}
-a:focus, a:hover {
+a:hover {
color: #014c8c;
text-decoration: underline;
}
-a:focus {
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
@@ -428,7 +221,15 @@ a:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {
}
a:not([href]):not([tabindex]):focus {
- outline: none;
+ outline: 0;
+}
+
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
}
pre {
@@ -443,10 +244,11 @@ figure {
img {
vertical-align: middle;
+ border-style: none;
}
-[role="button"] {
- cursor: pointer;
+svg:not(:root) {
+ overflow: hidden;
}
a,
@@ -464,7 +266,6 @@ textarea {
table {
border-collapse: collapse;
- background-color: transparent;
}
caption {
@@ -492,13 +293,44 @@ button:focus {
input,
button,
select,
+optgroup,
textarea {
+ margin: 0;
+ font-family: inherit;
+ font-size: inherit;
line-height: inherit;
}
-input[type="radio"]:disabled,
-input[type="checkbox"]:disabled {
- cursor: not-allowed;
+button,
+input {
+ overflow: visible;
+}
+
+button,
+select {
+ text-transform: none;
+}
+
+button,
+html [type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
+}
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0;
}
input[type="date"],
@@ -509,6 +341,7 @@ input[type="month"] {
}
textarea {
+ overflow: auto;
resize: vertical;
}
@@ -522,20 +355,51 @@ fieldset {
legend {
display: block;
width: 100%;
+ max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
+ color: inherit;
+ white-space: normal;
+}
+
+progress {
+ vertical-align: baseline;
+}
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+[type="search"] {
+ outline-offset: -2px;
+ -webkit-appearance: none;
}
-input[type="search"] {
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
+::-webkit-file-upload-button {
+ font: inherit;
+ -webkit-appearance: button;
+}
+
output {
display: inline-block;
}
+summary {
+ display: list-item;
+}
+
+template {
+ display: none;
+}
+
[hidden] {
display: none !important;
}
@@ -581,21 +445,25 @@ h6, .h6 {
.display-1 {
font-size: 6rem;
font-weight: 300;
+ line-height: 1.1;
}
.display-2 {
font-size: 5.5rem;
font-weight: 300;
+ line-height: 1.1;
}
.display-3 {
font-size: 4.5rem;
font-weight: 300;
+ line-height: 1.1;
}
.display-4 {
font-size: 3.5rem;
font-weight: 300;
+ line-height: 1.1;
}
hr {
@@ -761,8 +629,8 @@ pre code {
}
.container {
- margin-left: auto;
margin-right: auto;
+ margin-left: auto;
padding-right: 15px;
padding-left: 15px;
}
@@ -824,8 +692,9 @@ pre code {
}
.container-fluid {
- margin-left: auto;
+ width: 100%;
margin-right: auto;
+ margin-left: auto;
padding-right: 15px;
padding-left: 15px;
}
@@ -909,7 +778,12 @@ pre code {
padding-left: 0;
}
-.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+.col-xl-auto {
position: relative;
width: 100%;
min-height: 1px;
@@ -918,28 +792,48 @@ pre code {
}
@media (min-width: 576px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 768px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 992px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
}
@media (min-width: 1200px) {
- .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {
+ .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
+ .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
+ .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
+ .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
+ .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
+ .col-xl-auto {
padding-right: 15px;
padding-left: 15px;
}
@@ -965,99 +859,51 @@ pre code {
}
.col-1 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 8.333333%;
- -ms-flex: 0 0 8.333333%;
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ width: 8.333333%;
}
.col-2 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 16.666667%;
- -ms-flex: 0 0 16.666667%;
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ width: 16.666667%;
}
.col-3 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 25%;
- -ms-flex: 0 0 25%;
- flex: 0 0 25%;
- max-width: 25%;
+ width: 25%;
}
.col-4 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 33.333333%;
- -ms-flex: 0 0 33.333333%;
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ width: 33.333333%;
}
.col-5 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 41.666667%;
- -ms-flex: 0 0 41.666667%;
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ width: 41.666667%;
}
.col-6 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 50%;
- -ms-flex: 0 0 50%;
- flex: 0 0 50%;
- max-width: 50%;
+ width: 50%;
}
.col-7 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 58.333333%;
- -ms-flex: 0 0 58.333333%;
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ width: 58.333333%;
}
.col-8 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 66.666667%;
- -ms-flex: 0 0 66.666667%;
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ width: 66.666667%;
}
.col-9 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 75%;
- -ms-flex: 0 0 75%;
- flex: 0 0 75%;
- max-width: 75%;
+ width: 75%;
}
.col-10 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 83.333333%;
- -ms-flex: 0 0 83.333333%;
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ width: 83.333333%;
}
.col-11 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 91.666667%;
- -ms-flex: 0 0 91.666667%;
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ width: 91.666667%;
}
.col-12 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 100%;
- -ms-flex: 0 0 100%;
- flex: 0 0 100%;
- max-width: 100%;
+ width: 100%;
}
.pull-0 {
@@ -1227,88 +1073,40 @@ pre code {
width: auto;
}
.col-sm-1 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 8.333333%;
- -ms-flex: 0 0 8.333333%;
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ width: 8.333333%;
}
.col-sm-2 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 16.666667%;
- -ms-flex: 0 0 16.666667%;
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ width: 16.666667%;
}
.col-sm-3 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 25%;
- -ms-flex: 0 0 25%;
- flex: 0 0 25%;
- max-width: 25%;
+ width: 25%;
}
.col-sm-4 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 33.333333%;
- -ms-flex: 0 0 33.333333%;
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ width: 33.333333%;
}
.col-sm-5 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 41.666667%;
- -ms-flex: 0 0 41.666667%;
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ width: 41.666667%;
}
.col-sm-6 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 50%;
- -ms-flex: 0 0 50%;
- flex: 0 0 50%;
- max-width: 50%;
+ width: 50%;
}
.col-sm-7 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 58.333333%;
- -ms-flex: 0 0 58.333333%;
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ width: 58.333333%;
}
.col-sm-8 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 66.666667%;
- -ms-flex: 0 0 66.666667%;
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ width: 66.666667%;
}
.col-sm-9 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 75%;
- -ms-flex: 0 0 75%;
- flex: 0 0 75%;
- max-width: 75%;
+ width: 75%;
}
.col-sm-10 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 83.333333%;
- -ms-flex: 0 0 83.333333%;
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ width: 83.333333%;
}
.col-sm-11 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 91.666667%;
- -ms-flex: 0 0 91.666667%;
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ width: 91.666667%;
}
.col-sm-12 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 100%;
- -ms-flex: 0 0 100%;
- flex: 0 0 100%;
- max-width: 100%;
+ width: 100%;
}
.pull-sm-0 {
right: auto;
@@ -1445,88 +1243,40 @@ pre code {
width: auto;
}
.col-md-1 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 8.333333%;
- -ms-flex: 0 0 8.333333%;
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ width: 8.333333%;
}
.col-md-2 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 16.666667%;
- -ms-flex: 0 0 16.666667%;
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ width: 16.666667%;
}
.col-md-3 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 25%;
- -ms-flex: 0 0 25%;
- flex: 0 0 25%;
- max-width: 25%;
+ width: 25%;
}
.col-md-4 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 33.333333%;
- -ms-flex: 0 0 33.333333%;
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ width: 33.333333%;
}
.col-md-5 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 41.666667%;
- -ms-flex: 0 0 41.666667%;
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ width: 41.666667%;
}
.col-md-6 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 50%;
- -ms-flex: 0 0 50%;
- flex: 0 0 50%;
- max-width: 50%;
+ width: 50%;
}
.col-md-7 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 58.333333%;
- -ms-flex: 0 0 58.333333%;
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ width: 58.333333%;
}
.col-md-8 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 66.666667%;
- -ms-flex: 0 0 66.666667%;
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ width: 66.666667%;
}
.col-md-9 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 75%;
- -ms-flex: 0 0 75%;
- flex: 0 0 75%;
- max-width: 75%;
+ width: 75%;
}
.col-md-10 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 83.333333%;
- -ms-flex: 0 0 83.333333%;
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ width: 83.333333%;
}
.col-md-11 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 91.666667%;
- -ms-flex: 0 0 91.666667%;
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ width: 91.666667%;
}
.col-md-12 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 100%;
- -ms-flex: 0 0 100%;
- flex: 0 0 100%;
- max-width: 100%;
+ width: 100%;
}
.pull-md-0 {
right: auto;
@@ -1663,88 +1413,40 @@ pre code {
width: auto;
}
.col-lg-1 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 8.333333%;
- -ms-flex: 0 0 8.333333%;
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ width: 8.333333%;
}
.col-lg-2 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 16.666667%;
- -ms-flex: 0 0 16.666667%;
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ width: 16.666667%;
}
.col-lg-3 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 25%;
- -ms-flex: 0 0 25%;
- flex: 0 0 25%;
- max-width: 25%;
+ width: 25%;
}
.col-lg-4 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 33.333333%;
- -ms-flex: 0 0 33.333333%;
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ width: 33.333333%;
}
.col-lg-5 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 41.666667%;
- -ms-flex: 0 0 41.666667%;
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ width: 41.666667%;
}
.col-lg-6 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 50%;
- -ms-flex: 0 0 50%;
- flex: 0 0 50%;
- max-width: 50%;
+ width: 50%;
}
.col-lg-7 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 58.333333%;
- -ms-flex: 0 0 58.333333%;
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ width: 58.333333%;
}
.col-lg-8 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 66.666667%;
- -ms-flex: 0 0 66.666667%;
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ width: 66.666667%;
}
.col-lg-9 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 75%;
- -ms-flex: 0 0 75%;
- flex: 0 0 75%;
- max-width: 75%;
+ width: 75%;
}
.col-lg-10 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 83.333333%;
- -ms-flex: 0 0 83.333333%;
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ width: 83.333333%;
}
.col-lg-11 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 91.666667%;
- -ms-flex: 0 0 91.666667%;
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ width: 91.666667%;
}
.col-lg-12 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 100%;
- -ms-flex: 0 0 100%;
- flex: 0 0 100%;
- max-width: 100%;
+ width: 100%;
}
.pull-lg-0 {
right: auto;
@@ -1881,88 +1583,40 @@ pre code {
width: auto;
}
.col-xl-1 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 8.333333%;
- -ms-flex: 0 0 8.333333%;
- flex: 0 0 8.333333%;
- max-width: 8.333333%;
+ width: 8.333333%;
}
.col-xl-2 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 16.666667%;
- -ms-flex: 0 0 16.666667%;
- flex: 0 0 16.666667%;
- max-width: 16.666667%;
+ width: 16.666667%;
}
.col-xl-3 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 25%;
- -ms-flex: 0 0 25%;
- flex: 0 0 25%;
- max-width: 25%;
+ width: 25%;
}
.col-xl-4 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 33.333333%;
- -ms-flex: 0 0 33.333333%;
- flex: 0 0 33.333333%;
- max-width: 33.333333%;
+ width: 33.333333%;
}
.col-xl-5 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 41.666667%;
- -ms-flex: 0 0 41.666667%;
- flex: 0 0 41.666667%;
- max-width: 41.666667%;
+ width: 41.666667%;
}
.col-xl-6 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 50%;
- -ms-flex: 0 0 50%;
- flex: 0 0 50%;
- max-width: 50%;
+ width: 50%;
}
.col-xl-7 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 58.333333%;
- -ms-flex: 0 0 58.333333%;
- flex: 0 0 58.333333%;
- max-width: 58.333333%;
+ width: 58.333333%;
}
.col-xl-8 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 66.666667%;
- -ms-flex: 0 0 66.666667%;
- flex: 0 0 66.666667%;
- max-width: 66.666667%;
+ width: 66.666667%;
}
.col-xl-9 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 75%;
- -ms-flex: 0 0 75%;
- flex: 0 0 75%;
- max-width: 75%;
+ width: 75%;
}
.col-xl-10 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 83.333333%;
- -ms-flex: 0 0 83.333333%;
- flex: 0 0 83.333333%;
- max-width: 83.333333%;
+ width: 83.333333%;
}
.col-xl-11 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 91.666667%;
- -ms-flex: 0 0 91.666667%;
- flex: 0 0 91.666667%;
- max-width: 91.666667%;
+ width: 91.666667%;
}
.col-xl-12 {
- -webkit-box-flex: 0;
- -webkit-flex: 0 0 100%;
- -ms-flex: 0 0 100%;
- flex: 0 0 100%;
- max-width: 100%;
+ width: 100%;
}
.pull-xl-0 {
right: auto;
@@ -2084,6 +1738,7 @@ pre code {
width: 100%;
max-width: 100%;
margin-bottom: 1rem;
+ background-color: transparent;
}
.table th,
@@ -2226,67 +1881,37 @@ pre code {
.table-inverse th,
.table-inverse td,
.table-inverse thead th {
- border-color: #fff;
+ border-color: #3b3e40;
}
.table-inverse.table-bordered {
border: 0;
}
-.table-responsive {
- display: block;
- width: 100%;
- overflow-x: auto;
- -ms-overflow-style: -ms-autohiding-scrollbar;
-}
-
-.table-responsive.table-bordered {
- border: 0;
-}
-
-.table-reflow thead {
- float: left;
-}
-
-.table-reflow tbody {
- display: block;
- white-space: nowrap;
-}
-
-.table-reflow th,
-.table-reflow td {
- border-top: 1px solid #eceeef;
- border-left: 1px solid #eceeef;
-}
-
-.table-reflow th:last-child,
-.table-reflow td:last-child {
- border-right: 1px solid #eceeef;
+.table-inverse.table-striped tbody tr:nth-of-type(odd) {
+ background-color: rgba(255, 255, 255, 0.05);
}
-.table-reflow thead:last-child tr:last-child th,
-.table-reflow thead:last-child tr:last-child td,
-.table-reflow tbody:last-child tr:last-child th,
-.table-reflow tbody:last-child tr:last-child td,
-.table-reflow tfoot:last-child tr:last-child th,
-.table-reflow tfoot:last-child tr:last-child td {
- border-bottom: 1px solid #eceeef;
-}
-
-.table-reflow tr {
- float: left;
+.table-inverse.table-hover tbody tr:hover {
+ background-color: rgba(255, 255, 255, 0.075);
}
-.table-reflow tr th,
-.table-reflow tr td {
- display: block !important;
- border: 1px solid #eceeef;
+@media (max-width: 991px) {
+ .table-responsive {
+ display: block;
+ width: 100%;
+ overflow-x: auto;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
+ }
+ .table-responsive.table-bordered {
+ border: 0;
+ }
}
.form-control {
display: block;
width: 100%;
- padding: 0.5rem 0.75rem;
+ padding: 0.5rem 1rem;
font-size: 1rem;
line-height: 1.25;
color: #464a4c;
@@ -2340,10 +1965,6 @@ pre code {
opacity: 1;
}
-.form-control:disabled {
- cursor: not-allowed;
-}
-
select.form-control:not([size]):not([multiple]) {
height: calc(2.25rem + 2px);
}
@@ -2365,8 +1986,8 @@ select.form-control:focus::-ms-value {
}
.col-form-label-lg {
- padding-top: calc(0.75rem - 1px * 2);
- padding-bottom: calc(0.75rem - 1px * 2);
+ padding-top: calc(0.5rem - 1px * 2);
+ padding-bottom: calc(0.5rem - 1px * 2);
font-size: 1.25rem;
}
@@ -2406,27 +2027,29 @@ select.form-control:focus::-ms-value {
.input-group-sm > .input-group-btn > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
+ line-height: 1.5;
border-radius: 0.2rem;
}
select.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),
.input-group-sm > select.input-group-addon:not([size]):not([multiple]),
.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {
- height: 1.8125rem;
+ height: calc(1.8125rem + 2px);
}
.form-control-lg, .input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
- padding: 0.75rem 1.5rem;
+ padding: 0.5rem 1rem;
font-size: 1.25rem;
+ line-height: 1.5;
border-radius: 0.3rem;
}
select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),
.input-group-lg > select.input-group-addon:not([size]):not([multiple]),
.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {
- height: 3.166667rem;
+ height: calc(2.875rem + 2px);
}
.form-group {
@@ -2446,13 +2069,11 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
.form-check.disabled .form-check-label {
color: #636c72;
- cursor: not-allowed;
}
.form-check-label {
padding-left: 1.25rem;
margin-bottom: 0;
- cursor: pointer;
}
.form-check-input {
@@ -2484,7 +2105,7 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
.form-control-success,
.form-control-warning,
.form-control-danger {
- padding-right: 2.25rem;
+ padding-right: 3rem;
background-repeat: no-repeat;
background-position: center right 0.5625rem;
-webkit-background-size: 1.125rem 1.125rem;
@@ -2499,14 +2120,16 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
color: #5cb85c;
}
-.has-success .form-control {
+.has-success .form-control,
+.has-success .custom-select,
+.has-success .custom-file-control {
border-color: #5cb85c;
}
.has-success .input-group-addon {
color: #5cb85c;
- border-color: #5cb85c;
background-color: #eaf6ea;
+ border-color: #5cb85c;
}
.has-success .form-control-success {
@@ -2521,14 +2144,16 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
color: #f0ad4e;
}
-.has-warning .form-control {
+.has-warning .form-control,
+.has-warning .custom-select,
+.has-warning .custom-file-control {
border-color: #f0ad4e;
}
.has-warning .input-group-addon {
color: #f0ad4e;
- border-color: #f0ad4e;
background-color: white;
+ border-color: #f0ad4e;
}
.has-warning .form-control-warning {
@@ -2543,14 +2168,16 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
color: #d9534f;
}
-.has-danger .form-control {
+.has-danger .form-control,
+.has-danger .custom-select,
+.has-danger .custom-file-control {
border-color: #d9534f;
}
.has-danger .input-group-addon {
color: #d9534f;
- border-color: #d9534f;
background-color: #fdf7f7;
+ border-color: #d9534f;
}
.has-danger .form-control-danger {
@@ -2562,9 +2189,15 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
}
.form-inline .form-check {
@@ -2596,6 +2229,8 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
-webkit-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
@@ -2675,7 +2310,6 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
.btn {
display: inline-block;
font-weight: normal;
- line-height: 1.25;
text-align: center;
white-space: nowrap;
vertical-align: middle;
@@ -2686,6 +2320,7 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
border: 1px solid transparent;
padding: 0.5rem 1rem;
font-size: 1rem;
+ line-height: 1.25;
border-radius: 0.25rem;
-webkit-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
@@ -2703,7 +2338,6 @@ select.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.for
}
.btn.disabled, .btn:disabled {
- cursor: not-allowed;
opacity: .65;
}
@@ -2898,8 +2532,8 @@ fieldset[disabled] a.btn {
.btn-outline-primary {
color: #0275d8;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #0275d8;
}
@@ -2928,13 +2562,13 @@ fieldset[disabled] a.btn {
.btn-outline-secondary {
color: #ccc;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #ccc;
}
.btn-outline-secondary:hover {
- color: #fff;
+ color: #292b2c;
background-color: #ccc;
border-color: #ccc;
}
@@ -2951,15 +2585,15 @@ fieldset[disabled] a.btn {
.btn-outline-secondary:active, .btn-outline-secondary.active,
.show > .btn-outline-secondary.dropdown-toggle {
- color: #fff;
+ color: #292b2c;
background-color: #ccc;
border-color: #ccc;
}
.btn-outline-info {
color: #5bc0de;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #5bc0de;
}
@@ -2988,8 +2622,8 @@ fieldset[disabled] a.btn {
.btn-outline-success {
color: #5cb85c;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #5cb85c;
}
@@ -3018,8 +2652,8 @@ fieldset[disabled] a.btn {
.btn-outline-warning {
color: #f0ad4e;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #f0ad4e;
}
@@ -3048,8 +2682,8 @@ fieldset[disabled] a.btn {
.btn-outline-danger {
color: #d9534f;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: #d9534f;
}
@@ -3109,14 +2743,16 @@ fieldset[disabled] a.btn {
}
.btn-lg, .btn-group-lg > .btn {
- padding: 0.75rem 1.5rem;
+ padding: 0.5rem 1rem;
font-size: 1.25rem;
+ line-height: 1.5;
border-radius: 0.3rem;
}
.btn-sm, .btn-group-sm > .btn {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
+ line-height: 1.5;
border-radius: 0.2rem;
}
@@ -3188,8 +2824,8 @@ tbody.collapse.show {
border-left: 0.3em solid transparent;
}
-.dropdown-toggle:focus {
- outline: 0;
+.dropdown-toggle:empty::after {
+ margin-left: 0;
}
.dropup .dropdown-toggle::after {
@@ -3219,16 +2855,16 @@ tbody.collapse.show {
}
.dropdown-divider {
- height: 1px;
+ height: 0;
margin: 0.5rem 0;
overflow: hidden;
- background-color: #eceeef;
+ border-top: 1px solid #eceeef;
}
.dropdown-item {
display: block;
width: 100%;
- padding: 3px 1.5rem;
+ padding: 0.25rem 1.5rem;
clear: both;
font-weight: normal;
color: #292b2c;
@@ -3252,28 +2888,27 @@ tbody.collapse.show {
.dropdown-item.disabled, .dropdown-item:disabled {
color: #636c72;
- cursor: not-allowed;
background-color: transparent;
}
-.show > .dropdown-menu {
- display: block;
-}
-
.show > a {
outline: 0;
}
.dropdown-menu-right {
right: 0;
- left: auto;
+ left: auto !important;
}
.dropdown-menu-left {
- right: auto;
+ right: auto !important;
left: 0;
}
+.dropdown-menu.show {
+ display: block;
+}
+
.dropdown-header {
display: block;
padding: 0.5rem 1.5rem;
@@ -3283,36 +2918,13 @@ tbody.collapse.show {
white-space: nowrap;
}
-.dropdown-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 990;
-}
-
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
- content: "";
- border-top: 0;
- border-bottom: 0.3em solid;
-}
-
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
- top: auto;
- bottom: 100%;
- margin-bottom: 0.125rem;
-}
-
.btn-group,
.btn-group-vertical {
position: relative;
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ display: -webkit-inline-box;
+ display: -webkit-inline-flex;
+ display: -ms-inline-flexbox;
+ display: inline-flex;
vertical-align: middle;
}
@@ -3323,6 +2935,7 @@ tbody.collapse.show {
-webkit-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
+ margin-bottom: 0;
}
.btn-group > .btn:hover,
@@ -3353,6 +2966,9 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
-ms-flex-pack: start;
@@ -3372,14 +2988,14 @@ tbody.collapse.show {
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
- border-bottom-right-radius: 0;
border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
- border-bottom-left-radius: 0;
border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
}
.btn-group > .btn-group {
@@ -3392,18 +3008,13 @@ tbody.collapse.show {
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
- border-bottom-right-radius: 0;
border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
- border-bottom-left-radius: 0;
border-top-left-radius: 0;
-}
-
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
- outline: 0;
+ border-bottom-left-radius: 0;
}
.btn + .dropdown-toggle-split {
@@ -3421,21 +3032,8 @@ tbody.collapse.show {
}
.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
- padding-right: 1.125rem;
- padding-left: 1.125rem;
-}
-
-.btn .caret {
- margin-left: 0;
-}
-
-.btn-lg .caret, .btn-group-lg > .btn .caret {
- border-width: 0.3em 0.3em 0;
- border-bottom-width: 0;
-}
-
-.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {
- border-width: 0 0.3em 0.3em;
+ padding-right: 0.75rem;
+ padding-left: 0.75rem;
}
.btn-group-vertical {
@@ -3481,8 +3079,8 @@ tbody.collapse.show {
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
- border-top-right-radius: 0;
border-top-left-radius: 0;
+ border-top-right-radius: 0;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
@@ -3496,8 +3094,8 @@ tbody.collapse.show {
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
- border-top-right-radius: 0;
border-top-left-radius: 0;
+ border-top-right-radius: 0;
}
[data-toggle="buttons"] > .btn input[type="radio"],
@@ -3540,15 +3138,10 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column;
- -webkit-box-pack: center;
- -webkit-justify-content: center;
- -ms-flex-pack: center;
- justify-content: center;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
}
.input-group-addon:not(:first-child):not(:last-child),
@@ -3564,7 +3157,7 @@ tbody.collapse.show {
}
.input-group-addon {
- padding: 0.5rem 0.75rem;
+ padding: 0.5rem 1rem;
margin-bottom: 0;
font-size: 1rem;
font-weight: normal;
@@ -3587,7 +3180,7 @@ tbody.collapse.show {
.input-group-addon.form-control-lg,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .input-group-addon.btn {
- padding: 0.75rem 1.5rem;
+ padding: 0.5rem 1rem;
font-size: 1.25rem;
border-radius: 0.3rem;
}
@@ -3604,8 +3197,8 @@ tbody.collapse.show {
.input-group-btn:not(:last-child) > .dropdown-toggle,
.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {
- border-bottom-right-radius: 0;
border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
}
.input-group-addon:not(:last-child) {
@@ -3619,8 +3212,8 @@ tbody.collapse.show {
.input-group-btn:not(:first-child) > .dropdown-toggle,
.input-group-btn:not(:last-child) > .btn:not(:first-child),
.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {
- border-bottom-left-radius: 0;
border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
}
.form-control + .input-group-addon:not(:first-child) {
@@ -3635,10 +3228,6 @@ tbody.collapse.show {
.input-group-btn > .btn {
position: relative;
- -webkit-box-flex: 1;
- -webkit-flex: 1 1 0%;
- -ms-flex: 1 1 0%;
- flex: 1 1 0%;
}
.input-group-btn > .btn + .btn {
@@ -3676,7 +3265,6 @@ tbody.collapse.show {
min-height: 1.5rem;
padding-left: 1.5rem;
margin-right: 1rem;
- cursor: pointer;
}
.custom-control-input {
@@ -3701,13 +3289,11 @@ tbody.collapse.show {
}
.custom-control-input:disabled ~ .custom-control-indicator {
- cursor: not-allowed;
background-color: #eceeef;
}
.custom-control-input:disabled ~ .custom-control-description {
color: #636c72;
- cursor: not-allowed;
}
.custom-control-indicator {
@@ -3783,8 +3369,9 @@ tbody.collapse.show {
background-size: 8px 10px;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
- -moz-appearance: none;
-webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
}
.custom-select:focus {
@@ -3799,7 +3386,6 @@ tbody.collapse.show {
.custom-select:disabled {
color: #636c72;
- cursor: not-allowed;
background-color: #eceeef;
}
@@ -3819,14 +3405,13 @@ tbody.collapse.show {
max-width: 100%;
height: 2.5rem;
margin-bottom: 0;
- cursor: pointer;
}
.custom-file-input {
min-width: 14rem;
max-width: 100%;
+ height: 2.5rem;
margin: 0;
- filter: alpha(opacity=0);
opacity: 0;
}
@@ -3840,6 +3425,7 @@ tbody.collapse.show {
padding: 0.5rem 1rem;
line-height: 1.5;
color: #464a4c;
+ pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
@@ -3849,7 +3435,7 @@ tbody.collapse.show {
border-radius: 0.25rem;
}
-.custom-file-control:lang(en)::after {
+.custom-file-control:lang(en):empty::after {
content: "Choose file...";
}
@@ -3878,6 +3464,9 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
padding-left: 0;
margin-bottom: 0;
list-style: none;
@@ -3885,7 +3474,7 @@ tbody.collapse.show {
.nav-link {
display: block;
- padding: 0.5em 1em;
+ padding: 0.5rem 1rem;
}
.nav-link:focus, .nav-link:hover {
@@ -3894,7 +3483,6 @@ tbody.collapse.show {
.nav-link.disabled {
color: #636c72;
- cursor: not-allowed;
}
.nav-tabs {
@@ -3907,8 +3495,8 @@ tbody.collapse.show {
.nav-tabs .nav-link {
border: 1px solid transparent;
- border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
}
.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
@@ -3930,8 +3518,8 @@ tbody.collapse.show {
.nav-tabs .dropdown-menu {
margin-top: -1px;
- border-top-right-radius: 0;
border-top-left-radius: 0;
+ border-top-right-radius: 0;
}
.nav-pills .nav-link {
@@ -3939,9 +3527,8 @@ tbody.collapse.show {
}
.nav-pills .nav-link.active,
-.nav-pills .nav-item.show .nav-link {
+.show .nav-pills .nav-link {
color: #fff;
- cursor: default;
background-color: #0275d8;
}
@@ -3954,10 +3541,13 @@ tbody.collapse.show {
}
.nav-justified .nav-item {
+ -webkit-flex-basis: 0;
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
-webkit-box-flex: 1;
- -webkit-flex: 1 1 100%;
- -ms-flex: 1 1 100%;
- flex: 1 1 100%;
+ -webkit-flex-grow: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
text-align: center;
}
@@ -3975,46 +3565,52 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
padding: 0.5rem 1rem;
}
-.navbar-toggler-left {
- position: absolute;
- left: 1rem;
-}
-
-.navbar-toggler-right {
- position: absolute;
- right: 1rem;
-}
-
-.navbar-fixed-top,
-.navbar-fixed-bottom {
- position: fixed;
- right: 0;
- left: 0;
- z-index: 1030;
-}
-
-.navbar-fixed-top {
- top: 0;
-}
-
-.navbar-fixed-bottom {
- bottom: 0;
+.navbar > .container,
+.navbar > .container-fluid {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
}
-.navbar-sticky-top {
- position: -webkit-sticky;
- position: sticky;
- top: 0;
- z-index: 1030;
+@media (max-width: 575px) {
+ .navbar > .container,
+ .navbar > .container-fluid {
+ width: 100%;
+ margin-right: 0;
+ margin-left: 0;
+ }
}
.navbar-brand {
display: inline-block;
- padding-top: .25rem;
- padding-bottom: .25rem;
+ padding-top: 0.3125rem;
+ padding-bottom: 0.3125rem;
margin-right: 1rem;
font-size: 1.25rem;
line-height: inherit;
@@ -4025,24 +3621,36 @@ tbody.collapse.show {
text-decoration: none;
}
-.navbar-divider {
- float: left;
- width: 1px;
- padding-top: 0.425rem;
- padding-bottom: 0.425rem;
- margin-right: 1rem;
- margin-left: 1rem;
- overflow: hidden;
+.navbar-nav {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
}
-.navbar-divider::before {
- content: "\00a0";
+.navbar-nav .nav-link {
+ padding-right: 0;
+ padding-left: 0;
}
.navbar-text {
display: inline-block;
- padding-top: .425rem;
- padding-bottom: .425rem;
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+
+.navbar-collapse {
+ -webkit-flex-basis: 100%;
+ -ms-flex-preferred-size: 100%;
+ flex-basis: 100%;
}
.navbar-toggler {
@@ -4069,396 +3677,377 @@ tbody.collapse.show {
background-size: 100% 100%;
}
-.navbar-nav {
- -webkit-box-flex: 10;
- -webkit-flex-grow: 10;
- -ms-flex-positive: 10;
- flex-grow: 10;
-}
-
-.navbar-nav .nav-link {
- display: block;
- padding-top: .425rem;
- padding-bottom: .425rem;
-}
-
-.navbar-light .navbar-brand,
-.navbar-light .navbar-toggler {
- color: rgba(0, 0, 0, 0.9);
-}
-
-.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,
-.navbar-light .navbar-toggler:focus,
-.navbar-light .navbar-toggler:hover {
- color: rgba(0, 0, 0, 0.9);
-}
-
-.navbar-light .navbar-nav .nav-link {
- color: rgba(0, 0, 0, 0.5);
-}
-
-.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
- color: rgba(0, 0, 0, 0.7);
-}
-
-.navbar-light .navbar-nav .nav-link.disabled {
- color: rgba(0, 0, 0, 0.3);
-}
-
-.navbar-light .navbar-nav .open > .nav-link,
-.navbar-light .navbar-nav .active > .nav-link,
-.navbar-light .navbar-nav .nav-link.open,
-.navbar-light .navbar-nav .nav-link.active {
- color: rgba(0, 0, 0, 0.9);
-}
-
-.navbar-light .navbar-toggler {
- border-color: rgba(0, 0, 0, 0.1);
-}
-
-.navbar-light .navbar-toggler-icon {
- background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
-}
-
-.navbar-light .navbar-divider {
- background-color: rgba(0, 0, 0, 0.075);
-}
-
-.navbar-light .navbar-text {
- color: rgba(0, 0, 0, 0.5);
-}
-
-.navbar-inverse .navbar-brand,
-.navbar-inverse .navbar-toggler {
- color: white;
-}
-
-.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,
-.navbar-inverse .navbar-toggler:focus,
-.navbar-inverse .navbar-toggler:hover {
- color: white;
-}
-
-.navbar-inverse .navbar-nav .nav-link {
- color: rgba(255, 255, 255, 0.5);
-}
-
-.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {
- color: rgba(255, 255, 255, 0.75);
-}
-
-.navbar-inverse .navbar-nav .nav-link.disabled {
- color: rgba(255, 255, 255, 0.25);
-}
-
-.navbar-inverse .navbar-nav .open > .nav-link,
-.navbar-inverse .navbar-nav .active > .nav-link,
-.navbar-inverse .navbar-nav .nav-link.open,
-.navbar-inverse .navbar-nav .nav-link.active {
- color: white;
-}
-
-.navbar-inverse .navbar-toggler {
- border-color: rgba(255, 255, 255, 0.1);
-}
-
-.navbar-inverse .navbar-toggler-icon {
- background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
-}
-
-.navbar-inverse .navbar-divider {
- background-color: rgba(255, 255, 255, 0.075);
-}
-
-.navbar-inverse .navbar-text {
- color: rgba(255, 255, 255, 0.5);
-}
-
@media (max-width: 575px) {
- .navbar-toggleable .navbar-nav .dropdown-menu {
+ .navbar-expand-sm .navbar-nav .dropdown-menu {
position: static;
float: none;
}
- .navbar-toggleable > .container {
+ .navbar-expand-sm > .container,
+ .navbar-expand-sm > .container-fluid {
padding-right: 0;
padding-left: 0;
}
}
@media (min-width: 576px) {
- .navbar-toggleable {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-sm {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
}
- .navbar-toggleable > .container {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-sm .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-sm .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-sm .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-expand-sm > .container,
+ .navbar-expand-sm > .container-fluid {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
}
- .navbar-toggleable .navbar-collapse {
+ .navbar-expand-sm .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
- width: 100%;
}
- .navbar-toggleable .nav-item {
- display: inline-block;
- }
- .navbar-toggleable .nav-link {
- padding-right: .5rem;
- padding-left: .5rem;
- }
- .navbar-toggleable .navbar-toggler {
+ .navbar-expand-sm .navbar-toggler {
display: none;
}
}
@media (max-width: 767px) {
- .navbar-toggleable-sm .navbar-nav .dropdown-menu {
+ .navbar-expand-md .navbar-nav .dropdown-menu {
position: static;
float: none;
}
- .navbar-toggleable-sm > .container {
+ .navbar-expand-md > .container,
+ .navbar-expand-md > .container-fluid {
padding-right: 0;
padding-left: 0;
}
}
@media (min-width: 768px) {
- .navbar-toggleable-sm {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-md {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
}
- .navbar-toggleable-sm > .container {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-md .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-md .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-md .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-expand-md > .container,
+ .navbar-expand-md > .container-fluid {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
}
- .navbar-toggleable-sm .navbar-collapse {
+ .navbar-expand-md .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
- width: 100%;
- }
- .navbar-toggleable-sm .nav-item {
- display: inline-block;
- }
- .navbar-toggleable-sm .nav-link {
- padding-right: .5rem;
- padding-left: .5rem;
}
- .navbar-toggleable-sm .navbar-toggler {
+ .navbar-expand-md .navbar-toggler {
display: none;
}
}
@media (max-width: 991px) {
- .navbar-toggleable-md .navbar-nav .dropdown-menu {
+ .navbar-expand-lg .navbar-nav .dropdown-menu {
position: static;
float: none;
}
- .navbar-toggleable-md > .container {
+ .navbar-expand-lg > .container,
+ .navbar-expand-lg > .container-fluid {
padding-right: 0;
padding-left: 0;
}
}
@media (min-width: 992px) {
- .navbar-toggleable-md {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-lg {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
}
- .navbar-toggleable-md > .container {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-lg .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-lg .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-lg .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-expand-lg > .container,
+ .navbar-expand-lg > .container-fluid {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
}
- .navbar-toggleable-md .navbar-collapse {
+ .navbar-expand-lg .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
- width: 100%;
- }
- .navbar-toggleable-md .nav-item {
- display: inline-block;
- }
- .navbar-toggleable-md .nav-link {
- padding-right: .5rem;
- padding-left: .5rem;
}
- .navbar-toggleable-md .navbar-toggler {
+ .navbar-expand-lg .navbar-toggler {
display: none;
}
}
@media (max-width: 1199px) {
- .navbar-toggleable-lg .navbar-nav .dropdown-menu {
+ .navbar-expand-xl .navbar-nav .dropdown-menu {
position: static;
float: none;
}
- .navbar-toggleable-lg > .container {
+ .navbar-expand-xl > .container,
+ .navbar-expand-xl > .container-fluid {
padding-right: 0;
padding-left: 0;
}
}
@media (min-width: 1200px) {
- .navbar-toggleable-lg {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-xl {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
}
- .navbar-toggleable-lg > .container {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+ .navbar-expand-xl .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ }
+ .navbar-expand-xl .navbar-nav .dropdown-menu {
+ position: absolute;
+ }
+ .navbar-expand-xl .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+ }
+ .navbar-expand-xl > .container,
+ .navbar-expand-xl > .container-fluid {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
}
- .navbar-toggleable-lg .navbar-collapse {
+ .navbar-expand-xl .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
- width: 100%;
- }
- .navbar-toggleable-lg .nav-item {
- display: inline-block;
}
- .navbar-toggleable-lg .nav-link {
- padding-right: .5rem;
- padding-left: .5rem;
- }
- .navbar-toggleable-lg .navbar-toggler {
+ .navbar-expand-xl .navbar-toggler {
display: none;
}
}
-.navbar-toggleable-xl {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+.navbar-expand {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
}
-.navbar-toggleable-xl .navbar-nav .dropdown-menu {
+.navbar-expand .navbar-nav .dropdown-menu {
position: static;
float: none;
}
-.navbar-toggleable-xl > .container {
+.navbar-expand > .container,
+.navbar-expand > .container-fluid {
padding-right: 0;
padding-left: 0;
}
-.navbar-toggleable-xl > .container {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
+.navbar-expand .navbar-nav {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+}
+
+.navbar-expand .navbar-nav .dropdown-menu {
+ position: absolute;
+}
+
+.navbar-expand .navbar-nav .nav-link {
+ padding-right: .5rem;
+ padding-left: .5rem;
+}
+
+.navbar-expand > .container,
+.navbar-expand > .container-fluid {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
}
-.navbar-toggleable-xl .navbar-collapse {
+.navbar-expand .navbar-collapse {
display: -webkit-box !important;
display: -webkit-flex !important;
display: -ms-flexbox !important;
display: flex !important;
- width: 100%;
}
-.navbar-toggleable-xl .nav-item {
- display: inline-block;
+.navbar-expand .navbar-toggler {
+ display: none;
}
-.navbar-toggleable-xl .nav-link {
- padding-right: .5rem;
- padding-left: .5rem;
+.navbar-light .navbar-brand {
+ color: rgba(0, 0, 0, 0.9);
}
-.navbar-toggleable-xl .navbar-toggler {
- display: none;
+.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {
+ color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-nav .nav-link {
+ color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {
+ color: rgba(0, 0, 0, 0.7);
+}
+
+.navbar-light .navbar-nav .nav-link.disabled {
+ color: rgba(0, 0, 0, 0.3);
+}
+
+.navbar-light .navbar-nav .show > .nav-link,
+.navbar-light .navbar-nav .active > .nav-link,
+.navbar-light .navbar-nav .nav-link.show,
+.navbar-light .navbar-nav .nav-link.active {
+ color: rgba(0, 0, 0, 0.9);
+}
+
+.navbar-light .navbar-toggler {
+ color: rgba(0, 0, 0, 0.5);
+ border-color: rgba(0, 0, 0, 0.1);
+}
+
+.navbar-light .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
+}
+
+.navbar-light .navbar-text {
+ color: rgba(0, 0, 0, 0.5);
+}
+
+.navbar-inverse .navbar-brand {
+ color: white;
+}
+
+.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover {
+ color: white;
+}
+
+.navbar-inverse .navbar-nav .nav-link {
+ color: rgba(255, 255, 255, 0.5);
+}
+
+.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {
+ color: rgba(255, 255, 255, 0.75);
+}
+
+.navbar-inverse .navbar-nav .nav-link.disabled {
+ color: rgba(255, 255, 255, 0.25);
+}
+
+.navbar-inverse .navbar-nav .show > .nav-link,
+.navbar-inverse .navbar-nav .active > .nav-link,
+.navbar-inverse .navbar-nav .nav-link.show,
+.navbar-inverse .navbar-nav .nav-link.active {
+ color: white;
+}
+
+.navbar-inverse .navbar-toggler {
+ color: rgba(255, 255, 255, 0.5);
+ border-color: rgba(255, 255, 255, 0.1);
+}
+
+.navbar-inverse .navbar-toggler-icon {
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
+}
+
+.navbar-inverse .navbar-text {
+ color: rgba(255, 255, 255, 0.5);
}
.card {
@@ -4487,6 +4076,7 @@ tbody.collapse.show {
.card-title {
margin-bottom: 0.75rem;
+ word-break: break-all;
}
.card-subtitle {
@@ -4507,8 +4097,8 @@ tbody.collapse.show {
}
.card > .list-group:first-child .list-group-item:first-child {
- border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
}
.card > .list-group:last-child .list-group-item:last-child {
@@ -4604,31 +4194,67 @@ tbody.collapse.show {
border-color: #0275d8;
}
+.card-outline-primary .card-header,
+.card-outline-primary .card-footer {
+ background-color: transparent;
+ border-color: #0275d8;
+}
+
.card-outline-secondary {
background-color: transparent;
border-color: #ccc;
}
+.card-outline-secondary .card-header,
+.card-outline-secondary .card-footer {
+ background-color: transparent;
+ border-color: #ccc;
+}
+
.card-outline-info {
background-color: transparent;
border-color: #5bc0de;
}
+.card-outline-info .card-header,
+.card-outline-info .card-footer {
+ background-color: transparent;
+ border-color: #5bc0de;
+}
+
.card-outline-success {
background-color: transparent;
border-color: #5cb85c;
}
+.card-outline-success .card-header,
+.card-outline-success .card-footer {
+ background-color: transparent;
+ border-color: #5cb85c;
+}
+
.card-outline-warning {
background-color: transparent;
border-color: #f0ad4e;
}
+.card-outline-warning .card-header,
+.card-outline-warning .card-footer {
+ background-color: transparent;
+ border-color: #f0ad4e;
+}
+
.card-outline-danger {
background-color: transparent;
border-color: #d9534f;
}
+.card-outline-danger .card-header,
+.card-outline-danger .card-footer {
+ background-color: transparent;
+ border-color: #d9534f;
+}
+
.card-inverse {
color: rgba(255, 255, 255, 0.65);
}
@@ -4663,10 +4289,6 @@ tbody.collapse.show {
border-left: 0;
}
-.card-img {
- border-radius: calc(0.25rem - 1px);
-}
-
.card-img-overlay {
position: absolute;
top: 0;
@@ -4676,12 +4298,19 @@ tbody.collapse.show {
padding: 1.25rem;
}
+.card-img {
+ width: 100%;
+ border-radius: calc(0.25rem - 1px);
+}
+
.card-img-top {
- border-top-right-radius: calc(0.25rem - 1px);
+ width: 100%;
border-top-left-radius: calc(0.25rem - 1px);
+ border-top-right-radius: calc(0.25rem - 1px);
}
.card-img-bottom {
+ width: 100%;
border-bottom-right-radius: calc(0.25rem - 1px);
border-bottom-left-radius: calc(0.25rem - 1px);
}
@@ -4692,9 +4321,13 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
+ margin-right: -15px;
+ margin-left: -15px;
}
.card-deck .card {
display: -webkit-box;
@@ -4702,20 +4335,16 @@ tbody.collapse.show {
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
- -webkit-flex: 1 0 0%;
- -ms-flex: 1 0 0%;
+ -webkit-flex: 1 0 0;
+ -ms-flex: 1 0 0px;
flex: 1 0 0%;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
- }
- .card-deck .card:not(:first-child) {
- margin-left: 15px;
- }
- .card-deck .card:not(:last-child) {
margin-right: 15px;
+ margin-left: 15px;
}
}
@@ -4725,14 +4354,16 @@ tbody.collapse.show {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
-webkit-flex-flow: row wrap;
-ms-flex-flow: row wrap;
flex-flow: row wrap;
}
.card-group .card {
-webkit-box-flex: 1;
- -webkit-flex: 1 0 0%;
- -ms-flex: 1 0 0%;
+ -webkit-flex: 1 0 0;
+ -ms-flex: 1 0 0px;
flex: 1 0 0%;
}
.card-group .card + .card {
@@ -4740,8 +4371,8 @@ tbody.collapse.show {
border-left: 0;
}
.card-group .card:first-child {
- border-bottom-right-radius: 0;
border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
}
.card-group .card:first-child .card-img-top {
border-top-right-radius: 0;
@@ -4750,8 +4381,8 @@ tbody.collapse.show {
border-bottom-right-radius: 0;
}
.card-group .card:last-child {
- border-bottom-left-radius: 0;
border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
}
.card-group .card:last-child .card-img-top {
border-top-left-radius: 0;
@@ -4768,6 +4399,10 @@ tbody.collapse.show {
}
}
+.card-columns .card {
+ margin-bottom: 0.75rem;
+}
+
@media (min-width: 576px) {
.card-columns {
-webkit-column-count: 3;
@@ -4780,7 +4415,6 @@ tbody.collapse.show {
.card-columns .card {
display: inline-block;
width: 100%;
- margin-bottom: 0.75rem;
}
}
@@ -4794,8 +4428,8 @@ tbody.collapse.show {
.breadcrumb::after {
display: block;
- content: "";
clear: both;
+ content: "";
}
.breadcrumb-item {
@@ -4834,13 +4468,13 @@ tbody.collapse.show {
.page-item:first-child .page-link {
margin-left: 0;
- border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
}
.page-item:last-child .page-link {
- border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
+ border-bottom-right-radius: 0.25rem;
}
.page-item.active .page-link {
@@ -4853,7 +4487,6 @@ tbody.collapse.show {
.page-item.disabled .page-link {
color: #636c72;
pointer-events: none;
- cursor: not-allowed;
background-color: #fff;
border-color: #ddd;
}
@@ -4882,13 +4515,13 @@ tbody.collapse.show {
}
.pagination-lg .page-item:first-child .page-link {
- border-bottom-left-radius: 0.3rem;
border-top-left-radius: 0.3rem;
+ border-bottom-left-radius: 0.3rem;
}
.pagination-lg .page-item:last-child .page-link {
- border-bottom-right-radius: 0.3rem;
border-top-right-radius: 0.3rem;
+ border-bottom-right-radius: 0.3rem;
}
.pagination-sm .page-link {
@@ -4897,13 +4530,13 @@ tbody.collapse.show {
}
.pagination-sm .page-item:first-child .page-link {
- border-bottom-left-radius: 0.2rem;
border-top-left-radius: 0.2rem;
+ border-bottom-left-radius: 0.2rem;
}
.pagination-sm .page-item:last-child .page-link {
- border-bottom-right-radius: 0.2rem;
border-top-right-radius: 0.2rem;
+ border-bottom-right-radius: 0.2rem;
}
.badge {
@@ -4931,7 +4564,6 @@ tbody.collapse.show {
a.badge:focus, a.badge:hover {
color: #fff;
text-decoration: none;
- cursor: pointer;
}
.badge-pill {
@@ -5001,10 +4633,6 @@ a.badge:focus, a.badge:hover {
}
}
-.jumbotron-hr {
- border-top-color: #d0d5d8;
-}
-
.jumbotron-fluid {
padding-right: 0;
padding-left: 0;
@@ -5035,9 +4663,9 @@ a.badge:focus, a.badge:hover {
}
.alert-success {
+ color: #3c763d;
background-color: #dff0d8;
border-color: #d0e9c6;
- color: #3c763d;
}
.alert-success hr {
@@ -5049,9 +4677,9 @@ a.badge:focus, a.badge:hover {
}
.alert-info {
+ color: #31708f;
background-color: #d9edf7;
border-color: #bcdff1;
- color: #31708f;
}
.alert-info hr {
@@ -5063,9 +4691,9 @@ a.badge:focus, a.badge:hover {
}
.alert-warning {
+ color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faf2cc;
- color: #8a6d3b;
}
.alert-warning hr {
@@ -5077,9 +4705,9 @@ a.badge:focus, a.badge:hover {
}
.alert-danger {
+ color: #a94442;
background-color: #f2dede;
border-color: #ebcccc;
- color: #a94442;
}
.alert-danger hr {
@@ -5118,116 +4746,40 @@ a.badge:focus, a.badge:hover {
}
.progress {
- display: block;
- width: 100%;
- height: 1rem;
- margin-bottom: 1rem;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
overflow: hidden;
-}
-
-.progress[value] {
+ font-size: 0.75rem;
+ line-height: 1rem;
+ text-align: center;
background-color: #eceeef;
- border: 0;
- -webkit-appearance: none;
- -moz-appearance: none;
- appearance: none;
border-radius: 0.25rem;
}
-.progress[value]::-ms-fill {
- background-color: #0275d8;
- border: 0;
-}
-
-.progress[value]::-moz-progress-bar {
- background-color: #0275d8;
-}
-
-.progress[value]::-webkit-progress-value {
+.progress-bar {
+ height: 1rem;
+ line-height: 1rem;
+ color: #fff;
background-color: #0275d8;
+ -webkit-transition: width 0.6s ease;
+ -o-transition: width 0.6s ease;
+ transition: width 0.6s ease;
}
-.progress[value]::-webkit-progress-bar {
- background-color: #eceeef;
-}
-
-base::-moz-progress-bar,
-.progress[value] {
- background-color: #eceeef;
-}
-
-.progress-striped[value]::-webkit-progress-value {
+.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-webkit-background-size: 1rem 1rem;
background-size: 1rem 1rem;
}
-.progress-striped[value]::-moz-progress-bar {
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-size: 1rem 1rem;
-}
-
-.progress-striped[value]::-ms-fill {
- background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
- background-size: 1rem 1rem;
-}
-
-.progress-animated[value]::-webkit-progress-value {
- -webkit-animation: progress-bar-stripes 2s linear infinite;
- animation: progress-bar-stripes 2s linear infinite;
-}
-
-.progress-animated[value]::-moz-progress-bar {
- animation: progress-bar-stripes 2s linear infinite;
-}
-
-.progress-success[value]::-webkit-progress-value {
- background-color: #5cb85c;
-}
-
-.progress-success[value]::-moz-progress-bar {
- background-color: #5cb85c;
-}
-
-.progress-success[value]::-ms-fill {
- background-color: #5cb85c;
-}
-
-.progress-info[value]::-webkit-progress-value {
- background-color: #5bc0de;
-}
-
-.progress-info[value]::-moz-progress-bar {
- background-color: #5bc0de;
-}
-
-.progress-info[value]::-ms-fill {
- background-color: #5bc0de;
-}
-
-.progress-warning[value]::-webkit-progress-value {
- background-color: #f0ad4e;
-}
-
-.progress-warning[value]::-moz-progress-bar {
- background-color: #f0ad4e;
-}
-
-.progress-warning[value]::-ms-fill {
- background-color: #f0ad4e;
-}
-
-.progress-danger[value]::-webkit-progress-value {
- background-color: #d9534f;
-}
-
-.progress-danger[value]::-moz-progress-bar {
- background-color: #d9534f;
-}
-
-.progress-danger[value]::-ms-fill {
- background-color: #d9534f;
+.progress-bar-animated {
+ -webkit-animation: progress-bar-stripes 1s linear infinite;
+ -o-animation: progress-bar-stripes 1s linear infinite;
+ animation: progress-bar-stripes 1s linear infinite;
}
.media {
@@ -5243,8 +4795,8 @@ base::-moz-progress-bar,
.media-body {
-webkit-box-flex: 1;
- -webkit-flex: 1 1 0%;
- -ms-flex: 1 1 0%;
+ -webkit-flex: 1;
+ -ms-flex: 1;
flex: 1 1 0%;
}
@@ -5268,10 +4820,6 @@ base::-moz-progress-bar,
text-align: inherit;
}
-.list-group-item-action .list-group-item-heading {
- color: #292b2c;
-}
-
.list-group-item-action:focus, .list-group-item-action:hover {
color: #464a4c;
text-decoration: none;
@@ -5285,17 +4833,7 @@ base::-moz-progress-bar,
.list-group-item {
position: relative;
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-flex-flow: row wrap;
- -ms-flex-flow: row wrap;
- flex-flow: row wrap;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
+ display: block;
padding: 0.75rem 1.25rem;
margin-bottom: -1px;
background-color: #fff;
@@ -5303,8 +4841,8 @@ base::-moz-progress-bar,
}
.list-group-item:first-child {
- border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
}
.list-group-item:last-child {
@@ -5319,18 +4857,9 @@ base::-moz-progress-bar,
.list-group-item.disabled, .list-group-item:disabled {
color: #636c72;
- cursor: not-allowed;
background-color: #fff;
}
-.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {
- color: inherit;
-}
-
-.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {
- color: #636c72;
-}
-
.list-group-item.active {
z-index: 2;
color: #fff;
@@ -5338,16 +4867,6 @@ base::-moz-progress-bar,
border-color: #0275d8;
}
-.list-group-item.active .list-group-item-heading,
-.list-group-item.active .list-group-item-heading > small,
-.list-group-item.active .list-group-item-heading > .small {
- color: inherit;
-}
-
-.list-group-item.active .list-group-item-text {
- color: #daeeff;
-}
-
.list-group-flush .list-group-item {
border-right: 0;
border-left: 0;
@@ -5372,11 +4891,6 @@ button.list-group-item-success {
color: #3c763d;
}
-a.list-group-item-success .list-group-item-heading,
-button.list-group-item-success .list-group-item-heading {
- color: inherit;
-}
-
a.list-group-item-success:focus, a.list-group-item-success:hover,
button.list-group-item-success:focus,
button.list-group-item-success:hover {
@@ -5401,11 +4915,6 @@ button.list-group-item-info {
color: #31708f;
}
-a.list-group-item-info .list-group-item-heading,
-button.list-group-item-info .list-group-item-heading {
- color: inherit;
-}
-
a.list-group-item-info:focus, a.list-group-item-info:hover,
button.list-group-item-info:focus,
button.list-group-item-info:hover {
@@ -5430,11 +4939,6 @@ button.list-group-item-warning {
color: #8a6d3b;
}
-a.list-group-item-warning .list-group-item-heading,
-button.list-group-item-warning .list-group-item-heading {
- color: inherit;
-}
-
a.list-group-item-warning:focus, a.list-group-item-warning:hover,
button.list-group-item-warning:focus,
button.list-group-item-warning:hover {
@@ -5459,11 +4963,6 @@ button.list-group-item-danger {
color: #a94442;
}
-a.list-group-item-danger .list-group-item-heading,
-button.list-group-item-danger .list-group-item-heading {
- color: inherit;
-}
-
a.list-group-item-danger:focus, a.list-group-item-danger:hover,
button.list-group-item-danger:focus,
button.list-group-item-danger:hover {
@@ -5481,11 +4980,16 @@ button.list-group-item-danger.active {
.embed-responsive {
position: relative;
display: block;
- height: 0;
+ width: 100%;
padding: 0;
overflow: hidden;
}
+.embed-responsive::before {
+ display: block;
+ content: "";
+}
+
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
@@ -5500,20 +5004,20 @@ button.list-group-item-danger.active {
border: 0;
}
-.embed-responsive-21by9 {
- padding-bottom: 42.857143%;
+.embed-responsive-21by9::before {
+ padding-top: 42.857143%;
}
-.embed-responsive-16by9 {
- padding-bottom: 56.25%;
+.embed-responsive-16by9::before {
+ padding-top: 56.25%;
}
-.embed-responsive-4by3 {
- padding-bottom: 75%;
+.embed-responsive-4by3::before {
+ padding-top: 75%;
}
-.embed-responsive-1by1 {
- padding-bottom: 100%;
+.embed-responsive-1by1::before {
+ padding-top: 100%;
}
.close {
@@ -5529,13 +5033,11 @@ button.list-group-item-danger.active {
.close:focus, .close:hover {
color: #000;
text-decoration: none;
- cursor: pointer;
opacity: .75;
}
button.close {
padding: 0;
- cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
@@ -5706,20 +5208,21 @@ button.close {
position: absolute;
z-index: 1070;
display: block;
- font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ margin: 0;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
- letter-spacing: normal;
- line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
- white-space: normal;
+ letter-spacing: normal;
word-break: normal;
word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
font-size: 0.875rem;
word-wrap: break-word;
opacity: 0;
@@ -5729,12 +5232,11 @@ button.close {
opacity: 0.9;
}
-.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {
+.tooltip.bs-tooltip-top {
padding: 5px 0;
- margin-top: -3px;
}
-.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {
+.tooltip.bs-tooltip-top .arrow::before {
bottom: 0;
left: 50%;
margin-left: -5px;
@@ -5743,12 +5245,11 @@ button.close {
border-top-color: #000;
}
-.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {
+.tooltip.bs-tooltip-right {
padding: 0 5px;
- margin-left: 3px;
}
-.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {
+.tooltip.bs-tooltip-right .arrow::before {
top: 50%;
left: 0;
margin-top: -5px;
@@ -5757,12 +5258,11 @@ button.close {
border-right-color: #000;
}
-.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {
+.tooltip.bs-tooltip-bottom {
padding: 5px 0;
- margin-top: 3px;
}
-.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {
+.tooltip.bs-tooltip-bottom .arrow::before {
top: 0;
left: 50%;
margin-left: -5px;
@@ -5771,12 +5271,11 @@ button.close {
border-bottom-color: #000;
}
-.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {
+.tooltip.bs-tooltip-left {
padding: 0 5px;
- margin-left: -3px;
}
-.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {
+.tooltip.bs-tooltip-left .arrow::before {
top: 50%;
right: 0;
margin-top: -5px;
@@ -5785,6 +5284,14 @@ button.close {
border-left-color: #000;
}
+.tooltip .arrow::before {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+
.tooltip-inner {
max-width: 200px;
padding: 3px 8px;
@@ -5794,14 +5301,6 @@ button.close {
border-radius: 0.25rem;
}
-.tooltip-inner::before {
- position: absolute;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
-}
-
.popover {
position: absolute;
top: 0;
@@ -5810,20 +5309,20 @@ button.close {
display: block;
max-width: 276px;
padding: 1px;
- font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
font-style: normal;
font-weight: normal;
- letter-spacing: normal;
- line-break: auto;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
- white-space: normal;
+ letter-spacing: normal;
word-break: normal;
word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
font-size: 0.875rem;
word-wrap: break-word;
background-color: #fff;
@@ -5833,70 +5332,93 @@ button.close {
border-radius: 0.3rem;
}
-.popover.popover-top, .popover.bs-tether-element-attached-bottom {
- margin-top: -10px;
+.popover .arrow::before,
+.popover .arrow::after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+}
+
+.popover .arrow::before {
+ content: "";
+ border-width: 11px;
+}
+
+.popover .arrow::after {
+ content: "";
+ border-width: 10px;
}
-.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {
+.popover.bs-popover-top {
+ margin-bottom: 10px;
+}
+
+.popover.bs-popover-top .arrow::before,
+.popover.bs-popover-top .arrow::after {
left: 50%;
border-bottom-width: 0;
}
-.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {
+.popover.bs-popover-top .arrow::before {
bottom: -11px;
margin-left: -11px;
border-top-color: rgba(0, 0, 0, 0.25);
}
-.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {
+.popover.bs-popover-top .arrow::after {
bottom: -10px;
margin-left: -10px;
border-top-color: #fff;
}
-.popover.popover-right, .popover.bs-tether-element-attached-left {
+.popover.bs-popover-right {
margin-left: 10px;
}
-.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {
+.popover.bs-popover-right .arrow::before,
+.popover.bs-popover-right .arrow::after {
top: 50%;
border-left-width: 0;
}
-.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {
+.popover.bs-popover-right .arrow::before {
left: -11px;
margin-top: -11px;
border-right-color: rgba(0, 0, 0, 0.25);
}
-.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {
+.popover.bs-popover-right .arrow::after {
left: -10px;
margin-top: -10px;
border-right-color: #fff;
}
-.popover.popover-bottom, .popover.bs-tether-element-attached-top {
+.popover.bs-popover-bottom {
margin-top: 10px;
}
-.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {
+.popover.bs-popover-bottom .arrow::before,
+.popover.bs-popover-bottom .arrow::after {
left: 50%;
border-top-width: 0;
}
-.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {
+.popover.bs-popover-bottom .arrow::before {
top: -11px;
margin-left: -11px;
border-bottom-color: rgba(0, 0, 0, 0.25);
}
-.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {
+.popover.bs-popover-bottom .arrow::after {
top: -10px;
margin-left: -10px;
- border-bottom-color: #f7f7f7;
+ border-bottom-color: #fff;
}
-.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {
+.popover.bs-popover-bottom .popover-title::before {
position: absolute;
top: 0;
left: 50%;
@@ -5907,22 +5429,23 @@ button.close {
border-bottom: 1px solid #f7f7f7;
}
-.popover.popover-left, .popover.bs-tether-element-attached-right {
- margin-left: -10px;
+.popover.bs-popover-left {
+ margin-right: 10px;
}
-.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {
+.popover.bs-popover-left .arrow::before,
+.popover.bs-popover-left .arrow::after {
top: 50%;
border-right-width: 0;
}
-.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {
+.popover.bs-popover-left .arrow::before {
right: -11px;
margin-top: -11px;
border-left-color: rgba(0, 0, 0, 0.25);
}
-.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {
+.popover.bs-popover-left .arrow::after {
right: -10px;
margin-top: -10px;
border-left-color: #fff;
@@ -5930,11 +5453,13 @@ button.close {
.popover-title {
padding: 8px 14px;
- margin: 0;
+ margin-bottom: 0;
font-size: 1rem;
+ color: inherit;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
- border-radius: 0.2375rem 0.2375rem 0 0;
+ border-top-left-radius: calc(0.3rem - 1px);
+ border-top-right-radius: calc(0.3rem - 1px);
}
.popover-title:empty {
@@ -5943,26 +5468,7 @@ button.close {
.popover-content {
padding: 9px 14px;
-}
-
-.popover::before,
-.popover::after {
- position: absolute;
- display: block;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
-}
-
-.popover::before {
- content: "";
- border-width: 11px;
-}
-
-.popover::after {
- content: "";
- border-width: 10px;
+ color: #292b2c;
}
.carousel {
@@ -5978,35 +5484,20 @@ button.close {
.carousel-item {
position: relative;
display: none;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ -ms-flex-align: center;
+ align-items: center;
width: 100%;
-}
-
-@media (-webkit-transform-3d) {
- .carousel-item {
- -webkit-transition: -webkit-transform 0.6s ease-in-out;
- transition: -webkit-transform 0.6s ease-in-out;
- -o-transition: -o-transform 0.6s ease-in-out;
- transition: transform 0.6s ease-in-out;
- transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- -webkit-perspective: 1000px;
- perspective: 1000px;
- }
-}
-
-@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
- .carousel-item {
- -webkit-transition: -webkit-transform 0.6s ease-in-out;
- transition: -webkit-transform 0.6s ease-in-out;
- -o-transition: -o-transform 0.6s ease-in-out;
- transition: transform 0.6s ease-in-out;
- transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- -webkit-perspective: 1000px;
- perspective: 1000px;
- }
+ -webkit-transition: -webkit-transform 0.6s ease;
+ transition: -webkit-transform 0.6s ease;
+ -o-transition: -o-transform 0.6s ease;
+ transition: transform 0.6s ease;
+ transition: transform 0.6s ease, -webkit-transform 0.6s ease, -o-transform 0.6s ease;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-perspective: 1000px;
+ perspective: 1000px;
}
.carousel-item.active,
@@ -6024,40 +5515,22 @@ button.close {
top: 0;
}
-@media (-webkit-transform-3d) {
- .carousel-item-next.carousel-item-left,
- .carousel-item-prev.carousel-item-right {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- .carousel-item-next,
- .active.carousel-item-right {
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
- .carousel-item-prev,
- .active.carousel-item-left {
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- }
+.carousel-item-next.carousel-item-left,
+.carousel-item-prev.carousel-item-right {
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
}
-@supports ((-webkit-transform: translate3d(0, 0, 0)) or (transform: translate3d(0, 0, 0))) {
- .carousel-item-next.carousel-item-left,
- .carousel-item-prev.carousel-item-right {
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- }
- .carousel-item-next,
- .active.carousel-item-right {
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
- .carousel-item-prev,
- .active.carousel-item-left {
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- }
+.carousel-item-next,
+.active.carousel-item-right {
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+}
+
+.carousel-item-prev,
+.active.carousel-item-left {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
}
.carousel-control-prev,
@@ -6149,7 +5622,6 @@ button.close {
margin-right: 3px;
margin-left: 3px;
text-indent: -999px;
- cursor: pointer;
background-color: rgba(255, 255, 255, 0.5);
}
@@ -6290,13 +5762,13 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.rounded-top {
- border-top-right-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-top-right-radius: 0.25rem;
}
.rounded-right {
- border-bottom-right-radius: 0.25rem;
border-top-right-radius: 0.25rem;
+ border-bottom-right-radius: 0.25rem;
}
.rounded-bottom {
@@ -6305,8 +5777,8 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.rounded-left {
- border-bottom-left-radius: 0.25rem;
border-top-left-radius: 0.25rem;
+ border-bottom-left-radius: 0.25rem;
}
.rounded-circle {
@@ -6319,8 +5791,8 @@ a.bg-inverse:focus, a.bg-inverse:hover {
.clearfix::after {
display: block;
- content: "";
clear: both;
+ content: "";
}
.d-none {
@@ -6493,21 +5965,57 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
}
-.flex-first {
+.d-print-block {
+ display: none !important;
+}
+
+@media print {
+ .d-print-block {
+ display: block !important;
+ }
+}
+
+.d-print-inline {
+ display: none !important;
+}
+
+@media print {
+ .d-print-inline {
+ display: inline !important;
+ }
+}
+
+.d-print-inline-block {
+ display: none !important;
+}
+
+@media print {
+ .d-print-inline-block {
+ display: inline-block !important;
+ }
+}
+
+@media print {
+ .d-print-none {
+ display: none !important;
+ }
+}
+
+.order-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
-.flex-last {
+.order-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
-.flex-unordered {
+.order-0 {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
@@ -6709,19 +6217,19 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
@media (min-width: 576px) {
- .flex-sm-first {
+ .order-sm-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
- .flex-sm-last {
+ .order-sm-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
- .flex-sm-unordered {
+ .order-sm-0 {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
@@ -6895,19 +6403,19 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
@media (min-width: 768px) {
- .flex-md-first {
+ .order-md-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
- .flex-md-last {
+ .order-md-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
- .flex-md-unordered {
+ .order-md-0 {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
@@ -7081,19 +6589,19 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
@media (min-width: 992px) {
- .flex-lg-first {
+ .order-lg-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
- .flex-lg-last {
+ .order-lg-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
- .flex-lg-unordered {
+ .order-lg-0 {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
@@ -7267,19 +6775,19 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
@media (min-width: 1200px) {
- .flex-xl-first {
+ .order-xl-first {
-webkit-box-ordinal-group: 0;
-webkit-order: -1;
-ms-flex-order: -1;
order: -1;
}
- .flex-xl-last {
+ .order-xl-last {
-webkit-box-ordinal-group: 2;
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
}
- .flex-xl-unordered {
+ .order-xl-0 {
-webkit-box-ordinal-group: 1;
-webkit-order: 0;
-ms-flex-order: 0;
@@ -7512,14 +7020,39 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
}
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1030;
+}
+
+.sticky-top {
+ position: -webkit-sticky;
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+}
+
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
- margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ -webkit-clip-path: inset(50%);
+ clip-path: inset(50%);
border: 0;
}
@@ -7527,9 +7060,11 @@ a.bg-inverse:focus, a.bg-inverse:hover {
position: static;
width: auto;
height: auto;
- margin: 0;
overflow: visible;
clip: auto;
+ white-space: normal;
+ -webkit-clip-path: none;
+ clip-path: none;
}
.w-25 {
@@ -7573,7 +7108,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-0 {
- margin: 0 0 !important;
+ margin: 0 !important;
}
.mt-0 {
@@ -7603,7 +7138,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-1 {
- margin: 0.25rem 0.25rem !important;
+ margin: 0.25rem !important;
}
.mt-1 {
@@ -7633,7 +7168,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-2 {
- margin: 0.5rem 0.5rem !important;
+ margin: 0.5rem !important;
}
.mt-2 {
@@ -7663,7 +7198,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-3 {
- margin: 1rem 1rem !important;
+ margin: 1rem !important;
}
.mt-3 {
@@ -7693,7 +7228,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-4 {
- margin: 1.5rem 1.5rem !important;
+ margin: 1.5rem !important;
}
.mt-4 {
@@ -7723,7 +7258,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.m-5 {
- margin: 3rem 3rem !important;
+ margin: 3rem !important;
}
.mt-5 {
@@ -7753,7 +7288,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-0 {
- padding: 0 0 !important;
+ padding: 0 !important;
}
.pt-0 {
@@ -7783,7 +7318,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-1 {
- padding: 0.25rem 0.25rem !important;
+ padding: 0.25rem !important;
}
.pt-1 {
@@ -7813,7 +7348,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-2 {
- padding: 0.5rem 0.5rem !important;
+ padding: 0.5rem !important;
}
.pt-2 {
@@ -7843,7 +7378,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-3 {
- padding: 1rem 1rem !important;
+ padding: 1rem !important;
}
.pt-3 {
@@ -7873,7 +7408,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-4 {
- padding: 1.5rem 1.5rem !important;
+ padding: 1.5rem !important;
}
.pt-4 {
@@ -7903,7 +7438,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
.p-5 {
- padding: 3rem 3rem !important;
+ padding: 3rem !important;
}
.pt-5 {
@@ -7964,7 +7499,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
@media (min-width: 576px) {
.m-sm-0 {
- margin: 0 0 !important;
+ margin: 0 !important;
}
.mt-sm-0 {
margin-top: 0 !important;
@@ -7987,7 +7522,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0 !important;
}
.m-sm-1 {
- margin: 0.25rem 0.25rem !important;
+ margin: 0.25rem !important;
}
.mt-sm-1 {
margin-top: 0.25rem !important;
@@ -8010,7 +7545,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.25rem !important;
}
.m-sm-2 {
- margin: 0.5rem 0.5rem !important;
+ margin: 0.5rem !important;
}
.mt-sm-2 {
margin-top: 0.5rem !important;
@@ -8033,7 +7568,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.5rem !important;
}
.m-sm-3 {
- margin: 1rem 1rem !important;
+ margin: 1rem !important;
}
.mt-sm-3 {
margin-top: 1rem !important;
@@ -8056,7 +7591,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1rem !important;
}
.m-sm-4 {
- margin: 1.5rem 1.5rem !important;
+ margin: 1.5rem !important;
}
.mt-sm-4 {
margin-top: 1.5rem !important;
@@ -8079,7 +7614,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1.5rem !important;
}
.m-sm-5 {
- margin: 3rem 3rem !important;
+ margin: 3rem !important;
}
.mt-sm-5 {
margin-top: 3rem !important;
@@ -8102,7 +7637,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 3rem !important;
}
.p-sm-0 {
- padding: 0 0 !important;
+ padding: 0 !important;
}
.pt-sm-0 {
padding-top: 0 !important;
@@ -8125,7 +7660,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0 !important;
}
.p-sm-1 {
- padding: 0.25rem 0.25rem !important;
+ padding: 0.25rem !important;
}
.pt-sm-1 {
padding-top: 0.25rem !important;
@@ -8148,7 +7683,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.25rem !important;
}
.p-sm-2 {
- padding: 0.5rem 0.5rem !important;
+ padding: 0.5rem !important;
}
.pt-sm-2 {
padding-top: 0.5rem !important;
@@ -8171,7 +7706,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.5rem !important;
}
.p-sm-3 {
- padding: 1rem 1rem !important;
+ padding: 1rem !important;
}
.pt-sm-3 {
padding-top: 1rem !important;
@@ -8194,7 +7729,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1rem !important;
}
.p-sm-4 {
- padding: 1.5rem 1.5rem !important;
+ padding: 1.5rem !important;
}
.pt-sm-4 {
padding-top: 1.5rem !important;
@@ -8217,7 +7752,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1.5rem !important;
}
.p-sm-5 {
- padding: 3rem 3rem !important;
+ padding: 3rem !important;
}
.pt-sm-5 {
padding-top: 3rem !important;
@@ -8266,7 +7801,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
@media (min-width: 768px) {
.m-md-0 {
- margin: 0 0 !important;
+ margin: 0 !important;
}
.mt-md-0 {
margin-top: 0 !important;
@@ -8289,7 +7824,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0 !important;
}
.m-md-1 {
- margin: 0.25rem 0.25rem !important;
+ margin: 0.25rem !important;
}
.mt-md-1 {
margin-top: 0.25rem !important;
@@ -8312,7 +7847,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.25rem !important;
}
.m-md-2 {
- margin: 0.5rem 0.5rem !important;
+ margin: 0.5rem !important;
}
.mt-md-2 {
margin-top: 0.5rem !important;
@@ -8335,7 +7870,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.5rem !important;
}
.m-md-3 {
- margin: 1rem 1rem !important;
+ margin: 1rem !important;
}
.mt-md-3 {
margin-top: 1rem !important;
@@ -8358,7 +7893,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1rem !important;
}
.m-md-4 {
- margin: 1.5rem 1.5rem !important;
+ margin: 1.5rem !important;
}
.mt-md-4 {
margin-top: 1.5rem !important;
@@ -8381,7 +7916,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1.5rem !important;
}
.m-md-5 {
- margin: 3rem 3rem !important;
+ margin: 3rem !important;
}
.mt-md-5 {
margin-top: 3rem !important;
@@ -8404,7 +7939,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 3rem !important;
}
.p-md-0 {
- padding: 0 0 !important;
+ padding: 0 !important;
}
.pt-md-0 {
padding-top: 0 !important;
@@ -8427,7 +7962,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0 !important;
}
.p-md-1 {
- padding: 0.25rem 0.25rem !important;
+ padding: 0.25rem !important;
}
.pt-md-1 {
padding-top: 0.25rem !important;
@@ -8450,7 +7985,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.25rem !important;
}
.p-md-2 {
- padding: 0.5rem 0.5rem !important;
+ padding: 0.5rem !important;
}
.pt-md-2 {
padding-top: 0.5rem !important;
@@ -8473,7 +8008,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.5rem !important;
}
.p-md-3 {
- padding: 1rem 1rem !important;
+ padding: 1rem !important;
}
.pt-md-3 {
padding-top: 1rem !important;
@@ -8496,7 +8031,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1rem !important;
}
.p-md-4 {
- padding: 1.5rem 1.5rem !important;
+ padding: 1.5rem !important;
}
.pt-md-4 {
padding-top: 1.5rem !important;
@@ -8519,7 +8054,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1.5rem !important;
}
.p-md-5 {
- padding: 3rem 3rem !important;
+ padding: 3rem !important;
}
.pt-md-5 {
padding-top: 3rem !important;
@@ -8568,7 +8103,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
@media (min-width: 992px) {
.m-lg-0 {
- margin: 0 0 !important;
+ margin: 0 !important;
}
.mt-lg-0 {
margin-top: 0 !important;
@@ -8591,7 +8126,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0 !important;
}
.m-lg-1 {
- margin: 0.25rem 0.25rem !important;
+ margin: 0.25rem !important;
}
.mt-lg-1 {
margin-top: 0.25rem !important;
@@ -8614,7 +8149,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.25rem !important;
}
.m-lg-2 {
- margin: 0.5rem 0.5rem !important;
+ margin: 0.5rem !important;
}
.mt-lg-2 {
margin-top: 0.5rem !important;
@@ -8637,7 +8172,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.5rem !important;
}
.m-lg-3 {
- margin: 1rem 1rem !important;
+ margin: 1rem !important;
}
.mt-lg-3 {
margin-top: 1rem !important;
@@ -8660,7 +8195,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1rem !important;
}
.m-lg-4 {
- margin: 1.5rem 1.5rem !important;
+ margin: 1.5rem !important;
}
.mt-lg-4 {
margin-top: 1.5rem !important;
@@ -8683,7 +8218,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1.5rem !important;
}
.m-lg-5 {
- margin: 3rem 3rem !important;
+ margin: 3rem !important;
}
.mt-lg-5 {
margin-top: 3rem !important;
@@ -8706,7 +8241,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 3rem !important;
}
.p-lg-0 {
- padding: 0 0 !important;
+ padding: 0 !important;
}
.pt-lg-0 {
padding-top: 0 !important;
@@ -8729,7 +8264,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0 !important;
}
.p-lg-1 {
- padding: 0.25rem 0.25rem !important;
+ padding: 0.25rem !important;
}
.pt-lg-1 {
padding-top: 0.25rem !important;
@@ -8752,7 +8287,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.25rem !important;
}
.p-lg-2 {
- padding: 0.5rem 0.5rem !important;
+ padding: 0.5rem !important;
}
.pt-lg-2 {
padding-top: 0.5rem !important;
@@ -8775,7 +8310,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.5rem !important;
}
.p-lg-3 {
- padding: 1rem 1rem !important;
+ padding: 1rem !important;
}
.pt-lg-3 {
padding-top: 1rem !important;
@@ -8798,7 +8333,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1rem !important;
}
.p-lg-4 {
- padding: 1.5rem 1.5rem !important;
+ padding: 1.5rem !important;
}
.pt-lg-4 {
padding-top: 1.5rem !important;
@@ -8821,7 +8356,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1.5rem !important;
}
.p-lg-5 {
- padding: 3rem 3rem !important;
+ padding: 3rem !important;
}
.pt-lg-5 {
padding-top: 3rem !important;
@@ -8870,7 +8405,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
@media (min-width: 1200px) {
.m-xl-0 {
- margin: 0 0 !important;
+ margin: 0 !important;
}
.mt-xl-0 {
margin-top: 0 !important;
@@ -8893,7 +8428,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0 !important;
}
.m-xl-1 {
- margin: 0.25rem 0.25rem !important;
+ margin: 0.25rem !important;
}
.mt-xl-1 {
margin-top: 0.25rem !important;
@@ -8916,7 +8451,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.25rem !important;
}
.m-xl-2 {
- margin: 0.5rem 0.5rem !important;
+ margin: 0.5rem !important;
}
.mt-xl-2 {
margin-top: 0.5rem !important;
@@ -8939,7 +8474,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 0.5rem !important;
}
.m-xl-3 {
- margin: 1rem 1rem !important;
+ margin: 1rem !important;
}
.mt-xl-3 {
margin-top: 1rem !important;
@@ -8962,7 +8497,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1rem !important;
}
.m-xl-4 {
- margin: 1.5rem 1.5rem !important;
+ margin: 1.5rem !important;
}
.mt-xl-4 {
margin-top: 1.5rem !important;
@@ -8985,7 +8520,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 1.5rem !important;
}
.m-xl-5 {
- margin: 3rem 3rem !important;
+ margin: 3rem !important;
}
.mt-xl-5 {
margin-top: 3rem !important;
@@ -9008,7 +8543,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
margin-bottom: 3rem !important;
}
.p-xl-0 {
- padding: 0 0 !important;
+ padding: 0 !important;
}
.pt-xl-0 {
padding-top: 0 !important;
@@ -9031,7 +8566,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0 !important;
}
.p-xl-1 {
- padding: 0.25rem 0.25rem !important;
+ padding: 0.25rem !important;
}
.pt-xl-1 {
padding-top: 0.25rem !important;
@@ -9054,7 +8589,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.25rem !important;
}
.p-xl-2 {
- padding: 0.5rem 0.5rem !important;
+ padding: 0.5rem !important;
}
.pt-xl-2 {
padding-top: 0.5rem !important;
@@ -9077,7 +8612,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 0.5rem !important;
}
.p-xl-3 {
- padding: 1rem 1rem !important;
+ padding: 1rem !important;
}
.pt-xl-3 {
padding-top: 1rem !important;
@@ -9100,7 +8635,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1rem !important;
}
.p-xl-4 {
- padding: 1.5rem 1.5rem !important;
+ padding: 1.5rem !important;
}
.pt-xl-4 {
padding-top: 1.5rem !important;
@@ -9123,7 +8658,7 @@ a.bg-inverse:focus, a.bg-inverse:hover {
padding-bottom: 1.5rem !important;
}
.p-xl-5 {
- padding: 3rem 3rem !important;
+ padding: 3rem !important;
}
.pt-xl-5 {
padding-top: 3rem !important;
@@ -9170,14 +8705,6 @@ a.bg-inverse:focus, a.bg-inverse:hover {
}
}
-.pos-f-t {
- position: fixed;
- top: 0;
- right: 0;
- left: 0;
- z-index: 1030;
-}
-
.text-justify {
text-align: justify !important;
}
@@ -9344,99 +8871,11 @@ a.text-gray-dark:focus, a.text-gray-dark:hover {
border: 0;
}
-.invisible {
- visibility: hidden !important;
-}
-
-.hidden-xs-up {
- display: none !important;
-}
-
-@media (max-width: 575px) {
- .hidden-xs-down {
- display: none !important;
- }
-}
-
-@media (min-width: 576px) {
- .hidden-sm-up {
- display: none !important;
- }
-}
-
-@media (max-width: 767px) {
- .hidden-sm-down {
- display: none !important;
- }
-}
-
-@media (min-width: 768px) {
- .hidden-md-up {
- display: none !important;
- }
+.visible {
+ visibility: visible !important;
}
-@media (max-width: 991px) {
- .hidden-md-down {
- display: none !important;
- }
-}
-
-@media (min-width: 992px) {
- .hidden-lg-up {
- display: none !important;
- }
-}
-
-@media (max-width: 1199px) {
- .hidden-lg-down {
- display: none !important;
- }
-}
-
-@media (min-width: 1200px) {
- .hidden-xl-up {
- display: none !important;
- }
-}
-
-.hidden-xl-down {
- display: none !important;
-}
-
-.visible-print-block {
- display: none !important;
-}
-
-@media print {
- .visible-print-block {
- display: block !important;
- }
-}
-
-.visible-print-inline {
- display: none !important;
-}
-
-@media print {
- .visible-print-inline {
- display: inline !important;
- }
-}
-
-.visible-print-inline-block {
- display: none !important;
-}
-
-@media print {
- .visible-print-inline-block {
- display: inline-block !important;
- }
-}
-
-@media print {
- .hidden-print {
- display: none !important;
- }
+.invisible {
+ visibility: hidden !important;
}
/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file
diff --git a/docs/dist/css/bootstrap.css.map b/docs/dist/css/bootstrap.css.map
index c9a3e7e4e..c00fb9381 100644
--- a/docs/dist/css/bootstrap.css.map
+++ b/docs/dist/css/bootstrap.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/mixins/_tab-focus.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/mixins/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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AyB;CAC1B;;AAIH;EACE,uBTk6BiC;ESj6BjC,eTg6B+B;ES/5B/B,YTkEW;ESjEX,0BT6EiC;EOtG/B,sBPgU0B;CS7R7B;;AAdD;EASI,WAAU;EACV,gBAAe;EACf,kBTgOmB;CS9NpB;;AAIH;EACE,eAAc;EACd,cAAa;EACb,oBAAmB;EACnB,eT64B+B;ES54B/B,eT2DiC;CSjDlC;;AAfD;EASI,WAAU;EACV,mBAAkB;EAClB,eAAc;EACd,8BAA6B;EAC7B,iBAAgB;CACjB;;AAIH;EACE,kBT04BiC;ESz4BjC,mBAAkB;CACnB;;AC1DC;ECAA,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDJ/B;;AEgDC;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CbqvBF;;AersBG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;Cb4vBF;;Ae5sBG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;CbmwBF;;AentBG;EFnDF;ICMI,oBAA4B;IAC5B,mBAA4B;GDJ/B;Cb0wBF;;Ae1tBG;EFnDF;ICiBI,aXsMK;IWrML,gBAAe;GDflB;CbixBF;;AejuBG;EFnDF;ICiBI,aXuMK;IWtML,gBAAe;GDflB;CbwxBF;;AexuBG;EFnDF;ICiBI,aXwMK;IWvML,gBAAe;GDflB;Cb+xBF;;Ae/uBG;EFnDF;ICiBI,cXyMM;IWxMN,gBAAe;GDflB;CbsyBF;;Aa7xBC;ECZA,kBAAiB;EACjB,mBAAkB;EAKd,oBAA4B;EAC5B,mBAA4B;CDO/B;;AEqCC;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CbyyBF;;AepwBG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CbgzBF;;Ae3wBG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;CbuzBF;;AelxBG;EFvCF;ICNI,oBAA4B;IAC5B,mBAA4B;GDO/B;Cb8zBF;;AatzBC;ECYA,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,wBAAe;MAAf,oBAAe;UAAf,gBAAe;EAKX,oBAA4B;EAC5B,mBAA4B;CDjB/B;;AE2BC;EF7B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pBH;EAyBI,oBlBobwC;EkBnbxC,aAAY;CAEb;;AA5BH;EAgCI,uBAAsB;CAEvB;;AAIH;;EAEE,qBAAoB;CACrB;;AAOD;EC7CE,YnBqFW;EmBpFX,0BnB0Fc;EmBzFd,sBnByFc;CkB5Cf;;AjB9CG;EkBMA,YnB8ES;EmB7ET,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,qDnB0EU;UmB1EV,6CnB0EU;CmBxEb;;AAGD;EAEE,0BnBmEY;EmBlEZ,sBnBkEY;CmBjEb;;AAED;;EAGE,YnBsDS;EmBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADYH;EChDE,enBiGiC;EmBhGjC,uBnBoFW;EmBnFX,mBnB+WmC;CkB/TpC;;AjBjDG;EkBMA,enB0F+B;EmBzF/B,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,uDnBgW+B;UmBhW/B,+CnBgW+B;CmB9VlC;;AAGD;EAEE,uBnB6DS;EmB5DT,mBnBwViC;CmBvVlC;;AAED;;EAGE,enBkE+B;EmBjE/B,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADeH;ECnDE,YnBqFW;EmBpFX,0BnB2Fc;EmB1Fd,sBnB0Fc;CkBvCf;;AjBpDG;EkBMA,YnB8ES;EmB7ET,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,sDnB2EU;UmB3EV,8CnB2EU;CmBzEb;;AAGD;EAEE,0BnBoEY;EmBnEZ,sBnBmEY;CmBlEb;;AAED;;EAGE,YnBsDS;EmBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADkBH;ECtDE,YnBqFW;EmBpFX,0BnByFc;EmBxFd,sBnBwFc;CkBlCf;;AjBvDG;EkBMA,YnB8ES;EmB7ET,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,qDnByEU;UmBzEV,6CnByEU;CmBvEb;;AAGD;EAEE,0BnBkEY;EmBjEZ,sBnBiEY;CmBhEb;;AAED;;EAGE,YnBsDS;EmBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADqBH;ECzDE,YnBqFW;EmBpFX,0BnBuFc;EmBtFd,sBnBsFc;CkB7Bf;;AjB1DG;EkBMA,YnB8ES;EmB7ET,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,sDnBuEU;UmBvEV,8CnBuEU;CmBrEb;;AAGD;EAEE,0BnBgEY;EmB/DZ,sBnB+DY;CmB9Db;;AAED;;EAGE,YnBsDS;EmBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADwBH;EC5DE,YnBqFW;EmBpFX,0BnBsFc;EmBrFd,sBnBqFc;CkBzBf;;AjB7DG;EkBMA,YnB8ES;EmB7ET,0BAX0C;EAY1C,sBAXkC;ClBGb;;AkBUvB;EAMI,qDnBsEU;UmBtEV,6CnBsEU;CmBpEb;;AAGD;EAEE,0BnB+DY;EmB9DZ,sBnB8DY;CmB7Db;;AAED;;EAGE,YnBsDS;EmBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;AD6BH;ECzBE,enBmDc;EmBlDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBnBgDc;CkBxBf;;AjBlEG;EkB6CA,YAPoD;EAQpD,0BnB4CY;EmB3CZ,sBnB2CY;CC1FS;;AkBkDvB;EAEE,qDnBsCY;UmBtCZ,6CnBsCY;CmBrCb;;AAED;EAEE,enBiCY;EmBhCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BnByBY;EmBxBZ,sBnBwBY;CmBvBb;;ADAH;EC5BE,YnByUmC;EmBxUnC,uBAAsB;EACtB,8BAA6B;EAC7B,mBnBsUmC;CkB3SpC;;AjBrEG;EkB6CA,YAPoD;EAQpD,uBnBkUiC;EmBjUjC,mBnBiUiC;CChXZ;;AkBkDvB;EAEE,uDnB4TiC;UmB5TjC,+CnB4TiC;CmB3TlC;;AAED;EAEE,YnBuTiC;EmBtTjC,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,uBnB+SiC;EmB9SjC,mBnB8SiC;CmB7SlC;;ADGH;EC/BE,enBoDc;EmBnDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBnBiDc;CkBnBf;;AjBxEG;EkB6CA,YAPoD;EAQpD,0BnB6CY;EmB5CZ,sBnB4CY;CC3FS;;AkBkDvB;EAEE,sDnBuCY;UmBvCZ,8CnBuCY;CmBtCb;;AAED;EAEE,enBkCY;EmBjCZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BnB0BY;EmBzBZ,sBnByBY;CmBxBb;;ADMH;EClCE,enBkDc;EmBjDd,uBAAsB;EACtB,8BAA6B;EAC7B,sBnB+Cc;CkBdf;;AjB3EG;EkB6CA,YAPoD;EAQpD,0BnB2CY;EmB1CZ,sBnB0CY;CCzFS;;AkBkDvB;EAEE,qDnBqCY;UmBrCZ,6CnBqCY;CmBpCb;;AAED;EAEE,enBgCY;EmB/BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BnBwBY;EmBvBZ,sBnBuBY;CmBtBb;;ADSH;ECrCE,enBgDc;EmB/Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBnB6Cc;CkBTf;;AjB9EG;EkB6CA,YAPoD;EAQpD,0BnByCY;EmBxCZ,sBnBwCY;CCvFS;;AkBkDvB;EAEE,sDnBmCY;UmBnCZ,8CnBmCY;CmBlCb;;AAED;EAEE,enB8BY;EmB7BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BnBsBY;EmBrBZ,sBnBqBY;CmBpBb;;ADYH;ECxCE,enB+Cc;EmB9Cd,uBAAsB;EACtB,8BAA6B;EAC7B,sBnB4Cc;CkBLf;;AjBjFG;EkB6CA,YAPoD;EAQpD,0BnBwCY;EmBvCZ,sBnBuCY;CCtFS;;AkBkDvB;EAEE,qDnBkCY;UmBlCZ,6CnBkCY;CmBjCb;;AAED;EAEE,enB6BY;EmB5BZ,8BAA6B;CAC9B;;AAED;;EAGE,YA1BoD;EA2BpD,0BnBqBY;EmBpBZ,sBnBoBY;CmBnBb;;ADsBH;EACE,oBlB+JyB;EkB9JzB,elBDc;EkBEd,iBAAgB;CA6BjB;;AAhCD;EASI,8BAA6B;CAE9B;;AAXH;EAeI,0BAAyB;CAC1B;;AjBzGC;EiB2GA,0BAAyB;CjB3GJ;;AAUrB;EiBoGA,elB2E4C;EkB1E5C,2BlB2E6B;EkB1E7B,8BAA6B;CjBnG5B;;AiB4EL;EA0BI,elBjB+B;CkBsBhC;;AjB9GC;EiB4GE,sBAAqB;CjBzGtB;;AiBmHL;ECxDE,wBnB+TqC;EmB9TrC,mBnB4KsB;EO3PpB,sBP+T0B;CkBtL7B;;AACD;EC5DE,wBnB4T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;C8BxEhC;;AEpCH;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EAEb,gBAAe;EACf,iBAAgB;EzBAd,uBP8T2B;CgC5T9B;;AAED;EAGM,eAAc;EzBoBhB,mCPmS2B;EOlS3B,gCPkS2B;CgCrT1B;;AALL;EzBSI,oCPiT2B;EOhT3B,iCPgT2B;CgChT1B;;AAVL;EAcI,WAAU;EACV,YhCuES;EgCtET,0BhC4EY;EgC3EZ,sBhC2EY;CgC1Eb;;AAlBH;EAqBI,ehC+E+B;EgC9E/B,qBAAoB;EACpB,oBhCobwC;EgCnbxC,uBhC8DS;EgC7DT,mBhCwoBuC;CgCvoBxC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wBhC0mB0C;EgCzmB1C,kBAAiB;EACjB,kBhC8mBwC;EgC7mBxC,ehCyDc;EgCxDd,uBhCkDW;EgCjDX,uBhCgnByC;CgCxmB1C;;A/BjCG;E+B4BA,ehCmJ4C;EgClJ5C,sBAAqB;EACrB,0BhC2D+B;EgC1D/B,mBhC8mBuC;CC1oBtC;;AgCpBH;EACE,wBjCkpBwC;EiCjpBxC,mBjC0PoB;CiCzPrB;;AAIG;E1BqBF,kCPoS0B;EOnS1B,+BPmS0B;CiCvTvB;;AAGD;E1BEF,mCPkT0B;EOjT1B,gCPiT0B;CiClTvB;;AAdL;EACE,wBjCgpBuC;EiC/oBvC,oBjC2PoB;CiC1PrB;;AAIG;E1BqBF,kCPqS0B;EOpS1B,+BPoS0B;CiCxTvB;;AAGD;E1BEF,mCPmT0B;EOlT1B,gCPkT0B;CiCnTvB;;ACZP;EACE,sBAAqB;EACrB,sBlCywBgC;EkCxwBhC,elCswB+B;EkCrwB/B,kBlC2PqB;EkC1PrB,eAAc;EACd,YlCmFW;EkClFX,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E3BVtB,uBP8T2B;CkC7S9B;;AAhBD;EAcI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AjCPG;EiCaA,YlC6DS;EkC5DT,sBAAqB;EACrB,gBAAe;CjCZd;;AiCqBL;EACE,qBlCsuBgC;EkCruBhC,oBlCquBgC;EO/wB9B,qBPkxB+B;CkCtuBlC;;AAMD;ECnDE,0BnCyGiC;CkCpDlC;;AjCpCG;EkCbE,0BAAqC;ClCgBtC;;AiCmCL;ECvDE,0BnCiGc;CkCxCf;;AjCxCG;EkCbE,0BAAqC;ClCgBtC;;AiCuCL;EC3DE,0BnCgGc;CkCnCf;;AjC5CG;EkCbE,0BAAqC;ClCgBtC;;AiC2CL;EC/DE,0BnCkGc;CkCjCf;;AjChDG;EkCbE,0BAAqC;ClCgBtC;;AiC+CL;ECnEE,0BnC8Fc;CkCzBf;;AjCpDG;EkCbE,0BAAqC;ClCgBtC;;AiCmDL;ECvEE,0BnC6Fc;CkCpBf;;AjCxDG;EkCbE,0BAAqC;ClCgBtC;;AmCvBL;EACE,mBAAoD;EACpD,oBpC4qBmC;EoC3qBnC,0BpC0GiC;EOzG/B,sBP+T0B;CoC1T7B;;AxB+CG;EwBxDJ;IAOI,mBpCuqBiC;GoCrqBpC;CvCw2IA;;AuCt2ID;EACE,0BAA4C;CAC7C;;AAED;EACE,iBAAgB;EAChB,gBAAe;E7Bbb,iB6BcsB;CACzB;;ACfD;EACE,yBrCuzBmC;EqCtzBnC,oBrCsIa;EqCrIb,8BAA6C;E9BH3C,uBP8T2B;CqCzT9B;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,kBrCiPqB;CqChPtB;;AAOD;EAGI,mBAAkB;EAClB,crC8xBgC;EqC7xBhC,gBrC4xBiC;EqC3xBjC,yBrC2xBiC;EqC1xBjC,eAAc;CACf;;AAQH;ECxCE,0BtCorBsC;EsCnrBtC,sBtCorB4D;EsCnrB5D,etCirBsC;CqCzoBvC;;ACtCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADkCH;EC3CE,0BtCwrBsC;EsCvrBtC,sBtCwrByD;EsCvrBzD,etCqrBsC;CqC1oBvC;;ACzCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADqCH;EC9CE,0BtC4rBsC;EsC3rBtC,sBtC6rB4D;EsC5rB5D,etCyrBsC;CqC3oBvC;;AC5CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADwCH;ECjDE,0BtCisBsC;EsChsBtC,sBtCisB2D;EsChsB3D,etC8rBsC;CqC7oBvC;;AC/CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;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","file":"bootstrap.css","sourcesContent":[null,null,"/*!\n * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)\n * Copyright 2011-2016 The Bootstrap Authors\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\nbody {\n margin: 0;\n}\n\narticle,\naside,\nfooter,\nheader,\nnav,\nsection {\n display: block;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nfigcaption,\nfigure,\nmain {\n display: block;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:active,\na:hover {\n outline-width: 0;\n}\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: inherit;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\ndfn {\n font-style: italic;\n}\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\naudio,\nvideo {\n display: inline-block;\n}\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\nimg {\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: sans-serif;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n}\n\nprogress {\n display: inline-block;\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails,\nmenu {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ncanvas {\n display: inline-block;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\n@media print {\n *,\n *::before,\n *::after,\n p::first-letter,\n div::first-letter,\n blockquote::first-letter,\n li::first-letter,\n p::first-line,\n div::first-line,\n blockquote::first-line,\n li::first-line {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\nhtml {\n box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\nhtml {\n font-size: 16px;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\nbody {\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: none;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n background-color: transparent;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\ntextarea {\n line-height: inherit;\n}\n\ninput[type=\"radio\"]:disabled,\ninput[type=\"checkbox\"]:disabled {\n cursor: not-allowed;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\noutput {\n display: inline-block;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: normal;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n font-size: 1.25rem;\n border-left: 0.25rem solid #eceeef;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #636c72;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.blockquote-reverse {\n padding-right: 1rem;\n padding-left: 0;\n text-align: right;\n border-right: 0.25rem solid #eceeef;\n border-left: 0;\n}\n\n.blockquote-reverse .blockquote-footer::before {\n content: \"\";\n}\n\n.blockquote-reverse .blockquote-footer::after {\n content: \"\\00A0 \\2014\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #636c72;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f7f7f9;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #292b2c;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #292b2c;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n margin-left: auto;\n margin-right: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #eceeef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #eceeef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #eceeef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #eceeef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #eceeef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #dff0d8;\n}\n\n.table-hover .table-success:hover {\n background-color: #d0e9c6;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #d0e9c6;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #d9edf7;\n}\n\n.table-hover .table-info:hover {\n background-color: #c4e3f3;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #c4e3f3;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #fcf8e3;\n}\n\n.table-hover .table-warning:hover {\n background-color: #faf2cc;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #faf2cc;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f2dede;\n}\n\n.table-hover .table-danger:hover {\n background-color: #ebcccc;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #ebcccc;\n}\n\n.thead-inverse th {\n color: #fff;\n background-color: #292b2c;\n}\n\n.thead-default th {\n color: #464a4c;\n background-color: #eceeef;\n}\n\n.table-inverse {\n color: #fff;\n background-color: #292b2c;\n}\n\n.table-inverse th,\n.table-inverse td,\n.table-inverse thead th {\n border-color: #fff;\n}\n\n.table-inverse.table-bordered {\n border: 0;\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n.table-responsive.table-bordered {\n border: 0;\n}\n\n.table-reflow thead {\n float: left;\n}\n\n.table-reflow tbody {\n display: block;\n white-space: nowrap;\n}\n\n.table-reflow th,\n.table-reflow td {\n border-top: 1px solid #eceeef;\n border-left: 1px solid #eceeef;\n}\n\n.table-reflow th:last-child,\n.table-reflow td:last-child {\n border-right: 1px solid #eceeef;\n}\n\n.table-reflow thead:last-child tr:last-child th,\n.table-reflow thead:last-child tr:last-child td,\n.table-reflow tbody:last-child tr:last-child th,\n.table-reflow tbody:last-child tr:last-child td,\n.table-reflow tfoot:last-child tr:last-child th,\n.table-reflow tfoot:last-child tr:last-child td {\n border-bottom: 1px solid #eceeef;\n}\n\n.table-reflow tr {\n float: left;\n}\n\n.table-reflow tr th,\n.table-reflow tr td {\n display: block !important;\n border: 1px solid #eceeef;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5rem 0.75rem;\n font-size: 1rem;\n line-height: 1.25;\n color: #464a4c;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #464a4c;\n background-color: #fff;\n border-color: #5cb3fd;\n outline: none;\n}\n\n.form-control::placeholder {\n color: #636c72;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #eceeef;\n opacity: 1;\n}\n\n.form-control:disabled {\n cursor: not-allowed;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n margin-bottom: 0;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.75rem - 1px * 2);\n padding-bottom: calc(0.75rem - 1px * 2);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem - 1px * 2);\n padding-bottom: calc(0.25rem - 1px * 2);\n font-size: 0.875rem;\n}\n\n.col-form-legend {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-static {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n line-height: 1.25;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,\n.input-group-sm > .form-control-static.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,\n.input-group-lg > .form-control-static.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-static.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 1.8125rem;\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: 3.166667rem;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:only-child {\n position: static;\n}\n\n.form-check-inline {\n display: inline-block;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.form-check-inline + .form-check-inline {\n margin-left: 0.75rem;\n}\n\n.form-control-feedback {\n margin-top: 0.25rem;\n}\n\n.form-control-success,\n.form-control-warning,\n.form-control-danger {\n padding-right: 2.25rem;\n background-repeat: no-repeat;\n background-position: center right 0.5625rem;\n background-size: 1.125rem 1.125rem;\n}\n\n.has-success .form-control-feedback,\n.has-success .form-control-label,\n.has-success .col-form-label,\n.has-success .form-check-label,\n.has-success .custom-control {\n color: #5cb85c;\n}\n\n.has-success .form-control {\n border-color: #5cb85c;\n}\n\n.has-success .input-group-addon {\n color: #5cb85c;\n border-color: #5cb85c;\n background-color: #eaf6ea;\n}\n\n.has-success .form-control-success {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\");\n}\n\n.has-warning .form-control-feedback,\n.has-warning .form-control-label,\n.has-warning .col-form-label,\n.has-warning .form-check-label,\n.has-warning .custom-control {\n color: #f0ad4e;\n}\n\n.has-warning .form-control {\n border-color: #f0ad4e;\n}\n\n.has-warning .input-group-addon {\n color: #f0ad4e;\n border-color: #f0ad4e;\n background-color: white;\n}\n\n.has-warning .form-control-warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E\");\n}\n\n.has-danger .form-control-feedback,\n.has-danger .form-control-label,\n.has-danger .col-form-label,\n.has-danger .form-check-label,\n.has-danger .custom-control {\n color: #d9534f;\n}\n\n.has-danger .form-control {\n border-color: #d9534f;\n}\n\n.has-danger .input-group-addon {\n color: #d9534f;\n border-color: #d9534f;\n background-color: #fdf7f7;\n}\n\n.has-danger .form-control-danger {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: normal;\n line-height: 1.25;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n cursor: not-allowed;\n opacity: .65;\n}\n\n.btn:active, .btn.active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025aa5;\n border-color: #01549b;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #025aa5;\n background-image: none;\n border-color: #01549b;\n}\n\n.btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:hover {\n color: #292b2c;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #2aabd2;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #2aabd2;\n}\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #419641;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #419641;\n}\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #eb9316;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #eb9316;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #c12e2a;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #c12e2a;\n}\n\n.btn-outline-primary {\n color: #0275d8;\n background-image: none;\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0275d8;\n background-color: transparent;\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-secondary {\n color: #ccc;\n background-image: none;\n background-color: transparent;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #ccc;\n background-color: transparent;\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-info {\n color: #5bc0de;\n background-image: none;\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #5bc0de;\n background-color: transparent;\n}\n\n.btn-outline-info:active, .btn-outline-info.active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-success {\n color: #5cb85c;\n background-image: none;\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #5cb85c;\n background-color: transparent;\n}\n\n.btn-outline-success:active, .btn-outline-success.active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-warning {\n color: #f0ad4e;\n background-image: none;\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #f0ad4e;\n background-color: transparent;\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-danger {\n color: #d9534f;\n background-image: none;\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #d9534f;\n background-color: transparent;\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-link {\n font-weight: normal;\n color: #0275d8;\n border-radius: 0;\n}\n\n.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\n background-color: transparent;\n}\n\n.btn-link, .btn-link:focus, .btn-link:active {\n border-color: transparent;\n}\n\n.btn-link:hover {\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link:hover {\n color: #014c8c;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.btn-link:disabled {\n color: #636c72;\n}\n\n.btn-link:disabled:focus, .btn-link:disabled:hover {\n text-decoration: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: middle;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n.dropup .dropdown-toggle::after {\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #292b2c;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-divider {\n height: 1px;\n margin: 0.5rem 0;\n overflow: hidden;\n background-color: #eceeef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 3px 1.5rem;\n clear: both;\n font-weight: normal;\n color: #292b2c;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #1d1e1f;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0275d8;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: transparent;\n}\n\n.show > .dropdown-menu {\n display: block;\n}\n\n.show > a {\n outline: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #636c72;\n white-space: nowrap;\n}\n\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 0.125rem;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 1.125rem;\n padding-left: 1.125rem;\n}\n\n.btn .caret {\n margin-left: 0;\n}\n\n.btn-lg .caret, .btn-group-lg > .btn .caret {\n border-width: 0.3em 0.3em 0;\n border-bottom-width: 0;\n}\n\n.dropup .btn-lg .caret, .dropup .btn-group-lg > .btn .caret {\n border-width: 0 0.3em 0.3em;\n}\n\n.btn-group-vertical {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.input-group-addon {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.25;\n color: #464a4c;\n text-align: center;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n flex: 1;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n cursor: pointer;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #0275d8;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #8fcafe;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #0275d8;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.25;\n color: #464a4c;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n.custom-select:focus {\n border-color: #5cb3fd;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.custom-select:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #eceeef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: 2.5rem;\n margin-bottom: 0;\n cursor: pointer;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n margin: 0;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n user-select: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en)::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5em 1em;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #636c72;\n cursor: not-allowed;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #eceeef #eceeef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #636c72;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #464a4c;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .nav-item.show .nav-link {\n color: #fff;\n cursor: default;\n background-color: #0275d8;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex: 1 1 100%;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n padding: 0.5rem 1rem;\n}\n\n.navbar-toggler-left {\n position: absolute;\n left: 1rem;\n}\n\n.navbar-toggler-right {\n position: absolute;\n right: 1rem;\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.navbar-fixed-top {\n top: 0;\n}\n\n.navbar-fixed-bottom {\n bottom: 0;\n}\n\n.navbar-sticky-top {\n position: sticky;\n top: 0;\n z-index: 1030;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: .25rem;\n padding-bottom: .25rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-divider {\n float: left;\n width: 1px;\n padding-top: 0.425rem;\n padding-bottom: 0.425rem;\n margin-right: 1rem;\n margin-left: 1rem;\n overflow: hidden;\n}\n\n.navbar-divider::before {\n content: \"\\00a0\";\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: .425rem;\n padding-bottom: .425rem;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n.navbar-nav {\n flex-grow: 10;\n}\n\n.navbar-nav .nav-link {\n display: block;\n padding-top: .425rem;\n padding-bottom: .425rem;\n}\n\n.navbar-light .navbar-brand,\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover,\n.navbar-light .navbar-toggler:focus,\n.navbar-light .navbar-toggler:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .open > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.open,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-divider {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-toggler {\n color: white;\n}\n\n.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-toggler:focus,\n.navbar-inverse .navbar-toggler:hover {\n color: white;\n}\n\n.navbar-inverse .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-inverse .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-inverse .navbar-nav .open > .nav-link,\n.navbar-inverse .navbar-nav .active > .nav-link,\n.navbar-inverse .navbar-nav .nav-link.open,\n.navbar-inverse .navbar-nav .nav-link.active {\n color: white;\n}\n\n.navbar-inverse .navbar-toggler {\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-inverse .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E\");\n}\n\n.navbar-inverse .navbar-divider {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n.navbar-inverse .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n@media (max-width: 575px) {\n .navbar-toggleable .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-toggleable {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable .nav-item {\n display: inline-block;\n }\n .navbar-toggleable .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-toggleable-sm .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-sm > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-toggleable-sm {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-sm .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-sm .nav-item {\n display: inline-block;\n }\n .navbar-toggleable-sm .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-toggleable-md .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-md > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-toggleable-md {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-md .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-md .nav-item {\n display: inline-block;\n }\n .navbar-toggleable-md .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-toggleable-lg .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-toggleable-lg > .container {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-toggleable-lg {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n }\n .navbar-toggleable-lg .navbar-collapse {\n display: flex !important;\n width: 100%;\n }\n .navbar-toggleable-lg .nav-item {\n display: inline-block;\n }\n .navbar-toggleable-lg .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-toggleable-lg .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-toggleable-xl {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-toggleable-xl > .container {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-toggleable-xl > .container {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n}\n\n.navbar-toggleable-xl .navbar-collapse {\n display: flex !important;\n width: 100%;\n}\n\n.navbar-toggleable-xl .nav-item {\n display: inline-block;\n}\n\n.navbar-toggleable-xl .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-toggleable-xl .navbar-toggler {\n display: none;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card-block {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #f7f7f9;\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: #f7f7f9;\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-primary {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.card-primary .card-header,\n.card-primary .card-footer {\n background-color: transparent;\n}\n\n.card-success {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.card-success .card-header,\n.card-success .card-footer {\n background-color: transparent;\n}\n\n.card-info {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.card-info .card-header,\n.card-info .card-footer {\n background-color: transparent;\n}\n\n.card-warning {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.card-warning .card-header,\n.card-warning .card-footer {\n background-color: transparent;\n}\n\n.card-danger {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.card-danger .card-header,\n.card-danger .card-footer {\n background-color: transparent;\n}\n\n.card-outline-primary {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-secondary {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-info {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-success {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-warning {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-danger {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-inverse {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer {\n background-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer,\n.card-inverse .card-title,\n.card-inverse .card-blockquote {\n color: #fff;\n}\n\n.card-inverse .card-link,\n.card-inverse .card-text,\n.card-inverse .card-subtitle,\n.card-inverse .card-blockquote .blockquote-footer {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-link:focus, .card-inverse .card-link:hover {\n color: #fff;\n}\n\n.card-blockquote {\n padding: 0;\n margin-bottom: 0;\n border-left: 0;\n}\n\n.card-img {\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img-top {\n border-top-right-radius: calc(0.25rem - 1px);\n border-top-left-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n }\n .card-deck .card:not(:first-child) {\n margin-left: 15px;\n }\n .card-deck .card:not(:last-child) {\n margin-right: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n margin-bottom: 0.75rem;\n }\n}\n\n.breadcrumb {\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.breadcrumb-item {\n float: left;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #636c72;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #636c72;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.page-item.disabled .page-link {\n color: #636c72;\n pointer-events: none;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #0275d8;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #014c8c;\n text-decoration: none;\n background-color: #eceeef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-bottom-left-radius: 0.3rem;\n border-top-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-bottom-right-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-bottom-left-radius: 0.2rem;\n border-top-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-bottom-right-radius: 0.2rem;\n border-top-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\na.badge:focus, a.badge:hover {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-default {\n background-color: #636c72;\n}\n\n.badge-default[href]:focus, .badge-default[href]:hover {\n background-color: #4b5257;\n}\n\n.badge-primary {\n background-color: #0275d8;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n background-color: #025aa5;\n}\n\n.badge-success {\n background-color: #5cb85c;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n background-color: #449d44;\n}\n\n.badge-info {\n background-color: #5bc0de;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n background-color: #31b0d5;\n}\n\n.badge-warning {\n background-color: #f0ad4e;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n background-color: #ec971f;\n}\n\n.badge-danger {\n background-color: #d9534f;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n background-color: #c9302c;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #eceeef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-hr {\n border-top-color: #d0d5d8;\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: bold;\n}\n\n.alert-dismissible .close {\n position: relative;\n top: -0.75rem;\n right: -1.25rem;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-success {\n background-color: #dff0d8;\n border-color: #d0e9c6;\n color: #3c763d;\n}\n\n.alert-success hr {\n border-top-color: #c1e2b3;\n}\n\n.alert-success .alert-link {\n color: #2b542c;\n}\n\n.alert-info {\n background-color: #d9edf7;\n border-color: #bcdff1;\n color: #31708f;\n}\n\n.alert-info hr {\n border-top-color: #a6d5ec;\n}\n\n.alert-info .alert-link {\n color: #245269;\n}\n\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faf2cc;\n color: #8a6d3b;\n}\n\n.alert-warning hr {\n border-top-color: #f7ecb5;\n}\n\n.alert-warning .alert-link {\n color: #66512c;\n}\n\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebcccc;\n color: #a94442;\n}\n\n.alert-danger hr {\n border-top-color: #e4b9b9;\n}\n\n.alert-danger .alert-link {\n color: #843534;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: block;\n width: 100%;\n height: 1rem;\n margin-bottom: 1rem;\n overflow: hidden;\n}\n\n.progress[value] {\n background-color: #eceeef;\n border: 0;\n appearance: none;\n border-radius: 0.25rem;\n}\n\n.progress[value]::-ms-fill {\n background-color: #0275d8;\n border: 0;\n}\n\n.progress[value]::-moz-progress-bar {\n background-color: #0275d8;\n}\n\n.progress[value]::-webkit-progress-value {\n background-color: #0275d8;\n}\n\n.progress[value]::-webkit-progress-bar {\n background-color: #eceeef;\n}\n\nbase::-moz-progress-bar,\n.progress[value] {\n background-color: #eceeef;\n}\n\n.progress-striped[value]::-webkit-progress-value {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-striped[value]::-moz-progress-bar {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-striped[value]::-ms-fill {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-animated[value]::-webkit-progress-value {\n animation: progress-bar-stripes 2s linear infinite;\n}\n\n.progress-animated[value]::-moz-progress-bar {\n animation: progress-bar-stripes 2s linear infinite;\n}\n\n.progress-success[value]::-webkit-progress-value {\n background-color: #5cb85c;\n}\n\n.progress-success[value]::-moz-progress-bar {\n background-color: #5cb85c;\n}\n\n.progress-success[value]::-ms-fill {\n background-color: #5cb85c;\n}\n\n.progress-info[value]::-webkit-progress-value {\n background-color: #5bc0de;\n}\n\n.progress-info[value]::-moz-progress-bar {\n background-color: #5bc0de;\n}\n\n.progress-info[value]::-ms-fill {\n background-color: #5bc0de;\n}\n\n.progress-warning[value]::-webkit-progress-value {\n background-color: #f0ad4e;\n}\n\n.progress-warning[value]::-moz-progress-bar {\n background-color: #f0ad4e;\n}\n\n.progress-warning[value]::-ms-fill {\n background-color: #f0ad4e;\n}\n\n.progress-danger[value]::-webkit-progress-value {\n background-color: #d9534f;\n}\n\n.progress-danger[value]::-moz-progress-bar {\n background-color: #d9534f;\n}\n\n.progress-danger[value]::-ms-fill {\n background-color: #d9534f;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #464a4c;\n text-align: inherit;\n}\n\n.list-group-item-action .list-group-item-heading {\n color: #292b2c;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #464a4c;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.list-group-item-action:active {\n color: #292b2c;\n background-color: #eceeef;\n}\n\n.list-group-item {\n position: relative;\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #636c72;\n cursor: not-allowed;\n background-color: #fff;\n}\n\n.list-group-item.disabled .list-group-item-heading, .list-group-item:disabled .list-group-item-heading {\n color: inherit;\n}\n\n.list-group-item.disabled .list-group-item-text, .list-group-item:disabled .list-group-item-text {\n color: #636c72;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small {\n color: inherit;\n}\n\n.list-group-item.active .list-group-item-text {\n color: #daeeff;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\n\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #3c763d;\n background-color: #d0e9c6;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\n\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #31708f;\n background-color: #c4e3f3;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\n\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\n\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #a94442;\n background-color: #ebcccc;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9 {\n padding-bottom: 42.857143%;\n}\n\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n\n.embed-responsive-1by1 {\n padding-bottom: 100%;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #eceeef;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #eceeef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip.tooltip-top, .tooltip.bs-tether-element-attached-bottom {\n padding: 5px 0;\n margin-top: -3px;\n}\n\n.tooltip.tooltip-top .tooltip-inner::before, .tooltip.bs-tether-element-attached-bottom .tooltip-inner::before {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.tooltip-right, .tooltip.bs-tether-element-attached-left {\n padding: 0 5px;\n margin-left: 3px;\n}\n\n.tooltip.tooltip-right .tooltip-inner::before, .tooltip.bs-tether-element-attached-left .tooltip-inner::before {\n top: 50%;\n left: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.tooltip-bottom, .tooltip.bs-tether-element-attached-top {\n padding: 5px 0;\n margin-top: 3px;\n}\n\n.tooltip.tooltip-bottom .tooltip-inner::before, .tooltip.bs-tether-element-attached-top .tooltip-inner::before {\n top: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.tooltip-left, .tooltip.bs-tether-element-attached-right {\n padding: 0 5px;\n margin-left: -3px;\n}\n\n.tooltip.tooltip-left .tooltip-inner::before, .tooltip.bs-tether-element-attached-right .tooltip-inner::before {\n top: 50%;\n right: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.tooltip-inner::before {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n padding: 1px;\n font-family: -apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover.popover-top, .popover.bs-tether-element-attached-bottom {\n margin-top: -10px;\n}\n\n.popover.popover-top::before, .popover.popover-top::after, .popover.bs-tether-element-attached-bottom::before, .popover.bs-tether-element-attached-bottom::after {\n left: 50%;\n border-bottom-width: 0;\n}\n\n.popover.popover-top::before, .popover.bs-tether-element-attached-bottom::before {\n bottom: -11px;\n margin-left: -11px;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-top::after, .popover.bs-tether-element-attached-bottom::after {\n bottom: -10px;\n margin-left: -10px;\n border-top-color: #fff;\n}\n\n.popover.popover-right, .popover.bs-tether-element-attached-left {\n margin-left: 10px;\n}\n\n.popover.popover-right::before, .popover.popover-right::after, .popover.bs-tether-element-attached-left::before, .popover.bs-tether-element-attached-left::after {\n top: 50%;\n border-left-width: 0;\n}\n\n.popover.popover-right::before, .popover.bs-tether-element-attached-left::before {\n left: -11px;\n margin-top: -11px;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-right::after, .popover.bs-tether-element-attached-left::after {\n left: -10px;\n margin-top: -10px;\n border-right-color: #fff;\n}\n\n.popover.popover-bottom, .popover.bs-tether-element-attached-top {\n margin-top: 10px;\n}\n\n.popover.popover-bottom::before, .popover.popover-bottom::after, .popover.bs-tether-element-attached-top::before, .popover.bs-tether-element-attached-top::after {\n left: 50%;\n border-top-width: 0;\n}\n\n.popover.popover-bottom::before, .popover.bs-tether-element-attached-top::before {\n top: -11px;\n margin-left: -11px;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-bottom::after, .popover.bs-tether-element-attached-top::after {\n top: -10px;\n margin-left: -10px;\n border-bottom-color: #f7f7f7;\n}\n\n.popover.popover-bottom .popover-title::before, .popover.bs-tether-element-attached-top .popover-title::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.popover-left, .popover.bs-tether-element-attached-right {\n margin-left: -10px;\n}\n\n.popover.popover-left::before, .popover.popover-left::after, .popover.bs-tether-element-attached-right::before, .popover.bs-tether-element-attached-right::after {\n top: 50%;\n border-right-width: 0;\n}\n\n.popover.popover-left::before, .popover.bs-tether-element-attached-right::before {\n right: -11px;\n margin-top: -11px;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.popover-left::after, .popover.bs-tether-element-attached-right::after {\n right: -10px;\n margin-top: -10px;\n border-left-color: #fff;\n}\n\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 0.2375rem 0.2375rem 0 0;\n}\n\n.popover-title:empty {\n display: none;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n.popover::before,\n.popover::after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover::before {\n content: \"\";\n border-width: 11px;\n}\n\n.popover::after {\n content: \"\";\n border-width: 10px;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n width: 100%;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item {\n transition: transform 0.6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000px;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: flex;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n@media (-webkit-transform-3d) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n@supports (transform: translate3d(0, 0, 0)) {\n .carousel-item-next.carousel-item-left,\n .carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n }\n .carousel-item-next,\n .active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n }\n .carousel-item-prev,\n .active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 1 0 auto;\n max-width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-faded {\n background-color: #f7f7f7;\n}\n\n.bg-primary {\n background-color: #0275d8 !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #025aa5 !important;\n}\n\n.bg-success {\n background-color: #5cb85c !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #449d44 !important;\n}\n\n.bg-info {\n background-color: #5bc0de !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #31b0d5 !important;\n}\n\n.bg-warning {\n background-color: #f0ad4e !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #ec971f !important;\n}\n\n.bg-danger {\n background-color: #d9534f !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #c9302c !important;\n}\n\n.bg-inverse {\n background-color: #292b2c !important;\n}\n\na.bg-inverse:focus, a.bg-inverse:hover {\n background-color: #101112 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-top {\n border-top-right-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-right {\n border-bottom-right-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-left {\n border-bottom-left-radius: 0.25rem;\n border-top-left-radius: 0.25rem;\n}\n\n.rounded-circle {\n border-radius: 50%;\n}\n\n.rounded-0 {\n border-radius: 0;\n}\n\n.clearfix::after {\n display: block;\n content: \"\";\n clear: both;\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.flex-first {\n order: -1;\n}\n\n.flex-last {\n order: 1;\n}\n\n.flex-unordered {\n order: 0;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-first {\n order: -1;\n }\n .flex-sm-last {\n order: 1;\n }\n .flex-sm-unordered {\n order: 0;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-first {\n order: -1;\n }\n .flex-md-last {\n order: 1;\n }\n .flex-md-unordered {\n order: 0;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-first {\n order: -1;\n }\n .flex-lg-last {\n order: 1;\n }\n .flex-lg-unordered {\n order: 0;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-first {\n order: -1;\n }\n .flex-xl-last {\n order: 1;\n }\n .flex-xl-unordered {\n order: 0;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem 1rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem 1.5rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem 3rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.p-0 {\n padding: 0 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem 1rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem 1.5rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem 3rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 0 !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem 1rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem 3rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 0 !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem 1rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem 3rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 0 !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem 1rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem 3rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-md-0 {\n padding: 0 0 !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem 1rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem 3rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 0 !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem 1rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem 3rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 0 !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem 1rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem 3rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 0 !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem 0.25rem !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem 0.5rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem 1rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem 1.5rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem 3rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 0 !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem 0.25rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem 0.5rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem 1rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem 1.5rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem 3rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n.pos-f-t {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-normal {\n font-weight: normal;\n}\n\n.font-weight-bold {\n font-weight: bold;\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-muted {\n color: #636c72 !important;\n}\n\na.text-muted:focus, a.text-muted:hover {\n color: #4b5257 !important;\n}\n\n.text-primary {\n color: #0275d8 !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #025aa5 !important;\n}\n\n.text-success {\n color: #5cb85c !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #449d44 !important;\n}\n\n.text-info {\n color: #5bc0de !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #31b0d5 !important;\n}\n\n.text-warning {\n color: #f0ad4e !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #ec971f !important;\n}\n\n.text-danger {\n color: #d9534f !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #c9302c !important;\n}\n\n.text-gray-dark {\n color: #292b2c !important;\n}\n\na.text-gray-dark:focus, a.text-gray-dark:hover {\n color: #101112 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.hidden-xs-up {\n display: none !important;\n}\n\n@media (max-width: 575px) {\n .hidden-xs-down {\n display: none !important;\n }\n}\n\n@media (min-width: 576px) {\n .hidden-sm-up {\n display: none !important;\n }\n}\n\n@media (max-width: 767px) {\n .hidden-sm-down {\n display: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .hidden-md-up {\n display: none !important;\n }\n}\n\n@media (max-width: 991px) {\n .hidden-md-down {\n display: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .hidden-lg-up {\n display: none !important;\n }\n}\n\n@media (max-width: 1199px) {\n .hidden-lg-down {\n display: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .hidden-xl-up {\n display: none !important;\n }\n}\n\n.hidden-xl-down {\n display: none !important;\n}\n\n.visible-print-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n\n.visible-print-inline {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n\n.visible-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file
+{"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_print.scss","bootstrap.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/mixins/_transition.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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AXkC;CjBIb;;AiBSvB;EAMI,uDlBgV+B;UkBhV/B,+ClBgV+B;CkB9UlC;;AAGD;EAEE,uBlB6DS;EkB5DT,mBlBwUiC;CkBvUlC;;AAED;;EAGE,elBkE+B;EkBjE/B,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADaH;ECjDE,YlBqFW;EkBpFX,0BlB2Fc;EkB1Fd,sBlB0Fc;CiBzCf;;AhBjDG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,sDlB2EU;UkB3EV,8ClB2EU;CkBzEb;;AAGD;EAEE,0BlBoEY;EkBnEZ,sBlBmEY;CkBlEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADgBH;ECpDE,YlBqFW;EkBpFX,0BlByFc;EkBxFd,sBlBwFc;CiBpCf;;AhBpDG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,qDlByEU;UkBzEV,6ClByEU;CkBvEb;;AAGD;EAEE,0BlBkEY;EkBjEZ,sBlBiEY;CkBhEb;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADmBH;ECvDE,YlBqFW;EkBpFX,0BlBuFc;EkBtFd,sBlBsFc;CiB/Bf;;AhBvDG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,sDlBuEU;UkBvEV,8ClBuEU;CkBrEb;;AAGD;EAEE,0BlBgEY;EkB/DZ,sBlB+DY;CkB9Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;ADsBH;EC1DE,YlBqFW;EkBpFX,0BlBsFc;EkBrFd,sBlBqFc;CiB3Bf;;AhB1DG;EiBKA,YlB8ES;EkB7ET,0BAX0C;EAY1C,sBAXkC;CjBIb;;AiBSvB;EAMI,qDlBsEU;UkBtEV,6ClBsEU;CkBpEb;;AAGD;EAEE,0BlB+DY;EkB9DZ,sBlB8DY;CkB7Db;;AAED;;EAGE,YlBsDS;EkBrDT,0BAnC0C;EAoC1C,uBAAsB;EACtB,sBApCkC;CAsCnC;;AD2BH;ECvBE,elBmDc;EkBlDd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlBgDc;CiB1Bf;;AhB/DG;EiB4CA,YlBuCS;EkBtCT,0BlB4CY;EkB3CZ,sBlB2CY;CCzFS;;AiBiDvB;EAEE,qDlBsCY;UkBtCZ,6ClBsCY;CkBrCb;;AAED;EAEE,elBiCY;EkBhCZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlByBY;EkBxBZ,sBlBwBY;CkBvBb;;ADFH;EC1BE,YlByTmC;EkBxTnC,8BAA6B;EAC7B,uBAAsB;EACtB,mBlBsTmC;CiB7RpC;;AhBlEG;EiB4CA,elBmD+B;EkBlD/B,uBlBkTiC;EkBjTjC,mBlBiTiC;CC/VZ;;AiBiDvB;EAEE,uDlB4SiC;UkB5SjC,+ClB4SiC;CkB3SlC;;AAED;EAEE,YlBuSiC;EkBtSjC,8BAA6B;CAC9B;;AAED;;EAGE,elBgC+B;EkB/B/B,uBlB+RiC;EkB9RjC,mBlB8RiC;CkB7RlC;;ADCH;EC7BE,elBoDc;EkBnDd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlBiDc;CiBrBf;;AhBrEG;EiB4CA,YlBuCS;EkBtCT,0BlB6CY;EkB5CZ,sBlB4CY;CC1FS;;AiBiDvB;EAEE,sDlBuCY;UkBvCZ,8ClBuCY;CkBtCb;;AAED;EAEE,elBkCY;EkBjCZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlB0BY;EkBzBZ,sBlByBY;CkBxBb;;ADIH;EChCE,elBkDc;EkBjDd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlB+Cc;CiBhBf;;AhBxEG;EiB4CA,YlBuCS;EkBtCT,0BlB2CY;EkB1CZ,sBlB0CY;CCxFS;;AiBiDvB;EAEE,qDlBqCY;UkBrCZ,6ClBqCY;CkBpCb;;AAED;EAEE,elBgCY;EkB/BZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlBwBY;EkBvBZ,sBlBuBY;CkBtBb;;ADOH;ECnCE,elBgDc;EkB/Cd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlB6Cc;CiBXf;;AhB3EG;EiB4CA,YlBuCS;EkBtCT,0BlByCY;EkBxCZ,sBlBwCY;CCtFS;;AiBiDvB;EAEE,sDlBmCY;UkBnCZ,8ClBmCY;CkBlCb;;AAED;EAEE,elB8BY;EkB7BZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlBsBY;EkBrBZ,sBlBqBY;CkBpBb;;ADUH;ECtCE,elB+Cc;EkB9Cd,8BAA6B;EAC7B,uBAAsB;EACtB,sBlB4Cc;CiBPf;;AhB9EG;EiB4CA,YlBuCS;EkBtCT,0BlBwCY;EkBvCZ,sBlBuCY;CCrFS;;AiBiDvB;EAEE,qDlBkCY;UkBlCZ,6ClBkCY;CkBjCb;;AAED;EAEE,elB6BY;EkB5BZ,8BAA6B;CAC9B;;AAED;;EAGE,YlBoBS;EkBnBT,0BlBqBY;EkBpBZ,sBlBoBY;CkBnBb;;ADoBH;EACE,oBjB6JyB;EiB5JzB,ejBCc;EiBAd,iBAAgB;CA6BjB;;AAhCD;EASI,8BAA6B;CAE9B;;AAXH;EAeI,0BAAyB;CAC1B;;AhBtGC;EgBwGA,0BAAyB;ChBxGJ;;AAWrB;EgBgGA,ejBqD4C;EiBpD5C,2BjBqD6B;EiBpD7B,8BAA6B;ChB/F5B;;AgBwEL;EA0BI,ejBf+B;CiBoBhC;;AhB1GC;EgBwGE,sBAAqB;ChBrGtB;;AgB+GL;ECtDE,qBlB0Q8B;EkBzQ9B,mBlBwKsB;EkBvKtB,iBlB2I0B;EM3NxB,sBNiO0B;CiB3F7B;;AAED;EC1DE,wBlBsQ+B;EkBrQ/B,oBlByKsB;EkBxKtB,iBlB4I0B;EM5NxB,sBNkO0B;CiBxF7B;;AAOD;EACE,eAAc;EACd,YAAW;CACZ;;AAGD;EACE,mBjBkOoC;CiBjOrC;;AAGD;;;EAII,YAAW;CACZ;;AErKH;EACE,WAAU;EZIN,yCPyOsC;EOzOtC,oCPyOsC;EOzOtC,iCPyOsC;CmBvO3C;;AAPD;EAKI,WAAU;CACX;;AAGH;EACE,cAAa;CAId;;AALD;EAGI,eAAc;CACf;;AAGH;EAEI,mBAAkB;CACnB;;AAGH;EAEI,yBAAwB;CACzB;;AAGH;EACE,mBAAkB;EAClB,UAAS;EACT,iBAAgB;EZ1BZ,sCP0OmC;EO1OnC,iCP0OmC;EO1OnC,8BP0OmC;CmB9MxC;;AChCD;;E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;EAAtB,+BAAsB;MAAtB,2BAAsB;UAAtB,uBAAsB;EACtB,uB3BsFW;E2BrFX,uC3BsFW;EM3FT,uBNgO2B;C2BzN9B;;AAED;EAGE,oBAAc;EAAd,uBAAc;MAAd,mBAAc;UAAd,eAAc;EACd,iB3B8oBgC;C2B7oBjC;;AAED;EACE,uB3ByoB+B;E2BxoB/B,sBAAqB;CACtB;;AAED;EACE,sBAAgC;EAChC,iBAAgB;CACjB;;AAED;EACE,iBAAgB;CACjB;;A1BrBG;E0ByBA,sBAAqB;C1BzBA;;A0BuBzB;EAMI,qB3BunB8B;C2BtnB/B;;AAGH;ErBlCI,gCN0N2B;EMzN3B,iCNyN2B;C2BpL1B;;AAJL;ErBpBI,oCN4M2B;EM3M3B,mCN2M2B;C2B9K1B;;AASL;EACE,yB3B+lBgC;E2B9lBhC,iBAAgB;EAChB,0B3B4CiC;E2B3CjC,8C3B4BW;C2BvBZ;;AATD;ErB3DI,2DqBkE8E;CAC/E;;AAGH;EACE,yB3BolBgC;E2BnlBhC,0B3BkCiC;E2BjCjC,2C3BkBW;C2BbZ;;AARD;ErBtEI,2DN+pB2E;C2BllB5E;;AAQH;EACE,wBAAkC;EAClC,wB3BmkB+B;E2BlkB/B,uBAAiC;EACjC,iBAAgB;CACjB;;AAED;EACE,wBAAkC;EAClC,uBAAiC;CAClC;;AAOD;ECvGE,0B5BiGc;E4BhGd,sB5BgGc;C2BQf;;ACtGC;;EAEE,8BAA6B;CAC9B;;ADoGH;EC1GE,0B5BgGc;E4B/Fd,sB5B+Fc;C2BYf;;ACzGC;;EAEE,8BAA6B;CAC9B;;ADuGH;EC7GE,0B5BkGc;E4BjGd,sB5BiGc;C2Baf;;AC5GC;;EAEE,8BAA6B;CAC9B;;AD0GH;EChHE,0B5B8Fc;E4B7Fd,sB5B6Fc;C2BoBf;;AC/GC;;EAEE,8BAA6B;CAC9B;;AD6GH;ECnHE,0B5B6Fc;E4B5Fd,sB5B4Fc;C2BwBf;;AClHC;;EAEE,8BAA6B;CAC9B;;ADkHH;EC9GE,8BAA6B;EAC7B,sB5BsFc;C2ByBf;;AC7GC;;EAEE,8BAA6B;EAC7B,sB5BiFY;C4BhFb;;AD0GH;ECjHE,8BAA6B;EAC7B,mB5B4VmC;C2B1OpC;;AChHC;;EAEE,8B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B+E+B;E+B9E/B,qBAAoB;EACpB,uB/B+DS;E+B9DT,mB/B6lBuC;C+B5lBxC;;AAGH;EACE,mBAAkB;EAClB,eAAc;EACd,wB/BgkB0C;E+B/jB1C,kBAAiB;EACjB,kB/BmkBwC;E+BlkBxC,e/B0Dc;E+BzDd,uB/BmDW;E+BlDX,uB/BqkByC;C+B7jB1C;;A9B9BG;E8ByBA,e/B4H4C;E+B3H5C,sBAAqB;EACrB,0B/B4D+B;E+B3D/B,mB/BmkBuC;CC5lBtC;;A+BtBH;EACE,wBhCumBwC;EgCtmBxC,mBhCsPoB;CgCrPrB;;AAIG;E1BqBF,+BNsM0B;EMrM1B,kCNqM0B;CgCzNvB;;AAGD;E1BEF,gCNoN0B;EMnN1B,mCNmN0B;CgCpNvB;;AAdL;EACE,wBhCqmBuC;EgCpmBvC,oBhCuPoB;CgCtPrB;;AAIG;E1BqBF,+BNuM0B;EMtM1B,kCNsM0B;CgC1NvB;;AAGD;E1BEF,gCNqN0B;EMpN1B,mCNoN0B;CgCrNvB;;ACZP;EACE,sBAAqB;EACrB,sBjCguBgC;EiC/tBhC,ejC4tB+B;EiC3tB/B,kBjCuPqB;EiCtPrB,eAAc;EACd,YjCmFW;EiClFX,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;E3BVtB,uBNgO2B;CiC/M9B;;AAhBD;EAcI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AhCLG;EgCWA,YjC6DS;EiC5DT,sBAAqB;ChCTpB;;AgCkBL;EACE,qBjC6rBgC;EiC5rBhC,oBjC4rBgC;EMruB9B,qBNwuB+B;CiC7rBlC;;AAMD;EClDE,0BlCyGiC;CiCrDlC;;AhCjCG;EiCfE,0BAAqC;CjCkBtC;;AgCgCL;ECtDE,0BlCiGc;CiCzCf;;AhCrCG;EiCfE,0BAAqC;CjCkBtC;;AgCoCL;EC1DE,0BlCgGc;CiCpCf;;AhCzCG;EiCfE,0BAAqC;CjCkBtC;;AgCwCL;EC9DE,0BlCkGc;CiClCf;;AhC7CG;EiCfE,0BAAqC;CjCkBtC;;AgC4CL;EClEE,0BlC8Fc;CiC1Bf;;AhCjDG;EiCfE,0BAAqC;CjCkBtC;;AgCgDL;ECtEE,0BlC6Fc;CiCrBf;;AhCrDG;EiCfE,0BAAqC;CjCkBtC;;AkCzBL;EACE,mBAAoD;EACpD,oBnCgoBmC;EmC/nBnC,0BnC0GiC;EMzG/B,sBNiO0B;CmC5N7B;;AxB+CG;EwBxDJ;IAOI,mBnC2nBiC;GmCznBpC;CrC8oIA;;AqC5oID;EACE,iBAAgB;EAChB,gBAAe;E7BTb,iB6BUsB;CACzB;;ACXD;EACE,yBpC8wBmC;EoC7wBnC,oBpC8wBgC;EoC7wBhC,8BAA6C;E9BH3C,uBNgO2B;CoC3N9B;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,kBpC6OqB;CoC5OtB;;AAOD;EAGI,mBAAkB;EAClB,cpCmvBgC;EoClvBhC,gBpCmvBiC;EoClvBjC,yBpCkvBiC;EoCjvBjC,eAAc;CACf;;AAQH;ECxCE,erCuoBsC;EqCtoBtC,0BrCuoBsC;EqCtoBtC,sBrCuoB4D;CoC/lB7D;;ACtCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADkCH;EC3CE,erC2oBsC;EqC1oBtC,0BrC2oBsC;EqC1oBtC,sBrC2oByD;CoChmB1D;;ACzCC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADqCH;EC9CE,erC+oBsC;EqC9oBtC,0BrC+oBsC;EqC9oBtC,sBrCgpB4D;CoClmB7D;;AC5CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ADwCH;ECjDE,erCopBsC;EqCnpBtC,0BrCopBsC;EqCnpBtC,sBrCopB2D;CoCnmB5D;;AC/CC;EACE,0BAAqC;CACtC;;AACD;EACE,eAA+B;CAChC;;ACZH;EACE;IAAO,4BAAuC;GxCgvI7C;EwC/uID;IAAK,yBAAwB;GxCkvI5B;CACF;;AwCrvID;EACE;IAAO,4BAAuC;GxCgvI7C;EwC/uID;IAAK,yBAAwB;GxCkvI5B;CACF;;AwCrvID;EACE;IAAO,4BAAuC;GxCgvI7C;EwC/uID;IAAK,yBAAwB;GxCkvI5B;CACF;;AwChvID;EACE,qBAAa;EAAb,sBAAa;EAAb,qBAAa;EAAb,cAAa;EACb,iBAAgB;EAChB,mBtCqyBoC;EsCpyBpC,kBtCmyBkC;EsClyBlC,mBAAkB;EAClB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","file":"bootstrap.css","sourcesContent":[null,null,"/*!\n * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)\n * Copyright 2011-2017 The Bootstrap Authors\n * Copyright 2011-2017 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n@media print {\n *,\n *::before,\n *::after,\n p::first-letter,\n div::first-letter,\n blockquote::first-letter,\n li::first-letter,\n p::first-line,\n div::first-line,\n blockquote::first-line,\n li::first-line {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n\nhtml {\n box-sizing: border-box;\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -ms-overflow-style: scrollbar;\n -webkit-tap-highlight-color: transparent;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\n\n@-ms-viewport {\n width: device-width;\n}\n\narticle, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #292b2c;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus {\n outline: none !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: .5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: bold;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\ndfn {\n font-style: italic;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #0275d8;\n text-decoration: none;\n background-color: transparent;\n -webkit-text-decoration-skip: objects;\n}\n\na:hover {\n color: #014c8c;\n text-decoration: underline;\n}\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus, a:not([href]):not([tabindex]):hover {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([tabindex]):focus {\n outline: 0;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\na,\narea,\nbutton,\n[role=\"button\"],\ninput,\nlabel,\nselect,\nsummary,\ntextarea {\n touch-action: manipulation;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #636c72;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: left;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: .5rem;\n}\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml [type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.1;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: normal;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 5px;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n padding: 0.5rem 1rem;\n margin-bottom: 1rem;\n font-size: 1.25rem;\n border-left: 0.25rem solid #eceeef;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #636c72;\n}\n\n.blockquote-footer::before {\n content: \"\\2014 \\00A0\";\n}\n\n.blockquote-reverse {\n padding-right: 1rem;\n padding-left: 0;\n text-align: right;\n border-right: 0.25rem solid #eceeef;\n border-left: 0;\n}\n\n.blockquote-reverse .blockquote-footer::before {\n content: \"\";\n}\n\n.blockquote-reverse .blockquote-footer::after {\n content: \"\\00A0 \\2014\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #636c72;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\ncode {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #bd4147;\n background-color: #f7f7f9;\n border-radius: 0.25rem;\n}\n\na > code {\n padding: 0;\n color: inherit;\n background-color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 90%;\n color: #fff;\n background-color: #292b2c;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n font-size: 90%;\n color: #292b2c;\n}\n\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n border-radius: 0;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .container {\n width: 540px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 768px) {\n .container {\n width: 720px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 992px) {\n .container {\n width: 960px;\n max-width: 100%;\n }\n}\n\n@media (min-width: 1200px) {\n .container {\n width: 1140px;\n max-width: 100%;\n }\n}\n\n.container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 768px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 992px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n@media (min-width: 1200px) {\n .row {\n margin-right: -15px;\n margin-left: -15px;\n }\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 768px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n@media (min-width: 1200px) {\n .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n .col-xl-auto {\n padding-right: 15px;\n padding-left: 15px;\n }\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n width: 8.333333%;\n}\n\n.col-2 {\n width: 16.666667%;\n}\n\n.col-3 {\n width: 25%;\n}\n\n.col-4 {\n width: 33.333333%;\n}\n\n.col-5 {\n width: 41.666667%;\n}\n\n.col-6 {\n width: 50%;\n}\n\n.col-7 {\n width: 58.333333%;\n}\n\n.col-8 {\n width: 66.666667%;\n}\n\n.col-9 {\n width: 75%;\n}\n\n.col-10 {\n width: 83.333333%;\n}\n\n.col-11 {\n width: 91.666667%;\n}\n\n.col-12 {\n width: 100%;\n}\n\n.pull-0 {\n right: auto;\n}\n\n.pull-1 {\n right: 8.333333%;\n}\n\n.pull-2 {\n right: 16.666667%;\n}\n\n.pull-3 {\n right: 25%;\n}\n\n.pull-4 {\n right: 33.333333%;\n}\n\n.pull-5 {\n right: 41.666667%;\n}\n\n.pull-6 {\n right: 50%;\n}\n\n.pull-7 {\n right: 58.333333%;\n}\n\n.pull-8 {\n right: 66.666667%;\n}\n\n.pull-9 {\n right: 75%;\n}\n\n.pull-10 {\n right: 83.333333%;\n}\n\n.pull-11 {\n right: 91.666667%;\n}\n\n.pull-12 {\n right: 100%;\n}\n\n.push-0 {\n left: auto;\n}\n\n.push-1 {\n left: 8.333333%;\n}\n\n.push-2 {\n left: 16.666667%;\n}\n\n.push-3 {\n left: 25%;\n}\n\n.push-4 {\n left: 33.333333%;\n}\n\n.push-5 {\n left: 41.666667%;\n}\n\n.push-6 {\n left: 50%;\n}\n\n.push-7 {\n left: 58.333333%;\n}\n\n.push-8 {\n left: 66.666667%;\n}\n\n.push-9 {\n left: 75%;\n}\n\n.push-10 {\n left: 83.333333%;\n}\n\n.push-11 {\n left: 91.666667%;\n}\n\n.push-12 {\n left: 100%;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n width: 8.333333%;\n }\n .col-sm-2 {\n width: 16.666667%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-4 {\n width: 33.333333%;\n }\n .col-sm-5 {\n width: 41.666667%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-7 {\n width: 58.333333%;\n }\n .col-sm-8 {\n width: 66.666667%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-10 {\n width: 83.333333%;\n }\n .col-sm-11 {\n width: 91.666667%;\n }\n .col-sm-12 {\n width: 100%;\n }\n .pull-sm-0 {\n right: auto;\n }\n .pull-sm-1 {\n right: 8.333333%;\n }\n .pull-sm-2 {\n right: 16.666667%;\n }\n .pull-sm-3 {\n right: 25%;\n }\n .pull-sm-4 {\n right: 33.333333%;\n }\n .pull-sm-5 {\n right: 41.666667%;\n }\n .pull-sm-6 {\n right: 50%;\n }\n .pull-sm-7 {\n right: 58.333333%;\n }\n .pull-sm-8 {\n right: 66.666667%;\n }\n .pull-sm-9 {\n right: 75%;\n }\n .pull-sm-10 {\n right: 83.333333%;\n }\n .pull-sm-11 {\n right: 91.666667%;\n }\n .pull-sm-12 {\n right: 100%;\n }\n .push-sm-0 {\n left: auto;\n }\n .push-sm-1 {\n left: 8.333333%;\n }\n .push-sm-2 {\n left: 16.666667%;\n }\n .push-sm-3 {\n left: 25%;\n }\n .push-sm-4 {\n left: 33.333333%;\n }\n .push-sm-5 {\n left: 41.666667%;\n }\n .push-sm-6 {\n left: 50%;\n }\n .push-sm-7 {\n left: 58.333333%;\n }\n .push-sm-8 {\n left: 66.666667%;\n }\n .push-sm-9 {\n left: 75%;\n }\n .push-sm-10 {\n left: 83.333333%;\n }\n .push-sm-11 {\n left: 91.666667%;\n }\n .push-sm-12 {\n left: 100%;\n }\n .offset-sm-0 {\n margin-left: 0%;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n width: 8.333333%;\n }\n .col-md-2 {\n width: 16.666667%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-4 {\n width: 33.333333%;\n }\n .col-md-5 {\n width: 41.666667%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-7 {\n width: 58.333333%;\n }\n .col-md-8 {\n width: 66.666667%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-10 {\n width: 83.333333%;\n }\n .col-md-11 {\n width: 91.666667%;\n }\n .col-md-12 {\n width: 100%;\n }\n .pull-md-0 {\n right: auto;\n }\n .pull-md-1 {\n right: 8.333333%;\n }\n .pull-md-2 {\n right: 16.666667%;\n }\n .pull-md-3 {\n right: 25%;\n }\n .pull-md-4 {\n right: 33.333333%;\n }\n .pull-md-5 {\n right: 41.666667%;\n }\n .pull-md-6 {\n right: 50%;\n }\n .pull-md-7 {\n right: 58.333333%;\n }\n .pull-md-8 {\n right: 66.666667%;\n }\n .pull-md-9 {\n right: 75%;\n }\n .pull-md-10 {\n right: 83.333333%;\n }\n .pull-md-11 {\n right: 91.666667%;\n }\n .pull-md-12 {\n right: 100%;\n }\n .push-md-0 {\n left: auto;\n }\n .push-md-1 {\n left: 8.333333%;\n }\n .push-md-2 {\n left: 16.666667%;\n }\n .push-md-3 {\n left: 25%;\n }\n .push-md-4 {\n left: 33.333333%;\n }\n .push-md-5 {\n left: 41.666667%;\n }\n .push-md-6 {\n left: 50%;\n }\n .push-md-7 {\n left: 58.333333%;\n }\n .push-md-8 {\n left: 66.666667%;\n }\n .push-md-9 {\n left: 75%;\n }\n .push-md-10 {\n left: 83.333333%;\n }\n .push-md-11 {\n left: 91.666667%;\n }\n .push-md-12 {\n left: 100%;\n }\n .offset-md-0 {\n margin-left: 0%;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n width: 8.333333%;\n }\n .col-lg-2 {\n width: 16.666667%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-4 {\n width: 33.333333%;\n }\n .col-lg-5 {\n width: 41.666667%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-7 {\n width: 58.333333%;\n }\n .col-lg-8 {\n width: 66.666667%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-10 {\n width: 83.333333%;\n }\n .col-lg-11 {\n width: 91.666667%;\n }\n .col-lg-12 {\n width: 100%;\n }\n .pull-lg-0 {\n right: auto;\n }\n .pull-lg-1 {\n right: 8.333333%;\n }\n .pull-lg-2 {\n right: 16.666667%;\n }\n .pull-lg-3 {\n right: 25%;\n }\n .pull-lg-4 {\n right: 33.333333%;\n }\n .pull-lg-5 {\n right: 41.666667%;\n }\n .pull-lg-6 {\n right: 50%;\n }\n .pull-lg-7 {\n right: 58.333333%;\n }\n .pull-lg-8 {\n right: 66.666667%;\n }\n .pull-lg-9 {\n right: 75%;\n }\n .pull-lg-10 {\n right: 83.333333%;\n }\n .pull-lg-11 {\n right: 91.666667%;\n }\n .pull-lg-12 {\n right: 100%;\n }\n .push-lg-0 {\n left: auto;\n }\n .push-lg-1 {\n left: 8.333333%;\n }\n .push-lg-2 {\n left: 16.666667%;\n }\n .push-lg-3 {\n left: 25%;\n }\n .push-lg-4 {\n left: 33.333333%;\n }\n .push-lg-5 {\n left: 41.666667%;\n }\n .push-lg-6 {\n left: 50%;\n }\n .push-lg-7 {\n left: 58.333333%;\n }\n .push-lg-8 {\n left: 66.666667%;\n }\n .push-lg-9 {\n left: 75%;\n }\n .push-lg-10 {\n left: 83.333333%;\n }\n .push-lg-11 {\n left: 91.666667%;\n }\n .push-lg-12 {\n left: 100%;\n }\n .offset-lg-0 {\n margin-left: 0%;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n width: 8.333333%;\n }\n .col-xl-2 {\n width: 16.666667%;\n }\n .col-xl-3 {\n width: 25%;\n }\n .col-xl-4 {\n width: 33.333333%;\n }\n .col-xl-5 {\n width: 41.666667%;\n }\n .col-xl-6 {\n width: 50%;\n }\n .col-xl-7 {\n width: 58.333333%;\n }\n .col-xl-8 {\n width: 66.666667%;\n }\n .col-xl-9 {\n width: 75%;\n }\n .col-xl-10 {\n width: 83.333333%;\n }\n .col-xl-11 {\n width: 91.666667%;\n }\n .col-xl-12 {\n width: 100%;\n }\n .pull-xl-0 {\n right: auto;\n }\n .pull-xl-1 {\n right: 8.333333%;\n }\n .pull-xl-2 {\n right: 16.666667%;\n }\n .pull-xl-3 {\n right: 25%;\n }\n .pull-xl-4 {\n right: 33.333333%;\n }\n .pull-xl-5 {\n right: 41.666667%;\n }\n .pull-xl-6 {\n right: 50%;\n }\n .pull-xl-7 {\n right: 58.333333%;\n }\n .pull-xl-8 {\n right: 66.666667%;\n }\n .pull-xl-9 {\n right: 75%;\n }\n .pull-xl-10 {\n right: 83.333333%;\n }\n .pull-xl-11 {\n right: 91.666667%;\n }\n .pull-xl-12 {\n right: 100%;\n }\n .push-xl-0 {\n left: auto;\n }\n .push-xl-1 {\n left: 8.333333%;\n }\n .push-xl-2 {\n left: 16.666667%;\n }\n .push-xl-3 {\n left: 25%;\n }\n .push-xl-4 {\n left: 33.333333%;\n }\n .push-xl-5 {\n left: 41.666667%;\n }\n .push-xl-6 {\n left: 50%;\n }\n .push-xl-7 {\n left: 58.333333%;\n }\n .push-xl-8 {\n left: 66.666667%;\n }\n .push-xl-9 {\n left: 75%;\n }\n .push-xl-10 {\n left: 83.333333%;\n }\n .push-xl-11 {\n left: 91.666667%;\n }\n .push-xl-12 {\n left: 100%;\n }\n .offset-xl-0 {\n margin-left: 0%;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n background-color: transparent;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #eceeef;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #eceeef;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #eceeef;\n}\n\n.table .table {\n background-color: #fff;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #eceeef;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #eceeef;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #dff0d8;\n}\n\n.table-hover .table-success:hover {\n background-color: #d0e9c6;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #d0e9c6;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #d9edf7;\n}\n\n.table-hover .table-info:hover {\n background-color: #c4e3f3;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #c4e3f3;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #fcf8e3;\n}\n\n.table-hover .table-warning:hover {\n background-color: #faf2cc;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #faf2cc;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f2dede;\n}\n\n.table-hover .table-danger:hover {\n background-color: #ebcccc;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #ebcccc;\n}\n\n.thead-inverse th {\n color: #fff;\n background-color: #292b2c;\n}\n\n.thead-default th {\n color: #464a4c;\n background-color: #eceeef;\n}\n\n.table-inverse {\n color: #fff;\n background-color: #292b2c;\n}\n\n.table-inverse th,\n.table-inverse td,\n.table-inverse thead th {\n border-color: #3b3e40;\n}\n\n.table-inverse.table-bordered {\n border: 0;\n}\n\n.table-inverse.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-inverse.table-hover tbody tr:hover {\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 991px) {\n .table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .table-responsive.table-bordered {\n border: 0;\n }\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n line-height: 1.25;\n color: #464a4c;\n background-color: #fff;\n background-image: none;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:focus {\n color: #464a4c;\n background-color: #fff;\n border-color: #5cb3fd;\n outline: none;\n}\n\n.form-control::placeholder {\n color: #636c72;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #eceeef;\n opacity: 1;\n}\n\nselect.form-control:not([size]):not([multiple]) {\n height: calc(2.25rem + 2px);\n}\n\nselect.form-control:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n}\n\n.col-form-label {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n margin-bottom: 0;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem - 1px * 2);\n padding-bottom: calc(0.5rem - 1px * 2);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem - 1px * 2);\n padding-bottom: calc(0.25rem - 1px * 2);\n font-size: 0.875rem;\n}\n\n.col-form-legend {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n font-size: 1rem;\n}\n\n.form-control-static {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n margin-bottom: 0;\n line-height: 1.25;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-static.form-control-sm, .input-group-sm > .form-control-static.form-control,\n.input-group-sm > .form-control-static.input-group-addon,\n.input-group-sm > .input-group-btn > .form-control-static.btn, .form-control-static.form-control-lg, .input-group-lg > .form-control-static.form-control,\n.input-group-lg > .form-control-static.input-group-addon,\n.input-group-lg > .input-group-btn > .form-control-static.btn {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm, .input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\nselect.form-control-sm:not([size]):not([multiple]), .input-group-sm > select.form-control:not([size]):not([multiple]),\n.input-group-sm > select.input-group-addon:not([size]):not([multiple]),\n.input-group-sm > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(1.8125rem + 2px);\n}\n\n.form-control-lg, .input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control-lg:not([size]):not([multiple]), .input-group-lg > select.form-control:not([size]):not([multiple]),\n.input-group-lg > select.input-group-addon:not([size]):not([multiple]),\n.input-group-lg > .input-group-btn > select.btn:not([size]):not([multiple]) {\n height: calc(2.875rem + 2px);\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-check {\n position: relative;\n display: block;\n margin-bottom: 0.5rem;\n}\n\n.form-check.disabled .form-check-label {\n color: #636c72;\n}\n\n.form-check-label {\n padding-left: 1.25rem;\n margin-bottom: 0;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.25rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input:only-child {\n position: static;\n}\n\n.form-check-inline {\n display: inline-block;\n}\n\n.form-check-inline .form-check-label {\n vertical-align: middle;\n}\n\n.form-check-inline + .form-check-inline {\n margin-left: 0.75rem;\n}\n\n.form-control-feedback {\n margin-top: 0.25rem;\n}\n\n.form-control-success,\n.form-control-warning,\n.form-control-danger {\n padding-right: 3rem;\n background-repeat: no-repeat;\n background-position: center right 0.5625rem;\n background-size: 1.125rem 1.125rem;\n}\n\n.has-success .form-control-feedback,\n.has-success .form-control-label,\n.has-success .col-form-label,\n.has-success .form-check-label,\n.has-success .custom-control {\n color: #5cb85c;\n}\n\n.has-success .form-control,\n.has-success .custom-select,\n.has-success .custom-file-control {\n border-color: #5cb85c;\n}\n\n.has-success .input-group-addon {\n color: #5cb85c;\n background-color: #eaf6ea;\n border-color: #5cb85c;\n}\n\n.has-success .form-control-success {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\");\n}\n\n.has-warning .form-control-feedback,\n.has-warning .form-control-label,\n.has-warning .col-form-label,\n.has-warning .form-check-label,\n.has-warning .custom-control {\n color: #f0ad4e;\n}\n\n.has-warning .form-control,\n.has-warning .custom-select,\n.has-warning .custom-file-control {\n border-color: #f0ad4e;\n}\n\n.has-warning .input-group-addon {\n color: #f0ad4e;\n background-color: white;\n border-color: #f0ad4e;\n}\n\n.has-warning .form-control-warning {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E\");\n}\n\n.has-danger .form-control-feedback,\n.has-danger .form-control-label,\n.has-danger .col-form-label,\n.has-danger .form-check-label,\n.has-danger .custom-control {\n color: #d9534f;\n}\n\n.has-danger .form-control,\n.has-danger .custom-select,\n.has-danger .custom-file-control {\n border-color: #d9534f;\n}\n\n.has-danger .input-group-addon {\n color: #d9534f;\n background-color: #fdf7f7;\n border-color: #d9534f;\n}\n\n.has-danger .form-control-danger {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n width: auto;\n }\n .form-inline .form-control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n margin-top: 0;\n margin-bottom: 0;\n }\n .form-inline .form-check-label {\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 0;\n }\n .form-inline .custom-control-indicator {\n position: static;\n display: inline-block;\n margin-right: 0.25rem;\n vertical-align: text-bottom;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n user-select: none;\n border: 1px solid transparent;\n padding: 0.5rem 1rem;\n font-size: 1rem;\n line-height: 1.25;\n border-radius: 0.25rem;\n transition: all 0.2s ease-in-out;\n}\n\n.btn:focus, .btn:hover {\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: .65;\n}\n\n.btn:active, .btn.active {\n background-image: none;\n}\n\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #025aa5;\n border-color: #01549b;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-primary:active, .btn-primary.active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #025aa5;\n background-image: none;\n border-color: #01549b;\n}\n\n.btn-secondary {\n color: #292b2c;\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:hover {\n color: #292b2c;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n background-color: #fff;\n border-color: #ccc;\n}\n\n.btn-secondary:active, .btn-secondary.active,\n.show > .btn-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #2aabd2;\n}\n\n.btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #2aabd2;\n}\n\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #419641;\n}\n\n.btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #419641;\n}\n\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #eb9316;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #eb9316;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #c12e2a;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-danger:active, .btn-danger.active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #c12e2a;\n}\n\n.btn-outline-primary {\n color: #0275d8;\n background-color: transparent;\n background-image: none;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 2px rgba(2, 117, 216, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #0275d8;\n background-color: transparent;\n}\n\n.btn-outline-primary:active, .btn-outline-primary.active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.btn-outline-secondary {\n color: #ccc;\n background-color: transparent;\n background-image: none;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:hover {\n color: #292b2c;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #ccc;\n background-color: transparent;\n}\n\n.btn-outline-secondary:active, .btn-outline-secondary.active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #292b2c;\n background-color: #ccc;\n border-color: #ccc;\n}\n\n.btn-outline-info {\n color: #5bc0de;\n background-color: transparent;\n background-image: none;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 2px rgba(91, 192, 222, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #5bc0de;\n background-color: transparent;\n}\n\n.btn-outline-info:active, .btn-outline-info.active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.btn-outline-success {\n color: #5cb85c;\n background-color: transparent;\n background-image: none;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 2px rgba(92, 184, 92, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #5cb85c;\n background-color: transparent;\n}\n\n.btn-outline-success:active, .btn-outline-success.active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.btn-outline-warning {\n color: #f0ad4e;\n background-color: transparent;\n background-image: none;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:hover {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 2px rgba(240, 173, 78, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #f0ad4e;\n background-color: transparent;\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.btn-outline-danger {\n color: #d9534f;\n background-color: transparent;\n background-image: none;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #d9534f;\n background-color: transparent;\n}\n\n.btn-outline-danger:active, .btn-outline-danger.active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.btn-link {\n font-weight: normal;\n color: #0275d8;\n border-radius: 0;\n}\n\n.btn-link, .btn-link:active, .btn-link.active, .btn-link:disabled {\n background-color: transparent;\n}\n\n.btn-link, .btn-link:focus, .btn-link:active {\n border-color: transparent;\n}\n\n.btn-link:hover {\n border-color: transparent;\n}\n\n.btn-link:focus, .btn-link:hover {\n color: #014c8c;\n text-decoration: underline;\n background-color: transparent;\n}\n\n.btn-link:disabled {\n color: #636c72;\n}\n\n.btn-link:disabled:focus, .btn-link:disabled:hover {\n text-decoration: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n opacity: 0;\n transition: opacity 0.15s linear;\n}\n\n.fade.show {\n opacity: 1;\n}\n\n.collapse {\n display: none;\n}\n\n.collapse.show {\n display: block;\n}\n\ntr.collapse.show {\n display: table-row;\n}\n\ntbody.collapse.show {\n display: table-row-group;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n.dropup,\n.dropdown {\n position: relative;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 0.3em;\n vertical-align: middle;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropup .dropdown-toggle::after {\n border-top: 0;\n border-bottom: 0.3em solid;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #292b2c;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #eceeef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: normal;\n color: #292b2c;\n text-align: inherit;\n white-space: nowrap;\n background: none;\n border: 0;\n}\n\n.dropdown-item:focus, .dropdown-item:hover {\n color: #1d1e1f;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0275d8;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #636c72;\n background-color: transparent;\n}\n\n.show > a {\n outline: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto !important;\n}\n\n.dropdown-menu-left {\n right: auto !important;\n left: 0;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #636c72;\n white-space: nowrap;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 0 1 auto;\n margin-bottom: 0;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 2;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group,\n.btn-group-vertical .btn + .btn,\n.btn-group-vertical .btn + .btn-group,\n.btn-group-vertical .btn-group + .btn,\n.btn-group-vertical .btn-group + .btn-group {\n margin-left: -1px;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group > .btn-group {\n float: left;\n}\n\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn + .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical .btn,\n.btn-group-vertical .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n width: 100%;\n}\n\n.input-group .form-control {\n position: relative;\n z-index: 2;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0;\n}\n\n.input-group .form-control:focus, .input-group .form-control:active, .input-group .form-control:hover {\n z-index: 3;\n}\n\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: flex;\n align-items: center;\n}\n\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n\n.input-group-addon,\n.input-group-btn {\n white-space: nowrap;\n vertical-align: middle;\n}\n\n.input-group-addon {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.25;\n color: #464a4c;\n text-align: center;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.input-group-addon.form-control-sm,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .input-group-addon.btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-addon.form-control-lg,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .input-group-addon.btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group .form-control:not(:last-child),\n.input-group-addon:not(:last-child),\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group > .btn,\n.input-group-btn:not(:last-child) > .dropdown-toggle,\n.input-group-btn:not(:first-child) > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:not(:first-child) > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group-addon:not(:last-child) {\n border-right: 0;\n}\n\n.input-group .form-control:not(:first-child),\n.input-group-addon:not(:first-child),\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group > .btn,\n.input-group-btn:not(:first-child) > .dropdown-toggle,\n.input-group-btn:not(:last-child) > .btn:not(:first-child),\n.input-group-btn:not(:last-child) > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.form-control + .input-group-addon:not(:first-child) {\n border-left: 0;\n}\n\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n\n.input-group-btn > .btn {\n position: relative;\n}\n\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n\n.input-group-btn > .btn:focus, .input-group-btn > .btn:active, .input-group-btn > .btn:hover {\n z-index: 3;\n}\n\n.input-group-btn:not(:last-child) > .btn,\n.input-group-btn:not(:last-child) > .btn-group {\n margin-right: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn,\n.input-group-btn:not(:first-child) > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n\n.input-group-btn:not(:first-child) > .btn:focus, .input-group-btn:not(:first-child) > .btn:active, .input-group-btn:not(:first-child) > .btn:hover,\n.input-group-btn:not(:first-child) > .btn-group:focus,\n.input-group-btn:not(:first-child) > .btn-group:active,\n.input-group-btn:not(:first-child) > .btn-group:hover {\n z-index: 3;\n}\n\n.custom-control {\n position: relative;\n display: inline-flex;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-indicator {\n color: #fff;\n background-color: #0275d8;\n}\n\n.custom-control-input:focus ~ .custom-control-indicator {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px #0275d8;\n}\n\n.custom-control-input:active ~ .custom-control-indicator {\n color: #fff;\n background-color: #8fcafe;\n}\n\n.custom-control-input:disabled ~ .custom-control-indicator {\n background-color: #eceeef;\n}\n\n.custom-control-input:disabled ~ .custom-control-description {\n color: #636c72;\n}\n\n.custom-control-indicator {\n position: absolute;\n top: 0.25rem;\n left: 0;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n user-select: none;\n background-color: #ddd;\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 50% 50%;\n}\n\n.custom-checkbox .custom-control-indicator {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-indicator {\n background-color: #0275d8;\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\");\n}\n\n.custom-radio .custom-control-indicator {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-indicator {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\");\n}\n\n.custom-controls-stacked {\n display: flex;\n flex-direction: column;\n}\n\n.custom-controls-stacked .custom-control {\n margin-bottom: 0.25rem;\n}\n\n.custom-controls-stacked .custom-control + .custom-control {\n margin-left: 0;\n}\n\n.custom-select {\n display: inline-block;\n max-width: 100%;\n height: calc(2.25rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n line-height: 1.25;\n color: #464a4c;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right 0.75rem center;\n background-size: 8px 10px;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #5cb3fd;\n outline: none;\n}\n\n.custom-select:focus::-ms-value {\n color: #464a4c;\n background-color: #fff;\n}\n\n.custom-select:disabled {\n color: #636c72;\n background-color: #eceeef;\n}\n\n.custom-select::-ms-expand {\n opacity: 0;\n}\n\n.custom-select-sm {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n font-size: 75%;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n max-width: 100%;\n height: 2.5rem;\n margin-bottom: 0;\n}\n\n.custom-file-input {\n min-width: 14rem;\n max-width: 100%;\n height: 2.5rem;\n margin: 0;\n opacity: 0;\n}\n\n.custom-file-control {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 5;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n pointer-events: none;\n user-select: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.custom-file-control:lang(en):empty::after {\n content: \"Choose file...\";\n}\n\n.custom-file-control::before {\n position: absolute;\n top: -1px;\n right: -1px;\n bottom: -1px;\n z-index: 6;\n display: block;\n height: 2.5rem;\n padding: 0.5rem 1rem;\n line-height: 1.5;\n color: #464a4c;\n background-color: #eceeef;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-file-control:lang(en)::before {\n content: \"Browse\";\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:focus, .nav-link:hover {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #636c72;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n\n.nav-tabs .nav-item {\n margin-bottom: -1px;\n}\n\n.nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {\n border-color: #eceeef #eceeef #ddd;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #636c72;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #464a4c;\n background-color: #fff;\n border-color: #ddd #ddd #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.show .nav-pills .nav-link {\n color: #fff;\n background-color: #0275d8;\n}\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar > .container,\n.navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n@media (max-width: 575px) {\n .navbar > .container,\n .navbar > .container-fluid {\n width: 100%;\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:focus, .navbar-brand:hover {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:focus, .navbar-toggler:hover {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%;\n}\n\n@media (max-width: 575px) {\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767px) {\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991px) {\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199px) {\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-inverse .navbar-brand {\n color: white;\n}\n\n.navbar-inverse .navbar-brand:focus, .navbar-inverse .navbar-brand:hover {\n color: white;\n}\n\n.navbar-inverse .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-inverse .navbar-nav .nav-link:focus, .navbar-inverse .navbar-nav .nav-link:hover {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-inverse .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-inverse .navbar-nav .show > .nav-link,\n.navbar-inverse .navbar-nav .active > .nav-link,\n.navbar-inverse .navbar-nav .nav-link.show,\n.navbar-inverse .navbar-nav .nav-link.active {\n color: white;\n}\n\n.navbar-inverse .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-inverse .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n}\n\n.navbar-inverse .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card-block {\n flex: 1 1 auto;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n word-break: break-all;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: #f7f7f9;\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: #f7f7f9;\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-primary {\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.card-primary .card-header,\n.card-primary .card-footer {\n background-color: transparent;\n}\n\n.card-success {\n background-color: #5cb85c;\n border-color: #5cb85c;\n}\n\n.card-success .card-header,\n.card-success .card-footer {\n background-color: transparent;\n}\n\n.card-info {\n background-color: #5bc0de;\n border-color: #5bc0de;\n}\n\n.card-info .card-header,\n.card-info .card-footer {\n background-color: transparent;\n}\n\n.card-warning {\n background-color: #f0ad4e;\n border-color: #f0ad4e;\n}\n\n.card-warning .card-header,\n.card-warning .card-footer {\n background-color: transparent;\n}\n\n.card-danger {\n background-color: #d9534f;\n border-color: #d9534f;\n}\n\n.card-danger .card-header,\n.card-danger .card-footer {\n background-color: transparent;\n}\n\n.card-outline-primary {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-primary .card-header,\n.card-outline-primary .card-footer {\n background-color: transparent;\n border-color: #0275d8;\n}\n\n.card-outline-secondary {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-secondary .card-header,\n.card-outline-secondary .card-footer {\n background-color: transparent;\n border-color: #ccc;\n}\n\n.card-outline-info {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-info .card-header,\n.card-outline-info .card-footer {\n background-color: transparent;\n border-color: #5bc0de;\n}\n\n.card-outline-success {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-success .card-header,\n.card-outline-success .card-footer {\n background-color: transparent;\n border-color: #5cb85c;\n}\n\n.card-outline-warning {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-warning .card-header,\n.card-outline-warning .card-footer {\n background-color: transparent;\n border-color: #f0ad4e;\n}\n\n.card-outline-danger {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-outline-danger .card-header,\n.card-outline-danger .card-footer {\n background-color: transparent;\n border-color: #d9534f;\n}\n\n.card-inverse {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer {\n background-color: transparent;\n border-color: rgba(255, 255, 255, 0.2);\n}\n\n.card-inverse .card-header,\n.card-inverse .card-footer,\n.card-inverse .card-title,\n.card-inverse .card-blockquote {\n color: #fff;\n}\n\n.card-inverse .card-link,\n.card-inverse .card-text,\n.card-inverse .card-subtitle,\n.card-inverse .card-blockquote .blockquote-footer {\n color: rgba(255, 255, 255, 0.65);\n}\n\n.card-inverse .card-link:focus, .card-inverse .card-link:hover {\n color: #fff;\n}\n\n.card-blockquote {\n padding: 0;\n margin-bottom: 0;\n border-left: 0;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n}\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group .card {\n flex: 1 0 0;\n }\n .card-group .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group .card:first-child {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group .card:first-child .card-img-top {\n border-top-right-radius: 0;\n }\n .card-group .card:first-child .card-img-bottom {\n border-bottom-right-radius: 0;\n }\n .card-group .card:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group .card:last-child .card-img-top {\n border-top-left-radius: 0;\n }\n .card-group .card:last-child .card-img-bottom {\n border-bottom-left-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n .card-group .card:not(:first-child):not(:last-child) .card-img-top,\n .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {\n border-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.breadcrumb {\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.breadcrumb-item {\n float: left;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n color: #636c72;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #636c72;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.page-item.disabled .page-link {\n color: #636c72;\n pointer-events: none;\n background-color: #fff;\n border-color: #ddd;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #0275d8;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n\n.page-link:focus, .page-link:hover {\n color: #014c8c;\n text-decoration: none;\n background-color: #eceeef;\n border-color: #ddd;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\na.badge:focus, a.badge:hover {\n color: #fff;\n text-decoration: none;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-default {\n background-color: #636c72;\n}\n\n.badge-default[href]:focus, .badge-default[href]:hover {\n background-color: #4b5257;\n}\n\n.badge-primary {\n background-color: #0275d8;\n}\n\n.badge-primary[href]:focus, .badge-primary[href]:hover {\n background-color: #025aa5;\n}\n\n.badge-success {\n background-color: #5cb85c;\n}\n\n.badge-success[href]:focus, .badge-success[href]:hover {\n background-color: #449d44;\n}\n\n.badge-info {\n background-color: #5bc0de;\n}\n\n.badge-info[href]:focus, .badge-info[href]:hover {\n background-color: #31b0d5;\n}\n\n.badge-warning {\n background-color: #f0ad4e;\n}\n\n.badge-warning[href]:focus, .badge-warning[href]:hover {\n background-color: #ec971f;\n}\n\n.badge-danger {\n background-color: #d9534f;\n}\n\n.badge-danger[href]:focus, .badge-danger[href]:hover {\n background-color: #c9302c;\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #eceeef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: bold;\n}\n\n.alert-dismissible .close {\n position: relative;\n top: -0.75rem;\n right: -1.25rem;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d0e9c6;\n}\n\n.alert-success hr {\n border-top-color: #c1e2b3;\n}\n\n.alert-success .alert-link {\n color: #2b542c;\n}\n\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bcdff1;\n}\n\n.alert-info hr {\n border-top-color: #a6d5ec;\n}\n\n.alert-info .alert-link {\n color: #245269;\n}\n\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faf2cc;\n}\n\n.alert-warning hr {\n border-top-color: #f7ecb5;\n}\n\n.alert-warning .alert-link {\n color: #66512c;\n}\n\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebcccc;\n}\n\n.alert-danger hr {\n border-top-color: #e4b9b9;\n}\n\n.alert-danger .alert-link {\n color: #843534;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n overflow: hidden;\n font-size: 0.75rem;\n line-height: 1rem;\n text-align: center;\n background-color: #eceeef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n height: 1rem;\n line-height: 1rem;\n color: #fff;\n background-color: #0275d8;\n transition: width 0.6s ease;\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite;\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #464a4c;\n text-align: inherit;\n}\n\n.list-group-item-action:focus, .list-group-item-action:hover {\n color: #464a4c;\n text-decoration: none;\n background-color: #f7f7f9;\n}\n\n.list-group-item-action:active {\n color: #292b2c;\n background-color: #eceeef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.list-group-item:focus, .list-group-item:hover {\n text-decoration: none;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #636c72;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0275d8;\n border-color: #0275d8;\n}\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0;\n}\n\n.list-group-flush:last-child .list-group-item:last-child {\n border-bottom: 0;\n}\n\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\n\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\n\na.list-group-item-success:focus, a.list-group-item-success:hover,\nbutton.list-group-item-success:focus,\nbutton.list-group-item-success:hover {\n color: #3c763d;\n background-color: #d0e9c6;\n}\n\na.list-group-item-success.active,\nbutton.list-group-item-success.active {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\n\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\n\na.list-group-item-info:focus, a.list-group-item-info:hover,\nbutton.list-group-item-info:focus,\nbutton.list-group-item-info:hover {\n color: #31708f;\n background-color: #c4e3f3;\n}\n\na.list-group-item-info.active,\nbutton.list-group-item-info.active {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\n\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\n\na.list-group-item-warning:focus, a.list-group-item-warning:hover,\nbutton.list-group-item-warning:focus,\nbutton.list-group-item-warning:hover {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\n\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\n\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\n\na.list-group-item-danger:focus, a.list-group-item-danger:hover,\nbutton.list-group-item-danger:focus,\nbutton.list-group-item-danger:hover {\n color: #a94442;\n background-color: #ebcccc;\n}\n\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:focus, .close:hover {\n color: #000;\n text-decoration: none;\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n outline: 0;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -25%);\n}\n\n.modal.show .modal-dialog {\n transform: translate(0, 0);\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n border-bottom: 1px solid #eceeef;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 15px;\n}\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 15px;\n border-top: 1px solid #eceeef;\n}\n\n.modal-footer > :not(:first-child) {\n margin-left: .25rem;\n}\n\n.modal-footer > :not(:last-child) {\n margin-right: .25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 30px auto;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg {\n max-width: 800px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip.bs-tooltip-top {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-top .arrow::before {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n\n.tooltip.bs-tooltip-right {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-right .arrow::before {\n top: 50%;\n left: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n\n.tooltip.bs-tooltip-bottom {\n padding: 5px 0;\n}\n\n.tooltip.bs-tooltip-bottom .arrow::before {\n top: 0;\n left: 50%;\n margin-left: -5px;\n content: \"\";\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n\n.tooltip.bs-tooltip-left {\n padding: 0 5px;\n}\n\n.tooltip.bs-tooltip-left .arrow::before {\n top: 50%;\n right: 0;\n margin-top: -5px;\n content: \"\";\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n padding: 1px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow::before,\n.popover .arrow::after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n\n.popover .arrow::before {\n content: \"\";\n border-width: 11px;\n}\n\n.popover .arrow::after {\n content: \"\";\n border-width: 10px;\n}\n\n.popover.bs-popover-top {\n margin-bottom: 10px;\n}\n\n.popover.bs-popover-top .arrow::before,\n.popover.bs-popover-top .arrow::after {\n left: 50%;\n border-bottom-width: 0;\n}\n\n.popover.bs-popover-top .arrow::before {\n bottom: -11px;\n margin-left: -11px;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-top .arrow::after {\n bottom: -10px;\n margin-left: -10px;\n border-top-color: #fff;\n}\n\n.popover.bs-popover-right {\n margin-left: 10px;\n}\n\n.popover.bs-popover-right .arrow::before,\n.popover.bs-popover-right .arrow::after {\n top: 50%;\n border-left-width: 0;\n}\n\n.popover.bs-popover-right .arrow::before {\n left: -11px;\n margin-top: -11px;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-right .arrow::after {\n left: -10px;\n margin-top: -10px;\n border-right-color: #fff;\n}\n\n.popover.bs-popover-bottom {\n margin-top: 10px;\n}\n\n.popover.bs-popover-bottom .arrow::before,\n.popover.bs-popover-bottom .arrow::after {\n left: 50%;\n border-top-width: 0;\n}\n\n.popover.bs-popover-bottom .arrow::before {\n top: -11px;\n margin-left: -11px;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-bottom .arrow::after {\n top: -10px;\n margin-left: -10px;\n border-bottom-color: #fff;\n}\n\n.popover.bs-popover-bottom .popover-title::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 20px;\n margin-left: -10px;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.popover.bs-popover-left {\n margin-right: 10px;\n}\n\n.popover.bs-popover-left .arrow::before,\n.popover.bs-popover-left .arrow::after {\n top: 50%;\n border-right-width: 0;\n}\n\n.popover.bs-popover-left .arrow::before {\n right: -11px;\n margin-top: -11px;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.popover.bs-popover-left .arrow::after {\n right: -10px;\n margin-top: -10px;\n border-left-color: #fff;\n}\n\n.popover-title {\n padding: 8px 14px;\n margin-bottom: 0;\n font-size: 1rem;\n color: inherit;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-title:empty {\n display: none;\n}\n\n.popover-content {\n padding: 9px 14px;\n color: #292b2c;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-item {\n position: relative;\n display: none;\n align-items: center;\n width: 100%;\n transition: transform 0.6s ease;\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: flex;\n}\n\n.carousel-item-next,\n.carousel-item-prev {\n position: absolute;\n top: 0;\n}\n\n.carousel-item-next.carousel-item-left,\n.carousel-item-prev.carousel-item-right {\n transform: translate3d(0, 0, 0);\n}\n\n.carousel-item-next,\n.active.carousel-item-right {\n transform: translate3d(100%, 0, 0);\n}\n\n.carousel-item-prev,\n.active.carousel-item-left {\n transform: translate3d(-100%, 0, 0);\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n}\n\n.carousel-control-prev:focus, .carousel-control-prev:hover,\n.carousel-control-next:focus,\n.carousel-control-next:hover {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: .9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: transparent no-repeat center center;\n background-size: 100% 100%;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 10px;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n position: relative;\n flex: 1 0 auto;\n max-width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n background-color: rgba(255, 255, 255, 0.5);\n}\n\n.carousel-indicators li::before {\n position: absolute;\n top: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators li::after {\n position: absolute;\n bottom: -10px;\n left: 0;\n display: inline-block;\n width: 100%;\n height: 10px;\n content: \"\";\n}\n\n.carousel-indicators .active {\n background-color: #fff;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-faded {\n background-color: #f7f7f7;\n}\n\n.bg-primary {\n background-color: #0275d8 !important;\n}\n\na.bg-primary:focus, a.bg-primary:hover {\n background-color: #025aa5 !important;\n}\n\n.bg-success {\n background-color: #5cb85c !important;\n}\n\na.bg-success:focus, a.bg-success:hover {\n background-color: #449d44 !important;\n}\n\n.bg-info {\n background-color: #5bc0de !important;\n}\n\na.bg-info:focus, a.bg-info:hover {\n background-color: #31b0d5 !important;\n}\n\n.bg-warning {\n background-color: #f0ad4e !important;\n}\n\na.bg-warning:focus, a.bg-warning:hover {\n background-color: #ec971f !important;\n}\n\n.bg-danger {\n background-color: #d9534f !important;\n}\n\na.bg-danger:focus, a.bg-danger:hover {\n background-color: #c9302c !important;\n}\n\n.bg-inverse {\n background-color: #292b2c !important;\n}\n\na.bg-inverse:focus, a.bg-inverse:hover {\n background-color: #101112 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.rounded {\n border-radius: 0.25rem;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rounded-circle {\n border-radius: 50%;\n}\n\n.rounded-0 {\n border-radius: 0;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.d-print-block {\n display: none !important;\n}\n\n@media print {\n .d-print-block {\n display: block !important;\n }\n}\n\n.d-print-inline {\n display: none !important;\n}\n\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n}\n\n.d-print-inline-block {\n display: none !important;\n}\n\n@media print {\n .d-print-inline-block {\n display: inline-block !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 1;\n}\n\n.order-0 {\n order: 0;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 1;\n }\n .order-sm-0 {\n order: 0;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 1;\n }\n .order-md-0 {\n order: 0;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 1;\n }\n .order-lg-0 {\n order: 0;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 1;\n }\n .order-xl-0 {\n order: 0;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n clip-path: inset(50%);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n clip-path: none;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mr-0 {\n margin-right: 0 !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0 {\n margin-left: 0 !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1 {\n margin-left: 0.25rem !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2 {\n margin-left: 0.5rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3 {\n margin-left: 1rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4 {\n margin-left: 1.5rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5 {\n margin-left: 3rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pr-0 {\n padding-right: 0 !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0 {\n padding-left: 0 !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1 {\n padding-left: 0.25rem !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2 {\n padding-left: 0.5rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3 {\n padding-left: 1rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4 {\n padding-left: 1.5rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5 {\n padding-left: 3rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.mr-auto {\n margin-right: auto !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto {\n margin-left: auto !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0 {\n margin-left: 0 !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1 {\n margin-left: 0.25rem !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2 {\n margin-left: 0.5rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3 {\n margin-left: 1rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4 {\n margin-left: 1.5rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5 {\n margin-left: 3rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0 {\n padding-left: 0 !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1 {\n padding-left: 0.25rem !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2 {\n padding-left: 0.5rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3 {\n padding-left: 1rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4 {\n padding-left: 1.5rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5 {\n padding-left: 3rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto {\n margin-left: auto !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0 {\n margin-left: 0 !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1 {\n margin-left: 0.25rem !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2 {\n margin-left: 0.5rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3 {\n margin-left: 1rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4 {\n margin-left: 1.5rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5 {\n margin-left: 3rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0 {\n padding-left: 0 !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1 {\n padding-left: 0.25rem !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2 {\n padding-left: 0.5rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3 {\n padding-left: 1rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4 {\n padding-left: 1.5rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5 {\n padding-left: 3rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto {\n margin-left: auto !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0 {\n margin-left: 0 !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1 {\n margin-left: 0.25rem !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2 {\n margin-left: 0.5rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3 {\n margin-left: 1rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4 {\n margin-left: 1.5rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5 {\n margin-left: 3rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0 {\n padding-left: 0 !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1 {\n padding-left: 0.25rem !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2 {\n padding-left: 0.5rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3 {\n padding-left: 1rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4 {\n padding-left: 1.5rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5 {\n padding-left: 3rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto {\n margin-left: auto !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0 {\n margin-left: 0 !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1 {\n margin-left: 0.25rem !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2 {\n margin-left: 0.5rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3 {\n margin-left: 1rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4 {\n margin-left: 1.5rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5 {\n margin-left: 3rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0 {\n padding-left: 0 !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1 {\n padding-left: 0.25rem !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2 {\n padding-left: 0.5rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3 {\n padding-left: 1rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4 {\n padding-left: 1.5rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5 {\n padding-left: 3rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto {\n margin-left: auto !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-normal {\n font-weight: normal;\n}\n\n.font-weight-bold {\n font-weight: bold;\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-muted {\n color: #636c72 !important;\n}\n\na.text-muted:focus, a.text-muted:hover {\n color: #4b5257 !important;\n}\n\n.text-primary {\n color: #0275d8 !important;\n}\n\na.text-primary:focus, a.text-primary:hover {\n color: #025aa5 !important;\n}\n\n.text-success {\n color: #5cb85c !important;\n}\n\na.text-success:focus, a.text-success:hover {\n color: #449d44 !important;\n}\n\n.text-info {\n color: #5bc0de !important;\n}\n\na.text-info:focus, a.text-info:hover {\n color: #31b0d5 !important;\n}\n\n.text-warning {\n color: #f0ad4e !important;\n}\n\na.text-warning:focus, a.text-warning:hover {\n color: #ec971f !important;\n}\n\n.text-danger {\n color: #d9534f !important;\n}\n\na.text-danger:focus, a.text-danger:hover {\n color: #c9302c !important;\n}\n\n.text-gray-dark {\n color: #292b2c !important;\n}\n\na.text-gray-dark:focus, a.text-gray-dark:hover {\n color: #101112 !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n/*# sourceMappingURL=bootstrap.css.map */",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]} \ No newline at end of file
diff --git a/docs/dist/css/bootstrap.min.css b/docs/dist/css/bootstrap.min.css
index 60e65e69b..4ef26b891 100644
--- a/docs/dist/css/bootstrap.min.css
+++ b/docs/dist/css/bootstrap.min.css
@@ -1,6 +1,6 @@
/*!
- * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors
- * Copyright 2011-2016 Twitter, Inc.
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}html{font-size:16px;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#0275d8;text-decoration:none}a:focus,a:hover{color:#014c8c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300}.display-2{font-size:5.5rem;font-weight:300}.display-3{font-size:4.5rem;font-weight:300}.display-4{font-size:3.5rem;font-weight:300}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{margin-left:auto;margin-right:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.333333%;-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.666667%;-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.333333%;-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.666667%;-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.333333%;-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.666667%;-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.333333%;-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.666667%;-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#fff}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}.table-reflow thead{float:left}.table-reflow tbody{display:block;white-space:nowrap}.table-reflow td,.table-reflow th{border-top:1px solid #eceeef;border-left:1px solid #eceeef}.table-reflow td:last-child,.table-reflow th:last-child{border-right:1px solid #eceeef}.table-reflow tbody:last-child tr:last-child td,.table-reflow tbody:last-child tr:last-child th,.table-reflow tfoot:last-child tr:last-child td,.table-reflow tfoot:last-child tr:last-child th,.table-reflow thead:last-child tr:last-child td,.table-reflow thead:last-child tr:last-child th{border-bottom:1px solid #eceeef}.table-reflow tr{float:left}.table-reflow tr td,.table-reflow tr th{display:block!important;border:1px solid #eceeef}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.75rem - 1px * 2);padding-bottom:calc(.75rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.166667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;border-color:#5cb85c;background-color:#eaf6ea}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;border-color:#f0ad4e;background-color:#fff}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#fdf7f7}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#eceeef}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;cursor:not-allowed;background-color:transparent}.show>.dropdown-menu{display:block}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:.3em solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:.3em .3em 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 .3em .3em}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem;cursor:pointer}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en)::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5em 1em}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72;cursor:not-allowed}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-item.show .nav-link,.nav-pills .nav-link.active{color:#fff;cursor:default;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 100%;-ms-flex:1 1 100%;flex:1 1 100%;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:.5rem 1rem}.navbar-toggler-left{position:absolute;left:1rem}.navbar-toggler-right{position:absolute;right:1rem}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar-sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1030}.navbar-brand{display:inline-block;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-divider{float:left;width:1px;padding-top:.425rem;padding-bottom:.425rem;margin-right:1rem;margin-left:1rem;overflow:hidden}.navbar-divider::before{content:"\00a0"}.navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.navbar-nav{-webkit-box-flex:10;-webkit-flex-grow:10;-ms-flex-positive:10;flex-grow:10}.navbar-nav .nav-link{display:block;padding-top:.425rem;padding-bottom:.425rem}.navbar-light .navbar-brand,.navbar-light .navbar-toggler{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .open>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-light .navbar-divider{background-color:rgba(0,0,0,.075)}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-toggler{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-toggler:focus,.navbar-inverse .navbar-toggler:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.open,.navbar-inverse .navbar-nav .open>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")}.navbar-inverse .navbar-divider{background-color:rgba(255,255,255,.075)}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}@media (max-width:575px){.navbar-toggleable .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable>.container{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-toggleable{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable .nav-item{display:inline-block}.navbar-toggleable .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable .navbar-toggler{display:none}}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-sm>.container{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-toggleable-sm{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-sm .nav-item{display:inline-block}.navbar-toggleable-sm .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-sm .navbar-toggler{display:none}}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-md>.container{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-toggleable-md{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-md .nav-item{display:inline-block}.navbar-toggleable-md .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-md .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-lg>.container{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-toggleable-lg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-lg .nav-item{display:inline-block}.navbar-toggleable-lg .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-lg .navbar-toggler{display:none}}.navbar-toggleable-xl{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-toggleable-xl>.container{padding-right:0;padding-left:0}.navbar-toggleable-xl>.container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.navbar-toggleable-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;width:100%}.navbar-toggleable-xl .nav-item{display:inline-block}.navbar-toggleable-xl .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-toggleable-xl .navbar-toggler{display:none}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f7f7f9;border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:calc(.25rem - 1px)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.card-deck .card:not(:first-child){margin-left:15px}.card-deck .card:not(:last-child){margin-right:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0%;-ms-flex:1 0 0%;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%;margin-bottom:.75rem}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;content:"";clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:block;width:100%;height:1rem;margin-bottom:1rem;overflow:hidden}.progress[value]{background-color:#eceeef;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem}.progress[value]::-ms-fill{background-color:#0275d8;border:0}.progress[value]::-moz-progress-bar{background-color:#0275d8}.progress[value]::-webkit-progress-value{background-color:#0275d8}.progress[value]::-webkit-progress-bar{background-color:#eceeef}.progress[value],base::-moz-progress-bar{background-color:#eceeef}.progress-striped[value]::-webkit-progress-value{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}.progress-striped[value]::-moz-progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-striped[value]::-ms-fill{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-animated[value]::-webkit-progress-value{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-animated[value]::-moz-progress-bar{animation:progress-bar-stripes 2s linear infinite}.progress-success[value]::-webkit-progress-value{background-color:#5cb85c}.progress-success[value]::-moz-progress-bar{background-color:#5cb85c}.progress-success[value]::-ms-fill{background-color:#5cb85c}.progress-info[value]::-webkit-progress-value{background-color:#5bc0de}.progress-info[value]::-moz-progress-bar{background-color:#5bc0de}.progress-info[value]::-ms-fill{background-color:#5bc0de}.progress-warning[value]::-webkit-progress-value{background-color:#f0ad4e}.progress-warning[value]::-moz-progress-bar{background-color:#f0ad4e}.progress-warning[value]::-ms-fill{background-color:#f0ad4e}.progress-danger[value]::-webkit-progress-value{background-color:#d9534f}.progress-danger[value]::-moz-progress-bar{background-color:#d9534f}.progress-danger[value]::-ms-fill{background-color:#d9534f}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1 1 0%;-ms-flex:1 1 0%;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#292b2c}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;cursor:not-allowed;background-color:#fff}.list-group-item.disabled .list-group-item-heading,.list-group-item:disabled .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item:disabled .list-group-item-text{color:#636c72}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text{color:#daeeff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9{padding-bottom:42.857143%}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.embed-responsive-1by1{padding-bottom:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.75}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner::before,.tooltip.tooltip-top .tooltip-inner::before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner::before,.tooltip.tooltip-right .tooltip-inner::before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner::before,.tooltip.tooltip-bottom .tooltip-inner::before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner::before,.tooltip.tooltip-left .tooltip-inner::before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.tooltip-inner::before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom::after,.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::after,.popover.popover-top::before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom::before,.popover.popover-top::before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom::after,.popover.popover-top::after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left::after,.popover.bs-tether-element-attached-left::before,.popover.popover-right::after,.popover.popover-right::before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left::before,.popover.popover-right::before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left::after,.popover.popover-right::after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top::after,.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::after,.popover.popover-bottom::before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top::before,.popover.popover-bottom::before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top::after,.popover.popover-bottom::after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title::before,.popover.popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right::after,.popover.bs-tether-element-attached-right::before,.popover.popover-left::after,.popover.popover-left::before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right::before,.popover.popover-left::before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right::after,.popover.popover-left::after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:.2375rem .2375rem 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover::after,.popover::before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover::before{content:"";border-width:11px}.popover::after{content:"";border-width:10px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;width:100%}@media (-webkit-transform-3d){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}@media (-webkit-transform-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@supports ((-webkit-transform:translate3d(0,0,0)) or (transform:translate3d(0,0,0))){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:.25rem}.rounded-top{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.rounded-right{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;content:"";clear:both}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.flex-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-sm-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-md-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-lg-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.flex-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.flex-xl-unordered{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0 0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem .25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem .5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem 1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem 1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem 3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0 0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem .25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem .5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem 1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem 1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem 3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0 0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem .25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem .5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem 1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem 1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem 3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0 0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem .25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem .5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem 1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem 1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem 3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0 0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem .25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem .5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem 1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem 1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem 3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0 0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem .25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem .5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem 1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem 1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem 3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0 0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem .25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem .5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem 1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem 1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem 3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0 0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem .25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem .5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem 1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem 1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem 3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0 0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem .25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem .5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem 1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem 1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem 3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0 0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem .25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem .5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem 1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem 1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem 3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.pos-f-t{position:fixed;top:0;right:0;left:0;z-index:1030}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:575px){.hidden-xs-down{display:none!important}}@media (min-width:576px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down{display:none!important}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file
+ */@media print{*,::after,::before,blockquote::first-letter,blockquote::first-line,div::first-letter,div::first-line,li::first-letter,li::first-line,p::first-letter,p::first-line{text-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}*,::after,::before{-webkit-box-sizing:inherit;box-sizing:inherit}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#292b2c;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0275d8;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#014c8c;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#636c72;text-align:left;caption-side:bottom}th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.1}.display-2{font-size:5.5rem;font-weight:300;line-height:1.1}.display-3{font-size:4.5rem;font-weight:300;line-height:1.1}.display-4{font-size:3.5rem;font-weight:300;line-height:1.1}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#636c72}.blockquote-footer::before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer::before{content:""}.blockquote-reverse .blockquote-footer::after{content:"\00A0 \2014"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #ddd;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#636c72}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{padding:.2rem .4rem;font-size:90%;color:#bd4147;background-color:#f7f7f9;border-radius:.25rem}a>code{padding:0;color:inherit;background-color:inherit}kbd{padding:.2rem .4rem;font-size:90%;color:#fff;background-color:#292b2c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#292b2c}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container{padding-right:15px;padding-left:15px}}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}@media (min-width:576px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:768px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:992px){.container-fluid{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.container-fluid{padding-right:15px;padding-left:15px}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-right:15px;padding-left:15px}}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{width:8.333333%}.col-2{width:16.666667%}.col-3{width:25%}.col-4{width:33.333333%}.col-5{width:41.666667%}.col-6{width:50%}.col-7{width:58.333333%}.col-8{width:66.666667%}.col-9{width:75%}.col-10{width:83.333333%}.col-11{width:91.666667%}.col-12{width:100%}.pull-0{right:auto}.pull-1{right:8.333333%}.pull-2{right:16.666667%}.pull-3{right:25%}.pull-4{right:33.333333%}.pull-5{right:41.666667%}.pull-6{right:50%}.pull-7{right:58.333333%}.pull-8{right:66.666667%}.pull-9{right:75%}.pull-10{right:83.333333%}.pull-11{right:91.666667%}.pull-12{right:100%}.push-0{left:auto}.push-1{left:8.333333%}.push-2{left:16.666667%}.push-3{left:25%}.push-4{left:33.333333%}.push-5{left:41.666667%}.push-6{left:50%}.push-7{left:58.333333%}.push-8{left:66.666667%}.push-9{left:75%}.push-10{left:83.333333%}.push-11{left:91.666667%}.push-12{left:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{width:8.333333%}.col-sm-2{width:16.666667%}.col-sm-3{width:25%}.col-sm-4{width:33.333333%}.col-sm-5{width:41.666667%}.col-sm-6{width:50%}.col-sm-7{width:58.333333%}.col-sm-8{width:66.666667%}.col-sm-9{width:75%}.col-sm-10{width:83.333333%}.col-sm-11{width:91.666667%}.col-sm-12{width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.333333%}.pull-sm-2{right:16.666667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.333333%}.pull-sm-5{right:41.666667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.333333%}.pull-sm-8{right:66.666667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.333333%}.pull-sm-11{right:91.666667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.333333%}.push-sm-2{left:16.666667%}.push-sm-3{left:25%}.push-sm-4{left:33.333333%}.push-sm-5{left:41.666667%}.push-sm-6{left:50%}.push-sm-7{left:58.333333%}.push-sm-8{left:66.666667%}.push-sm-9{left:75%}.push-sm-10{left:83.333333%}.push-sm-11{left:91.666667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{width:8.333333%}.col-md-2{width:16.666667%}.col-md-3{width:25%}.col-md-4{width:33.333333%}.col-md-5{width:41.666667%}.col-md-6{width:50%}.col-md-7{width:58.333333%}.col-md-8{width:66.666667%}.col-md-9{width:75%}.col-md-10{width:83.333333%}.col-md-11{width:91.666667%}.col-md-12{width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.333333%}.pull-md-2{right:16.666667%}.pull-md-3{right:25%}.pull-md-4{right:33.333333%}.pull-md-5{right:41.666667%}.pull-md-6{right:50%}.pull-md-7{right:58.333333%}.pull-md-8{right:66.666667%}.pull-md-9{right:75%}.pull-md-10{right:83.333333%}.pull-md-11{right:91.666667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.333333%}.push-md-2{left:16.666667%}.push-md-3{left:25%}.push-md-4{left:33.333333%}.push-md-5{left:41.666667%}.push-md-6{left:50%}.push-md-7{left:58.333333%}.push-md-8{left:66.666667%}.push-md-9{left:75%}.push-md-10{left:83.333333%}.push-md-11{left:91.666667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{width:8.333333%}.col-lg-2{width:16.666667%}.col-lg-3{width:25%}.col-lg-4{width:33.333333%}.col-lg-5{width:41.666667%}.col-lg-6{width:50%}.col-lg-7{width:58.333333%}.col-lg-8{width:66.666667%}.col-lg-9{width:75%}.col-lg-10{width:83.333333%}.col-lg-11{width:91.666667%}.col-lg-12{width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.333333%}.pull-lg-2{right:16.666667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.333333%}.pull-lg-5{right:41.666667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.333333%}.pull-lg-8{right:66.666667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.333333%}.pull-lg-11{right:91.666667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.333333%}.push-lg-2{left:16.666667%}.push-lg-3{left:25%}.push-lg-4{left:33.333333%}.push-lg-5{left:41.666667%}.push-lg-6{left:50%}.push-lg-7{left:58.333333%}.push-lg-8{left:66.666667%}.push-lg-9{left:75%}.push-lg-10{left:83.333333%}.push-lg-11{left:91.666667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{width:8.333333%}.col-xl-2{width:16.666667%}.col-xl-3{width:25%}.col-xl-4{width:33.333333%}.col-xl-5{width:41.666667%}.col-xl-6{width:50%}.col-xl-7{width:58.333333%}.col-xl-8{width:66.666667%}.col-xl-9{width:75%}.col-xl-10{width:83.333333%}.col-xl-11{width:91.666667%}.col-xl-12{width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.333333%}.pull-xl-2{right:16.666667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.333333%}.pull-xl-5{right:41.666667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.333333%}.pull-xl-8{right:66.666667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.333333%}.pull-xl-11{right:91.666667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.333333%}.push-xl-2{left:16.666667%}.push-xl-3{left:25%}.push-xl-4{left:33.333333%}.push-xl-5{left:41.666667%}.push-xl-6{left:50%}.push-xl-7{left:58.333333%}.push-xl-8{left:66.666667%}.push-xl-9{left:75%}.push-xl-10{left:83.333333%}.push-xl-11{left:91.666667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.table tbody+tbody{border-top:2px solid #eceeef}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #eceeef}.table-bordered td,.table-bordered th{border:1px solid #eceeef}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover{background-color:#d0e9c6}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover{background-color:#c4e3f3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover{background-color:#faf2cc}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover{background-color:#ebcccc}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#292b2c}.thead-default th{color:#464a4c;background-color:#eceeef}.table-inverse{color:#fff;background-color:#292b2c}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#3b3e40}.table-inverse.table-bordered{border:0}.table-inverse.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-inverse.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:991px){.table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive.table-bordered{border:0}}.form-control{display:block;width:100%;padding:.5rem 1rem;font-size:1rem;line-height:1.25;color:#464a4c;background-color:#fff;background-image:none;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#464a4c;background-color:#fff;border-color:#5cb3fd;outline:0}.form-control::-webkit-input-placeholder{color:#636c72;opacity:1}.form-control::-moz-placeholder{color:#636c72;opacity:1}.form-control:-ms-input-placeholder{color:#636c72;opacity:1}.form-control::placeholder{color:#636c72;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#464a4c;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);margin-bottom:0}.col-form-label-lg{padding-top:calc(.5rem - 1px * 2);padding-bottom:calc(.5rem - 1px * 2);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem - 1px * 2);padding-bottom:calc(.25rem - 1px * 2);font-size:.875rem}.col-form-legend{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;font-size:1rem}.form-control-static{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0;line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.5rem}.form-check.disabled .form-check-label{color:#636c72}.form-check-label{padding-left:1.25rem;margin-bottom:0}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{display:inline-block}.form-check-inline .form-check-label{vertical-align:middle}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:3rem;background-repeat:no-repeat;background-position:center right .5625rem;-webkit-background-size:1.125rem 1.125rem;background-size:1.125rem 1.125rem}.has-success .col-form-label,.has-success .custom-control,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#5cb85c}.has-success .custom-file-control,.has-success .custom-select,.has-success .form-control{border-color:#5cb85c}.has-success .input-group-addon{color:#5cb85c;background-color:#eaf6ea;border-color:#5cb85c}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-warning .col-form-label,.has-warning .custom-control,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:#f0ad4e}.has-warning .custom-file-control,.has-warning .custom-select,.has-warning .form-control{border-color:#f0ad4e}.has-warning .input-group-addon{color:#f0ad4e;background-color:#fff;border-color:#f0ad4e}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .col-form-label,.has-danger .custom-control,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#d9534f}.has-danger .custom-file-control,.has-danger .custom-select,.has-danger .form-control{border-color:#d9534f}.has-danger .input-group-addon{color:#d9534f;background-color:#fdf7f7;border-color:#d9534f}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.form-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:auto;margin-top:0;margin-bottom:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0}.form-inline .custom-control-indicator{position:static;display:inline-block;margin-right:.25rem;vertical-align:text-bottom}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;line-height:1.25;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn.active,.btn:active{background-image:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.btn-primary.focus,.btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.btn-secondary.focus,.btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#fff;border-color:#ccc}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.focus,.btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.btn-success.focus,.btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.btn-warning.focus,.btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.btn-danger.focus,.btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.btn-outline-primary{color:#0275d8;background-color:transparent;background-image:none;border-color:#0275d8}.btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-primary.focus,.btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.btn-outline-primary.active,.btn-outline-primary:active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.btn-outline-secondary{color:#ccc;background-color:transparent;background-image:none;border-color:#ccc}.btn-outline-secondary:hover{color:#292b2c;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.focus,.btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.btn-outline-secondary.active,.btn-outline-secondary:active,.show>.btn-outline-secondary.dropdown-toggle{color:#292b2c;background-color:#ccc;border-color:#ccc}.btn-outline-info{color:#5bc0de;background-color:transparent;background-image:none;border-color:#5bc0de}.btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.focus,.btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.btn-outline-info.active,.btn-outline-info:active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-success{color:#5cb85c;background-color:transparent;background-image:none;border-color:#5cb85c}.btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-success.focus,.btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.btn-outline-success.active,.btn-outline-success:active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.btn-outline-warning{color:#f0ad4e;background-color:transparent;background-image:none;border-color:#f0ad4e}.btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-warning.focus,.btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.btn-outline-warning.active,.btn-outline-warning:active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.btn-outline-danger{color:#d9534f;background-color:transparent;background-image:none;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger.focus,.btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger.active,.btn-outline-danger:active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-link{font-weight:400;color:#0275d8;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus{border-color:transparent}.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.btn-link:disabled{color:#636c72}.btn-link:disabled:focus,.btn-link:disabled:hover{text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.dropdown,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#292b2c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #eceeef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#292b2c;text-align:inherit;white-space:nowrap;background:0 0;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1d1e1f;text-decoration:none;background-color:#f7f7f9}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0275d8}.dropdown-item.disabled,.dropdown-item:disabled{color:#636c72;background-color:transparent}.show>a{outline:0}.dropdown-menu-right{right:0;left:auto!important}.dropdown-menu-left{right:auto!important;left:0}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#636c72;white-space:nowrap}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;margin-bottom:0}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split::after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#464a4c;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:not(:last-child),.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group .form-control:not(:first-child),.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;min-height:1.5rem;padding-left:1.5rem;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0275d8}.custom-control-input:focus~.custom-control-indicator{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8;box-shadow:0 0 0 1px #fff,0 0 0 3px #0275d8}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#8fcafe}.custom-control-input:disabled~.custom-control-indicator{background-color:#eceeef}.custom-control-input:disabled~.custom-control-description{color:#636c72}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:center center;-webkit-background-size:50% 50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0275d8;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.custom-controls-stacked .custom-control{margin-bottom:.25rem}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.25;color:#464a4c;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;-webkit-background-size:8px 10px;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#5cb3fd;outline:0}.custom-select:focus::-ms-value{color:#464a4c;background-color:#fff}.custom-select:disabled{color:#636c72;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;margin-bottom:0}.custom-file-input{min-width:14rem;max-width:100%;height:2.5rem;margin:0;opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.custom-file-control:lang(en):empty::after{content:"Choose file..."}.custom-file-control::before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#464a4c;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:0 .25rem .25rem 0}.custom-file-control:lang(en)::before{content:"Browse"}.nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#636c72}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled{color:#636c72;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#464a4c;background-color:#fff;border-color:#ddd #ddd #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.show .nav-pills .nav-link{color:#fff;background-color:#0275d8}.nav-fill .nav-item{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}@media (max-width:575px){.navbar>.container,.navbar>.container-fluid{width:100%;margin-right:0;margin-left:0}}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:0 0;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}@media (max-width:575px){.navbar-expand-sm .navbar-nav .dropdown-menu{position:static;float:none}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767px){.navbar-expand-md .navbar-nav .dropdown-menu{position:static;float:none}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991px){.navbar-expand-lg .navbar-nav .dropdown-menu{position:static;float:none}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199px){.navbar-expand-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand .navbar-nav .dropdown-menu{position:static;float:none}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-inverse .navbar-brand{color:#fff}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff}.navbar-inverse .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-inverse .navbar-nav .nav-link:focus,.navbar-inverse .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-inverse .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-inverse .navbar-nav .active>.nav-link,.navbar-inverse .navbar-nav .nav-link.active,.navbar-inverse .navbar-nav .nav-link.show,.navbar-inverse .navbar-nav .show>.nav-link{color:#fff}.navbar-inverse .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-inverse .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-inverse .navbar-text{color:rgba(255,255,255,.5)}.card{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card-block{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem;word-break:break-all}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f7f7f9;border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f7f7f9;border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0275d8;border-color:#0275d8}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#5cb85c;border-color:#5cb85c}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#f0ad4e;border-color:#f0ad4e}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#d9534f;border-color:#d9534f}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary{background-color:transparent;border-color:#0275d8}.card-outline-primary .card-footer,.card-outline-primary .card-header{background-color:transparent;border-color:#0275d8}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-secondary .card-footer,.card-outline-secondary .card-header{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-info .card-footer,.card-outline-info .card-header{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#5cb85c}.card-outline-success .card-footer,.card-outline-success .card-header{background-color:transparent;border-color:#5cb85c}.card-outline-warning{background-color:transparent;border-color:#f0ad4e}.card-outline-warning .card-footer,.card-outline-warning .card-header{background-color:transparent;border-color:#f0ad4e}.card-outline-danger{background-color:transparent;border-color:#d9534f}.card-outline-danger .card-footer,.card-outline-danger .card-header{background-color:transparent;border-color:#d9534f}.card-inverse{color:rgba(255,255,255,.65)}.card-inverse .card-footer,.card-inverse .card-header{background-color:transparent;border-color:rgba(255,255,255,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:rgba(255,255,255,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}@media (min-width:576px){.card-deck{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 0;-ms-flex:1 0 0px;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-left:15px}}@media (min-width:576px){.card-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-webkit-flex:1 0 0;-ms-flex:1 0 0px;flex:1 0 0%}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child){border-radius:0}.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:.25rem}.breadcrumb::after{display:block;clear:both;content:""}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#636c72;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#636c72}.pagination{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.page-item.disabled .page-link{color:#636c72;pointer-events:none;background-color:#fff;border-color:#ddd}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#0275d8;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#014c8c;text-decoration:none;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-default{background-color:#636c72}.badge-default[href]:focus,.badge-default[href]:hover{background-color:#4b5257}.badge-primary{background-color:#0275d8}.badge-primary[href]:focus,.badge-primary[href]:hover{background-color:#025aa5}.badge-success{background-color:#5cb85c}.badge-success[href]:focus,.badge-success[href]:hover{background-color:#449d44}.badge-info{background-color:#5bc0de}.badge-info[href]:focus,.badge-info[href]:hover{background-color:#31b0d5}.badge-warning{background-color:#f0ad4e}.badge-warning[href]:focus,.badge-warning[href]:hover{background-color:#ec971f}.badge-danger{background-color:#d9534f}.badge-danger[href]:focus,.badge-danger[href]:hover{background-color:#c9302c}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible .close{position:relative;top:-.75rem;right:-1.25rem;padding:.75rem 1.25rem;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d0e9c6}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faf2cc}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebcccc}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;font-size:.75rem;line-height:1rem;text-align:center;background-color:#eceeef;border-radius:.25rem}.progress-bar{height:1rem;line-height:1rem;color:#fff;background-color:#0275d8;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:1rem 1rem;background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;-o-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1 1 0%}.list-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#464a4c;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#464a4c;text-decoration:none;background-color:#f7f7f9}.list-group-item-action:active{color:#292b2c;background-color:#eceeef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#636c72;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0275d8;border-color:#0275d8}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active{color:#fff;background-color:#a94442;border-color:#a94442}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out;-webkit-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.show .modal-dialog{-webkit-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:15px;border-bottom:1px solid #eceeef}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding:15px}.modal-footer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:15px;border-top:1px solid #eceeef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip.bs-tooltip-top{padding:5px 0}.tooltip.bs-tooltip-top .arrow::before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tooltip-right{padding:0 5px}.tooltip.bs-tooltip-right .arrow::before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tooltip-bottom{padding:5px 0}.tooltip.bs-tooltip-bottom .arrow::before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tooltip-left{padding:0 5px}.tooltip.bs-tooltip-left .arrow::before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip .arrow::before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow::before{content:"";border-width:11px}.popover .arrow::after{content:"";border-width:10px}.popover.bs-popover-top{margin-bottom:10px}.popover.bs-popover-top .arrow::after,.popover.bs-popover-top .arrow::before{left:50%;border-bottom-width:0}.popover.bs-popover-top .arrow::before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-popover-top .arrow::after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-popover-right{margin-left:10px}.popover.bs-popover-right .arrow::after,.popover.bs-popover-right .arrow::before{top:50%;border-left-width:0}.popover.bs-popover-right .arrow::before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-popover-right .arrow::after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-popover-bottom{margin-top:10px}.popover.bs-popover-bottom .arrow::after,.popover.bs-popover-bottom .arrow::before{left:50%;border-top-width:0}.popover.bs-popover-bottom .arrow::before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-popover-bottom .arrow::after{top:-10px;margin-left:-10px;border-bottom-color:#fff}.popover.bs-popover-bottom .popover-title::before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-popover-left{margin-right:10px}.popover.bs-popover-left .arrow::after,.popover.bs-popover-left .arrow::before{top:50%;border-right-width:0}.popover.bs-popover-left .arrow::before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-popover-left .arrow::after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-title:empty{display:none}.popover-content{padding:9px 14px;color:#292b2c}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;-webkit-transition:-webkit-transform .6s ease;transition:-webkit-transform .6s ease;-o-transition:-o-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease,-o-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;-webkit-background-size:100% 100%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;max-width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-faded{background-color:#f7f7f7}.bg-primary{background-color:#0275d8!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#025aa5!important}.bg-success{background-color:#5cb85c!important}a.bg-success:focus,a.bg-success:hover{background-color:#449d44!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:#f0ad4e!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ec971f!important}.bg-danger{background-color:#d9534f!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#c9302c!important}.bg-inverse{background-color:#292b2c!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#101112!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:.25rem}.rounded-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-right{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important}}.d-print-block{display:none!important}@media print{.d-print-block{display:block!important}}.d-print-inline{display:none!important}@media print{.d-print-inline{display:inline!important}}.d-print-inline-block{display:none!important}@media print{.d-print-inline-block{display:inline-block!important}}@media print{.d-print-none{display:none!important}}.order-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.order-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-sm-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.order-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-md-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.order-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-lg-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.order-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.flex-xl-row{-webkit-box-orient:horizontal!important;-webkit-box-direction:normal!important;-webkit-flex-direction:row!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:row-reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-webkit-flex-direction:column-reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-webkit-justify-content:flex-start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-webkit-justify-content:flex-end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-webkit-justify-content:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-webkit-box-align:start!important;-webkit-align-items:flex-start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-webkit-align-items:flex-end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-webkit-align-items:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-webkit-align-items:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-webkit-align-items:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;-webkit-clip-path:none;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:1rem!important}.mt-3{margin-top:1rem!important}.mr-3{margin-right:1rem!important}.mb-3{margin-bottom:1rem!important}.ml-3{margin-left:1rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-4{margin:1.5rem!important}.mt-4{margin-top:1.5rem!important}.mr-4{margin-right:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.ml-4{margin-left:1.5rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-5{margin:3rem!important}.mt-5{margin-top:3rem!important}.mr-5{margin-right:3rem!important}.mb-5{margin-bottom:3rem!important}.ml-5{margin-left:3rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:1rem!important}.pt-3{padding-top:1rem!important}.pr-3{padding-right:1rem!important}.pb-3{padding-bottom:1rem!important}.pl-3{padding-left:1rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-4{padding:1.5rem!important}.pt-4{padding-top:1.5rem!important}.pr-4{padding-right:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pl-4{padding-left:1.5rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-5{padding:3rem!important}.pt-5{padding-top:3rem!important}.pr-5{padding-right:3rem!important}.pb-5{padding-bottom:3rem!important}.pl-5{padding-left:3rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1{margin-top:.25rem!important}.mr-sm-1{margin-right:.25rem!important}.mb-sm-1{margin-bottom:.25rem!important}.ml-sm-1{margin-left:.25rem!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2{margin-top:.5rem!important}.mr-sm-2{margin-right:.5rem!important}.mb-sm-2{margin-bottom:.5rem!important}.ml-sm-2{margin-left:.5rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3{margin-top:1rem!important}.mr-sm-3{margin-right:1rem!important}.mb-sm-3{margin-bottom:1rem!important}.ml-sm-3{margin-left:1rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4{margin-top:1.5rem!important}.mr-sm-4{margin-right:1.5rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.ml-sm-4{margin-left:1.5rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5{margin-top:3rem!important}.mr-sm-5{margin-right:3rem!important}.mb-sm-5{margin-bottom:3rem!important}.ml-sm-5{margin-left:3rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1{padding-top:.25rem!important}.pr-sm-1{padding-right:.25rem!important}.pb-sm-1{padding-bottom:.25rem!important}.pl-sm-1{padding-left:.25rem!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2{padding-top:.5rem!important}.pr-sm-2{padding-right:.5rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pl-sm-2{padding-left:.5rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3{padding-top:1rem!important}.pr-sm-3{padding-right:1rem!important}.pb-sm-3{padding-bottom:1rem!important}.pl-sm-3{padding-left:1rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4{padding-top:1.5rem!important}.pr-sm-4{padding-right:1.5rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pl-sm-4{padding-left:1.5rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5{padding-top:3rem!important}.pr-sm-5{padding-right:3rem!important}.pb-sm-5{padding-bottom:3rem!important}.pl-sm-5{padding-left:3rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto{margin-top:auto!important}.mr-sm-auto{margin-right:auto!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-auto{margin-left:auto!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:.25rem!important}.mt-md-1{margin-top:.25rem!important}.mr-md-1{margin-right:.25rem!important}.mb-md-1{margin-bottom:.25rem!important}.ml-md-1{margin-left:.25rem!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2{margin-top:.5rem!important}.mr-md-2{margin-right:.5rem!important}.mb-md-2{margin-bottom:.5rem!important}.ml-md-2{margin-left:.5rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3{margin-top:1rem!important}.mr-md-3{margin-right:1rem!important}.mb-md-3{margin-bottom:1rem!important}.ml-md-3{margin-left:1rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4{margin-top:1.5rem!important}.mr-md-4{margin-right:1.5rem!important}.mb-md-4{margin-bottom:1.5rem!important}.ml-md-4{margin-left:1.5rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5{margin-top:3rem!important}.mr-md-5{margin-right:3rem!important}.mb-md-5{margin-bottom:3rem!important}.ml-md-5{margin-left:3rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-md-0{padding:0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0{padding-left:0!important}.px-md-0{padding-right:0!important;padding-left:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:.25rem!important}.pt-md-1{padding-top:.25rem!important}.pr-md-1{padding-right:.25rem!important}.pb-md-1{padding-bottom:.25rem!important}.pl-md-1{padding-left:.25rem!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2{padding-top:.5rem!important}.pr-md-2{padding-right:.5rem!important}.pb-md-2{padding-bottom:.5rem!important}.pl-md-2{padding-left:.5rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3{padding-top:1rem!important}.pr-md-3{padding-right:1rem!important}.pb-md-3{padding-bottom:1rem!important}.pl-md-3{padding-left:1rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4{padding-top:1.5rem!important}.pr-md-4{padding-right:1.5rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pl-md-4{padding-left:1.5rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5{padding-top:3rem!important}.pr-md-5{padding-right:3rem!important}.pb-md-5{padding-bottom:3rem!important}.pl-md-5{padding-left:3rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto{margin-top:auto!important}.mr-md-auto{margin-right:auto!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-auto{margin-left:auto!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1{margin-top:.25rem!important}.mr-lg-1{margin-right:.25rem!important}.mb-lg-1{margin-bottom:.25rem!important}.ml-lg-1{margin-left:.25rem!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2{margin-top:.5rem!important}.mr-lg-2{margin-right:.5rem!important}.mb-lg-2{margin-bottom:.5rem!important}.ml-lg-2{margin-left:.5rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3{margin-top:1rem!important}.mr-lg-3{margin-right:1rem!important}.mb-lg-3{margin-bottom:1rem!important}.ml-lg-3{margin-left:1rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4{margin-top:1.5rem!important}.mr-lg-4{margin-right:1.5rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.ml-lg-4{margin-left:1.5rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5{margin-top:3rem!important}.mr-lg-5{margin-right:3rem!important}.mb-lg-5{margin-bottom:3rem!important}.ml-lg-5{margin-left:3rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1{padding-top:.25rem!important}.pr-lg-1{padding-right:.25rem!important}.pb-lg-1{padding-bottom:.25rem!important}.pl-lg-1{padding-left:.25rem!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2{padding-top:.5rem!important}.pr-lg-2{padding-right:.5rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pl-lg-2{padding-left:.5rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3{padding-top:1rem!important}.pr-lg-3{padding-right:1rem!important}.pb-lg-3{padding-bottom:1rem!important}.pl-lg-3{padding-left:1rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4{padding-top:1.5rem!important}.pr-lg-4{padding-right:1.5rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pl-lg-4{padding-left:1.5rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5{padding-top:3rem!important}.pr-lg-5{padding-right:3rem!important}.pb-lg-5{padding-bottom:3rem!important}.pl-lg-5{padding-left:3rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto{margin-top:auto!important}.mr-lg-auto{margin-right:auto!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-auto{margin-left:auto!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1{margin-top:.25rem!important}.mr-xl-1{margin-right:.25rem!important}.mb-xl-1{margin-bottom:.25rem!important}.ml-xl-1{margin-left:.25rem!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2{margin-top:.5rem!important}.mr-xl-2{margin-right:.5rem!important}.mb-xl-2{margin-bottom:.5rem!important}.ml-xl-2{margin-left:.5rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3{margin-top:1rem!important}.mr-xl-3{margin-right:1rem!important}.mb-xl-3{margin-bottom:1rem!important}.ml-xl-3{margin-left:1rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4{margin-top:1.5rem!important}.mr-xl-4{margin-right:1.5rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.ml-xl-4{margin-left:1.5rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5{margin-top:3rem!important}.mr-xl-5{margin-right:3rem!important}.mb-xl-5{margin-bottom:3rem!important}.ml-xl-5{margin-left:3rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1{padding-top:.25rem!important}.pr-xl-1{padding-right:.25rem!important}.pb-xl-1{padding-bottom:.25rem!important}.pl-xl-1{padding-left:.25rem!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2{padding-top:.5rem!important}.pr-xl-2{padding-right:.5rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pl-xl-2{padding-left:.5rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3{padding-top:1rem!important}.pr-xl-3{padding-right:1rem!important}.pb-xl-3{padding-bottom:1rem!important}.pl-xl-3{padding-left:1rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4{padding-top:1.5rem!important}.pr-xl-4{padding-right:1.5rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pl-xl-4{padding-left:1.5rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5{padding-top:3rem!important}.pr-xl-5{padding-right:3rem!important}.pb-xl-5{padding-bottom:3rem!important}.pl-xl-5{padding-left:3rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto{margin-top:auto!important}.mr-xl-auto{margin-right:auto!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-auto{margin-left:auto!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#636c72!important}a.text-muted:focus,a.text-muted:hover{color:#4b5257!important}.text-primary{color:#0275d8!important}a.text-primary:focus,a.text-primary:hover{color:#025aa5!important}.text-success{color:#5cb85c!important}a.text-success:focus,a.text-success:hover{color:#449d44!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:#f0ad4e!important}a.text-warning:focus,a.text-warning:hover{color:#ec971f!important}.text-danger{color:#d9534f!important}a.text-danger:focus,a.text-danger:hover{color:#c9302c!important}.text-gray-dark{color:#292b2c!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#101112!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file
diff --git a/docs/dist/css/bootstrap.min.css.map b/docs/dist/css/bootstrap.min.css.map
index 345ab958b..3659db269 100644
--- a/docs/dist/css/bootstrap.min.css.map
+++ b/docs/dist/css/bootstrap.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_normalize.scss","bootstrap.css","../../scss/_print.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_hover.scss","../../scss/mixins/_tab-focus.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_mixins.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_forms.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/mixins/_cards.scss","../../scss/_breadcrumb.scss","../../scss/mixins/_clearfix.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/mixins/_gradients.scss","../../scss/mixins/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_responsive-embed.scss","../../scss/_close.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_transforms.scss","../../scss/utilities/_align.scss","../../scss/utilities/_background.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/mixins/_float.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/mixins/_visibility.scss"],"names":[],"mappings":"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"} \ No newline at end of file
+{"version":3,"sources":["..\\..\\scss\\bootstrap.scss","..\\..\\scss\\_print.scss","dist\\css\\bootstrap.css","..\\..\\scss\\_reboot.scss","bootstrap.css","..\\..\\scss\\mixins\\_hover.scss","..\\..\\scss\\_type.scss","..\\..\\scss\\mixins\\_lists.scss","..\\..\\scss\\_images.scss","..\\..\\scss\\mixins\\_image.scss","..\\..\\scss\\mixins\\_border-radius.scss","..\\..\\scss\\mixins\\_transition.scss","..\\..\\scss\\_code.scss","..\\..\\scss\\_grid.scss","..\\..\\scss\\mixins\\_grid.scss","..\\..\\scss\\mixins\\_breakpoints.scss","..\\..\\scss\\mixins\\_grid-framework.scss","..\\..\\scss\\_tables.scss","..\\..\\scss\\mixins\\_table-row.scss","..\\..\\scss\\_forms.scss","..\\..\\scss\\mixins\\_forms.scss","..\\..\\scss\\_buttons.scss","..\\..\\scss\\mixins\\_buttons.scss","..\\..\\scss\\_transitions.scss","..\\..\\scss\\_dropdown.scss","..\\..\\scss\\mixins\\_nav-divider.scss","..\\..\\scss\\_button-group.scss","..\\..\\scss\\_input-group.scss","..\\..\\scss\\_custom-forms.scss","..\\..\\scss\\_nav.scss","..\\..\\scss\\_navbar.scss","..\\..\\scss\\_card.scss","..\\..\\scss\\mixins\\_cards.scss","..\\..\\scss\\_breadcrumb.scss","..\\..\\scss\\mixins\\_clearfix.scss","..\\..\\scss\\_pagination.scss","..\\..\\scss\\mixins\\_pagination.scss","..\\..\\scss\\_badge.scss","..\\..\\scss\\mixins\\_badge.scss","..\\..\\scss\\_jumbotron.scss","..\\..\\scss\\_alert.scss","..\\..\\scss\\mixins\\_alert.scss","..\\..\\scss\\_progress.scss","..\\..\\scss\\mixins\\_gradients.scss","..\\..\\scss\\_media.scss","..\\..\\scss\\_list-group.scss","..\\..\\scss\\mixins\\_list-group.scss","..\\..\\scss\\_responsive-embed.scss","..\\..\\scss\\_close.scss","..\\..\\scss\\_modal.scss","..\\..\\scss\\_tooltip.scss","..\\..\\scss\\mixins\\_reset-text.scss","..\\..\\scss\\_popover.scss","..\\..\\scss\\_carousel.scss","..\\..\\scss\\utilities\\_align.scss","..\\..\\scss\\utilities\\_background.scss","..\\..\\scss\\mixins\\_background-variant.scss","..\\..\\scss\\utilities\\_borders.scss","..\\..\\scss\\utilities\\_display.scss","..\\..\\scss\\utilities\\_flex.scss","..\\..\\scss\\utilities\\_float.scss","..\\..\\scss\\mixins\\_float.scss","..\\..\\scss\\utilities\\_position.scss","..\\..\\scss\\utilities\\_screenreaders.scss","..\\..\\scss\\mixins\\_screen-reader.scss","..\\..\\scss\\utilities\\_sizing.scss","..\\..\\scss\\utilities\\_spacing.scss","..\\..\\scss\\utilities\\_text.scss","..\\..\\scss\\mixins\\_text-truncate.scss","..\\..\\scss\\mixins\\_text-emphasis.scss","..\\..\\scss\\mixins\\_text-hide.scss","..\\..\\scss\\utilities\\_visibility.scss","..\\..\\scss\\mixins\\_visibility.scss"],"names":[],"mappings":"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AAA,WEhCQ,QFgCR,MAAA,WEhCQ,QFgCR,MAAA,IEhCQ,QFgCR,MAAA,WEhCQ,QFgCR,MAAA,WEhCQ,QFgCR,MAAA,IEhCQ,SFgCR,MAAA,WEhCQ,SFgCR,MAAA,WEhCQ,SFgCR,MAAA,KEhCQ,QF4BR,KAAA,KE5BQ,QF4BR,KAAA,UE5BQ,QF4BR,KAAA,WE5BQ,QF4BR,KAAA,IE5BQ,QF4BR,KAAA,WE5BQ,QF4BR,KAAA,WE5BQ,QF4BR,KAAA,IE5BQ,QF4BR,KAAA,WE5BQ,QF4BR,KAAA,WE5BQ,QF4BR,KAAA,IE5BQ,SF4BR,KAAA,WE5BQ,SF4BR,KAAA,WE5BQ,SF4BR,KAAA,KEnBQ,UFeR,YAAA,UEfQ,UFeR,YAAA,WEfQ,UFeR,YAAA,IEfQ,UFeR,YAAA,WEfQ,UFeR,YAAA,WEfQ,UFeR,YAAA,IEfQ,UFeR,YAAA,WEfQ,UFeR,YAAA,WEfQ,UFeR,YAAA,IEfQ,WFeR,YAAA,WEfQ,WFeR,YAAA,WCjBE,yBCzBE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF2BN,MAAA,UE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,KEpBQ,WFgCR,MAAA,KEhCQ,WFgCR,MAAA,UEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,KEhCQ,WF4BR,KAAA,KE5BQ,WF4BR,KAAA,UE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,KEnBQ,aFeR,YAAA,EEfQ,aFeR,YAAA,UEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,cFeR,YAAA,WEfQ,cFeR,YAAA,YCjBE,yBCzBE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF2BN,MAAA,UE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,KEpBQ,WFgCR,MAAA,KEhCQ,WFgCR,MAAA,UEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,KEhCQ,WF4BR,KAAA,KE5BQ,WF4BR,KAAA,UE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,KEnBQ,aFeR,YAAA,EEfQ,aFeR,YAAA,UEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,cFeR,YAAA,WEfQ,cFeR,YAAA,YCjBE,yBCzBE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF2BN,MAAA,UE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,KEpBQ,WFgCR,MAAA,KEhCQ,WFgCR,MAAA,UEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,KEhCQ,WF4BR,KAAA,KE5BQ,WF4BR,KAAA,UE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,KEnBQ,aFeR,YAAA,EEfQ,aFeR,YAAA,UEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,cFeR,YAAA,WEfQ,cFeR,YAAA,YCjBE,0BCzBE,QACE,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,UAAA,KAEF,aACE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,MAAA,KAIA,UF2BN,MAAA,UE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,WE3BM,UF2BN,MAAA,IE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,WE3BM,WF2BN,MAAA,KEpBQ,WFgCR,MAAA,KEhCQ,WFgCR,MAAA,UEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,WEhCQ,WFgCR,MAAA,IEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,WEhCQ,YFgCR,MAAA,KEhCQ,WF4BR,KAAA,KE5BQ,WF4BR,KAAA,UE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,WE5BQ,WF4BR,KAAA,IE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,WE5BQ,YF4BR,KAAA,KEnBQ,aFeR,YAAA,EEfQ,aFeR,YAAA,UEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,WEfQ,aFeR,YAAA,IEfQ,cFeR,YAAA,WEfQ,cFeR,YAAA,YGrEF,OACE,MAAA,KACA,UAAA,KACA,cAAA,KACA,iBAAA,YfwsDF,Ue5sDA,UAQI,QAAA,OACA,eAAA,IACA,WAAA,IAAA,MAAA,QAVJ,gBAcI,eAAA,OACA,cAAA,IAAA,MAAA,QAfJ,mBAmBI,WAAA,IAAA,MAAA,QAnBJ,cAuBI,iBAAA,KfysDJ,aehsDA,aAGI,QAAA,MASJ,gBACE,OAAA,IAAA,MAAA,Qf4rDF,mBe7rDA,mBAKI,OAAA,IAAA,MAAA,Qf6rDJ,yBelsDA,yBAWM,oBAAA,IAUN,yCAEI,iBAAA,gBASJ,4BAGM,iBAAA,iBC9EJ,chB2vDF,iBADA,iBgBtvDM,iBAAA,iBAMJ,iCAKM,iBAAA,iBALN,oChB0vDF,oCgBjvDU,iBAAA,iBAnBR,ehB0wDF,kBADA,kBgBrwDM,iBAAA,QAMJ,kCAKM,iBAAA,QALN,qChBywDF,qCgBhwDU,iBAAA,QAnBR,YhByxDF,eADA,egBpxDM,iBAAA,QAMJ,+BAKM,iBAAA,QALN,kChBwxDF,kCgB/wDU,iBAAA,QAnBR,ehBwyDF,kBADA,kBgBnyDM,iBAAA,QAMJ,kCAKM,iBAAA,QALN,qChBuyDF,qCgB9xDU,iBAAA,QAnBR,chBuzDF,iBADA,iBgBlzDM,iBAAA,QAMJ,iCAKM,iBAAA,QALN,oChBszDF,oCgB7yDU,iBAAA,QDkFV,kBAEI,MAAA,KACA,iBAAA,QAIJ,kBAEI,MAAA,QACA,iBAAA,QAIJ,eACE,MAAA,KACA,iBAAA,Qf+tDF,kBejuDA,kBfkuDA,wBe3tDI,aAAA,QAPJ,8BAWI,OAAA,EAXJ,uDAgBM,iBAAA,sBAhBN,0CAuBQ,iBAAA,uBF1EJ,yBEuFJ,kBAEI,QAAA,MACA,MAAA,KACA,WAAA,KACA,mBAAA,yBALJ,iCASM,OAAA,GE/JN,cACE,QAAA,MACA,MAAA,KAGA,QAAA,MAAA,KACA,UAAA,KACA,YAAA,KACA,MAAA,QACA,iBAAA,KAEA,iBAAA,KACA,wBAAA,YAAA,gBAAA,YACA,OAAA,IAAA,MAAA,gBAKE,cAAA,ORnBE,mBAAA,aAAA,YAAA,IAAA,CAAA,mBAAA,YAAA,KAAA,WAAA,aAAA,YAAA,IAAA,CAAA,mBAAA,YAAA,KAAA,cAAA,aAAA,YAAA,IAAA,CAAA,WAAA,YAAA,KAAA,WAAA,aAAA,YAAA,IAAA,CAAA,WAAA,YAAA,KAAA,WAAA,aAAA,YAAA,IAAA,CAAA,WAAA,YAAA,IAAA,CAAA,mBAAA,YAAA,KQCN,0BA6BI,iBAAA,YACA,OAAA,ECWF,oBACE,MAAA,QACA,iBAAA,KACA,aAAA,QACA,QAAA,ED7CJ,yCAsCI,MAAA,QAEA,QAAA,EAxCJ,gCAsCI,MAAA,QAEA,QAAA,EAxCJ,oCAsCI,MAAA,QAEA,QAAA,EAxCJ,2BAsCI,MAAA,QAEA,QAAA,EAxCJ,uBAAA,wBAkDI,iBAAA,QAEA,QAAA,EAIJ,gDAGI,OAAA,oBAHJ,qCAYI,MAAA,QACA,iBAAA,KAKJ,mBjBy2DA,oBiBv2DE,QAAA,MAUF,gBACE,YAAA,sBACA,eAAA,sBACA,cAAA,EAGF,mBACE,YAAA,sBACA,eAAA,sBACA,UAAA,QAGF,mBACE,YAAA,uBACA,eAAA,uBACA,UAAA,QAUF,iBACE,YAAA,MACA,eAAA,MACA,cAAA,EACA,UAAA,KASF,qBACE,YAAA,MACA,eAAA,MACA,cAAA,EACA,YAAA,KACA,OAAA,MAAA,YACA,aAAA,IAAA,EjBy1D6D,qCiB/1D/D,qCjB+1DqG,kDACrG,uDACA,0DiBj2DA,kDjB81DA,uDACA,0DiBr1DI,cAAA,EACA,aAAA,EAaJ,iBAAA,8BjB+0DA,mCACA,sCiB/0DE,QAAA,OAAA,MACA,UAAA,QACA,YAAA,ITzJE,cAAA,MR++DJ,wEiBl1DA,gEjBi1DA,qEiBj1DA,mDAGI,OAAA,sBAIJ,iBAAA,8BjBg1DA,mCACA,sCiBh1DE,QAAA,MAAA,KACA,UAAA,QACA,YAAA,ITvKE,cAAA,MR8/DJ,wEiBn1DA,gEjBk1DA,qEiBl1DA,mDAGI,OAAA,qBAUJ,YACE,cAAA,KAGF,WACE,QAAA,MACA,WAAA,OAQF,YACE,SAAA,SACA,QAAA,MACA,cAAA,MAHF,uCAOM,MAAA,QAKN,kBACE,aAAA,QACA,cAAA,EAGF,kBACE,SAAA,SACA,WAAA,OACA,YAAA,SAHF,6BAMI,SAAA,OAKJ,mBACE,QAAA,aADF,qCAII,eAAA,OAJJ,sCAQI,YAAA,OASJ,uBACE,WAAA,OjBk0DF,qBiB/zDA,sBjB8zDA,sBiB3zDE,cAAA,KACA,kBAAA,UACA,oBAAA,OAAA,MAAA,SACA,wBAAA,SAAA,SAAA,gBAAA,SAAA,SjBm0DF,6BAEA,6BADA,+BkB9jEE,oClB4jEF,iCkBvjEI,MAAA,QlBgkEJ,kCADA,4BkB3jEE,2BAGE,aAAA,QAQF,gCACE,MAAA,QACA,iBAAA,QACA,aAAA,QDuOJ,mCAII,iBAAA,wPjBm1DJ,6BAEA,6BADA,+BkBtlEE,oClBolEF,iCkB/kEI,MAAA,QlBwlEJ,kCADA,4BkBnlEE,2BAGE,aAAA,QAQF,gCACE,MAAA,QACA,iBAAA,KACA,aAAA,QD+OJ,mCAII,iBAAA,iUjBm2DJ,4BAEA,4BADA,8BkB9mEE,mClB4mEF,gCkBvmEI,MAAA,QlBgnEJ,iCADA,2BkB3mEE,0BAGE,aAAA,QAQF,+BACE,MAAA,QACA,iBAAA,QACA,aAAA,QDuPJ,iCAII,iBAAA,kSAcJ,aACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,mBAAA,WAAA,sBAAA,OAAA,kBAAA,IAAA,KAAA,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OAHF,yBASI,MAAA,KJxPA,yBI+OJ,mBAeM,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OACA,iBAAA,OAAA,wBAAA,OAAA,cAAA,OAAA,gBAAA,OACA,cAAA,EAlBN,yBAuBM,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,mBAAA,WAAA,sBAAA,OAAA,kBAAA,IAAA,KAAA,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OACA,cAAA,EA3BN,2BAgCM,QAAA,aACA,MAAA,KACA,eAAA,OAlCN,kCAuCM,QAAA,aAvCN,0BA2CM,MAAA,KA3CN,iCA+CM,cAAA,EACA,eAAA,OAhDN,yBAsDM,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OACA,iBAAA,OAAA,wBAAA,OAAA,cAAA,OAAA,gBAAA,OACA,MAAA,KACA,WAAA,EACA,cAAA,EA3DN,+BA8DM,aAAA,EA9DN,+BAiEM,SAAA,SACA,WAAA,EACA,aAAA,OACA,YAAA,EApEN,6BAyEM,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OACA,iBAAA,OAAA,wBAAA,OAAA,cAAA,OAAA,gBAAA,OACA,aAAA,EA5EN,uCA+EM,SAAA,OACA,QAAA,aACA,aAAA,OACA,eAAA,YAlFN,kDAuFM,IAAA,GExXN,KACE,QAAA,aACA,YAAA,IACA,WAAA,OACA,YAAA,OACA,eAAA,OACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KACA,OAAA,IAAA,MAAA,YCqEA,QAAA,MAAA,KACA,UAAA,KACA,YAAA,KZhFE,cAAA,OCCE,mBAAA,IAAA,IAAA,YAAA,cAAA,IAAA,IAAA,YAAA,WAAA,IAAA,IAAA,YNiBF,WAAA,WgBHA,gBAAA,KAbJ,WAAA,WAiBI,QAAA,EACA,mBAAA,EAAA,EAAA,EAAA,IAAA,oBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,oBAlBJ,cAAA,cAwBI,QAAA,IAxBJ,YAAA,YA8BI,iBAAA,KAMJ,enBkwEA,yBmBhwEE,eAAA,KAQF,aC3CE,MAAA,KACA,iBAAA,QACA,aAAA,QjBAE,mBiBKA,MAAA,KACA,iBAAA,QACA,aAAA,QAEF,mBAAA,mBAMI,mBAAA,EAAA,EAAA,EAAA,IAAA,mBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,mBAKJ,sBAAA,sBAEE,iBAAA,QACA,aAAA,QAGF,oBAAA,oBpBkyEF,mCoB/xEI,MAAA,KACA,iBAAA,QACA,iBAAA,KACA,aAAA,QDYJ,eC9CE,MAAA,QACA,iBAAA,KACA,aAAA,KjBAE,qBiBKA,MAAA,QACA,iBAAA,QACA,aAAA,QAEF,qBAAA,qBAMI,mBAAA,EAAA,EAAA,EAAA,IAAA,qBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,qBAKJ,wBAAA,wBAEE,iBAAA,KACA,aAAA,KAGF,sBAAA,sBpBg0EF,qCoB7zEI,MAAA,QACA,iBAAA,QACA,iBAAA,KACA,aAAA,QDeJ,UCjDE,MAAA,KACA,iBAAA,QACA,aAAA,QjBAE,gBiBKA,MAAA,KACA,iBAAA,QACA,aAAA,QAEF,gBAAA,gBAMI,mBAAA,EAAA,EAAA,EAAA,IAAA,oBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,oBAKJ,mBAAA,mBAEE,iBAAA,QACA,aAAA,QAGF,iBAAA,iBpB81EF,gCoB31EI,MAAA,KACA,iBAAA,QACA,iBAAA,KACA,aAAA,QDkBJ,aCpDE,MAAA,KACA,iBAAA,QACA,aAAA,QjBAE,mBiBKA,MAAA,KACA,iBAAA,QACA,aAAA,QAEF,mBAAA,mBAMI,mBAAA,EAAA,EAAA,EAAA,IAAA,mBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,mBAKJ,sBAAA,sBAEE,iBAAA,QACA,aAAA,QAGF,oBAAA,oBpB43EF,mCoBz3EI,MAAA,KACA,iBAAA,QACA,iBAAA,KACA,aAAA,QDqBJ,aCvDE,MAAA,KACA,iBAAA,QACA,aAAA,QjBAE,mBiBKA,MAAA,KACA,iBAAA,QACA,aAAA,QAEF,mBAAA,mBAMI,mBAAA,EAAA,EAAA,EAAA,IAAA,oBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,oBAKJ,sBAAA,sBAEE,iBAAA,QACA,aAAA,QAGF,oBAAA,oBpB05EF,mCoBv5EI,MAAA,KACA,iBAAA,QACA,iBAAA,KACA,aAAA,QDwBJ,YC1DE,MAAA,KACA,iBAAA,QACA,aAAA,QjBAE,kBiBKA,MAAA,KACA,iBAAA,QACA,aAAA,QAEF,kBAAA,kBAMI,mBAAA,EAAA,EAAA,EAAA,IAAA,mBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,mBAKJ,qBAAA,qBAEE,iBAAA,QACA,aAAA,QAGF,mBAAA,mBpBw7EF,kCoBr7EI,MAAA,KACA,iBAAA,QACA,iBAAA,KACA,aAAA,QD6BJ,qBCvBE,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QjBzCE,2BiB4CA,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,mBAAA,EAAA,EAAA,EAAA,IAAA,mBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,mBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,4BAAA,4BpBq7EF,2CoBl7EI,MAAA,KACA,iBAAA,QACA,aAAA,QDDJ,uBC1BE,MAAA,KACA,iBAAA,YACA,iBAAA,KACA,aAAA,KjBzCE,6BiB4CA,MAAA,QACA,iBAAA,KACA,aAAA,KAGF,6BAAA,6BAEE,mBAAA,EAAA,EAAA,EAAA,IAAA,qBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,qBAGF,gCAAA,gCAEE,MAAA,KACA,iBAAA,YAGF,8BAAA,8BpBm9EF,6CoBh9EI,MAAA,QACA,iBAAA,KACA,aAAA,KDEJ,kBC7BE,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QjBzCE,wBiB4CA,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,wBAAA,wBAEE,mBAAA,EAAA,EAAA,EAAA,IAAA,oBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,oBAGF,2BAAA,2BAEE,MAAA,QACA,iBAAA,YAGF,yBAAA,yBpBi/EF,wCoB9+EI,MAAA,KACA,iBAAA,QACA,aAAA,QDKJ,qBChCE,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QjBzCE,2BiB4CA,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,mBAAA,EAAA,EAAA,EAAA,IAAA,mBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,mBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,4BAAA,4BpB+gFF,2CoB5gFI,MAAA,KACA,iBAAA,QACA,aAAA,QDQJ,qBCnCE,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QjBzCE,2BiB4CA,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,2BAAA,2BAEE,mBAAA,EAAA,EAAA,EAAA,IAAA,oBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,oBAGF,8BAAA,8BAEE,MAAA,QACA,iBAAA,YAGF,4BAAA,4BpB6iFF,2CoB1iFI,MAAA,KACA,iBAAA,QACA,aAAA,QDWJ,oBCtCE,MAAA,QACA,iBAAA,YACA,iBAAA,KACA,aAAA,QjBzCE,0BiB4CA,MAAA,KACA,iBAAA,QACA,aAAA,QAGF,0BAAA,0BAEE,mBAAA,EAAA,EAAA,EAAA,IAAA,mBAAA,WAAA,EAAA,EAAA,EAAA,IAAA,mBAGF,6BAAA,6BAEE,MAAA,QACA,iBAAA,YAGF,2BAAA,2BpB2kFF,0CoBxkFI,MAAA,KACA,iBAAA,QACA,aAAA,QDqBJ,UACE,YAAA,IACA,MAAA,QACA,cAAA,EAHF,UAAA,iBAAA,iBAAA,mBASI,iBAAA,YATJ,UAAA,iBAAA,gBAeI,aAAA,YhBrGA,gBgBwGA,aAAA,YhB7FA,gBAAA,gBgBgGA,MAAA,QACA,gBAAA,UACA,iBAAA,YAvBJ,mBA0BI,MAAA,QhBrGA,yBAAA,yBgBwGE,gBAAA,KAUN,mBAAA,QCtDE,QAAA,MAAA,KACA,UAAA,QACA,YAAA,IZhFE,cAAA,MWwIJ,mBAAA,QC1DE,QAAA,OAAA,MACA,UAAA,QACA,YAAA,IZhFE,cAAA,MWiJJ,WACE,QAAA,MACA,MAAA,KAIF,sBACE,WAAA,MnBqjFF,6BADA,4BmBhjFA,6BAII,MAAA,KEpKJ,MACE,QAAA,EZII,mBAAA,QAAA,KAAA,OAAA,cAAA,QAAA,KAAA,OAAA,WAAA,QAAA,KAAA,OYLN,WAKI,QAAA,EAIJ,UACE,QAAA,KADF,eAGI,QAAA,MAIJ,iBAEI,QAAA,UAIJ,oBAEI,QAAA,gBAIJ,YACE,SAAA,SACA,OAAA,EACA,SAAA,OZ1BI,mBAAA,OAAA,KAAA,KAAA,cAAA,OAAA,KAAA,KAAA,WAAA,OAAA,KAAA,KTqvFN,UsBzvFA,QAEE,SAAA,SAGF,wBAGI,QAAA,aACA,MAAA,EACA,OAAA,EACA,YAAA,KACA,eAAA,OACA,QAAA,GACA,WAAA,KAAA,MACA,aAAA,KAAA,MAAA,YACA,YAAA,KAAA,MAAA,YAXJ,8BAeI,YAAA,EAMJ,gCAGM,WAAA,EACA,cAAA,KAAA,MAMN,eACE,SAAA,SACA,IAAA,KACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,MAAA,KACA,UAAA,MACA,QAAA,MAAA,EACA,OAAA,QAAA,EAAA,EACA,UAAA,KACA,MAAA,QACA,WAAA,KACA,WAAA,KACA,iBAAA,KACA,wBAAA,YAAA,gBAAA,YACA,OAAA,IAAA,MAAA,gBdjDE,cAAA,OcuDJ,kBCtDE,OAAA,EACA,OAAA,MAAA,EACA,SAAA,OACA,WAAA,IAAA,MAAA,QD0DF,eACE,QAAA,MACA,MAAA,KACA,QAAA,OAAA,OACA,MAAA,KACA,YAAA,IACA,MAAA,QACA,WAAA,QACA,YAAA,OACA,WAAA,IACA,OAAA,EnBtDE,qBAAA,qBmByDA,MAAA,QACA,gBAAA,KACA,iBAAA,QAfJ,sBAAA,sBAoBI,MAAA,KACA,gBAAA,KACA,iBAAA,QAtBJ,wBAAA,wBA2BI,MAAA,QACA,iBAAA,YASJ,QAGI,QAAA,EAQJ,qBACE,MAAA,EACA,KAAA,eAGF,oBACE,MAAA,eACA,KAAA,EAGF,oBACE,QAAA,MAIF,iBACE,QAAA,MACA,QAAA,MAAA,OACA,cAAA,EACA,UAAA,QACA,MAAA,QACA,YAAA,OEpIF,WxBs2FA,oBwBp2FE,SAAA,SACA,QAAA,mBAAA,QAAA,oBAAA,QAAA,mBAAA,QAAA,YACA,eAAA,OxB42FF,yBwBh3FA,gBAOI,SAAA,SACA,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,cAAA,ExBi3FJ,+BwB13FA,sBAcM,QAAA,ExBm3FN,gCADA,gCADA,+BwB/3FA,uBAAA,uBAAA,sBAmBM,QAAA,EAnBN,qBxBs4FA,2BACA,2BACA,iCACA,8BACA,oCACA,oCACA,0CwBh3FI,YAAA,KAKJ,aACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,KAAA,cAAA,KAAA,UAAA,KACA,iBAAA,MAAA,wBAAA,WAAA,cAAA,MAAA,gBAAA,WAHF,0BAMI,MAAA,KAIJ,yEACE,cAAA,EAIF,4BACE,YAAA,EADF,mEhBlCI,wBAAA,EACA,2BAAA,EgByCJ,6CxBw3FA,8CQp5FI,uBAAA,EACA,0BAAA,EgBiCJ,sBACE,MAAA,KAEF,8DACE,cAAA,EAEF,mExB03FA,oEQh7FI,wBAAA,EACA,2BAAA,EgB2DJ,oEhB9CI,uBAAA,EACA,0BAAA,EgB8DJ,4BACE,cAAA,OACA,aAAA,OAFF,mCAKI,YAAA,EAIJ,0CAAA,+BACE,cAAA,QACA,aAAA,QAGF,0CAAA,+BACE,cAAA,OACA,aAAA,OAoBF,oBACE,QAAA,mBAAA,QAAA,oBAAA,QAAA,mBAAA,QAAA,YACA,mBAAA,SAAA,sBAAA,OAAA,uBAAA,OAAA,mBAAA,OAAA,eAAA,OACA,kBAAA,MAAA,oBAAA,WAAA,eAAA,MAAA,YAAA,WACA,iBAAA,OAAA,wBAAA,OAAA,cAAA,OAAA,gBAAA,OAJF,yBxBi3FA,+BwBz2FI,MAAA,KARJ,8BxBs3FA,oCACA,oCACA,0CwBz2FI,WAAA,KACA,YAAA,EAIJ,4DAEI,cAAA,EAFJ,sDhB9HI,2BAAA,EACA,0BAAA,EgB6HJ,sDhB5II,uBAAA,EACA,wBAAA,EgBsJJ,uEACE,cAAA,EAEF,4ExB82FA,6EQ1/FI,2BAAA,EACA,0BAAA,EgBiJJ,6EhBhKI,uBAAA,EACA,wBAAA,ERkhGJ,gDE/KA,6CFiLA,2DADA,wDwB91FM,SAAA,SACA,KAAA,cACA,eAAA,KC9LN,aACE,SAAA,SACA,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,MAAA,KAHF,2BAQI,SAAA,SACA,QAAA,EACA,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KAGA,MAAA,GACA,cAAA,EAdJ,kCAAA,iCAAA,iCAkBM,QAAA,EzByiGN,2ByBpiGA,mBzBmiGA,iByB/hGE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OzB4iGF,8DyBjjGA,sDzBgjGA,oDQvkGI,cAAA,EiBmCJ,mBzB0iGA,iByBxiGE,YAAA,OACA,eAAA,OAyBF,mBACE,QAAA,MAAA,KACA,cAAA,EACA,UAAA,KACA,YAAA,IACA,YAAA,KACA,MAAA,QACA,WAAA,OACA,iBAAA,QACA,OAAA,IAAA,MAAA,gBjBxEE,cAAA,OiB+DJ,mCzBiiGA,mCACA,wDyBphGI,QAAA,OAAA,MACA,UAAA,QjB9EA,cAAA,MiB+DJ,mCzByiGA,mCACA,wDyBthGI,QAAA,MAAA,KACA,UAAA,QjBpFA,cAAA,MRgnGJ,wCyBjjGA,qCA6BI,WAAA,EAUJ,4CzB+gGA,oCAKA,oEADA,+EAHA,uCACA,kDACA,mDQ3mGI,wBAAA,EACA,2BAAA,EiBiGJ,oCACE,aAAA,EAEF,6CzBkhGA,qCACA,wCACA,mDACA,oDAEA,oEADA,yDQ7mGI,uBAAA,EACA,0BAAA,EiB+FJ,mDACE,YAAA,EAOF,iBACE,SAAA,SAGA,UAAA,EACA,YAAA,OALF,sBAUI,SAAA,SAVJ,2BAaM,YAAA,KAbN,6BAAA,4BAAA,4BAkBM,QAAA,EAlBN,uCzBkiGA,6CyBxgGM,aAAA,KA1BN,wCzBuiGA,8CyBvgGM,QAAA,EACA,YAAA,KzB6gGN,qDADA,oDAEA,oDyB/iGA,+CAAA,8CAAA,8CAoCQ,QAAA,EChKR,gBACE,SAAA,SACA,QAAA,mBAAA,QAAA,oBAAA,QAAA,mBAAA,QAAA,YACA,WAAA,OACA,aAAA,OACA,aAAA,KAGF,sBACE,SAAA,SACA,QAAA,GACA,QAAA,EAHF,wDAMI,MAAA,KACA,iBAAA,QAPJ,sDAaI,mBAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,QAAA,WAAA,EAAA,EAAA,EAAA,IAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,QAbJ,uDAiBI,MAAA,KACA,iBAAA,QAlBJ,yDAwBM,iBAAA,QAxBN,2DA4BM,MAAA,QASN,0BACE,SAAA,SACA,IAAA,OACA,KAAA,EACA,QAAA,MACA,MAAA,KACA,OAAA,KACA,eAAA,KACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KACA,iBAAA,KACA,kBAAA,UACA,oBAAA,OAAA,OACA,wBAAA,IAAA,IAAA,gBAAA,IAAA,IAQF,2ClBxEI,cAAA,OkBwEJ,yEAMI,iBAAA,yMANJ,+EAUI,iBAAA,QACA,iBAAA,sJASJ,wCAEI,cAAA,IAFJ,sEAMI,iBAAA,mJAUJ,yBACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,mBAAA,SAAA,sBAAA,OAAA,uBAAA,OAAA,mBAAA,OAAA,eAAA,OAFF,yCAKI,cAAA,OALJ,yDAQM,YAAA,EAYN,eACE,QAAA,aACA,UAAA,KAEA,OAAA,oBACA,QAAA,QAAA,QAAA,QAAA,OACA,YAAA,KACA,MAAA,QACA,eAAA,OACA,WAAA,KAAA,oKAAA,UAAA,MAAA,OAAA,OACA,wBAAA,IAAA,KAAA,gBAAA,IAAA,KACA,OAAA,IAAA,MAAA,gBlB3IE,cAAA,OkB6IF,mBAAA,KAAA,gBAAA,KAAA,WAAA,KAbF,qBAgBI,aAAA,QACA,QAAA,EAjBJ,gCA0BM,MAAA,QACA,iBAAA,KA3BN,wBAgCI,MAAA,QACA,iBAAA,QAjCJ,2BAsCI,QAAA,EAIJ,kBACE,YAAA,QACA,eAAA,QACA,UAAA,IAaF,aACE,SAAA,SACA,QAAA,aACA,UAAA,KACA,OAAA,OACA,cAAA,EAGF,mBACE,UAAA,MACA,UAAA,KACA,OAAA,OACA,OAAA,EACA,QAAA,EAOF,qBACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,KAAA,EACA,QAAA,EACA,OAAA,OACA,QAAA,MAAA,KACA,YAAA,IACA,MAAA,QACA,eAAA,KACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KACA,iBAAA,KACA,OAAA,IAAA,MAAA,gBlB3NE,cAAA,OkB8MJ,2CAmBM,QAAA,iBAnBN,6BAwBI,SAAA,SACA,IAAA,KACA,MAAA,KACA,OAAA,KACA,QAAA,EACA,QAAA,MACA,OAAA,OACA,QAAA,MAAA,KACA,YAAA,IACA,MAAA,QACA,iBAAA,QACA,OAAA,IAAA,MAAA,gBlBjPA,cAAA,EAAA,OAAA,OAAA,EkB8MJ,sCAyCM,QAAA,SCtPN,KACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,KAAA,cAAA,KAAA,UAAA,KACA,aAAA,EACA,cAAA,EACA,WAAA,KAGF,UACE,QAAA,MACA,QAAA,MAAA,KxBOE,gBAAA,gBwBJA,gBAAA,KALJ,mBAUI,MAAA,QAQJ,UACE,cAAA,IAAA,MAAA,KADF,oBAII,cAAA,KAJJ,oBAQI,OAAA,IAAA,MAAA,YnB7BA,uBAAA,OACA,wBAAA,OmBoBJ,0BAAA,0BAYM,aAAA,QAAA,QAAA,KAZN,6BAgBM,MAAA,QACA,iBAAA,YACA,aAAA,Y3Bu4GN,mC2Bz5GA,2BAwBI,MAAA,QACA,iBAAA,KACA,aAAA,KAAA,KAAA,KA1BJ,yBA+BI,WAAA,KnBpDA,uBAAA,EACA,wBAAA,EmB8DJ,qBnBrEI,cAAA,OmBqEJ,4B3Bg4GA,2B2B13GM,MAAA,KACA,iBAAA,QAUN,oBAEI,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,WAAA,OAIJ,yBAEI,mBAAA,EAAA,wBAAA,EAAA,WAAA,EACA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,UAAA,EACA,WAAA,OASJ,uBAEI,QAAA,KAFJ,qBAKI,QAAA,MClGJ,QACE,SAAA,SACA,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,KAAA,cAAA,KAAA,UAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OACA,iBAAA,QAAA,wBAAA,cAAA,cAAA,QAAA,gBAAA,cACA,QAAA,MAAA,KANF,mB5B6+GA,yB4Bj+GI,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,KAAA,cAAA,KAAA,UAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OACA,iBAAA,QAAA,wBAAA,cAAA,cAAA,QAAA,gBAAA,cfqCA,yBepDJ,mB5BigHE,yB4B/+GI,MAAA,KACA,aAAA,EACA,YAAA,GAUN,cACE,QAAA,aACA,YAAA,SACA,eAAA,SACA,aAAA,KACA,UAAA,QACA,YAAA,QACA,YAAA,OzBhCE,oBAAA,oByBmCA,gBAAA,KASJ,YACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,mBAAA,SAAA,sBAAA,OAAA,uBAAA,OAAA,mBAAA,OAAA,eAAA,OACA,aAAA,EACA,cAAA,EACA,WAAA,KALF,sBAQI,cAAA,EACA,aAAA,EASJ,aACE,QAAA,aACA,YAAA,MACA,eAAA,MAYF,iBACE,mBAAA,KAAA,wBAAA,KAAA,WAAA,KAIF,gBACE,QAAA,OAAA,OACA,UAAA,QACA,YAAA,EACA,WAAA,IACA,OAAA,IAAA,MAAA,YpBzGE,cAAA,OLkBA,sBAAA,sByB2FA,gBAAA,KAMJ,qBACE,QAAA,aACA,MAAA,MACA,OAAA,MACA,eAAA,OACA,QAAA,GACA,WAAA,UAAA,OAAA,OACA,wBAAA,KAAA,KAAA,gBAAA,KAAA,KfzDE,yBemEA,6CAIQ,SAAA,OACA,MAAA,KALR,6B5B69GF,mC4Bl9GQ,cAAA,EACA,aAAA,Gf5FN,yBegFA,kBAiBI,mBAAA,WAAA,sBAAA,OAAA,uBAAA,IAAA,mBAAA,IAAA,eAAA,IACA,kBAAA,OAAA,cAAA,OAAA,UAAA,OACA,iBAAA,MAAA,wBAAA,WAAA,cAAA,MAAA,gBAAA,WAnBJ,8BAsBM,mBAAA,WAAA,sBAAA,OAAA,uBAAA,IAAA,mBAAA,IAAA,eAAA,IAtBN,6CAyBQ,SAAA,SAzBR,wCA6BQ,cAAA,MACA,aAAA,MA9BR,6B5BigHF,mC4B59GQ,kBAAA,OAAA,cAAA,OAAA,UAAA,OArCN,mCA0CM,QAAA,sBAAA,QAAA,uBAAA,QAAA,sBAAA,QAAA,eA1CN,kCA+CM,QAAA,MflHN,yBemEA,6CAIQ,SAAA,OACA,MAAA,KALR,6B5BuhHF,mC4B5gHQ,cAAA,EACA,aAAA,Gf5FN,yBegFA,kBAiBI,mBAAA,WAAA,sBAAA,OAAA,uBAAA,IAAA,mBAAA,IAAA,eAAA,IACA,kBAAA,OAAA,cAAA,OAAA,UAAA,OACA,iBAAA,MAAA,wBAAA,WAAA,cAAA,MAAA,gBAAA,WAnBJ,8BAsBM,mBAAA,WAAA,sBAAA,OAAA,uBAAA,IAAA,mBAAA,IAAA,eAAA,IAtBN,6CAyBQ,SAAA,SAzBR,wCA6BQ,cAAA,MACA,aAAA,MA9BR,6B5B2jHF,mC4BthHQ,kBAAA,OAAA,cAAA,OAAA,UAAA,OArCN,mCA0CM,QAAA,sBAAA,QAAA,uBAAA,QAAA,sBAAA,QAAA,eA1CN,kCA+CM,QAAA,MflHN,yBemEA,6CAIQ,SAAA,OACA,MAAA,KALR,6B5BilHF,mC4BtkHQ,cAAA,EACA,aAAA,Gf5FN,yBegFA,kBAiBI,mBAAA,WAAA,sBAAA,OAAA,uBAAA,IAAA,mBAAA,IAAA,eAAA,IACA,kBAAA,OAAA,cAAA,OAAA,UAAA,OACA,iBAAA,MAAA,wBAAA,WAAA,cAAA,MAAA,gBAAA,WAnBJ,8BAsBM,mBAAA,WAAA,sBAAA,OAAA,uBAAA,IAAA,mBAAA,IAAA,eAAA,IAtBN,6CAyBQ,SAAA,SAzBR,wCA6BQ,cAAA,MACA,aAAA,MA9BR,6B5BqnHF,mC4BhlHQ,kBAAA,OAAA,cAAA,OAAA,UAAA,OArCN,mCA0CM,QAAA,sBAAA,QAAA,uBAAA,QAAA,sBAAA,QAAA,eA1CN,kCA+CM,QAAA,MflHN,0BemEA,6CAIQ,SAAA,OACA,MAAA,KALR,6B5B2oHF,mC4BhoHQ,cAAA,EACA,aAAA,Gf5FN,0BegFA,kBAiBI,mBAAA,WAAA,sBAAA,OAAA,uBAAA,IAAA,mBAAA,IAAA,eAAA,IACA,kBAAA,OAAA,cAAA,OAAA,UAAA,OACA,iBAAA,MAAA,wBAAA,WAAA,cAAA,MAAA,gBAAA,WAnBJ,8BAsBM,mBAAA,WAAA,sBAAA,OAAA,uBAAA,IAAA,mBAAA,IAAA,eAAA,IAtBN,6CAyBQ,SAAA,SAzBR,wCA6BQ,cAAA,MACA,aAAA,MA9BR,6B5B+qHF,mC4B1oHQ,kBAAA,OAAA,cAAA,OAAA,UAAA,OArCN,mCA0CM,QAAA,sBAAA,QAAA,uBAAA,QAAA,sBAAA,QAAA,eA1CN,kCA+CM,QAAA,MApDV,eAsBQ,mBAAA,WAAA,sBAAA,OAAA,uBAAA,IAAA,mBAAA,IAAA,eAAA,IACA,kBAAA,OAAA,cAAA,OAAA,UAAA,OACA,iBAAA,MAAA,wBAAA,WAAA,cAAA,MAAA,gBAAA,WAxBR,0CASY,SAAA,OACA,MAAA,KAVZ,0B5BytHA,gC4BzsHU,cAAA,EACA,aAAA,EAjBV,2BA2BU,mBAAA,WAAA,sBAAA,OAAA,uBAAA,IAAA,mBAAA,IAAA,eAAA,IA3BV,0CA8BY,SAAA,SA9BZ,qCAkCY,cAAA,MACA,aAAA,MAnCZ,0B5BgvHA,gC4BtsHU,kBAAA,OAAA,cAAA,OAAA,UAAA,OA1CV,gCA+CU,QAAA,sBAAA,QAAA,uBAAA,QAAA,sBAAA,QAAA,eA/CV,+BAoDU,QAAA,KAaV,4BAEI,MAAA,eAFJ,kCAAA,kCAKM,MAAA,eALN,oCAWM,MAAA,eAXN,0CAAA,0CAcQ,MAAA,eAdR,6CAkBQ,MAAA,e5BmsHR,4CAEA,2CADA,yC4BttHA,0CA0BM,MAAA,eA1BN,8BA+BI,MAAA,eACA,aAAA,eAhCJ,mCAoCI,iBAAA,oPApCJ,2BAwCI,MAAA,eAKJ,8BAEI,MAAA,KAFJ,oCAAA,oCAKM,MAAA,KALN,sCAWM,MAAA,qBAXN,4CAAA,4CAcQ,MAAA,sBAdR,+CAkBQ,MAAA,sB5B8rHR,8CAEA,6CADA,2C4BjtHA,4CA0BM,MAAA,KA1BN,gCA+BI,MAAA,qBACA,aAAA,qBAhCJ,qCAoCI,iBAAA,0PApCJ,6BAwCI,MAAA,qBCrRJ,MACE,SAAA,SACA,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,mBAAA,SAAA,sBAAA,OAAA,uBAAA,OAAA,mBAAA,OAAA,eAAA,OACA,iBAAA,KACA,OAAA,IAAA,MAAA,iBrBLE,cAAA,OqBSJ,YAGE,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,QAAA,QAGF,YACE,cAAA,OACA,WAAA,UAGF,eACE,WAAA,SACA,cAAA,EAGF,sBACE,cAAA,E1BpBE,iB0ByBA,gBAAA,KAFJ,sBAMI,YAAA,QAIJ,2DrBlCI,uBAAA,OACA,wBAAA,OqBiCJ,yDrBpBI,2BAAA,OACA,0BAAA,OqBsCJ,aACE,QAAA,OAAA,QACA,cAAA,EACA,iBAAA,QACA,cAAA,IAAA,MAAA,iBAJF,yBrB3DI,cAAA,mBAAA,mBAAA,EAAA,EqBsEJ,aACE,QAAA,OAAA,QACA,iBAAA,QACA,WAAA,IAAA,MAAA,iBAHF,wBrBtEI,cAAA,EAAA,EAAA,mBAAA,mBqBqFJ,kBACE,aAAA,SACA,cAAA,QACA,YAAA,SACA,cAAA,EAGF,mBACE,aAAA,SACA,YAAA,SAQF,cCvGE,iBAAA,QACA,aAAA,Q9B+iIF,2B8B7iIE,2BAEE,iBAAA,YDqGJ,cC1GE,iBAAA,QACA,aAAA,Q9ByjIF,2B8BvjIE,2BAEE,iBAAA,YDwGJ,WC7GE,iBAAA,QACA,aAAA,Q9BmkIF,wB8BjkIE,wBAEE,iBAAA,YD2GJ,cChHE,iBAAA,QACA,aAAA,Q9B6kIF,2B8B3kIE,2BAEE,iBAAA,YD8GJ,aCnHE,iBAAA,QACA,aAAA,Q9BulIF,0B8BrlIE,0BAEE,iBAAA,YDmHJ,sBC9GE,iBAAA,YACA,aAAA,Q9BulIF,mC8BrlIE,mCAEE,iBAAA,YACA,aAAA,QD2GJ,wBCjHE,iBAAA,YACA,aAAA,K9BkmIF,qC8BhmIE,qCAEE,iBAAA,YACA,aAAA,KD8GJ,mBCpHE,iBAAA,YACA,aAAA,Q9B6mIF,gC8B3mIE,gCAEE,iBAAA,YACA,aAAA,QDiHJ,sBCvHE,iBAAA,YACA,aAAA,Q9BwnIF,mC8BtnIE,mCAEE,iBAAA,YACA,aAAA,QDoHJ,sBC1HE,iBAAA,YACA,aAAA,Q9BmoIF,mC8BjoIE,mCAEE,iBAAA,YACA,aAAA,QDuHJ,qBC7HE,iBAAA,YACA,aAAA,Q9B8oIF,kC8B5oIE,kCAEE,iBAAA,YACA,aAAA,QD+HJ,cCtHE,MAAA,sB9B0oIF,2B8BxoIE,2BAEE,iBAAA,YACA,aAAA,qB9B6oIJ,+BAFA,2B8BzoIE,2B9B0oIF,0B8BtoII,MAAA,K9B8oIJ,kD8B5oIE,yB9B2oIF,6BADA,yB8BtoII,MAAA,sBAEF,+BAAA,+BAEI,MAAA,KDyGN,iBACE,QAAA,EACA,cAAA,EACA,YAAA,EAIF,kBACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,QAGF,UACE,MAAA,KrBvKE,cAAA,mBqB4KJ,cACE,MAAA,KrBvKE,uBAAA,mBACA,wBAAA,mBqB0KJ,iBACE,MAAA,KrB9JE,2BAAA,mBACA,0BAAA,mBK+BA,yBgBsIF,WACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,mBAAA,WAAA,sBAAA,OAAA,kBAAA,IAAA,KAAA,cAAA,IAAA,KAAA,UAAA,IAAA,KACA,aAAA,MACA,YAAA,MAJF,iBAOI,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,iBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,GACA,mBAAA,SAAA,sBAAA,OAAA,uBAAA,OAAA,mBAAA,OAAA,eAAA,OACA,aAAA,KACA,YAAA,MhBjJF,yBgB4JF,YACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,mBAAA,WAAA,sBAAA,OAAA,kBAAA,IAAA,KAAA,cAAA,IAAA,KAAA,UAAA,IAAA,KAFF,kBAKI,iBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,GALJ,wBAQM,YAAA,EACA,YAAA,EATN,8BrBnME,wBAAA,EACA,2BAAA,EqBkMF,4CAkBU,wBAAA,EAlBV,+CAqBU,2BAAA,EArBV,6BrBrLE,uBAAA,EACA,0BAAA,EqBoLF,2CA4BU,uBAAA,EA5BV,8CA+BU,0BAAA,EA/BV,qDAoCQ,cAAA,E7BojIR,sE6BxlIA,mEAwCU,cAAA,GAaZ,oBAEI,cAAA,OhBnNA,yBgBiNJ,cAMI,qBAAA,EAAA,kBAAA,EAAA,aAAA,EACA,mBAAA,QAAA,gBAAA,QAAA,WAAA,QAPJ,oBAUM,QAAA,aACA,MAAA,MEpRN,YACE,QAAA,OAAA,KACA,cAAA,KACA,WAAA,KACA,iBAAA,QvBAE,cAAA,OwBHF,mBACE,QAAA,MACA,MAAA,KACA,QAAA,GDKJ,iBACE,MAAA,KADF,0CAKI,QAAA,aACA,cAAA,MACA,aAAA,MACA,MAAA,QACA,QAAA,IATJ,gDAmBI,gBAAA,UAnBJ,gDAsBI,gBAAA,KAtBJ,wBA0BI,MAAA,QEnCJ,YACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KAEA,aAAA,EACA,WAAA,KzBAE,cAAA,OyBIJ,kCAGM,YAAA,EzBoBF,uBAAA,OACA,0BAAA,OyBxBJ,iCzBSI,wBAAA,OACA,2BAAA,OyBVJ,6BAcI,QAAA,EACA,MAAA,KACA,iBAAA,QACA,aAAA,QAjBJ,+BAqBI,MAAA,QACA,eAAA,KACA,iBAAA,KACA,aAAA,KAIJ,WACE,SAAA,SACA,QAAA,MACA,QAAA,MAAA,OACA,YAAA,KACA,YAAA,KACA,MAAA,QACA,iBAAA,KACA,OAAA,IAAA,MAAA,K9BtBE,iBAAA,iB8ByBA,MAAA,QACA,gBAAA,KACA,iBAAA,QACA,aAAA,KC/CF,0BACE,QAAA,OAAA,OACA,UAAA,QAKE,iD1BqBF,uBAAA,MACA,0BAAA,M0BjBE,gD1BEF,wBAAA,MACA,2BAAA,M0BfF,0BACE,QAAA,OAAA,MACA,UAAA,QAKE,iD1BqBF,uBAAA,MACA,0BAAA,M0BjBE,gD1BEF,wBAAA,MACA,2BAAA,M2BbJ,OACE,QAAA,aACA,QAAA,MAAA,KACA,UAAA,IACA,YAAA,IACA,YAAA,EACA,MAAA,KACA,WAAA,OACA,YAAA,OACA,eAAA,S3BVE,cAAA,O2BCJ,aAcI,QAAA,KAKJ,YACE,SAAA,SACA,IAAA,KhCJE,cAAA,cgCWA,MAAA,KACA,gBAAA,KASJ,YACE,cAAA,KACA,aAAA,K3BzCE,cAAA,M2BiDJ,eClDE,iBAAA,QjCmBE,2BAAA,2BiCfE,iBAAA,QDkDN,eCtDE,iBAAA,QjCmBE,2BAAA,2BiCfE,iBAAA,QDsDN,eC1DE,iBAAA,QjCmBE,2BAAA,2BiCfE,iBAAA,QD0DN,YC9DE,iBAAA,QjCmBE,wBAAA,wBiCfE,iBAAA,QD8DN,eClEE,iBAAA,QjCmBE,2BAAA,2BiCfE,iBAAA,QDkEN,cCtEE,iBAAA,QjCmBE,0BAAA,0BiCfE,iBAAA,QCPN,WACE,QAAA,KAAA,KACA,cAAA,KACA,iBAAA,Q7BCE,cAAA,MKoDA,yBwBxDJ,WAOI,QAAA,KAAA,MAIJ,iBACE,cAAA,EACA,aAAA,E7BTE,cAAA,E8BAJ,OACE,QAAA,OAAA,QACA,cAAA,KACA,OAAA,IAAA,MAAA,Y9BHE,cAAA,O8BQJ,eAEE,MAAA,QAIF,YACE,YAAA,IAQF,0BAGI,SAAA,SACA,IAAA,QACA,MAAA,SACA,QAAA,OAAA,QACA,MAAA,QASJ,eCxCE,MAAA,QACA,iBAAA,QACA,aAAA,QAEA,kBACE,iBAAA,QAEF,2BACE,MAAA,QDmCJ,YC3CE,MAAA,QACA,iBAAA,QACA,aAAA,QAEA,eACE,iBAAA,QAEF,wBACE,MAAA,QDsCJ,eC9CE,MAAA,QACA,iBAAA,QACA,aAAA,QAEA,kBACE,iBAAA,QAEF,2BACE,MAAA,QDyCJ,cCjDE,MAAA,QACA,iBAAA,QACA,aAAA,QAEA,iBACE,iBAAA,QAEF,0BACE,MAAA,QCXJ,wCACE,KAAO,oBAAA,KAAA,EACP,GAAK,oBAAA,EAAA,GAFP,mCACE,KAAO,oBAAA,KAAA,EACP,GAAK,oBAAA,EAAA,GAFP,gCACE,KAAO,oBAAA,KAAA,EACP,GAAK,oBAAA,EAAA,GAGP,UACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,SAAA,OACA,UAAA,OACA,YAAA,KACA,WAAA,OACA,iBAAA,QhCPE,cAAA,OgCWJ,cACE,OAAA,KACA,YAAA,KACA,MAAA,KACA,iBAAA,Q/BdI,mBAAA,MAAA,IAAA,KAAA,cAAA,MAAA,IAAA,KAAA,WAAA,MAAA,IAAA,K+BkBN,sBCYE,iBAAA,yKAAA,iBAAA,oKAAA,iBAAA,iKDVA,wBAAA,KAAA,KAAA,gBAAA,KAAA,KAGF,uBACE,kBAAA,qBAAA,GAAA,OAAA,SAAA,aAAA,qBAAA,GAAA,OAAA,SAAA,UAAA,qBAAA,GAAA,OAAA,SE7BF,OACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,MAAA,oBAAA,WAAA,eAAA,MAAA,YAAA,WAGF,YACE,iBAAA,EAAA,aAAA,EAAA,SAAA,EAAA,KAAA,EAAA,EAAA,GCFF,YACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,mBAAA,SAAA,sBAAA,OAAA,uBAAA,OAAA,mBAAA,OAAA,eAAA,OAGA,aAAA,EACA,cAAA,EASF,wBACE,MAAA,KACA,MAAA,QACA,WAAA,QxCAE,8BAAA,8BwCIA,MAAA,QACA,gBAAA,KACA,iBAAA,QATJ,+BAaI,MAAA,QACA,iBAAA,QASJ,iBACE,SAAA,SACA,QAAA,MACA,QAAA,OAAA,QAEA,cAAA,KACA,iBAAA,KACA,OAAA,IAAA,MAAA,iBAPF,6BnChCI,uBAAA,OACA,wBAAA,OmC+BJ,4BAcI,cAAA,EnChCA,2BAAA,OACA,0BAAA,OLHA,uBAAA,uBwCuCA,gBAAA,KAnBJ,0BAAA,0BAwBI,MAAA,QACA,iBAAA,KAzBJ,wBA8BI,QAAA,EACA,MAAA,KACA,iBAAA,QACA,aAAA,QAUJ,mCAEI,aAAA,EACA,YAAA,EACA,cAAA,EAJJ,2DASM,WAAA,EATN,yDAeM,cAAA,ECjGJ,yBACE,MAAA,QACA,iBAAA,QAIF,0B5CgxJF,+B4C9wJI,MAAA,QzCWA,gCAAA,gCHwwJJ,qCACA,qC4CjxJM,MAAA,QACA,iBAAA,QANJ,iC5C4xJF,sC4ClxJM,MAAA,KACA,iBAAA,QACA,aAAA,QAlBJ,sBACE,MAAA,QACA,iBAAA,QAIF,uB5CwyJF,4B4CtyJI,MAAA,QzCWA,6BAAA,6BHgyJJ,kCACA,kC4CzyJM,MAAA,QACA,iBAAA,QANJ,8B5CozJF,mC4C1yJM,MAAA,KACA,iBAAA,QACA,aAAA,QAlBJ,yBACE,MAAA,QACA,iBAAA,QAIF,0B5Cg0JF,+B4C9zJI,MAAA,QzCWA,gCAAA,gCHwzJJ,qCACA,qC4Cj0JM,MAAA,QACA,iBAAA,QANJ,iC5C40JF,sC4Cl0JM,MAAA,KACA,iBAAA,QACA,aAAA,QAlBJ,wBACE,MAAA,QACA,iBAAA,QAIF,yB5Cw1JF,8B4Ct1JI,MAAA,QzCWA,+BAAA,+BHg1JJ,oCACA,oC4Cz1JM,MAAA,QACA,iBAAA,QANJ,gC5Co2JF,qC4C11JM,MAAA,KACA,iBAAA,QACA,aAAA,QCnBN,kBACE,SAAA,SACA,QAAA,MACA,MAAA,KACA,QAAA,EACA,SAAA,OALF,0BAQI,QAAA,MACA,QAAA,GATJ,yC7Cg4JA,wBADA,yBAEA,yBACA,wB6Cj3JI,SAAA,SACA,IAAA,EACA,OAAA,EACA,KAAA,EACA,MAAA,KACA,OAAA,KACA,OAAA,EAIJ,gCAEI,YAAA,WAIJ,gCAEI,YAAA,OAIJ,+BAEI,YAAA,IAIJ,+BAEI,YAAA,KCjDJ,OACE,MAAA,MACA,UAAA,OACA,YAAA,IACA,YAAA,EACA,MAAA,KACA,YAAA,EAAA,IAAA,EAAA,KACA,QAAA,G3CeE,aAAA,a2CZA,MAAA,KACA,gBAAA,KACA,QAAA,IAUJ,aACE,QAAA,EACA,WAAA,IACA,OAAA,EACA,mBAAA,KCnBF,YACE,SAAA,OAIF,OACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,SAAA,OAGA,QAAA,EAXF,0BtCPM,mBAAA,kBAAA,IAAA,SAAA,WAAA,kBAAA,IAAA,SAAA,cAAA,aAAA,IAAA,SAAA,WAAA,UAAA,IAAA,SAAA,WAAA,UAAA,IAAA,QAAA,CAAA,kBAAA,IAAA,QAAA,CAAA,aAAA,IAAA,SsC0BF,kBAAA,kBAAA,aAAA,kBAAA,UAAA,kBAnBJ,0BAqByB,kBAAA,eAAA,aAAA,eAAA,UAAA,eAEzB,mBACE,WAAA,OACA,WAAA,KAIF,cACE,SAAA,SACA,MAAA,KACA,OAAA,KAIF,eACE,SAAA,SACA,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,mBAAA,SAAA,sBAAA,OAAA,uBAAA,OAAA,mBAAA,OAAA,eAAA,OACA,iBAAA,KACA,wBAAA,YAAA,gBAAA,YACA,OAAA,IAAA,MAAA,evClDE,cAAA,MuCsDF,QAAA,EAIF,gBACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,KACA,iBAAA,KAPF,qBAUW,QAAA,EAVX,qBAWW,QAAA,GAKX,cACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OACA,iBAAA,QAAA,wBAAA,cAAA,cAAA,QAAA,gBAAA,cACA,QAAA,KACA,cAAA,IAAA,MAAA,QAIF,aACE,cAAA,EACA,YAAA,IAKF,YACE,SAAA,SAGA,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,QAAA,KAIF,cACE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OACA,iBAAA,IAAA,wBAAA,SAAA,cAAA,IAAA,gBAAA,SACA,QAAA,KACA,WAAA,IAAA,MAAA,QALF,iCAQyB,YAAA,OARzB,gCASwB,aAAA,OAIxB,yBACE,SAAA,SACA,IAAA,QACA,MAAA,KACA,OAAA,KACA,SAAA,OlCjEE,yBkCuEF,cACE,UAAA,MACA,OAAA,KAAA,KAOF,UAAY,UAAA,OlChFV,yBkCoFF,UAAY,UAAA,OC3Id,SACE,SAAA,SACA,QAAA,KACA,QAAA,MACA,OAAA,ECHA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAEA,WAAA,OACA,YAAA,IACA,YAAA,IACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,KDPA,UAAA,QAEA,UAAA,WACA,QAAA,EAXF,cAaW,QAAA,GAbX,wBAgBI,QAAA,IAAA,EAhBJ,uCAmBM,OAAA,EACA,KAAA,IACA,YAAA,KACA,QAAA,GACA,aAAA,IAAA,IAAA,EACA,iBAAA,KAxBN,0BA4BI,QAAA,EAAA,IA5BJ,yCA+BM,IAAA,IACA,KAAA,EACA,WAAA,KACA,QAAA,GACA,aAAA,IAAA,IAAA,IAAA,EACA,mBAAA,KApCN,2BAwCI,QAAA,IAAA,EAxCJ,0CA2CM,IAAA,EACA,KAAA,IACA,YAAA,KACA,QAAA,GACA,aAAA,EAAA,IAAA,IACA,oBAAA,KAhDN,yBAoDI,QAAA,EAAA,IApDJ,wCAuDM,IAAA,IACA,MAAA,EACA,WAAA,KACA,QAAA,GACA,aAAA,IAAA,EAAA,IAAA,IACA,kBAAA,KA5DN,wBAiEI,SAAA,SACA,MAAA,EACA,OAAA,EACA,aAAA,YACA,aAAA,MAKJ,eACE,UAAA,MACA,QAAA,IAAA,IACA,MAAA,KACA,WAAA,OACA,iBAAA,KxC5EE,cAAA,O0CJJ,SACE,SAAA,SACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,MACA,UAAA,MACA,QAAA,IDLA,YAAA,aAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAEA,WAAA,OACA,YAAA,IACA,YAAA,IACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,KCLA,UAAA,QAEA,UAAA,WACA,iBAAA,KACA,wBAAA,YAAA,gBAAA,YACA,OAAA,IAAA,MAAA,e1CZE,cAAA,MRmtKJ,uBkDvtKA,wBA0BI,SAAA,SACA,QAAA,MACA,MAAA,EACA,OAAA,EACA,aAAA,YACA,aAAA,MA/BJ,wBAmCI,QAAA,GACA,aAAA,KApCJ,uBAuCI,QAAA,GACA,aAAA,KAxCJ,wBA8CI,cAAA,KlDisKJ,sCkD/uKA,uCAkDM,KAAA,IACA,oBAAA,EAnDN,uCAuDM,OAAA,MACA,YAAA,MACA,iBAAA,gBAzDN,sCA6DM,OAAA,MACA,YAAA,MACA,iBAAA,KA/DN,0BAoEI,YAAA,KlDisKJ,wCkDrwKA,yCAwEM,IAAA,IACA,kBAAA,EAzEN,yCA6EM,KAAA,MACA,WAAA,MACA,mBAAA,gBA/EN,wCAmFM,KAAA,MACA,WAAA,MACA,mBAAA,KArFN,2BA0FI,WAAA,KlDisKJ,yCkD3xKA,0CA8FM,KAAA,IACA,iBAAA,EA/FN,0CAmGM,IAAA,MACA,YAAA,MACA,oBAAA,gBArGN,yCAyGM,IAAA,MACA,YAAA,MACA,oBAAA,KA3GN,kDAgHM,SAAA,SACA,IAAA,EACA,KAAA,IACA,QAAA,MACA,MAAA,KACA,YAAA,MACA,QAAA,GACA,cAAA,IAAA,MAAA,QAvHN,yBA4HI,aAAA,KlDgsKJ,uCkD5zKA,wCAgIM,IAAA,IACA,mBAAA,EAjIN,wCAqIM,MAAA,MACA,WAAA,MACA,kBAAA,gBAvIN,uCA2IM,MAAA,MACA,WAAA,MACA,kBAAA,KAON,eACE,QAAA,IAAA,KACA,cAAA,EACA,UAAA,KACA,MAAA,QACA,iBAAA,QACA,cAAA,IAAA,MAAA,Q1ChJE,uBAAA,kBACA,wBAAA,kB0CyIJ,qBAWI,QAAA,KAIJ,iBACE,QAAA,IAAA,KACA,MAAA,QCpKF,UACE,SAAA,SAGF,gBACE,SAAA,SACA,MAAA,KACA,SAAA,OAGF,eACE,SAAA,SACA,QAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OACA,MAAA,K1CVI,mBAAA,kBAAA,IAAA,KAAA,WAAA,kBAAA,IAAA,KAAA,cAAA,aAAA,IAAA,KAAA,WAAA,UAAA,IAAA,KAAA,WAAA,UAAA,IAAA,IAAA,CAAA,kBAAA,IAAA,IAAA,CAAA,aAAA,IAAA,K0CYJ,4BAAA,OAAA,oBAAA,OACA,oBAAA,OAAA,YAAA,OnD62KF,oBACA,oBmD32KA,sBAGE,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KAGF,oBnD62KA,oBmD32KE,SAAA,SACA,IAAA,EAIF,uCnD42KA,wCmD12KE,kBAAA,mBAAA,UAAA,mBnDg3KF,4BmD72KA,oBAEE,kBAAA,sBAAA,UAAA,sBnDi3KF,2BmD92KA,oBAEE,kBAAA,uBAAA,UAAA,uBnDk3KF,uBmD12KA,uBAEE,SAAA,SACA,IAAA,EACA,OAAA,EAEA,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,kBAAA,OAAA,oBAAA,OAAA,eAAA,OAAA,YAAA,OACA,iBAAA,OAAA,wBAAA,OAAA,cAAA,OAAA,gBAAA,OACA,MAAA,IACA,MAAA,KACA,WAAA,OACA,QAAA,GnDq3KF,6BACA,6BGl6KI,6BAAA,6BgDkDA,MAAA,KACA,gBAAA,KACA,QAAA,EACA,QAAA,GAGJ,uBACE,KAAA,EAEF,uBACE,MAAA,EnDs3KF,4BmDl3KA,4BAEE,QAAA,aACA,MAAA,KACA,OAAA,KACA,WAAA,YAAA,UAAA,OAAA,OACA,wBAAA,KAAA,KAAA,gBAAA,KAAA,KAEF,4BACE,iBAAA,4LAEF,4BACE,iBAAA,8LASF,qBACE,SAAA,SACA,MAAA,EACA,OAAA,KACA,KAAA,EACA,QAAA,GACA,QAAA,YAAA,QAAA,aAAA,QAAA,YAAA,QAAA,KACA,iBAAA,OAAA,wBAAA,OAAA,cAAA,OAAA,gBAAA,OACA,aAAA,EAEA,aAAA,IACA,YAAA,IACA,WAAA,KAZF,wBAeI,SAAA,SACA,iBAAA,EAAA,aAAA,EAAA,EAAA,KAAA,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KACA,OAAA,IACA,aAAA,IACA,YAAA,IACA,YAAA,OACA,iBAAA,qBAtBJ,gCA0BM,SAAA,SACA,IAAA,MACA,KAAA,EACA,QAAA,aACA,MAAA,KACA,OAAA,KACA,QAAA,GAhCN,+BAmCM,SAAA,SACA,OAAA,MACA,KAAA,EACA,QAAA,aACA,MAAA,KACA,OAAA,KACA,QAAA,GAzCN,6BA8CI,iBAAA,KASJ,kBACE,SAAA,SACA,MAAA,IACA,OAAA,KACA,KAAA,IACA,QAAA,GACA,YAAA,KACA,eAAA,KACA,MAAA,KACA,WAAA,OC3KF,gBAAqB,eAAA,mBACrB,WAAqB,eAAA,cACrB,cAAqB,eAAA,iBACrB,cAAqB,eAAA,iBACrB,mBAAqB,eAAA,sBACrB,gBAAqB,eAAA,mBCDrB,UACE,iBAAA,QCFA,YACE,iBAAA,kBnDkBA,mBAAA,mBmDdE,iBAAA,kBALJ,YACE,iBAAA,kBnDkBA,mBAAA,mBmDdE,iBAAA,kBALJ,SACE,iBAAA,kBnDkBA,gBAAA,gBmDdE,iBAAA,kBALJ,YACE,iBAAA,kBnDkBA,mBAAA,mBmDdE,iBAAA,kBALJ,WACE,iBAAA,kBnDkBA,kBAAA,kBmDdE,iBAAA,kBALJ,YACE,iBAAA,kBnDkBA,mBAAA,mBmDdE,iBAAA,kBCJN,UAAmB,OAAA,YACnB,cAAmB,WAAA,YACnB,gBAAmB,aAAA,YACnB,iBAAmB,cAAA,YACnB,eAAmB,YAAA,YAMnB,S/CVI,cAAA,O+CaJ,a/CPI,uBAAA,OACA,wBAAA,O+CSJ,e/CHI,wBAAA,OACA,2BAAA,O+CKJ,gB/CCI,2BAAA,OACA,0BAAA,O+CCJ,c/CKI,uBAAA,OACA,0BAAA,O+CFJ,gBACE,cAAA,IAGF,WACE,cAAA,EvBlCA,iBACE,QAAA,MACA,MAAA,KACA,QAAA,GwBIA,QAA2B,QAAA,eAC3B,UAA2B,QAAA,iBAC3B,gBAA2B,QAAA,uBAC3B,SAA2B,QAAA,gBAC3B,SAA2B,QAAA,gBAC3B,cAA2B,QAAA,qBAC3B,QAA2B,QAAA,sBAAA,QAAA,uBAAA,QAAA,sBAAA,QAAA,eAC3B,eAA2B,QAAA,6BAAA,QAAA,8BAAA,QAAA,6BAAA,QAAA,sB3CyC3B,yB2ChDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,uBAAA,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,8BAAA,QAAA,6BAAA,QAAA,uB3CyC3B,yB2ChDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,uBAAA,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,8BAAA,QAAA,6BAAA,QAAA,uB3CyC3B,yB2ChDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,uBAAA,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,8BAAA,QAAA,6BAAA,QAAA,uB3CyC3B,0B2ChDA,WAA2B,QAAA,eAC3B,aAA2B,QAAA,iBAC3B,mBAA2B,QAAA,uBAC3B,YAA2B,QAAA,gBAC3B,YAA2B,QAAA,gBAC3B,iBAA2B,QAAA,qBAC3B,WAA2B,QAAA,sBAAA,QAAA,uBAAA,QAAA,sBAAA,QAAA,eAC3B,kBAA2B,QAAA,6BAAA,QAAA,8BAAA,QAAA,6BAAA,QAAA,uBAS/B,eACE,QAAA,eAEA,aAHF,eAII,QAAA,iBAIJ,gBACE,QAAA,eAEA,aAHF,gBAII,QAAA,kBAIJ,sBACE,QAAA,eAEA,aAHF,sBAII,QAAA,wBAKF,aADF,cAEI,QAAA,gBC1CA,aAAwB,0BAAA,EAAA,cAAA,GAAA,eAAA,GAAA,MAAA,GACxB,YAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EACxB,SAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EAExB,UAAgC,mBAAA,qBAAA,sBAAA,iBAAA,uBAAA,cAAA,mBAAA,cAAA,eAAA,cAChC,aAAgC,mBAAA,mBAAA,sBAAA,iBAAA,uBAAA,iBAAA,mBAAA,iBAAA,eAAA,iBAChC,kBAAgC,mBAAA,qBAAA,sBAAA,kBAAA,uBAAA,sBAAA,mBAAA,sBAAA,eAAA,sBAChC,qBAAgC,mBAAA,mBAAA,sBAAA,kBAAA,uBAAA,yBAAA,mBAAA,yBAAA,eAAA,yBAEhC,WAA8B,kBAAA,eAAA,cAAA,eAAA,UAAA,eAC9B,aAA8B,kBAAA,iBAAA,cAAA,iBAAA,UAAA,iBAC9B,mBAA8B,kBAAA,uBAAA,cAAA,uBAAA,UAAA,uBAE9B,uBAAoC,iBAAA,gBAAA,wBAAA,qBAAA,cAAA,gBAAA,gBAAA,qBACpC,qBAAoC,iBAAA,cAAA,wBAAA,mBAAA,cAAA,cAAA,gBAAA,mBACpC,wBAAoC,iBAAA,iBAAA,wBAAA,iBAAA,cAAA,iBAAA,gBAAA,iBACpC,yBAAoC,iBAAA,kBAAA,wBAAA,wBAAA,cAAA,kBAAA,gBAAA,wBACpC,wBAAoC,wBAAA,uBAAA,cAAA,qBAAA,gBAAA,uBAEpC,mBAAiC,kBAAA,gBAAA,oBAAA,qBAAA,eAAA,gBAAA,YAAA,qBACjC,iBAAiC,kBAAA,cAAA,oBAAA,mBAAA,eAAA,cAAA,YAAA,mBACjC,oBAAiC,kBAAA,iBAAA,oBAAA,iBAAA,eAAA,iBAAA,YAAA,iBACjC,sBAAiC,kBAAA,mBAAA,oBAAA,mBAAA,eAAA,mBAAA,YAAA,mBACjC,qBAAiC,kBAAA,kBAAA,oBAAA,kBAAA,eAAA,kBAAA,YAAA,kBAEjC,qBAAkC,sBAAA,qBAAA,mBAAA,gBAAA,cAAA,qBAClC,mBAAkC,sBAAA,mBAAA,mBAAA,cAAA,cAAA,mBAClC,sBAAkC,sBAAA,iBAAA,mBAAA,iBAAA,cAAA,iBAClC,uBAAkC,sBAAA,wBAAA,mBAAA,kBAAA,cAAA,wBAClC,sBAAkC,sBAAA,uBAAA,mBAAA,qBAAA,cAAA,uBAClC,uBAAkC,sBAAA,kBAAA,mBAAA,kBAAA,cAAA,kBAElC,iBAAgC,mBAAA,eAAA,oBAAA,eAAA,mBAAA,eAAA,WAAA,eAChC,kBAAgC,mBAAA,qBAAA,oBAAA,gBAAA,WAAA,qBAChC,gBAAgC,mBAAA,mBAAA,oBAAA,cAAA,WAAA,mBAChC,mBAAgC,mBAAA,iBAAA,oBAAA,iBAAA,mBAAA,iBAAA,WAAA,iBAChC,qBAAgC,mBAAA,mBAAA,oBAAA,mBAAA,WAAA,mBAChC,oBAAgC,mBAAA,kBAAA,oBAAA,kBAAA,mBAAA,kBAAA,WAAA,kB5CWhC,yB4ChDA,gBAAwB,0BAAA,EAAA,cAAA,GAAA,eAAA,GAAA,MAAA,GACxB,eAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EACxB,YAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EAExB,aAAgC,mBAAA,qBAAA,sBAAA,iBAAA,uBAAA,cAAA,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,mBAAA,sBAAA,iBAAA,uBAAA,iBAAA,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,qBAAA,sBAAA,kBAAA,uBAAA,sBAAA,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,mBAAA,sBAAA,kBAAA,uBAAA,yBAAA,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,kBAAA,eAAA,cAAA,eAAA,UAAA,eAC9B,gBAA8B,kBAAA,iBAAA,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,kBAAA,uBAAA,cAAA,uBAAA,UAAA,uBAE9B,0BAAoC,iBAAA,gBAAA,wBAAA,qBAAA,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,iBAAA,cAAA,wBAAA,mBAAA,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,iBAAA,iBAAA,wBAAA,iBAAA,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,iBAAA,kBAAA,wBAAA,wBAAA,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,wBAAA,uBAAA,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,kBAAA,gBAAA,oBAAA,qBAAA,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,kBAAA,cAAA,oBAAA,mBAAA,eAAA,cAAA,YAAA,mBACjC,uBAAiC,kBAAA,iBAAA,oBAAA,iBAAA,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,kBAAA,mBAAA,oBAAA,mBAAA,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,kBAAA,kBAAA,oBAAA,kBAAA,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,sBAAA,qBAAA,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,sBAAA,mBAAA,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,sBAAA,iBAAA,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,sBAAA,wBAAA,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,sBAAA,uBAAA,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,sBAAA,kBAAA,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,mBAAA,eAAA,oBAAA,eAAA,mBAAA,eAAA,WAAA,eAChC,qBAAgC,mBAAA,qBAAA,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,mBAAA,mBAAA,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,mBAAA,iBAAA,oBAAA,iBAAA,mBAAA,iBAAA,WAAA,iBAChC,wBAAgC,mBAAA,mBAAA,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,mBAAA,kBAAA,oBAAA,kBAAA,mBAAA,kBAAA,WAAA,mB5CWhC,yB4ChDA,gBAAwB,0BAAA,EAAA,cAAA,GAAA,eAAA,GAAA,MAAA,GACxB,eAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EACxB,YAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EAExB,aAAgC,mBAAA,qBAAA,sBAAA,iBAAA,uBAAA,cAAA,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,mBAAA,sBAAA,iBAAA,uBAAA,iBAAA,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,qBAAA,sBAAA,kBAAA,uBAAA,sBAAA,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,mBAAA,sBAAA,kBAAA,uBAAA,yBAAA,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,kBAAA,eAAA,cAAA,eAAA,UAAA,eAC9B,gBAA8B,kBAAA,iBAAA,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,kBAAA,uBAAA,cAAA,uBAAA,UAAA,uBAE9B,0BAAoC,iBAAA,gBAAA,wBAAA,qBAAA,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,iBAAA,cAAA,wBAAA,mBAAA,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,iBAAA,iBAAA,wBAAA,iBAAA,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,iBAAA,kBAAA,wBAAA,wBAAA,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,wBAAA,uBAAA,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,kBAAA,gBAAA,oBAAA,qBAAA,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,kBAAA,cAAA,oBAAA,mBAAA,eAAA,cAAA,YAAA,mBACjC,uBAAiC,kBAAA,iBAAA,oBAAA,iBAAA,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,kBAAA,mBAAA,oBAAA,mBAAA,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,kBAAA,kBAAA,oBAAA,kBAAA,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,sBAAA,qBAAA,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,sBAAA,mBAAA,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,sBAAA,iBAAA,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,sBAAA,wBAAA,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,sBAAA,uBAAA,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,sBAAA,kBAAA,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,mBAAA,eAAA,oBAAA,eAAA,mBAAA,eAAA,WAAA,eAChC,qBAAgC,mBAAA,qBAAA,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,mBAAA,mBAAA,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,mBAAA,iBAAA,oBAAA,iBAAA,mBAAA,iBAAA,WAAA,iBAChC,wBAAgC,mBAAA,mBAAA,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,mBAAA,kBAAA,oBAAA,kBAAA,mBAAA,kBAAA,WAAA,mB5CWhC,yB4ChDA,gBAAwB,0BAAA,EAAA,cAAA,GAAA,eAAA,GAAA,MAAA,GACxB,eAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EACxB,YAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EAExB,aAAgC,mBAAA,qBAAA,sBAAA,iBAAA,uBAAA,cAAA,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,mBAAA,sBAAA,iBAAA,uBAAA,iBAAA,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,qBAAA,sBAAA,kBAAA,uBAAA,sBAAA,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,mBAAA,sBAAA,kBAAA,uBAAA,yBAAA,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,kBAAA,eAAA,cAAA,eAAA,UAAA,eAC9B,gBAA8B,kBAAA,iBAAA,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,kBAAA,uBAAA,cAAA,uBAAA,UAAA,uBAE9B,0BAAoC,iBAAA,gBAAA,wBAAA,qBAAA,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,iBAAA,cAAA,wBAAA,mBAAA,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,iBAAA,iBAAA,wBAAA,iBAAA,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,iBAAA,kBAAA,wBAAA,wBAAA,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,wBAAA,uBAAA,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,kBAAA,gBAAA,oBAAA,qBAAA,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,kBAAA,cAAA,oBAAA,mBAAA,eAAA,cAAA,YAAA,mBACjC,uBAAiC,kBAAA,iBAAA,oBAAA,iBAAA,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,kBAAA,mBAAA,oBAAA,mBAAA,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,kBAAA,kBAAA,oBAAA,kBAAA,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,sBAAA,qBAAA,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,sBAAA,mBAAA,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,sBAAA,iBAAA,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,sBAAA,wBAAA,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,sBAAA,uBAAA,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,sBAAA,kBAAA,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,mBAAA,eAAA,oBAAA,eAAA,mBAAA,eAAA,WAAA,eAChC,qBAAgC,mBAAA,qBAAA,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,mBAAA,mBAAA,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,mBAAA,iBAAA,oBAAA,iBAAA,mBAAA,iBAAA,WAAA,iBAChC,wBAAgC,mBAAA,mBAAA,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,mBAAA,kBAAA,oBAAA,kBAAA,mBAAA,kBAAA,WAAA,mB5CWhC,0B4ChDA,gBAAwB,0BAAA,EAAA,cAAA,GAAA,eAAA,GAAA,MAAA,GACxB,eAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EACxB,YAAwB,0BAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,EAExB,aAAgC,mBAAA,qBAAA,sBAAA,iBAAA,uBAAA,cAAA,mBAAA,cAAA,eAAA,cAChC,gBAAgC,mBAAA,mBAAA,sBAAA,iBAAA,uBAAA,iBAAA,mBAAA,iBAAA,eAAA,iBAChC,qBAAgC,mBAAA,qBAAA,sBAAA,kBAAA,uBAAA,sBAAA,mBAAA,sBAAA,eAAA,sBAChC,wBAAgC,mBAAA,mBAAA,sBAAA,kBAAA,uBAAA,yBAAA,mBAAA,yBAAA,eAAA,yBAEhC,cAA8B,kBAAA,eAAA,cAAA,eAAA,UAAA,eAC9B,gBAA8B,kBAAA,iBAAA,cAAA,iBAAA,UAAA,iBAC9B,sBAA8B,kBAAA,uBAAA,cAAA,uBAAA,UAAA,uBAE9B,0BAAoC,iBAAA,gBAAA,wBAAA,qBAAA,cAAA,gBAAA,gBAAA,qBACpC,wBAAoC,iBAAA,cAAA,wBAAA,mBAAA,cAAA,cAAA,gBAAA,mBACpC,2BAAoC,iBAAA,iBAAA,wBAAA,iBAAA,cAAA,iBAAA,gBAAA,iBACpC,4BAAoC,iBAAA,kBAAA,wBAAA,wBAAA,cAAA,kBAAA,gBAAA,wBACpC,2BAAoC,wBAAA,uBAAA,cAAA,qBAAA,gBAAA,uBAEpC,sBAAiC,kBAAA,gBAAA,oBAAA,qBAAA,eAAA,gBAAA,YAAA,qBACjC,oBAAiC,kBAAA,cAAA,oBAAA,mBAAA,eAAA,cAAA,YAAA,mBACjC,uBAAiC,kBAAA,iBAAA,oBAAA,iBAAA,eAAA,iBAAA,YAAA,iBACjC,yBAAiC,kBAAA,mBAAA,oBAAA,mBAAA,eAAA,mBAAA,YAAA,mBACjC,wBAAiC,kBAAA,kBAAA,oBAAA,kBAAA,eAAA,kBAAA,YAAA,kBAEjC,wBAAkC,sBAAA,qBAAA,mBAAA,gBAAA,cAAA,qBAClC,sBAAkC,sBAAA,mBAAA,mBAAA,cAAA,cAAA,mBAClC,yBAAkC,sBAAA,iBAAA,mBAAA,iBAAA,cAAA,iBAClC,0BAAkC,sBAAA,wBAAA,mBAAA,kBAAA,cAAA,wBAClC,yBAAkC,sBAAA,uBAAA,mBAAA,qBAAA,cAAA,uBAClC,0BAAkC,sBAAA,kBAAA,mBAAA,kBAAA,cAAA,kBAElC,oBAAgC,mBAAA,eAAA,oBAAA,eAAA,mBAAA,eAAA,WAAA,eAChC,qBAAgC,mBAAA,qBAAA,oBAAA,gBAAA,WAAA,qBAChC,mBAAgC,mBAAA,mBAAA,oBAAA,cAAA,WAAA,mBAChC,sBAAgC,mBAAA,iBAAA,oBAAA,iBAAA,mBAAA,iBAAA,WAAA,iBAChC,wBAAgC,mBAAA,mBAAA,oBAAA,mBAAA,WAAA,mBAChC,uBAAgC,mBAAA,kBAAA,oBAAA,kBAAA,mBAAA,kBAAA,WAAA,mBCzChC,YCHF,MAAA,eDIE,aCDF,MAAA,gBDEE,YCCF,MAAA,e9CiDE,yB6CpDA,eCHF,MAAA,eDIE,gBCDF,MAAA,gBDEE,eCCF,MAAA,gB9CiDE,yB6CpDA,eCHF,MAAA,eDIE,gBCDF,MAAA,gBDEE,eCCF,MAAA,gB9CiDE,yB6CpDA,eCHF,MAAA,eDIE,gBCDF,MAAA,gBDEE,eCCF,MAAA,gB9CiDE,0B6CpDA,eCHF,MAAA,eDIE,gBCDF,MAAA,gBDEE,eCCF,MAAA,gBCLF,WACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,KAAA,EACA,QAAA,KAGF,cACE,SAAA,MACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,KAGF,YACE,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,KCjBF,SCEE,SAAA,SACA,MAAA,IACA,OAAA,IACA,QAAA,EACA,SAAA,OACA,KAAA,cACA,YAAA,OACA,kBAAA,WAAA,UAAA,WACA,OAAA,EAUA,0BAAA,yBAEE,SAAA,OACA,MAAA,KACA,OAAA,KACA,SAAA,QACA,KAAA,KACA,YAAA,OACA,kBAAA,KAAA,UAAA,KC5BA,MAAuB,MAAA,cAAvB,MAAuB,MAAA,cAAvB,MAAuB,MAAA,cAAvB,OAAuB,MAAA,eAAvB,MAAuB,OAAA,cAAvB,MAAuB,OAAA,cAAvB,MAAuB,OAAA,cAAvB,OAAuB,OAAA,eAI3B,QAAU,UAAA,eACV,QAAU,WAAA,eCAF,KAAiC,OAAA,YACjC,MAAiC,WAAA,YACjC,MAAiC,aAAA,YACjC,MAAiC,cAAA,YACjC,MAAiC,YAAA,YACjC,MACE,aAAA,YACA,YAAA,YAEF,MACE,WAAA,YACA,cAAA,YAXF,KAAiC,OAAA,iBACjC,MAAiC,WAAA,iBACjC,MAAiC,aAAA,iBACjC,MAAiC,cAAA,iBACjC,MAAiC,YAAA,iBACjC,MACE,aAAA,iBACA,YAAA,iBAEF,MACE,WAAA,iBACA,cAAA,iBAXF,KAAiC,OAAA,gBACjC,MAAiC,WAAA,gBACjC,MAAiC,aAAA,gBACjC,MAAiC,cAAA,gBACjC,MAAiC,YAAA,gBACjC,MACE,aAAA,gBACA,YAAA,gBAEF,MACE,WAAA,gBACA,cAAA,gBAXF,KAAiC,OAAA,eACjC,MAAiC,WAAA,eACjC,MAAiC,aAAA,eACjC,MAAiC,cAAA,eACjC,MAAiC,YAAA,eACjC,MACE,aAAA,eACA,YAAA,eAEF,MACE,WAAA,eACA,cAAA,eAXF,KAAiC,OAAA,iBACjC,MAAiC,WAAA,iBACjC,MAAiC,aAAA,iBACjC,MAAiC,cAAA,iBACjC,MAAiC,YAAA,iBACjC,MACE,aAAA,iBACA,YAAA,iBAEF,MACE,WAAA,iBACA,cAAA,iBAXF,KAAiC,OAAA,eACjC,MAAiC,WAAA,eACjC,MAAiC,aAAA,eACjC,MAAiC,cAAA,eACjC,MAAiC,YAAA,eACjC,MACE,aAAA,eACA,YAAA,eAEF,MACE,WAAA,eACA,cAAA,eAXF,KAAiC,QAAA,YACjC,MAAiC,YAAA,YACjC,MAAiC,cAAA,YACjC,MAAiC,eAAA,YACjC,MAAiC,aAAA,YACjC,MACE,cAAA,YACA,aAAA,YAEF,MACE,YAAA,YACA,eAAA,YAXF,KAAiC,QAAA,iBACjC,MAAiC,YAAA,iBACjC,MAAiC,cAAA,iBACjC,MAAiC,eAAA,iBACjC,MAAiC,aAAA,iBACjC,MACE,cAAA,iBACA,aAAA,iBAEF,MACE,YAAA,iBACA,eAAA,iBAXF,KAAiC,QAAA,gBACjC,MAAiC,YAAA,gBACjC,MAAiC,cAAA,gBACjC,MAAiC,eAAA,gBACjC,MAAiC,aAAA,gBACjC,MACE,cAAA,gBACA,aAAA,gBAEF,MACE,YAAA,gBACA,eAAA,gBAXF,KAAiC,QAAA,eACjC,MAAiC,YAAA,eACjC,MAAiC,cAAA,eACjC,MAAiC,eAAA,eACjC,MAAiC,aAAA,eACjC,MACE,cAAA,eACA,aAAA,eAEF,MACE,YAAA,eACA,eAAA,eAXF,KAAiC,QAAA,iBACjC,MAAiC,YAAA,iBACjC,MAAiC,cAAA,iBACjC,MAAiC,eAAA,iBACjC,MAAiC,aAAA,iBACjC,MACE,cAAA,iBACA,aAAA,iBAEF,MACE,YAAA,iBACA,eAAA,iBAXF,KAAiC,QAAA,eACjC,MAAiC,YAAA,eACjC,MAAiC,cAAA,eACjC,MAAiC,eAAA,eACjC,MAAiC,aAAA,eACjC,MACE,cAAA,eACA,aAAA,eAEF,MACE,YAAA,eACA,eAAA,eAMN,QAAoB,OAAA,eACpB,SAAoB,WAAA,eACpB,SAAoB,aAAA,eACpB,SAAoB,cAAA,eACpB,SAAoB,YAAA,eACpB,SACE,aAAA,eACA,YAAA,eAEF,SACE,WAAA,eACA,cAAA,enDmBF,yBmD/CI,QAAiC,OAAA,YACjC,SAAiC,WAAA,YACjC,SAAiC,aAAA,YACjC,SAAiC,cAAA,YACjC,SAAiC,YAAA,YACjC,SACE,aAAA,YACA,YAAA,YAEF,SACE,WAAA,YACA,cAAA,YAXF,QAAiC,OAAA,iBACjC,SAAiC,WAAA,iBACjC,SAAiC,aAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,YAAA,iBACjC,SACE,aAAA,iBACA,YAAA,iBAEF,SACE,WAAA,iBACA,cAAA,iBAXF,QAAiC,OAAA,gBACjC,SAAiC,WAAA,gBACjC,SAAiC,aAAA,gBACjC,SAAiC,cAAA,gBACjC,SAAiC,YAAA,gBACjC,SACE,aAAA,gBACA,YAAA,gBAEF,SACE,WAAA,gBACA,cAAA,gBAXF,QAAiC,OAAA,eACjC,SAAiC,WAAA,eACjC,SAAiC,aAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,YAAA,eACjC,SACE,aAAA,eACA,YAAA,eAEF,SACE,WAAA,eACA,cAAA,eAXF,QAAiC,OAAA,iBACjC,SAAiC,WAAA,iBACjC,SAAiC,aAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,YAAA,iBACjC,SACE,aAAA,iBACA,YAAA,iBAEF,SACE,WAAA,iBACA,cAAA,iBAXF,QAAiC,OAAA,eACjC,SAAiC,WAAA,eACjC,SAAiC,aAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,YAAA,eACjC,SACE,aAAA,eACA,YAAA,eAEF,SACE,WAAA,eACA,cAAA,eAXF,QAAiC,QAAA,YACjC,SAAiC,YAAA,YACjC,SAAiC,cAAA,YACjC,SAAiC,eAAA,YACjC,SAAiC,aAAA,YACjC,SACE,cAAA,YACA,aAAA,YAEF,SACE,YAAA,YACA,eAAA,YAXF,QAAiC,QAAA,iBACjC,SAAiC,YAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,eAAA,iBACjC,SAAiC,aAAA,iBACjC,SACE,cAAA,iBACA,aAAA,iBAEF,SACE,YAAA,iBACA,eAAA,iBAXF,QAAiC,QAAA,gBACjC,SAAiC,YAAA,gBACjC,SAAiC,cAAA,gBACjC,SAAiC,eAAA,gBACjC,SAAiC,aAAA,gBACjC,SACE,cAAA,gBACA,aAAA,gBAEF,SACE,YAAA,gBACA,eAAA,gBAXF,QAAiC,QAAA,eACjC,SAAiC,YAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,eAAA,eACjC,SAAiC,aAAA,eACjC,SACE,cAAA,eACA,aAAA,eAEF,SACE,YAAA,eACA,eAAA,eAXF,QAAiC,QAAA,iBACjC,SAAiC,YAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,eAAA,iBACjC,SAAiC,aAAA,iBACjC,SACE,cAAA,iBACA,aAAA,iBAEF,SACE,YAAA,iBACA,eAAA,iBAXF,QAAiC,QAAA,eACjC,SAAiC,YAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,eAAA,eACjC,SAAiC,aAAA,eACjC,SACE,cAAA,eACA,aAAA,eAEF,SACE,YAAA,eACA,eAAA,eAMN,WAAoB,OAAA,eACpB,YAAoB,WAAA,eACpB,YAAoB,aAAA,eACpB,YAAoB,cAAA,eACpB,YAAoB,YAAA,eACpB,YACE,aAAA,eACA,YAAA,eAEF,YACE,WAAA,eACA,cAAA,gBnDmBF,yBmD/CI,QAAiC,OAAA,YACjC,SAAiC,WAAA,YACjC,SAAiC,aAAA,YACjC,SAAiC,cAAA,YACjC,SAAiC,YAAA,YACjC,SACE,aAAA,YACA,YAAA,YAEF,SACE,WAAA,YACA,cAAA,YAXF,QAAiC,OAAA,iBACjC,SAAiC,WAAA,iBACjC,SAAiC,aAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,YAAA,iBACjC,SACE,aAAA,iBACA,YAAA,iBAEF,SACE,WAAA,iBACA,cAAA,iBAXF,QAAiC,OAAA,gBACjC,SAAiC,WAAA,gBACjC,SAAiC,aAAA,gBACjC,SAAiC,cAAA,gBACjC,SAAiC,YAAA,gBACjC,SACE,aAAA,gBACA,YAAA,gBAEF,SACE,WAAA,gBACA,cAAA,gBAXF,QAAiC,OAAA,eACjC,SAAiC,WAAA,eACjC,SAAiC,aAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,YAAA,eACjC,SACE,aAAA,eACA,YAAA,eAEF,SACE,WAAA,eACA,cAAA,eAXF,QAAiC,OAAA,iBACjC,SAAiC,WAAA,iBACjC,SAAiC,aAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,YAAA,iBACjC,SACE,aAAA,iBACA,YAAA,iBAEF,SACE,WAAA,iBACA,cAAA,iBAXF,QAAiC,OAAA,eACjC,SAAiC,WAAA,eACjC,SAAiC,aAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,YAAA,eACjC,SACE,aAAA,eACA,YAAA,eAEF,SACE,WAAA,eACA,cAAA,eAXF,QAAiC,QAAA,YACjC,SAAiC,YAAA,YACjC,SAAiC,cAAA,YACjC,SAAiC,eAAA,YACjC,SAAiC,aAAA,YACjC,SACE,cAAA,YACA,aAAA,YAEF,SACE,YAAA,YACA,eAAA,YAXF,QAAiC,QAAA,iBACjC,SAAiC,YAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,eAAA,iBACjC,SAAiC,aAAA,iBACjC,SACE,cAAA,iBACA,aAAA,iBAEF,SACE,YAAA,iBACA,eAAA,iBAXF,QAAiC,QAAA,gBACjC,SAAiC,YAAA,gBACjC,SAAiC,cAAA,gBACjC,SAAiC,eAAA,gBACjC,SAAiC,aAAA,gBACjC,SACE,cAAA,gBACA,aAAA,gBAEF,SACE,YAAA,gBACA,eAAA,gBAXF,QAAiC,QAAA,eACjC,SAAiC,YAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,eAAA,eACjC,SAAiC,aAAA,eACjC,SACE,cAAA,eACA,aAAA,eAEF,SACE,YAAA,eACA,eAAA,eAXF,QAAiC,QAAA,iBACjC,SAAiC,YAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,eAAA,iBACjC,SAAiC,aAAA,iBACjC,SACE,cAAA,iBACA,aAAA,iBAEF,SACE,YAAA,iBACA,eAAA,iBAXF,QAAiC,QAAA,eACjC,SAAiC,YAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,eAAA,eACjC,SAAiC,aAAA,eACjC,SACE,cAAA,eACA,aAAA,eAEF,SACE,YAAA,eACA,eAAA,eAMN,WAAoB,OAAA,eACpB,YAAoB,WAAA,eACpB,YAAoB,aAAA,eACpB,YAAoB,cAAA,eACpB,YAAoB,YAAA,eACpB,YACE,aAAA,eACA,YAAA,eAEF,YACE,WAAA,eACA,cAAA,gBnDmBF,yBmD/CI,QAAiC,OAAA,YACjC,SAAiC,WAAA,YACjC,SAAiC,aAAA,YACjC,SAAiC,cAAA,YACjC,SAAiC,YAAA,YACjC,SACE,aAAA,YACA,YAAA,YAEF,SACE,WAAA,YACA,cAAA,YAXF,QAAiC,OAAA,iBACjC,SAAiC,WAAA,iBACjC,SAAiC,aAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,YAAA,iBACjC,SACE,aAAA,iBACA,YAAA,iBAEF,SACE,WAAA,iBACA,cAAA,iBAXF,QAAiC,OAAA,gBACjC,SAAiC,WAAA,gBACjC,SAAiC,aAAA,gBACjC,SAAiC,cAAA,gBACjC,SAAiC,YAAA,gBACjC,SACE,aAAA,gBACA,YAAA,gBAEF,SACE,WAAA,gBACA,cAAA,gBAXF,QAAiC,OAAA,eACjC,SAAiC,WAAA,eACjC,SAAiC,aAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,YAAA,eACjC,SACE,aAAA,eACA,YAAA,eAEF,SACE,WAAA,eACA,cAAA,eAXF,QAAiC,OAAA,iBACjC,SAAiC,WAAA,iBACjC,SAAiC,aAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,YAAA,iBACjC,SACE,aAAA,iBACA,YAAA,iBAEF,SACE,WAAA,iBACA,cAAA,iBAXF,QAAiC,OAAA,eACjC,SAAiC,WAAA,eACjC,SAAiC,aAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,YAAA,eACjC,SACE,aAAA,eACA,YAAA,eAEF,SACE,WAAA,eACA,cAAA,eAXF,QAAiC,QAAA,YACjC,SAAiC,YAAA,YACjC,SAAiC,cAAA,YACjC,SAAiC,eAAA,YACjC,SAAiC,aAAA,YACjC,SACE,cAAA,YACA,aAAA,YAEF,SACE,YAAA,YACA,eAAA,YAXF,QAAiC,QAAA,iBACjC,SAAiC,YAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,eAAA,iBACjC,SAAiC,aAAA,iBACjC,SACE,cAAA,iBACA,aAAA,iBAEF,SACE,YAAA,iBACA,eAAA,iBAXF,QAAiC,QAAA,gBACjC,SAAiC,YAAA,gBACjC,SAAiC,cAAA,gBACjC,SAAiC,eAAA,gBACjC,SAAiC,aAAA,gBACjC,SACE,cAAA,gBACA,aAAA,gBAEF,SACE,YAAA,gBACA,eAAA,gBAXF,QAAiC,QAAA,eACjC,SAAiC,YAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,eAAA,eACjC,SAAiC,aAAA,eACjC,SACE,cAAA,eACA,aAAA,eAEF,SACE,YAAA,eACA,eAAA,eAXF,QAAiC,QAAA,iBACjC,SAAiC,YAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,eAAA,iBACjC,SAAiC,aAAA,iBACjC,SACE,cAAA,iBACA,aAAA,iBAEF,SACE,YAAA,iBACA,eAAA,iBAXF,QAAiC,QAAA,eACjC,SAAiC,YAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,eAAA,eACjC,SAAiC,aAAA,eACjC,SACE,cAAA,eACA,aAAA,eAEF,SACE,YAAA,eACA,eAAA,eAMN,WAAoB,OAAA,eACpB,YAAoB,WAAA,eACpB,YAAoB,aAAA,eACpB,YAAoB,cAAA,eACpB,YAAoB,YAAA,eACpB,YACE,aAAA,eACA,YAAA,eAEF,YACE,WAAA,eACA,cAAA,gBnDmBF,0BmD/CI,QAAiC,OAAA,YACjC,SAAiC,WAAA,YACjC,SAAiC,aAAA,YACjC,SAAiC,cAAA,YACjC,SAAiC,YAAA,YACjC,SACE,aAAA,YACA,YAAA,YAEF,SACE,WAAA,YACA,cAAA,YAXF,QAAiC,OAAA,iBACjC,SAAiC,WAAA,iBACjC,SAAiC,aAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,YAAA,iBACjC,SACE,aAAA,iBACA,YAAA,iBAEF,SACE,WAAA,iBACA,cAAA,iBAXF,QAAiC,OAAA,gBACjC,SAAiC,WAAA,gBACjC,SAAiC,aAAA,gBACjC,SAAiC,cAAA,gBACjC,SAAiC,YAAA,gBACjC,SACE,aAAA,gBACA,YAAA,gBAEF,SACE,WAAA,gBACA,cAAA,gBAXF,QAAiC,OAAA,eACjC,SAAiC,WAAA,eACjC,SAAiC,aAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,YAAA,eACjC,SACE,aAAA,eACA,YAAA,eAEF,SACE,WAAA,eACA,cAAA,eAXF,QAAiC,OAAA,iBACjC,SAAiC,WAAA,iBACjC,SAAiC,aAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,YAAA,iBACjC,SACE,aAAA,iBACA,YAAA,iBAEF,SACE,WAAA,iBACA,cAAA,iBAXF,QAAiC,OAAA,eACjC,SAAiC,WAAA,eACjC,SAAiC,aAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,YAAA,eACjC,SACE,aAAA,eACA,YAAA,eAEF,SACE,WAAA,eACA,cAAA,eAXF,QAAiC,QAAA,YACjC,SAAiC,YAAA,YACjC,SAAiC,cAAA,YACjC,SAAiC,eAAA,YACjC,SAAiC,aAAA,YACjC,SACE,cAAA,YACA,aAAA,YAEF,SACE,YAAA,YACA,eAAA,YAXF,QAAiC,QAAA,iBACjC,SAAiC,YAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,eAAA,iBACjC,SAAiC,aAAA,iBACjC,SACE,cAAA,iBACA,aAAA,iBAEF,SACE,YAAA,iBACA,eAAA,iBAXF,QAAiC,QAAA,gBACjC,SAAiC,YAAA,gBACjC,SAAiC,cAAA,gBACjC,SAAiC,eAAA,gBACjC,SAAiC,aAAA,gBACjC,SACE,cAAA,gBACA,aAAA,gBAEF,SACE,YAAA,gBACA,eAAA,gBAXF,QAAiC,QAAA,eACjC,SAAiC,YAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,eAAA,eACjC,SAAiC,aAAA,eACjC,SACE,cAAA,eACA,aAAA,eAEF,SACE,YAAA,eACA,eAAA,eAXF,QAAiC,QAAA,iBACjC,SAAiC,YAAA,iBACjC,SAAiC,cAAA,iBACjC,SAAiC,eAAA,iBACjC,SAAiC,aAAA,iBACjC,SACE,cAAA,iBACA,aAAA,iBAEF,SACE,YAAA,iBACA,eAAA,iBAXF,QAAiC,QAAA,eACjC,SAAiC,YAAA,eACjC,SAAiC,cAAA,eACjC,SAAiC,eAAA,eACjC,SAAiC,aAAA,eACjC,SACE,cAAA,eACA,aAAA,eAEF,SACE,YAAA,eACA,eAAA,eAMN,WAAoB,OAAA,eACpB,YAAoB,WAAA,eACpB,YAAoB,aAAA,eACpB,YAAoB,cAAA,eACpB,YAAoB,YAAA,eACpB,YACE,aAAA,eACA,YAAA,eAEF,YACE,WAAA,eACA,cAAA,gBC/BN,cAAiB,WAAA,kBACjB,aAAiB,YAAA,iBACjB,eCJE,SAAA,OACA,cAAA,SACA,YAAA,ODUE,WAAwB,WAAA,eACxB,YAAwB,WAAA,gBACxB,aAAwB,WAAA,iBpDsCxB,yBoDxCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBpDsCxB,yBoDxCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBpDsCxB,yBoDxCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBpDsCxB,0BoDxCA,cAAwB,WAAA,eACxB,eAAwB,WAAA,gBACxB,gBAAwB,WAAA,kBAM5B,gBAAmB,eAAA,oBACnB,gBAAmB,eAAA,oBACnB,iBAAmB,eAAA,qBAInB,oBAAsB,YAAA,IACtB,kBAAsB,YAAA,IACtB,aAAsB,WAAA,OAItB,YACE,MAAA,eElCA,YACE,MAAA,kBhEkBA,mBAAA,mBgEdE,MAAA,kBALJ,cACE,MAAA,kBhEkBA,qBAAA,qBgEdE,MAAA,kBALJ,cACE,MAAA,kBhEkBA,qBAAA,qBgEdE,MAAA,kBALJ,WACE,MAAA,kBhEkBA,kBAAA,kBgEdE,MAAA,kBALJ,cACE,MAAA,kBhEkBA,qBAAA,qBgEdE,MAAA,kBALJ,aACE,MAAA,kBhEkBA,oBAAA,oBgEdE,MAAA,kBALJ,gBACE,MAAA,kBhEkBA,uBAAA,uBgEdE,MAAA,kBFkDN,WGxDE,KAAA,CAAA,CAAA,EAAA,EACA,MAAA,YACA,YAAA,KACA,iBAAA,YACA,OAAA,ECFF,SCDE,WAAA,kBDKF,WCLE,WAAA"} \ No newline at end of file
diff --git a/docs/dist/js/bootstrap.js b/docs/dist/js/bootstrap.js
index b9e5f56f9..f05008306 100644
--- a/docs/dist/js/bootstrap.js
+++ b/docs/dist/js/bootstrap.js
@@ -1,6 +1,6 @@
/*!
- * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
@@ -8,16 +8,14 @@ if (typeof jQuery === 'undefined') {
throw new Error('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
}
-+function ($) {
+(function ($) {
var version = $.fn.jquery.split(' ')[0].split('.')
if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
}
-}(jQuery);
-
-
-+function () {
+})(jQuery);
+(function () {
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
@@ -30,7 +28,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): util.js
+ * Bootstrap (v4.0.0-alpha.6): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -141,13 +139,16 @@ var Util = function ($) {
},
getSelectorFromElement: function getSelectorFromElement(element) {
var selector = element.getAttribute('data-target');
-
- if (!selector) {
+ if (!selector || selector === '#') {
selector = element.getAttribute('href') || '';
- selector = /^#[a-z]/i.test(selector) ? selector : null;
}
- return selector;
+ try {
+ var $selector = $(selector);
+ return $selector.length > 0 ? selector : null;
+ } catch (error) {
+ return null;
+ }
},
reflow: function reflow(element) {
return element.offsetHeight;
@@ -180,7 +181,7 @@ var Util = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): alert.js
+ * Bootstrap (v4.0.0-alpha.6): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -194,7 +195,7 @@ var Alert = function ($) {
*/
var NAME = 'alert';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -359,7 +360,7 @@ var Alert = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): button.js
+ * Bootstrap (v4.0.0-alpha.6): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -373,7 +374,7 @@ var Button = function ($) {
*/
var NAME = 'button';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.button';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -417,6 +418,7 @@ var Button = function ($) {
Button.prototype.toggle = function toggle() {
var triggerChangeEvent = true;
+ var addAriaPressed = true;
var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
if (rootElement) {
@@ -436,13 +438,19 @@ var Button = function ($) {
}
if (triggerChangeEvent) {
+ if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+ return;
+ }
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
$(input).trigger('change');
}
input.focus();
+ addAriaPressed = false;
}
- } else {
+ }
+
+ if (addAriaPressed) {
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
}
@@ -522,7 +530,7 @@ var Button = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): carousel.js
+ * Bootstrap (v4.0.0-alpha.6): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -536,7 +544,7 @@ var Carousel = function ($) {
*/
var NAME = 'carousel';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -544,6 +552,7 @@ var Carousel = function ($) {
var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+ var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
var Default = {
interval: 5000,
@@ -574,6 +583,7 @@ var Carousel = function ($) {
KEYDOWN: 'keydown' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY,
+ TOUCHEND: 'touchend' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
@@ -616,6 +626,8 @@ var Carousel = function ($) {
this._isPaused = false;
this._isSliding = false;
+ this.touchTimeout = null;
+
this._config = this._getConfig(config);
this._element = $(element)[0];
this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
@@ -628,10 +640,9 @@ var Carousel = function ($) {
// public
Carousel.prototype.next = function next() {
- if (this._isSliding) {
- throw new Error('Carousel is sliding');
+ if (!this._isSliding) {
+ this._slide(Direction.NEXT);
}
- this._slide(Direction.NEXT);
};
Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
@@ -642,10 +653,9 @@ var Carousel = function ($) {
};
Carousel.prototype.prev = function prev() {
- if (this._isSliding) {
- throw new Error('Carousel is sliding');
+ if (!this._isSliding) {
+ this._slide(Direction.PREV);
}
- this._slide(Direction.PREVIOUS);
};
Carousel.prototype.pause = function pause(event) {
@@ -701,7 +711,7 @@ var Carousel = function ($) {
return;
}
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
this._slide(direction, this._items[index]);
};
@@ -737,12 +747,30 @@ var Carousel = function ($) {
});
}
- if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
+ if (this._config.pause === 'hover') {
$(this._element).on(Event.MOUSEENTER, function (event) {
return _this4.pause(event);
}).on(Event.MOUSELEAVE, function (event) {
return _this4.cycle(event);
});
+ if ('ontouchstart' in document.documentElement) {
+ // if it's a touch-enabled device, mouseenter/leave are fired as
+ // part of the mouse compatibility events on first tap - the carousel
+ // would stop cycling until user tapped out of it;
+ // here, we listen for touchend, explicitly pause the carousel
+ // (as if it's the second time we tap on it, mouseenter compat event
+ // is NOT fired) and after a timeout (to allow for mouse compatibility
+ // events to fire) we explicitly restart cycling
+ $(this._element).on(Event.TOUCHEND, function () {
+ _this4.pause();
+ if (_this4.touchTimeout) {
+ clearTimeout(_this4.touchTimeout);
+ }
+ _this4.touchTimeout = setTimeout(function (event) {
+ return _this4.cycle(event);
+ }, TOUCHEVENT_COMPAT_WAIT + _this4._config.interval);
+ });
+ }
}
};
@@ -772,7 +800,7 @@ var Carousel = function ($) {
Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
var isNextDirection = direction === Direction.NEXT;
- var isPrevDirection = direction === Direction.PREVIOUS;
+ var isPrevDirection = direction === Direction.PREV;
var activeIndex = this._getItemIndex(activeElement);
var lastItemIndex = this._items.length - 1;
var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
@@ -781,16 +809,20 @@ var Carousel = function ($) {
return activeElement;
}
- var delta = direction === Direction.PREVIOUS ? -1 : 1;
+ var delta = direction === Direction.PREV ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
};
Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+ var targetIndex = this._getItemIndex(relatedTarget);
+ var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]);
var slideEvent = $.Event(Event.SLIDE, {
relatedTarget: relatedTarget,
- direction: eventDirectionName
+ direction: eventDirectionName,
+ from: fromIndex,
+ to: targetIndex
});
$(this._element).trigger(slideEvent);
@@ -814,8 +846,9 @@ var Carousel = function ($) {
var _this5 = this;
var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+ var activeElementIndex = this._getItemIndex(activeElement);
var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
-
+ var nextElementIndex = this._getItemIndex(nextElement);
var isCycling = Boolean(this._interval);
var directionalClassName = void 0;
@@ -857,7 +890,9 @@ var Carousel = function ($) {
var slidEvent = $.Event(Event.SLID, {
relatedTarget: nextElement,
- direction: eventDirectionName
+ direction: eventDirectionName,
+ from: activeElementIndex,
+ to: nextElementIndex
});
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
@@ -1002,7 +1037,7 @@ var Carousel = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): collapse.js
+ * Bootstrap (v4.0.0-alpha.6): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1016,7 +1051,7 @@ var Collapse = function ($) {
*/
var NAME = 'collapse';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -1054,7 +1089,7 @@ var Collapse = function ($) {
};
var Selector = {
- ACTIVES: '.card > .show, .card > .collapsing',
+ ACTIVES: '.show, .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
};
@@ -1099,11 +1134,7 @@ var Collapse = function ($) {
Collapse.prototype.show = function show() {
var _this6 = this;
- if (this._isTransitioning) {
- throw new Error('Collapse is transitioning');
- }
-
- if ($(this._element).hasClass(ClassName.SHOW)) {
+ if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
return;
}
@@ -1111,7 +1142,7 @@ var Collapse = function ($) {
var activesData = void 0;
if (this._parent) {
- actives = $.makeArray($(this._parent).find(Selector.ACTIVES));
+ actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES));
if (!actives.length) {
actives = null;
}
@@ -1142,7 +1173,6 @@ var Collapse = function ($) {
$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
this._element.style[dimension] = 0;
- this._element.setAttribute('aria-expanded', true);
if (this._triggerArray.length) {
$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
@@ -1176,11 +1206,7 @@ var Collapse = function ($) {
Collapse.prototype.hide = function hide() {
var _this7 = this;
- if (this._isTransitioning) {
- throw new Error('Collapse is transitioning');
- }
-
- if (!$(this._element).hasClass(ClassName.SHOW)) {
+ if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
return;
}
@@ -1191,16 +1217,13 @@ var Collapse = function ($) {
}
var dimension = this._getDimension();
- var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
- this._element.style[dimension] = this._element[offsetDimension] + 'px';
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + 'px';
Util.reflow(this._element);
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
- this._element.setAttribute('aria-expanded', false);
-
if (this._triggerArray.length) {
$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
}
@@ -1266,7 +1289,6 @@ var Collapse = function ($) {
Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
var isOpen = $(element).hasClass(ClassName.SHOW);
- element.setAttribute('aria-expanded', isOpen);
if (triggerArray.length) {
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
@@ -1327,7 +1349,9 @@ var Collapse = function ($) {
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- event.preventDefault();
+ if (!/input|textarea/i.test(event.target.tagName)) {
+ event.preventDefault();
+ }
var target = Collapse._getTargetFromElement(this);
var data = $(target).data(DATA_KEY);
@@ -1352,9 +1376,11 @@ var Collapse = function ($) {
return Collapse;
}(jQuery);
+/* global Popper */
+
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): dropdown.js
+ * Bootstrap (v4.0.0-alpha.6): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1362,21 +1388,32 @@ var Collapse = function ($) {
var Dropdown = function ($) {
/**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+ if (typeof Popper === 'undefined') {
+ throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
+ }
+
+ /**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+ var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+ var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
+ var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + '|' + ARROW_DOWN_KEYCODE + '|' + ESCAPE_KEYCODE);
var Event = {
HIDE: 'hide' + EVENT_KEY,
@@ -1385,23 +1422,38 @@ var Dropdown = function ($) {
SHOWN: 'shown' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
- KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
+ KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY,
+ KEYUP_DATA_API: 'keyup' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
- BACKDROP: 'dropdown-backdrop',
DISABLED: 'disabled',
SHOW: 'show'
};
var Selector = {
- BACKDROP: '.dropdown-backdrop',
DATA_TOGGLE: '[data-toggle="dropdown"]',
FORM_CHILD: '.dropdown form',
- ROLE_MENU: '[role="menu"]',
- ROLE_LISTBOX: '[role="listbox"]',
+ MENU: '.dropdown-menu',
NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
+ VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
+ };
+
+ var AttachmentMap = {
+ TOP: 'top-start',
+ BOTTOM: 'bottom-start'
+ };
+
+ var Default = {
+ placement: AttachmentMap.BOTTOM,
+ offset: 0,
+ flip: true
+ };
+
+ var DefaultType = {
+ placement: 'string',
+ offset: '(number|string)',
+ flip: 'boolean'
};
/**
@@ -1411,10 +1463,13 @@ var Dropdown = function ($) {
*/
var Dropdown = function () {
- function Dropdown(element) {
+ function Dropdown(element, config) {
_classCallCheck(this, Dropdown);
this._element = element;
+ this._popper = null;
+ this._config = this._getConfig(config);
+ this._menu = this._getMenuElement();
this._addEventListeners();
}
@@ -1424,58 +1479,107 @@ var Dropdown = function ($) {
// public
Dropdown.prototype.toggle = function toggle() {
- if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
- return false;
+ if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
+ return;
}
- var parent = Dropdown._getParentFromElement(this);
- var isActive = $(parent).hasClass(ClassName.SHOW);
+ var parent = Dropdown._getParentFromElement(this._element);
+ var isActive = $(this._menu).hasClass(ClassName.SHOW);
Dropdown._clearMenus();
if (isActive) {
- return false;
- }
-
- if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
-
- // if mobile we use a backdrop because click events don't delegate
- var dropdown = document.createElement('div');
- dropdown.className = ClassName.BACKDROP;
- $(dropdown).insertBefore(this);
- $(dropdown).on('click', Dropdown._clearMenus);
+ return;
}
var relatedTarget = {
- relatedTarget: this
+ relatedTarget: this._element
};
var showEvent = $.Event(Event.SHOW, relatedTarget);
$(parent).trigger(showEvent);
if (showEvent.isDefaultPrevented()) {
- return false;
+ return;
}
- this.focus();
- this.setAttribute('aria-expanded', true);
+ // Handle dropup
+ var dropdownPlacement = $(this._element).parent().hasClass('dropup') ? AttachmentMap.TOP : this._config.placement;
+ this._popper = new Popper(this._element, this._menu, {
+ placement: dropdownPlacement,
+ modifiers: {
+ offset: {
+ offset: this._config.offset
+ },
+ flip: {
+ enabled: this._config.flip
+ }
+ }
+ });
+
+ // if this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+ if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
+ $('body').children().on('mouseover', null, $.noop);
+ }
- $(parent).toggleClass(ClassName.SHOW);
- $(parent).trigger($.Event(Event.SHOWN, relatedTarget));
+ this._element.focus();
+ this._element.setAttribute('aria-expanded', true);
- return false;
+ $(this._menu).toggleClass(ClassName.SHOW);
+ $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
};
Dropdown.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._element).off(EVENT_KEY);
this._element = null;
+ this._menu = null;
+ if (this._popper !== null) {
+ this._popper.destroy();
+ }
+ this._popper = null;
+ };
+
+ Dropdown.prototype.update = function update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
};
// private
Dropdown.prototype._addEventListeners = function _addEventListeners() {
- $(this._element).on(Event.CLICK, this.toggle);
+ var _this9 = this;
+
+ $(this._element).on(Event.CLICK, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
+ _this9.toggle();
+ });
+ };
+
+ Dropdown.prototype._getConfig = function _getConfig(config) {
+ var elementData = $(this._element).data();
+ if (elementData.placement !== undefined) {
+ elementData.placement = AttachmentMap[elementData.placement.toUpperCase()];
+ }
+
+ config = $.extend({}, this.constructor.Default, $(this._element).data(), config);
+
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+
+ return config;
+ };
+
+ Dropdown.prototype._getMenuElement = function _getMenuElement() {
+ if (!this._menu) {
+ var parent = Dropdown._getParentFromElement(this._element);
+ this._menu = $(parent).find(Selector.MENU)[0];
+ }
+ return this._menu;
};
// static
@@ -1483,9 +1587,10 @@ var Dropdown = function ($) {
Dropdown._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
if (!data) {
- data = new Dropdown(this);
+ data = new Dropdown(this, _config);
$(this).data(DATA_KEY, data);
}
@@ -1493,34 +1598,34 @@ var Dropdown = function ($) {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
- data[config].call(this);
+ data[config]();
}
});
};
Dropdown._clearMenus = function _clearMenus(event) {
- if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
+ if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
return;
}
- var backdrop = $(Selector.BACKDROP)[0];
- if (backdrop) {
- backdrop.parentNode.removeChild(backdrop);
- }
-
var toggles = $.makeArray($(Selector.DATA_TOGGLE));
-
for (var i = 0; i < toggles.length; i++) {
var parent = Dropdown._getParentFromElement(toggles[i]);
+ var context = $(toggles[i]).data(DATA_KEY);
var relatedTarget = {
relatedTarget: toggles[i]
};
+ if (!context) {
+ continue;
+ }
+
+ var dropdownMenu = context._menu;
if (!$(parent).hasClass(ClassName.SHOW)) {
continue;
}
- if (event && event.type === 'click' && /input|textarea/i.test(event.target.tagName) && $.contains(parent, event.target)) {
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
continue;
}
@@ -1530,8 +1635,15 @@ var Dropdown = function ($) {
continue;
}
+ // if this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().off('mouseover', null, $.noop);
+ }
+
toggles[i].setAttribute('aria-expanded', 'false');
+ $(dropdownMenu).removeClass(ClassName.SHOW);
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
}
};
@@ -1548,7 +1660,7 @@ var Dropdown = function ($) {
};
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
- if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
+ if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE || /input|textarea/i.test(event.target.tagName)) {
return;
}
@@ -1562,7 +1674,7 @@ var Dropdown = function ($) {
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
- if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
+ if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
@@ -1603,6 +1715,16 @@ var Dropdown = function ($) {
get: function get() {
return VERSION;
}
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: 'DefaultType',
+ get: function get() {
+ return DefaultType;
+ }
}]);
return Dropdown;
@@ -1614,7 +1736,11 @@ var Dropdown = function ($) {
* ------------------------------------------------------------------------
*/
- $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+ $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
+ Dropdown._jQueryInterface.call($(this), 'toggle');
+ }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
e.stopPropagation();
});
@@ -1636,7 +1762,7 @@ var Dropdown = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): modal.js
+ * Bootstrap (v4.0.0-alpha.6): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -1650,7 +1776,7 @@ var Modal = function ($) {
*/
var NAME = 'modal';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -1699,7 +1825,8 @@ var Modal = function ($) {
DIALOG: '.modal-dialog',
DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]',
- FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+ NAVBAR_TOGGLER: '.navbar-toggler'
};
/**
@@ -1719,7 +1846,6 @@ var Modal = function ($) {
this._isShown = false;
this._isBodyOverflowing = false;
this._ignoreBackdropClick = false;
- this._isTransitioning = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
}
@@ -1733,15 +1859,16 @@ var Modal = function ($) {
};
Modal.prototype.show = function show(relatedTarget) {
- var _this9 = this;
+ var _this10 = this;
if (this._isTransitioning) {
- throw new Error('Modal is transitioning');
+ return;
}
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
}
+
var showEvent = $.Event(Event.SHOW, {
relatedTarget: relatedTarget
});
@@ -1763,39 +1890,41 @@ var Modal = function ($) {
this._setResizeEvent();
$(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
- return _this9.hide(event);
+ return _this10.hide(event);
});
$(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
- $(_this9._element).one(Event.MOUSEUP_DISMISS, function (event) {
- if ($(event.target).is(_this9._element)) {
- _this9._ignoreBackdropClick = true;
+ $(_this10._element).one(Event.MOUSEUP_DISMISS, function (event) {
+ if ($(event.target).is(_this10._element)) {
+ _this10._ignoreBackdropClick = true;
}
});
});
this._showBackdrop(function () {
- return _this9._showElement(relatedTarget);
+ return _this10._showElement(relatedTarget);
});
};
Modal.prototype.hide = function hide(event) {
- var _this10 = this;
+ var _this11 = this;
if (event) {
event.preventDefault();
}
- if (this._isTransitioning) {
- throw new Error('Modal is transitioning');
+ if (this._isTransitioning || !this._isShown) {
+ return;
}
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+
if (transition) {
this._isTransitioning = true;
}
var hideEvent = $.Event(Event.HIDE);
+
$(this._element).trigger(hideEvent);
if (!this._isShown || hideEvent.isDefaultPrevented()) {
@@ -1815,8 +1944,9 @@ var Modal = function ($) {
$(this._dialog).off(Event.MOUSEDOWN_DISMISS);
if (transition) {
+
$(this._element).one(Util.TRANSITION_END, function (event) {
- return _this10._hideModal(event);
+ return _this11._hideModal(event);
}).emulateTransitionEnd(TRANSITION_DURATION);
} else {
this._hideModal();
@@ -1835,10 +1965,13 @@ var Modal = function ($) {
this._isShown = null;
this._isBodyOverflowing = null;
this._ignoreBackdropClick = null;
- this._originalBodyPadding = null;
this._scrollbarWidth = null;
};
+ Modal.prototype.handleUpdate = function handleUpdate() {
+ this._adjustDialog();
+ };
+
// private
Modal.prototype._getConfig = function _getConfig(config) {
@@ -1848,7 +1981,7 @@ var Modal = function ($) {
};
Modal.prototype._showElement = function _showElement(relatedTarget) {
- var _this11 = this;
+ var _this12 = this;
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
@@ -1876,11 +2009,11 @@ var Modal = function ($) {
});
var transitionComplete = function transitionComplete() {
- if (_this11._config.focus) {
- _this11._element.focus();
+ if (_this12._config.focus) {
+ _this12._element.focus();
}
- _this11._isTransitioning = false;
- $(_this11._element).trigger(shownEvent);
+ _this12._isTransitioning = false;
+ $(_this12._element).trigger(shownEvent);
};
if (transition) {
@@ -1891,23 +2024,24 @@ var Modal = function ($) {
};
Modal.prototype._enforceFocus = function _enforceFocus() {
- var _this12 = this;
+ var _this13 = this;
$(document).off(Event.FOCUSIN) // guard against infinite focus loop
.on(Event.FOCUSIN, function (event) {
- if (document !== event.target && _this12._element !== event.target && !$(_this12._element).has(event.target).length) {
- _this12._element.focus();
+ if (document !== event.target && _this13._element !== event.target && !$(_this13._element).has(event.target).length) {
+ _this13._element.focus();
}
});
};
Modal.prototype._setEscapeEvent = function _setEscapeEvent() {
- var _this13 = this;
+ var _this14 = this;
if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === ESCAPE_KEYCODE) {
- _this13.hide();
+ event.preventDefault();
+ _this14.hide();
}
});
} else if (!this._isShown) {
@@ -1916,11 +2050,11 @@ var Modal = function ($) {
};
Modal.prototype._setResizeEvent = function _setResizeEvent() {
- var _this14 = this;
+ var _this15 = this;
if (this._isShown) {
$(window).on(Event.RESIZE, function (event) {
- return _this14._handleUpdate(event);
+ return _this15.handleUpdate(event);
});
} else {
$(window).off(Event.RESIZE);
@@ -1928,16 +2062,16 @@ var Modal = function ($) {
};
Modal.prototype._hideModal = function _hideModal() {
- var _this15 = this;
+ var _this16 = this;
this._element.style.display = 'none';
- this._element.setAttribute('aria-hidden', 'true');
+ this._element.setAttribute('aria-hidden', true);
this._isTransitioning = false;
this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN);
- _this15._resetAdjustments();
- _this15._resetScrollbar();
- $(_this15._element).trigger(Event.HIDDEN);
+ _this16._resetAdjustments();
+ _this16._resetScrollbar();
+ $(_this16._element).trigger(Event.HIDDEN);
});
};
@@ -1949,7 +2083,7 @@ var Modal = function ($) {
};
Modal.prototype._showBackdrop = function _showBackdrop(callback) {
- var _this16 = this;
+ var _this17 = this;
var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
@@ -1966,17 +2100,17 @@ var Modal = function ($) {
$(this._backdrop).appendTo(document.body);
$(this._element).on(Event.CLICK_DISMISS, function (event) {
- if (_this16._ignoreBackdropClick) {
- _this16._ignoreBackdropClick = false;
+ if (_this17._ignoreBackdropClick) {
+ _this17._ignoreBackdropClick = false;
return;
}
if (event.target !== event.currentTarget) {
return;
}
- if (_this16._config.backdrop === 'static') {
- _this16._element.focus();
+ if (_this17._config.backdrop === 'static') {
+ _this17._element.focus();
} else {
- _this16.hide();
+ _this17.hide();
}
});
@@ -2000,7 +2134,7 @@ var Modal = function ($) {
$(this._backdrop).removeClass(ClassName.SHOW);
var callbackRemove = function callbackRemove() {
- _this16._removeBackdrop();
+ _this17._removeBackdrop();
if (callback) {
callback();
}
@@ -2021,10 +2155,6 @@ var Modal = function ($) {
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
- Modal.prototype._handleUpdate = function _handleUpdate() {
- this._adjustDialog();
- };
-
Modal.prototype._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
@@ -2048,17 +2178,55 @@ var Modal = function ($) {
};
Modal.prototype._setScrollbar = function _setScrollbar() {
- var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
-
- this._originalBodyPadding = document.body.style.paddingRight || '';
+ var _this18 = this;
if (this._isBodyOverflowing) {
- document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
+ // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+ // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+
+ // Adjust fixed content padding
+ $(Selector.FIXED_CONTENT).each(function (index, element) {
+ var actualPadding = $(element)[0].style.paddingRight;
+ var calculatedPadding = $(element).css('padding-right');
+ $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this18._scrollbarWidth + 'px');
+ });
+
+ // Adjust navbar-toggler margin
+ $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var actualMargin = $(element)[0].style.marginRight;
+ var calculatedMargin = $(element).css('margin-right');
+ $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this18._scrollbarWidth + 'px');
+ });
+
+ // Adjust body padding
+ var actualPadding = document.body.style.paddingRight;
+ var calculatedPadding = $('body').css('padding-right');
+ $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + 'px');
}
};
Modal.prototype._resetScrollbar = function _resetScrollbar() {
- document.body.style.paddingRight = this._originalBodyPadding;
+ // Restore fixed content padding
+ $(Selector.FIXED_CONTENT).each(function (index, element) {
+ var padding = $(element).data('padding-right');
+ if (typeof padding !== 'undefined') {
+ $(element).css('padding-right', padding).removeData('padding-right');
+ }
+ });
+
+ // Restore navbar-toggler margin
+ $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var margin = $(element).data('margin-right');
+ if (typeof margin !== 'undefined') {
+ $(element).css('margin-right', margin).removeData('margin-right');
+ }
+ });
+
+ // Restore body padding
+ var padding = $('body').data('padding-right');
+ if (typeof padding !== 'undefined') {
+ $('body').css('padding-right', padding).removeData('padding-right');
+ }
};
Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
@@ -2066,7 +2234,7 @@ var Modal = function ($) {
var scrollDiv = document.createElement('div');
scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
- var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
};
@@ -2116,7 +2284,7 @@ var Modal = function ($) {
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- var _this17 = this;
+ var _this19 = this;
var target = void 0;
var selector = Util.getSelectorFromElement(this);
@@ -2138,8 +2306,8 @@ var Modal = function ($) {
}
$target.one(Event.HIDDEN, function () {
- if ($(_this17).is(':visible')) {
- _this17.focus();
+ if ($(_this19).is(':visible')) {
+ _this19.focus();
}
});
});
@@ -2165,7 +2333,7 @@ var Modal = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): scrollspy.js
+ * Bootstrap (v4.0.0-alpha.6): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2179,7 +2347,7 @@ var ScrollSpy = function ($) {
*/
var NAME = 'scrollspy';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -2206,18 +2374,15 @@ var ScrollSpy = function ($) {
var ClassName = {
DROPDOWN_ITEM: 'dropdown-item',
DROPDOWN_MENU: 'dropdown-menu',
- NAV_LINK: 'nav-link',
- NAV: 'nav',
ACTIVE: 'active'
};
var Selector = {
DATA_SPY: '[data-spy="scroll"]',
ACTIVE: '.active',
- LIST_ITEM: '.list-item',
- LI: 'li',
- LI_DROPDOWN: 'li.dropdown',
+ NAV_LIST_GROUP: '.nav, .list-group',
NAV_LINKS: '.nav-link',
+ LIST_ITEMS: '.list-group-item',
DROPDOWN: '.dropdown',
DROPDOWN_ITEMS: '.dropdown-item',
DROPDOWN_TOGGLE: '.dropdown-toggle'
@@ -2236,21 +2401,21 @@ var ScrollSpy = function ($) {
var ScrollSpy = function () {
function ScrollSpy(element, config) {
- var _this18 = this;
+ var _this20 = this;
_classCallCheck(this, ScrollSpy);
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
- this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
+ this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.LIST_ITEMS + ',') + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
this._scrollHeight = 0;
$(this._scrollElement).on(Event.SCROLL, function (event) {
- return _this18._process(event);
+ return _this20._process(event);
});
this.refresh();
@@ -2262,7 +2427,7 @@ var ScrollSpy = function ($) {
// public
ScrollSpy.prototype.refresh = function refresh() {
- var _this19 = this;
+ var _this21 = this;
var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;
@@ -2285,9 +2450,12 @@ var ScrollSpy = function ($) {
target = $(targetSelector)[0];
}
- if (target && (target.offsetWidth || target.offsetHeight)) {
- // todo (fat): remove sketch reliance on jQuery position/offset
- return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+ if (target) {
+ var targetBCR = target.getBoundingClientRect();
+ if (targetBCR.width || targetBCR.height) {
+ // todo (fat): remove sketch reliance on jQuery position/offset
+ return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+ }
}
return null;
}).filter(function (item) {
@@ -2295,8 +2463,8 @@ var ScrollSpy = function ($) {
}).sort(function (a, b) {
return a[0] - b[0];
}).forEach(function (item) {
- _this19._offsets.push(item[0]);
- _this19._targets.push(item[1]);
+ _this21._offsets.push(item[0]);
+ _this21._targets.push(item[1]);
});
};
@@ -2334,7 +2502,7 @@ var ScrollSpy = function ($) {
};
ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
- return this._scrollElement === window ? this._scrollElement.scrollY : this._scrollElement.scrollTop;
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
};
ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
@@ -2342,7 +2510,7 @@ var ScrollSpy = function ($) {
};
ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
- return this._scrollElement === window ? window.innerHeight : this._scrollElement.offsetHeight;
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
};
ScrollSpy.prototype._process = function _process() {
@@ -2394,9 +2562,11 @@ var ScrollSpy = function ($) {
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
$link.addClass(ClassName.ACTIVE);
} else {
- // todo (fat) this is kinda sus...
- // recursively add actives to tested nav-links
- $link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
+ // Set triggered link as active
+ $link.addClass(ClassName.ACTIVE);
+ // Set triggered links parents as active
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ', ' + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE);
}
$(this._scrollElement).trigger(Event.ACTIVATE, {
@@ -2477,7 +2647,7 @@ var ScrollSpy = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): tab.js
+ * Bootstrap (v4.0.0-alpha.6): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2491,7 +2661,7 @@ var Tab = function ($) {
*/
var NAME = 'tab';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -2515,14 +2685,10 @@ var Tab = function ($) {
};
var Selector = {
- A: 'a',
- LI: 'li',
DROPDOWN: '.dropdown',
- LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu)',
- FADE_CHILD: '> .nav-item .fade, > .fade',
+ NAV_LIST_GROUP: '.nav, .list-group',
ACTIVE: '.active',
- ACTIVE_CHILD: '> .nav-item > .active, > .active',
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
+ DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
};
@@ -2545,7 +2711,7 @@ var Tab = function ($) {
// public
Tab.prototype.show = function show() {
- var _this20 = this;
+ var _this22 = this;
if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) {
return;
@@ -2553,7 +2719,7 @@ var Tab = function ($) {
var target = void 0;
var previous = void 0;
- var listElement = $(this._element).closest(Selector.LIST)[0];
+ var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
var selector = Util.getSelectorFromElement(this._element);
if (listElement) {
@@ -2587,7 +2753,7 @@ var Tab = function ($) {
var complete = function complete() {
var hiddenEvent = $.Event(Event.HIDDEN, {
- relatedTarget: _this20._element
+ relatedTarget: _this22._element
});
var shownEvent = $.Event(Event.SHOWN, {
@@ -2595,7 +2761,7 @@ var Tab = function ($) {
});
$(previous).trigger(hiddenEvent);
- $(_this20._element).trigger(shownEvent);
+ $(_this22._element).trigger(shownEvent);
};
if (target) {
@@ -2606,20 +2772,20 @@ var Tab = function ($) {
};
Tab.prototype.dispose = function dispose() {
- $.removeClass(this._element, DATA_KEY);
+ $.removeData(this._element, DATA_KEY);
this._element = null;
};
// private
Tab.prototype._activate = function _activate(element, container, callback) {
- var _this21 = this;
+ var _this23 = this;
- var active = $(container).find(Selector.ACTIVE_CHILD)[0];
- var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
+ var active = $(container).find(Selector.ACTIVE)[0];
+ var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE);
var complete = function complete() {
- return _this21._transitionComplete(element, active, isTransitioning, callback);
+ return _this23._transitionComplete(element, active, isTransitioning, callback);
};
if (active && isTransitioning) {
@@ -2729,11 +2895,11 @@ var Tab = function ($) {
return Tab;
}(jQuery);
-/* global Tether */
+/* global Popper */
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): tooltip.js
+ * Bootstrap (v4.0.0-alpha.6): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -2741,11 +2907,11 @@ var Tab = function ($) {
var Tooltip = function ($) {
/**
- * Check for Tether dependency
- * Tether - http://tether.io/
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
*/
- if (typeof Tether === 'undefined') {
- throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
+ if (typeof Popper === 'undefined') {
+ throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
}
/**
@@ -2755,26 +2921,13 @@ var Tooltip = function ($) {
*/
var NAME = 'tooltip';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
- var CLASS_PREFIX = 'bs-tether';
-
- var Default = {
- animation: true,
- template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-inner"></div></div>',
- trigger: 'hover focus',
- title: '',
- delay: 0,
- html: false,
- selector: false,
- placement: 'top',
- offset: '0 0',
- constraints: [],
- container: false
- };
+ var CLASS_PREFIX = 'bs-tooltip';
+ var BSCLS_PREFIX_REGEX = new RegExp('(^|\\s)' + CLASS_PREFIX + '\\S+', 'g');
var DefaultType = {
animation: 'boolean',
@@ -2785,16 +2938,30 @@ var Tooltip = function ($) {
html: 'boolean',
selector: '(string|boolean)',
placement: '(string|function)',
- offset: 'string',
- constraints: 'array',
- container: '(string|element|boolean)'
+ offset: '(number|string)',
+ container: '(string|element|boolean)',
+ fallbackPlacement: '(string|array)'
};
var AttachmentMap = {
- TOP: 'bottom center',
- RIGHT: 'middle left',
- BOTTOM: 'top center',
- LEFT: 'middle right'
+ TOP: 'top',
+ RIGHT: 'right',
+ BOTTOM: 'bottom',
+ LEFT: 'left'
+ };
+
+ var Default = {
+ animation: true,
+ template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ selector: false,
+ placement: 'top',
+ offset: 0,
+ container: false,
+ fallbackPlacement: 'flip'
};
var HoverState = {
@@ -2825,11 +2992,6 @@ var Tooltip = function ($) {
TOOLTIP_INNER: '.tooltip-inner'
};
- var TetherClass = {
- element: false,
- enabled: false
- };
-
var Trigger = {
HOVER: 'hover',
FOCUS: 'focus',
@@ -2852,8 +3014,7 @@ var Tooltip = function ($) {
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
- this._isTransitioning = false;
- this._tether = null;
+ this._popper = null;
// protected
this.element = element;
@@ -2910,8 +3071,6 @@ var Tooltip = function ($) {
Tooltip.prototype.dispose = function dispose() {
clearTimeout(this._timeout);
- this.cleanupTether();
-
$.removeData(this.element, this.constructor.DATA_KEY);
$(this.element).off(this.constructor.EVENT_KEY);
@@ -2925,7 +3084,10 @@ var Tooltip = function ($) {
this._timeout = null;
this._hoverState = null;
this._activeTrigger = null;
- this._tether = null;
+ if (this._popper !== null) {
+ this._popper.destroy();
+ }
+ this._popper = null;
this.element = null;
this.config = null;
@@ -2933,7 +3095,7 @@ var Tooltip = function ($) {
};
Tooltip.prototype.show = function show() {
- var _this22 = this;
+ var _this24 = this;
if ($(this.element).css('display') === 'none') {
throw new Error('Please use show on visible elements');
@@ -2941,9 +3103,6 @@ var Tooltip = function ($) {
var showEvent = $.Event(this.constructor.Event.SHOW);
if (this.isWithContent() && this._isEnabled) {
- if (this._isTransitioning) {
- throw new Error('Tooltip is transitioning');
- }
$(this.element).trigger(showEvent);
var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
@@ -2967,68 +3126,86 @@ var Tooltip = function ($) {
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
var attachment = this._getAttachment(placement);
+ this.addAttachmentClass(attachment);
var container = this.config.container === false ? document.body : $(this.config.container);
- $(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
+ $(tip).data(this.constructor.DATA_KEY, this);
+
+ if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
+ $(tip).appendTo(container);
+ }
$(this.element).trigger(this.constructor.Event.INSERTED);
- this._tether = new Tether({
- attachment: attachment,
- element: tip,
- target: this.element,
- classes: TetherClass,
- classPrefix: CLASS_PREFIX,
- offset: this.config.offset,
- constraints: this.config.constraints,
- addTargetClasses: false
+ this._popper = new Popper(this.element, tip, {
+ placement: attachment,
+ modifiers: {
+ offset: {
+ offset: this.config.offset
+ },
+ flip: {
+ behavior: this.config.fallbackPlacement
+ }
+ },
+ onCreate: function onCreate(data) {
+ if (data.originalPlacement !== data.placement) {
+ _this24._handlePopperPlacementChange(data);
+ }
+ },
+ onUpdate: function onUpdate(data) {
+ _this24._handlePopperPlacementChange(data);
+ }
});
- Util.reflow(tip);
- this._tether.position();
-
$(tip).addClass(ClassName.SHOW);
+ // if this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().on('mouseover', null, $.noop);
+ }
+
var complete = function complete() {
- var prevHoverState = _this22._hoverState;
- _this22._hoverState = null;
- _this22._isTransitioning = false;
+ if (_this24.config.animation) {
+ _this24._fixTransition();
+ }
+ var prevHoverState = _this24._hoverState;
+ _this24._hoverState = null;
- $(_this22.element).trigger(_this22.constructor.Event.SHOWN);
+ $(_this24.element).trigger(_this24.constructor.Event.SHOWN);
if (prevHoverState === HoverState.OUT) {
- _this22._leave(null, _this22);
+ _this24._leave(null, _this24);
}
};
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
- this._isTransitioning = true;
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
- return;
+ } else {
+ complete();
}
-
- complete();
}
};
Tooltip.prototype.hide = function hide(callback) {
- var _this23 = this;
+ var _this25 = this;
var tip = this.getTipElement();
var hideEvent = $.Event(this.constructor.Event.HIDE);
- if (this._isTransitioning) {
- throw new Error('Tooltip is transitioning');
- }
var complete = function complete() {
- if (_this23._hoverState !== HoverState.SHOW && tip.parentNode) {
+ if (_this25._hoverState !== HoverState.SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
- _this23.element.removeAttribute('aria-describedby');
- $(_this23.element).trigger(_this23.constructor.Event.HIDDEN);
- _this23._isTransitioning = false;
- _this23.cleanupTether();
+ _this25._cleanTipClass();
+ _this25.element.removeAttribute('aria-describedby');
+ $(_this25.element).trigger(_this25.constructor.Event.HIDDEN);
+ if (_this25._popper !== null) {
+ _this25._popper.destroy();
+ }
if (callback) {
callback();
@@ -3043,12 +3220,18 @@ var Tooltip = function ($) {
$(tip).removeClass(ClassName.SHOW);
+ // if this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().off('mouseover', null, $.noop);
+ }
+
this._activeTrigger[Trigger.CLICK] = false;
this._activeTrigger[Trigger.FOCUS] = false;
this._activeTrigger[Trigger.HOVER] = false;
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
- this._isTransitioning = true;
+
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
@@ -3057,24 +3240,30 @@ var Tooltip = function ($) {
this._hoverState = '';
};
+ Tooltip.prototype.update = function update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
+ };
+
// protected
Tooltip.prototype.isWithContent = function isWithContent() {
return Boolean(this.getTitle());
};
+ Tooltip.prototype.addAttachmentClass = function addAttachmentClass(attachment) {
+ $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
+ };
+
Tooltip.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
Tooltip.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
-
this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
-
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
-
- this.cleanupTether();
};
Tooltip.prototype.setElementContent = function setElementContent($element, content) {
@@ -3103,12 +3292,6 @@ var Tooltip = function ($) {
return title;
};
- Tooltip.prototype.cleanupTether = function cleanupTether() {
- if (this._tether) {
- this._tether.destroy();
- }
- };
-
// private
Tooltip.prototype._getAttachment = function _getAttachment(placement) {
@@ -3116,28 +3299,28 @@ var Tooltip = function ($) {
};
Tooltip.prototype._setListeners = function _setListeners() {
- var _this24 = this;
+ var _this26 = this;
var triggers = this.config.trigger.split(' ');
triggers.forEach(function (trigger) {
if (trigger === 'click') {
- $(_this24.element).on(_this24.constructor.Event.CLICK, _this24.config.selector, function (event) {
- return _this24.toggle(event);
+ $(_this26.element).on(_this26.constructor.Event.CLICK, _this26.config.selector, function (event) {
+ return _this26.toggle(event);
});
} else if (trigger !== Trigger.MANUAL) {
- var eventIn = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSEENTER : _this24.constructor.Event.FOCUSIN;
- var eventOut = trigger === Trigger.HOVER ? _this24.constructor.Event.MOUSELEAVE : _this24.constructor.Event.FOCUSOUT;
+ var eventIn = trigger === Trigger.HOVER ? _this26.constructor.Event.MOUSEENTER : _this26.constructor.Event.FOCUSIN;
+ var eventOut = trigger === Trigger.HOVER ? _this26.constructor.Event.MOUSELEAVE : _this26.constructor.Event.FOCUSOUT;
- $(_this24.element).on(eventIn, _this24.config.selector, function (event) {
- return _this24._enter(event);
- }).on(eventOut, _this24.config.selector, function (event) {
- return _this24._leave(event);
+ $(_this26.element).on(eventIn, _this26.config.selector, function (event) {
+ return _this26._enter(event);
+ }).on(eventOut, _this26.config.selector, function (event) {
+ return _this26._leave(event);
});
}
- $(_this24.element).closest('.modal').on('hide.bs.modal', function () {
- return _this24.hide();
+ $(_this26.element).closest('.modal').on('hide.bs.modal', function () {
+ return _this26.hide();
});
});
@@ -3248,6 +3431,14 @@ var Tooltip = function ($) {
};
}
+ if (config.title && typeof config.title === 'number') {
+ config.title = config.title.toString();
+ }
+
+ if (config.content && typeof config.content === 'number') {
+ config.content = config.content.toString();
+ }
+
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
return config;
@@ -3267,6 +3458,32 @@ var Tooltip = function ($) {
return config;
};
+ Tooltip.prototype._cleanTipClass = function _cleanTipClass() {
+ var $tip = $(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
+ }
+ };
+
+ Tooltip.prototype._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
+ this._cleanTipClass();
+ this.addAttachmentClass(this._getAttachment(data.placement));
+ };
+
+ Tooltip.prototype._fixTransition = function _fixTransition() {
+ var tip = this.getTipElement();
+ var initConfigAnimation = this.config.animation;
+ if (tip.getAttribute('x-placement') !== null) {
+ return;
+ }
+ $(tip).removeClass(ClassName.FADE);
+ this.config.animation = false;
+ this.hide();
+ this.show();
+ this.config.animation = initConfigAnimation;
+ };
+
// static
Tooltip._jQueryInterface = function _jQueryInterface(config) {
@@ -3350,7 +3567,7 @@ var Tooltip = function ($) {
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): popover.js
+ * Bootstrap (v4.0.0-alpha.6): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -3364,16 +3581,18 @@ var Popover = function ($) {
*/
var NAME = 'popover';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var CLASS_PREFIX = 'bs-popover';
+ var BSCLS_PREFIX_REGEX = new RegExp('(^|\\s)' + CLASS_PREFIX + '\\S+', 'g');
var Default = $.extend({}, Tooltip.Default, {
placement: 'right',
trigger: 'click',
content: '',
- template: '<div class="popover" role="tooltip">' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
+ template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
});
var DefaultType = $.extend({}, Tooltip.DefaultType, {
@@ -3424,6 +3643,10 @@ var Popover = function ($) {
return this.getTitle() || this._getContent();
};
+ Popover.prototype.addAttachmentClass = function addAttachmentClass(attachment) {
+ $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
+ };
+
Popover.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
@@ -3436,8 +3659,6 @@ var Popover = function ($) {
this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
-
- this.cleanupTether();
};
// private
@@ -3446,6 +3667,14 @@ var Popover = function ($) {
return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
};
+ Popover.prototype._cleanTipClass = function _cleanTipClass() {
+ var $tip = $(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
+ }
+ };
+
// static
Popover._jQueryInterface = function _jQueryInterface(config) {
@@ -3531,4 +3760,5 @@ var Popover = function ($) {
return Popover;
}(jQuery);
-}();
+
+})() \ No newline at end of file
diff --git a/docs/dist/js/bootstrap.min.js b/docs/dist/js/bootstrap.min.js
index 848488c8c..31508ad0f 100644
--- a/docs/dist/js/bootstrap.min.js
+++ b/docs/dist/js/bootstrap.min.js
@@ -1,7 +1,284 @@
/*!
- * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");+function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),+function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:a.end,delegateType:a.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in h)if(void 0!==t.style[e])return{end:h[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(c.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||c.triggerTransitionEnd(n)},e),this}function s(){a=o(),t.fn.emulateTransitionEnd=r,c.supportsTransitionEnd()&&(t.event.special[c.TRANSITION_END]=i())}var a=!1,l=1e6,h={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do t+=~~(Math.random()*l);while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");return e||(e=t.getAttribute("href")||"",e=/^#[a-z]/i.test(e)?e:null),e},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(a.end)},supportsTransitionEnd:function(){return Boolean(a)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+": "+('Option "'+r+'" provided type "'+l+'" ')+('but expected type "'+s+'".'))}}};return s(),c}(jQuery),s=(function(t){var e="alert",i="4.0.0-alpha.5",s="bs.alert",a="."+s,l=".data-api",h=t.fn[e],c=150,u={DISMISS:'[data-dismiss="alert"]'},d={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+l},f={ALERT:"alert",FADE:"fade",SHOW:"show"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t),n=this._triggerCloseEvent(e);n.isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,s),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+f.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(d.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;return t(e).removeClass(f.SHOW),r.supportsTransitionEnd()&&t(e).hasClass(f.FADE)?void t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(c):void this._destroyElement(e)},e.prototype._destroyElement=function(e){t(e).detach().trigger(d.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);o||(o=new e(this),i.data(s,o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(d.CLICK_DATA_API,u.DISMISS,_._handleDismiss(new _)),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){var e="button",i="4.0.0-alpha.5",r="bs.button",s="."+r,a=".data-api",l=t.fn[e],h={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},c={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},u={CLICK_DATA_API:"click"+s+a,FOCUS_BLUR_DATA_API:"focus"+s+a+" "+("blur"+s+a)},d=function(){function e(t){n(this,e),this._element=t}return e.prototype.toggle=function(){var e=!0,n=t(this._element).closest(c.DATA_TOGGLE)[0];if(n){var i=t(this._element).find(c.INPUT)[0];if(i){if("radio"===i.type)if(i.checked&&t(this._element).hasClass(h.ACTIVE))e=!1;else{var o=t(n).find(c.ACTIVE)[0];o&&t(o).removeClass(h.ACTIVE)}e&&(i.checked=!t(this._element).hasClass(h.ACTIVE),t(i).trigger("change")),i.focus()}}else this._element.setAttribute("aria-pressed",!t(this._element).hasClass(h.ACTIVE));e&&t(this._element).toggleClass(h.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,r),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(r);i||(i=new e(this),t(this).data(r,i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,c.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(h.BUTTON)||(n=t(n).closest(c.BUTTON)),d._jQueryInterface.call(t(n),"toggle")}).on(u.FOCUS_BLUR_DATA_API,c.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(c.BUTTON)[0];t(n).toggleClass(h.FOCUS,/^focus(in)?$/.test(e.type))}),t.fn[e]=d._jQueryInterface,t.fn[e].Constructor=d,t.fn[e].noConflict=function(){return t.fn[e]=l,d._jQueryInterface},d}(jQuery),function(t){var e="carousel",s="4.0.0-alpha.5",a="bs.carousel",l="."+a,h=".data-api",c=t.fn[e],u=600,d=37,f=39,_={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},g={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},p={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},m={SLIDE:"slide"+l,SLID:"slid"+l,KEYDOWN:"keydown"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l,LOAD_DATA_API:"load"+l+h,CLICK_DATA_API:"click"+l+h},E={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},v={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},T=function(){function h(e,i){n(this,h),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(v.INDICATORS)[0],this._addEventListeners()}return h.prototype.next=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.NEXT)},h.prototype.nextWhenVisible=function(){document.hidden||this.next()},h.prototype.prev=function(){if(this._isSliding)throw new Error("Carousel is sliding");this._slide(p.PREVIOUS)},h.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(v.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},h.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},h.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(v.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(m.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?p.NEXT:p.PREVIOUS;this._slide(o,this._items[e])}},h.prototype.dispose=function(){t(this._element).off(l),t.removeData(this._element,a),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(m.KEYDOWN,function(t){return e._keydown(t)}),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||t(this._element).on(m.MOUSEENTER,function(t){return e.pause(t)}).on(m.MOUSELEAVE,function(t){return e.cycle(t)})},h.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case d:t.preventDefault(),this.prev();break;case f:t.preventDefault(),this.next();break;default:return}},h.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(v.ITEM)),this._items.indexOf(e)},h.prototype._getItemByDirection=function(t,e){var n=t===p.NEXT,i=t===p.PREVIOUS,o=this._getItemIndex(e),r=this._items.length-1,s=i&&0===o||n&&o===r;if(s&&!this._config.wrap)return e;var a=t===p.PREVIOUS?-1:1,l=(o+a)%this._items.length;return l===-1?this._items[this._items.length-1]:this._items[l]},h.prototype._triggerSlideEvent=function(e,n){var i=t.Event(m.SLIDE,{relatedTarget:e,direction:n});return t(this._element).trigger(i),i},h.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(v.ACTIVE).removeClass(E.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(E.ACTIVE)}},h.prototype._slide=function(e,n){var i=this,o=t(this._element).find(v.ACTIVE_ITEM)[0],s=n||o&&this._getItemByDirection(e,o),a=Boolean(this._interval),l=void 0,h=void 0,c=void 0;if(e===p.NEXT?(l=E.LEFT,h=E.NEXT,c=p.LEFT):(l=E.RIGHT,h=E.PREV,c=p.RIGHT),s&&t(s).hasClass(E.ACTIVE))return void(this._isSliding=!1);var d=this._triggerSlideEvent(s,c);if(!d.isDefaultPrevented()&&o&&s){this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(s);var f=t.Event(m.SLID,{relatedTarget:s,direction:c});r.supportsTransitionEnd()&&t(this._element).hasClass(E.SLIDE)?(t(s).addClass(h),r.reflow(s),t(o).addClass(l),t(s).addClass(l),t(o).one(r.TRANSITION_END,function(){t(s).removeClass(l+" "+h).addClass(E.ACTIVE),t(o).removeClass(E.ACTIVE+" "+h+" "+l),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(f)},0)}).emulateTransitionEnd(u)):(t(o).removeClass(E.ACTIVE),t(s).addClass(E.ACTIVE),this._isSliding=!1,t(this._element).trigger(f)),a&&this.cycle()}},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o=t.extend({},_,t(this).data());"object"===("undefined"==typeof e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new h(this,o),t(this).data(a,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(void 0===n[r])throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},h._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(E.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),s=this.getAttribute("data-slide-to");s&&(o.interval=!1),h._jQueryInterface.call(t(i),o),s&&t(i).data(a).to(s),e.preventDefault()}}},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(m.CLICK_DATA_API,v.DATA_SLIDE,T._dataApiClickHandler),t(window).on(m.LOAD_DATA_API,function(){t(v.DATA_RIDE).each(function(){var e=t(this);T._jQueryInterface.call(e,e.data())})}),t.fn[e]=T._jQueryInterface,t.fn[e].Constructor=T,t.fn[e].noConflict=function(){return t.fn[e]=c,T._jQueryInterface},T}(jQuery),function(t){var e="collapse",s="4.0.0-alpha.5",a="bs.collapse",l="."+a,h=".data-api",c=t.fn[e],u=600,d={toggle:!0,parent:""},f={toggle:"boolean",parent:"string"},_={SHOW:"show"+l,SHOWN:"shown"+l,HIDE:"hide"+l,HIDDEN:"hidden"+l,CLICK_DATA_API:"click"+l+h},g={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},p={WIDTH:"width",HEIGHT:"height"},m={ACTIVES:".card > .show, .card > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},E=function(){function l(e,i){n(this,l),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],'+('[data-toggle="collapse"][data-target="#'+e.id+'"]'))),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return l.prototype.toggle=function(){t(this._element).hasClass(g.SHOW)?this.hide():this.show()},l.prototype.show=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(!t(this._element).hasClass(g.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).find(m.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(a),i&&i._isTransitioning))){var o=t.Event(_.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(l._jQueryInterface.call(t(n),"hide"),i||t(n).data(a,null));var s=this._getDimension();t(this._element).removeClass(g.COLLAPSE).addClass(g.COLLAPSING),this._element.style[s]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&t(this._triggerArray).removeClass(g.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var h=function(){t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).addClass(g.SHOW),e._element.style[s]="",e.setTransitioning(!1),t(e._element).trigger(_.SHOWN)};if(!r.supportsTransitionEnd())return void h();var c=s[0].toUpperCase()+s.slice(1),d="scroll"+c;t(this._element).one(r.TRANSITION_END,h).emulateTransitionEnd(u),this._element.style[s]=this._element[d]+"px"}}}},l.prototype.hide=function(){var e=this;if(this._isTransitioning)throw new Error("Collapse is transitioning");if(t(this._element).hasClass(g.SHOW)){var n=t.Event(_.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension(),o=i===p.WIDTH?"offsetWidth":"offsetHeight";this._element.style[i]=this._element[o]+"px",r.reflow(this._element),t(this._element).addClass(g.COLLAPSING).removeClass(g.COLLAPSE).removeClass(g.SHOW),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&t(this._triggerArray).addClass(g.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var s=function(){e.setTransitioning(!1),t(e._element).removeClass(g.COLLAPSING).addClass(g.COLLAPSE).trigger(_.HIDDEN)};return this._element.style[i]="",r.supportsTransitionEnd()?void t(this._element).one(r.TRANSITION_END,s).emulateTransitionEnd(u):void s()}}},l.prototype.setTransitioning=function(t){this._isTransitioning=t},l.prototype.dispose=function(){t.removeData(this._element,a),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},l.prototype._getConfig=function(n){return n=t.extend({},d,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,f),n},l.prototype._getDimension=function(){var e=t(this._element).hasClass(p.WIDTH);return e?p.WIDTH:p.HEIGHT},l.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(l._getTargetFromElement(n),[n])}),n},l.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(g.SHOW);e.setAttribute("aria-expanded",i),n.length&&t(n).toggleClass(g.COLLAPSED,!i).attr("aria-expanded",i)}},l._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},l._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(a),r=t.extend({},d,n.data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new l(this,r),n.data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e]()}})},o(l,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}}]),l}();return t(document).on(_.CLICK_DATA_API,m.DATA_TOGGLE,function(e){e.preventDefault();var n=E._getTargetFromElement(this),i=t(n).data(a),o=i?"toggle":t(this).data();E._jQueryInterface.call(t(n),o)}),t.fn[e]=E._jQueryInterface,t.fn[e].Constructor=E,t.fn[e].noConflict=function(){return t.fn[e]=c,E._jQueryInterface},E}(jQuery),function(t){var e="dropdown",i="4.0.0-alpha.5",s="bs.dropdown",a="."+s,l=".data-api",h=t.fn[e],c=27,u=38,d=40,f=3,_={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click"+a+l,KEYDOWN_DATA_API:"keydown"+a+l},g={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",SHOW:"show"},p={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},m=function(){function e(t){n(this,e),this._element=t,this._addEventListeners()}return e.prototype.toggle=function(){if(this.disabled||t(this).hasClass(g.DISABLED))return!1;var n=e._getParentFromElement(this),i=t(n).hasClass(g.SHOW);if(e._clearMenus(),i)return!1;if("ontouchstart"in document.documentElement&&!t(n).closest(p.NAVBAR_NAV).length){var o=document.createElement("div");o.className=g.BACKDROP,t(o).insertBefore(this),t(o).on("click",e._clearMenus)}var r={relatedTarget:this},s=t.Event(_.SHOW,r);return t(n).trigger(s),!s.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded",!0),t(n).toggleClass(g.SHOW),t(n).trigger(t.Event(_.SHOWN,r)),!1)},e.prototype.dispose=function(){t.removeData(this._element,s),t(this._element).off(a),this._element=null},e.prototype._addEventListeners=function(){t(this._element).on(_.CLICK,this.toggle)},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data(s);if(i||(i=new e(this),t(this).data(s,i)),"string"==typeof n){if(void 0===i[n])throw new Error('No method named "'+n+'"');i[n].call(this)}})},e._clearMenus=function(n){if(!n||n.which!==f){var i=t(p.BACKDROP)[0];i&&i.parentNode.removeChild(i);for(var o=t.makeArray(t(p.DATA_TOGGLE)),r=0;r<o.length;r++){var s=e._getParentFromElement(o[r]),a={relatedTarget:o[r]};if(t(s).hasClass(g.SHOW)&&!(n&&"click"===n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(s,n.target))){var l=t.Event(_.HIDE,a);t(s).trigger(l),l.isDefaultPrevented()||(o[r].setAttribute("aria-expanded","false"),t(s).removeClass(g.SHOW).trigger(t.Event(_.HIDDEN,a)))}}}},e._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},e._dataApiKeydownHandler=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)&&(n.preventDefault(),n.stopPropagation(),!this.disabled&&!t(this).hasClass(g.DISABLED))){var i=e._getParentFromElement(this),o=t(i).hasClass(g.SHOW);if(!o&&n.which!==c||o&&n.which===c){if(n.which===c){var r=t(i).find(p.DATA_TOGGLE)[0];t(r).trigger("focus")}return void t(this).trigger("click")}var s=t(i).find(p.VISIBLE_ITEMS).get();if(s.length){var a=s.indexOf(n.target);n.which===u&&a>0&&a--,n.which===d&&a<s.length-1&&a++,a<0&&(a=0),s[a].focus()}}},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(_.KEYDOWN_DATA_API,p.DATA_TOGGLE,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_MENU,m._dataApiKeydownHandler).on(_.KEYDOWN_DATA_API,p.ROLE_LISTBOX,m._dataApiKeydownHandler).on(_.CLICK_DATA_API,m._clearMenus).on(_.CLICK_DATA_API,p.DATA_TOGGLE,m.prototype.toggle).on(_.CLICK_DATA_API,p.FORM_CHILD,function(t){t.stopPropagation()}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=h,m._jQueryInterface},m}(jQuery),function(t){var e="modal",s="4.0.0-alpha.5",a="bs.modal",l="."+a,h=".data-api",c=t.fn[e],u=300,d=150,f=27,_={backdrop:!0,keyboard:!0,focus:!0,show:!0},g={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,FOCUSIN:"focusin"+l,RESIZE:"resize"+l,CLICK_DISMISS:"click.dismiss"+l,KEYDOWN_DISMISS:"keydown.dismiss"+l,MOUSEUP_DISMISS:"mouseup.dismiss"+l,MOUSEDOWN_DISMISS:"mousedown.dismiss"+l,CLICK_DATA_API:"click"+l+h},m={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},E={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".navbar-fixed-top, .navbar-fixed-bottom, .is-fixed"},v=function(){function h(e,i){n(this,h),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(E.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return h.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},h.prototype.show=function(e){var n=this;if(this._isTransitioning)throw new Error("Modal is transitioning");r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)&&(this._isTransitioning=!0);var i=t.Event(p.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(m.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(p.CLICK_DISMISS,E.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(p.MOUSEDOWN_DISMISS,function(){t(n._element).one(p.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))},h.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),this._isTransitioning)throw new Error("Modal is transitioning");var i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);i&&(this._isTransitioning=!0);var o=t.Event(p.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(p.FOCUSIN),t(this._element).removeClass(m.SHOW),t(this._element).off(p.CLICK_DISMISS),t(this._dialog).off(p.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(u):this._hideModal())},h.prototype.dispose=function(){t.removeData(this._element,a),t(window,document,this._element,this._backdrop).off(l),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null},h.prototype._getConfig=function(n){return n=t.extend({},_,n),r.typeCheckConfig(e,n,g),n},h.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&r.reflow(this._element),t(this._element).addClass(m.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(p.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(u):s()},h.prototype._enforceFocus=function(){var e=this;t(document).off(p.FOCUSIN).on(p.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},h.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(p.KEYDOWN_DISMISS,function(t){t.which===f&&e.hide()}):this._isShown||t(this._element).off(p.KEYDOWN_DISMISS)},h.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(p.RESIZE,function(t){return e._handleUpdate(t)}):t(window).off(p.RESIZE)},h.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(m.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(p.HIDDEN)})},h.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},h.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(m.FADE)?m.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=m.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(p.CLICK_DISMISS,function(t){return n._ignoreBackdropClick?void(n._ignoreBackdropClick=!1):void(t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide()))}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(m.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(d)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(m.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(m.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(d):s()}else e&&e()},h.prototype._handleUpdate=function(){this._adjustDialog()},h.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},h.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},h.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},h.prototype._setScrollbar=function(){var e=parseInt(t(E.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=e+this._scrollbarWidth+"px")},h.prototype._resetScrollbar=function(){document.body.style.paddingRight=this._originalBodyPadding},h.prototype._getScrollbarWidth=function(){var t=document.createElement("div");t.className=m.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},h._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data(a),r=t.extend({},h.Default,t(this).data(),"object"===("undefined"==typeof e?"undefined":i(e))&&e);if(o||(o=new h(this,r),t(this).data(a,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return _}}]),h}();return t(document).on(p.CLICK_DATA_API,E.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data(a)?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var l=t(i).one(p.SHOW,function(e){e.isDefaultPrevented()||l.one(p.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});v._jQueryInterface.call(t(i),s,this)}),t.fn[e]=v._jQueryInterface,t.fn[e].Constructor=v,t.fn[e].noConflict=function(){return t.fn[e]=c,v._jQueryInterface},v}(jQuery),function(t){var e="scrollspy",s="4.0.0-alpha.5",a="bs.scrollspy",l="."+a,h=".data-api",c=t.fn[e],u={offset:10,method:"auto",target:""},d={offset:"number",method:"string",target:"(string|element)"},f={ACTIVATE:"activate"+l,SCROLL:"scroll"+l,LOAD_DATA_API:"load"+l+h},_={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},g={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},p={OFFSET:"offset",POSITION:"position"},m=function(){function h(e,i){var o=this;n(this,h),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+g.NAV_LINKS+","+(this._config.target+" "+g.DROPDOWN_ITEMS),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(f.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}return h.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?p.POSITION:p.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===p.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();var s=t.makeArray(t(this._selector));s.map(function(e){var n=void 0,s=r.getSelectorFromElement(e);return s&&(n=t(s)[0]),n&&(n.offsetWidth||n.offsetHeight)?[t(n)[i]().top+o,s]:null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},h.prototype.dispose=function(){t.removeData(this._element,a),t(this._scrollElement).off(l),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},h.prototype._getConfig=function(n){if(n=t.extend({},u,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,d),n},h.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.scrollY:this._scrollElement.scrollTop},h.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},h.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.offsetHeight},h.prototype._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){var r=this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1]);r&&this._activate(this._targets[o])}},h.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+(t+'[href="'+e+'"]')});var i=t(n.join(","));i.hasClass(_.DROPDOWN_ITEM)?(i.closest(g.DROPDOWN).find(g.DROPDOWN_TOGGLE).addClass(_.ACTIVE),i.addClass(_.ACTIVE)):i.parents(g.LI).find("> "+g.NAV_LINKS).addClass(_.ACTIVE),t(this._scrollElement).trigger(f.ACTIVATE,{relatedTarget:e})},h.prototype._clear=function(){t(this._selector).filter(g.ACTIVE).removeClass(_.ACTIVE)},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;if(n||(n=new h(this,o),
-t(this).data(a,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return u}}]),h}();return t(window).on(f.LOAD_DATA_API,function(){for(var e=t.makeArray(t(g.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);m._jQueryInterface.call(i,i.data())}}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=c,m._jQueryInterface},m}(jQuery),function(t){var e="tab",i="4.0.0-alpha.5",s="bs.tab",a="."+s,l=".data-api",h=t.fn[e],c=150,u={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK_DATA_API:"click"+a+l},d={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},f={A:"a",LI:"li",DROPDOWN:".dropdown",LIST:"ul:not(.dropdown-menu), ol:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},_=function(){function e(t){n(this,e),this._element=t}return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(d.ACTIVE)||t(this._element).hasClass(d.DISABLED))){var n=void 0,i=void 0,o=t(this._element).closest(f.LIST)[0],s=r.getSelectorFromElement(this._element);o&&(i=t.makeArray(t(o).find(f.ACTIVE)),i=i[i.length-1]);var a=t.Event(u.HIDE,{relatedTarget:this._element}),l=t.Event(u.SHOW,{relatedTarget:i});if(i&&t(i).trigger(a),t(this._element).trigger(l),!l.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(n=t(s)[0]),this._activate(this._element,o);var h=function(){var n=t.Event(u.HIDDEN,{relatedTarget:e._element}),o=t.Event(u.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(o)};n?this._activate(n,n.parentNode,h):h()}}},e.prototype.dispose=function(){t.removeClass(this._element,s),this._element=null},e.prototype._activate=function(e,n,i){var o=this,s=t(n).find(f.ACTIVE_CHILD)[0],a=i&&r.supportsTransitionEnd()&&(s&&t(s).hasClass(d.FADE)||Boolean(t(n).find(f.FADE_CHILD)[0])),l=function(){return o._transitionComplete(e,s,a,i)};s&&a?t(s).one(r.TRANSITION_END,l).emulateTransitionEnd(c):l(),s&&t(s).removeClass(d.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(d.ACTIVE);var s=t(n.parentNode).find(f.DROPDOWN_ACTIVE_CHILD)[0];s&&t(s).removeClass(d.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(d.SHOW)):t(e).removeClass(d.FADE),e.parentNode&&t(e.parentNode).hasClass(d.DROPDOWN_MENU)){var a=t(e).closest(f.DROPDOWN)[0];a&&t(a).find(f.DROPDOWN_TOGGLE).addClass(d.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data(s);if(o||(o=new e(this),i.data(s,o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return i}}]),e}();return t(document).on(u.CLICK_DATA_API,f.DATA_TOGGLE,function(e){e.preventDefault(),_._jQueryInterface.call(t(this),"show")}),t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=h,_._jQueryInterface},_}(jQuery),function(t){if("undefined"==typeof Tether)throw new Error("Bootstrap tooltips require Tether (http://tether.io/)");var e="tooltip",s="4.0.0-alpha.5",a="bs.tooltip",l="."+a,h=t.fn[e],c=150,u="bs-tether",d={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[],container:!1},f={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array",container:"(string|element|boolean)"},_={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},g={SHOW:"show",OUT:"out"},p={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},m={FADE:"fade",SHOW:"show"},E={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},v={element:!1,enabled:!1},T={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},I=function(){function h(t,e){n(this,h),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._isTransitioning=!1,this._tether=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}return h.prototype.enable=function(){this._isEnabled=!0},h.prototype.disable=function(){this._isEnabled=!1},h.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},h.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(m.SHOW))return void this._leave(null,this);this._enter(null,this)}},h.prototype.dispose=function(){clearTimeout(this._timeout),this.cleanupTether(),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null},h.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){if(this._isTransitioning)throw new Error("Tooltip is transitioning");t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(m.FADE);var a="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,l=this._getAttachment(a),c=this.config.container===!1?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:l,element:o,target:this.element,classes:v,classPrefix:u,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),r.reflow(o),this._tether.position(),t(o).addClass(m.SHOW);var d=function(){var n=e._hoverState;e._hoverState=null,e._isTransitioning=!1,t(e.element).trigger(e.constructor.Event.SHOWN),n===g.OUT&&e._leave(null,e)};if(r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE))return this._isTransitioning=!0,void t(this.tip).one(r.TRANSITION_END,d).emulateTransitionEnd(h._TRANSITION_DURATION);d()}},h.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE);if(this._isTransitioning)throw new Error("Tooltip is transitioning");var s=function(){n._hoverState!==g.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),n._isTransitioning=!1,n.cleanupTether(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(m.SHOW),this._activeTrigger[T.CLICK]=!1,this._activeTrigger[T.FOCUS]=!1,this._activeTrigger[T.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(m.FADE)?(this._isTransitioning=!0,t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(c)):s(),this._hoverState="")},h.prototype.isWithContent=function(){return Boolean(this.getTitle())},h.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},h.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(E.TOOLTIP_INNER),this.getTitle()),e.removeClass(m.FADE+" "+m.SHOW),this.cleanupTether()},h.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===("undefined"==typeof n?"undefined":i(n))&&(n.nodeType||n.jquery)?o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},h.prototype.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},h.prototype.cleanupTether=function(){this._tether&&this._tether.destroy()},h.prototype._getAttachment=function(t){return _[t.toUpperCase()]},h.prototype._setListeners=function(){var e=this,n=this.config.trigger.split(" ");n.forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==T.MANUAL){var i=n===T.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===T.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},h.prototype._fixTitle=function(){var t=i(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},h.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?T.FOCUS:T.HOVER]=!0),t(n.getTipElement()).hasClass(m.SHOW)||n._hoverState===g.SHOW?void(n._hoverState=g.SHOW):(clearTimeout(n._timeout),n._hoverState=g.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===g.SHOW&&n.show()},n.config.delay.show)):void n.show())},h.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?T.FOCUS:T.HOVER]=!1),!n._isWithActiveTrigger())return clearTimeout(n._timeout),n._hoverState=g.OUT,n.config.delay&&n.config.delay.hide?void(n._timeout=setTimeout(function(){n._hoverState===g.OUT&&n.hide()},n.config.delay.hide)):void n.hide()},h.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},h.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},h.prototype._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},h._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(a),o="object"===("undefined"==typeof e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new h(this,o),t(this).data(a,n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(h,null,[{key:"VERSION",get:function(){return s}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return a}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return f}}]),h}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=h,I._jQueryInterface},I}(jQuery));(function(r){var a="popover",l="4.0.0-alpha.5",h="bs.popover",c="."+h,u=r.fn[a],d=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),f=r.extend({},s.DefaultType,{content:"(string|element|function)"}),_={FADE:"fade",SHOW:"show"},g={TITLE:".popover-title",CONTENT:".popover-content"},p={HIDE:"hide"+c,HIDDEN:"hidden"+c,SHOW:"show"+c,SHOWN:"shown"+c,INSERTED:"inserted"+c,CLICK:"click"+c,FOCUSIN:"focusin"+c,FOCUSOUT:"focusout"+c,MOUSEENTER:"mouseenter"+c,MOUSELEAVE:"mouseleave"+c},m=function(s){function u(){return n(this,u),t(this,s.apply(this,arguments))}return e(u,s),u.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},u.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},u.prototype.setContent=function(){var t=r(this.getTipElement());this.setElementContent(t.find(g.TITLE),this.getTitle()),this.setElementContent(t.find(g.CONTENT),this._getContent()),t.removeClass(_.FADE+" "+_.SHOW),this.cleanupTether()},u.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},u._jQueryInterface=function(t){return this.each(function(){var e=r(this).data(h),n="object"===("undefined"==typeof t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new u(this,n),r(this).data(h,e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},o(u,null,[{key:"VERSION",get:function(){return l}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return h}},{key:"Event",get:function(){return p}},{key:"EVENT_KEY",get:function(){return c}},{key:"DefaultType",get:function(){return f}}]),u}(s);return r.fn[a]=m._jQueryInterface,r.fn[a].Constructor=m,r.fn[a].noConflict=function(){return r.fn[a]=u,m._jQueryInterface},m})(jQuery)}(); \ No newline at end of file
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");!function(t){var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),function(){function t(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function e(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),r=function(t){
+// shoutout AngusCroll (https://goo.gl/pxwQGp)
+function e(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function n(t){return(t[0]||t).nodeType}function i(){return{bindType:s.end,delegateType:s.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}}function o(){if(window.QUnit)return!1;var t=document.createElement("bootstrap");for(var e in a)if(void 0!==t.style[e])return{end:a[e]};return!1}function r(e){var n=this,i=!1;return t(this).one(l.TRANSITION_END,function(){i=!0}),setTimeout(function(){i||l.triggerTransitionEnd(n)},e),this}/**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */
+var s=!1,a={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{
+// eslint-disable-next-line no-bitwise
+t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(e){var n=e.getAttribute("data-target");n&&"#"!==n||(n=e.getAttribute("href")||"");try{return t(n).length>0?n:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(e){t(e).trigger(s.end)},supportsTransitionEnd:function(){return Boolean(s)},typeCheckConfig:function(t,i,o){for(var r in o)if(o.hasOwnProperty(r)){var s=o[r],a=i[r],l=a&&n(a)?"element":e(a);if(!new RegExp(s).test(l))throw new Error(t.toUpperCase()+': Option "'+r+'" provided type "'+l+'" but expected type "'+s+'".')}}};return function(){s=o(),t.fn.emulateTransitionEnd=r,l.supportsTransitionEnd()&&(t.event.special[l.TRANSITION_END]=i())}(),l}(jQuery),s=(function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="alert",i=t.fn[e],s={DISMISS:'[data-dismiss="alert"]'},a={CLOSE:"close.bs.alert",CLOSED:"closed.bs.alert",CLICK_DATA_API:"click.bs.alert.data-api"},l={ALERT:"alert",FADE:"fade",SHOW:"show"},c=function(){function e(t){n(this,e),this._element=t}
+// getters
+// public
+// private
+// static
+return e.prototype.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.prototype.dispose=function(){t.removeData(this._element,"bs.alert"),this._element=null},e.prototype._getRootElement=function(e){var n=r.getSelectorFromElement(e),i=!1;return n&&(i=t(n)[0]),i||(i=t(e).closest("."+l.ALERT)[0]),i},e.prototype._triggerCloseEvent=function(e){var n=t.Event(a.CLOSE);return t(e).trigger(n),n},e.prototype._removeElement=function(e){var n=this;if(t(e).removeClass(l.SHOW),!r.supportsTransitionEnd()||!t(e).hasClass(l.FADE))return void this._destroyElement(e);t(e).one(r.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(150)},e.prototype._destroyElement=function(e){t(e).detach().trigger(a.CLOSED).remove()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data("bs.alert");o||(o=new e(this),i.data("bs.alert",o)),"close"===n&&o[n](this)})},e._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(a.CLICK_DATA_API,s.DISMISS,c._handleDismiss(new c)),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=c._jQueryInterface,t.fn[e].Constructor=c,t.fn[e].noConflict=function(){return t.fn[e]=i,c._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="button",i=t.fn[e],r={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},s={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},a={CLICK_DATA_API:"click.bs.button.data-api",FOCUS_BLUR_DATA_API:"focus.bs.button.data-api blur.bs.button.data-api"},l=function(){function e(t){n(this,e),this._element=t}
+// getters
+// public
+// static
+return e.prototype.toggle=function(){var e=!0,n=!0,i=t(this._element).closest(s.DATA_TOGGLE)[0];if(i){var o=t(this._element).find(s.INPUT)[0];if(o){if("radio"===o.type)if(o.checked&&t(this._element).hasClass(r.ACTIVE))e=!1;else{var a=t(i).find(s.ACTIVE)[0];a&&t(a).removeClass(r.ACTIVE)}if(e){if(o.hasAttribute("disabled")||i.hasAttribute("disabled")||o.classList.contains("disabled")||i.classList.contains("disabled"))return;o.checked=!t(this._element).hasClass(r.ACTIVE),t(o).trigger("change")}o.focus(),n=!1}}n&&this._element.setAttribute("aria-pressed",!t(this._element).hasClass(r.ACTIVE)),e&&t(this._element).toggleClass(r.ACTIVE)},e.prototype.dispose=function(){t.removeData(this._element,"bs.button"),this._element=null},e._jQueryInterface=function(n){return this.each(function(){var i=t(this).data("bs.button");i||(i=new e(this),t(this).data("bs.button",i)),"toggle"===n&&i[n]()})},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(a.CLICK_DATA_API,s.DATA_TOGGLE_CARROT,function(e){e.preventDefault();var n=e.target;t(n).hasClass(r.BUTTON)||(n=t(n).closest(s.BUTTON)),l._jQueryInterface.call(t(n),"toggle")}).on(a.FOCUS_BLUR_DATA_API,s.DATA_TOGGLE_CARROT,function(e){var n=t(e.target).closest(s.BUTTON)[0];t(n).toggleClass(r.FOCUS,/^focus(in)?$/.test(e.type))}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=l._jQueryInterface,t.fn[e].Constructor=l,t.fn[e].noConflict=function(){return t.fn[e]=i,l._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="carousel",s="bs.carousel",a="."+s,l=t.fn[e],c={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},h={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},u={NEXT:"next",PREV:"prev",LEFT:"left",RIGHT:"right"},d={SLIDE:"slide"+a,SLID:"slid"+a,KEYDOWN:"keydown"+a,MOUSEENTER:"mouseenter"+a,MOUSELEAVE:"mouseleave"+a,TOUCHEND:"touchend"+a,LOAD_DATA_API:"load.bs.carousel.data-api",CLICK_DATA_API:"click.bs.carousel.data-api"},f={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"carousel-item-right",LEFT:"carousel-item-left",NEXT:"carousel-item-next",PREV:"carousel-item-prev",ITEM:"carousel-item"},p={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".carousel-item-next, .carousel-item-prev",INDICATORS:".carousel-indicators",DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},_=function(){function l(e,i){n(this,l),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(i),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(p.INDICATORS)[0],this._addEventListeners()}
+// getters
+// public
+// private
+// static
+return l.prototype.next=function(){this._isSliding||this._slide(u.NEXT)},l.prototype.nextWhenVisible=function(){
+// Don't call next when the page isn't visible
+document.hidden||this.next()},l.prototype.prev=function(){this._isSliding||this._slide(u.PREV)},l.prototype.pause=function(e){e||(this._isPaused=!0),t(this._element).find(p.NEXT_PREV)[0]&&r.supportsTransitionEnd()&&(r.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},l.prototype.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},l.prototype.to=function(e){var n=this;this._activeElement=t(this._element).find(p.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0)){if(this._isSliding)return void t(this._element).one(d.SLID,function(){return n.to(e)});if(i===e)return this.pause(),void this.cycle();var o=e>i?u.NEXT:u.PREV;this._slide(o,this._items[e])}},l.prototype.dispose=function(){t(this._element).off(a),t.removeData(this._element,s),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},l.prototype._getConfig=function(n){return n=t.extend({},c,n),r.typeCheckConfig(e,n,h),n},l.prototype._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&
+// if it's a touch-enabled device, mouseenter/leave are fired as
+// part of the mouse compatibility events on first tap - the carousel
+// would stop cycling until user tapped out of it;
+// here, we listen for touchend, explicitly pause the carousel
+// (as if it's the second time we tap on it, mouseenter compat event
+// is NOT fired) and after a timeout (to allow for mouse compatibility
+// events to fire) we explicitly restart cycling
+t(this._element).on(d.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},l.prototype._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next();break;default:return}},l.prototype._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(p.ITEM)),this._items.indexOf(e)},l.prototype._getItemByDirection=function(t,e){var n=t===u.NEXT,i=t===u.PREV,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=t===u.PREV?-1:1,a=(o+s)%this._items.length;return-1===a?this._items[this._items.length-1]:this._items[a]},l.prototype._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),o=this._getItemIndex(t(this._element).find(p.ACTIVE_ITEM)[0]),r=t.Event(d.SLIDE,{relatedTarget:e,direction:n,from:o,to:i});return t(this._element).trigger(r),r},l.prototype._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(p.ACTIVE).removeClass(f.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(f.ACTIVE)}},l.prototype._slide=function(e,n){var i=this,o=t(this._element).find(p.ACTIVE_ITEM)[0],s=this._getItemIndex(o),a=n||o&&this._getItemByDirection(e,o),l=this._getItemIndex(a),c=Boolean(this._interval),h=void 0,_=void 0,g=void 0;if(e===u.NEXT?(h=f.LEFT,_=f.NEXT,g=u.LEFT):(h=f.RIGHT,_=f.PREV,g=u.RIGHT),a&&t(a).hasClass(f.ACTIVE))return void(this._isSliding=!1);if(!this._triggerSlideEvent(a,g).isDefaultPrevented()&&o&&a){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(a);var m=t.Event(d.SLID,{relatedTarget:a,direction:g,from:s,to:l});r.supportsTransitionEnd()&&t(this._element).hasClass(f.SLIDE)?(t(a).addClass(_),r.reflow(a),t(o).addClass(h),t(a).addClass(h),t(o).one(r.TRANSITION_END,function(){t(a).removeClass(h+" "+_).addClass(f.ACTIVE),t(o).removeClass(f.ACTIVE+" "+_+" "+h),i._isSliding=!1,setTimeout(function(){return t(i._element).trigger(m)},0)}).emulateTransitionEnd(600)):(t(o).removeClass(f.ACTIVE),t(a).addClass(f.ACTIVE),this._isSliding=!1,t(this._element).trigger(m)),c&&this.cycle()}},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(s),o=t.extend({},c,t(this).data());"object"===(void 0===e?"undefined":i(e))&&t.extend(o,e);var r="string"==typeof e?e:o.slide;if(n||(n=new l(this,o),t(this).data(s,n)),"number"==typeof e)n.to(e);else if("string"==typeof r){if(void 0===n[r])throw new Error('No method named "'+r+'"');n[r]()}else o.interval&&(n.pause(),n.cycle())})},l._dataApiClickHandler=function(e){var n=r.getSelectorFromElement(this);if(n){var i=t(n)[0];if(i&&t(i).hasClass(f.CAROUSEL)){var o=t.extend({},t(i).data(),t(this).data()),a=this.getAttribute("data-slide-to");a&&(o.interval=!1),l._jQueryInterface.call(t(i),o),a&&t(i).data(s).to(a),e.preventDefault()}}},o(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return c}}]),l}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(d.CLICK_DATA_API,p.DATA_SLIDE,_._dataApiClickHandler),t(window).on(d.LOAD_DATA_API,function(){t(p.DATA_RIDE).each(function(){var e=t(this);_._jQueryInterface.call(e,e.data())})}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=_._jQueryInterface,t.fn[e].Constructor=_,t.fn[e].noConflict=function(){return t.fn[e]=l,_._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="collapse",s="bs.collapse",a=t.fn[e],l={toggle:!0,parent:""},c={toggle:"boolean",parent:"string"},h={SHOW:"show."+s,SHOWN:"shown."+s,HIDE:"hide."+s,HIDDEN:"hidden."+s,CLICK_DATA_API:"click.bs.collapse.data-api"},u={SHOW:"show",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},d={WIDTH:"width",HEIGHT:"height"},f={ACTIVES:".show, .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},p=function(){function a(e,i){n(this,a),this._isTransitioning=!1,this._element=e,this._config=this._getConfig(i),this._triggerArray=t.makeArray(t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]')),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}
+// getters
+// public
+// private
+// static
+return a.prototype.toggle=function(){t(this._element).hasClass(u.SHOW)?this.hide():this.show()},a.prototype.show=function(){var e=this;if(!this._isTransitioning&&!t(this._element).hasClass(u.SHOW)){var n=void 0,i=void 0;if(this._parent&&(n=t.makeArray(t(this._parent).children().children(f.ACTIVES)),n.length||(n=null)),!(n&&(i=t(n).data(s))&&i._isTransitioning)){var o=t.Event(h.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){n&&(a._jQueryInterface.call(t(n),"hide"),i||t(n).data(s,null));var l=this._getDimension();t(this._element).removeClass(u.COLLAPSE).addClass(u.COLLAPSING),this._element.style[l]=0,this._triggerArray.length&&t(this._triggerArray).removeClass(u.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var c=function(){t(e._element).removeClass(u.COLLAPSING).addClass(u.COLLAPSE).addClass(u.SHOW),e._element.style[l]="",e.setTransitioning(!1),t(e._element).trigger(h.SHOWN)};if(!r.supportsTransitionEnd())return void c();var d=l[0].toUpperCase()+l.slice(1),p="scroll"+d;t(this._element).one(r.TRANSITION_END,c).emulateTransitionEnd(600),this._element.style[l]=this._element[p]+"px"}}}},a.prototype.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(u.SHOW)){var n=t.Event(h.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();this._element.style[i]=this._element.getBoundingClientRect()[i]+"px",r.reflow(this._element),t(this._element).addClass(u.COLLAPSING).removeClass(u.COLLAPSE).removeClass(u.SHOW),this._triggerArray.length&&t(this._triggerArray).addClass(u.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var o=function(){e.setTransitioning(!1),t(e._element).removeClass(u.COLLAPSING).addClass(u.COLLAPSE).trigger(h.HIDDEN)};if(this._element.style[i]="",!r.supportsTransitionEnd())return void o();t(this._element).one(r.TRANSITION_END,o).emulateTransitionEnd(600)}}},a.prototype.setTransitioning=function(t){this._isTransitioning=t},a.prototype.dispose=function(){t.removeData(this._element,s),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},a.prototype._getConfig=function(n){// coerce string values
+return n=t.extend({},l,n),n.toggle=Boolean(n.toggle),r.typeCheckConfig(e,n,c),n},a.prototype._getDimension=function(){return t(this._element).hasClass(d.WIDTH)?d.WIDTH:d.HEIGHT},a.prototype._getParent=function(){var e=this,n=t(this._config.parent)[0],i='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return t(n).find(i).each(function(t,n){e._addAriaAndCollapsedClass(a._getTargetFromElement(n),[n])}),n},a.prototype._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(u.SHOW);n.length&&t(n).toggleClass(u.COLLAPSED,!i).attr("aria-expanded",i)}},a._getTargetFromElement=function(e){var n=r.getSelectorFromElement(e);return n?t(n)[0]:null},a._jQueryInterface=function(e){return this.each(function(){var n=t(this),o=n.data(s),r=t.extend({},l,n.data(),"object"===(void 0===e?"undefined":i(e))&&e);if(!o&&r.toggle&&/show|hide/.test(e)&&(r.toggle=!1),o||(o=new a(this,r),n.data(s,o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e]()}})},o(a,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return l}}]),a}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(h.CLICK_DATA_API,f.DATA_TOGGLE,function(e){/input|textarea/i.test(e.target.tagName)||e.preventDefault();var n=p._getTargetFromElement(this),i=t(n).data(s),o=i?"toggle":t(this).data();p._jQueryInterface.call(t(n),o)}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=p._jQueryInterface,t.fn[e].Constructor=p,t.fn[e].noConflict=function(){return t.fn[e]=a,p._jQueryInterface}}(jQuery),function(t){/**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+if("undefined"==typeof Popper)throw new Error("Bootstrap dropdown require Popper.js (https://popper.js.org)");/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="dropdown",s="bs.dropdown",a="."+s,l=t.fn[e],c=new RegExp("38|40|27"),h={HIDE:"hide"+a,HIDDEN:"hidden"+a,SHOW:"show"+a,SHOWN:"shown"+a,CLICK:"click"+a,CLICK_DATA_API:"click.bs.dropdown.data-api",KEYDOWN_DATA_API:"keydown.bs.dropdown.data-api",KEYUP_DATA_API:"keyup.bs.dropdown.data-api"},u={DISABLED:"disabled",SHOW:"show"},d={DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",MENU:".dropdown-menu",NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:".dropdown-menu .dropdown-item:not(.disabled)"},f={TOP:"top-start",BOTTOM:"bottom-start"},p={placement:f.BOTTOM,offset:0,flip:!0},_={placement:"string",offset:"(number|string)",flip:"boolean"},g=function(){function l(t,e){n(this,l),this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._addEventListeners()}
+// getters
+// public
+// private
+// static
+return l.prototype.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(u.DISABLED)){var e=l._getParentFromElement(this._element),n=t(this._menu).hasClass(u.SHOW);if(l._clearMenus(),!n){var i={relatedTarget:this._element},o=t.Event(h.SHOW,i);if(t(e).trigger(o),!o.isDefaultPrevented()){
+// Handle dropup
+var r=t(this._element).parent().hasClass("dropup")?f.TOP:this._config.placement;this._popper=new Popper(this._element,this._menu,{placement:r,modifiers:{offset:{offset:this._config.offset},flip:{enabled:this._config.flip}}}),
+// if this is a touch-enabled device we add extra
+// empty mouseover listeners to the body's immediate children;
+// only needed because of broken event delegation on iOS
+// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+"ontouchstart"in document.documentElement&&!t(e).closest(d.NAVBAR_NAV).length&&t("body").children().on("mouseover",null,t.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),t(this._menu).toggleClass(u.SHOW),t(e).toggleClass(u.SHOW).trigger(t.Event(h.SHOWN,i))}}}},l.prototype.dispose=function(){t.removeData(this._element,s),t(this._element).off(a),this._element=null,this._menu=null,null!==this._popper&&this._popper.destroy(),this._popper=null},l.prototype.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},l.prototype._addEventListeners=function(){var e=this;t(this._element).on(h.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},l.prototype._getConfig=function(n){var i=t(this._element).data();return void 0!==i.placement&&(i.placement=f[i.placement.toUpperCase()]),n=t.extend({},this.constructor.Default,t(this._element).data(),n),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},l.prototype._getMenuElement=function(){if(!this._menu){var e=l._getParentFromElement(this._element);this._menu=t(e).find(d.MENU)[0]}return this._menu},l._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(s),o="object"===(void 0===e?"undefined":i(e))?e:null;if(n||(n=new l(this,o),t(this).data(s,n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},l._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=t.makeArray(t(d.DATA_TOGGLE)),i=0;i<n.length;i++){var o=l._getParentFromElement(n[i]),r=t(n[i]).data(s),a={relatedTarget:n[i]};if(r){var c=r._menu;if(t(o).hasClass(u.SHOW)&&!(e&&("click"===e.type&&/input|textarea/i.test(e.target.tagName)||"keyup"===e.type&&9===e.which)&&t.contains(o,e.target))){var f=t.Event(h.HIDE,a);t(o).trigger(f),f.isDefaultPrevented()||(
+// if this is a touch-enabled device we remove the extra
+// empty mouseover listeners we added for iOS support
+"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),n[i].setAttribute("aria-expanded","false"),t(c).removeClass(u.SHOW),t(o).removeClass(u.SHOW).trigger(t.Event(h.HIDDEN,a)))}}}},l._getParentFromElement=function(e){var n=void 0,i=r.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},l._dataApiKeydownHandler=function(e){if(!(!c.test(e.which)||/button/i.test(e.target.tagName)&&32===e.which||/input|textarea/i.test(e.target.tagName)||(e.preventDefault(),e.stopPropagation(),this.disabled||t(this).hasClass(u.DISABLED)))){var n=l._getParentFromElement(this),i=t(n).hasClass(u.SHOW);if(!i&&(27!==e.which||32!==e.which)||i&&(27===e.which||32===e.which)){if(27===e.which){var o=t(n).find(d.DATA_TOGGLE)[0];t(o).trigger("focus")}return void t(this).trigger("click")}var r=t(n).find(d.VISIBLE_ITEMS).get();if(r.length){var s=r.indexOf(e.target);38===e.which&&s>0&&
+// up
+s--,40===e.which&&s<r.length-1&&
+// down
+s++,s<0&&(s=0),r[s].focus()}}},o(l,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return p}},{key:"DefaultType",get:function(){return _}}]),l}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(h.KEYDOWN_DATA_API,d.DATA_TOGGLE,g._dataApiKeydownHandler).on(h.KEYDOWN_DATA_API,d.MENU,g._dataApiKeydownHandler).on(h.CLICK_DATA_API+" "+h.KEYUP_DATA_API,g._clearMenus).on(h.CLICK_DATA_API,d.DATA_TOGGLE,function(e){e.preventDefault(),e.stopPropagation(),g._jQueryInterface.call(t(this),"toggle")}).on(h.CLICK_DATA_API,d.FORM_CHILD,function(t){t.stopPropagation()}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=l,g._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="modal",s=".bs.modal",a=t.fn[e],l={backdrop:!0,keyboard:!0,focus:!0,show:!0},c={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},h={HIDE:"hide.bs.modal",HIDDEN:"hidden.bs.modal",SHOW:"show.bs.modal",SHOWN:"shown.bs.modal",FOCUSIN:"focusin.bs.modal",RESIZE:"resize.bs.modal",CLICK_DISMISS:"click.dismiss.bs.modal",KEYDOWN_DISMISS:"keydown.dismiss.bs.modal",MOUSEUP_DISMISS:"mouseup.dismiss.bs.modal",MOUSEDOWN_DISMISS:"mousedown.dismiss.bs.modal",CLICK_DATA_API:"click.bs.modal.data-api"},u={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",SHOW:"show"},d={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",NAVBAR_TOGGLER:".navbar-toggler"},f=function(){function a(e,i){n(this,a),this._config=this._getConfig(i),this._element=e,this._dialog=t(e).find(d.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}
+// getters
+// public
+// private
+// ----------------------------------------------------------------------
+// the following methods are used to handle overflowing modals
+// todo (fat): these should probably be refactored out of modal.js
+// ----------------------------------------------------------------------
+// static
+return a.prototype.toggle=function(t){return this._isShown?this.hide():this.show(t)},a.prototype.show=function(e){var n=this;if(!this._isTransitioning){r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE)&&(this._isTransitioning=!0);var i=t.Event(h.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),t(document.body).addClass(u.OPEN),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(h.CLICK_DISMISS,d.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(h.MOUSEDOWN_DISMISS,function(){t(n._element).one(h.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))}},a.prototype.hide=function(e){var n=this;if(e&&e.preventDefault(),!this._isTransitioning&&this._isShown){var i=r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE);i&&(this._isTransitioning=!0);var o=t.Event(h.HIDE);t(this._element).trigger(o),this._isShown&&!o.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),t(document).off(h.FOCUSIN),t(this._element).removeClass(u.SHOW),t(this._element).off(h.CLICK_DISMISS),t(this._dialog).off(h.MOUSEDOWN_DISMISS),i?t(this._element).one(r.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(300):this._hideModal())}},a.prototype.dispose=function(){t.removeData(this._element,"bs.modal"),t(window,document,this._element,this._backdrop).off(s),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},a.prototype.handleUpdate=function(){this._adjustDialog()},a.prototype._getConfig=function(n){return n=t.extend({},l,n),r.typeCheckConfig(e,n,c),n},a.prototype._showElement=function(e){var n=this,i=r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||
+// don't move modals dom position
+document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,i&&r.reflow(this._element),t(this._element).addClass(u.SHOW),this._config.focus&&this._enforceFocus();var o=t.Event(h.SHOWN,{relatedTarget:e}),s=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(o)};i?t(this._dialog).one(r.TRANSITION_END,s).emulateTransitionEnd(300):s()},a.prototype._enforceFocus=function(){var e=this;t(document).off(h.FOCUSIN).on(h.FOCUSIN,function(n){document===n.target||e._element===n.target||t(e._element).has(n.target).length||e._element.focus()})},a.prototype._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(h.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||t(this._element).off(h.KEYDOWN_DISMISS)},a.prototype._setResizeEvent=function(){var e=this;this._isShown?t(window).on(h.RESIZE,function(t){return e.handleUpdate(t)}):t(window).off(h.RESIZE)},a.prototype._hideModal=function(){var e=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(u.OPEN),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(h.HIDDEN)})},a.prototype._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},a.prototype._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(u.FADE)?u.FADE:"";if(this._isShown&&this._config.backdrop){var o=r.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement("div"),this._backdrop.className=u.BACKDROP,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(h.CLICK_DISMISS,function(t){if(n._ignoreBackdropClick)return void(n._ignoreBackdropClick=!1);t.target===t.currentTarget&&("static"===n._config.backdrop?n._element.focus():n.hide())}),o&&r.reflow(this._backdrop),t(this._backdrop).addClass(u.SHOW),!e)return;if(!o)return void e();t(this._backdrop).one(r.TRANSITION_END,e).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(u.SHOW);var s=function(){n._removeBackdrop(),e&&e()};r.supportsTransitionEnd()&&t(this._element).hasClass(u.FADE)?t(this._backdrop).one(r.TRANSITION_END,s).emulateTransitionEnd(150):s()}else e&&e()},a.prototype._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},a.prototype._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},a.prototype._checkScrollbar=function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},a.prototype._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){
+// Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+// Adjust fixed content padding
+t(d.FIXED_CONTENT).each(function(n,i){var o=t(i)[0].style.paddingRight,r=t(i).css("padding-right");t(i).data("padding-right",o).css("padding-right",parseFloat(r)+e._scrollbarWidth+"px")}),
+// Adjust navbar-toggler margin
+t(d.NAVBAR_TOGGLER).each(function(n,i){var o=t(i)[0].style.marginRight,r=t(i).css("margin-right");t(i).data("margin-right",o).css("margin-right",parseFloat(r)+e._scrollbarWidth+"px")});
+// Adjust body padding
+var n=document.body.style.paddingRight,i=t("body").css("padding-right");t("body").data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},a.prototype._resetScrollbar=function(){
+// Restore fixed content padding
+t(d.FIXED_CONTENT).each(function(e,n){var i=t(n).data("padding-right");void 0!==i&&t(n).css("padding-right",i).removeData("padding-right")}),
+// Restore navbar-toggler margin
+t(d.NAVBAR_TOGGLER).each(function(e,n){var i=t(n).data("margin-right");void 0!==i&&t(n).css("margin-right",i).removeData("margin-right")});
+// Restore body padding
+var e=t("body").data("padding-right");void 0!==e&&t("body").css("padding-right",e).removeData("padding-right")},a.prototype._getScrollbarWidth=function(){
+// thx d.walsh
+var t=document.createElement("div");t.className=u.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},a._jQueryInterface=function(e,n){return this.each(function(){var o=t(this).data("bs.modal"),r=t.extend({},a.Default,t(this).data(),"object"===(void 0===e?"undefined":i(e))&&e);if(o||(o=new a(this,r),t(this).data("bs.modal",o)),"string"==typeof e){if(void 0===o[e])throw new Error('No method named "'+e+'"');o[e](n)}else r.show&&o.show(n)})},o(a,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return l}}]),a}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(h.CLICK_DATA_API,d.DATA_TOGGLE,function(e){var n=this,i=void 0,o=r.getSelectorFromElement(this);o&&(i=t(o)[0]);var s=t(i).data("bs.modal")?"toggle":t.extend({},t(i).data(),t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||e.preventDefault();var a=t(i).one(h.SHOW,function(e){e.isDefaultPrevented()||a.one(h.HIDDEN,function(){t(n).is(":visible")&&n.focus()})});f._jQueryInterface.call(t(i),s,this)}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=a,f._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="scrollspy",s=t.fn[e],a={offset:10,method:"auto",target:""},l={offset:"number",method:"string",target:"(string|element)"},c={ACTIVATE:"activate.bs.scrollspy",SCROLL:"scroll.bs.scrollspy",LOAD_DATA_API:"load.bs.scrollspy.data-api"},h={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active"},u={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",NAV_LIST_GROUP:".nav, .list-group",NAV_LINKS:".nav-link",LIST_ITEMS:".list-group-item",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},d={OFFSET:"offset",POSITION:"position"},f=function(){function s(e,i){var o=this;n(this,s),this._element=e,this._scrollElement="BODY"===e.tagName?window:e,this._config=this._getConfig(i),this._selector=this._config.target+" "+u.NAV_LINKS+","+this._config.target+" "+u.LIST_ITEMS+","+this._config.target+" "+u.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(c.SCROLL,function(t){return o._process(t)}),this.refresh(),this._process()}
+// getters
+// public
+// private
+// static
+return s.prototype.refresh=function(){var e=this,n=this._scrollElement!==this._scrollElement.window?d.POSITION:d.OFFSET,i="auto"===this._config.method?n:this._config.method,o=i===d.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n=void 0,s=r.getSelectorFromElement(e);if(s&&(n=t(s)[0]),n){var a=n.getBoundingClientRect();if(a.width||a.height)
+// todo (fat): remove sketch reliance on jQuery position/offset
+return[t(n)[i]().top+o,s]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},s.prototype.dispose=function(){t.removeData(this._element,"bs.scrollspy"),t(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},s.prototype._getConfig=function(n){if(n=t.extend({},a,n),"string"!=typeof n.target){var i=t(n.target).attr("id");i||(i=r.getUID(e),t(n.target).attr("id",i)),n.target="#"+i}return r.typeCheckConfig(e,n,l),n},s.prototype._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},s.prototype._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},s.prototype._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},s.prototype._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];return void(this._activeTarget!==i&&this._activate(i))}if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}},s.prototype._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(",");n=n.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var i=t(n.join(","));i.hasClass(h.DROPDOWN_ITEM)?(i.closest(u.DROPDOWN).find(u.DROPDOWN_TOGGLE).addClass(h.ACTIVE),i.addClass(h.ACTIVE)):(
+// Set triggered link as active
+i.addClass(h.ACTIVE),
+// Set triggered links parents as active
+// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+i.parents(u.NAV_LIST_GROUP).prev(u.NAV_LINKS+", "+u.LIST_ITEMS).addClass(h.ACTIVE)),t(this._scrollElement).trigger(c.ACTIVATE,{relatedTarget:e})},s.prototype._clear=function(){t(this._selector).filter(u.ACTIVE).removeClass(h.ACTIVE)},s._jQueryInterface=function(e){return this.each(function(){var n=t(this).data("bs.scrollspy"),o="object"===(void 0===e?"undefined":i(e))&&e;if(n||(n=new s(this,o),t(this).data("bs.scrollspy",n)),"string"==typeof e){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(s,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return a}}]),s}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(window).on(c.LOAD_DATA_API,function(){for(var e=t.makeArray(t(u.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);f._jQueryInterface.call(i,i.data())}}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn[e]=f._jQueryInterface,t.fn[e].Constructor=f,t.fn[e].noConflict=function(){return t.fn[e]=s,f._jQueryInterface}}(jQuery),function(t){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e=t.fn.tab,i={HIDE:"hide.bs.tab",HIDDEN:"hidden.bs.tab",SHOW:"show.bs.tab",SHOWN:"shown.bs.tab",CLICK_DATA_API:"click.bs.tab.data-api"},s={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",DISABLED:"disabled",FADE:"fade",SHOW:"show"},a={DROPDOWN:".dropdown",NAV_LIST_GROUP:".nav, .list-group",ACTIVE:".active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},l=function(){function e(t){n(this,e),this._element=t}
+// getters
+// public
+// private
+// static
+return e.prototype.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(s.ACTIVE)||t(this._element).hasClass(s.DISABLED))){var n=void 0,o=void 0,l=t(this._element).closest(a.NAV_LIST_GROUP)[0],c=r.getSelectorFromElement(this._element);l&&(o=t.makeArray(t(l).find(a.ACTIVE)),o=o[o.length-1]);var h=t.Event(i.HIDE,{relatedTarget:this._element}),u=t.Event(i.SHOW,{relatedTarget:o});if(o&&t(o).trigger(h),t(this._element).trigger(u),!u.isDefaultPrevented()&&!h.isDefaultPrevented()){c&&(n=t(c)[0]),this._activate(this._element,l);var d=function(){var n=t.Event(i.HIDDEN,{relatedTarget:e._element}),r=t.Event(i.SHOWN,{relatedTarget:o});t(o).trigger(n),t(e._element).trigger(r)};n?this._activate(n,n.parentNode,d):d()}}},e.prototype.dispose=function(){t.removeData(this._element,"bs.tab"),this._element=null},e.prototype._activate=function(e,n,i){var o=this,l=t(n).find(a.ACTIVE)[0],c=i&&r.supportsTransitionEnd()&&l&&t(l).hasClass(s.FADE),h=function(){return o._transitionComplete(e,l,c,i)};l&&c?t(l).one(r.TRANSITION_END,h).emulateTransitionEnd(150):h(),l&&t(l).removeClass(s.SHOW)},e.prototype._transitionComplete=function(e,n,i,o){if(n){t(n).removeClass(s.ACTIVE);var l=t(n.parentNode).find(a.DROPDOWN_ACTIVE_CHILD)[0];l&&t(l).removeClass(s.ACTIVE),n.setAttribute("aria-expanded",!1)}if(t(e).addClass(s.ACTIVE),e.setAttribute("aria-expanded",!0),i?(r.reflow(e),t(e).addClass(s.SHOW)):t(e).removeClass(s.FADE),e.parentNode&&t(e.parentNode).hasClass(s.DROPDOWN_MENU)){var c=t(e).closest(a.DROPDOWN)[0];c&&t(c).find(a.DROPDOWN_TOGGLE).addClass(s.ACTIVE),e.setAttribute("aria-expanded",!0)}o&&o()},e._jQueryInterface=function(n){return this.each(function(){var i=t(this),o=i.data("bs.tab");if(o||(o=new e(this),i.data("bs.tab",o)),"string"==typeof n){if(void 0===o[n])throw new Error('No method named "'+n+'"');o[n]()}})},o(e,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}}]),e}();/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */
+t(document).on(i.CLICK_DATA_API,a.DATA_TOGGLE,function(e){e.preventDefault(),l._jQueryInterface.call(t(this),"show")}),/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+t.fn.tab=l._jQueryInterface,t.fn.tab.Constructor=l,t.fn.tab.noConflict=function(){return t.fn.tab=e,l._jQueryInterface}}(jQuery),function(t){/**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+if("undefined"==typeof Popper)throw new Error("Bootstrap tooltips require Popper.js (https://popper.js.org)");/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var e="tooltip",s=".bs.tooltip",a=t.fn[e],l=new RegExp("(^|\\s)bs-tooltip\\S+","g"),c={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)"},h={TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},u={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip"},d={SHOW:"show",OUT:"out"},f={HIDE:"hide"+s,HIDDEN:"hidden"+s,SHOW:"show"+s,SHOWN:"shown"+s,INSERTED:"inserted"+s,CLICK:"click"+s,FOCUSIN:"focusin"+s,FOCUSOUT:"focusout"+s,MOUSEENTER:"mouseenter"+s,MOUSELEAVE:"mouseleave"+s},p={FADE:"fade",SHOW:"show"},_={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},g={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},m=function(){function a(t,e){n(this,a),
+// private
+this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,
+// protected
+this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}
+// getters
+// public
+// protected
+// private
+// static
+return a.prototype.enable=function(){this._isEnabled=!0},a.prototype.disable=function(){this._isEnabled=!1},a.prototype.toggleEnabled=function(){this._isEnabled=!this._isEnabled},a.prototype.toggle=function(e){if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(p.SHOW))return void this._leave(null,this);this._enter(null,this)}},a.prototype.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},a.prototype.show=function(){var e=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var n=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(n);var i=t.contains(this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!i)return;var o=this.getTipElement(),s=r.getUID(this.constructor.NAME);o.setAttribute("id",s),this.element.setAttribute("aria-describedby",s),this.setContent(),this.config.animation&&t(o).addClass(p.FADE);var l="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,c=this._getAttachment(l);this.addAttachmentClass(c);var h=!1===this.config.container?document.body:t(this.config.container);t(o).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(o).appendTo(h),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new Popper(this.element,o,{placement:c,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(o).addClass(p.SHOW),
+// if this is a touch-enabled device we add extra
+// empty mouseover listeners to the body's immediate children;
+// only needed because of broken event delegation on iOS
+// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+"ontouchstart"in document.documentElement&&t("body").children().on("mouseover",null,t.noop);var u=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===d.OUT&&e._leave(null,e)};r.supportsTransitionEnd()&&t(this.tip).hasClass(p.FADE)?t(this.tip).one(r.TRANSITION_END,u).emulateTransitionEnd(a._TRANSITION_DURATION):u()}},a.prototype.hide=function(e){var n=this,i=this.getTipElement(),o=t.Event(this.constructor.Event.HIDE),s=function(){n._hoverState!==d.SHOW&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(o),o.isDefaultPrevented()||(t(i).removeClass(p.SHOW),
+// if this is a touch-enabled device we remove the extra
+// empty mouseover listeners we added for iOS support
+"ontouchstart"in document.documentElement&&t("body").children().off("mouseover",null,t.noop),this._activeTrigger[g.CLICK]=!1,this._activeTrigger[g.FOCUS]=!1,this._activeTrigger[g.HOVER]=!1,r.supportsTransitionEnd()&&t(this.tip).hasClass(p.FADE)?t(i).one(r.TRANSITION_END,s).emulateTransitionEnd(150):s(),this._hoverState="")},a.prototype.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},a.prototype.isWithContent=function(){return Boolean(this.getTitle())},a.prototype.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},a.prototype.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0]},a.prototype.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(_.TOOLTIP_INNER),this.getTitle()),e.removeClass(p.FADE+" "+p.SHOW)},a.prototype.setElementContent=function(e,n){var o=this.config.html;"object"===(void 0===n?"undefined":i(n))&&(n.nodeType||n.jquery)?
+// content is a DOM node or a jQuery
+o?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[o?"html":"text"](n)},a.prototype.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},a.prototype._getAttachment=function(t){return h[t.toUpperCase()]},a.prototype._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==g.MANUAL){var i=n===g.HOVER?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o=n===g.HOVER?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(".modal").on("hide.bs.modal",function(){return e.hide()})}),this.config.selector?this.config=t.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},a.prototype._fixTitle=function(){var t=i(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},a.prototype._enter=function(e,n){var i=this.constructor.DATA_KEY;return n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?g.FOCUS:g.HOVER]=!0),t(n.getTipElement()).hasClass(p.SHOW)||n._hoverState===d.SHOW?void(n._hoverState=d.SHOW):(clearTimeout(n._timeout),n._hoverState=d.SHOW,n.config.delay&&n.config.delay.show?void(n._timeout=setTimeout(function(){n._hoverState===d.SHOW&&n.show()},n.config.delay.show)):void n.show())},a.prototype._leave=function(e,n){var i=this.constructor.DATA_KEY;if(n=n||t(e.currentTarget).data(i),n||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?g.FOCUS:g.HOVER]=!1),!n._isWithActiveTrigger()){if(clearTimeout(n._timeout),n._hoverState=d.OUT,!n.config.delay||!n.config.delay.hide)return void n.hide();n._timeout=setTimeout(function(){n._hoverState===d.OUT&&n.hide()},n.config.delay.hide)}},a.prototype._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},a.prototype._getConfig=function(n){return n=t.extend({},this.constructor.Default,t(this.element).data(),n),n.delay&&"number"==typeof n.delay&&(n.delay={show:n.delay,hide:n.delay}),n.title&&"number"==typeof n.title&&(n.title=n.title.toString()),n.content&&"number"==typeof n.content&&(n.content=n.content.toString()),r.typeCheckConfig(e,n,this.constructor.DefaultType),n},a.prototype._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},a.prototype._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(l);null!==n&&n.length>0&&e.removeClass(n.join(""))},a.prototype._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},a.prototype._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass(p.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data("bs.tooltip"),o="object"===(void 0===e?"undefined":i(e))&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new a(this,o),t(this).data("bs.tooltip",n)),"string"==typeof e)){if(void 0===n[e])throw new Error('No method named "'+e+'"');n[e]()}})},o(a,null,[{key:"VERSION",get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return e}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return f}},{key:"EVENT_KEY",get:function(){return s}},{key:"DefaultType",get:function(){return c}}]),a}();/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+return t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=a,m._jQueryInterface},m}(jQuery));!function(r){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+var a="popover",l=".bs.popover",c=r.fn[a],h=new RegExp("(^|\\s)bs-popover\\S+","g"),u=r.extend({},s.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),d=r.extend({},s.DefaultType,{content:"(string|element|function)"}),f={FADE:"fade",SHOW:"show"},p={TITLE:".popover-title",CONTENT:".popover-content"},_={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},g=function(s){function c(){return n(this,c),t(this,s.apply(this,arguments))}
+// overrides
+// private
+// static
+return e(c,s),c.prototype.isWithContent=function(){return this.getTitle()||this._getContent()},c.prototype.addAttachmentClass=function(t){r(this.getTipElement()).addClass("bs-popover-"+t)},c.prototype.getTipElement=function(){return this.tip=this.tip||r(this.config.template)[0]},c.prototype.setContent=function(){var t=r(this.getTipElement());
+// we use append for html objects to maintain js events
+this.setElementContent(t.find(p.TITLE),this.getTitle()),this.setElementContent(t.find(p.CONTENT),this._getContent()),t.removeClass(f.FADE+" "+f.SHOW)},c.prototype._getContent=function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)},c.prototype._cleanTipClass=function(){var t=r(this.getTipElement()),e=t.attr("class").match(h);null!==e&&e.length>0&&t.removeClass(e.join(""))},c._jQueryInterface=function(t){return this.each(function(){var e=r(this).data("bs.popover"),n="object"===(void 0===t?"undefined":i(t))?t:null;if((e||!/destroy|hide/.test(t))&&(e||(e=new c(this,n),r(this).data("bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new Error('No method named "'+t+'"');e[t]()}})},o(c,null,[{key:"VERSION",
+// getters
+get:function(){return"4.0.0-alpha.6"}},{key:"Default",get:function(){return u}},{key:"NAME",get:function(){return a}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return _}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return d}}]),c}(s);/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+r.fn[a]=g._jQueryInterface,r.fn[a].Constructor=g,r.fn[a].noConflict=function(){return r.fn[a]=c,g._jQueryInterface}}(jQuery)}(); \ No newline at end of file
diff --git a/docs/examples/album/index.html b/docs/examples/album/index.html
index 05fc659bb..c19c455f3 100644
--- a/docs/examples/album/index.html
+++ b/docs/examples/album/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -118,9 +116,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../assets/js/vendor/holder.min.js"></script>
<script>
$(function () {
diff --git a/docs/examples/blog/index.html b/docs/examples/blog/index.html
index e4ef18ddc..27b4da491 100644
--- a/docs/examples/blog/index.html
+++ b/docs/examples/blog/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -22,7 +20,7 @@
<div class="blog-masthead">
<div class="container">
- <nav class="nav blog-nav">
+ <nav class="nav">
<a class="nav-link active" href="#">Home</a>
<a class="nav-link" href="#">New features</a>
<a class="nav-link" href="#">Press</a>
@@ -158,9 +156,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
diff --git a/docs/examples/carousel/index.html b/docs/examples/carousel/index.html
index f69a627ce..9a55c57ac 100644
--- a/docs/examples/carousel/index.html
+++ b/docs/examples/carousel/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -19,11 +17,11 @@
</head>
<body>
- <nav class="navbar navbar-toggleable-md navbar-inverse navbar-fixed-top bg-inverse">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-md navbar-inverse fixed-top bg-inverse">
+ <a class="navbar-brand" href="#">Carousel</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Carousel</a>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
@@ -37,7 +35,7 @@
</li>
</ul>
<form class="form-inline mt-2 mt-md-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
@@ -49,7 +47,7 @@
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
- <div class="carousel-inner" role="listbox">
+ <div class="carousel-inner">
<div class="carousel-item active">
<img class="first-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="First slide">
<div class="container">
@@ -167,7 +165,7 @@
<!-- FOOTER -->
<footer>
<p class="float-right"><a href="#">Back to top</a></p>
- <p>&copy; 2014 Company, Inc. &middot; <a href="#">Privacy</a> &middot; <a href="#">Terms</a></p>
+ <p>&copy; 2017 Company, Inc. &middot; <a href="#">Privacy</a> &middot; <a href="#">Terms</a></p>
</footer>
</div><!-- /.container -->
@@ -176,9 +174,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- Just to make our placeholder images work. Don't actually copy the next line! -->
<script src="../../assets/js/vendor/holder.min.js"></script>
diff --git a/docs/examples/cover/index.html b/docs/examples/cover/index.html
index 9518792dd..ea2faec9e 100644
--- a/docs/examples/cover/index.html
+++ b/docs/examples/cover/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -60,9 +58,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
diff --git a/docs/examples/dashboard/dashboard.css b/docs/examples/dashboard/dashboard.css
index 99f2962b5..b1248cd68 100644
--- a/docs/examples/dashboard/dashboard.css
+++ b/docs/examples/dashboard/dashboard.css
@@ -2,9 +2,9 @@
* Base structure
*/
-/* Move down content because we have a fixed navbar that is 50px tall */
+/* Move down content because we have a fixed navbar that is 3.5rem tall */
body {
- padding-top: 50px;
+ padding-top: 3.5rem;
}
/*
diff --git a/docs/examples/dashboard/index.html b/docs/examples/dashboard/index.html
index 3d44249d3..241ffcbc3 100644
--- a/docs/examples/dashboard/index.html
+++ b/docs/examples/dashboard/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -19,11 +17,11 @@
</head>
<body>
- <nav class="navbar navbar-toggleable-md navbar-inverse navbar-fixed-top bg-inverse">
- <button class="navbar-toggler navbar-toggler-right hidden-lg-up" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-md navbar-inverse fixed-top bg-inverse">
+ <a class="navbar-brand" href="#">Dashboard</a>
+ <button class="navbar-toggler d-lg-none" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Dashboard</a>
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
<ul class="navbar-nav mr-auto">
@@ -41,7 +39,7 @@
</li>
</ul>
<form class="form-inline mt-2 mt-md-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
@@ -49,7 +47,7 @@
<div class="container-fluid">
<div class="row">
- <nav class="col-sm-3 col-md-2 hidden-xs-down bg-faded sidebar">
+ <nav class="col-sm-3 col-md-2 d-none d-sm-block bg-faded sidebar">
<ul class="nav nav-pills flex-column">
<li class="nav-item">
<a class="nav-link active" href="#">Overview <span class="sr-only">(current)</span></a>
@@ -93,7 +91,7 @@
</ul>
</nav>
- <main class="col-sm-9 offset-sm-3 col-md-10 offset-md-2 pt-3">
+ <main class="col-sm-9 offset-sm-3 col-md-10 offset-md-2 pt-3" role="main">
<h1>Dashboard</h1>
<section class="row text-center placeholders">
@@ -254,9 +252,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
diff --git a/docs/examples/grid/index.html b/docs/examples/grid/index.html
index 1400bfd9a..783eee35d 100644
--- a/docs/examples/grid/index.html
+++ b/docs/examples/grid/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -145,7 +143,7 @@
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<!-- Add the extra clearfix for only the required viewport -->
- <div class="clearfix hidden-sm-up"></div>
+ <div class="clearfix d-sm-none"></div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
diff --git a/docs/examples/jumbotron/index.html b/docs/examples/jumbotron/index.html
index f3adb0a03..af2d798db 100644
--- a/docs/examples/jumbotron/index.html
+++ b/docs/examples/jumbotron/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -20,11 +18,11 @@
<body>
- <nav class="navbar navbar-toggleable-md navbar-inverse navbar-fixed-top bg-inverse">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-md navbar-inverse fixed-top bg-inverse">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
<ul class="navbar-nav mr-auto">
@@ -47,7 +45,7 @@
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
@@ -74,7 +72,7 @@
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
- </div>
+ </div>
<div class="col-md-4">
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
@@ -85,7 +83,7 @@
<hr>
<footer>
- <p>&copy; Company 2016</p>
+ <p>&copy; Company 2017</p>
</footer>
</div> <!-- /container -->
@@ -93,9 +91,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
diff --git a/docs/examples/jumbotron/jumbotron.css b/docs/examples/jumbotron/jumbotron.css
index 2f72eb954..d751264ef 100644
--- a/docs/examples/jumbotron/jumbotron.css
+++ b/docs/examples/jumbotron/jumbotron.css
@@ -1,4 +1,4 @@
-/* Move down content because we have a fixed navbar that is 50px tall */
+/* Move down content because we have a fixed navbar that is 3.5rem tall */
body {
- padding-top: 2rem;
+ padding-top: 3.5rem;
}
diff --git a/docs/examples/justified-nav/index.html b/docs/examples/justified-nav/index.html
index f12a9efe7..fe42367d9 100644
--- a/docs/examples/justified-nav/index.html
+++ b/docs/examples/justified-nav/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -25,12 +23,12 @@
<div class="masthead">
<h3 class="text-muted">Project name</h3>
- <nav class="navbar navbar-light bg-faded rounded mb-3">
+ <nav class="navbar navbar-expand-md navbar-light bg-faded rounded mb-3">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <div class="collapse navbar-toggleable-md" id="navbarCollapse">
- <ul class="nav navbar-nav text-md-center justify-content-md-between">
+ <div class="collapse navbar-collapse" id="navbarCollapse">
+ <ul class="navbar-nav text-md-center nav-justified w-100">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
@@ -77,7 +75,7 @@
<h2>Heading</h2>
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
<p><a class="btn btn-primary" href="#" role="button">View details &raquo;</a></p>
- </div>
+ </div>
<div class="col-lg-4">
<h2>Heading</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.</p>
@@ -87,7 +85,7 @@
<!-- Site footer -->
<footer class="footer">
- <p>&copy; Company 2016</p>
+ <p>&copy; Company 2017</p>
</footer>
</div> <!-- /container -->
@@ -96,9 +94,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
diff --git a/docs/examples/narrow-jumbotron/index.html b/docs/examples/narrow-jumbotron/index.html
index e27aca212..7bdfbb9c9 100644
--- a/docs/examples/narrow-jumbotron/index.html
+++ b/docs/examples/narrow-jumbotron/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -69,7 +67,7 @@
</div>
<footer class="footer">
- <p>&copy; Company 2014</p>
+ <p>&copy; Company 2017</p>
</footer>
</div> <!-- /container -->
diff --git a/docs/examples/navbar-top-fixed/index.html b/docs/examples/navbar-top-fixed/index.html
index c92f50567..67ffa5d43 100644
--- a/docs/examples/navbar-top-fixed/index.html
+++ b/docs/examples/navbar-top-fixed/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -20,11 +18,11 @@
<body>
- <nav class="navbar navbar-toggleable-md navbar-inverse navbar-fixed-top bg-inverse">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-md navbar-inverse fixed-top bg-inverse">
+ <a class="navbar-brand" href="#">Fixed navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Fixed navbar</a>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
@@ -38,7 +36,7 @@
</li>
</ul>
<form class="form-inline mt-2 mt-md-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
@@ -56,9 +54,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
diff --git a/docs/examples/navbar-top/index.html b/docs/examples/navbar-top/index.html
index 257ac23eb..4850807c3 100644
--- a/docs/examples/navbar-top/index.html
+++ b/docs/examples/navbar-top/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -20,11 +18,11 @@
<body>
- <nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse mb-4">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-md navbar-inverse bg-inverse mb-4">
+ <a class="navbar-brand" href="#">Top navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Top navbar</a>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
@@ -38,7 +36,7 @@
</li>
</ul>
<form class="form-inline mt-2 mt-md-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
@@ -56,9 +54,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
diff --git a/docs/examples/navbars/index.html b/docs/examples/navbars/index.html
index 8694df3fc..b46b34894 100644
--- a/docs/examples/navbars/index.html
+++ b/docs/examples/navbars/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -20,13 +18,13 @@
<body>
- <nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-inverse bg-inverse">
+ <a class="navbar-brand" href="#">Never expand</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample01" aria-controls="navbarsExample01" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
- <div class="collapse navbar-collapse" id="navbarsExampleDefault">
+ <div class="collapse navbar-collapse" id="navbarsExample01">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
@@ -47,20 +45,179 @@
</li>
</ul>
<form class="form-inline my-2 my-md-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
- <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
+ <input class="form-control" type="text" placeholder="Search" aria-label="Search">
</form>
</div>
</nav>
- <nav class="navbar navbar-inverse bg-inverse navbar-toggleable-md">
+ <nav class="navbar navbar-expand navbar-inverse bg-inverse">
+ <a class="navbar-brand" href="#">Expand</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample02" aria-controls="navbarsExample02" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <div class="collapse navbar-collapse" id="navbarsExample02">
+ <ul class="navbar-nav mr-auto">
+ <li class="nav-item active">
+ <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">Link</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link disabled" href="#">Disabled</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown02" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown02">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ </div>
+ </li>
+ </ul>
+ <form class="form-inline my-2 my-md-0">
+ <input class="form-control" type="text" placeholder="Search">
+ </form>
+ </div>
+ </nav>
+
+ <nav class="navbar navbar-expand-sm navbar-inverse bg-inverse">
+ <a class="navbar-brand" href="#">Expand at sm</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample03" aria-controls="navbarsExample03" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <div class="collapse navbar-collapse" id="navbarsExample03">
+ <ul class="navbar-nav mr-auto">
+ <li class="nav-item active">
+ <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">Link</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link disabled" href="#">Disabled</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown03" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown03">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ </div>
+ </li>
+ </ul>
+ <form class="form-inline my-2 my-md-0">
+ <input class="form-control" type="text" placeholder="Search">
+ </form>
+ </div>
+ </nav>
+
+ <nav class="navbar navbar-expand-md navbar-inverse bg-inverse">
+ <a class="navbar-brand" href="#">Expand at md</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample04" aria-controls="navbarsExample04" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <div class="collapse navbar-collapse" id="navbarsExample04">
+ <ul class="navbar-nav mr-auto">
+ <li class="nav-item active">
+ <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">Link</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link disabled" href="#">Disabled</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown04" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown04">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ </div>
+ </li>
+ </ul>
+ <form class="form-inline my-2 my-md-0">
+ <input class="form-control" type="text" placeholder="Search">
+ </form>
+ </div>
+ </nav>
+
+ <nav class="navbar navbar-expand-lg navbar-inverse bg-inverse">
+ <a class="navbar-brand" href="#">Expand at lg</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample05" aria-controls="navbarsExample05" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <div class="collapse navbar-collapse" id="navbarsExample05">
+ <ul class="navbar-nav mr-auto">
+ <li class="nav-item active">
+ <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">Link</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link disabled" href="#">Disabled</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown05" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown05">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ </div>
+ </li>
+ </ul>
+ <form class="form-inline my-2 my-md-0">
+ <input class="form-control" type="text" placeholder="Search">
+ </form>
+ </div>
+ </nav>
+
+ <nav class="navbar navbar-expand-xl navbar-inverse bg-inverse">
+ <a class="navbar-brand" href="#">Expand at xl</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample06" aria-controls="navbarsExample06" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <div class="collapse navbar-collapse" id="navbarsExample06">
+ <ul class="navbar-nav mr-auto">
+ <li class="nav-item active">
+ <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">Link</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link disabled" href="#">Disabled</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown06" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown06">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ </div>
+ </li>
+ </ul>
+ <form class="form-inline my-2 my-md-0">
+ <input class="form-control" type="text" placeholder="Search">
+ </form>
+ </div>
+ </nav>
+
+ <nav class="navbar navbar-expand-lg navbar-inverse bg-inverse">
<div class="container">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarsExampleContainer" aria-controls="navbarsExampleContainer" aria-expanded="false" aria-label="Toggle navigation">
+ <a class="navbar-brand" href="#">Container</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample07" aria-controls="navbarsExample07" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Container</a>
- <div class="collapse navbar-collapse" id="navbarsExampleContainer">
+ <div class="collapse navbar-collapse" id="navbarsExample07">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
@@ -72,8 +229,8 @@
<a class="nav-link disabled" href="#">Disabled</a>
</li>
<li class="nav-item dropdown">
- <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown02" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
- <div class="dropdown-menu" aria-labelledby="dropdown02">
+ <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown07" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown07">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
@@ -81,19 +238,18 @@
</li>
</ul>
<form class="form-inline my-2 my-md-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
- <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
+ <input class="form-control" type="text" placeholder="Search" aria-label="Search">
</form>
</div>
</div>
</nav>
- <nav class="navbar navbar-inverse bg-inverse navbar-toggleable-md">
- <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleCenteredNav" aria-controls="navbarsExampleCenteredNav" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-lg navbar-inverse bg-inverse">
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample08" aria-controls="navbarsExample08" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <div class="collapse navbar-collapse justify-content-md-center" id="navbarsExampleCenteredNav">
+ <div class="collapse navbar-collapse justify-content-md-center" id="navbarsExample08">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Centered nav only <span class="sr-only">(current)</span></a>
@@ -105,8 +261,8 @@
<a class="nav-link disabled" href="#">Disabled</a>
</li>
<li class="nav-item dropdown">
- <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown03" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
- <div class="dropdown-menu" aria-labelledby="dropdown03">
+ <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown08" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown08">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
@@ -117,13 +273,13 @@
</nav>
<div class="container">
- <nav class="navbar navbar-light bg-faded rounded navbar-toggleable-md">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#containerNavbar" aria-controls="containerNavbar" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-lg navbar-light bg-faded rounded">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample09" aria-controls="navbarsExample09" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
- <div class="collapse navbar-collapse" id="containerNavbar">
+ <div class="collapse navbar-collapse" id="navbarsExample09">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
@@ -135,8 +291,8 @@
<a class="nav-link disabled" href="#">Disabled</a>
</li>
<li class="nav-item dropdown">
- <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown04" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
- <div class="dropdown-menu" aria-labelledby="dropdown04">
+ <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown09" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown09">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
@@ -144,18 +300,17 @@
</li>
</ul>
<form class="form-inline my-2 my-md-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
- <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
+ <input class="form-control" type="text" placeholder="Search" aria-label="Search">
</form>
</div>
</nav>
- <nav class="navbar navbar-light bg-faded rounded navbar-toggleable-md">
- <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#containerNavbarCenter" aria-controls="containerNavbarCenter" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-lg navbar-light bg-faded rounded">
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExample10" aria-controls="navbarsExample10" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <div class="collapse navbar-collapse justify-content-md-center" id="containerNavbarCenter">
+ <div class="collapse navbar-collapse justify-content-md-center" id="navbarsExample10">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Centered nav only <span class="sr-only">(current)</span></a>
@@ -167,8 +322,8 @@
<a class="nav-link disabled" href="#">Disabled</a>
</li>
<li class="nav-item dropdown">
- <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown05" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
- <div class="dropdown-menu" aria-labelledby="dropdown05">
+ <a class="nav-link dropdown-toggle" href="http://example.com" id="dropdown10" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown10">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
@@ -181,7 +336,7 @@
<div class="jumbotron">
<div class="col-sm-8 mx-auto">
<h1>Navbar examples</h1>
- <p>This example is a quick exercise to illustrate how the navbar and it's contents work. Some navbars extend the width of the viewport, others are confined within a <code>.container</code>. For positioning of navbars, checkout the <a href="../navbar-top/">top</a> and <a href="../navbar-top-fixed/">fixed top</a> examples.</p>
+ <p>This example is a quick exercise to illustrate how the navbar and its contents work. Some navbars extend the width of the viewport, others are confined within a <code>.container</code>. For positioning of navbars, checkout the <a href="../navbar-top/">top</a> and <a href="../navbar-top-fixed/">fixed top</a> examples.</p>
<p>At the smallest breakpoint, the collapse plugin is used to hide the links and show a menu button to toggle the collapsed content.</p>
<p>
<a class="btn btn-primary" href="../../components/navbar/" role="button">View navbar docs &raquo;</a>
@@ -194,9 +349,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
diff --git a/docs/examples/offcanvas/index.html b/docs/examples/offcanvas/index.html
index 1e20591b5..766b66140 100644
--- a/docs/examples/offcanvas/index.html
+++ b/docs/examples/offcanvas/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -20,11 +18,11 @@
<body>
- <nav class="navbar navbar-toggleable-md navbar-fixed-top navbar-inverse bg-inverse">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-md fixed-top navbar-inverse bg-inverse">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
<ul class="navbar-nav mr-auto">
@@ -47,7 +45,7 @@
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
@@ -58,7 +56,7 @@
<div class="row row-offcanvas row-offcanvas-right">
<div class="col-12 col-md-9">
- <p class="float-right hidden-md-up">
+ <p class="float-right d-md-none">
<button type="button" class="btn btn-primary btn-sm" data-toggle="offcanvas">Toggle nav</button>
</p>
<div class="jumbotron">
@@ -127,9 +125,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
diff --git a/docs/examples/signin/index.html b/docs/examples/signin/index.html
index 70ed3b98d..975702863 100644
--- a/docs/examples/signin/index.html
+++ b/docs/examples/signin/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
diff --git a/docs/examples/starter-template/index.html b/docs/examples/starter-template/index.html
index d497e2a1b..a18c5ae40 100644
--- a/docs/examples/starter-template/index.html
+++ b/docs/examples/starter-template/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -20,11 +18,11 @@
<body>
- <nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse navbar-fixed-top">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-md navbar-inverse bg-inverse fixed-top">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
<ul class="navbar-nav mr-auto">
@@ -47,7 +45,7 @@
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
@@ -66,9 +64,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
diff --git a/docs/examples/sticky-footer-navbar/index.html b/docs/examples/sticky-footer-navbar/index.html
index d0a154bd3..3e382683c 100644
--- a/docs/examples/sticky-footer-navbar/index.html
+++ b/docs/examples/sticky-footer-navbar/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
@@ -21,11 +19,11 @@
<body>
<!-- Fixed navbar -->
- <nav class="navbar navbar-toggleable-md navbar-inverse navbar-fixed-top bg-inverse">
- <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
+ <nav class="navbar navbar-expand-md navbar-inverse fixed-top bg-inverse">
+ <a class="navbar-brand" href="#">Fixed navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
- <a class="navbar-brand" href="#">Fixed navbar</a>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
@@ -39,7 +37,7 @@
</li>
</ul>
<form class="form-inline mt-2 mt-md-0">
- <input class="form-control mr-sm-2" type="text" placeholder="Search">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
@@ -64,9 +62,9 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
diff --git a/docs/examples/sticky-footer/index.html b/docs/examples/sticky-footer/index.html
index 3d305166e..00dcf2bc3 100644
--- a/docs/examples/sticky-footer/index.html
+++ b/docs/examples/sticky-footer/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
diff --git a/docs/examples/tooltip-viewport/index.html b/docs/examples/tooltip-viewport/index.html
index 2ca1ed2b0..384809811 100644
--- a/docs/examples/tooltip-viewport/index.html
+++ b/docs/examples/tooltip-viewport/index.html
@@ -2,9 +2,7 @@
<html lang="en">
<head>
<meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../favicon.ico">
@@ -39,11 +37,10 @@
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.9.9/umd/popper.min.js" integrity="sha256-c477vRLKQv1jt9o7w6TTBzFyFznTaZjoMLTDFi7Hlxc=" crossorigin="anonymous"></script>
<script src="../../dist/js/bootstrap.min.js"></script>
- <script src="../../assets/js/vendor/tether.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
<script src="tooltip-viewport.js"></script>
diff --git a/docs/extend/icon-fonts.md b/docs/extend/icon-fonts.md
deleted file mode 100644
index 9cddafeea..000000000
--- a/docs/extend/icon-fonts.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-layout: docs
-title: Icon fonts
----
-
-TODO
diff --git a/docs/extend/icons.md b/docs/extend/icons.md
new file mode 100644
index 000000000..c619ed2ce
--- /dev/null
+++ b/docs/extend/icons.md
@@ -0,0 +1,24 @@
+---
+layout: docs
+title: Icons
+group: extend
+---
+
+Bootstrap doesn't include an icon library by default, but we have a handful of recommendations for you to choose from. While most icon sets include multiple file formats, we prefer SVG implementations for their improved accessibility and vector support.
+
+## Preferred
+We've tested and used these icon sets ourselves.
+
+- [Iconic](https://useiconic.com/open/)
+- [Octicons](https://octicons.github.com/)
+- [Entypo](http://www.entypo.com/)
+
+## More options
+While we haven't tried these out, they do look promising and provide multiple formats—including SVG.
+
+- [Google Material icons](https://material.io/icons/)
+- [Ionicons](http://ionicons.com/)
+- [Feather](http://colebemis.com/feather/)
+- [Dripicons](http://demo.amitjakhu.com/dripicons/)
+- [Ikons](http://ikons.piotrkwiatkowski.co.uk/)
+- [Glyph](http://glyph.smarticons.co/)
diff --git a/docs/getting-started/accessibility.md b/docs/getting-started/accessibility.md
index a13ea286e..9a90c295c 100644
--- a/docs/getting-started/accessibility.md
+++ b/docs/getting-started/accessibility.md
@@ -1,61 +1,57 @@
---
layout: docs
title: Accessibility
-description: Learn how Bootstrap supports common web standards for making sites that are accessibile to those using assistive technology.
+description: A brief overview of Bootstrap's features and limitations for the creation of accessible content.
group: getting-started
---
-Bootstrap follows common web standards and—with minimal extra effort—can be used to create sites that are accessible to those using <abbr title="Assistive Technology" class="initialism">AT</abbr>.
+Bootstrap provides an easy-to-use framework of ready-made styles, layout tools, and interactive components, allowing developers to create web sites and applications that are visually appealing, functionally rich, and accessible out of the box.
## Contents
* Will be replaced with the ToC, excluding the "Contents" header
{:toc}
-## Component requirements
+## Overview and limitations
-Some common HTML elements are always in need for basic accessibility enhancements through `role`s and Aria attributes. Below is a list of some of the most frequently used ones.
+The overall accessibility of any project built with Bootstrap depends in large part on the author's markup, additional styling, and scripting they've included. However, provided that these have been implemented correctly, it should be perfectly possible to create web sites and applications with Bootstrap that fulfill [<abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.0](https://www.w3.org/TR/WCAG20/) (A/AA/AAA), [Section 508](https://www.section508.gov/) and similar accessibility standards and requirements.
-{% callout info %}
-**Heads up!** As we go through the alphas, we'll be moving more accessibility notes here with links to specific sections from other areas of the docs.
-{% endcallout %}
+### Structural markup
-### Button groups
+Bootstrap's styling and layout can be applied to a wide range of markup structures. This documentation aims to provide developers with best practice examples to demonstrate the use of Bootstrap itself and illustrate appropriate semantic markup, including ways in which potential accessibility concerns can be addressed.
-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"`.
+### Interactive components
-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.
+Bootstrap's interactive components—such as modal dialogs, dropdown menus and custom tooltips—are designed to work for touch, mouse and keyboard users. Through the use of relevant [<abbr title="Web Accessibility Initiative">WAI</abbr> <abbr title="Accessible Rich Internet Applications">ARIA</abbr>](https://www.w3.org/WAI/intro/aria) roles and attributes, these components should also be understandable and operable using assistive technologies (such as screen readers).
-## Skip navigation
+Because Bootstrap's components are purposely designed to be fairly generic, authors may need to include further <abbr title="Accessible Rich Internet Applications">ARIA</abbr> roles and attributes, as well as JavaScript behavior, to more accurately convey the precise nature and functionality of their component. This is usually noted in the documentation.
-If your navigation contains many links and comes before the main content in the DOM, add a `Skip to main content` link before the navigation (for a simple explanation, see this [A11Y Project article on skip navigation links](http://a11yproject.com/posts/skip-nav-links/)). Using the `.sr-only` class will visually hide the skip link, and the <code>.sr-only-focusable</code> class will ensure that the link becomes visible once focused (for sighted keyboard users).
+### Color contrast
-{% callout danger %}
-Due to long-standing shortcomings/bugs in Internet Explorer (see this article on [in-page links and focus order](http://accessibleculture.org/articles/2010/05/in-page-links/)), you will need to make sure that the target of your skip link is at least programmatically focusable by adding `tabindex="-1"`.
+Most colors that currently make up Bootstrap's default palette—used throughout the framework for things such as button variations, alert variations, form validation indicators—lead to *insufficient* color contrast (below the recommended [WCAG 2.0 color contrast ratio of 4.5:1](https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html)) when used against a light background. Authors will need to manually modify/extend these default colors to ensure adequate color contrast ratios.
-In addition, you may want to explicitly suppress a visible focus indication on the target (particularly as Chrome currently also sets focus on elements with `tabindex="-1"` when they are clicked with the mouse) with `#content:focus { outline: none; }`.
+### Visually hidden content
-Note that this bug will also affect any other in-page links your site may be using, rendering them useless for keyboard users. You may consider adding a similar stop-gap fix to all other named anchors / fragment identifiers that act as link targets.
-{% endcallout %}
+Content which should be visually hidden, but remain accessible to assistive technologies such as screen readers, can be styled using the `.sr-only` class. This can be useful in situations where additional visual information or cues (such as meaning denoted through the use of color) need to also be conveyed to non-visual users.
{% highlight html %}
-<body>
- <a href="#content" class="sr-only sr-only-focusable">Skip to main content</a>
- ...
- <div class="container" id="content" tabindex="-1">
- <!-- The main page content -->
- </div>
-</body>
+<p class="text-danger">
+ <span class=".sr-only">Danger: </span>
+ This action is not reversible
+</p>
{% endhighlight %}
-## Nested headings
+For visually hidden interactive controls, such as traditional "skip" links, `.sr-only` can be combined with the `.sr-only-focusable` class. This will ensure that the control becomes visible once focused (for sighted keyboard users).
-When nesting headings (`<h1>` - `<h6>`), your primary document header should be an `<h1>`. Subsequent headings should make logical use of `<h2>` - `<h6>` such that screen readers can construct a table of contents for your pages.
-
-Learn more at [HTML CodeSniffer](https://squizlabs.github.io/HTML_CodeSniffer/Standards/Section508/) and [Penn State's Accessability](http://accessibility.psu.edu/headings/).
+{% highlight html %}
+<a class="sr-only sr-only-focusable" href="#content">Skip to main content</a>
+{% endhighlight %}
## Additional resources
-- ["HTML Codesniffer" bookmarklet for identifying accessibility issues](https://github.com/squizlabs/HTML_CodeSniffer)
+- [Web Content Accessibility Guidelines (WCAG) 2.0](https://www.w3.org/TR/WCAG20/)
- [The A11Y Project](http://a11yproject.com/)
- [MDN accessibility documentation](https://developer.mozilla.org/en-US/docs/Web/Accessibility)
+- [Tenon.io Accessibility Checker](https://tenon.io/)
+- [Colour Contrast Analyser (CCA)](https://www.paciellogroup.com/resources/contrastanalyser/)
+- ["HTML Codesniffer" bookmarklet for identifying accessibility issues](https://github.com/squizlabs/HTML_CodeSniffer)
diff --git a/docs/getting-started/browsers-devices.md b/docs/getting-started/browsers-devices.md
index 34d98a898..5dee37dff 100644
--- a/docs/getting-started/browsers-devices.md
+++ b/docs/getting-started/browsers-devices.md
@@ -22,161 +22,102 @@ Alternative browsers which use the latest version of WebKit, Blink, or Gecko, wh
Generally speaking, Bootstrap supports the latest versions of each major platform's default browsers. Note that proxy browsers (such as Opera Mini, Opera Mobile's Turbo mode, UC Browser Mini, Amazon Silk) are not supported.
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <td></td>
- <th>Chrome</th>
- <th>Firefox</th>
- <th>Safari</th>
- <th>Android Browser &amp; WebView</th>
- <th>Microsoft Edge</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">Android</th>
- <td class="text-success">Supported</td>
- <td class="text-success">Supported</td>
- <td class="text-muted">N/A</td>
- <td class="text-success">Android v5.0+ supported</td>
- <td class="text-muted">N/A</td>
- </tr>
- <tr>
- <th scope="row">iOS</th>
- <td class="text-success">Supported</td>
- <td class="text-success">Supported</td>
- <td class="text-success">Supported</td>
- <td class="text-muted">N/A</td>
- <td class="text-muted">N/A</td>
- </tr>
- <tr>
- <th scope="row">Windows 10 Mobile</th>
- <td class="text-muted">N/A</td>
- <td class="text-muted">N/A</td>
- <td class="text-muted">N/A</td>
- <td class="text-muted">N/A</td>
- <td class="text-success">Supported</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <td></td>
+ <th>Chrome</th>
+ <th>Firefox</th>
+ <th>Safari</th>
+ <th>Android Browser &amp; WebView</th>
+ <th>Microsoft Edge</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th scope="row">Android</th>
+ <td class="text-success">Supported</td>
+ <td class="text-success">Supported</td>
+ <td class="text-muted">N/A</td>
+ <td class="text-success">Android v5.0+ supported</td>
+ <td class="text-muted">N/A</td>
+ </tr>
+ <tr>
+ <th scope="row">iOS</th>
+ <td class="text-success">Supported</td>
+ <td class="text-success">Supported</td>
+ <td class="text-success">Supported</td>
+ <td class="text-muted">N/A</td>
+ <td class="text-muted">N/A</td>
+ </tr>
+ <tr>
+ <th scope="row">Windows 10 Mobile</th>
+ <td class="text-muted">N/A</td>
+ <td class="text-muted">N/A</td>
+ <td class="text-muted">N/A</td>
+ <td class="text-muted">N/A</td>
+ <td class="text-success">Supported</td>
+ </tr>
+ </tbody>
+</table>
### Desktop browsers
Similarly, the latest versions of most desktop browsers are supported.
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <td></td>
- <th>Chrome</th>
- <th>Firefox</th>
- <th>Internet Explorer</th>
- <th>Microsoft Edge</th>
- <th>Opera</th>
- <th>Safari</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row">Mac</th>
- <td class="text-success">Supported</td>
- <td class="text-success">Supported</td>
- <td class="text-muted">N/A</td>
- <td class="text-muted">N/A</td>
- <td class="text-success">Supported</td>
- <td class="text-success">Supported</td>
- </tr>
- <tr>
- <th scope="row">Windows</th>
- <td class="text-success">Supported</td>
- <td class="text-success">Supported</td>
- <td class="text-success">Supported, IE10+</td>
- <td class="text-success">Supported</td>
- <td class="text-success">Supported</td>
- <td class="text-danger">Not supported</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <td></td>
+ <th>Chrome</th>
+ <th>Firefox</th>
+ <th>Internet Explorer</th>
+ <th>Microsoft Edge</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th scope="row">Mac</th>
+ <td class="text-success">Supported</td>
+ <td class="text-success">Supported</td>
+ <td class="text-muted">N/A</td>
+ <td class="text-muted">N/A</td>
+ <td class="text-success">Supported</td>
+ <td class="text-success">Supported</td>
+ </tr>
+ <tr>
+ <th scope="row">Windows</th>
+ <td class="text-success">Supported</td>
+ <td class="text-success">Supported</td>
+ <td class="text-success">Supported, IE10+</td>
+ <td class="text-success">Supported</td>
+ <td class="text-success">Supported</td>
+ <td class="text-danger">Not supported</td>
+ </tr>
+ </tbody>
+</table>
For Firefox, in addition to the latest normal stable release, we also support the latest [Extended Support Release (ESR)](https://www.mozilla.org/en-US/firefox/organizations/faq/) version of Firefox.
-Unofficially, Bootstrap should look and behave well enough in Chromium and Chrome for Linux, Firefox for Linux, and Internet Explorer 9 and below, though they are not officially supported.
+Unofficially, Bootstrap should look and behave well enough in Chromium and Chrome for Linux, Firefox for Linux, and Internet Explorer 9, though they are not officially supported.
For a list of some of the browser bugs that Bootstrap has to grapple with, see our [Wall of browser bugs]({{ site.baseurl }}/browser-bugs/).
## Internet Explorer
-Internet Explorer 10+ is supported, however, IE9 down is not. Please be aware that some CSS3 properties and HTML5 elements are not fully supported.
-
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th scope="col">Feature</th>
- <th scope="col">Internet Explorer 9</th>
- <th scope="col">Internet Explorer 10</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row"><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/transition"><code>transition</code></a></th>
- <td class="text-danger">Not supported</td>
- <td class="text-success">Supported</td>
- </tr>
- <tr>
- <th scope="row"><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#attr-placeholder"><code>placeholder</code></a></th>
- <td class="text-danger">Not supported</td>
- <td class="text-success">Supported</td>
- </tr>
- <tr>
- <th scope="row"><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Using_CSS_flexible_boxes">Flexbox</a></th>
- <td class="text-danger">Not supported</td>
- <td class="text-warning">Partially supported, with <code>-ms</code> prefix<br><a href="http://caniuse.com/#feat=flexbox">See <em>Can I use</em> for details</a></td>
- </tr>
- </tbody>
- </table>
-</div>
-
-Visit [Can I use...](http://caniuse.com/) for details on browser support of CSS3 and HTML5 features.
-
-## Supporting Internet Explorer 8-9
-
-As of v4, Bootstrap no longer supports IE8 or IE9. **If you require IE8-9 support, we recommend you use Bootstrap 3.** It's still supported by our team for bugfixes and documentation changes, but no new features will be added to it.
-
-Alternatively, you may add some third party JavaScript to backfill support for IE8-9 to Bootstrap 4. You'll need the following:
-
-* [The HTML5 shiv](https://en.wikipedia.org/wiki/HTML5_Shiv)
-* [Respond.js](https://github.com/scottjehl/Respond)
-* [Rem unit polyfill](https://github.com/chuckcarpenter/REM-unit-polyfill)
-
-No support will be provided for this, though you may find some help from the community in [our Slack channel]({{ site.slack }}).
-
-## IE Compatibility modes
-
-Bootstrap is not supported in the old Internet Explorer compatibility modes. To be sure you're using the latest rendering mode for IE, consider including the appropriate `<meta>` tag in your pages:
+Internet Explorer 10+ is supported; IE9 and down is not. Please be aware that some CSS3 properties and HTML5 elements are not fully supported in IE10, or require prefixed properties for full functionality. Visit [Can I use...](http://caniuse.com/) for details on browser support of CSS3 and HTML5 features.
-{% highlight html %}
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-{% endhighlight %}
-
-Confirm the document mode by opening the debugging tools: press <kbd>F12</kbd> and check the "Document Mode".
-
-This tag is included in all of Bootstrap's documentation and examples to ensure the best rendering possible in each supported version of Internet Explorer.
-
-See [this StackOverflow question](https://stackoverflow.com/questions/6771258/what-does-meta-http-equiv-x-ua-compatible-content-ie-edge-do) for more information.
+**If you require IE8-9 support, use Bootstrap 3.** It's the most stable version of our code and is still supported by our team for critical bugfixes and documentation changes. However, no new features will be added to it.
## Internet Explorer 10 in Windows Phone 8
Internet Explorer 10 in Windows Phone 8 versions older than [Update 3 (a.k.a. GDR3)](https://blogs.windows.com/buildingapps/2013/10/14/introducing-windows-phone-preview-for-developers/) doesn't differentiate **device width** from **viewport width** in `@-ms-viewport` at-rules, and thus doesn't properly apply the media queries in Bootstrap's CSS. To address this, you'll need to **include the following JavaScript to work around the bug**.
{% highlight js %}
-// Copyright 2014-2015 The Bootstrap Authors
-// Copyright 2014-2015 Twitter, Inc.
+// Copyright 2014-2017 The Bootstrap Authors
+// Copyright 2014-2017 Twitter, Inc.
// Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
var msViewportStyle = document.createElement('style')
diff --git a/docs/getting-started/build-tools.md b/docs/getting-started/build-tools.md
index a48304ebc..6c1353052 100644
--- a/docs/getting-started/build-tools.md
+++ b/docs/getting-started/build-tools.md
@@ -5,7 +5,7 @@ description: Details on how to use Bootstrap's included build tools to compile s
group: getting-started
---
-Bootstrap uses [Grunt](http://gruntjs.com) for its CSS and JavaScript build system and Jekyll for the written documentation. Our Gruntfile includes convenient methods for working with the framework, including compiling code, running tests, and more.
+Bootstrap uses [NPM scripts](https://docs.npmjs.com/misc/scripts) for its build system. Our [package.json](https://github.com/twbs/bootstrap/blob/v4-dev/package.json) includes convenient methods for working with the framework, including compiling code, running tests, and more.
## Contents
@@ -14,62 +14,46 @@ Bootstrap uses [Grunt](http://gruntjs.com) for its CSS and JavaScript build syst
## Tooling setup
-To use our Gruntfile and run our documentation locally, you'll need a copy of Bootstrap's source files, Node, and Grunt. Follow these steps and you should be ready to rock:
+To use our build system and run our documentation locally, you'll need a copy of Bootstrap's source files and Node. Follow these steps and you should be ready to rock:
1. [Download and install Node](https://nodejs.org/download/), which we use to manage our dependencies.
-2. Install the Grunt command line tools, `grunt-cli`, with `npm install -g grunt-cli`.
-3. Navigate to the root `/bootstrap` directory and run `npm install` to install our local dependencies listed in [package.json](https://github.com/twbs/bootstrap/blob/master/package.json).
+2. Navigate to the root `/bootstrap` directory and run `npm install` to install our local dependencies listed in [package.json](https://github.com/twbs/bootstrap/blob/master/package.json).
4. [Install Ruby][install-ruby], install [Bundler][gembundler] with `gem install bundler`, and finally run `bundle install`. This will install all Ruby dependencies, such as Jekyll and plugins.
- **Windows users:** Read [this unofficial guide](http://jekyll-windows.juthilo.com/) to get Jekyll up and running without problems.
-When completed, you'll be able to run the various Grunt commands provided from the command line.
+When completed, you'll be able to run the various commands provided from the command line.
[install-ruby]: https://www.ruby-lang.org/en/documentation/installation/
[gembundler]: https://bundler.io/
-## Using Grunt
+## Using NPM scripts
-Our Gruntfile includes the following commands and tasks:
+Our [package.json](https://github.com/twbs/bootstrap/blob/master/package.json) includes the following commands and tasks:
| Task | Description |
| --- | --- |
-| `grunt` | Run `grunt` to run tests locally and compile the CSS and JavaScript into `/dist`. **Uses [Sass](http://sass-lang.com/), [Autoprefixer][autoprefixer], and [UglifyJS](http://lisperator.net/uglifyjs/).** |
-| `grunt dist` | `grunt dist` creates the `/dist` directory with compiled files. **Uses [Sass](http://sass-lang.com/), [Autoprefixer][autoprefixer], and [UglifyJS](http://lisperator.net/uglifyjs/).** |
-| `grunt test` | Runs [scss-lint](https://github.com/brigade/scss-lint), [ESLint](http://eslint.org/) and [QUnit](https://qunitjs.com/) tests headlessly in [PhantomJS](http://phantomjs.org/) (used for CI). |
-| `grunt docs` | Builds and tests CSS, JavaScript, and other assets which are used when running the documentation locally via `jekyll serve`. |
-| `grunt watch` | This is a convenience method for watching just Sass files and automatically building them whenever you save. |
-
-## Switching Sass compilers
-
-Bootstrap will be compiled with [libsass][libsass] by default, but you can opt into traditional Ruby Sass by setting the `TWBS_SASS` environment variable. Two options are supported:
-
-* `libsass` (default) to use [libsass][libsass] via [grunt-sass][grunt-sass].
-* `sass` to use [Ruby Sass][ruby-sass] via [grunt-contrib-sass][grunt-contrib-sass].
-
-For example, run `TWBS_SASS=sass grunt` to test and build Bootstrap with Ruby Sass.
+| `npm test` | Run `npm test` to run tests locally and compile the CSS and JavaScript into `/dist`. **Uses [Sass](http://sass-lang.com/), [Autoprefixer][autoprefixer], and [UglifyJS](http://lisperator.net/uglifyjs/).** |
+| `npm run dist` | `npm run dist` creates the `/dist` directory with compiled files. **Uses [Sass](http://sass-lang.com/), [Autoprefixer][autoprefixer], and [UglifyJS](http://lisperator.net/uglifyjs/).** |
+| `npm run docs` | Builds and tests CSS, JavaScript, and other assets which are used when running the documentation locally via `npm run docs-serve`. |
## Autoprefixer
-Bootstrap uses [Autoprefixer][autoprefixer] (included in our Gruntfile and build process) to automatically add vendor prefixes to some CSS properties at build time. Doing so saves us time and code by allowing us to write key parts of our CSS a single time while eliminating the need for vendor mixins like those found in v3.
+Bootstrap uses [Autoprefixer][autoprefixer] (included in our build process) to automatically add vendor prefixes to some CSS properties at build time. Doing so saves us time and code by allowing us to write key parts of our CSS a single time while eliminating the need for vendor mixins like those found in v3.
-We maintain the list of browsers supported through Autoprefixer in a separate file within our GitHub repository. See [`/grunt/postcss.js`](https://github.com/twbs/bootstrap/blob/master/grunt/postcss.js) for details.
+We maintain the list of browsers supported through Autoprefixer in a separate file within our GitHub repository. See [`/build/postcss.config.js`](https://github.com/twbs/bootstrap/blob/v4-dev/build/postcss.config.js) for details.
## Local documentation
Running our documentation locally requires the use of Jekyll, a decently flexible static site generator that provides us: basic includes, Markdown-based files, templates, and more. Here's how to get it started:
1. Run through the [tooling setup](#tooling-setup) above to install Jekyll (the site builder) and other Ruby dependencies with `bundle install`.
-2. From the root `/bootstrap` directory, run `bundle exec jekyll serve` in the command line.
+2. From the root `/bootstrap` directory, run `npm run docs-serve` in the command line.
3. Open <http://localhost:9001> in your browser, and voilà.
Learn more about using Jekyll by reading its [documentation](https://jekyllrb.com/docs/home/).
## Troubleshooting
-Should you encounter problems with installing dependencies or running Grunt commands, uninstall all previous dependency versions (global and local). Then, rerun `npm install`.
+Should you encounter problems with installing dependencies, uninstall all previous dependency versions (global and local). Then, rerun `npm install`.
-[ruby-sass]: https://github.com/sass/sass
-[grunt-contrib-sass]: https://github.com/gruntjs/grunt-contrib-sass
-[libsass]: https://github.com/sass/libsass
-[grunt-sass]: https://github.com/sindresorhus/grunt-sass
[autoprefixer]: https://github.com/postcss/autoprefixer
diff --git a/docs/getting-started/download.md b/docs/getting-started/download.md
index 6e833767b..1a2e53ddf 100644
--- a/docs/getting-started/download.md
+++ b/docs/getting-started/download.md
@@ -38,13 +38,9 @@ Skip the download and use the Bootstrap CDN to deliver Bootstrap's compiled CSS
Pull in Bootstrap's **source files** into nearly any project with some of the most popular package managers. No matter the package manager, Bootstrap will **require a Sass compiler, [Autoprefixer](https://github.com/postcss/autoprefixer), and [postcss-flexbugs-fixes](https://github.com/luisrudge/postcss-flexbugs-fixes)** for a setup that matches our official compiled versions.
-{% callout warning %}
-**Heads up!** Not all package managers have the v4 alpha published yet, but we should have them up shortly!
-{% endcallout %}
-
### npm
-Install Bootstrap in your Node powered apps with [the npm package](https://www.npmjs.org/package/bootstrap):
+Install Bootstrap in your Node powered apps with [the npm package](https://www.npmjs.com/package/bootstrap):
{% highlight bash %}
npm install bootstrap@{{ site.current_version }}
@@ -62,13 +58,13 @@ Bootstrap's `package.json` contains some additional metadata under the following
Install Bootstrap in your Ruby apps using [Bundler](https://bundler.io/) (**recommended**) and [RubyGems](https://rubygems.org/) by adding the following line to your [`Gemfile`](https://bundler.io/gemfile.html):
{% highlight ruby %}
-gem 'bootstrap', '~> 4.0.0.alpha5'
+gem 'bootstrap', '~> 4.0.0.alpha6'
{% endhighlight %}
Alternatively, if you're not using Bundler, you can install the gem by running this command:
{% highlight bash %}
-gem install bootstrap -v 4.0.0.alpha5
+gem install bootstrap -v 4.0.0.alpha6
{% endhighlight %}
[See the gem's README](https://github.com/twbs/bootstrap-rubygem/blob/master/README.md) for further details.
diff --git a/docs/getting-started/introduction.md b/docs/getting-started/introduction.md
index 43429db07..c69adb599 100644
--- a/docs/getting-started/introduction.md
+++ b/docs/getting-started/introduction.md
@@ -28,11 +28,11 @@ Copy-paste the stylesheet `<link>` into your `<head>` before all other styleshee
<link rel="stylesheet" href="{{ site.cdn.css }}" integrity="{{ site.cdn.css_hash }}" crossorigin="anonymous">
{% endhighlight %}
-Add our JavaScript plugins, jQuery, and Tether near the end of your pages, right before the closing `</body>` tag. Be sure to place jQuery and Tether first, as our code depends on them.
+Add our JavaScript plugins, jQuery, and Popper.js near the end of your pages, right before the closing `</body>` tag. Be sure to place jQuery and Popper.js first, as our code depends on them. While we use [jQuery's slim build](https://blog.jquery.com/2016/06/09/jquery-3-0-final-released/) in our docs, the full version is also supported.
{% highlight html %}
<script src="{{ site.cdn.jquery }}" integrity="{{ site.cdn.jquery_hash }}" crossorigin="anonymous"></script>
-<script src="{{ site.cdn.tether }}" integrity="{{ site.cdn.tether_hash }}" crossorigin="anonymous"></script>
+<script src="{{ site.cdn.popper }}" integrity="{{ site.cdn.popper_hash }}" crossorigin="anonymous"></script>
<script src="{{ site.cdn.js }}" integrity="{{ site.cdn.js_hash }}" crossorigin="anonymous"></script>
{% endhighlight %}
@@ -40,22 +40,15 @@ And that's it—you're on your way to a fully Bootstrapped site. If you're at al
## Starter template
-Be sure to have your pages set up with the latest design and development standards. That means:
-
-* Using an HTML5 doctype
-* Forcing Internet Explorer to use its latest rendering mode ([read more](https://stackoverflow.com/questions/6771258/what-does-meta-http-equiv-x-ua-compatible-content-ie-edge-do))
-* And, utilizing the viewport meta tag.
-
-Put it all together and your pages should look like this:
+Be sure to have your pages set up with the latest design and development standards. That means using an HTML5 doctype and including a viewport meta tag for proper responsive behaviors. Put it all together and your pages should look like this:
{% highlight html %}
<!DOCTYPE html>
<html lang="en">
<head>
- <!-- Required meta tags always come first -->
+ <!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="{{ site.cdn.css }}" integrity="{{ site.cdn.css_hash }}" crossorigin="anonymous">
@@ -63,9 +56,9 @@ Put it all together and your pages should look like this:
<body>
<h1>Hello, world!</h1>
- <!-- jQuery first, then Tether, then Bootstrap JS. -->
+ <!-- jQuery first, then Popper.js, then Bootstrap JS. -->
<script src="{{ site.cdn.jquery }}" integrity="{{ site.cdn.jquery_hash }}" crossorigin="anonymous"></script>
- <script src="{{ site.cdn.tether }}" integrity="{{ site.cdn.tether_hash }}" crossorigin="anonymous"></script>
+ <script src="{{ site.cdn.popper }}" integrity="{{ site.cdn.popper_hash }}" crossorigin="anonymous"></script>
<script src="{{ site.cdn.js }}" integrity="{{ site.cdn.js_hash }}" crossorigin="anonymous"></script>
</body>
</html>
@@ -106,9 +99,7 @@ On the rare occasion you need to override it, use something like the following:
{% highlight scss %}
.selector-for-some-widget {
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
+ box-sizing: content-box;
}
{% endhighlight %}
@@ -116,9 +107,9 @@ With the above snippet, nested elements—including generated content via `:befo
Learn more about [box model and sizing at CSS Tricks](https://css-tricks.com/box-sizing/).
-### Normalize.css
+### Reboot
-For improved cross-browser rendering, we use [Normalize.css](https://necolas.github.io/normalize.css/) to correct small inconsistencies across browsers and devices. We further build on this with our own, slightly more opinionated styles with [Reboot]({{ site.baseurl }}/content/reboot/).
+For improved cross-browser rendering, we use [Reboot]({{ site.baseurl }}/content/reboot/) to correct inconsistencies across browsers and devices while providing slightly more opinionated resets to common HTML elements.
## Community
diff --git a/docs/getting-started/javascript.md b/docs/getting-started/javascript.md
index b6a38fb7a..d65fba098 100644
--- a/docs/getting-started/javascript.md
+++ b/docs/getting-started/javascript.md
@@ -36,6 +36,18 @@ Alternatively, to target a specific plugin, just include the plugin's name as a
$(document).off('.alert.data-api')
{% endhighlight %}
+## Events
+
+Bootstrap provides custom events for most plugins' unique actions. Generally, these come in an infinitive and past participle form - where the infinitive (ex. `show`) is triggered at the start of an event, and its past participle form (ex. `shown`) is triggered on the completion of an action.
+
+All infinitive events provide [`preventDefault()`](https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault) functionality. This provides the ability to stop the execution of an action before it starts.
+
+{% highlight js %}
+$('#myModal').on('show.bs.modal', function (e) {
+ if (!data) return e.preventDefault() // stops modal from being shown
+})
+{% endhighlight %}
+
## Programmatic API
We also believe you should be able to use all Bootstrap plugins purely through the JavaScript API. All public APIs are single, chainable methods, and return the collection acted upon.
@@ -54,32 +66,41 @@ $('#myModal').modal('show') // initializes and invokes show immed
Each plugin also exposes its raw constructor on a `Constructor` property: `$.fn.popover.Constructor`. If you'd like to get a particular plugin instance, retrieve it directly from an element: `$('[rel="popover"]').data('popover')`.
-### Default settings
-You can change the default settings for a plugin by modifying the plugin's `Constructor.DEFAULTS` object:
+### Asynchronous functions and transitions
+
+All programmatic API methods are **asynchronous** and returns to the caller once the transition is started but **before it ends**.
+In order to execute an action once the transition is complete, you can listen to the corresponding event.
{% highlight js %}
-$.fn.modal.Constructor.DEFAULTS.keyboard = false // changes default for the modal plugin's `keyboard` option to false
+$('#myCollapse').on('shown.bs.collapse', function (e) {
+ // Action to execute once the collapsible area is expanded
+})
{% endhighlight %}
-## No conflict
+In addition a method call on a **transitioning component will be ignored**.
+{% highlight js %}
+$('#myCarousel').on('slid.bs.carousel', function (e) {
+ $('#myCarousel').carousel('2') // Will slide to the slide 2 as soon as the transition to slide 1 is finished
+})
-Sometimes it is necessary to use Bootstrap plugins with other UI frameworks. In these circumstances, namespace collisions can occasionally occur. If this happens, you may call `.noConflict` on the plugin you wish to revert the value of.
+$('#myCarousel').carousel('1') // Will start sliding to the slide 1 and returns to the caller
+$('#myCarousel').carousel('2') // !! Will be ignored, as the transition to the slide 1 is not finished !!
+{% endhighlight %}
+
+### Default settings
+You can change the default settings for a plugin by modifying the plugin's `Constructor.Default` object:
{% highlight js %}
-var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
-$.fn.bootstrapBtn = bootstrapButton // give $().bootstrapBtn the Bootstrap functionality
+$.fn.modal.Constructor.Default.keyboard = false // changes default for the modal plugin's `keyboard` option to false
{% endhighlight %}
-## Events
-
-Bootstrap provides custom events for most plugins' unique actions. Generally, these come in an infinitive and past participle form - where the infinitive (ex. `show`) is triggered at the start of an event, and its past participle form (ex. `shown`) is triggered on the completion of an action.
+## No conflict
-All infinitive events provide [`preventDefault()`](https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault) functionality. This provides the ability to stop the execution of an action before it starts.
+Sometimes it is necessary to use Bootstrap plugins with other UI frameworks. In these circumstances, namespace collisions can occasionally occur. If this happens, you may call `.noConflict` on the plugin you wish to revert the value of.
{% highlight js %}
-$('#myModal').on('show.bs.modal', function (e) {
- if (!data) return e.preventDefault() // stops modal from being shown
-})
+var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
+$.fn.bootstrapBtn = bootstrapButton // give $().bootstrapBtn the Bootstrap functionality
{% endhighlight %}
## Version numbers
@@ -100,8 +121,8 @@ Bootstrap's plugins don't fall back particularly gracefully when JavaScript is d
**Bootstrap does not officially support third-party JavaScript libraries** like Prototype or jQuery UI. Despite `.noConflict` and namespaced events, there may be compatibility problems that you need to fix on your own.
{% endcallout %}
-## Transitions
+## Util
-For simple transition effects, include `transition.js` once alongside the other JS files. If you're using the compiled (or minified) `bootstrap.js`, there is no need to include this—it's already there.
+All Bootstrap Javascript depend on `util.js` and it has to be included alongside the other JS files. If you're using the compiled (or minified) `bootstrap.js`, there is no need to include this—it's already there.
-Transition.js is a basic helper for `transitionEnd` events as well as a CSS transition emulator. It's used by the other plugins to check for CSS transition support and to catch hanging transitions.
+`util.js` includes utility functions and a basic helper for `transitionEnd` events as well as a CSS transition emulator. It's used by the other plugins to check for CSS transition support and to catch hanging transitions.
diff --git a/docs/getting-started/options.md b/docs/getting-started/options.md
index b8dc3b583..82d172f3e 100644
--- a/docs/getting-started/options.md
+++ b/docs/getting-started/options.md
@@ -5,7 +5,7 @@ description: Customize Bootstrap with Sass variables, easily toggling global pre
group: getting-started
---
-Customize Bootstrap 4 with our built-in custom variables file and easily toggle global CSS preferences with new `$enable-*` Sass variables. Override a variable's value and recompile with the included Gruntfile as needed.
+Customize Bootstrap 4 with our built-in custom variables file and easily toggle global CSS preferences with new `$enable-*` Sass variables. Override a variable's value and recompile with `npm run test` as needed.
## Customizing variables
@@ -31,10 +31,11 @@ You can find and customize these variables for key global options in our `_varia
| Variable | Values | Description |
| --------------------------- | ---------------------------------- | -------------------------------------------------------------------------------------- |
-| `$spacer` | `1rem` (default), or any value > 0 | Specifies the default spacer value for our spacer utilities. |
+| `$spacer` | `1rem` (default), or any value > 0 | Specifies the default spacer value to programmatically generate our [spacer utilities](/utilities/spacing/). |
| `$enable-rounded` | `true` (default) or `false` | Enables predefined `border-radius` styles on various components. |
| `$enable-shadows` | `true` or `false` (default) | Enables predefined `box-shadow` styles on various components. |
| `$enable-gradients` | `true` or `false` (default) | Enables predefined gradients via `background-image` styles on various components. |
| `$enable-transitions` | `true` (default) or `false` | Enables predefined `transition`s on various components. |
| `$enable-hover-media-query` | `true` or `false` (default) | ... |
| `$enable-grid-classes` | `true` (default) or `false` | Enables the generation of CSS classes for the grid system (e.g., `.container`, `.row`, `.col-md-1`, etc.). |
+| `$enable-print-styles` | `true` (default) or `false` | Enables styles for optimizing printing. |
diff --git a/docs/getting-started/webpack.md b/docs/getting-started/webpack.md
new file mode 100644
index 000000000..1c87f342e
--- /dev/null
+++ b/docs/getting-started/webpack.md
@@ -0,0 +1,106 @@
+---
+layout: docs
+title: Webpack
+description: Learn how to install Bootstrap using webpack 2
+group: getting-started
+---
+
+Use [webpack v2.x](https://webpack.js.org/) to bundle Bootstrap into your project.
+
+
+## Contents
+
+* Will be replaced with the ToC, excluding the "Contents" header
+{:toc}
+
+## Installing Bootstrap
+
+[Install bootstrap](/getting-started/download/#npm) as a node module using npm.
+
+## Importing JavaScript
+
+Import [Bootstrap's JavaScript](/getting-started/javascript/) by adding this line to your app's entry point (usally `index.js` or `app.js`):
+
+{% highlight js %}
+import 'bootstrap';
+{% endhighlight %}
+
+Alternatively, you may **import plugins individually** as needed:
+
+{% highlight js %}
+import 'bootstrap/js/dist/util';
+import 'bootstrap/js/dist/dropdown';
+...
+{% endhighlight %}
+
+Bootstrap is dependent on [jQuery](https://jquery.com/) and [Popper](https://popper.js.org/), so npm will install them for you if needed. But they must be explicitly provided by webpack. Add the following code to the `plugins` section in your webpack config file:
+
+{% highlight js %}
+ plugins: [
+ ...
+ new webpack.ProvidePlugin({
+ $: 'jquery',
+ jQuery: 'jquery',
+ 'window.jQuery': 'jquery',
+ Popper: ['popper.js', 'default'],
+ // In case you imported plugins individually, you must also require them here:
+ Util: "exports-loader?Util!bootstrap/js/dist/util",
+ Dropdown: "exports-loader?Dropdown!bootstrap/js/dist/dropdown",
+ ...
+ })
+ ...
+ ]
+{% endhighlight %}
+
+{% callout warning %}
+Notice that if you chose to **import plugins individually**, you must also install [exports-loader](https://github.com/webpack-contrib/exports-loader)
+{% endcallout %}
+
+## Importing Styles
+
+### Importing Precompiled SASS
+
+To enjoy the full potential of Bootstrap and customize it to your needs, use the source files as a part of your project's bundling process.
+
+First, create your own `_custom.scss` and use it to override the [built-in custom variables](/getting-started/options/). Then, use your main sass file to import your custom variables, followed by Bootstrap:
+{% highlight scss %}
+@import "custom";
+@import "~bootstrap/scss/bootstrap";
+{% endhighlight %}
+
+For Bootstrap to compile, make sure you install and use the required loaders: [sass-loader](https://github.com/webpack-contrib/sass-loader), [postcss-loader](https://github.com/postcss/postcss-loader) with [Autoprefixer](https://github.com/postcss/autoprefixer#webpack) and [postcss-flexbugs-fixes](https://github.com/luisrudge/postcss-flexbugs-fixes). With minimal setup, your webpack config should include this rule or similar:
+
+{% highlight js %}
+ ...
+ {
+ test: /\.(scss)$/,
+ use: [{
+ loader: 'style-loader', // inject CSS to page
+ }, {
+ loader: 'css-loader', // translates CSS into CommonJS modules
+ }, {
+ loader: 'postcss-loader', // Run post css actions
+ options: {
+ plugins: function () { // post css plugins, can be exported to postcss.config.js
+ return [
+ require('precss'),
+ require('autoprefixer')
+ ];
+ }
+ }
+ }, {
+ loader: 'sass-loader' // compiles SASS to CSS
+ }]
+ },
+ ...
+{% endhighlight %}
+
+### Importing Compiled CSS
+
+Alternatively, you may use Bootstrap's ready-to-use css by simply adding this line to your project's entry point:
+
+{% highlight js %}
+import 'bootstrap/dist/css/bootstrap.min.css';
+{% endhighlight %}
+
+In this case you may use your existing rule for `css` without any special modifications to webpack config.
diff --git a/docs/index.html b/docs/index.html
index 5905af80e..26a460e2f 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -2,9 +2,9 @@
layout: home
---
-<main class="bd-masthead" id="content">
+<main class="bd-masthead" id="content" role="main">
<div class="container">
- <span class="bd-booticon outline">B</span>
+ {% include bootstrap-icon.html %}
<p class="lead">Bootstrap is the most popular HTML, CSS, and JS framework in the world for building responsive, mobile-first projects on the web.</p>
<p class="lead">
<a href="{{ site.baseurl }}/getting-started/download/" class="btn btn-lg" onclick="ga('send', 'event', 'Jumbotron actions', 'Download', 'Download {{ site.current_version }}');">Download Bootstrap</a>
@@ -22,16 +22,18 @@ layout: home
<div class="row">
<div class="col-sm-6 mb-3">
<h4>Managed dependencies</h4>
- <p>Include Bootstrap's source Sass and JavaScript files via Bower, Composer, Meteor, or npm. Package managed installs don't include documentation, but do include our Gruntfile and readme.</p>
+ <p>Include Bootstrap's source Sass and JavaScript files via Bower, Composer, Meteor, or npm. Package managed installs don't include documentation, but do include our build system and readme.</p>
<p>
<a class="btn btn-bs" href="{{ site.baseurl }}/getting-started/download/#package-managers">View install methods</a>
</p>
</div>
<div class="col-sm-6 mb-3">
<h4>Bootstrap CDN</h4>
- <p>When you just need to include Bootstrap's compiled CSS and JS, use the Bootstrap CDN, free from the Max CDN folks.</p>
+ <p>When you just need to include Bootstrap's compiled CSS and JS, use the Bootstrap CDN, free from the MaxCDN folks.</p>
{% highlight html %}
<link rel="stylesheet" href="{{ site.cdn.css }}" integrity="{{ site.cdn.css_hash }}" crossorigin="anonymous">
+<script src="{{ site.cdn.jquery }}" integrity="{{ site.cdn.jquery_hash }}" crossorigin="anonymous"></script>
+<script src="{{ site.cdn.popper }}" integrity="{{ site.cdn.popper_hash }}" crossorigin="anonymous"></script>
<script src="{{ site.cdn.js }}" integrity="{{ site.cdn.js_hash }}" crossorigin="anonymous"></script>
{% endhighlight %}
</div>
diff --git a/docs/layout/grid.md b/docs/layout/grid.md
index 056561b27..97ffd3161 100644
--- a/docs/layout/grid.md
+++ b/docs/layout/grid.md
@@ -32,7 +32,7 @@ Bootstrap's grid system uses a series of containers, rows, and columns to layout
</div>
</div>
-The above example creates three equal-width columns on small, medium, large, and extra large devices using our [predefined grid classes](#predefined-classes). Those columns are centered in the page with the parent `.container`.
+The above example creates three equal-width columns on small, medium, large, and extra large devices using our predefined grid classes. Those columns are centered in the page with the parent `.container`.
Breaking it down, here's how it works:
@@ -57,86 +57,84 @@ While Bootstrap uses `em`s or `rem`s for defining most sizes, `px`s are used for
See how aspects of the Bootstrap grid system work across multiple devices with a handy table.
-<div class="table-responsive">
- <table class="table table-bordered table-striped">
- <thead>
- <tr>
- <th></th>
- <th class="text-center">
- Extra small<br>
- <small>&lt;576px</small>
- </th>
- <th class="text-center">
- Small<br>
- <small>&ge;576px</small>
- </th>
- <th class="text-center">
- Medium<br>
- <small>&ge;768px</small>
- </th>
- <th class="text-center">
- Large<br>
- <small>&ge;992px</small>
- </th>
- <th class="text-center">
- Extra large<br>
- <small>&ge;1200px</small>
- </th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th class="text-nowrap" scope="row">Grid behavior</th>
- <td>Horizontal at all times</td>
- <td colspan="4">Collapsed to start, horizontal above breakpoints</td>
- </tr>
- <tr>
- <th class="text-nowrap" scope="row">Max container width</th>
- <td>None (auto)</td>
- <td>540px</td>
- <td>720px</td>
- <td>960px</td>
- <td>1140px</td>
- </tr>
- <tr>
- <th class="text-nowrap" scope="row">Class prefix</th>
- <td><code>.col-</code></td>
- <td><code>.col-sm-</code></td>
- <td><code>.col-md-</code></td>
- <td><code>.col-lg-</code></td>
- <td><code>.col-xl-</code></td>
- </tr>
- <tr>
- <th class="text-nowrap" scope="row"># of columns</th>
- <td colspan="5">12</td>
- </tr>
- <tr>
- <th class="text-nowrap" scope="row">Gutter width</th>
- <td colspan="5">30px (15px on each side of a column)</td>
- </tr>
- <tr>
- <th class="text-nowrap" scope="row">Nestable</th>
- <td colspan="5">Yes</td>
- </tr>
- <tr>
- <th class="text-nowrap" scope="row">Offsets</th>
- <td colspan="5">Yes</td>
- </tr>
- <tr>
- <th class="text-nowrap" scope="row">Column ordering</th>
- <td colspan="5">Yes</td>
- </tr>
- </tbody>
- </table>
-</div>
+<table class="table table-bordered table-striped table-responsive">
+ <thead>
+ <tr>
+ <th></th>
+ <th class="text-center">
+ Extra small<br>
+ <small>&lt;576px</small>
+ </th>
+ <th class="text-center">
+ Small<br>
+ <small>&ge;576px</small>
+ </th>
+ <th class="text-center">
+ Medium<br>
+ <small>&ge;768px</small>
+ </th>
+ <th class="text-center">
+ Large<br>
+ <small>&ge;992px</small>
+ </th>
+ <th class="text-center">
+ Extra large<br>
+ <small>&ge;1200px</small>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th class="text-nowrap" scope="row">Grid behavior</th>
+ <td>Horizontal at all times</td>
+ <td colspan="4">Collapsed to start, horizontal above breakpoints</td>
+ </tr>
+ <tr>
+ <th class="text-nowrap" scope="row">Max container width</th>
+ <td>None (auto)</td>
+ <td>540px</td>
+ <td>720px</td>
+ <td>960px</td>
+ <td>1140px</td>
+ </tr>
+ <tr>
+ <th class="text-nowrap" scope="row">Class prefix</th>
+ <td><code>.col-</code></td>
+ <td><code>.col-sm-</code></td>
+ <td><code>.col-md-</code></td>
+ <td><code>.col-lg-</code></td>
+ <td><code>.col-xl-</code></td>
+ </tr>
+ <tr>
+ <th class="text-nowrap" scope="row"># of columns</th>
+ <td colspan="5">12</td>
+ </tr>
+ <tr>
+ <th class="text-nowrap" scope="row">Gutter width</th>
+ <td colspan="5">30px (15px on each side of a column)</td>
+ </tr>
+ <tr>
+ <th class="text-nowrap" scope="row">Nestable</th>
+ <td colspan="5">Yes</td>
+ </tr>
+ <tr>
+ <th class="text-nowrap" scope="row">Offsets</th>
+ <td colspan="5">Yes</td>
+ </tr>
+ <tr>
+ <th class="text-nowrap" scope="row">Column ordering</th>
+ <td colspan="5">Yes</td>
+ </tr>
+ </tbody>
+</table>
## Auto-layout columns
-Utilize breakpoint-specific column classes for equal-width columns. Add any number of unit-less classes for each breakpoint you need and every column will be the same width.
+Utilize breakpoint-specific column classes for easy column sizing without an explicit numbered class like `.col-sm-6`.
### Equal-width
-For example, here are two grid layouts that apply to every device and viewport, from `xs` to `xl`.
+For example, here are two grid layouts that apply to every device and viewport, from `xs` to `xl`. Add any number of unit-less classes for each breakpoint you need and every column will be the same width.
<div class="bd-example-row">
{% example html %}
@@ -146,7 +144,7 @@ For example, here are two grid layouts that apply to every device and viewport,
1 of 2
</div>
<div class="col">
- 1 of 2
+ 2 of 2
</div>
</div>
<div class="row">
@@ -154,19 +152,37 @@ For example, here are two grid layouts that apply to every device and viewport,
1 of 3
</div>
<div class="col">
- 1 of 3
+ 2 of 3
</div>
<div class="col">
- 1 of 3
+ 3 of 3
</div>
</div>
</div>
{% endexample %}
</div>
+Equal-width columns can be broken into multiple lines, but there is a [Safari flexbox bug](https://github.com/philipwalton/flexbugs#11-min-and-max-size-declarations-are-ignored-when-wrapping-flex-items) that prevents this from working without an explicit `flex-basis` or `border`. Our example works thanks to the `border` being set; you can do the same with `.col { border: 1px solid transparent; }`. Alternatively, you can set the flex-basis to the width of the column (e.g., `.col { flex: 1 0 50%; }`).
+
+Both these fixes have been documented in a [reduced test case outside Bootstrap](https://output.jsbin.com/micohor).
+
+<div class="bd-example-row">
+{% example html %}
+<div class="container">
+ <div class="row">
+ <div class="col">Column</div>
+ <div class="col">Column</div>
+ <div class="w-100"></div>
+ <div class="col">Column</div>
+ <div class="col">Column</div>
+ </div>
+</div>
+{% endexample %}
+</div>
+
### Setting one column width
-Auto-layout for flexbox grid columns also means you can set the width of one column and the others will automatically resize around it. You may use predefined grid classes (as shown below), grid mixins, or inline widths. Note that the other columns will resize no matter the width of the center column.
+Auto-layout for flexbox grid columns also means you can set the width of one column and have the sibling columns automatically resize around it. You may use predefined grid classes (as shown below), grid mixins, or inline widths. Note that the other columns will resize no matter the width of the center column.
<div class="bd-example-row">
{% example html %}
@@ -199,7 +215,7 @@ Auto-layout for flexbox grid columns also means you can set the width of one col
### Variable width content
-Using the `col-{breakpoint}-auto` classes, columns can size itself based on the natural width of its content. This is super handy with single line content like inputs, numbers, etc. This, in conjunction with [horizontal alignment](#horizontal-alignment) classes, is very useful for centering layouts with uneven column sizes as viewport width changes.
+Use `col-{breakpoint}-auto` classes to size columns based on the natural width of their content.
<div class="bd-example-row">
{% example html %}
@@ -208,7 +224,7 @@ Using the `col-{breakpoint}-auto` classes, columns can size itself based on the
<div class="col col-lg-2">
1 of 3
</div>
- <div class="col-12 col-md-auto">
+ <div class="col-md-auto">
Variable width content
</div>
<div class="col col-lg-2">
@@ -219,7 +235,7 @@ Using the `col-{breakpoint}-auto` classes, columns can size itself based on the
<div class="col">
1 of 3
</div>
- <div class="col-12 col-md-auto">
+ <div class="col-md-auto">
Variable width content
</div>
<div class="col col-lg-2">
@@ -295,7 +311,7 @@ Don't want your columns to simply stack in some grid tiers? Use a combination of
{% example html %}
<!-- Stack the columns on mobile by making one full-width and the other half-width -->
<div class="row">
- <div class="col col-md-8">.col .col-md-8</div>
+ <div class="col-12 col-md-8">.col-12 .col-md-8</div>
<div class="col-6 col-md-4">.col-6 .col-md-4</div>
</div>
@@ -473,7 +489,7 @@ If more than 12 columns are placed within a single row, each group of extra colu
### Column resets
-With the handful of grid tiers 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]({{ site.baseurl }}/layout/responsive-utilities/).
+With the handful of grid tiers 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 display utilities]({{ site.baseurl }}/utilities/display/).
<div class="bd-example-row">
{% example html %}
@@ -482,7 +498,7 @@ With the handful of grid tiers available, you're bound to run into issues where,
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<!-- Add the extra clearfix for only the required viewport -->
- <div class="clearfix hidden-sm-up"></div>
+ <div class="clearfix d-none d-sm-block"></div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
<div class="col-6 col-sm-3">.col-6 .col-sm-3</div>
@@ -516,13 +532,13 @@ Use flexbox utilities for controlling the **visual order** of your content.
{% example html %}
<div class="container">
<div class="row">
- <div class="col flex-unordered">
+ <div class="col order-0">
First, but unordered
</div>
- <div class="col flex-last">
+ <div class="col order-last">
Second, but last
</div>
- <div class="col flex-first">
+ <div class="col order-first">
Third, but first
</div>
</div>
@@ -587,7 +603,7 @@ To nest your content with the default grid, add a new `.row` and set of `.col-sm
## Sass mixins
-When using Bootstrap's source Sass files, you have the option of using Sass variables and mixins to create custom, semantic, and responsive page layouts. Our [predefined grid classes](#predefined-classes) use these same variables and mixins to provide a whole suite of ready-to-use classes for fast responsive layouts.
+When using Bootstrap's source Sass files, you have the option of using Sass variables and mixins to create custom, semantic, and responsive page layouts. Our predefined grid classes use these same variables and mixins to provide a whole suite of ready-to-use classes for fast responsive layouts.
### Variables
@@ -632,104 +648,63 @@ Mixins are used in conjunction with the grid variables to generate semantic CSS
{% highlight scss %}
// Creates a wrapper for a series of columns
-@mixin make-row($gutters: $grid-gutter-widths) {
- display: flex;
- flex-wrap: wrap;
-
- @each $breakpoint in map-keys($gutters) {
- @include media-breakpoint-up($breakpoint) {
- $gutter: map-get($gutters, $breakpoint);
- margin-right: ($gutter / -2);
- margin-left: ($gutter / -2);
- }
- }
-}
+@include make-row($gutters: $grid-gutter-widths);
// Make the element grid-ready (applying everything but the width)
-@mixin make-col-ready($gutters: $grid-gutter-widths) {
- position: relative;
- // Prevent columns from becoming too narrow when at smaller grid tiers by
- // always setting `width: 100%;`. This works because we use `flex` values
- // later on to override this initial width.
- width: 100%;
- min-height: 1px; // Prevent collapsing
-
- @each $breakpoint in map-keys($gutters) {
- @include media-breakpoint-up($breakpoint) {
- $gutter: map-get($gutters, $breakpoint);
- padding-right: ($gutter / 2);
- padding-left: ($gutter / 2);
- }
- }
-}
-
-@mixin make-col($size, $columns: $grid-columns) {
- flex: 0 0 percentage($size / $columns);
- width: percentage($size / $columns);
- // Add a `max-width` to ensure content within each column does not blow out
- // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
- // do not appear to require this.
- max-width: percentage($size / $columns);
-}
+@include make-col-ready($gutters: $grid-gutter-widths);
+@include make-col($size, $columns: $grid-columns);
// Get fancy by offsetting, or changing the sort order
-@mixin make-col-offset($size, $columns: $grid-columns) {
- margin-left: percentage($size / $columns);
-}
-
-@mixin make-col-push($size, $columns: $grid-columns) {
- left: if($size > 0, percentage($size / $columns), auto);
-}
-
-@mixin make-col-pull($size, $columns: $grid-columns) {
- right: if($size > 0, percentage($size / $columns), auto);
-}
+@include make-col-offset($size, $columns: $grid-columns);
+@include make-col-push($size, $columns: $grid-columns);
+@include make-col-pull($size, $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.
-See it in action in <a href="https://jsbin.com/ruxona/edit?html,output">this rendered example</a>.
-
{% highlight scss %}
-.container {
- max-width: 60em;
+.example-container {
+ width: 800px;
@include make-container();
}
-.row {
+
+.example-row {
@include make-row();
}
-.content-main {
+
+.example-content-main {
@include make-col-ready();
- @media (max-width: 32em) {
+ @include media-breakpoint-up(sm) {
@include make-col(6);
}
- @media (min-width: 32.1em) {
+ @include media-breakpoint-up(lg) {
@include make-col(8);
}
}
-.content-secondary {
+
+.example-content-secondary {
@include make-col-ready();
- @media (max-width: 32em) {
+ @include media-breakpoint-up(sm) {
@include make-col(6);
}
- @media (min-width: 32.1em) {
+ @include media-breakpoint-up(lg) {
@include make-col(4);
}
}
{% endhighlight %}
-{% highlight html %}
-<div class="container">
- <div class="row">
- <div class="content-main">...</div>
- <div class="content-secondary">...</div>
+{% example html %}
+<div class="example-container">
+ <div class="example-row">
+ <div class="example-content-main">Main content</div>
+ <div class="example-content-secondary">Secondary content</div>
</div>
</div>
-{% endhighlight %}
+{% endexample %}
## Customizing the grid
@@ -753,10 +728,11 @@ $grid-gutter-widths: (
### Grid tiers
-Moving beyond the columns themselves, you may also customize the number of grid tiers. If you wanted just three grid tiers, you'd update the `$grid-breakpoints` and `$container-max-widths` to something like this:
+Moving beyond the columns themselves, you may also customize the number of grid tiers. If you wanted just four grid tiers, you'd update the `$grid-breakpoints` and `$container-max-widths` to something like this:
{% highlight scss %}
$grid-breakpoints: (
+ xs: 0,
sm: 480px,
md: 768px,
lg: 1024px
diff --git a/docs/layout/media-object.md b/docs/layout/media-object.md
index 662f72c25..74229dc3c 100644
--- a/docs/layout/media-object.md
+++ b/docs/layout/media-object.md
@@ -64,7 +64,7 @@ Media in a media object can be aligned with flexbox utilities to the top (defaul
{% example html %}
<div class="media">
- <img class="d-flex mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ <img class="d-flex align-self-start mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
<div class="media-body">
<h5 class="mt-0">Top-aligned media</h5>
<p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
@@ -75,7 +75,7 @@ Media in a media object can be aligned with flexbox utilities to the top (defaul
{% example html %}
<div class="media">
- <img class="d-flex mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ <img class="d-flex align-self-center mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
<div class="media-body">
<h5 class="mt-0">Center-aligned media</h5>
<p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
@@ -86,7 +86,7 @@ Media in a media object can be aligned with flexbox utilities to the top (defaul
{% example html %}
<div class="media">
- <img class="d-flex mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ <img class="d-flex align-self-end mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
<div class="media-body">
<h5 class="mt-0">Bottom-aligned media</h5>
<p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
diff --git a/docs/layout/overview.md b/docs/layout/overview.md
index ee21b70f2..04aa2c9ad 100644
--- a/docs/layout/overview.md
+++ b/docs/layout/overview.md
@@ -118,7 +118,7 @@ Once again, these media queries are also available via Sass mixins:
@include media-breakpoint-down(lg) { ... }
{% endhighlight %}
-We also have media between the breakpoint's minimum and maximum widths for only the given screen size:
+There are also media queries and mixins for targeting a single segment of screen sizes using the minimum and maximum breakpoint widths.
{% highlight scss %}
// Extra small devices (portrait phones, less than 576px)
@@ -147,18 +147,18 @@ These media queries are also available via Sass mixins:
@include media-breakpoint-only(xl) { ... }
{% endhighlight %}
-And finally media that spans multiple breakpoint widths:
+Similarly, media queries may span multiple breakpoint widths:
{% highlight scss %}
// Example
-// Medium devices (tablets, 768px and up) and Large devices (desktops, 992px and up)
+// Apply styles starting from medium devices and up to extra large devices
@media (min-width: 768px) and (max-width: 1199px) { ... }
{% endhighlight %}
-The Sass mixin for the above example look like that shown beneath:
+The Sass mixin for targeting the same screen size range would be:
{% highlight scss %}
-@include media-breakpoint-between(md, lg) { ... }
+@include media-breakpoint-between(md, xl) { ... }
{% endhighlight %}
## Z-index
@@ -169,10 +169,9 @@ We don't encourage customization of these values; should you change one, you lik
```scss
$zindex-dropdown-backdrop: 990 !default;
-$zindex-navbar: 1000 !default;
$zindex-dropdown: 1000 !default;
-$zindex-navbar-fixed: 1030 !default;
-$zindex-navbar-sticky: 1030 !default;
+$zindex-fixed: 1030 !default;
+$zindex-sticky: 1030 !default;
$zindex-modal-backdrop: 1040 !default;
$zindex-modal: 1050 !default;
$zindex-popover: 1060 !default;
diff --git a/docs/layout/responsive-utilities.md b/docs/layout/responsive-utilities.md
deleted file mode 100644
index 69f6ae1be..000000000
--- a/docs/layout/responsive-utilities.md
+++ /dev/null
@@ -1,245 +0,0 @@
----
-layout: docs
-title: Responsive utilities
-description: Use responsive display utility classes for showing and hiding content by device, via media query.
-group: layout
----
-
-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.
-
-## Contents
-
-* Will be replaced with the ToC, excluding the "Contents" header
-{:toc}
-
-## Available classes
-
-* The `.hidden-*-up` classes hide the element when the viewport is at the given breakpoint or wider. For example, `.hidden-md-up` hides an element on medium, large, and extra-large viewports.
-* The `.hidden-*-down` classes hide the element when the viewport is at the given breakpoint or smaller. For example, `.hidden-md-down` hides an element on extra-small, small, and medium viewports.
-* There are no explicit "visible"/"show" responsive utility classes; you make an element visible by simply not hiding it at that breakpoint size.
-* You can combine one `.hidden-*-up` class with one `.hidden-*-down` class to show an element only on a given interval of screen sizes. For example, `.hidden-sm-down.hidden-xl-up` shows the element only on medium and large viewports. Using multiple `.hidden-*-up` classes or multiple `.hidden-*-down` classes is redundant and pointless.
-* These classes don't attempt to accommodate less common cases where an element's visibility can't be expressed as a single contiguous range of viewport breakpoint sizes; you will instead need to use custom CSS in such cases.
-
-<div class="table-responsive">
- <table class="table table-bordered table-striped responsive-utilities">
- <thead>
- <tr>
- <th></th>
- <th>
- Extra small devices
- <small>Portrait phones (&lt;544px)</small>
- </th>
- <th>
- Small devices
- <small>Landscape phones (&ge;544px - &lt;768px)</small>
- </th>
- <th>
- Medium devices
- <small>Tablets (&ge;768px - &lt;992px)</small>
- </th>
- <th>
- Large devices
- <small>Desktops (&ge;992px - &lt;1200px)</small>
- </th>
- <th>
- Extra large devices
- <small>Desktops (&ge;1200px)</small>
- </th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th scope="row"><code>.hidden-xs-down</code></th>
- <td class="is-hidden">Hidden</td>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- </tr>
- <tr>
- <th scope="row"><code>.hidden-sm-down</code></th>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- </tr>
- <tr>
- <th scope="row"><code>.hidden-md-down</code></th>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- </tr>
- <tr>
- <th scope="row"><code>.hidden-lg-down</code></th>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-visible">Visible</td>
- </tr>
- <tr>
- <th scope="row"><code>.hidden-xl-down</code></th>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- </tr>
- <tr>
- <th scope="row"><code>.hidden-xs-up</code></th>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- </tr>
- <tr>
- <th scope="row"><code>.hidden-sm-up</code></th>
- <td class="is-visible">Visible</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- </tr>
- <tr>
- <th scope="row"><code>.hidden-md-up</code></th>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- </tr>
- <tr>
- <th scope="row"><code>.hidden-lg-up</code></th>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- <td class="is-hidden">Hidden</td>
- <td class="is-hidden">Hidden</td>
- </tr>
- <tr>
- <th scope="row"><code>.hidden-xl-up</code></th>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- <td class="is-visible">Visible</td>
- <td class="is-hidden">Hidden</td>
- </tr>
- </tbody>
- </table>
-</div>
-
-<h2 id="responsive-utilities-print">Print classes</h2>
-<p>Similar to the regular responsive classes, use these for toggling content for print.</p>
-<div class="table-responsive">
- <table class="table table-bordered table-striped responsive-utilities">
- <thead>
- <tr>
- <th>Class</th>
- <th>Browser</th>
- <th>Print</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <th><code>.visible-print-block</code></th>
- <td class="is-hidden">Hidden</td>
- <td class="is-visible">Visible<br>(as <code>display: block</code>)</td>
- </tr>
- <tr>
- <th><code>.visible-print-inline</code></th>
- <td class="is-hidden">Hidden</td>
- <td class="is-visible">Visible<br>(as <code>display: inline</code>)</td>
- </tr>
- <tr>
- <th><code>.visible-print-inline-block</code></th>
- <td class="is-hidden">Hidden</td>
- <td class="is-visible">Visible<br>(as <code>display: inline-block</code>)</td>
- </tr>
- <tr>
- <th><code>.hidden-print</code></th>
- <td class="is-visible">Visible</td>
- <td class="is-hidden">Hidden</td>
- </tr>
- </tbody>
- </table>
-</div>
-
-## Test cases
-
-Resize your browser or load on different devices to test the responsive utility classes.
-
-Green checkmarks indicate the element **is visible** in your current viewport.
-
-<div class="row responsive-utilities-test visible-on">
- <div class="col-6 col-sm-3">
- <span class="hidden-sm-up visible">&#10004; Visible on extra small</span>
- <span class="hidden-xs-down not-visible">Extra small</span>
- </div>
- <div class="col-6 col-sm-3">
- <span class="hidden-md-up visible">&#10004; Visible on small or narrower</span>
- <span class="hidden-sm-down not-visible">Small or narrower</span>
- </div>
- <div class="col-6 col-sm-3">
- <span class="hidden-lg-up visible">&#10004; Visible on medium or narrower</span>
- <span class="hidden-md-down not-visible">Medium or narrower</span>
- </div>
- <div class="col-6 col-sm-3">
- <span class="hidden-xl-up visible">&#10004; Visible on large or narrower</span>
- <span class="hidden-lg-down not-visible">Large or narrower</span>
- </div>
-</div>
-
-<hr>
-
-<div class="row responsive-utilities-test visible-on">
- <div class="col-6 col-sm-3">
- <span class="hidden-xs-down visible">&#10004; Visible on small or wider</span>
- <span class="hidden-sm-up not-visible">Small or wider</span>
- </div>
- <div class="col-6 col-sm-3">
- <span class="hidden-sm-down visible">&#10004; Visible on medium or wider</span>
- <span class="hidden-md-up not-visible">Medium or wider</span>
- </div>
- <div class="col-6 col-sm-3">
- <span class="hidden-md-down visible">&#10004; Visible on large or wider</span>
- <span class="hidden-lg-up not-visible">Large or wider</span>
- </div>
- <div class="col-6 col-sm-3">
- <span class="hidden-lg-down visible">&#10004; Visible on extra large</span>
- <span class="hidden-xl-up not-visible">Extra large</span>
- </div>
-</div>
-
-<hr>
-
-<div class="row responsive-utilities-test visible-on">
- <div class="col-6 col-sm-4">
- <span class="hidden-sm-up visible">&#10004; Your viewport is exactly extra small</span>
- <span class="hidden-xs-down not-visible">Your viewport is NOT exactly extra small</span>
- </div>
- <div class="col-6 col-sm-4">
- <span class="hidden-xs-down hidden-md-up visible">&#10004; Your viewport is exactly small</span>
- <span class="hidden-sm-only not-visible">Your viewport is NOT exactly small</span>
- </div>
- <div class="col-6 col-sm-4">
- <span class="hidden-sm-down hidden-lg-up visible">&#10004; Your viewport is exactly medium</span>
- <span class="hidden-md-only not-visible">Your viewport is NOT exactly medium</span>
- </div>
- </div>
-
-<div class="row responsive-utilities-test visible-on">
- <div class="col-6 col-sm-4">
- <span class="hidden-md-down hidden-xl-up visible">&#10004; Your viewport is exactly large</span>
- <span class="hidden-lg-only not-visible">Your viewport is NOT exactly large</span>
- </div>
- <div class="col-6 col-sm-4">
- <span class="hidden-lg-down visible">&#10004; Your viewport is exactly extra large</span>
- <span class="hidden-xl-only not-visible">Your viewport is NOT exactly extra large</span>
- </div>
-</div>
diff --git a/docs/layout/utilities-for-layout.md b/docs/layout/utilities-for-layout.md
new file mode 100644
index 000000000..12ba7006c
--- /dev/null
+++ b/docs/layout/utilities-for-layout.md
@@ -0,0 +1,31 @@
+---
+layout: docs
+title: Utilities for layout
+description: Use any of our dozens of responsive utility classes for showing, hiding, aligning, and spacing content.
+group: layout
+---
+
+For faster mobile-friendly and responsive development, Bootstrap includes dozens of utility classes for showing, hiding, aligning, and spacing content. Below is a primer on what's included in Bootstrap and how these utilities can help you with layout.
+
+## Contents
+
+* Will be replaced with the ToC, excluding the "Contents" header
+{:toc}
+
+## Changing `display`
+
+Use our `display` utilities for responsively toggling common values of the `display` property. Mix it with our grid system, content, or components to show or hide them across specific viewports.
+
+## Flexbox options
+
+Bootstrap 4 is built with flexbox, but not every element's `display` has been changed to `display: flex` as this would add many unnecessary overrides and unexpectedly change key browser behaviors. Most of [our components](/components/) are built with flexbox enabled.
+
+Should you need to add `display: flex` to an element, do so with `.d-flex` or one of the responsive variants (e.g., `.d-sm-flex`). You'll need this class or `display` value to allow the use of our extra [flexbox utilities](/utilities/flexbox/) for sizing, alignment, spacing, and more.
+
+## Margin and padding
+
+Use the `margin` and `padding` [spacing utilities](/utilities/spacing/) to control how elements and components are spaced and sized. Bootstrap 4 includes a five-level scale for spacing utilities, based on a `1rem` value default `$spacer` variable. Choose values for all viewports (e.g., `.mr-3` for `margin-right: 1rem`), or pick responsive variants to target specific viewports (e.g., `.mr-md-3` for `margin-right: 1rem` starting at the `md` breakpoint).
+
+## Toggle `visibility`
+
+When toggling `display` isn't needed, you can toggle the `visibility` of an element with our [visibility utilities](/utilities/visibility/). Invisible elements will still affect the layout of the page, but are visually hidden from visitors.
diff --git a/docs/migration.md b/docs/migration.md
index ceaa8b078..269e2e78e 100644
--- a/docs/migration.md
+++ b/docs/migration.md
@@ -44,7 +44,7 @@ Here are the big ticket items you'll want to be aware of when moving from v3 to
- Dropped the Glyphicons icon font. If you need icons, some options are:
- the upstream version of [Glyphicons](https://glyphicons.com/)
- [Octicons](https://octicons.github.com/)
- - [Font Awesome](https://fortawesome.github.io/Font-Awesome/)
+ - [Font Awesome](http://fontawesome.io/)
- Dropped the Affix jQuery plugin. We recommend using a `position: sticky` polyfill instead. [See the HTML5 Please entry](http://html5please.com/#sticky) for details and specific polyfill recommendations.
- If you were using Affix to apply additional, non-`position` styles, the polyfills might not support your use case. One option for such uses is the third-party [ScrollPos-Styler](https://github.com/acch/scrollpos-styler) library.
- Dropped the pager component as it was essentially slightly customized buttons.
@@ -82,7 +82,6 @@ New to Bootstrap 4 is the Reboot, a new stylesheet that builds on Normalize with
- Responsive tables no longer require a wrapping element. Instead, just put the `.table-responsive` right on the `<table>`.
- Renamed `.table-condensed` to `.table-sm` for consistency.
- Added a new `.table-inverse` option.
-- Added a new `.table-reflow` option.
- Added table header modifiers: `.thead-default` and `.thead-inverse`.
- Renamed contextual classes to have a `.table-`-prefix. Hence `.active`, `.success`, `.warning`, `.danger` and `.table-info` to `.table-active`, `.table-success`, `.table-warning`, `.table-danger` and `.table-info`.
@@ -98,6 +97,7 @@ New to Bootstrap 4 is the Reboot, a new stylesheet that builds on Normalize with
- `.form-group` no longer applies styles from the `.row` via mixin, so `.row` is now required for horizontal grid layouts (e.g., `<div class="form-group row">`).
- Added new `.form-control-label` class to vertically center labels with `.form-control`s.
- Added custom forms support (for checkboxes, radios, selects, and file inputs).
+- Renamed `.has-error` to `.has-danger`.
### Buttons
@@ -109,6 +109,7 @@ New to Bootstrap 4 is the Reboot, a new stylesheet that builds on Normalize with
### Button group
- Rewrote component with flexbox.
+- Removed `.btn-group-justified`.
- Dropped the `.btn-group-xs` class entirely given removal of `.btn-xs`.
- Removed explicit spacing between button groups in button toolbars; use margin utilities now.
- Improved documentation for use with other components.
@@ -126,7 +127,7 @@ New to Bootstrap 4 is the Reboot, a new stylesheet that builds on Normalize with
### Grid system
- Added a new `576px` grid breakpoint as `sm`, meaning there are now five total tiers (`xs`, `sm`, `md`, `lg`, and `xl`).
-- Renamed the responsive grid modifier classes from `.col-{breakpoint}-{modifier}-{size}` to `.{modifier}-{breakpoint}-{size}` for simpler grid classes. For example, instead of `.col-md-3.col-md-push-9` it's `col-md-3.push-md-9`.
+- Renamed the responsive grid modifier classes from `.col-{breakpoint}-{modifier}-{size}` to `.{modifier}-{breakpoint}-{size}` for simpler grid classes. For example, instead of `.col-md-3.col-md-push-9` it's `.col-md-3.push-md-9`.
- Overhauled the grid mixins to merge `make-col` and `make-col-span` into a single `make-col` mixin, thereby ensuring mixins and predefined classes utilize the same float/flex behaviors.
- Added flexbox utility classes for grid system and components.
@@ -134,6 +135,7 @@ New to Bootstrap 4 is the Reboot, a new stylesheet that builds on Normalize with
- Rewrote component with flexbox.
- Replaced `a.list-group-item` with an explicit class, `.list-group-item-action`, for styling link and button versions of list group items.
+- Added `.list-group-flush` class for use with cards.
### Modal
@@ -151,7 +153,7 @@ New to Bootstrap 4 is the Reboot, a new stylesheet that builds on Normalize with
The navbar has been entirely rewritten in flexbox with improved support for alignment, responsiveness, and customization.
-- Responsive navbar behaviors are now applied to the `.navbar` class via the **required** `.navbar-toggleable-{breakpoint}` where you choose where to collapse the navbar. Previously this was a Less variable modification and required recompiling.
+- Responsive navbar behaviors are now applied to the `.navbar` class via the **required** `.navbar-expand-{breakpoint}` where you choose where to collapse the navbar. Previously this was a Less variable modification and required recompiling.
- `.navbar-default` is now `.navbar-light`, though `.navbar-inverse` remains the same. **One of these is required on each navbar.** However, these classes no longer set `background-color`s; instead they essentiatlly only affect `color`.
- Navbars now require a background declaration of some kind. Choose from our background utilities (`.bg-*`) or set your own with the light/inverse classes above [for mad customization]({{ site.baseurl }}/components/navbar/#color-schemes).
- Given flexbox styles, navbars can now use flexbox utilities for easy alignment options.
@@ -170,11 +172,11 @@ The navbar has been entirely rewritten in flexbox with improved support for alig
- An explicit class, `.breadcrumb-item`, is now required on the descendants of `.breadcrumb`s
-### Labels, badges, and tags
+### Labels and badges
-- Renamed `.label` to `.tag` to disambiguate from the `<label>` element.
-- Dropped the `.badge` component as it was nearly identical to labels/tags. Use the `.tag-pill` modifier together with the label component instead for that rounded look.
-- Tags are no longer floated automatically in list groups and other components. Utility classes are now required for that.
+- Renamed `.label` to `.badge` to disambiguate from the `<label>` element.
+- Dropped the `.badge` component as it was nearly identical to labels. Use the `.badge-pill` modifier together with the label component instead for that rounded look.
+- Badges are no longer floated automatically in list groups and other components. Utility classes are now required for that.
### Panels, thumbnails, and wells
@@ -195,14 +197,6 @@ Dropped entirely for the new card component.
- `.panel-warning` to `.card-warning` and `.card-inverse` (or use `.bg-warning` on `.card-header`)
- `.panel-danger` to `.card-danger` and `.card-inverse` (or use `.bg-danger` on `.card-header`)
-### Tooltips
-
-- Removed support for `auto` placement options.
-
-### Popovers
-
-- Removed support for `auto` placement options.
-
### Carousel
- Overhauled the entire component to simplify design and styling. We have fewer styles for you to override, new indicators, and new icons.
@@ -243,17 +237,19 @@ Our documentation received an upgrade across the board as well. Here's the low d
All `@screen-` variables have been removed in v4.0.0. Use the `media-breakpoint-up()`, `media-breakpoint-down()`, or `media-breakpoint-only()` Sass mixins or the `$grid-breakpoints` Sass map instead.
-The responsive utility classes have also been overhauled.
+Our responsive utility classes have largely been removed in favor of explicit `display` utilities.
-- The `.hidden` and `.show` classes have been removed because they conflicted with jQuery's `$(...).hide()` and `$(...).show()` methods. Instead, try toggling the `[hidden]` attribute, use inline styles like `style="display: none;"` and `style="display: block;"`, or toggle the `.invisible` class.
-- The old classes (`.hidden-xs` `.hidden-sm` `.hidden-md` `.hidden-lg` `.visible-xs-block` `.visible-xs-inline` `.visible-xs-inline-block` `.visible-sm-block` `.visible-sm-inline` `.visible-sm-inline-block` `.visible-md-block` `.visible-md-inline` `.visible-md-inline-block` `.visible-lg-block` `.visible-lg-inline` `.visible-lg-inline-block`) are gone.
-- They have been replaced by `.hidden-xs-up` `.hidden-xs-down` `.hidden-sm-up` `.hidden-sm-down` `.hidden-md-up` `.hidden-md-down` `.hidden-lg-up` `.hidden-lg-down`.
-- The `.hidden-*-up` classes hide the element when the viewport is at the given breakpoint or larger (e.g. `.hidden-md-up` hides an element on medium, large, and extra-large devices).
-- The `.hidden-*-down` classes hide the element when the viewport is at the given breakpoint or smaller (e.g. `.hidden-md-down` hides an element on extra-small, small, and medium devices).
+- The `.hidden` and `.show` classes have been removed because they conflicted with jQuery's `$(...).hide()` and `$(...).show()` methods. Instead, try toggling the `[hidden]` attribute or use inline styles like `style="display: none;"` and `style="display: block;"`.
+- All `.hidden-` classes have been removed, save for the print utilities which have been renamed.
+ - Removed from v3: `.hidden-xs` `.hidden-sm` `.hidden-md` `.hidden-lg` `.visible-xs-block` `.visible-xs-inline` `.visible-xs-inline-block` `.visible-sm-block` `.visible-sm-inline` `.visible-sm-inline-block` `.visible-md-block` `.visible-md-inline` `.visible-md-inline-block` `.visible-lg-block` `.visible-lg-inline` `.visible-lg-inline-block`
+ - Removed from v4 alphas: `.hidden-xs-up` `.hidden-xs-down` `.hidden-sm-up` `.hidden-sm-down` `.hidden-md-up` `.hidden-md-down` `.hidden-lg-up` `.hidden-lg-down`
+- Print utilities no longer start with `.hidden-` or `.visible-`, but with `.d-print-`.
+ - Old names: `.visible-print-block`, `.visible-print-inline`, `.visible-print-inline-block`, `.hidden-print`
+ - New classes: `.d-print-block`, `.d-print-inline`, `.d-print-inline-block`, `.d-print-none`
-Rather than using explicit `.visible-*` classes, you make an element visible by simply not hiding it at that screen size. You can combine one `.hidden-*-up` class with one `.hidden-*-down` class to show an element only on a given interval of screen sizes (e.g. `.hidden-sm-down.hidden-xl-up` shows the element only on medium and large devices).
+Rather than using explicit `.visible-*` classes, you make an element visible by simply not hiding it at that screen size. You can combine one `.d-*-none` class with one `.d-*-block` class to show an element only on a given interval of screen sizes (e.g. `.d-none.d-md-block.d-lg-none` shows the element only on medium and large devices).
-Note that the changes to the grid breakpoints in v4 means that you'll need to go one breakpoint larger to achieve the same results (e.g. `.hidden-md` is more similar to `.hidden-lg-down` than to `.hidden-md-down`). The new responsive utility classes don't attempt to accommodate less common cases where an element's visibility can't be expressed as a single contiguous range of viewport sizes; you will instead need to use custom CSS in such cases.
+Note that the changes to the grid breakpoints in v4 means that you'll need to go one breakpoint larger to achieve the same results. The new responsive utility classes don't attempt to accommodate less common cases where an element's visibility can't be expressed as a single contiguous range of viewport sizes; you will instead need to use custom CSS in such cases.
## Misc notes to prioritize
diff --git a/docs/utilities/colors.md b/docs/utilities/colors.md
index f041f6947..b114d74fe 100644
--- a/docs/utilities/colors.md
+++ b/docs/utilities/colors.md
@@ -13,6 +13,7 @@ Convey meaning through color with a handful of emphasis utility classes. These m
<p class="text-info">Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
<p class="text-warning">Etiam porta sem malesuada magna mollis euismod.</p>
<p class="text-danger">Donec ullamcorper nulla non metus auctor fringilla.</p>
+<p class="text-gray-dark">Eget risus varius blandit sit ultricies vehicula amet non magna.</p>
<p class="text-white">Etiam porta sem malesuada ultricies vehicula.</p>
{% endexample %}
diff --git a/docs/utilities/display-property.md b/docs/utilities/display-property.md
deleted file mode 100644
index 50ea29367..000000000
--- a/docs/utilities/display-property.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: docs
-title: Display property
-group: utilities
----
-
-Use `.d-block`, `.d-inline`, or `.d-inline-block` to simply set an element's [`display` property](https://developer.mozilla.org/en-US/docs/Web/CSS/display) to `block`, `inline`, or `inline-block` (respectively).
-
-To make an element `display: none`, use our [responsive utilities]({{ site.baseurl }}/layout/responsive-utilities/) instead.
-
-{% example html %}
-<div class="d-inline bg-success">Inline</div>
-<div class="d-inline bg-success">Inline</div>
-{% endexample %}
-
-{% example html %}
-<span class="d-block bg-primary">Block</span>
-{% endexample %}
-
-{% example html %}
-<div class="d-inline-block bg-warning">
- <h3>inline-block</h3>
- Boot that strap!
-</div>
-<div class="d-inline-block bg-warning">
- <h3>inline-block</h3>
- Strap that boot!
-</div>
-{% endexample %}
diff --git a/docs/utilities/display.md b/docs/utilities/display.md
new file mode 100644
index 000000000..27f70e0b2
--- /dev/null
+++ b/docs/utilities/display.md
@@ -0,0 +1,64 @@
+---
+layout: docs
+title: Display property
+group: utilities
+---
+
+Quickly and responsively toggle the `display` value of components and more with our display utilities. Includes support for some of the more common values, as well as some extras for controlling `display` when printing.
+
+## Contents
+
+* Will be replaced with the ToC, excluding the "Contents" header
+{:toc}
+
+## Common `display` values
+
+The [`display` property](https://developer.mozilla.org/en-US/docs/Web/CSS/display) accepts a handful of values and we support many of them with utility classes. We purposefully don't provide every value as a utility, so here's what we support:
+
+- `.d-none`
+- `.d-inline`
+- `.d-inline-block`
+- `.d-block`
+- `.d-table`
+- `.d-table-cell`
+- `.d-flex`
+- `.d-inline-flex`
+
+Put them to use by applying any of the classes to an element of your choice. For example, here's how you could use the inline, block, or inline-block utilities (the same applies to the other classes).
+
+{% example html %}
+<div class="d-inline bg-success">d-inline</div>
+<div class="d-inline bg-success">d-inline</div>
+{% endexample %}
+
+{% example html %}
+<span class="d-block bg-primary">d-block</span>
+{% endexample %}
+
+{% example html %}
+<div class="d-inline-block bg-warning">d-inline-block</div>
+<div class="d-inline-block bg-warning">d-inline-block</div>
+{% endexample %}
+
+Responsive variations also exist for every single utility mentioned above.
+
+{% for bp in site.data.breakpoints %}
+- `.d{{ bp.abbr }}-none`
+- `.d{{ bp.abbr }}-inline`
+- `.d{{ bp.abbr }}-inline-block`
+- `.d{{ bp.abbr }}-block`
+- `.d{{ bp.abbr }}-table`
+- `.d{{ bp.abbr }}-table-cell`
+- `.d{{ bp.abbr }}-flex`
+- `.d{{ bp.abbr }}-inline-flex`{% endfor %}
+
+## Display in print
+
+Change the `display` value of elements when printing with our print display utilities.
+
+| Class | Print style |
+| --- | --- |
+| `.d-print-block` | Applies `display: block` to the element when printing |
+| `.d-print-inline` | Applies `display: inline` to the element when printing |
+| `.d-print-inline-block` | Applies `display: inline-block` to the element when printing |
+| `.d-print-none` | Applies `display: none` to the element when printing |
diff --git a/docs/utilities/flexbox.md b/docs/utilities/flexbox.md
index 9b6add5c4..9bca02848 100644
--- a/docs/utilities/flexbox.md
+++ b/docs/utilities/flexbox.md
@@ -354,9 +354,9 @@ Change the _visual_ order of specific flex items with a handful of `order` utili
{% example html %}
<div class="d-flex flex-nowrap bd-highlight">
- <div class="flex-last p-2 bd-highlight">First flex item</div>
+ <div class="order-last p-2 bd-highlight">First flex item</div>
<div class="p-2 bd-highlight">Second flex item</div>
- <div class="flex-first p-2 bd-highlight">Third flex item</div>
+ <div class="order-first p-2 bd-highlight">Third flex item</div>
</div>
{% endexample %}
@@ -365,7 +365,7 @@ Responsive variations also exist for `order`.
{% for bp in site.data.breakpoints %}
- `.order{{ bp.abbr }}-first`
- `.order{{ bp.abbr }}-last`
-- `.order{{ bp.abbr }}-unordered`{% endfor %}
+- `.order{{ bp.abbr }}-0`{% endfor %}
## Align content
diff --git a/docs/utilities/invisible-content.md b/docs/utilities/invisible-content.md
deleted file mode 100644
index 84da6ad01..000000000
--- a/docs/utilities/invisible-content.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: docs
-title: Invisible content
-group: utilities
----
-
-The `.invisible` class 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 %}
-<div class="invisible">...</div>
-{% endhighlight %}
-
-{% highlight scss %}
-// Class
-.invisible {
- visibility: hidden;
-}
-
-// Usage as a mixin
-.element {
- @include invisible;
-}
-{% endhighlight %}
diff --git a/docs/utilities/position.md b/docs/utilities/position.md
new file mode 100644
index 000000000..6b8268c48
--- /dev/null
+++ b/docs/utilities/position.md
@@ -0,0 +1,31 @@
+---
+layout: docs
+title: Position
+group: utilities
+---
+
+Position utilities are helpful for quickly placing a component outside the normal document flow. Choose from a handful of fixed or sticky position classes as needed.
+
+### Fixed top
+
+Position an element at the top of the viewport, from edge to edge. Be sure you understand the ramifications of fixed position in your project; you may need to add aditional CSS.
+
+{% highlight html %}
+<div class="fixed-top">...</div>
+{% endhighlight %}
+
+### Fixed bottom
+
+Position an element at the bottom of the viewport, from edge to edge. Be sure you understand the ramifications of fixed position in your project; you may need to add aditional CSS.
+
+{% highlight html %}
+<div class="fixed-bottom">...</div>
+{% endhighlight %}
+
+### Sticky top
+
+Position an element at the top of the viewport, from edge to edge, but only after you scroll past it. The `.sticky-top` utility uses CSS's `position: sticky`, which isn't fully supported in all browsers.
+
+{% highlight html %}
+<div class="sticky-top">...</div>
+{% endhighlight %}
diff --git a/docs/utilities/responsive-helpers.md b/docs/utilities/responsive-helpers.md
index 35e7fcf2f..0f1a43ee1 100644
--- a/docs/utilities/responsive-helpers.md
+++ b/docs/utilities/responsive-helpers.md
@@ -14,7 +14,7 @@ Rules are directly applied to `<iframe>`, `<embed>`, `<video>`, and `<object>` e
{% example html %}
<div class="embed-responsive embed-responsive-16by9">
- <iframe class="embed-responsive-item" src="//www.youtube.com/embed/zpOULjyy-n8?rel=0" allowfullscreen></iframe>
+ <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/zpOULjyy-n8?rel=0" allowfullscreen></iframe>
</div>
{% endexample %}
diff --git a/docs/utilities/sizing-and-positioning.md b/docs/utilities/sizing.md
index a6de778ca..eabb4653a 100644
--- a/docs/utilities/sizing-and-positioning.md
+++ b/docs/utilities/sizing.md
@@ -1,27 +1,12 @@
---
layout: docs
-title: Sizing and positioning
+title: Sizing
group: utilities
---
-## Fixed positioning
+Easily make an element as wide or as tall (relative to its parent) with our width and height utilities. Includes support for `25%`, `50%`, `75%`, and `100%` by default.
-The `.pos-f-t` class can be used to easily position elements at the top of the viewport and make them as wide as the viewport. **Be sure you understand the ramifications of fixed-position elements within your project.** Here's how the class is defined:
-
-{% highlight scss %}
-.pos-f-t {
- position: fixed;
- top: 0;
- right: 0;
- left: 0;
- z-index: $zindex-navbar-fixed;
-}
-{% endhighlight %}
-
-
-## Width and height
-
-Easily make an element as wide or as tall (relative to its parent) with our width and height utilities. Includes support for `25%`, `50%`, `75%`, and `100%`.
+Width and height utilities are generated from the `$sizes` Sass map in `_variables.scss`. Modify those values as you need to generate different utilities here.
{% example html %}
<div class="w-25 p-3" style="background-color: #eee;">Width 25%</div>
diff --git a/docs/utilities/spacing.md b/docs/utilities/spacing.md
index 0a5132941..fa8a0d76c 100644
--- a/docs/utilities/spacing.md
+++ b/docs/utilities/spacing.md
@@ -35,11 +35,11 @@ Where *sides* is one of:
Where *size* is one of:
* `0` - for classes that eliminate the `margin` or `padding` by setting it to `0`
-* `1` - (by default) for classes that set the `margin` or `padding` to `$spacer-x * .25` or `$spacer-y * .25`
-* `2` - (by default) for classes that set the `margin` or `padding` to `$spacer-x * .5` or `$spacer-y * .5`
-* `3` - (by default) for classes that set the `margin` or `padding` to `$spacer-x` or `$spacer-y`
-* `4` - (by default) for classes that set the `margin` or `padding` to `$spacer-x * 1.5` or `$spacer-y * 1.5`
-* `5` - (by default) for classes that set the `margin` or `padding` to `$spacer-x * 3` or `$spacer-y * 3`
+* `1` - (by default) for classes that set the `margin` or `padding` to `$spacer * .25`
+* `2` - (by default) for classes that set the `margin` or `padding` to `$spacer * .5`
+* `3` - (by default) for classes that set the `margin` or `padding` to `$spacer`
+* `4` - (by default) for classes that set the `margin` or `padding` to `$spacer * 1.5`
+* `5` - (by default) for classes that set the `margin` or `padding` to `$spacer * 3`
(You can add more sizes by adding entries to the `$spacers` Sass map variable.)
@@ -53,16 +53,16 @@ Here are some representative examples of these classes:
}
.ml-1 {
- margin-left: ($spacer-x * .25) !important;
+ margin-left: ($spacer * .25) !important;
}
.px-2 {
- padding-left: ($spacer-x * .5) !important;
- padding-right: ($spacer-x * .5) !important;
+ padding-left: ($spacer * .5) !important;
+ padding-right: ($spacer * .5) !important;
}
.p-3 {
- padding: $spacer-y $spacer-x !important;
+ padding: $spacer !important;
}
{% endhighlight %}
diff --git a/docs/utilities/typography.md b/docs/utilities/typography.md
index 42b61131e..5e29fd88c 100644
--- a/docs/utilities/typography.md
+++ b/docs/utilities/typography.md
@@ -19,14 +19,6 @@ Easily realign text to components with text alignment classes.
<p class="text-justify">Ambitioni dedisse scripsisse iudicaretur. Cras mattis iudicium purus sit amet fermentum. Donec sed odio operae, eu vulputate felis rhoncus. Praeterea iter est quasdam res quas ex communi. At nos hinc posthac, sitientis piros Afros. Petierunt uti sibi concilium totius Galliae in diem certam indicere. Cras mattis iudicium purus sit amet fermentum.</p>
{% endexample %}
-{% example html %}
-<div class="card">
- <div class="card-block text-nowrap">
- Curabitur blandit tempus ardua ridiculus sed magna.
- </div>
-</div>
-{% endexample %}
-
For left, right, and center alignment, responsive classes are available that use the same viewport width breakpoints as the grid system.
{% example html %}
@@ -40,6 +32,31 @@ For left, right, and center alignment, responsive classes are available that use
<p class="text-xl-left">Left aligned text on viewports sized XL (extra-large) or wider.</p>
{% endexample %}
+## Text wrapping and overflow
+
+Prevent text from wrapping with a `.text-nowrap` class.
+
+{% example html %}
+<div class="row">
+ <div class="col-1 text-nowrap">
+ Curabitur blandit tempus ardua ridiculus sed magna.
+ </div>
+ <div class="col-11">
+ <img data-src="holder.js/50x50" alt="An image to show the text doesn't wrap">
+ </div>
+</div>
+{% endexample %}
+
+For longer content, you can add a `.text-truncate` class to truncate the text with an ellipsis.
+
+{% example html %}
+<div class="row">
+ <div class="col-2 text-truncate">
+ Praeterea iter est quasdam res quas ex communi.
+ </div>
+</div>
+{% endexample %}
+
## Text transform
Transform text in components with text capitalization classes.
diff --git a/docs/utilities/visibility.md b/docs/utilities/visibility.md
new file mode 100644
index 000000000..5b7d28664
--- /dev/null
+++ b/docs/utilities/visibility.md
@@ -0,0 +1,32 @@
+---
+layout: docs
+title: Visibility
+group: utilities
+---
+
+Set the `visibility` of elements with our visibility utilities. These do not modify the `display` value at all and are helpful for hiding content from most users, but still keeping them for screen readers.
+
+Apply `.visible` or `.invisible` as needed.
+
+{% highlight html %}
+<div class="visible">...</div>
+<div class="invisible">...</div>
+{% endhighlight %}
+
+{% highlight scss %}
+// Class
+.visible {
+ visibility: visible;
+}
+.invisible {
+ visibility: hidden;
+}
+
+// Usage as a mixin
+.element {
+ @include invisible(visible);
+}
+.element {
+ @include invisible(hidden);
+}
+{% endhighlight %}
diff --git a/grunt/bs-sass-compile/libsass.js b/grunt/bs-sass-compile/libsass.js
deleted file mode 100644
index 3abfbd6d0..000000000
--- a/grunt/bs-sass-compile/libsass.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Compile Bootstrap with [libsass][1] using [grunt-sass][2]
-// [1]: https://github.com/sass/libsass
-// [2]: https://github.com/sindresorhus/grunt-sass
-module.exports = function configureLibsass(grunt) {
- grunt.config.merge({
- sass: {
- options: {
- includePaths: ['scss'],
- precision: 6,
- sourceComments: false,
- sourceMap: true,
- outputStyle: 'expanded'
- },
- core: {
- files: {
- 'dist/css/<%= pkg.name %>.css': 'scss/<%= pkg.name %>.scss'
- }
- },
- extras: {
- files: {
- 'dist/css/<%= pkg.name %>-grid.css': 'scss/<%= pkg.name %>-grid.scss',
- 'dist/css/<%= pkg.name %>-reboot.css': 'scss/<%= pkg.name %>-reboot.scss'
- }
- },
- docs: {
- files: {
- 'docs/assets/css/docs.min.css': 'docs/assets/scss/docs.scss'
- }
- }
- }
- });
- grunt.loadNpmTasks('grunt-sass');
-};
diff --git a/grunt/bs-sass-compile/sass.js b/grunt/bs-sass-compile/sass.js
deleted file mode 100644
index 665212e0c..000000000
--- a/grunt/bs-sass-compile/sass.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// Compile Bootstrap with [Ruby Sass][1] using [grunt-contrib-sass][2]
-// [1]: https://github.com/sass/sass
-// [2]: https://github.com/gruntjs/grunt-contrib-sass
-module.exports = function configureRubySass(grunt) {
- var options = {
- loadPath: ['scss'],
- precision: 6,
- sourcemap: 'auto',
- style: 'expanded',
- trace: true,
- bundleExec: true
- };
- grunt.config.merge({
- sass: {
- core: {
- options: options,
- files: {
- 'dist/css/<%= pkg.name %>.css': 'scss/<%= pkg.name %>.scss'
- }
- },
- extras: {
- options: options,
- files: {
- 'dist/css/<%= pkg.name %>-grid.css': 'scss/<%= pkg.name %>-grid.scss',
- 'dist/css/<%= pkg.name %>-reboot.css': 'scss/<%= pkg.name %>-reboot.scss'
- }
- },
- docs: {
- options: options,
- files: {
- 'docs/assets/css/docs.min.css': 'docs/assets/scss/docs.scss'
- }
- }
- }
- });
- grunt.loadNpmTasks('grunt-contrib-sass');
-};
diff --git a/grunt/configBridge.json b/grunt/configBridge.json
deleted file mode 100644
index 140d9ab78..000000000
--- a/grunt/configBridge.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "paths": {
- "docsJs": [
- "assets/js/vendor/anchor.min.js",
- "assets/js/vendor/clipboard.min.js",
- "assets/js/vendor/holder.min.js",
- "assets/js/src/application.js"
- ]
- }
-}
diff --git a/grunt/postcss.js b/grunt/postcss.js
deleted file mode 100644
index a2ea78f5b..000000000
--- a/grunt/postcss.js
+++ /dev/null
@@ -1,42 +0,0 @@
-module.exports = {
- use: [
- 'postcss-flexbugs-fixes',
- 'autoprefixer'
- ],
- map: {
- inline: false,
- annotation: true,
- sourcesContent: true
- },
- autoprefixer: {
- browsers: [
- //
- // Official browser support policy:
- // https://v4-alpha.getbootstrap.com/getting-started/browsers-devices/#supported-browsers
- //
- 'Chrome >= 35', // Exact version number here is kinda arbitrary
- // Rather than using Autoprefixer's native "Firefox ESR" version specifier string,
- // we deliberately hardcode the number. This is to avoid unwittingly severely breaking the previous ESR in the event that:
- // (a) we happen to ship a new Bootstrap release soon after the release of a new ESR,
- // such that folks haven't yet had a reasonable amount of time to upgrade; and
- // (b) the new ESR has unprefixed CSS properties/values whose absence would severely break webpages
- // (e.g. `box-sizing`, as opposed to `background: linear-gradient(...)`).
- // Since they've been unprefixed, Autoprefixer will stop prefixing them,
- // thus causing them to not work in the previous ESR (where the prefixes were required).
- 'Firefox >= 38', // Current Firefox Extended Support Release (ESR); https://www.mozilla.org/en-US/firefox/organizations/faq/
- // 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 >= 10',
- // Out of leniency, we prefix these 1 version further back than the official policy.
- 'iOS >= 8',
- 'Safari >= 8',
- // The following remain NOT officially supported, but we're lenient and include their prefixes to avoid severely breaking in them.
- 'Android 2.3',
- 'Android >= 4',
- 'Opera >= 12'
- ]
- }
-}
diff --git a/grunt/upload-preview.sh b/grunt/upload-preview.sh
deleted file mode 100755
index 905d716ab..000000000
--- a/grunt/upload-preview.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/bash
-# Upload built docs to preview.twbsapps.com
-
-if [ "$TRAVIS_REPO_SLUG" != twbs-savage/bootstrap ]; then exit 0; fi
-
-# Add build metadata to version
-sed -i "/^current_version:/ s/\$/+pr.${TRAVIS_COMMIT}/" _config.yml
-# Fix URLs since the site's root is now a subdirectory
-echo "baseurl: /c/${TRAVIS_COMMIT}" >> _config.yml
-bundle exec jekyll build --destination "$TRAVIS_COMMIT"
-
-# Install gcloud & gsutil
-GSUTIL_VERSION=$(gsutil version | cut -d ' ' -f 3)
-if [ ! -d "${HOME}/google-cloud-sdk" ] || [ "${GSUTIL_VERSION}" != '4.19' ]; then
- rm -rf "${HOME}/google-cloud-sdk" # Kill Travis' outdated non-updateable preinstalled version
- echo 'Installing google-cloud-sdk...'
- export CLOUDSDK_CORE_DISABLE_PROMPTS=1
- time (curl -S -s https://sdk.cloud.google.com | bash &>/dev/null)
- echo 'Done.'
-fi
-source "${HOME}/google-cloud-sdk/path.bash.inc"
-
-openssl aes-256-cbc -K $encrypted_2b749c8e6327_key -iv $encrypted_2b749c8e6327_iv -in grunt/gcp-key.json.enc -out grunt/gcp-key.json -d
-gcloud auth activate-service-account "$GCP_SERVICE_ACCOUNT" --key-file grunt/gcp-key.json &> /dev/null || (echo 'GCP login failed!'; exit 1)
-
-echo "Uploading to http://preview.twbsapps.com/c/${TRAVIS_COMMIT} ..."
-time gsutil -q -m cp -z html,css,js,svg -r "./${TRAVIS_COMMIT}" gs://preview.twbsapps.com/c/
-echo 'Done.'
diff --git a/js/.eslintrc.json b/js/.eslintrc.json
index 930e1f3c2..69b361045 100644
--- a/js/.eslintrc.json
+++ b/js/.eslintrc.json
@@ -13,10 +13,11 @@
},
"rules": {
// Possible Errors
+ "no-await-in-loop": "error",
+ "no-compare-neg-zero": "error",
"no-extra-parens": "error",
"no-prototype-builtins": "off",
"no-template-curly-in-string": "error",
- "no-unsafe-negation": "error",
"valid-jsdoc": "error",
// Best Practices
@@ -43,7 +44,6 @@
"no-extra-bind": "error",
"no-extra-label": "error",
"no-floating-decimal": "error",
- "no-global-assign": "error",
"no-implicit-coercion": "error",
"no-implicit-globals": "error",
"no-implied-eval": "error",
@@ -67,14 +67,15 @@
}
],
"no-multi-str": "error",
- "no-new-func": "off",
- "no-new-wrappers": "error",
"no-new": "error",
+ "no-new-func": "error",
+ "no-new-wrappers": "error",
"no-octal-escape": "error",
"no-param-reassign": "off",
"no-proto": "error",
"no-restricted-properties": "error",
"no-return-assign": "off",
+ "no-return-await": "error",
"no-script-url": "error",
"no-self-compare": "error",
"no-sequences": "error",
@@ -84,10 +85,13 @@
"no-useless-call": "error",
"no-useless-concat": "error",
"no-useless-escape": "error",
+ "no-useless-return": "off",
"no-void": "error",
"no-warning-comments": "off",
"no-with": "error",
+ "prefer-promise-reject-errors": "error",
"radix": "error",
+ "require-await": "error",
"vars-on-top": "error",
"wrap-iife": "error",
"yoda": "error",
@@ -100,8 +104,8 @@
"no-catch-shadow": "error",
"no-label-var": "error",
"no-restricted-globals": "error",
- "no-shadow-restricted-names": "error",
"no-shadow": "off",
+ "no-shadow-restricted-names": "error",
"no-undef-init": "error",
"no-undefined": "off",
"no-use-before-define": "off",
@@ -123,6 +127,7 @@
"block-spacing": "error",
"brace-style": "error",
"camelcase": "error",
+ "capitalized-comments": "off",
"comma-dangle": "error",
"comma-spacing": "error",
"comma-style": "error",
@@ -130,6 +135,7 @@
"consistent-this": "error",
"eol-last": "error",
"func-call-spacing": "error",
+ "func-name-matching": "error",
"func-names": "off",
"func-style": ["error", "declaration"],
"id-blacklist": "error",
@@ -148,8 +154,8 @@
"max-lines": "off",
"max-nested-callbacks": "error",
"max-params": "off",
- "max-statements-per-line": "error",
"max-statements": "off",
+ "max-statements-per-line": "error",
"multiline-ternary": "off",
"new-cap": ["error", { "capIsNewExceptionPattern": "$.*" }],
"new-parens": "error",
@@ -162,6 +168,7 @@
"no-inline-comments": "off",
"no-lonely-if": "error",
"no-mixed-operators": "off",
+ "no-multi-assign": "error",
"no-multiple-empty-lines": "error",
"no-negated-condition": "off",
"no-nested-ternary": "error",
@@ -174,19 +181,20 @@
"no-underscore-dangle": "off",
"no-unneeded-ternary": "error",
"no-whitespace-before-property": "error",
+ "nonblock-statement-body-position": "error",
"object-curly-newline": ["error", { "minProperties": 1 }],
"object-curly-spacing": ["error", "always"],
"object-property-newline": "error",
- "one-var-declaration-per-line": "error",
"one-var": ["error", "never"],
+ "one-var-declaration-per-line": "error",
"operator-assignment": "error",
"operator-linebreak": "off",
"padded-blocks": "off",
"quote-props": ["error", "as-needed"],
"quotes": ["error", "single"],
"require-jsdoc": "off",
- "semi-spacing": "error",
"semi": ["error", "never"],
+ "semi-spacing": "error",
"sort-keys": "off",
"sort-vars": "error",
"space-before-blocks": "error",
@@ -198,6 +206,7 @@
"space-infix-ops": "error",
"space-unary-ops": "error",
"spaced-comment": "error",
+ "template-tag-spacing": "error",
"unicode-bom": "error",
"wrap-regex": "off",
@@ -216,8 +225,8 @@
"object-shorthand": "error",
"prefer-arrow-callback": "error",
"prefer-const": "error",
+ "prefer-destructuring": "off",
"prefer-numeric-literals": "error",
- "prefer-reflect": "off",
"prefer-rest-params": "error",
"prefer-spread": "error",
"prefer-template": "error",
diff --git a/js/.jscsrc b/js/.jscsrc
deleted file mode 100644
index 7a720ee76..000000000
--- a/js/.jscsrc
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "disallowEmptyBlocks": true,
- "disallowKeywords": ["with"],
- "disallowMixedSpacesAndTabs": true,
- "disallowMultipleLineStrings": true,
- "disallowMultipleVarDecl": true,
- "disallowQuotedKeysInObjects": "allButReserved",
- "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
- "disallowSpaceBeforeBinaryOperators": [","],
- "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
- "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
- "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
- "disallowSpacesInsideArrayBrackets": true,
- "disallowSpacesInsideParentheses": true,
- "disallowTrailingComma": true,
- "disallowTrailingWhitespace": true,
- "requireCamelCaseOrUpperCaseIdentifiers": true,
- "requireCapitalizedConstructors": true,
- "requireCommaBeforeLineBreak": true,
- "requireDollarBeforejQueryAssignment": true,
- "requireDotNotation": true,
- "requireLineFeedAtFileEnd": true,
- "requirePaddingNewLinesAfterUseStrict": true,
- "requirePaddingNewLinesBeforeExport": true,
- "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
- "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
- "requireSpaceAfterLineComment": true,
- "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
- "requireSpaceBetweenArguments": true,
- "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningCurlyBrace": true, "beforeOpeningRoundBrace": true, "allExcept": ["shorthand"] },
- "requireSpacesInConditionalExpression": true,
- "requireSpacesInForStatement": true,
- "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
- "requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
- "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
- "requireSpacesInsideObjectBrackets": "allButNested",
- "validateAlignedFunctionParameters": true,
- "validateIndentation": 2,
- "validateLineBreaks": "LF",
- "validateNewlineAfterArrayElements": true,
- "validateQuoteMarks": "'"
-}
diff --git a/js/dist/alert.js b/js/dist/alert.js
index 34882c92a..0550593a7 100644
--- a/js/dist/alert.js
+++ b/js/dist/alert.js
@@ -4,7 +4,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): alert.js
+ * Bootstrap (v4.0.0-alpha.6): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -18,7 +18,7 @@ var Alert = function ($) {
*/
var NAME = 'alert';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -180,4 +180,4 @@ var Alert = function ($) {
return Alert;
}(jQuery);
-//# sourceMappingURL=alert.js.map
+//# sourceMappingURL=alert.js.map \ No newline at end of file
diff --git a/js/dist/alert.js.map b/js/dist/alert.js.map
index 1b6d955f0..280035dce 100644
--- a/js/dist/alert.js.map
+++ b/js/dist/alert.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/alert.js"],"names":["Alert","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","element","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","selector","Util","getSelectorFromElement","parent","closest","closeEvent","trigger","removeClass","supportsTransitionEnd","hasClass","_destroyElement","one","TRANSITION_END","event","emulateTransitionEnd","detach","remove","_jQueryInterface","config","each","$element","data","_handleDismiss","alertInstance","preventDefault","document","on","Constructor","noConflict","jQuery"],"mappings":"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","file":"alert.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0-alpha.5'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n\n})(jQuery)\n\nexport default Alert\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/alert.js"],"names":["Alert","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","Selector","DISMISS","Event","CLOSE","CLOSED","CLICK_DATA_API","ClassName","ALERT","FADE","SHOW","element","_element","close","rootElement","_getRootElement","customEvent","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","selector","Util","getSelectorFromElement","parent","closest","closeEvent","trigger","removeClass","supportsTransitionEnd","hasClass","_destroyElement","one","TRANSITION_END","event","emulateTransitionEnd","detach","remove","_jQueryInterface","config","each","$element","data","_handleDismiss","alertInstance","preventDefault","document","on","Constructor","noConflict","jQuery"],"mappings":"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","file":"alert.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Alert = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'alert'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.alert'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Selector = {\n DISMISS : '[data-dismiss=\"alert\"]'\n }\n\n const Event = {\n CLOSE : `close${EVENT_KEY}`,\n CLOSED : `closed${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n ALERT : 'alert',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Alert {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n close(element) {\n element = element || this._element\n\n const rootElement = this._getRootElement(element)\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n if (!parent) {\n parent = $(element).closest(`.${ClassName.ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(Event.CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(ClassName.SHOW)\n\n if (!Util.supportsTransitionEnd() ||\n !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element)\n return\n }\n\n $(element)\n .one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(Event.CLOSED)\n .remove()\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(\n Event.CLICK_DATA_API,\n Selector.DISMISS,\n Alert._handleDismiss(new Alert())\n )\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface\n $.fn[NAME].Constructor = Alert\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n }\n\n return Alert\n\n})(jQuery)\n\nexport default Alert\n"]} \ No newline at end of file
diff --git a/js/dist/button.js b/js/dist/button.js
index eff882c6d..cd82242c1 100644
--- a/js/dist/button.js
+++ b/js/dist/button.js
@@ -4,7 +4,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): button.js
+ * Bootstrap (v4.0.0-alpha.6): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -18,7 +18,7 @@ var Button = function ($) {
*/
var NAME = 'button';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.button';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -62,6 +62,7 @@ var Button = function ($) {
Button.prototype.toggle = function toggle() {
var triggerChangeEvent = true;
+ var addAriaPressed = true;
var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];
if (rootElement) {
@@ -81,13 +82,19 @@ var Button = function ($) {
}
if (triggerChangeEvent) {
+ if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
+ return;
+ }
input.checked = !$(this._element).hasClass(ClassName.ACTIVE);
$(input).trigger('change');
}
input.focus();
+ addAriaPressed = false;
}
- } else {
+ }
+
+ if (addAriaPressed) {
this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));
}
@@ -164,4 +171,4 @@ var Button = function ($) {
return Button;
}(jQuery);
-//# sourceMappingURL=button.js.map
+//# sourceMappingURL=button.js.map \ No newline at end of file
diff --git a/js/dist/button.js.map b/js/dist/button.js.map
index afceb4879..899bcdaea 100644
--- a/js/dist/button.js.map
+++ b/js/dist/button.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/button.js"],"names":["Button","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ClassName","ACTIVE","BUTTON","FOCUS","Selector","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","Event","CLICK_DATA_API","FOCUS_BLUR_DATA_API","element","_element","toggle","triggerChangeEvent","rootElement","closest","input","find","type","checked","hasClass","activeElement","removeClass","trigger","focus","setAttribute","toggleClass","dispose","removeData","_jQueryInterface","config","each","data","document","on","event","preventDefault","button","target","call","test","Constructor","noConflict","jQuery"],"mappings":"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","file":"button.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0-alpha.5'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n + `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n toggle() {\n let triggerChangeEvent = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n }\n\n } else {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n\n})(jQuery)\n\nexport default Button\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/button.js"],"names":["Button","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ClassName","ACTIVE","BUTTON","FOCUS","Selector","DATA_TOGGLE_CARROT","DATA_TOGGLE","INPUT","Event","CLICK_DATA_API","FOCUS_BLUR_DATA_API","element","_element","toggle","triggerChangeEvent","addAriaPressed","rootElement","closest","input","find","type","checked","hasClass","activeElement","removeClass","hasAttribute","classList","contains","trigger","focus","setAttribute","toggleClass","dispose","removeData","_jQueryInterface","config","each","data","document","on","event","preventDefault","button","target","call","test","Constructor","noConflict","jQuery"],"mappings":"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","file":"button.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Button = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'button'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.button'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const ClassName = {\n ACTIVE : 'active',\n BUTTON : 'btn',\n FOCUS : 'focus'\n }\n\n const Selector = {\n DATA_TOGGLE_CARROT : '[data-toggle^=\"button\"]',\n DATA_TOGGLE : '[data-toggle=\"buttons\"]',\n INPUT : 'input',\n ACTIVE : '.active',\n BUTTON : '.btn'\n }\n\n const Event = {\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n FOCUS_BLUR_DATA_API : `focus${EVENT_KEY}${DATA_API_KEY} `\n + `blur${EVENT_KEY}${DATA_API_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Button {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(\n Selector.DATA_TOGGLE\n )[0]\n\n if (rootElement) {\n const input = $(this._element).find(Selector.INPUT)[0]\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked &&\n $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false\n\n } else {\n const activeElement = $(rootElement).find(Selector.ACTIVE)[0]\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains('disabled') ||\n rootElement.classList.contains('disabled')) {\n return\n }\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE)\n $(input).trigger('change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !$(this._element).hasClass(ClassName.ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE)\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n event.preventDefault()\n\n let button = event.target\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON)\n }\n\n Button._jQueryInterface.call($(button), 'toggle')\n })\n .on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, (event) => {\n const button = $(event.target).closest(Selector.BUTTON)[0]\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface\n $.fn[NAME].Constructor = Button\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n }\n\n return Button\n\n})(jQuery)\n\nexport default Button\n"]} \ No newline at end of file
diff --git a/js/dist/carousel.js b/js/dist/carousel.js
index 7521844ea..18186bc13 100644
--- a/js/dist/carousel.js
+++ b/js/dist/carousel.js
@@ -6,7 +6,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): carousel.js
+ * Bootstrap (v4.0.0-alpha.6): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -20,7 +20,7 @@ var Carousel = function ($) {
*/
var NAME = 'carousel';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.carousel';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -28,6 +28,7 @@ var Carousel = function ($) {
var TRANSITION_DURATION = 600;
var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
+ var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
var Default = {
interval: 5000,
@@ -58,6 +59,7 @@ var Carousel = function ($) {
KEYDOWN: 'keydown' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY,
+ TOUCHEND: 'touchend' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
@@ -100,6 +102,8 @@ var Carousel = function ($) {
this._isPaused = false;
this._isSliding = false;
+ this.touchTimeout = null;
+
this._config = this._getConfig(config);
this._element = $(element)[0];
this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];
@@ -112,10 +116,9 @@ var Carousel = function ($) {
// public
Carousel.prototype.next = function next() {
- if (this._isSliding) {
- throw new Error('Carousel is sliding');
+ if (!this._isSliding) {
+ this._slide(Direction.NEXT);
}
- this._slide(Direction.NEXT);
};
Carousel.prototype.nextWhenVisible = function nextWhenVisible() {
@@ -126,10 +129,9 @@ var Carousel = function ($) {
};
Carousel.prototype.prev = function prev() {
- if (this._isSliding) {
- throw new Error('Carousel is sliding');
+ if (!this._isSliding) {
+ this._slide(Direction.PREV);
}
- this._slide(Direction.PREVIOUS);
};
Carousel.prototype.pause = function pause(event) {
@@ -185,7 +187,7 @@ var Carousel = function ($) {
return;
}
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;
+ var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
this._slide(direction, this._items[index]);
};
@@ -221,12 +223,30 @@ var Carousel = function ($) {
});
}
- if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
+ if (this._config.pause === 'hover') {
$(this._element).on(Event.MOUSEENTER, function (event) {
return _this2.pause(event);
}).on(Event.MOUSELEAVE, function (event) {
return _this2.cycle(event);
});
+ if ('ontouchstart' in document.documentElement) {
+ // if it's a touch-enabled device, mouseenter/leave are fired as
+ // part of the mouse compatibility events on first tap - the carousel
+ // would stop cycling until user tapped out of it;
+ // here, we listen for touchend, explicitly pause the carousel
+ // (as if it's the second time we tap on it, mouseenter compat event
+ // is NOT fired) and after a timeout (to allow for mouse compatibility
+ // events to fire) we explicitly restart cycling
+ $(this._element).on(Event.TOUCHEND, function () {
+ _this2.pause();
+ if (_this2.touchTimeout) {
+ clearTimeout(_this2.touchTimeout);
+ }
+ _this2.touchTimeout = setTimeout(function (event) {
+ return _this2.cycle(event);
+ }, TOUCHEVENT_COMPAT_WAIT + _this2._config.interval);
+ });
+ }
}
};
@@ -256,7 +276,7 @@ var Carousel = function ($) {
Carousel.prototype._getItemByDirection = function _getItemByDirection(direction, activeElement) {
var isNextDirection = direction === Direction.NEXT;
- var isPrevDirection = direction === Direction.PREVIOUS;
+ var isPrevDirection = direction === Direction.PREV;
var activeIndex = this._getItemIndex(activeElement);
var lastItemIndex = this._items.length - 1;
var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
@@ -265,16 +285,20 @@ var Carousel = function ($) {
return activeElement;
}
- var delta = direction === Direction.PREVIOUS ? -1 : 1;
+ var delta = direction === Direction.PREV ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
};
Carousel.prototype._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
+ var targetIndex = this._getItemIndex(relatedTarget);
+ var fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0]);
var slideEvent = $.Event(Event.SLIDE, {
relatedTarget: relatedTarget,
- direction: eventDirectionName
+ direction: eventDirectionName,
+ from: fromIndex,
+ to: targetIndex
});
$(this._element).trigger(slideEvent);
@@ -298,8 +322,9 @@ var Carousel = function ($) {
var _this3 = this;
var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
+ var activeElementIndex = this._getItemIndex(activeElement);
var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
-
+ var nextElementIndex = this._getItemIndex(nextElement);
var isCycling = Boolean(this._interval);
var directionalClassName = void 0;
@@ -341,7 +366,9 @@ var Carousel = function ($) {
var slidEvent = $.Event(Event.SLID, {
relatedTarget: nextElement,
- direction: eventDirectionName
+ direction: eventDirectionName,
+ from: activeElementIndex,
+ to: nextElementIndex
});
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {
@@ -483,4 +510,4 @@ var Carousel = function ($) {
return Carousel;
}(jQuery);
-//# sourceMappingURL=carousel.js.map
+//# sourceMappingURL=carousel.js.map \ No newline at end of file
diff --git a/js/dist/carousel.js.map b/js/dist/carousel.js.map
index f1adc4d0d..8cbfaa84d 100644
--- a/js/dist/carousel.js.map
+++ b/js/dist/carousel.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/carousel.js"],"names":["Carousel","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","Default","interval","keyboard","slide","pause","wrap","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","LOAD_DATA_API","CLICK_DATA_API","ClassName","CAROUSEL","ACTIVE","ITEM","Selector","ACTIVE_ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","element","config","_items","_interval","_activeElement","_isPaused","_isSliding","_config","_getConfig","_element","_indicatorsElement","find","_addEventListeners","next","Error","_slide","nextWhenVisible","document","hidden","prev","PREVIOUS","event","Util","supportsTransitionEnd","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","extend","typeCheckConfig","on","_keydown","documentElement","test","target","tagName","which","preventDefault","makeArray","parent","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","slideEvent","trigger","_setActiveIndicatorElement","removeClass","nextIndicator","children","addClass","nextElement","isCycling","Boolean","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","TRANSITION_END","setTimeout","emulateTransitionEnd","_jQueryInterface","each","data","action","undefined","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","getAttribute","call","window","$carousel","Constructor","noConflict","jQuery"],"mappings":"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","file":"carousel.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-alpha.5'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n next() {\n if (this._isSliding) {\n throw new Error('Carousel is sliding')\n }\n this._slide(Direction.NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n if (!document.hidden) {\n this.next()\n }\n }\n\n prev() {\n if (this._isSliding) {\n throw new Error('Carousel is sliding')\n }\n this._slide(Direction.PREVIOUS)\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREVIOUS\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover' &&\n !('ontouchstart' in document.documentElement)) {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREVIOUS\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREVIOUS ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (data[action] === undefined) {\n throw new Error(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = $.extend({}, $(target).data(), $(this).data())\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n\n})(jQuery)\n\nexport default Carousel\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/carousel.js"],"names":["Carousel","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","ARROW_LEFT_KEYCODE","ARROW_RIGHT_KEYCODE","TOUCHEVENT_COMPAT_WAIT","Default","interval","keyboard","slide","pause","wrap","DefaultType","Direction","NEXT","PREV","LEFT","RIGHT","Event","SLIDE","SLID","KEYDOWN","MOUSEENTER","MOUSELEAVE","TOUCHEND","LOAD_DATA_API","CLICK_DATA_API","ClassName","CAROUSEL","ACTIVE","ITEM","Selector","ACTIVE_ITEM","NEXT_PREV","INDICATORS","DATA_SLIDE","DATA_RIDE","element","config","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","_config","_getConfig","_element","_indicatorsElement","find","_addEventListeners","next","_slide","nextWhenVisible","document","hidden","prev","event","Util","supportsTransitionEnd","triggerTransitionEnd","cycle","clearInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","length","one","direction","dispose","off","removeData","extend","typeCheckConfig","on","_keydown","documentElement","clearTimeout","setTimeout","test","target","tagName","which","preventDefault","makeArray","parent","indexOf","_getItemByDirection","activeElement","isNextDirection","isPrevDirection","lastItemIndex","isGoingToWrap","delta","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","trigger","_setActiveIndicatorElement","removeClass","nextIndicator","children","addClass","activeElementIndex","nextElement","nextElementIndex","isCycling","Boolean","directionalClassName","orderClassName","hasClass","isDefaultPrevented","slidEvent","reflow","TRANSITION_END","emulateTransitionEnd","_jQueryInterface","each","data","action","undefined","Error","_dataApiClickHandler","selector","getSelectorFromElement","slideIndex","getAttribute","call","window","$carousel","Constructor","noConflict","jQuery"],"mappings":"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","file":"carousel.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Carousel = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'carousel'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.carousel'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\n const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\n const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\n const Default = {\n interval : 5000,\n keyboard : true,\n slide : false,\n pause : 'hover',\n wrap : true\n }\n\n const DefaultType = {\n interval : '(number|boolean)',\n keyboard : 'boolean',\n slide : '(boolean|string)',\n pause : '(string|boolean)',\n wrap : 'boolean'\n }\n\n const Direction = {\n NEXT : 'next',\n PREV : 'prev',\n LEFT : 'left',\n RIGHT : 'right'\n }\n\n const Event = {\n SLIDE : `slide${EVENT_KEY}`,\n SLID : `slid${EVENT_KEY}`,\n KEYDOWN : `keydown${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`,\n TOUCHEND : `touchend${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n CAROUSEL : 'carousel',\n ACTIVE : 'active',\n SLIDE : 'slide',\n RIGHT : 'carousel-item-right',\n LEFT : 'carousel-item-left',\n NEXT : 'carousel-item-next',\n PREV : 'carousel-item-prev',\n ITEM : 'carousel-item'\n }\n\n const Selector = {\n ACTIVE : '.active',\n ACTIVE_ITEM : '.active.carousel-item',\n ITEM : '.carousel-item',\n NEXT_PREV : '.carousel-item-next, .carousel-item-prev',\n INDICATORS : '.carousel-indicators',\n DATA_SLIDE : '[data-slide], [data-slide-to]',\n DATA_RIDE : '[data-ride=\"carousel\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Carousel {\n\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n\n this._isPaused = false\n this._isSliding = false\n\n this.touchTimeout = null\n\n this._config = this._getConfig(config)\n this._element = $(element)[0]\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT)\n }\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n if (!document.hidden) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] &&\n Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n Direction.NEXT :\n Direction.PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element)\n .on(Event.KEYDOWN, (event) => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(Event.MOUSEENTER, (event) => this.pause(event))\n .on(Event.MOUSELEAVE, (event) => this.cycle(event))\n if ('ontouchstart' in document.documentElement) {\n // if it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n $(this._element).on(Event.TOUCHEND, () => {\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n })\n }\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n return\n }\n }\n\n _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM))\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === Direction.NEXT\n const isPrevDirection = direction === Direction.PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === Direction.PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])\n const slideEvent = $.Event(Event.SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement)\n .find(Selector.ACTIVE)\n .removeClass(ClassName.ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE)\n }\n }\n }\n\n _slide(direction, element) {\n const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === Direction.NEXT) {\n directionalClassName = ClassName.LEFT\n orderClassName = ClassName.NEXT\n eventDirectionName = Direction.LEFT\n } else {\n directionalClassName = ClassName.RIGHT\n orderClassName = ClassName.PREV\n eventDirectionName = Direction.RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n\n const slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(ClassName.ACTIVE)\n\n $(activeElement).removeClass(`${ClassName.ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n\n })\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE)\n $(nextElement).addClass(ClassName.ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (typeof config === 'object') {\n $.extend(_config, config)\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (data[action] === undefined) {\n throw new Error(`No method named \"${action}\"`)\n }\n data[action]()\n } else if (_config.interval) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return\n }\n\n const config = $.extend({}, $(target).data(), $(this).data())\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler)\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_RIDE).each(function () {\n const $carousel = $(this)\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n })\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface\n $.fn[NAME].Constructor = Carousel\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n }\n\n return Carousel\n\n})(jQuery)\n\nexport default Carousel\n"]} \ No newline at end of file
diff --git a/js/dist/collapse.js b/js/dist/collapse.js
index 000c9256e..0e2bc75e2 100644
--- a/js/dist/collapse.js
+++ b/js/dist/collapse.js
@@ -6,7 +6,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): collapse.js
+ * Bootstrap (v4.0.0-alpha.6): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -20,7 +20,7 @@ var Collapse = function ($) {
*/
var NAME = 'collapse';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.collapse';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -58,7 +58,7 @@ var Collapse = function ($) {
};
var Selector = {
- ACTIVES: '.card > .show, .card > .collapsing',
+ ACTIVES: '.show, .collapsing',
DATA_TOGGLE: '[data-toggle="collapse"]'
};
@@ -103,11 +103,7 @@ var Collapse = function ($) {
Collapse.prototype.show = function show() {
var _this = this;
- if (this._isTransitioning) {
- throw new Error('Collapse is transitioning');
- }
-
- if ($(this._element).hasClass(ClassName.SHOW)) {
+ if (this._isTransitioning || $(this._element).hasClass(ClassName.SHOW)) {
return;
}
@@ -115,7 +111,7 @@ var Collapse = function ($) {
var activesData = void 0;
if (this._parent) {
- actives = $.makeArray($(this._parent).find(Selector.ACTIVES));
+ actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES));
if (!actives.length) {
actives = null;
}
@@ -146,7 +142,6 @@ var Collapse = function ($) {
$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);
this._element.style[dimension] = 0;
- this._element.setAttribute('aria-expanded', true);
if (this._triggerArray.length) {
$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);
@@ -180,11 +175,7 @@ var Collapse = function ($) {
Collapse.prototype.hide = function hide() {
var _this2 = this;
- if (this._isTransitioning) {
- throw new Error('Collapse is transitioning');
- }
-
- if (!$(this._element).hasClass(ClassName.SHOW)) {
+ if (this._isTransitioning || !$(this._element).hasClass(ClassName.SHOW)) {
return;
}
@@ -195,16 +186,13 @@ var Collapse = function ($) {
}
var dimension = this._getDimension();
- var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
- this._element.style[dimension] = this._element[offsetDimension] + 'px';
+ this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + 'px';
Util.reflow(this._element);
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
- this._element.setAttribute('aria-expanded', false);
-
if (this._triggerArray.length) {
$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
}
@@ -270,7 +258,6 @@ var Collapse = function ($) {
Collapse.prototype._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
var isOpen = $(element).hasClass(ClassName.SHOW);
- element.setAttribute('aria-expanded', isOpen);
if (triggerArray.length) {
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
@@ -331,7 +318,9 @@ var Collapse = function ($) {
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- event.preventDefault();
+ if (!/input|textarea/i.test(event.target.tagName)) {
+ event.preventDefault();
+ }
var target = Collapse._getTargetFromElement(this);
var data = $(target).data(DATA_KEY);
@@ -355,4 +344,4 @@ var Collapse = function ($) {
return Collapse;
}(jQuery);
-//# sourceMappingURL=collapse.js.map
+//# sourceMappingURL=collapse.js.map \ No newline at end of file
diff --git a/js/dist/collapse.js.map b/js/dist/collapse.js.map
index 806102727..5fa9f74fa 100644
--- a/js/dist/collapse.js.map
+++ b/js/dist/collapse.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/collapse.js"],"names":["Collapse","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","Default","toggle","parent","DefaultType","Event","SHOW","SHOWN","HIDE","HIDDEN","CLICK_DATA_API","ClassName","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","Selector","ACTIVES","DATA_TOGGLE","element","config","_isTransitioning","_element","_config","_getConfig","_triggerArray","makeArray","id","_parent","_getParent","_addAriaAndCollapsedClass","hasClass","hide","show","Error","actives","activesData","find","length","data","startEvent","trigger","isDefaultPrevented","_jQueryInterface","call","dimension","_getDimension","removeClass","addClass","style","setAttribute","attr","setTransitioning","complete","Util","supportsTransitionEnd","capitalizedDimension","toUpperCase","slice","scrollSize","one","TRANSITION_END","emulateTransitionEnd","offsetDimension","reflow","isTransitioning","dispose","removeData","extend","Boolean","typeCheckConfig","hasWidth","selector","each","i","_getTargetFromElement","triggerArray","isOpen","toggleClass","getSelectorFromElement","$this","test","undefined","document","on","event","preventDefault","target","Constructor","noConflict","jQuery"],"mappings":"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","file":"collapse.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0-alpha.5'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : 'string'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.card > .show, .card > .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning) {\n throw new Error('Collapse is transitioning')\n }\n\n if ($(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray($(this._parent).find(Selector.ACTIVES))\n if (!actives.length) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n this._element.setAttribute('aria-expanded', true)\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning) {\n throw new Error('Collapse is transitioning')\n }\n\n if (!$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n const offsetDimension = dimension === Dimension.WIDTH ?\n 'offsetWidth' : 'offsetHeight'\n\n this._element.style[dimension] = `${this._element[offsetDimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n this._element.setAttribute('aria-expanded', false)\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n config.toggle = Boolean(config.toggle) // coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n const parent = $(this._config.parent)[0]\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n element.setAttribute('aria-expanded', isOpen)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n\n // static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = $.extend(\n {},\n Default,\n $this.data(),\n typeof config === 'object' && config\n )\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n const target = Collapse._getTargetFromElement(this)\n const data = $(target).data(DATA_KEY)\n const config = data ? 'toggle' : $(this).data()\n\n Collapse._jQueryInterface.call($(target), config)\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n\n})(jQuery)\n\nexport default Collapse\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/collapse.js"],"names":["Collapse","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","Default","toggle","parent","DefaultType","Event","SHOW","SHOWN","HIDE","HIDDEN","CLICK_DATA_API","ClassName","COLLAPSE","COLLAPSING","COLLAPSED","Dimension","WIDTH","HEIGHT","Selector","ACTIVES","DATA_TOGGLE","element","config","_isTransitioning","_element","_config","_getConfig","_triggerArray","makeArray","id","_parent","_getParent","_addAriaAndCollapsedClass","hasClass","hide","show","actives","activesData","children","length","data","startEvent","trigger","isDefaultPrevented","_jQueryInterface","call","dimension","_getDimension","removeClass","addClass","style","attr","setTransitioning","complete","Util","supportsTransitionEnd","capitalizedDimension","toUpperCase","slice","scrollSize","one","TRANSITION_END","emulateTransitionEnd","getBoundingClientRect","reflow","isTransitioning","dispose","removeData","extend","Boolean","typeCheckConfig","hasWidth","selector","find","each","i","_getTargetFromElement","triggerArray","isOpen","toggleClass","getSelectorFromElement","$this","test","undefined","Error","document","on","event","target","tagName","preventDefault","Constructor","noConflict","jQuery"],"mappings":"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","file":"collapse.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Collapse = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'collapse'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.collapse'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 600\n\n const Default = {\n toggle : true,\n parent : ''\n }\n\n const DefaultType = {\n toggle : 'boolean',\n parent : 'string'\n }\n\n const Event = {\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SHOW : 'show',\n COLLAPSE : 'collapse',\n COLLAPSING : 'collapsing',\n COLLAPSED : 'collapsed'\n }\n\n const Dimension = {\n WIDTH : 'width',\n HEIGHT : 'height'\n }\n\n const Selector = {\n ACTIVES : '.show, .collapsing',\n DATA_TOGGLE : '[data-toggle=\"collapse\"]'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Collapse {\n\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = $.makeArray($(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle() {\n if ($(this._element).hasClass(ClassName.SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES))\n if (!actives.length) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(Event.SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(ClassName.COLLAPSE)\n .addClass(ClassName.COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(ClassName.COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .addClass(ClassName.SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(Event.SHOWN)\n }\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(ClassName.SHOW)) {\n return\n }\n\n const startEvent = $.Event(Event.HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(ClassName.COLLAPSING)\n .removeClass(ClassName.COLLAPSE)\n .removeClass(ClassName.SHOW)\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .addClass(ClassName.COLLAPSED)\n .attr('aria-expanded', false)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(ClassName.COLLAPSING)\n .addClass(ClassName.COLLAPSE)\n .trigger(Event.HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n if (!Util.supportsTransitionEnd()) {\n complete()\n return\n }\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n config.toggle = Boolean(config.toggle) // coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(Dimension.WIDTH)\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT\n }\n\n _getParent() {\n const parent = $(this._config.parent)[0]\n const selector =\n `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n\n $(parent).find(selector).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n const isOpen = $(element).hasClass(ClassName.SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(ClassName.COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n }\n\n\n // static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? $(selector)[0] : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n const _config = $.extend(\n {},\n Default,\n $this.data(),\n typeof config === 'object' && config\n )\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n if (!/input|textarea/i.test(event.target.tagName)) {\n event.preventDefault()\n }\n\n const target = Collapse._getTargetFromElement(this)\n const data = $(target).data(DATA_KEY)\n const config = data ? 'toggle' : $(this).data()\n\n Collapse._jQueryInterface.call($(target), config)\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface\n $.fn[NAME].Constructor = Collapse\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n }\n\n return Collapse\n\n})(jQuery)\n\nexport default Collapse\n"]} \ No newline at end of file
diff --git a/js/dist/dropdown.js b/js/dist/dropdown.js
index 1045b37d0..a2593e162 100644
--- a/js/dist/dropdown.js
+++ b/js/dist/dropdown.js
@@ -1,10 +1,12 @@
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): dropdown.js
+ * Bootstrap (v4.0.0-alpha.6): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -12,21 +14,32 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
var Dropdown = function ($) {
/**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+ if (typeof Popper === 'undefined') {
+ throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)');
+ }
+
+ /**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
+ var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
+ var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key
var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key
var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
+ var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + '|' + ARROW_DOWN_KEYCODE + '|' + ESCAPE_KEYCODE);
var Event = {
HIDE: 'hide' + EVENT_KEY,
@@ -35,23 +48,43 @@ var Dropdown = function ($) {
SHOWN: 'shown' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
- KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
+ KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY,
+ KEYUP_DATA_API: 'keyup' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
- BACKDROP: 'dropdown-backdrop',
DISABLED: 'disabled',
- SHOW: 'show'
+ SHOW: 'show',
+ DROPUP: 'dropup',
+ MENURIGHT: 'dropdown-menu-right',
+ MENULEFT: 'dropdown-menu-left'
};
var Selector = {
- BACKDROP: '.dropdown-backdrop',
DATA_TOGGLE: '[data-toggle="dropdown"]',
FORM_CHILD: '.dropdown form',
- ROLE_MENU: '[role="menu"]',
- ROLE_LISTBOX: '[role="listbox"]',
+ MENU: '.dropdown-menu',
NAVBAR_NAV: '.navbar-nav',
- VISIBLE_ITEMS: '[role="menu"] li:not(.disabled) a, ' + '[role="listbox"] li:not(.disabled) a'
+ VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled)'
+ };
+
+ var AttachmentMap = {
+ TOP: 'top-start',
+ TOPEND: 'top-end',
+ BOTTOM: 'bottom-start',
+ BOTTOMEND: 'bottom-end'
+ };
+
+ var Default = {
+ placement: AttachmentMap.BOTTOM,
+ offset: 0,
+ flip: true
+ };
+
+ var DefaultType = {
+ placement: 'string',
+ offset: '(number|string)',
+ flip: 'boolean'
};
/**
@@ -61,10 +94,13 @@ var Dropdown = function ($) {
*/
var Dropdown = function () {
- function Dropdown(element) {
+ function Dropdown(element, config) {
_classCallCheck(this, Dropdown);
this._element = element;
+ this._popper = null;
+ this._config = this._getConfig(config);
+ this._menu = this._getMenuElement();
this._addEventListeners();
}
@@ -74,58 +110,130 @@ var Dropdown = function ($) {
// public
Dropdown.prototype.toggle = function toggle() {
- if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
- return false;
+ if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
+ return;
}
- var parent = Dropdown._getParentFromElement(this);
- var isActive = $(parent).hasClass(ClassName.SHOW);
+ var parent = Dropdown._getParentFromElement(this._element);
+ var isActive = $(this._menu).hasClass(ClassName.SHOW);
Dropdown._clearMenus();
if (isActive) {
- return false;
- }
-
- if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
-
- // if mobile we use a backdrop because click events don't delegate
- var dropdown = document.createElement('div');
- dropdown.className = ClassName.BACKDROP;
- $(dropdown).insertBefore(this);
- $(dropdown).on('click', Dropdown._clearMenus);
+ return;
}
var relatedTarget = {
- relatedTarget: this
+ relatedTarget: this._element
};
var showEvent = $.Event(Event.SHOW, relatedTarget);
$(parent).trigger(showEvent);
if (showEvent.isDefaultPrevented()) {
- return false;
+ return;
}
- this.focus();
- this.setAttribute('aria-expanded', true);
+ var element = this._element;
+ // for dropup with alignment we use the parent as popper container
+ if ($(parent).hasClass(ClassName.DROPUP)) {
+ if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
+ element = parent;
+ }
+ }
+ this._popper = new Popper(element, this._menu, {
+ placement: this._getPlacement(),
+ modifiers: {
+ offset: {
+ offset: this._config.offset
+ },
+ flip: {
+ enabled: this._config.flip
+ }
+ }
+ });
+
+ // if this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+ if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
+ $('body').children().on('mouseover', null, $.noop);
+ }
- $(parent).toggleClass(ClassName.SHOW);
- $(parent).trigger($.Event(Event.SHOWN, relatedTarget));
+ this._element.focus();
+ this._element.setAttribute('aria-expanded', true);
- return false;
+ $(this._menu).toggleClass(ClassName.SHOW);
+ $(parent).toggleClass(ClassName.SHOW).trigger($.Event(Event.SHOWN, relatedTarget));
};
Dropdown.prototype.dispose = function dispose() {
$.removeData(this._element, DATA_KEY);
$(this._element).off(EVENT_KEY);
this._element = null;
+ this._menu = null;
+ if (this._popper !== null) {
+ this._popper.destroy();
+ }
+ this._popper = null;
+ };
+
+ Dropdown.prototype.update = function update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
};
// private
Dropdown.prototype._addEventListeners = function _addEventListeners() {
- $(this._element).on(Event.CLICK, this.toggle);
+ var _this = this;
+
+ $(this._element).on(Event.CLICK, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
+ _this.toggle();
+ });
+ };
+
+ Dropdown.prototype._getConfig = function _getConfig(config) {
+ var elementData = $(this._element).data();
+ if (elementData.placement !== undefined) {
+ elementData.placement = AttachmentMap[elementData.placement.toUpperCase()];
+ }
+
+ config = $.extend({}, this.constructor.Default, $(this._element).data(), config);
+
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
+
+ return config;
+ };
+
+ Dropdown.prototype._getMenuElement = function _getMenuElement() {
+ if (!this._menu) {
+ var parent = Dropdown._getParentFromElement(this._element);
+ this._menu = $(parent).find(Selector.MENU)[0];
+ }
+ return this._menu;
+ };
+
+ Dropdown.prototype._getPlacement = function _getPlacement() {
+ var $parentDropdown = $(this._element).parent();
+ var placement = this._config.placement;
+
+ // Handle dropup
+ if ($parentDropdown.hasClass(ClassName.DROPUP) || this._config.placement === AttachmentMap.TOP) {
+ placement = AttachmentMap.TOP;
+ if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.TOPEND;
+ }
+ } else {
+ if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.BOTTOMEND;
+ }
+ }
+ return placement;
};
// static
@@ -133,9 +241,10 @@ var Dropdown = function ($) {
Dropdown._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
+ var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' ? config : null;
if (!data) {
- data = new Dropdown(this);
+ data = new Dropdown(this, _config);
$(this).data(DATA_KEY, data);
}
@@ -143,34 +252,34 @@ var Dropdown = function ($) {
if (data[config] === undefined) {
throw new Error('No method named "' + config + '"');
}
- data[config].call(this);
+ data[config]();
}
});
};
Dropdown._clearMenus = function _clearMenus(event) {
- if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
+ if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
return;
}
- var backdrop = $(Selector.BACKDROP)[0];
- if (backdrop) {
- backdrop.parentNode.removeChild(backdrop);
- }
-
var toggles = $.makeArray($(Selector.DATA_TOGGLE));
-
for (var i = 0; i < toggles.length; i++) {
var parent = Dropdown._getParentFromElement(toggles[i]);
+ var context = $(toggles[i]).data(DATA_KEY);
var relatedTarget = {
relatedTarget: toggles[i]
};
+ if (!context) {
+ continue;
+ }
+
+ var dropdownMenu = context._menu;
if (!$(parent).hasClass(ClassName.SHOW)) {
continue;
}
- if (event && event.type === 'click' && /input|textarea/i.test(event.target.tagName) && $.contains(parent, event.target)) {
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
continue;
}
@@ -180,8 +289,15 @@ var Dropdown = function ($) {
continue;
}
+ // if this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().off('mouseover', null, $.noop);
+ }
+
toggles[i].setAttribute('aria-expanded', 'false');
+ $(dropdownMenu).removeClass(ClassName.SHOW);
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
}
};
@@ -198,7 +314,7 @@ var Dropdown = function ($) {
};
Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {
- if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {
+ if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE || /input|textarea/i.test(event.target.tagName)) {
return;
}
@@ -212,7 +328,7 @@ var Dropdown = function ($) {
var parent = Dropdown._getParentFromElement(this);
var isActive = $(parent).hasClass(ClassName.SHOW);
- if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {
+ if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
if (event.which === ESCAPE_KEYCODE) {
var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];
@@ -253,6 +369,16 @@ var Dropdown = function ($) {
get: function get() {
return VERSION;
}
+ }, {
+ key: 'Default',
+ get: function get() {
+ return Default;
+ }
+ }, {
+ key: 'DefaultType',
+ get: function get() {
+ return DefaultType;
+ }
}]);
return Dropdown;
@@ -264,7 +390,11 @@ var Dropdown = function ($) {
* ------------------------------------------------------------------------
*/
- $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
+ $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API + ' ' + Event.KEYUP_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault();
+ event.stopPropagation();
+ Dropdown._jQueryInterface.call($(this), 'toggle');
+ }).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
e.stopPropagation();
});
@@ -282,5 +412,5 @@ var Dropdown = function ($) {
};
return Dropdown;
-}(jQuery);
-//# sourceMappingURL=dropdown.js.map
+}(jQuery); /* global Popper */
+//# sourceMappingURL=dropdown.js.map \ No newline at end of file
diff --git a/js/dist/dropdown.js.map b/js/dist/dropdown.js.map
index 49230c83e..bce6f0161 100644
--- a/js/dist/dropdown.js.map
+++ b/js/dist/dropdown.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/dropdown.js"],"names":["Dropdown","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ESCAPE_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK","CLICK_DATA_API","KEYDOWN_DATA_API","ClassName","BACKDROP","DISABLED","Selector","DATA_TOGGLE","FORM_CHILD","ROLE_MENU","ROLE_LISTBOX","NAVBAR_NAV","VISIBLE_ITEMS","element","_element","_addEventListeners","toggle","disabled","hasClass","parent","_getParentFromElement","isActive","_clearMenus","document","documentElement","closest","length","dropdown","createElement","className","insertBefore","on","relatedTarget","showEvent","trigger","isDefaultPrevented","focus","setAttribute","toggleClass","dispose","removeData","off","_jQueryInterface","config","each","data","undefined","Error","call","event","which","backdrop","parentNode","removeChild","toggles","makeArray","i","type","test","target","tagName","contains","hideEvent","removeClass","selector","Util","getSelectorFromElement","_dataApiKeydownHandler","preventDefault","stopPropagation","find","items","get","index","indexOf","prototype","e","Constructor","noConflict","jQuery"],"mappings":"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","file":"dropdown.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-alpha.5'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n BACKDROP : 'dropdown-backdrop',\n DISABLED : 'disabled',\n SHOW : 'show'\n }\n\n const Selector = {\n BACKDROP : '.dropdown-backdrop',\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n ROLE_MENU : '[role=\"menu\"]',\n ROLE_LISTBOX : '[role=\"listbox\"]',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '[role=\"menu\"] li:not(.disabled) a, '\n + '[role=\"listbox\"] li:not(.disabled) a'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n\n constructor(element) {\n this._element = element\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n toggle() {\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return false\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return false\n }\n\n if ('ontouchstart' in document.documentElement &&\n !$(parent).closest(Selector.NAVBAR_NAV).length) {\n\n // if mobile we use a backdrop because click events don't delegate\n const dropdown = document.createElement('div')\n dropdown.className = ClassName.BACKDROP\n $(dropdown).insertBefore(this)\n $(dropdown).on('click', Dropdown._clearMenus)\n }\n\n const relatedTarget = {\n relatedTarget : this\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return false\n }\n\n this.focus()\n this.setAttribute('aria-expanded', true)\n\n $(parent).toggleClass(ClassName.SHOW)\n $(parent).trigger($.Event(Event.SHOWN, relatedTarget))\n\n return false\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n }\n\n\n // private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, this.toggle)\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Dropdown(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config].call(this)\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {\n return\n }\n\n const backdrop = $(Selector.BACKDROP)[0]\n if (backdrop) {\n backdrop.parentNode.removeChild(backdrop)\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const relatedTarget = {\n relatedTarget : toggles[i]\n }\n\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n static _dataApiKeydownHandler(event) {\n if (!/(38|40|27|32)/.test(event.which) ||\n /input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && event.which !== ESCAPE_KEYCODE ||\n isActive && event.which === ESCAPE_KEYCODE) {\n\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler)\n .on(Event.CLICK_DATA_API, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle)\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n\n})(jQuery)\n\nexport default Dropdown\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/dropdown.js"],"names":["Dropdown","$","Popper","Error","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","ESCAPE_KEYCODE","SPACE_KEYCODE","TAB_KEYCODE","ARROW_UP_KEYCODE","ARROW_DOWN_KEYCODE","RIGHT_MOUSE_BUTTON_WHICH","REGEXP_KEYDOWN","RegExp","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK","CLICK_DATA_API","KEYDOWN_DATA_API","KEYUP_DATA_API","ClassName","DISABLED","DROPUP","MENURIGHT","MENULEFT","Selector","DATA_TOGGLE","FORM_CHILD","MENU","NAVBAR_NAV","VISIBLE_ITEMS","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","Default","placement","offset","flip","DefaultType","element","config","_element","_popper","_config","_getConfig","_menu","_getMenuElement","_addEventListeners","toggle","disabled","hasClass","parent","_getParentFromElement","isActive","_clearMenus","relatedTarget","showEvent","trigger","isDefaultPrevented","_getPlacement","modifiers","enabled","document","documentElement","closest","length","children","on","noop","focus","setAttribute","toggleClass","dispose","removeData","off","destroy","update","scheduleUpdate","event","preventDefault","stopPropagation","elementData","data","undefined","toUpperCase","extend","constructor","Util","typeCheckConfig","find","$parentDropdown","_jQueryInterface","each","which","type","toggles","makeArray","i","context","dropdownMenu","test","target","tagName","contains","hideEvent","removeClass","selector","getSelectorFromElement","parentNode","_dataApiKeydownHandler","items","get","index","indexOf","call","e","Constructor","noConflict","jQuery"],"mappings":"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","file":"dropdown.js","sourcesContent":["/* global Popper */\n\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Dropdown = (($) => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'dropdown'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\n const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\n const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\n const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\n const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\n const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DISABLED : 'disabled',\n SHOW : 'show',\n DROPUP : 'dropup',\n MENURIGHT : 'dropdown-menu-right',\n MENULEFT : 'dropdown-menu-left'\n }\n\n const Selector = {\n DATA_TOGGLE : '[data-toggle=\"dropdown\"]',\n FORM_CHILD : '.dropdown form',\n MENU : '.dropdown-menu',\n NAVBAR_NAV : '.navbar-nav',\n VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'\n }\n\n const AttachmentMap = {\n TOP : 'top-start',\n TOPEND : 'top-end',\n BOTTOM : 'bottom-start',\n BOTTOMEND : 'bottom-end'\n }\n\n const Default = {\n placement : AttachmentMap.BOTTOM,\n offset : 0,\n flip : true\n }\n\n const DefaultType = {\n placement : 'string',\n offset : '(number|string)',\n flip : 'boolean'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Dropdown {\n\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n\n this._addEventListeners()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this._element)\n const isActive = $(this._menu).hasClass(ClassName.SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n const relatedTarget = {\n relatedTarget : this._element\n }\n const showEvent = $.Event(Event.SHOW, relatedTarget)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n let element = this._element\n // for dropup with alignment we use the parent as popper container\n if ($(parent).hasClass(ClassName.DROPUP)) {\n if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {\n element = parent\n }\n }\n this._popper = new Popper(element, this._menu, {\n placement : this._getPlacement(),\n modifiers : {\n offset : {\n offset : this._config.offset\n },\n flip : {\n enabled : this._config.flip\n }\n }\n })\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !$(parent).closest(Selector.NAVBAR_NAV).length) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(ClassName.SHOW)\n $(parent)\n .toggleClass(ClassName.SHOW)\n .trigger($.Event(Event.SHOWN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n this._popper = null\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // private\n\n _addEventListeners() {\n $(this._element).on(Event.CLICK, (event) => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n const elementData = $(this._element).data()\n if (elementData.placement !== undefined) {\n elementData.placement = AttachmentMap[elementData.placement.toUpperCase()]\n }\n\n config = $.extend(\n {},\n this.constructor.Default,\n $(this._element).data(),\n config\n )\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n this._menu = $(parent).find(Selector.MENU)[0]\n }\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element).parent()\n let placement = this._config.placement\n\n // Handle dropup\n if ($parentDropdown.hasClass(ClassName.DROPUP) || this._config.placement === AttachmentMap.TOP) {\n placement = AttachmentMap.TOP\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.TOPEND\n }\n }\n else {\n if ($(this._menu).hasClass(ClassName.MENURIGHT)) {\n placement = AttachmentMap.BOTTOMEND\n }\n }\n return placement\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = $.makeArray($(Selector.DATA_TOGGLE))\n for (let i = 0; i < toggles.length; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget : toggles[i]\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(ClassName.SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)\n && $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(Event.HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n $(dropdownMenu).removeClass(ClassName.SHOW)\n $(parent)\n .removeClass(ClassName.SHOW)\n .trigger($.Event(Event.HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = $(selector)[0]\n }\n\n return parent || element.parentNode\n }\n\n static _dataApiKeydownHandler(event) {\n if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||\n /input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(ClassName.SHOW)\n\n if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||\n isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n\n if (event.which === ESCAPE_KEYCODE) {\n const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]\n $(toggle).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = $(parent).find(Selector.VISIBLE_ITEMS).get()\n\n if (!items.length) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)\n .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {\n e.stopPropagation()\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n\n})(jQuery)\n\nexport default Dropdown\n"]} \ No newline at end of file
diff --git a/js/dist/modal.js b/js/dist/modal.js
index 8a778c48b..563d8f573 100644
--- a/js/dist/modal.js
+++ b/js/dist/modal.js
@@ -6,7 +6,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): modal.js
+ * Bootstrap (v4.0.0-alpha.6): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -20,7 +20,7 @@ var Modal = function ($) {
*/
var NAME = 'modal';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.modal';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -69,7 +69,8 @@ var Modal = function ($) {
DIALOG: '.modal-dialog',
DATA_TOGGLE: '[data-toggle="modal"]',
DATA_DISMISS: '[data-dismiss="modal"]',
- FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+ NAVBAR_TOGGLER: '.navbar-toggler'
};
/**
@@ -89,7 +90,6 @@ var Modal = function ($) {
this._isShown = false;
this._isBodyOverflowing = false;
this._ignoreBackdropClick = false;
- this._isTransitioning = false;
this._originalBodyPadding = 0;
this._scrollbarWidth = 0;
}
@@ -106,12 +106,13 @@ var Modal = function ($) {
var _this = this;
if (this._isTransitioning) {
- throw new Error('Modal is transitioning');
+ return;
}
if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
this._isTransitioning = true;
}
+
var showEvent = $.Event(Event.SHOW, {
relatedTarget: relatedTarget
});
@@ -156,16 +157,18 @@ var Modal = function ($) {
event.preventDefault();
}
- if (this._isTransitioning) {
- throw new Error('Modal is transitioning');
+ if (this._isTransitioning || !this._isShown) {
+ return;
}
var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);
+
if (transition) {
this._isTransitioning = true;
}
var hideEvent = $.Event(Event.HIDE);
+
$(this._element).trigger(hideEvent);
if (!this._isShown || hideEvent.isDefaultPrevented()) {
@@ -185,6 +188,7 @@ var Modal = function ($) {
$(this._dialog).off(Event.MOUSEDOWN_DISMISS);
if (transition) {
+
$(this._element).one(Util.TRANSITION_END, function (event) {
return _this2._hideModal(event);
}).emulateTransitionEnd(TRANSITION_DURATION);
@@ -205,10 +209,13 @@ var Modal = function ($) {
this._isShown = null;
this._isBodyOverflowing = null;
this._ignoreBackdropClick = null;
- this._originalBodyPadding = null;
this._scrollbarWidth = null;
};
+ Modal.prototype.handleUpdate = function handleUpdate() {
+ this._adjustDialog();
+ };
+
// private
Modal.prototype._getConfig = function _getConfig(config) {
@@ -277,6 +284,7 @@ var Modal = function ($) {
if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
if (event.which === ESCAPE_KEYCODE) {
+ event.preventDefault();
_this5.hide();
}
});
@@ -290,7 +298,7 @@ var Modal = function ($) {
if (this._isShown) {
$(window).on(Event.RESIZE, function (event) {
- return _this6._handleUpdate(event);
+ return _this6.handleUpdate(event);
});
} else {
$(window).off(Event.RESIZE);
@@ -301,7 +309,7 @@ var Modal = function ($) {
var _this7 = this;
this._element.style.display = 'none';
- this._element.setAttribute('aria-hidden', 'true');
+ this._element.setAttribute('aria-hidden', true);
this._isTransitioning = false;
this._showBackdrop(function () {
$(document.body).removeClass(ClassName.OPEN);
@@ -391,10 +399,6 @@ var Modal = function ($) {
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
- Modal.prototype._handleUpdate = function _handleUpdate() {
- this._adjustDialog();
- };
-
Modal.prototype._adjustDialog = function _adjustDialog() {
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
@@ -418,17 +422,55 @@ var Modal = function ($) {
};
Modal.prototype._setScrollbar = function _setScrollbar() {
- var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);
-
- this._originalBodyPadding = document.body.style.paddingRight || '';
+ var _this9 = this;
if (this._isBodyOverflowing) {
- document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';
+ // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+ // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+
+ // Adjust fixed content padding
+ $(Selector.FIXED_CONTENT).each(function (index, element) {
+ var actualPadding = $(element)[0].style.paddingRight;
+ var calculatedPadding = $(element).css('padding-right');
+ $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + 'px');
+ });
+
+ // Adjust navbar-toggler margin
+ $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var actualMargin = $(element)[0].style.marginRight;
+ var calculatedMargin = $(element).css('margin-right');
+ $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) + _this9._scrollbarWidth + 'px');
+ });
+
+ // Adjust body padding
+ var actualPadding = document.body.style.paddingRight;
+ var calculatedPadding = $('body').css('padding-right');
+ $('body').data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + 'px');
}
};
Modal.prototype._resetScrollbar = function _resetScrollbar() {
- document.body.style.paddingRight = this._originalBodyPadding;
+ // Restore fixed content padding
+ $(Selector.FIXED_CONTENT).each(function (index, element) {
+ var padding = $(element).data('padding-right');
+ if (typeof padding !== 'undefined') {
+ $(element).css('padding-right', padding).removeData('padding-right');
+ }
+ });
+
+ // Restore navbar-toggler margin
+ $(Selector.NAVBAR_TOGGLER).each(function (index, element) {
+ var margin = $(element).data('margin-right');
+ if (typeof margin !== 'undefined') {
+ $(element).css('margin-right', margin).removeData('margin-right');
+ }
+ });
+
+ // Restore body padding
+ var padding = $('body').data('padding-right');
+ if (typeof padding !== 'undefined') {
+ $('body').css('padding-right', padding).removeData('padding-right');
+ }
};
Modal.prototype._getScrollbarWidth = function _getScrollbarWidth() {
@@ -436,7 +478,7 @@ var Modal = function ($) {
var scrollDiv = document.createElement('div');
scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
document.body.appendChild(scrollDiv);
- var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
};
@@ -486,7 +528,7 @@ var Modal = function ($) {
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- var _this9 = this;
+ var _this10 = this;
var target = void 0;
var selector = Util.getSelectorFromElement(this);
@@ -508,8 +550,8 @@ var Modal = function ($) {
}
$target.one(Event.HIDDEN, function () {
- if ($(_this9).is(':visible')) {
- _this9.focus();
+ if ($(_this10).is(':visible')) {
+ _this10.focus();
}
});
});
@@ -532,4 +574,4 @@ var Modal = function ($) {
return Modal;
}(jQuery);
-//# sourceMappingURL=modal.js.map
+//# sourceMappingURL=modal.js.map \ No newline at end of file
diff --git a/js/dist/modal.js.map b/js/dist/modal.js.map
index d70a866c1..2261a4542 100644
--- a/js/dist/modal.js.map
+++ b/js/dist/modal.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/modal.js"],"names":["Modal","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","Selector","DIALOG","DATA_TOGGLE","DATA_DISMISS","FIXED_CONTENT","element","config","_config","_getConfig","_element","_dialog","find","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_isTransitioning","_originalBodyPadding","_scrollbarWidth","toggle","relatedTarget","hide","Error","Util","supportsTransitionEnd","hasClass","showEvent","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","document","body","addClass","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","transition","hideEvent","off","removeClass","TRANSITION_END","_hideModal","emulateTransitionEnd","dispose","removeData","window","extend","typeCheckConfig","parentNode","nodeType","Node","ELEMENT_NODE","appendChild","style","display","removeAttribute","scrollTop","reflow","_enforceFocus","shownEvent","transitionComplete","has","length","which","_handleUpdate","setAttribute","_resetAdjustments","_resetScrollbar","_removeBackdrop","remove","callback","animate","doAnimate","createElement","className","appendTo","currentTarget","callbackRemove","_adjustDialog","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","clientWidth","innerWidth","_getScrollbarWidth","bodyPadding","parseInt","css","scrollDiv","scrollbarWidth","offsetWidth","removeChild","_jQueryInterface","each","data","undefined","selector","getSelectorFromElement","tagName","$target","call","Constructor","noConflict","jQuery"],"mappings":";;;;;;AAGA;;;;;;;AAOA,IAAMA,QAAS,UAACC,CAAD,EAAO;;AAGpB;;;;;;AAMA,MAAMC,OAA+B,OAArC;AACA,MAAMC,UAA+B,eAArC;AACA,MAAMC,WAA+B,UAArC;AACA,MAAMC,kBAAmCD,QAAzC;AACA,MAAME,eAA+B,WAArC;AACA,MAAMC,qBAA+BN,EAAEO,EAAF,CAAKN,IAAL,CAArC;AACA,MAAMO,sBAA+B,GAArC;AACA,MAAMC,+BAA+B,GAArC;AACA,MAAMC,iBAA+B,EAArC,CAjBoB,CAiBoB;;AAExC,MAAMC,UAAU;AACdC,cAAW,IADG;AAEdC,cAAW,IAFG;AAGdC,WAAW,IAHG;AAIdC,UAAW;AAJG,GAAhB;;AAOA,MAAMC,cAAc;AAClBJ,cAAW,kBADO;AAElBC,cAAW,SAFO;AAGlBC,WAAW,SAHO;AAIlBC,UAAW;AAJO,GAApB;;AAOA,MAAME,QAAQ;AACZC,mBAA2Bd,SADf;AAEZe,uBAA6Bf,SAFjB;AAGZgB,mBAA2BhB,SAHf;AAIZiB,qBAA4BjB,SAJhB;AAKZkB,yBAA8BlB,SALlB;AAMZmB,uBAA6BnB,SANjB;AAOZoB,qCAAoCpB,SAPxB;AAQZqB,yCAAsCrB,SAR1B;AASZsB,yCAAsCtB,SAT1B;AAUZuB,6CAAwCvB,SAV5B;AAWZwB,8BAA4BxB,SAA5B,GAAwCC;AAX5B,GAAd;;AAcA,MAAMwB,YAAY;AAChBC,wBAAqB,yBADL;AAEhBC,cAAqB,gBAFL;AAGhBC,UAAqB,YAHL;AAIhBC,UAAqB,MAJL;AAKhBb,UAAqB;AALL,GAAlB;;AAQA,MAAMc,WAAW;AACfC,YAAqB,eADN;AAEfC,iBAAqB,uBAFN;AAGfC,kBAAqB,wBAHN;AAIfC,mBAAqB;AAJN,GAAjB;;AAQA;;;;;;AA/DoB,MAqEdvC,KArEc;AAuElB,mBAAYwC,OAAZ,EAAqBC,MAArB,EAA6B;AAAA;;AAC3B,WAAKC,OAAL,GAA4B,KAAKC,UAAL,CAAgBF,MAAhB,CAA5B;AACA,WAAKG,QAAL,GAA4BJ,OAA5B;AACA,WAAKK,OAAL,GAA4B5C,EAAEuC,OAAF,EAAWM,IAAX,CAAgBX,SAASC,MAAzB,EAAiC,CAAjC,CAA5B;AACA,WAAKW,SAAL,GAA4B,IAA5B;AACA,WAAKC,QAAL,GAA4B,KAA5B;AACA,WAAKC,kBAAL,GAA4B,KAA5B;AACA,WAAKC,oBAAL,GAA4B,KAA5B;AACA,WAAKC,gBAAL,GAA4B,KAA5B;AACA,WAAKC,oBAAL,GAA4B,CAA5B;AACA,WAAKC,eAAL,GAA4B,CAA5B;AACD;;AAGD;;AAWA;;AAhGkB,oBAkGlBC,MAlGkB,mBAkGXC,aAlGW,EAkGI;AACpB,aAAO,KAAKP,QAAL,GAAgB,KAAKQ,IAAL,EAAhB,GAA8B,KAAKxC,IAAL,CAAUuC,aAAV,CAArC;AACD,KApGiB;;AAAA,oBAsGlBvC,IAtGkB,iBAsGbuC,aAtGa,EAsGE;AAAA;;AAClB,UAAI,KAAKJ,gBAAT,EAA2B;AACzB,cAAM,IAAIM,KAAJ,CAAU,wBAAV,CAAN;AACD;;AAED,UAAIC,KAAKC,qBAAL,MACF1D,EAAE,KAAK2C,QAAP,EAAiBgB,QAAjB,CAA0B9B,UAAUI,IAApC,CADF,EAC6C;AAC3C,aAAKiB,gBAAL,GAAwB,IAAxB;AACD;AACD,UAAMU,YAAY5D,EAAEiB,KAAF,CAAQA,MAAMG,IAAd,EAAoB;AACpCkC;AADoC,OAApB,CAAlB;;AAIAtD,QAAE,KAAK2C,QAAP,EAAiBkB,OAAjB,CAAyBD,SAAzB;;AAEA,UAAI,KAAKb,QAAL,IAAiBa,UAAUE,kBAAV,EAArB,EAAqD;AACnD;AACD;;AAED,WAAKf,QAAL,GAAgB,IAAhB;;AAEA,WAAKgB,eAAL;AACA,WAAKC,aAAL;;AAEAhE,QAAEiE,SAASC,IAAX,EAAiBC,QAAjB,CAA0BtC,UAAUG,IAApC;;AAEA,WAAKoC,eAAL;AACA,WAAKC,eAAL;;AAEArE,QAAE,KAAK2C,QAAP,EAAiB2B,EAAjB,CACErD,MAAMO,aADR,EAEEU,SAASG,YAFX,EAGE,UAACkC,KAAD;AAAA,eAAW,MAAKhB,IAAL,CAAUgB,KAAV,CAAX;AAAA,OAHF;;AAMAvE,QAAE,KAAK4C,OAAP,EAAgB0B,EAAhB,CAAmBrD,MAAMU,iBAAzB,EAA4C,YAAM;AAChD3B,UAAE,MAAK2C,QAAP,EAAiB6B,GAAjB,CAAqBvD,MAAMS,eAA3B,EAA4C,UAAC6C,KAAD,EAAW;AACrD,cAAIvE,EAAEuE,MAAME,MAAR,EAAgBC,EAAhB,CAAmB,MAAK/B,QAAxB,CAAJ,EAAuC;AACrC,kBAAKM,oBAAL,GAA4B,IAA5B;AACD;AACF,SAJD;AAKD,OAND;;AAQA,WAAK0B,aAAL,CAAmB;AAAA,eAAM,MAAKC,YAAL,CAAkBtB,aAAlB,CAAN;AAAA,OAAnB;AACD,KAlJiB;;AAAA,oBAoJlBC,IApJkB,iBAoJbgB,KApJa,EAoJN;AAAA;;AACV,UAAIA,KAAJ,EAAW;AACTA,cAAMM,cAAN;AACD;;AAED,UAAI,KAAK3B,gBAAT,EAA2B;AACzB,cAAM,IAAIM,KAAJ,CAAU,wBAAV,CAAN;AACD;;AAED,UAAMsB,aAAarB,KAAKC,qBAAL,MACjB1D,EAAE,KAAK2C,QAAP,EAAiBgB,QAAjB,CAA0B9B,UAAUI,IAApC,CADF;AAEA,UAAI6C,UAAJ,EAAgB;AACd,aAAK5B,gBAAL,GAAwB,IAAxB;AACD;;AAED,UAAM6B,YAAY/E,EAAEiB,KAAF,CAAQA,MAAMC,IAAd,CAAlB;AACAlB,QAAE,KAAK2C,QAAP,EAAiBkB,OAAjB,CAAyBkB,SAAzB;;AAEA,UAAI,CAAC,KAAKhC,QAAN,IAAkBgC,UAAUjB,kBAAV,EAAtB,EAAsD;AACpD;AACD;;AAED,WAAKf,QAAL,GAAgB,KAAhB;;AAEA,WAAKqB,eAAL;AACA,WAAKC,eAAL;;AAEArE,QAAEiE,QAAF,EAAYe,GAAZ,CAAgB/D,MAAMK,OAAtB;;AAEAtB,QAAE,KAAK2C,QAAP,EAAiBsC,WAAjB,CAA6BpD,UAAUT,IAAvC;;AAEApB,QAAE,KAAK2C,QAAP,EAAiBqC,GAAjB,CAAqB/D,MAAMO,aAA3B;AACAxB,QAAE,KAAK4C,OAAP,EAAgBoC,GAAhB,CAAoB/D,MAAMU,iBAA1B;;AAEA,UAAImD,UAAJ,EAAgB;AACd9E,UAAE,KAAK2C,QAAP,EACG6B,GADH,CACOf,KAAKyB,cADZ,EAC4B,UAACX,KAAD;AAAA,iBAAW,OAAKY,UAAL,CAAgBZ,KAAhB,CAAX;AAAA,SAD5B,EAEGa,oBAFH,CAEwB5E,mBAFxB;AAGD,OAJD,MAIO;AACL,aAAK2E,UAAL;AACD;AACF,KA7LiB;;AAAA,oBA+LlBE,OA/LkB,sBA+LR;AACRrF,QAAEsF,UAAF,CAAa,KAAK3C,QAAlB,EAA4BxC,QAA5B;;AAEAH,QAAEuF,MAAF,EAAUtB,QAAV,EAAoB,KAAKtB,QAAzB,EAAmC,KAAKG,SAAxC,EAAmDkC,GAAnD,CAAuD5E,SAAvD;;AAEA,WAAKqC,OAAL,GAA4B,IAA5B;AACA,WAAKE,QAAL,GAA4B,IAA5B;AACA,WAAKC,OAAL,GAA4B,IAA5B;AACA,WAAKE,SAAL,GAA4B,IAA5B;AACA,WAAKC,QAAL,GAA4B,IAA5B;AACA,WAAKC,kBAAL,GAA4B,IAA5B;AACA,WAAKC,oBAAL,GAA4B,IAA5B;AACA,WAAKE,oBAAL,GAA4B,IAA5B;AACA,WAAKC,eAAL,GAA4B,IAA5B;AACD,KA7MiB;;AAgNlB;;AAhNkB,oBAkNlBV,UAlNkB,uBAkNPF,MAlNO,EAkNC;AACjBA,eAASxC,EAAEwF,MAAF,CAAS,EAAT,EAAa7E,OAAb,EAAsB6B,MAAtB,CAAT;AACAiB,WAAKgC,eAAL,CAAqBxF,IAArB,EAA2BuC,MAA3B,EAAmCxB,WAAnC;AACA,aAAOwB,MAAP;AACD,KAtNiB;;AAAA,oBAwNlBoC,YAxNkB,yBAwNLtB,aAxNK,EAwNU;AAAA;;AAC1B,UAAMwB,aAAarB,KAAKC,qBAAL,MACjB1D,EAAE,KAAK2C,QAAP,EAAiBgB,QAAjB,CAA0B9B,UAAUI,IAApC,CADF;;AAGA,UAAI,CAAC,KAAKU,QAAL,CAAc+C,UAAf,IACD,KAAK/C,QAAL,CAAc+C,UAAd,CAAyBC,QAAzB,KAAsCC,KAAKC,YAD9C,EAC4D;AAC1D;AACA5B,iBAASC,IAAT,CAAc4B,WAAd,CAA0B,KAAKnD,QAA/B;AACD;;AAED,WAAKA,QAAL,CAAcoD,KAAd,CAAoBC,OAApB,GAA8B,OAA9B;AACA,WAAKrD,QAAL,CAAcsD,eAAd,CAA8B,aAA9B;AACA,WAAKtD,QAAL,CAAcuD,SAAd,GAA0B,CAA1B;;AAEA,UAAIpB,UAAJ,EAAgB;AACdrB,aAAK0C,MAAL,CAAY,KAAKxD,QAAjB;AACD;;AAED3C,QAAE,KAAK2C,QAAP,EAAiBwB,QAAjB,CAA0BtC,UAAUT,IAApC;;AAEA,UAAI,KAAKqB,OAAL,CAAa3B,KAAjB,EAAwB;AACtB,aAAKsF,aAAL;AACD;;AAED,UAAMC,aAAarG,EAAEiB,KAAF,CAAQA,MAAMI,KAAd,EAAqB;AACtCiC;AADsC,OAArB,CAAnB;;AAIA,UAAMgD,qBAAqB,SAArBA,kBAAqB,GAAM;AAC/B,YAAI,OAAK7D,OAAL,CAAa3B,KAAjB,EAAwB;AACtB,iBAAK6B,QAAL,CAAc7B,KAAd;AACD;AACD,eAAKoC,gBAAL,GAAwB,KAAxB;AACAlD,UAAE,OAAK2C,QAAP,EAAiBkB,OAAjB,CAAyBwC,UAAzB;AACD,OAND;;AAQA,UAAIvB,UAAJ,EAAgB;AACd9E,UAAE,KAAK4C,OAAP,EACG4B,GADH,CACOf,KAAKyB,cADZ,EAC4BoB,kBAD5B,EAEGlB,oBAFH,CAEwB5E,mBAFxB;AAGD,OAJD,MAIO;AACL8F;AACD;AACF,KAnQiB;;AAAA,oBAqQlBF,aArQkB,4BAqQF;AAAA;;AACdpG,QAAEiE,QAAF,EACGe,GADH,CACO/D,MAAMK,OADb,EACsB;AADtB,OAEGgD,EAFH,CAEMrD,MAAMK,OAFZ,EAEqB,UAACiD,KAAD,EAAW;AAC5B,YAAIN,aAAaM,MAAME,MAAnB,IACA,OAAK9B,QAAL,KAAkB4B,MAAME,MADxB,IAEA,CAACzE,EAAE,OAAK2C,QAAP,EAAiB4D,GAAjB,CAAqBhC,MAAME,MAA3B,EAAmC+B,MAFxC,EAEgD;AAC9C,iBAAK7D,QAAL,CAAc7B,KAAd;AACD;AACF,OARH;AASD,KA/QiB;;AAAA,oBAiRlBsD,eAjRkB,8BAiRA;AAAA;;AAChB,UAAI,KAAKrB,QAAL,IAAiB,KAAKN,OAAL,CAAa5B,QAAlC,EAA4C;AAC1Cb,UAAE,KAAK2C,QAAP,EAAiB2B,EAAjB,CAAoBrD,MAAMQ,eAA1B,EAA2C,UAAC8C,KAAD,EAAW;AACpD,cAAIA,MAAMkC,KAAN,KAAgB/F,cAApB,EAAoC;AAClC,mBAAK6C,IAAL;AACD;AACF,SAJD;AAMD,OAPD,MAOO,IAAI,CAAC,KAAKR,QAAV,EAAoB;AACzB/C,UAAE,KAAK2C,QAAP,EAAiBqC,GAAjB,CAAqB/D,MAAMQ,eAA3B;AACD;AACF,KA5RiB;;AAAA,oBA8RlB4C,eA9RkB,8BA8RA;AAAA;;AAChB,UAAI,KAAKtB,QAAT,EAAmB;AACjB/C,UAAEuF,MAAF,EAAUjB,EAAV,CAAarD,MAAMM,MAAnB,EAA2B,UAACgD,KAAD;AAAA,iBAAW,OAAKmC,aAAL,CAAmBnC,KAAnB,CAAX;AAAA,SAA3B;AACD,OAFD,MAEO;AACLvE,UAAEuF,MAAF,EAAUP,GAAV,CAAc/D,MAAMM,MAApB;AACD;AACF,KApSiB;;AAAA,oBAsSlB4D,UAtSkB,yBAsSL;AAAA;;AACX,WAAKxC,QAAL,CAAcoD,KAAd,CAAoBC,OAApB,GAA8B,MAA9B;AACA,WAAKrD,QAAL,CAAcgE,YAAd,CAA2B,aAA3B,EAA0C,MAA1C;AACA,WAAKzD,gBAAL,GAAwB,KAAxB;AACA,WAAKyB,aAAL,CAAmB,YAAM;AACvB3E,UAAEiE,SAASC,IAAX,EAAiBe,WAAjB,CAA6BpD,UAAUG,IAAvC;AACA,eAAK4E,iBAAL;AACA,eAAKC,eAAL;AACA7G,UAAE,OAAK2C,QAAP,EAAiBkB,OAAjB,CAAyB5C,MAAME,MAA/B;AACD,OALD;AAMD,KAhTiB;;AAAA,oBAkTlB2F,eAlTkB,8BAkTA;AAChB,UAAI,KAAKhE,SAAT,EAAoB;AAClB9C,UAAE,KAAK8C,SAAP,EAAkBiE,MAAlB;AACA,aAAKjE,SAAL,GAAiB,IAAjB;AACD;AACF,KAvTiB;;AAAA,oBAyTlB6B,aAzTkB,0BAyTJqC,QAzTI,EAyTM;AAAA;;AACtB,UAAMC,UAAUjH,EAAE,KAAK2C,QAAP,EAAiBgB,QAAjB,CAA0B9B,UAAUI,IAApC,IACdJ,UAAUI,IADI,GACG,EADnB;;AAGA,UAAI,KAAKc,QAAL,IAAiB,KAAKN,OAAL,CAAa7B,QAAlC,EAA4C;AAC1C,YAAMsG,YAAYzD,KAAKC,qBAAL,MAAgCuD,OAAlD;;AAEA,aAAKnE,SAAL,GAAiBmB,SAASkD,aAAT,CAAuB,KAAvB,CAAjB;AACA,aAAKrE,SAAL,CAAesE,SAAf,GAA2BvF,UAAUE,QAArC;;AAEA,YAAIkF,OAAJ,EAAa;AACXjH,YAAE,KAAK8C,SAAP,EAAkBqB,QAAlB,CAA2B8C,OAA3B;AACD;;AAEDjH,UAAE,KAAK8C,SAAP,EAAkBuE,QAAlB,CAA2BpD,SAASC,IAApC;;AAEAlE,UAAE,KAAK2C,QAAP,EAAiB2B,EAAjB,CAAoBrD,MAAMO,aAA1B,EAAyC,UAAC+C,KAAD,EAAW;AAClD,cAAI,OAAKtB,oBAAT,EAA+B;AAC7B,mBAAKA,oBAAL,GAA4B,KAA5B;AACA;AACD;AACD,cAAIsB,MAAME,MAAN,KAAiBF,MAAM+C,aAA3B,EAA0C;AACxC;AACD;AACD,cAAI,OAAK7E,OAAL,CAAa7B,QAAb,KAA0B,QAA9B,EAAwC;AACtC,mBAAK+B,QAAL,CAAc7B,KAAd;AACD,WAFD,MAEO;AACL,mBAAKyC,IAAL;AACD;AACF,SAbD;;AAeA,YAAI2D,SAAJ,EAAe;AACbzD,eAAK0C,MAAL,CAAY,KAAKrD,SAAjB;AACD;;AAED9C,UAAE,KAAK8C,SAAP,EAAkBqB,QAAlB,CAA2BtC,UAAUT,IAArC;;AAEA,YAAI,CAAC4F,QAAL,EAAe;AACb;AACD;;AAED,YAAI,CAACE,SAAL,EAAgB;AACdF;AACA;AACD;;AAEDhH,UAAE,KAAK8C,SAAP,EACG0B,GADH,CACOf,KAAKyB,cADZ,EAC4B8B,QAD5B,EAEG5B,oBAFH,CAEwB3E,4BAFxB;AAID,OA9CD,MA8CO,IAAI,CAAC,KAAKsC,QAAN,IAAkB,KAAKD,SAA3B,EAAsC;AAC3C9C,UAAE,KAAK8C,SAAP,EAAkBmC,WAAlB,CAA8BpD,UAAUT,IAAxC;;AAEA,YAAMmG,iBAAiB,SAAjBA,cAAiB,GAAM;AAC3B,iBAAKT,eAAL;AACA,cAAIE,QAAJ,EAAc;AACZA;AACD;AACF,SALD;;AAOA,YAAIvD,KAAKC,qBAAL,MACD1D,EAAE,KAAK2C,QAAP,EAAiBgB,QAAjB,CAA0B9B,UAAUI,IAApC,CADH,EAC8C;AAC5CjC,YAAE,KAAK8C,SAAP,EACG0B,GADH,CACOf,KAAKyB,cADZ,EAC4BqC,cAD5B,EAEGnC,oBAFH,CAEwB3E,4BAFxB;AAGD,SALD,MAKO;AACL8G;AACD;AAEF,OAnBM,MAmBA,IAAIP,QAAJ,EAAc;AACnBA;AACD;AACF,KAjYiB;;AAoYlB;AACA;AACA;AACA;;AAvYkB,oBAyYlBN,aAzYkB,4BAyYF;AACd,WAAKc,aAAL;AACD,KA3YiB;;AAAA,oBA6YlBA,aA7YkB,4BA6YF;AACd,UAAMC,qBACJ,KAAK9E,QAAL,CAAc+E,YAAd,GAA6BzD,SAAS0D,eAAT,CAAyBC,YADxD;;AAGA,UAAI,CAAC,KAAK5E,kBAAN,IAA4ByE,kBAAhC,EAAoD;AAClD,aAAK9E,QAAL,CAAcoD,KAAd,CAAoB8B,WAApB,GAAqC,KAAKzE,eAA1C;AACD;;AAED,UAAI,KAAKJ,kBAAL,IAA2B,CAACyE,kBAAhC,EAAoD;AAClD,aAAK9E,QAAL,CAAcoD,KAAd,CAAoB+B,YAApB,GAAsC,KAAK1E,eAA3C;AACD;AACF,KAxZiB;;AAAA,oBA0ZlBwD,iBA1ZkB,gCA0ZE;AAClB,WAAKjE,QAAL,CAAcoD,KAAd,CAAoB8B,WAApB,GAAkC,EAAlC;AACA,WAAKlF,QAAL,CAAcoD,KAAd,CAAoB+B,YAApB,GAAmC,EAAnC;AACD,KA7ZiB;;AAAA,oBA+ZlB/D,eA/ZkB,8BA+ZA;AAChB,WAAKf,kBAAL,GAA0BiB,SAASC,IAAT,CAAc6D,WAAd,GAA4BxC,OAAOyC,UAA7D;AACA,WAAK5E,eAAL,GAAuB,KAAK6E,kBAAL,EAAvB;AACD,KAlaiB;;AAAA,oBAoalBjE,aApakB,4BAoaF;AACd,UAAMkE,cAAcC,SAClBnI,EAAEkC,SAASI,aAAX,EAA0B8F,GAA1B,CAA8B,eAA9B,KAAkD,CADhC,EAElB,EAFkB,CAApB;;AAKA,WAAKjF,oBAAL,GAA4Bc,SAASC,IAAT,CAAc6B,KAAd,CAAoB+B,YAApB,IAAoC,EAAhE;;AAEA,UAAI,KAAK9E,kBAAT,EAA6B;AAC3BiB,iBAASC,IAAT,CAAc6B,KAAd,CAAoB+B,YAApB,GACKI,cAAc,KAAK9E,eADxB;AAED;AACF,KAhbiB;;AAAA,oBAkblByD,eAlbkB,8BAkbA;AAChB5C,eAASC,IAAT,CAAc6B,KAAd,CAAoB+B,YAApB,GAAmC,KAAK3E,oBAAxC;AACD,KApbiB;;AAAA,oBAsblB8E,kBAtbkB,iCAsbG;AAAE;AACrB,UAAMI,YAAYpE,SAASkD,aAAT,CAAuB,KAAvB,CAAlB;AACAkB,gBAAUjB,SAAV,GAAsBvF,UAAUC,kBAAhC;AACAmC,eAASC,IAAT,CAAc4B,WAAd,CAA0BuC,SAA1B;AACA,UAAMC,iBAAiBD,UAAUE,WAAV,GAAwBF,UAAUN,WAAzD;AACA9D,eAASC,IAAT,CAAcsE,WAAd,CAA0BH,SAA1B;AACA,aAAOC,cAAP;AACD,KA7biB;;AAgclB;;AAhckB,UAkcXG,gBAlcW,6BAkcMjG,MAlcN,EAkccc,aAlcd,EAkc6B;AAC7C,aAAO,KAAKoF,IAAL,CAAU,YAAY;AAC3B,YAAIC,OAAY3I,EAAE,IAAF,EAAQ2I,IAAR,CAAaxI,QAAb,CAAhB;AACA,YAAMsC,UAAUzC,EAAEwF,MAAF,CACd,EADc,EAEdzF,MAAMY,OAFQ,EAGdX,EAAE,IAAF,EAAQ2I,IAAR,EAHc,EAId,QAAOnG,MAAP,yCAAOA,MAAP,OAAkB,QAAlB,IAA8BA,MAJhB,CAAhB;;AAOA,YAAI,CAACmG,IAAL,EAAW;AACTA,iBAAO,IAAI5I,KAAJ,CAAU,IAAV,EAAgB0C,OAAhB,CAAP;AACAzC,YAAE,IAAF,EAAQ2I,IAAR,CAAaxI,QAAb,EAAuBwI,IAAvB;AACD;;AAED,YAAI,OAAOnG,MAAP,KAAkB,QAAtB,EAAgC;AAC9B,cAAImG,KAAKnG,MAAL,MAAiBoG,SAArB,EAAgC;AAC9B,kBAAM,IAAIpF,KAAJ,uBAA8BhB,MAA9B,OAAN;AACD;AACDmG,eAAKnG,MAAL,EAAac,aAAb;AACD,SALD,MAKO,IAAIb,QAAQ1B,IAAZ,EAAkB;AACvB4H,eAAK5H,IAAL,CAAUuC,aAAV;AACD;AACF,OAtBM,CAAP;AAuBD,KA1diB;;AAAA;AAAA;AAAA,0BAuFG;AACnB,eAAOpD,OAAP;AACD;AAzFiB;AAAA;AAAA,0BA2FG;AACnB,eAAOS,OAAP;AACD;AA7FiB;;AAAA;AAAA;;AA+dpB;;;;;;AAMAX,IAAEiE,QAAF,EAAYK,EAAZ,CAAerD,MAAMW,cAArB,EAAqCM,SAASE,WAA9C,EAA2D,UAAUmC,KAAV,EAAiB;AAAA;;AAC1E,QAAIE,eAAJ;AACA,QAAMoE,WAAWpF,KAAKqF,sBAAL,CAA4B,IAA5B,CAAjB;;AAEA,QAAID,QAAJ,EAAc;AACZpE,eAASzE,EAAE6I,QAAF,EAAY,CAAZ,CAAT;AACD;;AAED,QAAMrG,SAASxC,EAAEyE,MAAF,EAAUkE,IAAV,CAAexI,QAAf,IACb,QADa,GACFH,EAAEwF,MAAF,CAAS,EAAT,EAAaxF,EAAEyE,MAAF,EAAUkE,IAAV,EAAb,EAA+B3I,EAAE,IAAF,EAAQ2I,IAAR,EAA/B,CADb;;AAGA,QAAI,KAAKI,OAAL,KAAiB,GAAjB,IAAwB,KAAKA,OAAL,KAAiB,MAA7C,EAAqD;AACnDxE,YAAMM,cAAN;AACD;;AAED,QAAMmE,UAAUhJ,EAAEyE,MAAF,EAAUD,GAAV,CAAcvD,MAAMG,IAApB,EAA0B,UAACwC,SAAD,EAAe;AACvD,UAAIA,UAAUE,kBAAV,EAAJ,EAAoC;AAClC;AACA;AACD;;AAEDkF,cAAQxE,GAAR,CAAYvD,MAAME,MAAlB,EAA0B,YAAM;AAC9B,YAAInB,UAAQ0E,EAAR,CAAW,UAAX,CAAJ,EAA4B;AAC1B,iBAAK5D,KAAL;AACD;AACF,OAJD;AAKD,KAXe,CAAhB;;AAaAf,UAAM0I,gBAAN,CAAuBQ,IAAvB,CAA4BjJ,EAAEyE,MAAF,CAA5B,EAAuCjC,MAAvC,EAA+C,IAA/C;AACD,GA7BD;;AAgCA;;;;;;AAMAxC,IAAEO,EAAF,CAAKN,IAAL,IAAyBF,MAAM0I,gBAA/B;AACAzI,IAAEO,EAAF,CAAKN,IAAL,EAAWiJ,WAAX,GAAyBnJ,KAAzB;AACAC,IAAEO,EAAF,CAAKN,IAAL,EAAWkJ,UAAX,GAAyB,YAAY;AACnCnJ,MAAEO,EAAF,CAAKN,IAAL,IAAaK,kBAAb;AACA,WAAOP,MAAM0I,gBAAb;AACD,GAHD;;AAKA,SAAO1I,KAAP;AAED,CAphBa,CAohBXqJ,MAphBW,CAAd","file":"modal.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0-alpha.5'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning) {\n throw new Error('Modal is transitioning')\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning) {\n throw new Error('Modal is transitioning')\n }\n\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n if (transition) {\n this._isTransitioning = true\n }\n\n const hideEvent = $.Event(Event.HIDE)\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._originalBodyPadding = null\n this._scrollbarWidth = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals dom position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n !$(this._element).has(event.target).length) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n this.hide()\n }\n })\n\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this._handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', 'true')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE) ?\n ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n\n } else if (callback) {\n callback()\n }\n }\n\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _handleUpdate() {\n this._adjustDialog()\n }\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n this._isBodyOverflowing = document.body.clientWidth < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n const bodyPadding = parseInt(\n $(Selector.FIXED_CONTENT).css('padding-right') || 0,\n 10\n )\n\n this._originalBodyPadding = document.body.style.paddingRight || ''\n\n if (this._isBodyOverflowing) {\n document.body.style.paddingRight =\n `${bodyPadding + this._scrollbarWidth}px`\n }\n }\n\n _resetScrollbar() {\n document.body.style.paddingRight = this._originalBodyPadding\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n\n // static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend(\n {},\n Modal.Default,\n $(this).data(),\n typeof config === 'object' && config\n )\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n\n})(jQuery)\n\nexport default Modal\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/modal.js"],"names":["Modal","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","BACKDROP_TRANSITION_DURATION","ESCAPE_KEYCODE","Default","backdrop","keyboard","focus","show","DefaultType","Event","HIDE","HIDDEN","SHOW","SHOWN","FOCUSIN","RESIZE","CLICK_DISMISS","KEYDOWN_DISMISS","MOUSEUP_DISMISS","MOUSEDOWN_DISMISS","CLICK_DATA_API","ClassName","SCROLLBAR_MEASURER","BACKDROP","OPEN","FADE","Selector","DIALOG","DATA_TOGGLE","DATA_DISMISS","FIXED_CONTENT","NAVBAR_TOGGLER","element","config","_config","_getConfig","_element","_dialog","find","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_originalBodyPadding","_scrollbarWidth","toggle","relatedTarget","hide","_isTransitioning","Util","supportsTransitionEnd","hasClass","showEvent","trigger","isDefaultPrevented","_checkScrollbar","_setScrollbar","document","body","addClass","_setEscapeEvent","_setResizeEvent","on","event","one","target","is","_showBackdrop","_showElement","preventDefault","transition","hideEvent","off","removeClass","TRANSITION_END","_hideModal","emulateTransitionEnd","dispose","removeData","window","handleUpdate","_adjustDialog","extend","typeCheckConfig","parentNode","nodeType","Node","ELEMENT_NODE","appendChild","style","display","removeAttribute","scrollTop","reflow","_enforceFocus","shownEvent","transitionComplete","has","length","which","setAttribute","_resetAdjustments","_resetScrollbar","_removeBackdrop","remove","callback","animate","doAnimate","createElement","className","appendTo","currentTarget","callbackRemove","isModalOverflowing","scrollHeight","documentElement","clientHeight","paddingLeft","paddingRight","clientWidth","innerWidth","_getScrollbarWidth","each","index","actualPadding","calculatedPadding","css","data","parseFloat","actualMargin","marginRight","calculatedMargin","padding","margin","scrollDiv","scrollbarWidth","getBoundingClientRect","width","removeChild","_jQueryInterface","undefined","Error","selector","getSelectorFromElement","tagName","$target","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"modal.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Modal = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'modal'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.modal'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 300\n const BACKDROP_TRANSITION_DURATION = 150\n const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\n const Default = {\n backdrop : true,\n keyboard : true,\n focus : true,\n show : true\n }\n\n const DefaultType = {\n backdrop : '(boolean|string)',\n keyboard : 'boolean',\n focus : 'boolean',\n show : 'boolean'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n RESIZE : `resize${EVENT_KEY}`,\n CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,\n KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY}`,\n MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY}`,\n MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n SCROLLBAR_MEASURER : 'modal-scrollbar-measure',\n BACKDROP : 'modal-backdrop',\n OPEN : 'modal-open',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DIALOG : '.modal-dialog',\n DATA_TOGGLE : '[data-toggle=\"modal\"]',\n DATA_DISMISS : '[data-dismiss=\"modal\"]',\n FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n NAVBAR_TOGGLER : '.navbar-toggler'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Modal {\n\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = $(element).find(Selector.DIALOG)[0]\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._originalBodyPadding = 0\n this._scrollbarWidth = 0\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isTransitioning) {\n return\n }\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n $(document.body).addClass(ClassName.OPEN)\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n Event.CLICK_DISMISS,\n Selector.DATA_DISMISS,\n (event) => this.hide(event)\n )\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, () => {\n $(this._element).one(Event.MOUSEUP_DISMISS, (event) => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (this._isTransitioning || !this._isShown) {\n return\n }\n\n const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n const hideEvent = $.Event(Event.HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(Event.FOCUSIN)\n\n $(this._element).removeClass(ClassName.SHOW)\n\n $(this._element).off(Event.CLICK_DISMISS)\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS)\n\n if (transition) {\n\n $(this._element)\n .one(Util.TRANSITION_END, (event) => this._hideModal(event))\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n $(window, document, this._element, this._backdrop).off(EVENT_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const transition = Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals dom position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.scrollTop = 0\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(ClassName.SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(Event.FOCUSIN) // guard against infinite focus loop\n .on(Event.FOCUSIN, (event) => {\n if (document !== event.target &&\n this._element !== event.target &&\n !$(this._element).has(event.target).length) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n if (event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n }\n })\n\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))\n } else {\n $(window).off(Event.RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(ClassName.OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(Event.HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(ClassName.FADE) ?\n ClassName.FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n const doAnimate = Util.supportsTransitionEnd() && animate\n\n this._backdrop = document.createElement('div')\n this._backdrop.className = ClassName.BACKDROP\n\n if (animate) {\n $(this._backdrop).addClass(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(Event.CLICK_DISMISS, (event) => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n if (event.target !== event.currentTarget) {\n return\n }\n if (this._config.backdrop === 'static') {\n this._element.focus()\n } else {\n this.hide()\n }\n })\n\n if (doAnimate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(ClassName.SHOW)\n\n if (!callback) {\n return\n }\n\n if (!doAnimate) {\n callback()\n return\n }\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if (Util.supportsTransitionEnd() &&\n $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)\n } else {\n callbackRemove()\n }\n\n } else if (callback) {\n callback()\n }\n }\n\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing =\n this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n this._isBodyOverflowing = document.body.clientWidth < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n\n // Adjust fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const actualPadding = $(element)[0].style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const actualMargin = $(element)[0].style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $('body').css('padding-right')\n $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n $(Selector.FIXED_CONTENT).each((index, element) => {\n const padding = $(element).data('padding-right')\n if (typeof padding !== 'undefined') {\n $(element).css('padding-right', padding).removeData('padding-right')\n }\n })\n\n // Restore navbar-toggler margin\n $(Selector.NAVBAR_TOGGLER).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $('body').data('padding-right')\n if (typeof padding !== 'undefined') {\n $('body').css('padding-right', padding).removeData('padding-right')\n }\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n\n // static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend(\n {},\n Modal.Default,\n $(this).data(),\n typeof config === 'object' && config\n )\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = $(selector)[0]\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : $.extend({}, $(target).data(), $(this).data())\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(Event.SHOW, (showEvent) => {\n if (showEvent.isDefaultPrevented()) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(Event.HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface\n $.fn[NAME].Constructor = Modal\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n }\n\n return Modal\n\n})(jQuery)\n\nexport default Modal\n"]} \ No newline at end of file
diff --git a/js/dist/popover.js b/js/dist/popover.js
index 0d960e1e0..1e82e8210 100644
--- a/js/dist/popover.js
+++ b/js/dist/popover.js
@@ -10,7 +10,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): popover.js
+ * Bootstrap (v4.0.0-alpha.6): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -24,16 +24,18 @@ var Popover = function ($) {
*/
var NAME = 'popover';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.popover';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
+ var CLASS_PREFIX = 'bs-popover';
+ var BSCLS_PREFIX_REGEX = new RegExp('(^|\\s)' + CLASS_PREFIX + '\\S+', 'g');
var Default = $.extend({}, Tooltip.Default, {
placement: 'right',
trigger: 'click',
content: '',
- template: '<div class="popover" role="tooltip">' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
+ template: '<div class="popover" role="tooltip">' + '<div class="arrow" x-arrow></div>' + '<h3 class="popover-title"></h3>' + '<div class="popover-content"></div></div>'
});
var DefaultType = $.extend({}, Tooltip.DefaultType, {
@@ -84,6 +86,10 @@ var Popover = function ($) {
return this.getTitle() || this._getContent();
};
+ Popover.prototype.addAttachmentClass = function addAttachmentClass(attachment) {
+ $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
+ };
+
Popover.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
@@ -96,8 +102,6 @@ var Popover = function ($) {
this.setElementContent($tip.find(Selector.CONTENT), this._getContent());
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
-
- this.cleanupTether();
};
// private
@@ -106,6 +110,14 @@ var Popover = function ($) {
return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
};
+ Popover.prototype._cleanTipClass = function _cleanTipClass() {
+ var $tip = $(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
+ }
+ };
+
// static
Popover._jQueryInterface = function _jQueryInterface(config) {
@@ -190,4 +202,4 @@ var Popover = function ($) {
return Popover;
}(jQuery);
-//# sourceMappingURL=popover.js.map
+//# sourceMappingURL=popover.js.map \ No newline at end of file
diff --git a/js/dist/popover.js.map b/js/dist/popover.js.map
index d3aea8534..727ee815f 100644
--- a/js/dist/popover.js.map
+++ b/js/dist/popover.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/popover.js"],"names":["Popover","$","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","Default","extend","Tooltip","placement","trigger","content","template","DefaultType","ClassName","FADE","SHOW","Selector","TITLE","CONTENT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","isWithContent","getTitle","_getContent","getTipElement","tip","config","setContent","$tip","setElementContent","find","removeClass","cleanupTether","element","getAttribute","call","_jQueryInterface","each","data","_config","test","undefined","Error","Constructor","noConflict","jQuery"],"mappings":"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","file":"popover.js","sourcesContent":["import Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0-alpha.5'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = $.extend({}, Tooltip.Default, {\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">'\n + '<h3 class=\"popover-title\"></h3>'\n + '<div class=\"popover-content\"></div></div>'\n })\n\n const DefaultType = $.extend({}, Tooltip.DefaultType, {\n content : '(string|element|function)'\n })\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-title',\n CONTENT : '.popover-content'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n getTipElement() {\n return this.tip = this.tip || $(this.config.template)[0]\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // we use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n\n this.cleanupTether()\n }\n\n // private\n\n _getContent() {\n return this.element.getAttribute('data-content')\n || (typeof this.config.content === 'function' ?\n this.config.content.call(this.element) :\n this.config.content)\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n\n})(jQuery)\n\nexport default Popover\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/popover.js"],"names":["Popover","$","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","Default","extend","Tooltip","placement","trigger","content","template","DefaultType","ClassName","FADE","SHOW","Selector","TITLE","CONTENT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","isWithContent","getTitle","_getContent","addAttachmentClass","attachment","getTipElement","addClass","tip","config","setContent","$tip","setElementContent","find","removeClass","element","getAttribute","call","_cleanTipClass","tabClass","attr","match","length","join","_jQueryInterface","each","data","_config","test","undefined","Error","Constructor","noConflict","jQuery"],"mappings":"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","file":"popover.js","sourcesContent":["import Tooltip from './tooltip'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Popover = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'popover'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.popover'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-popover'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const Default = $.extend({}, Tooltip.Default, {\n placement : 'right',\n trigger : 'click',\n content : '',\n template : '<div class=\"popover\" role=\"tooltip\">'\n + '<div class=\"arrow\" x-arrow></div>'\n + '<h3 class=\"popover-title\"></h3>'\n + '<div class=\"popover-content\"></div></div>'\n })\n\n const DefaultType = $.extend({}, Tooltip.DefaultType, {\n content : '(string|element|function)'\n })\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TITLE : '.popover-title',\n CONTENT : '.popover-content'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Popover extends Tooltip {\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n return this.tip = this.tip || $(this.config.template)[0]\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // we use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle())\n this.setElementContent($tip.find(Selector.CONTENT), this._getContent())\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n // private\n\n _getContent() {\n return this.element.getAttribute('data-content')\n || (typeof this.config.content === 'function' ?\n this.config.content.call(this.element) :\n this.config.content)\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /destroy|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Popover._jQueryInterface\n $.fn[NAME].Constructor = Popover\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n }\n\n return Popover\n\n})(jQuery)\n\nexport default Popover\n"]} \ No newline at end of file
diff --git a/js/dist/scrollspy.js b/js/dist/scrollspy.js
index 803b347e2..a332f96a1 100644
--- a/js/dist/scrollspy.js
+++ b/js/dist/scrollspy.js
@@ -6,7 +6,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): scrollspy.js
+ * Bootstrap (v4.0.0-alpha.6): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -20,7 +20,7 @@ var ScrollSpy = function ($) {
*/
var NAME = 'scrollspy';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.scrollspy';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -47,18 +47,15 @@ var ScrollSpy = function ($) {
var ClassName = {
DROPDOWN_ITEM: 'dropdown-item',
DROPDOWN_MENU: 'dropdown-menu',
- NAV_LINK: 'nav-link',
- NAV: 'nav',
ACTIVE: 'active'
};
var Selector = {
DATA_SPY: '[data-spy="scroll"]',
ACTIVE: '.active',
- LIST_ITEM: '.list-item',
- LI: 'li',
- LI_DROPDOWN: 'li.dropdown',
+ NAV_LIST_GROUP: '.nav, .list-group',
NAV_LINKS: '.nav-link',
+ LIST_ITEMS: '.list-group-item',
DROPDOWN: '.dropdown',
DROPDOWN_ITEMS: '.dropdown-item',
DROPDOWN_TOGGLE: '.dropdown-toggle'
@@ -84,7 +81,7 @@ var ScrollSpy = function ($) {
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
- this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
+ this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.LIST_ITEMS + ',') + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);
this._offsets = [];
this._targets = [];
this._activeTarget = null;
@@ -126,9 +123,12 @@ var ScrollSpy = function ($) {
target = $(targetSelector)[0];
}
- if (target && (target.offsetWidth || target.offsetHeight)) {
- // todo (fat): remove sketch reliance on jQuery position/offset
- return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+ if (target) {
+ var targetBCR = target.getBoundingClientRect();
+ if (targetBCR.width || targetBCR.height) {
+ // todo (fat): remove sketch reliance on jQuery position/offset
+ return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
+ }
}
return null;
}).filter(function (item) {
@@ -175,7 +175,7 @@ var ScrollSpy = function ($) {
};
ScrollSpy.prototype._getScrollTop = function _getScrollTop() {
- return this._scrollElement === window ? this._scrollElement.scrollY : this._scrollElement.scrollTop;
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
};
ScrollSpy.prototype._getScrollHeight = function _getScrollHeight() {
@@ -183,7 +183,7 @@ var ScrollSpy = function ($) {
};
ScrollSpy.prototype._getOffsetHeight = function _getOffsetHeight() {
- return this._scrollElement === window ? window.innerHeight : this._scrollElement.offsetHeight;
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
};
ScrollSpy.prototype._process = function _process() {
@@ -235,9 +235,11 @@ var ScrollSpy = function ($) {
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
$link.addClass(ClassName.ACTIVE);
} else {
- // todo (fat) this is kinda sus...
- // recursively add actives to tested nav-links
- $link.parents(Selector.LI).find('> ' + Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
+ // Set triggered link as active
+ $link.addClass(ClassName.ACTIVE);
+ // Set triggered links parents as active
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ', ' + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE);
}
$(this._scrollElement).trigger(Event.ACTIVATE, {
@@ -315,4 +317,4 @@ var ScrollSpy = function ($) {
return ScrollSpy;
}(jQuery);
-//# sourceMappingURL=scrollspy.js.map
+//# sourceMappingURL=scrollspy.js.map \ No newline at end of file
diff --git a/js/dist/scrollspy.js.map b/js/dist/scrollspy.js.map
index 758a94fcd..425344d44 100644
--- a/js/dist/scrollspy.js.map
+++ b/js/dist/scrollspy.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/scrollspy.js"],"names":["ScrollSpy","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","Default","offset","method","target","DefaultType","Event","ACTIVATE","SCROLL","LOAD_DATA_API","ClassName","DROPDOWN_ITEM","DROPDOWN_MENU","NAV_LINK","NAV","ACTIVE","Selector","DATA_SPY","LIST_ITEM","LI","LI_DROPDOWN","NAV_LINKS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","element","config","_element","_scrollElement","tagName","window","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","on","event","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","makeArray","map","targetSelector","Util","getSelectorFromElement","offsetWidth","offsetHeight","top","filter","item","sort","a","b","forEach","push","dispose","removeData","off","extend","id","attr","getUID","typeCheckConfig","scrollY","scrollTop","scrollHeight","Math","max","document","body","documentElement","_getOffsetHeight","innerHeight","maxScroll","length","_activate","_clear","i","isActiveTarget","undefined","queries","split","selector","$link","join","hasClass","closest","find","addClass","parents","trigger","relatedTarget","removeClass","_jQueryInterface","each","data","Error","scrollSpys","$spy","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"scrollspy.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0-alpha.5'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n NAV_LINK : 'nav-link',\n NAV : 'nav',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n LIST_ITEM : '.list-item',\n LI : 'li',\n LI_DROPDOWN : 'li.dropdown',\n NAV_LINKS : '.nav-link',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},`\n + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n refresh() {\n const autoMethod = this._scrollElement !== this._scrollElement.window ?\n OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target && (target.offsetWidth || target.offsetHeight)) {\n // todo (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.scrollY : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.offsetHeight\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset\n + scrollHeight\n - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i]\n && scrollTop >= this._offsets[i]\n && (this._offsets[i + 1] === undefined ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // todo (fat) this is kinda sus...\n // recursively add actives to tested nav-links\n $link.parents(Selector.LI).find(`> ${Selector.NAV_LINKS}`).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n\n})(jQuery)\n\nexport default ScrollSpy\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/scrollspy.js"],"names":["ScrollSpy","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","Default","offset","method","target","DefaultType","Event","ACTIVATE","SCROLL","LOAD_DATA_API","ClassName","DROPDOWN_ITEM","DROPDOWN_MENU","ACTIVE","Selector","DATA_SPY","NAV_LIST_GROUP","NAV_LINKS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","element","config","_element","_scrollElement","tagName","window","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","on","event","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","makeArray","map","targetSelector","Util","getSelectorFromElement","targetBCR","getBoundingClientRect","width","height","top","filter","item","sort","a","b","forEach","push","dispose","removeData","off","extend","id","attr","getUID","typeCheckConfig","pageYOffset","scrollTop","scrollHeight","Math","max","document","body","documentElement","_getOffsetHeight","innerHeight","maxScroll","length","_activate","_clear","i","isActiveTarget","undefined","queries","split","selector","$link","join","hasClass","closest","find","addClass","parents","prev","trigger","relatedTarget","removeClass","_jQueryInterface","each","data","Error","scrollSpys","$spy","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"scrollspy.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst ScrollSpy = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'scrollspy'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.scrollspy'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Default = {\n offset : 10,\n method : 'auto',\n target : ''\n }\n\n const DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n }\n\n const Event = {\n ACTIVATE : `activate${EVENT_KEY}`,\n SCROLL : `scroll${EVENT_KEY}`,\n LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_ITEM : 'dropdown-item',\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active'\n }\n\n const Selector = {\n DATA_SPY : '[data-spy=\"scroll\"]',\n ACTIVE : '.active',\n NAV_LIST_GROUP : '.nav, .list-group',\n NAV_LINKS : '.nav-link',\n LIST_ITEMS : '.list-group-item',\n DROPDOWN : '.dropdown',\n DROPDOWN_ITEMS : '.dropdown-item',\n DROPDOWN_TOGGLE : '.dropdown-toggle'\n }\n\n const OffsetMethod = {\n OFFSET : 'offset',\n POSITION : 'position'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class ScrollSpy {\n\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${Selector.NAV_LINKS},`\n + `${this._config.target} ${Selector.LIST_ITEMS},`\n + `${this._config.target} ${Selector.DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(Event.SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n\n // public\n\n refresh() {\n const autoMethod = this._scrollElement !== this._scrollElement.window ?\n OffsetMethod.POSITION : OffsetMethod.OFFSET\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === OffsetMethod.POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = $.makeArray($(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = $(targetSelector)[0]\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // todo (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n\n // private\n\n _getConfig(config) {\n config = $.extend({}, Default, config)\n\n if (typeof config.target !== 'string') {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset\n + scrollHeight\n - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i]\n && scrollTop >= this._offsets[i]\n && (this._offsets[i + 1] === undefined ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n let queries = this._selector.split(',')\n queries = queries.map((selector) => {\n return `${selector}[data-target=\"${target}\"],` +\n `${selector}[href=\"${target}\"]`\n })\n\n const $link = $(queries.join(','))\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n $link.addClass(ClassName.ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(ClassName.ACTIVE)\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n })\n }\n\n _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data) {\n data = new ScrollSpy(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n const scrollSpys = $.makeArray($(Selector.DATA_SPY))\n\n for (let i = scrollSpys.length; i--;) {\n const $spy = $(scrollSpys[i])\n ScrollSpy._jQueryInterface.call($spy, $spy.data())\n }\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface\n $.fn[NAME].Constructor = ScrollSpy\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ScrollSpy._jQueryInterface\n }\n\n return ScrollSpy\n\n})(jQuery)\n\nexport default ScrollSpy\n"]} \ No newline at end of file
diff --git a/js/dist/tab.js b/js/dist/tab.js
index 34cc97187..fb0749ed5 100644
--- a/js/dist/tab.js
+++ b/js/dist/tab.js
@@ -4,7 +4,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): tab.js
+ * Bootstrap (v4.0.0-alpha.6): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -18,7 +18,7 @@ var Tab = function ($) {
*/
var NAME = 'tab';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tab';
var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -42,14 +42,10 @@ var Tab = function ($) {
};
var Selector = {
- A: 'a',
- LI: 'li',
DROPDOWN: '.dropdown',
- LIST: 'ul:not(.dropdown-menu), ol:not(.dropdown-menu)',
- FADE_CHILD: '> .nav-item .fade, > .fade',
+ NAV_LIST_GROUP: '.nav, .list-group',
ACTIVE: '.active',
- ACTIVE_CHILD: '> .nav-item > .active, > .active',
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"]',
+ DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
DROPDOWN_TOGGLE: '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
};
@@ -80,7 +76,7 @@ var Tab = function ($) {
var target = void 0;
var previous = void 0;
- var listElement = $(this._element).closest(Selector.LIST)[0];
+ var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0];
var selector = Util.getSelectorFromElement(this._element);
if (listElement) {
@@ -133,7 +129,7 @@ var Tab = function ($) {
};
Tab.prototype.dispose = function dispose() {
- $.removeClass(this._element, DATA_KEY);
+ $.removeData(this._element, DATA_KEY);
this._element = null;
};
@@ -142,8 +138,8 @@ var Tab = function ($) {
Tab.prototype._activate = function _activate(element, container, callback) {
var _this2 = this;
- var active = $(container).find(Selector.ACTIVE_CHILD)[0];
- var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
+ var active = $(container).find(Selector.ACTIVE)[0];
+ var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE);
var complete = function complete() {
return _this2._transitionComplete(element, active, isTransitioning, callback);
@@ -255,4 +251,4 @@ var Tab = function ($) {
return Tab;
}(jQuery);
-//# sourceMappingURL=tab.js.map
+//# sourceMappingURL=tab.js.map \ No newline at end of file
diff --git a/js/dist/tab.js.map b/js/dist/tab.js.map
index 5eadeec95..7e0d8179d 100644
--- a/js/dist/tab.js.map
+++ b/js/dist/tab.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/tab.js"],"names":["Tab","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK_DATA_API","ClassName","DROPDOWN_MENU","ACTIVE","DISABLED","FADE","Selector","A","LI","DROPDOWN","LIST","FADE_CHILD","ACTIVE_CHILD","DATA_TOGGLE","DROPDOWN_TOGGLE","DROPDOWN_ACTIVE_CHILD","element","_element","show","parentNode","nodeType","Node","ELEMENT_NODE","hasClass","target","previous","listElement","closest","selector","Util","getSelectorFromElement","makeArray","find","length","hideEvent","relatedTarget","showEvent","trigger","isDefaultPrevented","_activate","complete","hiddenEvent","shownEvent","dispose","removeClass","container","callback","active","isTransitioning","supportsTransitionEnd","Boolean","_transitionComplete","one","TRANSITION_END","emulateTransitionEnd","dropdownChild","setAttribute","addClass","reflow","dropdownElement","_jQueryInterface","config","each","$this","data","undefined","Error","document","on","event","preventDefault","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"tab.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0-alpha.5'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n A : 'a',\n LI : 'li',\n DROPDOWN : '.dropdown',\n LIST : 'ul:not(.dropdown-menu), ol:not(.dropdown-menu)',\n FADE_CHILD : '> .nav-item .fade, > .fade',\n ACTIVE : '.active',\n ACTIVE_CHILD : '> .nav-item > .active, > .active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.LIST)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n previous = $.makeArray($(listElement).find(Selector.ACTIVE))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeClass(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _activate(element, container, callback) {\n const active = $(container).find(Selector.ACTIVE_CHILD)[0]\n const isTransitioning = callback\n && Util.supportsTransitionEnd()\n && (active && $(active).hasClass(ClassName.FADE)\n || Boolean($(container).find(Selector.FADE_CHILD)[0]))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n isTransitioning,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n if (active) {\n $(active).removeClass(ClassName.SHOW)\n }\n }\n\n _transitionComplete(element, active, isTransitioning, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n active.setAttribute('aria-expanded', false)\n }\n\n $(element).addClass(ClassName.ACTIVE)\n element.setAttribute('aria-expanded', true)\n\n if (isTransitioning) {\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n } else {\n $(element).removeClass(ClassName.FADE)\n }\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n\n})(jQuery)\n\nexport default Tab\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/tab.js"],"names":["Tab","$","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","Event","HIDE","HIDDEN","SHOW","SHOWN","CLICK_DATA_API","ClassName","DROPDOWN_MENU","ACTIVE","DISABLED","FADE","Selector","DROPDOWN","NAV_LIST_GROUP","DATA_TOGGLE","DROPDOWN_TOGGLE","DROPDOWN_ACTIVE_CHILD","element","_element","show","parentNode","nodeType","Node","ELEMENT_NODE","hasClass","target","previous","listElement","closest","selector","Util","getSelectorFromElement","makeArray","find","length","hideEvent","relatedTarget","showEvent","trigger","isDefaultPrevented","_activate","complete","hiddenEvent","shownEvent","dispose","removeData","container","callback","active","isTransitioning","supportsTransitionEnd","_transitionComplete","one","TRANSITION_END","emulateTransitionEnd","removeClass","dropdownChild","setAttribute","addClass","reflow","dropdownElement","_jQueryInterface","config","each","$this","data","undefined","Error","document","on","event","preventDefault","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"tab.js","sourcesContent":["import Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tab = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tab'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.tab'\n const EVENT_KEY = `.${DATA_KEY}`\n const DATA_API_KEY = '.data-api'\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n ACTIVE : 'active',\n DISABLED : 'disabled',\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n DROPDOWN : '.dropdown',\n NAV_LIST_GROUP : '.nav, .list-group',\n ACTIVE : '.active',\n DATA_TOGGLE : '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',\n DROPDOWN_TOGGLE : '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tab {\n\n constructor(element) {\n this._element = element\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n\n // public\n\n show() {\n if (this._element.parentNode &&\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\n $(this._element).hasClass(ClassName.ACTIVE) ||\n $(this._element).hasClass(ClassName.DISABLED)) {\n return\n }\n\n let target\n let previous\n const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]\n const selector = Util.getSelectorFromElement(this._element)\n\n if (listElement) {\n previous = $.makeArray($(listElement).find(Selector.ACTIVE))\n previous = previous[previous.length - 1]\n }\n\n const hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n })\n\n const showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n })\n\n if (previous) {\n $(previous).trigger(hideEvent)\n }\n\n $(this._element).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented() ||\n hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (selector) {\n target = $(selector)[0]\n }\n\n this._activate(\n this._element,\n listElement\n )\n\n const complete = () => {\n const hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: this._element\n })\n\n const shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n })\n\n $(previous).trigger(hiddenEvent)\n $(this._element).trigger(shownEvent)\n }\n\n if (target) {\n this._activate(target, target.parentNode, complete)\n } else {\n complete()\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n\n // private\n\n _activate(element, container, callback) {\n const active = $(container).find(Selector.ACTIVE)[0]\n const isTransitioning = callback\n && Util.supportsTransitionEnd()\n && (active && $(active).hasClass(ClassName.FADE))\n\n const complete = () => this._transitionComplete(\n element,\n active,\n isTransitioning,\n callback\n )\n\n if (active && isTransitioning) {\n $(active)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n if (active) {\n $(active).removeClass(ClassName.SHOW)\n }\n }\n\n _transitionComplete(element, active, isTransitioning, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE)\n\n const dropdownChild = $(active.parentNode).find(\n Selector.DROPDOWN_ACTIVE_CHILD\n )[0]\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE)\n }\n\n active.setAttribute('aria-expanded', false)\n }\n\n $(element).addClass(ClassName.ACTIVE)\n element.setAttribute('aria-expanded', true)\n\n if (isTransitioning) {\n Util.reflow(element)\n $(element).addClass(ClassName.SHOW)\n } else {\n $(element).removeClass(ClassName.FADE)\n }\n\n if (element.parentNode &&\n $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)\n }\n\n element.setAttribute('aria-expanded', true)\n }\n\n if (callback) {\n callback()\n }\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $this = $(this)\n let data = $this.data(DATA_KEY)\n\n if (!data) {\n data = new Tab(this)\n $this.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n $(document)\n .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n Tab._jQueryInterface.call($(this), 'show')\n })\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface\n $.fn[NAME].Constructor = Tab\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tab._jQueryInterface\n }\n\n return Tab\n\n})(jQuery)\n\nexport default Tab\n"]} \ No newline at end of file
diff --git a/js/dist/tooltip.js b/js/dist/tooltip.js
index cceebcae4..f470481d1 100644
--- a/js/dist/tooltip.js
+++ b/js/dist/tooltip.js
@@ -6,7 +6,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): tooltip.js
+ * Bootstrap (v4.0.0-alpha.6): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -14,11 +14,11 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
var Tooltip = function ($) {
/**
- * Check for Tether dependency
- * Tether - http://tether.io/
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
*/
- if (typeof Tether === 'undefined') {
- throw new Error('Bootstrap tooltips require Tether (http://tether.io/)');
+ if (typeof Popper === 'undefined') {
+ throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
}
/**
@@ -28,26 +28,13 @@ var Tooltip = function ($) {
*/
var NAME = 'tooltip';
- var VERSION = '4.0.0-alpha.5';
+ var VERSION = '4.0.0-alpha.6';
var DATA_KEY = 'bs.tooltip';
var EVENT_KEY = '.' + DATA_KEY;
var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
- var CLASS_PREFIX = 'bs-tether';
-
- var Default = {
- animation: true,
- template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-inner"></div></div>',
- trigger: 'hover focus',
- title: '',
- delay: 0,
- html: false,
- selector: false,
- placement: 'top',
- offset: '0 0',
- constraints: [],
- container: false
- };
+ var CLASS_PREFIX = 'bs-tooltip';
+ var BSCLS_PREFIX_REGEX = new RegExp('(^|\\s)' + CLASS_PREFIX + '\\S+', 'g');
var DefaultType = {
animation: 'boolean',
@@ -58,16 +45,31 @@ var Tooltip = function ($) {
html: 'boolean',
selector: '(string|boolean)',
placement: '(string|function)',
- offset: 'string',
- constraints: 'array',
- container: '(string|element|boolean)'
+ offset: '(number|string)',
+ container: '(string|element|boolean)',
+ fallbackPlacement: '(string|array)'
};
var AttachmentMap = {
- TOP: 'bottom center',
- RIGHT: 'middle left',
- BOTTOM: 'top center',
- LEFT: 'middle right'
+ AUTO: 'auto',
+ TOP: 'top',
+ RIGHT: 'right',
+ BOTTOM: 'bottom',
+ LEFT: 'left'
+ };
+
+ var Default = {
+ animation: true,
+ template: '<div class="tooltip" role="tooltip">' + '<div class="arrow" x-arrow></div>' + '<div class="tooltip-inner"></div></div>',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ selector: false,
+ placement: 'top',
+ offset: 0,
+ container: false,
+ fallbackPlacement: 'flip'
};
var HoverState = {
@@ -98,11 +100,6 @@ var Tooltip = function ($) {
TOOLTIP_INNER: '.tooltip-inner'
};
- var TetherClass = {
- element: false,
- enabled: false
- };
-
var Trigger = {
HOVER: 'hover',
FOCUS: 'focus',
@@ -125,8 +122,7 @@ var Tooltip = function ($) {
this._timeout = 0;
this._hoverState = '';
this._activeTrigger = {};
- this._isTransitioning = false;
- this._tether = null;
+ this._popper = null;
// protected
this.element = element;
@@ -183,8 +179,6 @@ var Tooltip = function ($) {
Tooltip.prototype.dispose = function dispose() {
clearTimeout(this._timeout);
- this.cleanupTether();
-
$.removeData(this.element, this.constructor.DATA_KEY);
$(this.element).off(this.constructor.EVENT_KEY);
@@ -198,7 +192,10 @@ var Tooltip = function ($) {
this._timeout = null;
this._hoverState = null;
this._activeTrigger = null;
- this._tether = null;
+ if (this._popper !== null) {
+ this._popper.destroy();
+ }
+ this._popper = null;
this.element = null;
this.config = null;
@@ -214,9 +211,6 @@ var Tooltip = function ($) {
var showEvent = $.Event(this.constructor.Event.SHOW);
if (this.isWithContent() && this._isEnabled) {
- if (this._isTransitioning) {
- throw new Error('Tooltip is transitioning');
- }
$(this.element).trigger(showEvent);
var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
@@ -240,33 +234,54 @@ var Tooltip = function ($) {
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
var attachment = this._getAttachment(placement);
+ this.addAttachmentClass(attachment);
var container = this.config.container === false ? document.body : $(this.config.container);
- $(tip).data(this.constructor.DATA_KEY, this).appendTo(container);
+ $(tip).data(this.constructor.DATA_KEY, this);
+
+ if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
+ $(tip).appendTo(container);
+ }
$(this.element).trigger(this.constructor.Event.INSERTED);
- this._tether = new Tether({
- attachment: attachment,
- element: tip,
- target: this.element,
- classes: TetherClass,
- classPrefix: CLASS_PREFIX,
- offset: this.config.offset,
- constraints: this.config.constraints,
- addTargetClasses: false
+ this._popper = new Popper(this.element, tip, {
+ placement: attachment,
+ modifiers: {
+ offset: {
+ offset: this.config.offset
+ },
+ flip: {
+ behavior: this.config.fallbackPlacement
+ }
+ },
+ onCreate: function onCreate(data) {
+ if (data.originalPlacement !== data.placement) {
+ _this._handlePopperPlacementChange(data);
+ }
+ },
+ onUpdate: function onUpdate(data) {
+ _this._handlePopperPlacementChange(data);
+ }
});
- Util.reflow(tip);
- this._tether.position();
-
$(tip).addClass(ClassName.SHOW);
+ // if this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().on('mouseover', null, $.noop);
+ }
+
var complete = function complete() {
+ if (_this.config.animation) {
+ _this._fixTransition();
+ }
var prevHoverState = _this._hoverState;
_this._hoverState = null;
- _this._isTransitioning = false;
$(_this.element).trigger(_this.constructor.Event.SHOWN);
@@ -276,12 +291,10 @@ var Tooltip = function ($) {
};
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
- this._isTransitioning = true;
$(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
- return;
+ } else {
+ complete();
}
-
- complete();
}
};
@@ -290,18 +303,17 @@ var Tooltip = function ($) {
var tip = this.getTipElement();
var hideEvent = $.Event(this.constructor.Event.HIDE);
- if (this._isTransitioning) {
- throw new Error('Tooltip is transitioning');
- }
var complete = function complete() {
if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip);
}
+ _this2._cleanTipClass();
_this2.element.removeAttribute('aria-describedby');
$(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
- _this2._isTransitioning = false;
- _this2.cleanupTether();
+ if (_this2._popper !== null) {
+ _this2._popper.destroy();
+ }
if (callback) {
callback();
@@ -316,12 +328,18 @@ var Tooltip = function ($) {
$(tip).removeClass(ClassName.SHOW);
+ // if this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().off('mouseover', null, $.noop);
+ }
+
this._activeTrigger[Trigger.CLICK] = false;
this._activeTrigger[Trigger.FOCUS] = false;
this._activeTrigger[Trigger.HOVER] = false;
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
- this._isTransitioning = true;
+
$(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
} else {
complete();
@@ -330,24 +348,30 @@ var Tooltip = function ($) {
this._hoverState = '';
};
+ Tooltip.prototype.update = function update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate();
+ }
+ };
+
// protected
Tooltip.prototype.isWithContent = function isWithContent() {
return Boolean(this.getTitle());
};
+ Tooltip.prototype.addAttachmentClass = function addAttachmentClass(attachment) {
+ $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment);
+ };
+
Tooltip.prototype.getTipElement = function getTipElement() {
return this.tip = this.tip || $(this.config.template)[0];
};
Tooltip.prototype.setContent = function setContent() {
var $tip = $(this.getTipElement());
-
this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
-
$tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW);
-
- this.cleanupTether();
};
Tooltip.prototype.setElementContent = function setElementContent($element, content) {
@@ -376,12 +400,6 @@ var Tooltip = function ($) {
return title;
};
- Tooltip.prototype.cleanupTether = function cleanupTether() {
- if (this._tether) {
- this._tether.destroy();
- }
- };
-
// private
Tooltip.prototype._getAttachment = function _getAttachment(placement) {
@@ -521,6 +539,14 @@ var Tooltip = function ($) {
};
}
+ if (config.title && typeof config.title === 'number') {
+ config.title = config.title.toString();
+ }
+
+ if (config.content && typeof config.content === 'number') {
+ config.content = config.content.toString();
+ }
+
Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
return config;
@@ -540,6 +566,32 @@ var Tooltip = function ($) {
return config;
};
+ Tooltip.prototype._cleanTipClass = function _cleanTipClass() {
+ var $tip = $(this.getTipElement());
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''));
+ }
+ };
+
+ Tooltip.prototype._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
+ this._cleanTipClass();
+ this.addAttachmentClass(this._getAttachment(data.placement));
+ };
+
+ Tooltip.prototype._fixTransition = function _fixTransition() {
+ var tip = this.getTipElement();
+ var initConfigAnimation = this.config.animation;
+ if (tip.getAttribute('x-placement') !== null) {
+ return;
+ }
+ $(tip).removeClass(ClassName.FADE);
+ this.config.animation = false;
+ this.hide();
+ this.show();
+ this.config.animation = initConfigAnimation;
+ };
+
// static
Tooltip._jQueryInterface = function _jQueryInterface(config) {
@@ -619,5 +671,5 @@ var Tooltip = function ($) {
};
return Tooltip;
-}(jQuery); /* global Tether */
-//# sourceMappingURL=tooltip.js.map
+}(jQuery); /* global Popper */
+//# sourceMappingURL=tooltip.js.map \ No newline at end of file
diff --git a/js/dist/tooltip.js.map b/js/dist/tooltip.js.map
index 555dcee9b..ce79d67d1 100644
--- a/js/dist/tooltip.js.map
+++ b/js/dist/tooltip.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/tooltip.js"],"names":["Tooltip","$","Tether","Error","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","CLASS_PREFIX","Default","animation","template","trigger","title","delay","html","selector","placement","offset","constraints","container","DefaultType","AttachmentMap","TOP","RIGHT","BOTTOM","LEFT","HoverState","SHOW","OUT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","ClassName","FADE","Selector","TOOLTIP","TOOLTIP_INNER","TetherClass","element","enabled","Trigger","HOVER","FOCUS","MANUAL","config","_isEnabled","_timeout","_hoverState","_activeTrigger","_isTransitioning","_tether","_getConfig","tip","_setListeners","enable","disable","toggleEnabled","toggle","event","dataKey","constructor","context","currentTarget","data","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","hasClass","dispose","clearTimeout","cleanupTether","removeData","off","closest","remove","show","css","showEvent","isWithContent","isInTheDom","contains","ownerDocument","documentElement","isDefaultPrevented","tipId","Util","getUID","setAttribute","setContent","addClass","call","attachment","_getAttachment","document","body","appendTo","target","classes","classPrefix","addTargetClasses","reflow","position","complete","prevHoverState","supportsTransitionEnd","one","TRANSITION_END","emulateTransitionEnd","_TRANSITION_DURATION","hide","callback","hideEvent","parentNode","removeChild","removeAttribute","removeClass","Boolean","getTitle","$tip","setElementContent","find","$element","content","nodeType","jquery","parent","is","empty","append","text","getAttribute","destroy","toUpperCase","triggers","split","forEach","on","eventIn","eventOut","extend","_fixTitle","titleType","type","setTimeout","typeCheckConfig","key","_jQueryInterface","each","_config","test","undefined","Constructor","noConflict","jQuery"],"mappings":"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","file":"tooltip.js","sourcesContent":["/* global Tether */\n\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n\n /**\n * Check for Tether dependency\n * Tether - http://tether.io/\n */\n if (typeof Tether === 'undefined') {\n throw new Error('Bootstrap tooltips require Tether (http://tether.io/)')\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0-alpha.5'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tether'\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">'\n + '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : '0 0',\n constraints : [],\n container : false\n }\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : 'string',\n constraints : 'array',\n container : '(string|element|boolean)'\n }\n\n const AttachmentMap = {\n TOP : 'bottom center',\n RIGHT : 'middle left',\n BOTTOM : 'top center',\n LEFT : 'middle right'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner'\n }\n\n const TetherClass = {\n element : false,\n enabled : false\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n\n constructor(element, config) {\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._isTransitioning = false\n this._tether = null\n\n // protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n\n } else {\n\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n this.cleanupTether()\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n this._tether = null\n\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n if (this._isTransitioning) {\n throw new Error('Tooltip is transitioning')\n }\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip)\n .data(this.constructor.DATA_KEY, this)\n .appendTo(container)\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._tether = new Tether({\n attachment,\n element : tip,\n target : this.element,\n classes : TetherClass,\n classPrefix : CLASS_PREFIX,\n offset : this.config.offset,\n constraints : this.config.constraints,\n addTargetClasses: false\n })\n\n Util.reflow(tip)\n this._tether.position()\n\n $(tip).addClass(ClassName.SHOW)\n\n const complete = () => {\n const prevHoverState = this._hoverState\n this._hoverState = null\n this._isTransitioning = false\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n return\n }\n\n complete()\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n if (this._isTransitioning) {\n throw new Error('Tooltip is transitioning')\n }\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n this._isTransitioning = false\n this.cleanupTether()\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n this._isTransitioning = true\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n\n // protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n return this.tip = this.tip || $(this.config.template)[0]\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n\n this.cleanupTether()\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n cleanupTether() {\n if (this._tether) {\n this._tether.destroy()\n }\n }\n\n\n // private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = $.extend({}, this.config, {\n trigger : 'manual',\n selector : ''\n })\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this.element).data(),\n config\n )\n\n if (config.delay && typeof config.delay === 'number') {\n config.delay = {\n show : config.delay,\n hide : config.delay\n }\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n\n})(jQuery)\n\nexport default Tooltip\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/tooltip.js"],"names":["Tooltip","$","Popper","Error","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","TRANSITION_DURATION","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacement","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","HoverState","SHOW","OUT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","ClassName","FADE","Selector","TOOLTIP","TOOLTIP_INNER","Trigger","HOVER","FOCUS","MANUAL","element","config","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","enable","disable","toggleEnabled","toggle","event","dataKey","constructor","context","currentTarget","data","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","hasClass","dispose","clearTimeout","removeData","off","closest","remove","destroy","show","css","showEvent","isWithContent","isInTheDom","contains","ownerDocument","documentElement","isDefaultPrevented","tipId","Util","getUID","setAttribute","setContent","addClass","call","attachment","_getAttachment","addAttachmentClass","document","body","appendTo","modifiers","flip","behavior","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","children","on","noop","complete","_fixTransition","prevHoverState","supportsTransitionEnd","one","TRANSITION_END","emulateTransitionEnd","_TRANSITION_DURATION","hide","callback","hideEvent","parentNode","removeChild","_cleanTipClass","removeAttribute","removeClass","update","scheduleUpdate","Boolean","getTitle","$tip","setElementContent","find","$element","content","nodeType","jquery","parent","is","empty","append","text","getAttribute","toUpperCase","triggers","split","forEach","eventIn","eventOut","extend","_fixTitle","titleType","type","setTimeout","toString","typeCheckConfig","key","tabClass","attr","match","length","join","initConfigAnimation","_jQueryInterface","each","_config","test","undefined","Constructor","noConflict","jQuery"],"mappings":"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","file":"tooltip.js","sourcesContent":["/* global Popper */\n\nimport Util from './util'\n\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.0.0-alpha.6'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const TRANSITION_DURATION = 150\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">'\n + '<div class=\"arrow\" x-arrow></div>'\n + '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip'\n }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n }\n\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n\n constructor(element, config) {\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n\n }\n\n\n // getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n\n // public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n\n } else {\n\n if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n this._popper = null\n\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this.config.container === false ? document.body : $(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement : attachment,\n modifiers : {\n offset : {\n offset : this.config.offset\n },\n flip : {\n behavior : this.config.fallbackPlacement\n }\n },\n onCreate : (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate : (data) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $('body').children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(Tooltip._TRANSITION_DURATION)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.SHOW)\n\n // if this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $('body').children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[Trigger.CLICK] = false\n this._activeTrigger[Trigger.FOCUS] = false\n this._activeTrigger[Trigger.HOVER] = false\n\n if (Util.supportsTransitionEnd() &&\n $(this.tip).hasClass(ClassName.FADE)) {\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(TRANSITION_DURATION)\n\n } else {\n complete()\n }\n\n this._hoverState = ''\n\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n return this.tip = this.tip || $(this.config.template)[0]\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())\n $tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n\n // private\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n\n } else if (trigger !== Trigger.MANUAL) {\n const eventIn = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === Trigger.HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\n\n if (this.config.selector) {\n this.config = $.extend({}, this.config, {\n trigger : 'manual',\n selector : ''\n })\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HoverState.OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n config = $.extend(\n {},\n this.constructor.Default,\n $(this.element).data(),\n config\n )\n\n if (config.delay && typeof config.delay === 'number') {\n config.delay = {\n show : config.delay,\n hide : config.delay\n }\n }\n\n if (config.title && typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (config.content && typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(data) {\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(data.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n $(tip).removeClass(ClassName.FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tooltip._jQueryInterface\n $.fn[NAME].Constructor = Tooltip\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n }\n\n return Tooltip\n\n})(jQuery)\n\nexport default Tooltip\n"]} \ No newline at end of file
diff --git a/js/dist/util.js b/js/dist/util.js
index d53ea9220..58d5dd9e6 100644
--- a/js/dist/util.js
+++ b/js/dist/util.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): util.js
+ * Bootstrap (v4.0.0-alpha.6): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -111,13 +111,16 @@ var Util = function ($) {
},
getSelectorFromElement: function getSelectorFromElement(element) {
var selector = element.getAttribute('data-target');
-
- if (!selector) {
+ if (!selector || selector === '#') {
selector = element.getAttribute('href') || '';
- selector = /^#[a-z]/i.test(selector) ? selector : null;
}
- return selector;
+ try {
+ var $selector = $(selector);
+ return $selector.length > 0 ? selector : null;
+ } catch (error) {
+ return null;
+ }
},
reflow: function reflow(element) {
return element.offsetHeight;
@@ -147,4 +150,4 @@ var Util = function ($) {
return Util;
}(jQuery);
-//# sourceMappingURL=util.js.map
+//# sourceMappingURL=util.js.map \ No newline at end of file
diff --git a/js/dist/util.js.map b/js/dist/util.js.map
index 85f90e8ea..011bc69b8 100644
--- a/js/dist/util.js.map
+++ b/js/dist/util.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/util.js"],"names":["Util","$","transition","MAX_UID","TransitionEndEvent","WebkitTransition","MozTransition","OTransition","toType","obj","toString","call","match","toLowerCase","isElement","nodeType","getSpecialTransitionEndEvent","bindType","end","delegateType","handle","event","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","el","document","createElement","name","style","transitionEndEmulator","duration","called","one","TRANSITION_END","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","getUID","prefix","Math","random","getElementById","getSelectorFromElement","element","selector","getAttribute","test","reflow","offsetHeight","trigger","Boolean","typeCheckConfig","componentName","config","configTypes","property","hasOwnProperty","expectedTypes","value","valueType","RegExp","Error","toUpperCase","jQuery"],"mappings":"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","file":"util.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.5): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function isElement(obj) {\n return (obj[0] || obj).nodeType\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (el.style[name] !== undefined) {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector) {\n selector = element.getAttribute('href') || ''\n selector = /^#[a-z]/i.test(selector) ? selector : null\n }\n\n return selector\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (configTypes.hasOwnProperty(property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})(jQuery)\n\nexport default Util\n"]} \ No newline at end of file
+{"version":3,"sources":["../src/util.js"],"names":["Util","$","transition","MAX_UID","TransitionEndEvent","WebkitTransition","MozTransition","OTransition","toType","obj","toString","call","match","toLowerCase","isElement","nodeType","getSpecialTransitionEndEvent","bindType","end","delegateType","handle","event","target","is","handleObj","handler","apply","arguments","undefined","transitionEndTest","window","QUnit","el","document","createElement","name","style","transitionEndEmulator","duration","called","one","TRANSITION_END","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","supportsTransitionEnd","special","getUID","prefix","Math","random","getElementById","getSelectorFromElement","element","selector","getAttribute","$selector","length","error","reflow","offsetHeight","trigger","Boolean","typeCheckConfig","componentName","config","configTypes","property","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","jQuery"],"mappings":"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","file":"util.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.6): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Util = (($) => {\n\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transition = false\n\n const MAX_UID = 1000000\n\n const TransitionEndEvent = {\n WebkitTransition : 'webkitTransitionEnd',\n MozTransition : 'transitionend',\n OTransition : 'oTransitionEnd otransitionend',\n transition : 'transitionend'\n }\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()\n }\n\n function isElement(obj) {\n return (obj[0] || obj).nodeType\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n const el = document.createElement('bootstrap')\n\n for (const name in TransitionEndEvent) {\n if (el.style[name] !== undefined) {\n return {\n end: TransitionEndEvent[name]\n }\n }\n }\n\n return false\n }\n\n function transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest()\n\n $.fn.emulateTransitionEnd = transitionEndEmulator\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n }\n }\n\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n const Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n if (!selector || selector === '#') {\n selector = element.getAttribute('href') || ''\n }\n\n try {\n const $selector = $(selector)\n return $selector.length > 0 ? selector : null\n } catch (error) {\n return null\n }\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(transition.end)\n },\n\n supportsTransitionEnd() {\n return Boolean(transition)\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (configTypes.hasOwnProperty(property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n }\n }\n\n setTransitionEndSupport()\n\n return Util\n\n})(jQuery)\n\nexport default Util\n"]} \ No newline at end of file
diff --git a/js/src/alert.js b/js/src/alert.js
index 884a5dec8..b30d0d3a0 100644
--- a/js/src/alert.js
+++ b/js/src/alert.js
@@ -3,7 +3,7 @@ import Util from './util'
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): alert.js
+ * Bootstrap (v4.0.0-alpha.6): alert.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -18,7 +18,7 @@ const Alert = (($) => {
*/
const NAME = 'alert'
- const VERSION = '4.0.0-alpha.5'
+ const VERSION = '4.0.0-alpha.6'
const DATA_KEY = 'bs.alert'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
diff --git a/js/src/button.js b/js/src/button.js
index 45e1424ff..722fd489d 100644
--- a/js/src/button.js
+++ b/js/src/button.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): button.js
+ * Bootstrap (v4.0.0-alpha.6): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -15,7 +15,7 @@ const Button = (($) => {
*/
const NAME = 'button'
- const VERSION = '4.0.0-alpha.5'
+ const VERSION = '4.0.0-alpha.6'
const DATA_KEY = 'bs.button'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
@@ -66,6 +66,7 @@ const Button = (($) => {
toggle() {
let triggerChangeEvent = true
+ let addAriaPressed = true
const rootElement = $(this._element).closest(
Selector.DATA_TOGGLE
)[0]
@@ -89,14 +90,23 @@ const Button = (($) => {
}
if (triggerChangeEvent) {
+ if (input.hasAttribute('disabled') ||
+ rootElement.hasAttribute('disabled') ||
+ input.classList.contains('disabled') ||
+ rootElement.classList.contains('disabled')) {
+ return
+ }
input.checked = !$(this._element).hasClass(ClassName.ACTIVE)
$(input).trigger('change')
}
input.focus()
+ addAriaPressed = false
}
- } else {
+ }
+
+ if (addAriaPressed) {
this._element.setAttribute('aria-pressed',
!$(this._element).hasClass(ClassName.ACTIVE))
}
diff --git a/js/src/carousel.js b/js/src/carousel.js
index 9a1a668b2..5993de256 100644
--- a/js/src/carousel.js
+++ b/js/src/carousel.js
@@ -3,7 +3,7 @@ import Util from './util'
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): carousel.js
+ * Bootstrap (v4.0.0-alpha.6): carousel.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -17,15 +17,16 @@ const Carousel = (($) => {
* ------------------------------------------------------------------------
*/
- const NAME = 'carousel'
- const VERSION = '4.0.0-alpha.5'
- const DATA_KEY = 'bs.carousel'
- const EVENT_KEY = `.${DATA_KEY}`
- const DATA_API_KEY = '.data-api'
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- const TRANSITION_DURATION = 600
- const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key
- const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key
+ const NAME = 'carousel'
+ const VERSION = '4.0.0-alpha.6'
+ const DATA_KEY = 'bs.carousel'
+ const EVENT_KEY = `.${DATA_KEY}`
+ const DATA_API_KEY = '.data-api'
+ const JQUERY_NO_CONFLICT = $.fn[NAME]
+ const TRANSITION_DURATION = 600
+ const ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key
+ const ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key
+ const TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch
const Default = {
interval : 5000,
@@ -56,6 +57,7 @@ const Carousel = (($) => {
KEYDOWN : `keydown${EVENT_KEY}`,
MOUSEENTER : `mouseenter${EVENT_KEY}`,
MOUSELEAVE : `mouseleave${EVENT_KEY}`,
+ TOUCHEND : `touchend${EVENT_KEY}`,
LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,
CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`
}
@@ -98,6 +100,8 @@ const Carousel = (($) => {
this._isPaused = false
this._isSliding = false
+ this.touchTimeout = null
+
this._config = this._getConfig(config)
this._element = $(element)[0]
this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0]
@@ -120,10 +124,9 @@ const Carousel = (($) => {
// public
next() {
- if (this._isSliding) {
- throw new Error('Carousel is sliding')
+ if (!this._isSliding) {
+ this._slide(Direction.NEXT)
}
- this._slide(Direction.NEXT)
}
nextWhenVisible() {
@@ -134,10 +137,9 @@ const Carousel = (($) => {
}
prev() {
- if (this._isSliding) {
- throw new Error('Carousel is sliding')
+ if (!this._isSliding) {
+ this._slide(Direction.PREV)
}
- this._slide(Direction.PREVIOUS)
}
pause(event) {
@@ -195,7 +197,7 @@ const Carousel = (($) => {
const direction = index > activeIndex ?
Direction.NEXT :
- Direction.PREVIOUS
+ Direction.PREV
this._slide(direction, this._items[index])
}
@@ -229,11 +231,26 @@ const Carousel = (($) => {
.on(Event.KEYDOWN, (event) => this._keydown(event))
}
- if (this._config.pause === 'hover' &&
- !('ontouchstart' in document.documentElement)) {
+ if (this._config.pause === 'hover') {
$(this._element)
.on(Event.MOUSEENTER, (event) => this.pause(event))
.on(Event.MOUSELEAVE, (event) => this.cycle(event))
+ if ('ontouchstart' in document.documentElement) {
+ // if it's a touch-enabled device, mouseenter/leave are fired as
+ // part of the mouse compatibility events on first tap - the carousel
+ // would stop cycling until user tapped out of it;
+ // here, we listen for touchend, explicitly pause the carousel
+ // (as if it's the second time we tap on it, mouseenter compat event
+ // is NOT fired) and after a timeout (to allow for mouse compatibility
+ // events to fire) we explicitly restart cycling
+ $(this._element).on(Event.TOUCHEND, () => {
+ this.pause()
+ if (this.touchTimeout) {
+ clearTimeout(this.touchTimeout)
+ }
+ this.touchTimeout = setTimeout((event) => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)
+ })
+ }
}
}
@@ -263,7 +280,7 @@ const Carousel = (($) => {
_getItemByDirection(direction, activeElement) {
const isNextDirection = direction === Direction.NEXT
- const isPrevDirection = direction === Direction.PREVIOUS
+ const isPrevDirection = direction === Direction.PREV
const activeIndex = this._getItemIndex(activeElement)
const lastItemIndex = this._items.length - 1
const isGoingToWrap = isPrevDirection && activeIndex === 0 ||
@@ -273,7 +290,7 @@ const Carousel = (($) => {
return activeElement
}
- const delta = direction === Direction.PREVIOUS ? -1 : 1
+ const delta = direction === Direction.PREV ? -1 : 1
const itemIndex = (activeIndex + delta) % this._items.length
return itemIndex === -1 ?
@@ -282,9 +299,13 @@ const Carousel = (($) => {
_triggerSlideEvent(relatedTarget, eventDirectionName) {
+ const targetIndex = this._getItemIndex(relatedTarget)
+ const fromIndex = this._getItemIndex($(this._element).find(Selector.ACTIVE_ITEM)[0])
const slideEvent = $.Event(Event.SLIDE, {
relatedTarget,
- direction: eventDirectionName
+ direction: eventDirectionName,
+ from: fromIndex,
+ to: targetIndex
})
$(this._element).trigger(slideEvent)
@@ -310,9 +331,10 @@ const Carousel = (($) => {
_slide(direction, element) {
const activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]
+ const activeElementIndex = this._getItemIndex(activeElement)
const nextElement = element || activeElement &&
this._getItemByDirection(direction, activeElement)
-
+ const nextElementIndex = this._getItemIndex(nextElement)
const isCycling = Boolean(this._interval)
let directionalClassName
@@ -354,7 +376,9 @@ const Carousel = (($) => {
const slidEvent = $.Event(Event.SLID, {
relatedTarget: nextElement,
- direction: eventDirectionName
+ direction: eventDirectionName,
+ from: activeElementIndex,
+ to: nextElementIndex
})
if (Util.supportsTransitionEnd() &&
diff --git a/js/src/collapse.js b/js/src/collapse.js
index ad8815993..bf1c738f5 100644
--- a/js/src/collapse.js
+++ b/js/src/collapse.js
@@ -3,7 +3,7 @@ import Util from './util'
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): collapse.js
+ * Bootstrap (v4.0.0-alpha.6): collapse.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -18,7 +18,7 @@ const Collapse = (($) => {
*/
const NAME = 'collapse'
- const VERSION = '4.0.0-alpha.5'
+ const VERSION = '4.0.0-alpha.6'
const DATA_KEY = 'bs.collapse'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
@@ -56,7 +56,7 @@ const Collapse = (($) => {
}
const Selector = {
- ACTIVES : '.card > .show, .card > .collapsing',
+ ACTIVES : '.show, .collapsing',
DATA_TOGGLE : '[data-toggle="collapse"]'
}
@@ -112,11 +112,8 @@ const Collapse = (($) => {
}
show() {
- if (this._isTransitioning) {
- throw new Error('Collapse is transitioning')
- }
-
- if ($(this._element).hasClass(ClassName.SHOW)) {
+ if (this._isTransitioning ||
+ $(this._element).hasClass(ClassName.SHOW)) {
return
}
@@ -124,7 +121,7 @@ const Collapse = (($) => {
let activesData
if (this._parent) {
- actives = $.makeArray($(this._parent).find(Selector.ACTIVES))
+ actives = $.makeArray($(this._parent).children().children(Selector.ACTIVES))
if (!actives.length) {
actives = null
}
@@ -157,7 +154,6 @@ const Collapse = (($) => {
.addClass(ClassName.COLLAPSING)
this._element.style[dimension] = 0
- this._element.setAttribute('aria-expanded', true)
if (this._triggerArray.length) {
$(this._triggerArray)
@@ -196,11 +192,8 @@ const Collapse = (($) => {
}
hide() {
- if (this._isTransitioning) {
- throw new Error('Collapse is transitioning')
- }
-
- if (!$(this._element).hasClass(ClassName.SHOW)) {
+ if (this._isTransitioning ||
+ !$(this._element).hasClass(ClassName.SHOW)) {
return
}
@@ -211,10 +204,8 @@ const Collapse = (($) => {
}
const dimension = this._getDimension()
- const offsetDimension = dimension === Dimension.WIDTH ?
- 'offsetWidth' : 'offsetHeight'
- this._element.style[dimension] = `${this._element[offsetDimension]}px`
+ this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`
Util.reflow(this._element)
@@ -223,8 +214,6 @@ const Collapse = (($) => {
.removeClass(ClassName.COLLAPSE)
.removeClass(ClassName.SHOW)
- this._element.setAttribute('aria-expanded', false)
-
if (this._triggerArray.length) {
$(this._triggerArray)
.addClass(ClassName.COLLAPSED)
@@ -300,7 +289,6 @@ const Collapse = (($) => {
_addAriaAndCollapsedClass(element, triggerArray) {
if (element) {
const isOpen = $(element).hasClass(ClassName.SHOW)
- element.setAttribute('aria-expanded', isOpen)
if (triggerArray.length) {
$(triggerArray)
@@ -357,7 +345,9 @@ const Collapse = (($) => {
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
- event.preventDefault()
+ if (!/input|textarea/i.test(event.target.tagName)) {
+ event.preventDefault()
+ }
const target = Collapse._getTargetFromElement(this)
const data = $(target).data(DATA_KEY)
diff --git a/js/src/dropdown.js b/js/src/dropdown.js
index 97bba1c76..acc3ed453 100644
--- a/js/src/dropdown.js
+++ b/js/src/dropdown.js
@@ -1,15 +1,24 @@
+/* global Popper */
+
import Util from './util'
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): dropdown.js
+ * Bootstrap (v4.0.0-alpha.6): dropdown.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
const Dropdown = (($) => {
+ /**
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
+ */
+ if (typeof Popper === 'undefined') {
+ throw new Error('Bootstrap dropdown require Popper.js (https://popper.js.org)')
+ }
/**
* ------------------------------------------------------------------------
@@ -18,15 +27,18 @@ const Dropdown = (($) => {
*/
const NAME = 'dropdown'
- const VERSION = '4.0.0-alpha.5'
+ const VERSION = '4.0.0-alpha.6'
const DATA_KEY = 'bs.dropdown'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
const JQUERY_NO_CONFLICT = $.fn[NAME]
const ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key
+ const SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key
+ const TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key
const ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key
const ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key
const RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)
+ const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)
const Event = {
HIDE : `hide${EVENT_KEY}`,
@@ -35,24 +47,43 @@ const Dropdown = (($) => {
SHOWN : `shown${EVENT_KEY}`,
CLICK : `click${EVENT_KEY}`,
CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,
- KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`
+ KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,
+ KEYUP_DATA_API : `keyup${EVENT_KEY}${DATA_API_KEY}`
}
const ClassName = {
- BACKDROP : 'dropdown-backdrop',
- DISABLED : 'disabled',
- SHOW : 'show'
+ DISABLED : 'disabled',
+ SHOW : 'show',
+ DROPUP : 'dropup',
+ MENURIGHT : 'dropdown-menu-right',
+ MENULEFT : 'dropdown-menu-left'
}
const Selector = {
- BACKDROP : '.dropdown-backdrop',
DATA_TOGGLE : '[data-toggle="dropdown"]',
FORM_CHILD : '.dropdown form',
- ROLE_MENU : '[role="menu"]',
- ROLE_LISTBOX : '[role="listbox"]',
+ MENU : '.dropdown-menu',
NAVBAR_NAV : '.navbar-nav',
- VISIBLE_ITEMS : '[role="menu"] li:not(.disabled) a, '
- + '[role="listbox"] li:not(.disabled) a'
+ VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled)'
+ }
+
+ const AttachmentMap = {
+ TOP : 'top-start',
+ TOPEND : 'top-end',
+ BOTTOM : 'bottom-start',
+ BOTTOMEND : 'bottom-end'
+ }
+
+ const Default = {
+ placement : AttachmentMap.BOTTOM,
+ offset : 0,
+ flip : true
+ }
+
+ const DefaultType = {
+ placement : 'string',
+ offset : '(number|string)',
+ flip : 'boolean'
}
@@ -64,8 +95,11 @@ const Dropdown = (($) => {
class Dropdown {
- constructor(element) {
+ constructor(element, config) {
this._element = element
+ this._popper = null
+ this._config = this._getConfig(config)
+ this._menu = this._getMenuElement()
this._addEventListeners()
}
@@ -77,75 +111,163 @@ const Dropdown = (($) => {
return VERSION
}
+ static get Default() {
+ return Default
+ }
+
+ static get DefaultType() {
+ return DefaultType
+ }
// public
toggle() {
- if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
- return false
+ if (this._element.disabled || $(this._element).hasClass(ClassName.DISABLED)) {
+ return
}
- const parent = Dropdown._getParentFromElement(this)
- const isActive = $(parent).hasClass(ClassName.SHOW)
+ const parent = Dropdown._getParentFromElement(this._element)
+ const isActive = $(this._menu).hasClass(ClassName.SHOW)
Dropdown._clearMenus()
if (isActive) {
- return false
- }
-
- if ('ontouchstart' in document.documentElement &&
- !$(parent).closest(Selector.NAVBAR_NAV).length) {
-
- // if mobile we use a backdrop because click events don't delegate
- const dropdown = document.createElement('div')
- dropdown.className = ClassName.BACKDROP
- $(dropdown).insertBefore(this)
- $(dropdown).on('click', Dropdown._clearMenus)
+ return
}
const relatedTarget = {
- relatedTarget : this
+ relatedTarget : this._element
}
- const showEvent = $.Event(Event.SHOW, relatedTarget)
+ const showEvent = $.Event(Event.SHOW, relatedTarget)
$(parent).trigger(showEvent)
if (showEvent.isDefaultPrevented()) {
- return false
+ return
}
- this.focus()
- this.setAttribute('aria-expanded', true)
+ let element = this._element
+ // for dropup with alignment we use the parent as popper container
+ if ($(parent).hasClass(ClassName.DROPUP)) {
+ if ($(this._menu).hasClass(ClassName.MENULEFT) || $(this._menu).hasClass(ClassName.MENURIGHT)) {
+ element = parent
+ }
+ }
+ this._popper = new Popper(element, this._menu, {
+ placement : this._getPlacement(),
+ modifiers : {
+ offset : {
+ offset : this._config.offset
+ },
+ flip : {
+ enabled : this._config.flip
+ }
+ }
+ })
- $(parent).toggleClass(ClassName.SHOW)
- $(parent).trigger($.Event(Event.SHOWN, relatedTarget))
+ // if this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+ if ('ontouchstart' in document.documentElement &&
+ !$(parent).closest(Selector.NAVBAR_NAV).length) {
+ $('body').children().on('mouseover', null, $.noop)
+ }
- return false
+ this._element.focus()
+ this._element.setAttribute('aria-expanded', true)
+
+ $(this._menu).toggleClass(ClassName.SHOW)
+ $(parent)
+ .toggleClass(ClassName.SHOW)
+ .trigger($.Event(Event.SHOWN, relatedTarget))
}
dispose() {
$.removeData(this._element, DATA_KEY)
$(this._element).off(EVENT_KEY)
this._element = null
+ this._menu = null
+ if (this._popper !== null) {
+ this._popper.destroy()
+ }
+ this._popper = null
}
+ update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate()
+ }
+ }
// private
_addEventListeners() {
- $(this._element).on(Event.CLICK, this.toggle)
+ $(this._element).on(Event.CLICK, (event) => {
+ event.preventDefault()
+ event.stopPropagation()
+ this.toggle()
+ })
+ }
+
+ _getConfig(config) {
+ const elementData = $(this._element).data()
+ if (elementData.placement !== undefined) {
+ elementData.placement = AttachmentMap[elementData.placement.toUpperCase()]
+ }
+
+ config = $.extend(
+ {},
+ this.constructor.Default,
+ $(this._element).data(),
+ config
+ )
+
+ Util.typeCheckConfig(
+ NAME,
+ config,
+ this.constructor.DefaultType
+ )
+
+ return config
+ }
+
+ _getMenuElement() {
+ if (!this._menu) {
+ const parent = Dropdown._getParentFromElement(this._element)
+ this._menu = $(parent).find(Selector.MENU)[0]
+ }
+ return this._menu
}
+ _getPlacement() {
+ const $parentDropdown = $(this._element).parent()
+ let placement = this._config.placement
+
+ // Handle dropup
+ if ($parentDropdown.hasClass(ClassName.DROPUP) || this._config.placement === AttachmentMap.TOP) {
+ placement = AttachmentMap.TOP
+ if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.TOPEND
+ }
+ }
+ else {
+ if ($(this._menu).hasClass(ClassName.MENURIGHT)) {
+ placement = AttachmentMap.BOTTOMEND
+ }
+ }
+ return placement
+ }
// static
static _jQueryInterface(config) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
+ const _config = typeof config === 'object' ? config : null
if (!data) {
- data = new Dropdown(this)
+ data = new Dropdown(this, _config)
$(this).data(DATA_KEY, data)
}
@@ -153,36 +275,37 @@ const Dropdown = (($) => {
if (data[config] === undefined) {
throw new Error(`No method named "${config}"`)
}
- data[config].call(this)
+ data[config]()
}
})
}
static _clearMenus(event) {
- if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {
+ if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||
+ event.type === 'keyup' && event.which !== TAB_KEYCODE)) {
return
}
- const backdrop = $(Selector.BACKDROP)[0]
- if (backdrop) {
- backdrop.parentNode.removeChild(backdrop)
- }
-
const toggles = $.makeArray($(Selector.DATA_TOGGLE))
-
for (let i = 0; i < toggles.length; i++) {
const parent = Dropdown._getParentFromElement(toggles[i])
+ const context = $(toggles[i]).data(DATA_KEY)
const relatedTarget = {
relatedTarget : toggles[i]
}
+ if (!context) {
+ continue
+ }
+
+ const dropdownMenu = context._menu
if (!$(parent).hasClass(ClassName.SHOW)) {
continue
}
- if (event && event.type === 'click' &&
- /input|textarea/i.test(event.target.tagName) &&
- $.contains(parent, event.target)) {
+ if (event && (event.type === 'click' &&
+ /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE)
+ && $.contains(parent, event.target)) {
continue
}
@@ -192,8 +315,15 @@ const Dropdown = (($) => {
continue
}
+ // if this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().off('mouseover', null, $.noop)
+ }
+
toggles[i].setAttribute('aria-expanded', 'false')
+ $(dropdownMenu).removeClass(ClassName.SHOW)
$(parent)
.removeClass(ClassName.SHOW)
.trigger($.Event(Event.HIDDEN, relatedTarget))
@@ -212,7 +342,7 @@ const Dropdown = (($) => {
}
static _dataApiKeydownHandler(event) {
- if (!/(38|40|27|32)/.test(event.which) ||
+ if (!REGEXP_KEYDOWN.test(event.which) || /button/i.test(event.target.tagName) && event.which === SPACE_KEYCODE ||
/input|textarea/i.test(event.target.tagName)) {
return
}
@@ -227,8 +357,8 @@ const Dropdown = (($) => {
const parent = Dropdown._getParentFromElement(this)
const isActive = $(parent).hasClass(ClassName.SHOW)
- if (!isActive && event.which !== ESCAPE_KEYCODE ||
- isActive && event.which === ESCAPE_KEYCODE) {
+ if (!isActive && (event.which !== ESCAPE_KEYCODE || event.which !== SPACE_KEYCODE) ||
+ isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
if (event.which === ESCAPE_KEYCODE) {
const toggle = $(parent).find(Selector.DATA_TOGGLE)[0]
@@ -273,10 +403,13 @@ const Dropdown = (($) => {
$(document)
.on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)
- .on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler)
- .on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler)
- .on(Event.CLICK_DATA_API, Dropdown._clearMenus)
- .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle)
+ .on(Event.KEYDOWN_DATA_API, Selector.MENU, Dropdown._dataApiKeydownHandler)
+ .on(`${Event.CLICK_DATA_API} ${Event.KEYUP_DATA_API}`, Dropdown._clearMenus)
+ .on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
+ event.preventDefault()
+ event.stopPropagation()
+ Dropdown._jQueryInterface.call($(this), 'toggle')
+ })
.on(Event.CLICK_DATA_API, Selector.FORM_CHILD, (e) => {
e.stopPropagation()
})
diff --git a/js/src/modal.js b/js/src/modal.js
index 94abd19f4..02d463945 100644
--- a/js/src/modal.js
+++ b/js/src/modal.js
@@ -3,7 +3,7 @@ import Util from './util'
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): modal.js
+ * Bootstrap (v4.0.0-alpha.6): modal.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -18,7 +18,7 @@ const Modal = (($) => {
*/
const NAME = 'modal'
- const VERSION = '4.0.0-alpha.5'
+ const VERSION = '4.0.0-alpha.6'
const DATA_KEY = 'bs.modal'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
@@ -67,7 +67,8 @@ const Modal = (($) => {
DIALOG : '.modal-dialog',
DATA_TOGGLE : '[data-toggle="modal"]',
DATA_DISMISS : '[data-dismiss="modal"]',
- FIXED_CONTENT : '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'
+ FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+ NAVBAR_TOGGLER : '.navbar-toggler'
}
@@ -87,7 +88,6 @@ const Modal = (($) => {
this._isShown = false
this._isBodyOverflowing = false
this._ignoreBackdropClick = false
- this._isTransitioning = false
this._originalBodyPadding = 0
this._scrollbarWidth = 0
}
@@ -112,13 +112,13 @@ const Modal = (($) => {
show(relatedTarget) {
if (this._isTransitioning) {
- throw new Error('Modal is transitioning')
+ return
}
- if (Util.supportsTransitionEnd() &&
- $(this._element).hasClass(ClassName.FADE)) {
+ if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {
this._isTransitioning = true
}
+
const showEvent = $.Event(Event.SHOW, {
relatedTarget
})
@@ -161,17 +161,18 @@ const Modal = (($) => {
event.preventDefault()
}
- if (this._isTransitioning) {
- throw new Error('Modal is transitioning')
+ if (this._isTransitioning || !this._isShown) {
+ return
}
- const transition = Util.supportsTransitionEnd() &&
- $(this._element).hasClass(ClassName.FADE)
+ const transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)
+
if (transition) {
this._isTransitioning = true
}
const hideEvent = $.Event(Event.HIDE)
+
$(this._element).trigger(hideEvent)
if (!this._isShown || hideEvent.isDefaultPrevented()) {
@@ -191,6 +192,7 @@ const Modal = (($) => {
$(this._dialog).off(Event.MOUSEDOWN_DISMISS)
if (transition) {
+
$(this._element)
.one(Util.TRANSITION_END, (event) => this._hideModal(event))
.emulateTransitionEnd(TRANSITION_DURATION)
@@ -211,10 +213,12 @@ const Modal = (($) => {
this._isShown = null
this._isBodyOverflowing = null
this._ignoreBackdropClick = null
- this._originalBodyPadding = null
this._scrollbarWidth = null
}
+ handleUpdate() {
+ this._adjustDialog()
+ }
// private
@@ -285,6 +289,7 @@ const Modal = (($) => {
if (this._isShown && this._config.keyboard) {
$(this._element).on(Event.KEYDOWN_DISMISS, (event) => {
if (event.which === ESCAPE_KEYCODE) {
+ event.preventDefault()
this.hide()
}
})
@@ -296,7 +301,7 @@ const Modal = (($) => {
_setResizeEvent() {
if (this._isShown) {
- $(window).on(Event.RESIZE, (event) => this._handleUpdate(event))
+ $(window).on(Event.RESIZE, (event) => this.handleUpdate(event))
} else {
$(window).off(Event.RESIZE)
}
@@ -304,7 +309,7 @@ const Modal = (($) => {
_hideModal() {
this._element.style.display = 'none'
- this._element.setAttribute('aria-hidden', 'true')
+ this._element.setAttribute('aria-hidden', true)
this._isTransitioning = false
this._showBackdrop(() => {
$(document.body).removeClass(ClassName.OPEN)
@@ -401,10 +406,6 @@ const Modal = (($) => {
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
- _handleUpdate() {
- this._adjustDialog()
- }
-
_adjustDialog() {
const isModalOverflowing =
this._element.scrollHeight > document.documentElement.clientHeight
@@ -429,28 +430,60 @@ const Modal = (($) => {
}
_setScrollbar() {
- const bodyPadding = parseInt(
- $(Selector.FIXED_CONTENT).css('padding-right') || 0,
- 10
- )
+ if (this._isBodyOverflowing) {
+ // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
+ // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
+
+ // Adjust fixed content padding
+ $(Selector.FIXED_CONTENT).each((index, element) => {
+ const actualPadding = $(element)[0].style.paddingRight
+ const calculatedPadding = $(element).css('padding-right')
+ $(element).data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)
+ })
- this._originalBodyPadding = document.body.style.paddingRight || ''
+ // Adjust navbar-toggler margin
+ $(Selector.NAVBAR_TOGGLER).each((index, element) => {
+ const actualMargin = $(element)[0].style.marginRight
+ const calculatedMargin = $(element).css('margin-right')
+ $(element).data('margin-right', actualMargin).css('margin-right', `${parseFloat(calculatedMargin) + this._scrollbarWidth}px`)
+ })
- if (this._isBodyOverflowing) {
- document.body.style.paddingRight =
- `${bodyPadding + this._scrollbarWidth}px`
+ // Adjust body padding
+ const actualPadding = document.body.style.paddingRight
+ const calculatedPadding = $('body').css('padding-right')
+ $('body').data('padding-right', actualPadding).css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)
}
}
_resetScrollbar() {
- document.body.style.paddingRight = this._originalBodyPadding
+ // Restore fixed content padding
+ $(Selector.FIXED_CONTENT).each((index, element) => {
+ const padding = $(element).data('padding-right')
+ if (typeof padding !== 'undefined') {
+ $(element).css('padding-right', padding).removeData('padding-right')
+ }
+ })
+
+ // Restore navbar-toggler margin
+ $(Selector.NAVBAR_TOGGLER).each((index, element) => {
+ const margin = $(element).data('margin-right')
+ if (typeof margin !== 'undefined') {
+ $(element).css('margin-right', margin).removeData('margin-right')
+ }
+ })
+
+ // Restore body padding
+ const padding = $('body').data('padding-right')
+ if (typeof padding !== 'undefined') {
+ $('body').css('padding-right', padding).removeData('padding-right')
+ }
}
_getScrollbarWidth() { // thx d.walsh
const scrollDiv = document.createElement('div')
scrollDiv.className = ClassName.SCROLLBAR_MEASURER
document.body.appendChild(scrollDiv)
- const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
+ const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth
document.body.removeChild(scrollDiv)
return scrollbarWidth
}
diff --git a/js/src/popover.js b/js/src/popover.js
index 33bc9e48c..a068420d6 100644
--- a/js/src/popover.js
+++ b/js/src/popover.js
@@ -3,7 +3,7 @@ import Tooltip from './tooltip'
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): popover.js
+ * Bootstrap (v4.0.0-alpha.6): popover.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -18,16 +18,19 @@ const Popover = (($) => {
*/
const NAME = 'popover'
- const VERSION = '4.0.0-alpha.5'
+ const VERSION = '4.0.0-alpha.6'
const DATA_KEY = 'bs.popover'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
+ const CLASS_PREFIX = 'bs-popover'
+ const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g')
const Default = $.extend({}, Tooltip.Default, {
placement : 'right',
trigger : 'click',
content : '',
template : '<div class="popover" role="tooltip">'
+ + '<div class="arrow" x-arrow></div>'
+ '<h3 class="popover-title"></h3>'
+ '<div class="popover-content"></div></div>'
})
@@ -106,6 +109,10 @@ const Popover = (($) => {
return this.getTitle() || this._getContent()
}
+ addAttachmentClass(attachment) {
+ $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)
+ }
+
getTipElement() {
return this.tip = this.tip || $(this.config.template)[0]
}
@@ -118,8 +125,6 @@ const Popover = (($) => {
this.setElementContent($tip.find(Selector.CONTENT), this._getContent())
$tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)
-
- this.cleanupTether()
}
// private
@@ -131,6 +136,14 @@ const Popover = (($) => {
this.config.content)
}
+ _cleanTipClass() {
+ const $tip = $(this.getTipElement())
+ const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''))
+ }
+ }
+
// static
diff --git a/js/src/scrollspy.js b/js/src/scrollspy.js
index 0a4708bf9..7ea9f2483 100644
--- a/js/src/scrollspy.js
+++ b/js/src/scrollspy.js
@@ -3,7 +3,7 @@ import Util from './util'
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): scrollspy.js
+ * Bootstrap (v4.0.0-alpha.6): scrollspy.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -18,7 +18,7 @@ const ScrollSpy = (($) => {
*/
const NAME = 'scrollspy'
- const VERSION = '4.0.0-alpha.5'
+ const VERSION = '4.0.0-alpha.6'
const DATA_KEY = 'bs.scrollspy'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
@@ -45,18 +45,15 @@ const ScrollSpy = (($) => {
const ClassName = {
DROPDOWN_ITEM : 'dropdown-item',
DROPDOWN_MENU : 'dropdown-menu',
- NAV_LINK : 'nav-link',
- NAV : 'nav',
ACTIVE : 'active'
}
const Selector = {
DATA_SPY : '[data-spy="scroll"]',
ACTIVE : '.active',
- LIST_ITEM : '.list-item',
- LI : 'li',
- LI_DROPDOWN : 'li.dropdown',
+ NAV_LIST_GROUP : '.nav, .list-group',
NAV_LINKS : '.nav-link',
+ LIST_ITEMS : '.list-group-item',
DROPDOWN : '.dropdown',
DROPDOWN_ITEMS : '.dropdown-item',
DROPDOWN_TOGGLE : '.dropdown-toggle'
@@ -81,6 +78,7 @@ const ScrollSpy = (($) => {
this._scrollElement = element.tagName === 'BODY' ? window : element
this._config = this._getConfig(config)
this._selector = `${this._config.target} ${Selector.NAV_LINKS},`
+ + `${this._config.target} ${Selector.LIST_ITEMS},`
+ `${this._config.target} ${Selector.DROPDOWN_ITEMS}`
this._offsets = []
this._targets = []
@@ -133,12 +131,15 @@ const ScrollSpy = (($) => {
target = $(targetSelector)[0]
}
- if (target && (target.offsetWidth || target.offsetHeight)) {
- // todo (fat): remove sketch reliance on jQuery position/offset
- return [
- $(target)[offsetMethod]().top + offsetBase,
- targetSelector
- ]
+ if (target) {
+ const targetBCR = target.getBoundingClientRect()
+ if (targetBCR.width || targetBCR.height) {
+ // todo (fat): remove sketch reliance on jQuery position/offset
+ return [
+ $(target)[offsetMethod]().top + offsetBase,
+ targetSelector
+ ]
+ }
}
return null
})
@@ -186,7 +187,7 @@ const ScrollSpy = (($) => {
_getScrollTop() {
return this._scrollElement === window ?
- this._scrollElement.scrollY : this._scrollElement.scrollTop
+ this._scrollElement.pageYOffset : this._scrollElement.scrollTop
}
_getScrollHeight() {
@@ -198,7 +199,7 @@ const ScrollSpy = (($) => {
_getOffsetHeight() {
return this._scrollElement === window ?
- window.innerHeight : this._scrollElement.offsetHeight
+ window.innerHeight : this._scrollElement.getBoundingClientRect().height
}
_process() {
@@ -256,9 +257,11 @@ const ScrollSpy = (($) => {
$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE)
$link.addClass(ClassName.ACTIVE)
} else {
- // todo (fat) this is kinda sus...
- // recursively add actives to tested nav-links
- $link.parents(Selector.LI).find(`> ${Selector.NAV_LINKS}`).addClass(ClassName.ACTIVE)
+ // Set triggered link as active
+ $link.addClass(ClassName.ACTIVE)
+ // Set triggered links parents as active
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
+ $link.parents(Selector.NAV_LIST_GROUP).prev(`${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`).addClass(ClassName.ACTIVE)
}
$(this._scrollElement).trigger(Event.ACTIVATE, {
diff --git a/js/src/tab.js b/js/src/tab.js
index 2f4e453e0..c7bc520df 100644
--- a/js/src/tab.js
+++ b/js/src/tab.js
@@ -3,7 +3,7 @@ import Util from './util'
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): tab.js
+ * Bootstrap (v4.0.0-alpha.6): tab.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -18,7 +18,7 @@ const Tab = (($) => {
*/
const NAME = 'tab'
- const VERSION = '4.0.0-alpha.5'
+ const VERSION = '4.0.0-alpha.6'
const DATA_KEY = 'bs.tab'
const EVENT_KEY = `.${DATA_KEY}`
const DATA_API_KEY = '.data-api'
@@ -42,14 +42,10 @@ const Tab = (($) => {
}
const Selector = {
- A : 'a',
- LI : 'li',
DROPDOWN : '.dropdown',
- LIST : 'ul:not(.dropdown-menu), ol:not(.dropdown-menu)',
- FADE_CHILD : '> .nav-item .fade, > .fade',
+ NAV_LIST_GROUP : '.nav, .list-group',
ACTIVE : '.active',
- ACTIVE_CHILD : '> .nav-item > .active, > .active',
- DATA_TOGGLE : '[data-toggle="tab"], [data-toggle="pill"]',
+ DATA_TOGGLE : '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
DROPDOWN_TOGGLE : '.dropdown-toggle',
DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'
}
@@ -87,7 +83,7 @@ const Tab = (($) => {
let target
let previous
- const listElement = $(this._element).closest(Selector.LIST)[0]
+ const listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]
const selector = Util.getSelectorFromElement(this._element)
if (listElement) {
@@ -144,7 +140,7 @@ const Tab = (($) => {
}
dispose() {
- $.removeClass(this._element, DATA_KEY)
+ $.removeData(this._element, DATA_KEY)
this._element = null
}
@@ -152,11 +148,10 @@ const Tab = (($) => {
// private
_activate(element, container, callback) {
- const active = $(container).find(Selector.ACTIVE_CHILD)[0]
+ const active = $(container).find(Selector.ACTIVE)[0]
const isTransitioning = callback
&& Util.supportsTransitionEnd()
- && (active && $(active).hasClass(ClassName.FADE)
- || Boolean($(container).find(Selector.FADE_CHILD)[0]))
+ && (active && $(active).hasClass(ClassName.FADE))
const complete = () => this._transitionComplete(
element,
diff --git a/js/src/tooltip.js b/js/src/tooltip.js
index 0c1d381b9..1d53b0470 100644
--- a/js/src/tooltip.js
+++ b/js/src/tooltip.js
@@ -1,11 +1,11 @@
-/* global Tether */
+/* global Popper */
import Util from './util'
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): tooltip.js
+ * Bootstrap (v4.0.0-alpha.6): tooltip.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -13,11 +13,11 @@ import Util from './util'
const Tooltip = (($) => {
/**
- * Check for Tether dependency
- * Tether - http://tether.io/
+ * Check for Popper dependency
+ * Popper - https://popper.js.org
*/
- if (typeof Tether === 'undefined') {
- throw new Error('Bootstrap tooltips require Tether (http://tether.io/)')
+ if (typeof Popper === 'undefined') {
+ throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)')
}
@@ -28,47 +28,50 @@ const Tooltip = (($) => {
*/
const NAME = 'tooltip'
- const VERSION = '4.0.0-alpha.5'
+ const VERSION = '4.0.0-alpha.6'
const DATA_KEY = 'bs.tooltip'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const TRANSITION_DURATION = 150
- const CLASS_PREFIX = 'bs-tether'
-
- const Default = {
- animation : true,
- template : '<div class="tooltip" role="tooltip">'
- + '<div class="tooltip-inner"></div></div>',
- trigger : 'hover focus',
- title : '',
- delay : 0,
- html : false,
- selector : false,
- placement : 'top',
- offset : '0 0',
- constraints : [],
- container : false
- }
+ const CLASS_PREFIX = 'bs-tooltip'
+ const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g')
const DefaultType = {
- animation : 'boolean',
- template : 'string',
- title : '(string|element|function)',
- trigger : 'string',
- delay : '(number|object)',
- html : 'boolean',
- selector : '(string|boolean)',
- placement : '(string|function)',
- offset : 'string',
- constraints : 'array',
- container : '(string|element|boolean)'
+ animation : 'boolean',
+ template : 'string',
+ title : '(string|element|function)',
+ trigger : 'string',
+ delay : '(number|object)',
+ html : 'boolean',
+ selector : '(string|boolean)',
+ placement : '(string|function)',
+ offset : '(number|string)',
+ container : '(string|element|boolean)',
+ fallbackPlacement : '(string|array)'
}
const AttachmentMap = {
- TOP : 'bottom center',
- RIGHT : 'middle left',
- BOTTOM : 'top center',
- LEFT : 'middle right'
+ AUTO : 'auto',
+ TOP : 'top',
+ RIGHT : 'right',
+ BOTTOM : 'bottom',
+ LEFT : 'left'
+ }
+
+ const Default = {
+ animation : true,
+ template : '<div class="tooltip" role="tooltip">'
+ + '<div class="arrow" x-arrow></div>'
+ + '<div class="tooltip-inner"></div></div>',
+ trigger : 'hover focus',
+ title : '',
+ delay : 0,
+ html : false,
+ selector : false,
+ placement : 'top',
+ offset : 0,
+ container : false,
+ fallbackPlacement : 'flip'
}
const HoverState = {
@@ -99,11 +102,6 @@ const Tooltip = (($) => {
TOOLTIP_INNER : '.tooltip-inner'
}
- const TetherClass = {
- element : false,
- enabled : false
- }
-
const Trigger = {
HOVER : 'hover',
FOCUS : 'focus',
@@ -123,12 +121,11 @@ const Tooltip = (($) => {
constructor(element, config) {
// private
- this._isEnabled = true
- this._timeout = 0
- this._hoverState = ''
- this._activeTrigger = {}
- this._isTransitioning = false
- this._tether = null
+ this._isEnabled = true
+ this._timeout = 0
+ this._hoverState = ''
+ this._activeTrigger = {}
+ this._popper = null
// protected
this.element = element
@@ -220,8 +217,6 @@ const Tooltip = (($) => {
dispose() {
clearTimeout(this._timeout)
- this.cleanupTether()
-
$.removeData(this.element, this.constructor.DATA_KEY)
$(this.element).off(this.constructor.EVENT_KEY)
@@ -235,7 +230,10 @@ const Tooltip = (($) => {
this._timeout = null
this._hoverState = null
this._activeTrigger = null
- this._tether = null
+ if (this._popper !== null) {
+ this._popper.destroy()
+ }
+ this._popper = null
this.element = null
this.config = null
@@ -249,9 +247,6 @@ const Tooltip = (($) => {
const showEvent = $.Event(this.constructor.Event.SHOW)
if (this.isWithContent() && this._isEnabled) {
- if (this._isTransitioning) {
- throw new Error('Tooltip is transitioning')
- }
$(this.element).trigger(showEvent)
const isInTheDom = $.contains(
@@ -280,35 +275,54 @@ const Tooltip = (($) => {
this.config.placement
const attachment = this._getAttachment(placement)
+ this.addAttachmentClass(attachment)
const container = this.config.container === false ? document.body : $(this.config.container)
- $(tip)
- .data(this.constructor.DATA_KEY, this)
- .appendTo(container)
+ $(tip).data(this.constructor.DATA_KEY, this)
+
+ if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
+ $(tip).appendTo(container)
+ }
$(this.element).trigger(this.constructor.Event.INSERTED)
- this._tether = new Tether({
- attachment,
- element : tip,
- target : this.element,
- classes : TetherClass,
- classPrefix : CLASS_PREFIX,
- offset : this.config.offset,
- constraints : this.config.constraints,
- addTargetClasses: false
+ this._popper = new Popper(this.element, tip, {
+ placement : attachment,
+ modifiers : {
+ offset : {
+ offset : this.config.offset
+ },
+ flip : {
+ behavior : this.config.fallbackPlacement
+ }
+ },
+ onCreate : (data) => {
+ if (data.originalPlacement !== data.placement) {
+ this._handlePopperPlacementChange(data)
+ }
+ },
+ onUpdate : (data) => {
+ this._handlePopperPlacementChange(data)
+ }
})
- Util.reflow(tip)
- this._tether.position()
-
$(tip).addClass(ClassName.SHOW)
+ // if this is a touch-enabled device we add extra
+ // empty mouseover listeners to the body's immediate children;
+ // only needed because of broken event delegation on iOS
+ // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().on('mouseover', null, $.noop)
+ }
+
const complete = () => {
+ if (this.config.animation) {
+ this._fixTransition()
+ }
const prevHoverState = this._hoverState
- this._hoverState = null
- this._isTransitioning = false
+ this._hoverState = null
$(this.element).trigger(this.constructor.Event.SHOWN)
@@ -318,32 +332,29 @@ const Tooltip = (($) => {
}
if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
- this._isTransitioning = true
$(this.tip)
.one(Util.TRANSITION_END, complete)
.emulateTransitionEnd(Tooltip._TRANSITION_DURATION)
- return
+ } else {
+ complete()
}
-
- complete()
}
}
hide(callback) {
const tip = this.getTipElement()
const hideEvent = $.Event(this.constructor.Event.HIDE)
- if (this._isTransitioning) {
- throw new Error('Tooltip is transitioning')
- }
const complete = () => {
if (this._hoverState !== HoverState.SHOW && tip.parentNode) {
tip.parentNode.removeChild(tip)
}
+ this._cleanTipClass()
this.element.removeAttribute('aria-describedby')
$(this.element).trigger(this.constructor.Event.HIDDEN)
- this._isTransitioning = false
- this.cleanupTether()
+ if (this._popper !== null) {
+ this._popper.destroy()
+ }
if (callback) {
callback()
@@ -358,13 +369,19 @@ const Tooltip = (($) => {
$(tip).removeClass(ClassName.SHOW)
+ // if this is a touch-enabled device we remove the extra
+ // empty mouseover listeners we added for iOS support
+ if ('ontouchstart' in document.documentElement) {
+ $('body').children().off('mouseover', null, $.noop)
+ }
+
this._activeTrigger[Trigger.CLICK] = false
this._activeTrigger[Trigger.FOCUS] = false
this._activeTrigger[Trigger.HOVER] = false
if (Util.supportsTransitionEnd() &&
$(this.tip).hasClass(ClassName.FADE)) {
- this._isTransitioning = true
+
$(tip)
.one(Util.TRANSITION_END, complete)
.emulateTransitionEnd(TRANSITION_DURATION)
@@ -374,8 +391,14 @@ const Tooltip = (($) => {
}
this._hoverState = ''
+
}
+ update() {
+ if (this._popper !== null) {
+ this._popper.scheduleUpdate()
+ }
+ }
// protected
@@ -383,18 +406,18 @@ const Tooltip = (($) => {
return Boolean(this.getTitle())
}
+ addAttachmentClass(attachment) {
+ $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)
+ }
+
getTipElement() {
return this.tip = this.tip || $(this.config.template)[0]
}
setContent() {
const $tip = $(this.getTipElement())
-
this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle())
-
$tip.removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)
-
- this.cleanupTether()
}
setElementContent($element, content) {
@@ -425,12 +448,6 @@ const Tooltip = (($) => {
return title
}
- cleanupTether() {
- if (this._tether) {
- this._tether.destroy()
- }
- }
-
// private
@@ -603,6 +620,14 @@ const Tooltip = (($) => {
}
}
+ if (config.title && typeof config.title === 'number') {
+ config.title = config.title.toString()
+ }
+
+ if (config.content && typeof config.content === 'number') {
+ config.content = config.content.toString()
+ }
+
Util.typeCheckConfig(
NAME,
config,
@@ -626,6 +651,31 @@ const Tooltip = (($) => {
return config
}
+ _cleanTipClass() {
+ const $tip = $(this.getTipElement())
+ const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)
+ if (tabClass !== null && tabClass.length > 0) {
+ $tip.removeClass(tabClass.join(''))
+ }
+ }
+
+ _handlePopperPlacementChange(data) {
+ this._cleanTipClass()
+ this.addAttachmentClass(this._getAttachment(data.placement))
+ }
+
+ _fixTransition() {
+ const tip = this.getTipElement()
+ const initConfigAnimation = this.config.animation
+ if (tip.getAttribute('x-placement') !== null) {
+ return
+ }
+ $(tip).removeClass(ClassName.FADE)
+ this.config.animation = false
+ this.hide()
+ this.show()
+ this.config.animation = initConfigAnimation
+ }
// static
diff --git a/js/src/util.js b/js/src/util.js
index 06424fbfe..3c0d02251 100644
--- a/js/src/util.js
+++ b/js/src/util.js
@@ -1,6 +1,6 @@
/**
* --------------------------------------------------------------------------
- * Bootstrap (v4.0.0-alpha.5): util.js
+ * Bootstrap (v4.0.0-alpha.6): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -112,13 +112,16 @@ const Util = (($) => {
getSelectorFromElement(element) {
let selector = element.getAttribute('data-target')
-
- if (!selector) {
+ if (!selector || selector === '#') {
selector = element.getAttribute('href') || ''
- selector = /^#[a-z]/i.test(selector) ? selector : null
}
- return selector
+ try {
+ const $selector = $(selector)
+ return $selector.length > 0 ? selector : null
+ } catch (error) {
+ return null
+ }
},
reflow(element) {
diff --git a/js/tests/.eslintrc.json b/js/tests/.eslintrc.json
index 7ae9cf966..a05a3a390 100644
--- a/js/tests/.eslintrc.json
+++ b/js/tests/.eslintrc.json
@@ -1,7 +1,7 @@
{
"env": {
- "qunit": true,
- "es6": false
+ "es6": false,
+ "qunit": true
},
"globals": {
"Util": false
@@ -10,6 +10,7 @@
"ecmaVersion": 5,
"sourceType": "script"
},
+ "extends": "../.eslintrc.json",
"rules": {
// Best Practices
"consistent-return": "off",
@@ -23,12 +24,18 @@
// Strict Mode
"strict": "off",
+ // NodeJS and CommonJS
+ "global-require": "off",
+ "no-process-env": "off",
+ "no-process-exit": "off",
+
// Stylistic Issues
"brace-style": "off",
"func-style": "off",
"max-statements-per-line": "off",
"object-curly-newline": "off",
"object-property-newline": "off",
+ "spaced-comment": "off",
// ECMAScript 6
"no-var": "off",
diff --git a/js/tests/README.md b/js/tests/README.md
index b2d505723..72ece2d36 100644
--- a/js/tests/README.md
+++ b/js/tests/README.md
@@ -6,7 +6,7 @@ Bootstrap uses [QUnit](https://qunitjs.com/), a powerful, easy-to-use JavaScript
* `vendor/` contains third-party testing-related code (QUnit and jQuery).
* `visual/` contains "visual" tests which are run interactively in real browsers and require manual verification by humans.
-To run the unit test suite via [PhantomJS](http://phantomjs.org/), run `grunt test-js`.
+To run the unit test suite via [PhantomJS](http://phantomjs.org/), run `npm run js-test`.
To run the unit test suite via a real web browser, open `index.html` in the browser.
@@ -16,7 +16,7 @@ To run the unit test suite via a real web browser, open `index.html` in the brow
1. Locate and open the file dedicated to the plugin which you need to add tests to (`unit/<plugin-name>.js`).
2. Review the [QUnit API Documentation](https://api.qunitjs.com/) and use the existing tests as references for how to structure your new tests.
3. Write the necessary unit test(s) for the new or revised functionality.
-4. Run `grunt test-js` to see the results of your newly-added test(s).
+4. Run `npm run js-test` to see the results of your newly-added test(s).
**Note:** Your new unit tests should fail before your changes are applied to the plugin, and should pass after your changes are applied to the plugin.
diff --git a/js/tests/index.html b/js/tests/index.html
index e4cbae42f..d17608e4a 100644
--- a/js/tests/index.html
+++ b/js/tests/index.html
@@ -2,67 +2,58 @@
<html>
<head>
<meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Bootstrap Plugin Test Suite</title>
- <meta name="viewport" content="width=device-width, initial-scale=1">
<!-- jQuery -->
- <script src="vendor/jquery.min.js"></script>
- <script src="vendor/tether.min.js"></script>
- <script>
- // Disable jQuery event aliases to ensure we don't accidentally use any of them
- (function () {
- var eventAliases = [
- 'blur',
- 'focus',
- 'focusin',
- 'focusout',
- 'load',
- 'resize',
- 'scroll',
- 'unload',
- 'click',
- 'dblclick',
- 'mousedown',
- 'mouseup',
- 'mousemove',
- 'mouseover',
- 'mouseout',
- 'mouseenter',
- 'mouseleave',
- 'change',
- 'select',
- 'submit',
- 'keydown',
- 'keypress',
- 'keyup',
- 'error',
- 'contextmenu',
- 'hover',
- 'bind',
- 'unbind',
- 'delegate',
- 'undelegate'
- ]
- for (var i = 0; i < eventAliases.length; i++) {
- var eventAlias = eventAliases[i]
- $.fn[eventAlias] = function () {
- throw new Error('Using the ".' + eventAlias + '()" method is not allowed, so that Bootstrap can be compatible with custom jQuery builds which exclude the "event aliases" module that defines said method. See https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#js')
- }
- }
- })()
- </script>
+ <script src="../../docs/assets/js/vendor/jquery-slim.min.js"></script>
+ <script src="../../docs/assets/js/vendor/popper.min.js"></script>
<!-- QUnit -->
<link rel="stylesheet" href="vendor/qunit.css" media="screen">
<script src="vendor/qunit.js"></script>
+
<script>
- // See https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit
- var log = []
+ // Disable jQuery event aliases to ensure we don't accidentally use any of them
+ [
+ 'blur',
+ 'focus',
+ 'focusin',
+ 'focusout',
+ 'resize',
+ 'scroll',
+ 'click',
+ 'dblclick',
+ 'mousedown',
+ 'mouseup',
+ 'mousemove',
+ 'mouseover',
+ 'mouseout',
+ 'mouseenter',
+ 'mouseleave',
+ 'change',
+ 'select',
+ 'submit',
+ 'keydown',
+ 'keypress',
+ 'keyup',
+ 'contextmenu'
+ ].forEach(function(eventAlias) {
+ $.fn[eventAlias] = function() {
+ throw new Error('Using the ".' + eventAlias + '()" method is not allowed, so that Bootstrap can be compatible with custom jQuery builds which exclude the "event aliases" module that defines said method. See https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#js')
+ }
+ })
+
// Require assert.expect in each test
QUnit.config.requireExpects = true
- QUnit.done(function (testResults) {
+
+ // See https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit
+ var log = []
+ var testName
+
+ QUnit.done(function(testResults) {
var tests = []
- for (var i = 0, len = log.length; i < len; i++) {
+ for (var i = 0; i < log.length; i++) {
var details = log[i]
tests.push({
name: details.name,
@@ -77,9 +68,8 @@
window.global_test_results = testResults
})
- QUnit.testStart(function (testDetails) {
- $(window).scrollTop(0)
- QUnit.log(function (details) {
+ QUnit.testStart(function(testDetails) {
+ QUnit.log(function(details) {
if (!details.result) {
details.name = testDetails.name
log.push(details)
@@ -89,51 +79,23 @@
// Cleanup
QUnit.testDone(function () {
- $('#qunit-fixture').empty()
$('#modal-test, .modal-backdrop').remove()
})
// Display fixture on-screen on iOS to avoid false positives
+ // See https://github.com/twbs/bootstrap/pull/15955
if (/iPhone|iPad|iPod/.test(navigator.userAgent)) {
QUnit.begin(function() {
$('#qunit-fixture').css({ top: 0, left: 0 })
})
- QUnit.done(function () {
+ QUnit.done(function() {
$('#qunit-fixture').css({ top: '', left: '' })
})
}
-
- // Disable deprecated global QUnit method aliases in preparation for QUnit v2
- (function () {
- var methodNames = [
- 'async',
- 'asyncTest',
- 'deepEqual',
- 'equal',
- 'expect',
- 'module',
- 'notDeepEqual',
- 'notEqual',
- 'notPropEqual',
- 'notStrictEqual',
- 'ok',
- 'propEqual',
- 'push',
- 'start',
- 'stop',
- 'strictEqual',
- 'test',
- 'throws'
- ];
- for (var i = 0; i < methodNames.length; i++) {
- var methodName = methodNames[i];
- window[methodName] = undefined;
- }
- })();
</script>
- <!-- es6 Plugin sources -->
+ <!-- Transpiled Plugins -->
<script src="../../js/dist/util.js"></script>
<script src="../../js/dist/alert.js"></script>
<script src="../../js/dist/button.js"></script>
@@ -146,7 +108,7 @@
<script src="../../js/dist/tooltip.js"></script>
<script src="../../js/dist/popover.js"></script>
- <!-- Unit tests -->
+ <!-- Unit Tests -->
<script src="unit/alert.js"></script>
<script src="unit/button.js"></script>
<script src="unit/carousel.js"></script>
@@ -157,7 +119,6 @@
<script src="unit/tab.js"></script>
<script src="unit/tooltip.js"></script>
<script src="unit/popover.js"></script>
-
</head>
<body>
<div id="qunit-container">
diff --git a/js/tests/unit/button.js b/js/tests/unit/button.js
index d87b57610..489d400a6 100644
--- a/js/tests/unit/button.js
+++ b/js/tests/unit/button.js
@@ -60,6 +60,17 @@ $(function () {
assert.strictEqual($btn.attr('aria-pressed'), 'true', 'btn aria-pressed state is true')
})
+ QUnit.test('should toggle aria-pressed on buttons with container', function (assert) {
+ assert.expect(1)
+ var groupHTML = '<div class="btn-group" data-toggle="buttons">' +
+ '<button id="btn1" class="btn btn-secondary" type="button">One</button>' +
+ '<button class="btn btn-secondary" type="button">Two</button>' +
+ '</div>'
+ $('#qunit-fixture').append(groupHTML)
+ $('#btn1').bootstrapButton('toggle')
+ assert.strictEqual($('#btn1').attr('aria-pressed'), 'true')
+ })
+
QUnit.test('should toggle aria-pressed when btn children are clicked', function (assert) {
assert.expect(2)
var $btn = $('<button class="btn" data-toggle="button" aria-pressed="false">redux</button>')
@@ -127,4 +138,39 @@ $(function () {
assert.ok($btn2.find('input').prop('checked'), 'btn2 is checked')
})
+ QUnit.test('should not add aria-pressed on labels for radio/checkbox inputs in a data-toggle="buttons" group', function (assert) {
+ assert.expect(2)
+ var groupHTML = '<div class="btn-group" data-toggle="buttons">'
+ + '<label class="btn btn-primary"><input type="checkbox" autocomplete="off"> Checkbox</label>'
+ + '<label class="btn btn-primary"><input type="radio" name="options" autocomplete="off"> Radio</label>'
+ + '</div>'
+ var $group = $(groupHTML).appendTo('#qunit-fixture')
+
+ var $btn1 = $group.children().eq(0)
+ var $btn2 = $group.children().eq(1)
+
+ $btn1.find('input').trigger('click')
+ assert.ok($btn1.is(':not([aria-pressed])'), 'label for nested checkbox input has not been given an aria-pressed attribute')
+
+ $btn2.find('input').trigger('click')
+ assert.ok($btn2.is(':not([aria-pressed])'), 'label for nested radio input has not been given an aria-pressed attribute')
+ })
+
+ QUnit.test('should handle disabled attribute on non-button elements', function (assert) {
+ assert.expect(2)
+ var groupHTML = ' <div class="btn-group disabled" data-toggle="buttons" aria-disabled="true" disabled>'
+ + '<label class="btn btn-danger disabled" aria-disabled="true" disabled>'
+ + '<input type="checkbox" aria-disabled="true" autocomplete="off" disabled class="disabled"/>'
+ + '</label>'
+ + '</div>'
+ var $group = $(groupHTML).appendTo('#qunit-fixture')
+
+ var $btn = $group.children().eq(0)
+ var $input = $btn.children().eq(0)
+
+ $btn.trigger('click')
+ assert.ok($btn.is(':not(.active)'), 'button did not become active')
+ assert.ok(!$input.is(':checked'), 'checkbox did not get checked')
+ })
+
})
diff --git a/js/tests/unit/carousel.js b/js/tests/unit/carousel.js
index dbdea921a..894f78ab5 100644
--- a/js/tests/unit/carousel.js
+++ b/js/tests/unit/carousel.js
@@ -341,6 +341,49 @@ $(function () {
.bootstrapCarousel('next')
})
+ QUnit.test('should fire slid and slide events with from and to', function (assert) {
+ assert.expect(4)
+ var template = '<div id="myCarousel" class="carousel slide">'
+ + '<div class="carousel-inner">'
+ + '<div class="carousel-item active">'
+ + '<img alt="">'
+ + '<div class="carousel-caption">'
+ + '<h4>First Thumbnail label</h4>'
+ + '</div>'
+ + '</div>'
+ + '<div class="carousel-item">'
+ + '<img alt="">'
+ + '<div class="carousel-caption">'
+ + '<h4>Second Thumbnail label</h4>'
+ + '</div>'
+ + '</div>'
+ + '<div class="carousel-item">'
+ + '<img alt="">'
+ + '<div class="carousel-caption">'
+ + '<h4>Third Thumbnail label</h4>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ + '<a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>'
+ + '<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>'
+ + '</div>'
+
+ var done = assert.async()
+ $(template)
+ .on('slid.bs.carousel', function (e) {
+ assert.ok(e.from !== undefined, 'from present')
+ assert.ok(e.to !== undefined, 'to present')
+ $(this).off()
+ done()
+ })
+ .on('slide.bs.carousel', function (e) {
+ assert.ok(e.from !== undefined, 'from present')
+ assert.ok(e.to !== undefined, 'to present')
+ $(this).off('slide.bs.carousel')
+ })
+ .bootstrapCarousel('next')
+ })
+
QUnit.test('should set interval from data attribute', function (assert) {
assert.expect(4)
var templateHTML = '<div id="myCarousel" class="carousel slide">'
@@ -611,29 +654,6 @@ $(function () {
assert.strictEqual($template.find('.carousel-item')[0], $template.find('.active')[0], 'first item still active after left arrow press in <textarea>')
})
- QUnit.test('should only add mouseenter and mouseleave listeners when not on mobile', function (assert) {
- assert.expect(2)
- var isMobile = 'ontouchstart' in document.documentElement
- var templateHTML = '<div id="myCarousel" class="carousel" data-interval="false" data-pause="hover">'
- + '<div class="carousel-inner">'
- + '<div id="first" class="carousel-item active">'
- + '<img alt="">'
- + '</div>'
- + '<div id="second" class="carousel-item">'
- + '<img alt="">'
- + '</div>'
- + '<div id="third" class="carousel-item">'
- + '<img alt="">'
- + '</div>'
- + '</div>'
- + '</div>'
- var $template = $(templateHTML).bootstrapCarousel()
-
- $.each(['mouseover', 'mouseout'], function (i, type) {
- assert.strictEqual(type in $._data($template[0], 'events'), !isMobile, 'does' + (isMobile ? ' not' : '') + ' listen for ' + type + ' events')
- })
- })
-
QUnit.test('should wrap around from end to start when wrap option is true', function (assert) {
assert.expect(3)
var carouselHTML = '<div id="carousel-example-generic" class="carousel slide" data-wrap="true">'
diff --git a/js/tests/unit/collapse.js b/js/tests/unit/collapse.js
index 713930433..2b9d0e58f 100644
--- a/js/tests/unit/collapse.js
+++ b/js/tests/unit/collapse.js
@@ -265,17 +265,17 @@ $(function () {
+ '</div>'
var $groups = $(accordionHTML).appendTo('#qunit-fixture').find('.card')
- var $target1 = $('<a role="button" data-toggle="collapse" href="#body1" data-parent="#accordion"/>').appendTo($groups.eq(0))
+ var $target1 = $('<a role="button" data-toggle="collapse" href="#body1" />').appendTo($groups.eq(0))
- $('<div id="body1" class="show"/>').appendTo($groups.eq(0))
+ $('<div id="body1" class="show" data-parent="#accordion"/>').appendTo($groups.eq(0))
- var $target2 = $('<a class="collapsed" data-toggle="collapse" role="button" href="#body2" data-parent="#accordion"/>').appendTo($groups.eq(1))
+ var $target2 = $('<a class="collapsed" data-toggle="collapse" role="button" href="#body2" />').appendTo($groups.eq(1))
- $('<div id="body2"/>').appendTo($groups.eq(1))
+ $('<div id="body2" data-parent="#accordion"/>').appendTo($groups.eq(1))
- var $target3 = $('<a class="collapsed" data-toggle="collapse" role="button" href="#body3" data-parent="#accordion"/>').appendTo($groups.eq(2))
+ var $target3 = $('<a class="collapsed" data-toggle="collapse" role="button" href="#body3" />').appendTo($groups.eq(2))
- $('<div id="body3"/>')
+ $('<div id="body3" data-parent="#accordion"/>')
.appendTo($groups.eq(2))
.on('shown.bs.collapse', function () {
assert.ok($target1.hasClass('collapsed'), 'inactive target 1 does have class "collapsed"')
@@ -299,17 +299,17 @@ $(function () {
+ '</div>'
var $groups = $(accordionHTML).appendTo('#qunit-fixture').find('.card')
- var $target1 = $('<a role="button" data-toggle="collapse" href="#body1" data-parent=".accordion"/>').appendTo($groups.eq(0))
+ var $target1 = $('<a role="button" data-toggle="collapse" href="#body1"/>').appendTo($groups.eq(0))
- $('<div id="body1" class="show"/>').appendTo($groups.eq(0))
+ $('<div id="body1" class="show" data-parent=".accordion"/>').appendTo($groups.eq(0))
- var $target2 = $('<a class="collapsed" data-toggle="collapse" role="button" href="#body2" data-parent=".accordion"/>').appendTo($groups.eq(1))
+ var $target2 = $('<a class="collapsed" data-toggle="collapse" role="button" href="#body2"/>').appendTo($groups.eq(1))
- $('<div id="body2"/>').appendTo($groups.eq(1))
+ $('<div id="body2" data-parent=".accordion"/>').appendTo($groups.eq(1))
- var $target3 = $('<a class="collapsed" data-toggle="collapse" role="button" href="#body3" data-parent=".accordion"/>').appendTo($groups.eq(2))
+ var $target3 = $('<a class="collapsed" data-toggle="collapse" role="button" href="#body3"/>').appendTo($groups.eq(2))
- $('<div id="body3"/>')
+ $('<div id="body3" data-parent=".accordion"/>')
.appendTo($groups.eq(2))
.on('shown.bs.collapse', function () {
assert.ok($target1.hasClass('collapsed'), 'inactive target 1 does have class "collapsed"')
@@ -322,7 +322,7 @@ $(function () {
$target3.trigger('click')
})
- QUnit.test('should set aria-expanded="true" on target when collapse is shown', function (assert) {
+ QUnit.test('should set aria-expanded="true" on trigger/control when collapse is shown', function (assert) {
assert.expect(1)
var done = assert.async()
@@ -338,7 +338,7 @@ $(function () {
$target.trigger('click')
})
- QUnit.test('should set aria-expanded="false" on target when collapse is hidden', function (assert) {
+ QUnit.test('should set aria-expanded="false" on trigger/control when collapse is hidden', function (assert) {
assert.expect(1)
var done = assert.async()
@@ -364,8 +364,8 @@ $(function () {
$('<div id="test1"/>')
.appendTo('#qunit-fixture')
.on('shown.bs.collapse', function () {
- assert.strictEqual($target.attr('aria-expanded'), 'true', 'aria-expanded on target is "true"')
- assert.strictEqual($alt.attr('aria-expanded'), 'true', 'aria-expanded on alt is "true"')
+ assert.strictEqual($target.attr('aria-expanded'), 'true', 'aria-expanded on trigger/control is "true"')
+ assert.strictEqual($alt.attr('aria-expanded'), 'true', 'aria-expanded on alternative trigger/control is "true"')
done()
})
@@ -382,15 +382,15 @@ $(function () {
$('<div id="test1" class="show"/>')
.appendTo('#qunit-fixture')
.on('hidden.bs.collapse', function () {
- assert.strictEqual($target.attr('aria-expanded'), 'false', 'aria-expanded on target is "false"')
- assert.strictEqual($alt.attr('aria-expanded'), 'false', 'aria-expanded on alt is "false"')
+ assert.strictEqual($target.attr('aria-expanded'), 'false', 'aria-expanded on trigger/control is "false"')
+ assert.strictEqual($alt.attr('aria-expanded'), 'false', 'aria-expanded on alternative trigger/control is "false"')
done()
})
$target.trigger('click')
})
- QUnit.test('should change aria-expanded from active accordion target to "false" and set the newly active one to "true"', function (assert) {
+ QUnit.test('should change aria-expanded from active accordion trigger/control to "false" and set the trigger/control for the newly active one to "true"', function (assert) {
assert.expect(3)
var done = assert.async()
@@ -401,22 +401,22 @@ $(function () {
+ '</div>'
var $groups = $(accordionHTML).appendTo('#qunit-fixture').find('.card')
- var $target1 = $('<a role="button" data-toggle="collapse" href="#body1" data-parent="#accordion"/>').appendTo($groups.eq(0))
+ var $target1 = $('<a role="button" data-toggle="collapse" aria-expanded="true" href="#body1"/>').appendTo($groups.eq(0))
- $('<div id="body1" aria-expanded="true" class="show"/>').appendTo($groups.eq(0))
+ $('<div id="body1" class="show" data-parent="#accordion"/>').appendTo($groups.eq(0))
- var $target2 = $('<a role="button" data-toggle="collapse" href="#body2" data-parent="#accordion" class="collapsed" />').appendTo($groups.eq(1))
+ var $target2 = $('<a role="button" data-toggle="collapse" aria-expanded="false" href="#body2" class="collapsed" aria-expanded="false" />').appendTo($groups.eq(1))
- $('<div id="body2" aria-expanded="false"/>').appendTo($groups.eq(1))
+ $('<div id="body2" data-parent="#accordion"/>').appendTo($groups.eq(1))
- var $target3 = $('<a class="collapsed" data-toggle="collapse" role="button" href="#body3" data-parent="#accordion"/>').appendTo($groups.eq(2))
+ var $target3 = $('<a class="collapsed" data-toggle="collapse" aria-expanded="false" role="button" href="#body3"/>').appendTo($groups.eq(2))
- $('<div id="body3" aria-expanded="false"/>')
+ $('<div id="body3" data-parent="#accordion"/>')
.appendTo($groups.eq(2))
.on('shown.bs.collapse', function () {
- assert.strictEqual($target1.attr('aria-expanded'), 'false', 'inactive target 1 has aria-expanded="false"')
- assert.strictEqual($target2.attr('aria-expanded'), 'false', 'inactive target 2 has aria-expanded="false"')
- assert.strictEqual($target3.attr('aria-expanded'), 'true', 'active target 3 has aria-expanded="false"')
+ assert.strictEqual($target1.attr('aria-expanded'), 'false', 'inactive trigger/control 1 has aria-expanded="false"')
+ assert.strictEqual($target2.attr('aria-expanded'), 'false', 'inactive trigger/control 2 has aria-expanded="false"')
+ assert.strictEqual($target3.attr('aria-expanded'), 'true', 'active trigger/control 3 has aria-expanded="true"')
done()
})
@@ -435,16 +435,16 @@ $(function () {
var showFired = false
var $groups = $(accordionHTML).appendTo('#qunit-fixture').find('.card')
- var $target1 = $('<a role="button" data-toggle="collapse" href="#body1" data-parent="#accordion"/>').appendTo($groups.eq(0))
+ var $target1 = $('<a role="button" data-toggle="collapse" href="#body1"/>').appendTo($groups.eq(0))
- $('<div id="body1" class="collapse"/>')
+ $('<div id="body1" class="collapse" data-parent="#accordion"/>')
.appendTo($groups.eq(0))
.on('show.bs.collapse', function () {
showFired = true
})
- var $target2 = $('<a role="button" data-toggle="collapse" href="#body2" data-parent="#accordion"/>').appendTo($groups.eq(1))
- var $body2 = $('<div id="body2" class="collapse"/>').appendTo($groups.eq(1))
+ var $target2 = $('<a role="button" data-toggle="collapse" href="#body2"/>').appendTo($groups.eq(1))
+ var $body2 = $('<div id="body2" class="collapse" data-parent="#accordion"/>').appendTo($groups.eq(1))
$target2.trigger('click')
@@ -490,4 +490,102 @@ $(function () {
.bootstrapCollapse('show')
})
+ QUnit.test('should allow accordion to use children other than card', function (assert) {
+ assert.expect(4)
+ var done = assert.async()
+ var accordionHTML = '<div id="accordion">'
+ + '<div class="item">'
+ + '<a id="linkTrigger" data-parent="#accordion" data-toggle="collapse" href="#collapseOne" aria-expanded="false" aria-controls="collapseOne"></a>'
+ + '<div id="collapseOne" class="collapse" role="tabpanel" aria-labelledby="headingThree"></div>'
+ + '</div>'
+ + '<div class="item">'
+ + '<a id="linkTriggerTwo" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"></a>'
+ + '<div id="collapseTwo" class="collapse show" role="tabpanel" aria-labelledby="headingTwo"></div>'
+ + '</div>'
+ + '</div>'
+
+ $(accordionHTML).appendTo('#qunit-fixture')
+ var $trigger = $('#linkTrigger')
+ var $triggerTwo = $('#linkTriggerTwo')
+ var $collapseOne = $('#collapseOne')
+ var $collapseTwo = $('#collapseTwo')
+ $collapseOne.on('shown.bs.collapse', function () {
+ assert.ok($collapseOne.hasClass('show'), '#collapseOne is shown')
+ assert.ok(!$collapseTwo.hasClass('show'), '#collapseTwo is not shown')
+ $collapseTwo.on('shown.bs.collapse', function () {
+ assert.ok(!$collapseOne.hasClass('show'), '#collapseOne is not shown')
+ assert.ok($collapseTwo.hasClass('show'), '#collapseTwo is shown')
+ done()
+ })
+ $triggerTwo.trigger($.Event('click'))
+ })
+ $trigger.trigger($.Event('click'))
+ })
+
+ QUnit.test('should collapse accordion children but not nested accordion children', function (assert) {
+ assert.expect(9)
+ var done = assert.async()
+ $('<div id="accordion">'
+ + '<div class="item">'
+ + '<a id="linkTrigger" data-parent="#accordion" data-toggle="collapse" href="#collapseOne" aria-expanded="false" aria-controls="collapseOne"></a>'
+ + '<div id="collapseOne" class="collapse" role="tabpanel" aria-labelledby="headingThree">'
+ + '<div id="nestedAccordion">'
+ + '<div class="item">'
+ + '<a id="nestedLinkTrigger" data-parent="#nestedAccordion" data-toggle="collapse" href="#nestedCollapseOne" aria-expanded="false" aria-controls="nestedCollapseOne"></a>'
+ + '<div id="nestedCollapseOne" class="collapse" role="tabpanel" aria-labelledby="headingThree">'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ + '<div class="item">'
+ + '<a id="linkTriggerTwo" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"></a>'
+ + '<div id="collapseTwo" class="collapse show" role="tabpanel" aria-labelledby="headingTwo"></div>'
+ + '</div>'
+ + '</div>').appendTo('#qunit-fixture')
+ var $trigger = $('#linkTrigger')
+ var $triggerTwo = $('#linkTriggerTwo')
+ var $nestedTrigger = $('#nestedLinkTrigger')
+ var $collapseOne = $('#collapseOne')
+ var $collapseTwo = $('#collapseTwo')
+ var $nestedCollapseOne = $('#nestedCollapseOne')
+
+
+ $collapseOne.one('shown.bs.collapse', function () {
+ assert.ok($collapseOne.hasClass('show'), '#collapseOne is shown')
+ assert.ok(!$collapseTwo.hasClass('show'), '#collapseTwo is not shown')
+ assert.ok(!$('#nestedCollapseOne').hasClass('show'), '#nestedCollapseOne is not shown')
+ $nestedCollapseOne.one('shown.bs.collapse', function () {
+ assert.ok($collapseOne.hasClass('show'), '#collapseOne is shown')
+ assert.ok(!$collapseTwo.hasClass('show'), '#collapseTwo is not shown')
+ assert.ok($nestedCollapseOne.hasClass('show'), '#nestedCollapseOne is shown')
+ $collapseTwo.one('shown.bs.collapse', function () {
+ assert.ok(!$collapseOne.hasClass('show'), '#collapseOne is not shown')
+ assert.ok($collapseTwo.hasClass('show'), '#collapseTwo is shown')
+ assert.ok($nestedCollapseOne.hasClass('show'), '#nestedCollapseOne is shown')
+ done()
+ })
+ $triggerTwo.trigger($.Event('click'))
+ })
+ $nestedTrigger.trigger($.Event('click'))
+ })
+ $trigger.trigger($.Event('click'))
+ })
+
+ QUnit.test('should not prevent event for input', function (assert) {
+ assert.expect(3)
+ var done = assert.async()
+ var $target = $('<input type="checkbox" data-toggle="collapse" data-target="#collapsediv1" />').appendTo('#qunit-fixture')
+
+ $('<div id="collapsediv1"/>')
+ .appendTo('#qunit-fixture')
+ .on('shown.bs.collapse', function () {
+ assert.ok($(this).hasClass('show'))
+ assert.ok($target.attr('aria-expanded') === 'true')
+ assert.ok($target.prop('checked'))
+ done()
+ })
+
+ $target.trigger($.Event('click'))
+ })
})
diff --git a/js/tests/unit/dropdown.js b/js/tests/unit/dropdown.js
index 53455c2a6..1dd675b0b 100644
--- a/js/tests/unit/dropdown.js
+++ b/js/tests/unit/dropdown.js
@@ -45,58 +45,62 @@ $(function () {
})
QUnit.test('should not open dropdown if target is disabled via attribute', function (assert) {
- assert.expect(1)
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ assert.expect(0)
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<button disabled href="#" class="btn dropdown-toggle" data-toggle="dropdown">Dropdown</button>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Secondary link</a></li>'
- + '<li><a href="#">Something else here</a></li>'
- + '<li class="divider"/>'
- + '<li><a href="#">Another link</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
- var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown().trigger('click')
-
- assert.ok(!$dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click')
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown()
+ setTimeout(function () {
+ assert.ok(!$dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click')
+ }, 300)
})
QUnit.test('should set aria-expanded="true" on target when dropdown menu is shown', function (assert) {
assert.expect(1)
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ var done = assert.async()
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Dropdown</a>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Secondary link</a></li>'
- + '<li><a href="#">Something else here</a></li>'
- + '<li class="divider"/>'
- + '<li><a href="#">Another link</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
- var $dropdown = $(dropdownHTML)
- .find('[data-toggle="dropdown"]')
- .bootstrapDropdown()
- .trigger('click')
-
- assert.strictEqual($dropdown.attr('aria-expanded'), 'true', 'aria-expanded is set to string "true" on click')
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown()
+ $dropdown
+ .parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.strictEqual($dropdown.attr('aria-expanded'), 'true', 'aria-expanded is set to string "true" on click')
+ done()
+ })
+ $dropdown.trigger('click')
})
QUnit.test('should set aria-expanded="false" on target when dropdown menu is hidden', function (assert) {
assert.expect(1)
var done = assert.async()
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<a href="#" class="dropdown-toggle" aria-expanded="false" data-toggle="dropdown">Dropdown</a>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Secondary link</a></li>'
- + '<li><a href="#">Something else here</a></li>'
- + '<li class="divider"/>'
- + '<li><a href="#">Another link</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
var $dropdown = $(dropdownHTML)
.appendTo('#qunit-fixture')
.find('[data-toggle="dropdown"]')
@@ -114,101 +118,153 @@ $(function () {
})
QUnit.test('should not open dropdown if target is disabled via class', function (assert) {
- assert.expect(1)
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ assert.expect(0)
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<button href="#" class="btn dropdown-toggle disabled" data-toggle="dropdown">Dropdown</button>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Secondary link</a></li>'
- + '<li><a href="#">Something else here</a></li>'
- + '<li class="divider"/>'
- + '<li><a href="#">Another link</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown().trigger('click')
-
- assert.ok(!$dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click')
+ setTimeout(function () {
+ assert.ok(!$dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click')
+ }, 300)
})
QUnit.test('should add class show to menu if clicked', function (assert) {
assert.expect(1)
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ var done = assert.async()
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Secondary link</a></li>'
- + '<li><a href="#">Something else here</a></li>'
- + '<li class="divider"/>'
- + '<li><a href="#">Another link</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
- var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown().trigger('click')
-
- assert.ok($dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click')
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown()
+ $dropdown
+ .parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.ok($dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click')
+ done()
+ })
+ $dropdown.trigger('click')
})
QUnit.test('should test if element has a # before assuming it\'s a selector', function (assert) {
assert.expect(1)
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ var done = assert.async()
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<a href="/foo/" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Secondary link</a></li>'
- + '<li><a href="#">Something else here</a></li>'
- + '<li class="divider"/>'
- + '<li><a href="#">Another link</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
- var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown().trigger('click')
-
- assert.ok($dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click')
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown()
+ $dropdown
+ .parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.ok($dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click')
+ done()
+ })
+ $dropdown.trigger('click')
})
QUnit.test('should remove "show" class if body is clicked', function (assert) {
assert.expect(2)
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ var done = assert.async()
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Secondary link</a></li>'
- + '<li><a href="#">Something else here</a></li>'
- + '<li class="divider"/>'
- + '<li><a href="#">Another link</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
var $dropdown = $(dropdownHTML)
.appendTo('#qunit-fixture')
.find('[data-toggle="dropdown"]')
.bootstrapDropdown()
- .trigger('click')
- assert.ok($dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click')
- $(document.body).trigger('click')
- assert.ok(!$dropdown.parent('.dropdown').hasClass('show'), '"show" class removed')
+ $dropdown
+ .parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.ok($dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click')
+ $(document.body).trigger('click')
+ }).on('hidden.bs.dropdown', function () {
+ assert.ok(!$dropdown.parent('.dropdown').hasClass('show'), '"show" class removed')
+ done()
+ })
+ $dropdown.trigger('click')
+ })
+
+ QUnit.test('should remove "show" class if tabbing outside of menu', function (assert) {
+ assert.expect(2)
+ var done = assert.async()
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="dropdown-divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ var $dropdown = $(dropdownHTML)
+ .appendTo('#qunit-fixture')
+ .find('[data-toggle="dropdown"]')
+ .bootstrapDropdown()
+ $dropdown
+ .parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.ok($dropdown.parent('.dropdown').hasClass('show'), '"show" class added on click')
+ var e = $.Event('keyup')
+ e.which = 9 // Tab
+ $(document.body).trigger(e)
+ }).on('hidden.bs.dropdown', function () {
+ assert.ok(!$dropdown.parent('.dropdown').hasClass('show'), '"show" class removed')
+ done()
+ })
+ $dropdown.trigger('click')
})
QUnit.test('should remove "show" class if body is clicked, with multiple dropdowns', function (assert) {
assert.expect(7)
- var dropdownHTML = '<ul class="nav">'
- + '<li><a href="#menu1">Menu 1</a></li>'
- + '<li class="dropdown" id="testmenu">'
+ var done = assert.async()
+ var dropdownHTML = '<div class="nav">'
+ + '<div class="dropdown" id="testmenu">'
+ '<a class="dropdown-toggle" data-toggle="dropdown" href="#testmenu">Test menu <span class="caret"/></a>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#sub1">Submenu 1</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#sub1">Submenu 1</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ '<div class="btn-group">'
+ '<button class="btn">Actions</button>'
- + '<button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"/></button>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Action 1</a></li>'
- + '</ul>'
+ + '<button class="btn dropdown-toggle" data-toggle="dropdown"></button>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Action 1</a>'
+ + '</div>'
+ '</div>'
var $dropdowns = $(dropdownHTML).appendTo('#qunit-fixture').find('[data-toggle="dropdown"]')
var $first = $dropdowns.first()
@@ -216,32 +272,91 @@ $(function () {
assert.strictEqual($dropdowns.length, 2, 'two dropdowns')
+ $first.parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.strictEqual($first.parents('.show').length, 1, '"show" class added on click')
+ assert.strictEqual($('#qunit-fixture .dropdown-menu.show').length, 1, 'only one dropdown is shown')
+ $(document.body).trigger('click')
+ }).on('hidden.bs.dropdown', function () {
+ assert.strictEqual($('#qunit-fixture .dropdown-menu.show').length, 0, '"show" class removed')
+ $last.trigger('click')
+ })
+
+ $last.parent('.btn-group')
+ .on('shown.bs.dropdown', function () {
+ assert.strictEqual($last.parent('.show').length, 1, '"show" class added on click')
+ assert.strictEqual($('#qunit-fixture .dropdown-menu.show').length, 1, 'only one dropdown is shown')
+ $(document.body).trigger('click')
+ }).on('hidden.bs.dropdown', function () {
+ assert.strictEqual($('#qunit-fixture .dropdown-menu.show').length, 0, '"show" class removed')
+ done()
+ })
$first.trigger('click')
- assert.strictEqual($first.parents('.show').length, 1, '"show" class added on click')
- assert.strictEqual($('#qunit-fixture .show').length, 1, 'only one dropdown is shown')
- $(document.body).trigger('click')
- assert.strictEqual($('#qunit-fixture .show').length, 0, '"show" class removed')
+ })
- $last.trigger('click')
- assert.strictEqual($last.parent('.show').length, 1, '"show" class added on click')
- assert.strictEqual($('#qunit-fixture .show').length, 1, 'only one dropdown is shown')
- $(document.body).trigger('click')
- assert.strictEqual($('#qunit-fixture .show').length, 0, '"show" class removed')
+ QUnit.test('should remove "show" class if body if tabbing outside of menu, with multiple dropdowns', function (assert) {
+ assert.expect(7)
+ var done = assert.async()
+ var dropdownHTML = '<div class="nav">'
+ + '<div class="dropdown" id="testmenu">'
+ + '<a class="dropdown-toggle" data-toggle="dropdown" href="#testmenu">Test menu <span class="caret"/></a>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#sub1">Submenu 1</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ + '<div class="btn-group">'
+ + '<button class="btn">Actions</button>'
+ + '<button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"/></button>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Action 1</a>'
+ + '</div>'
+ + '</div>'
+ var $dropdowns = $(dropdownHTML).appendTo('#qunit-fixture').find('[data-toggle="dropdown"]')
+ var $first = $dropdowns.first()
+ var $last = $dropdowns.last()
+
+ assert.strictEqual($dropdowns.length, 2, 'two dropdowns')
+
+ $first.parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.strictEqual($first.parents('.show').length, 1, '"show" class added on click')
+ assert.strictEqual($('#qunit-fixture .dropdown-menu.show').length, 1, 'only one dropdown is shown')
+ var e = $.Event('keyup')
+ e.which = 9 // Tab
+ $(document.body).trigger(e)
+ }).on('hidden.bs.dropdown', function () {
+ assert.strictEqual($('#qunit-fixture .dropdown-menu.show').length, 0, '"show" class removed')
+ $last.trigger('click')
+ })
+
+ $last.parent('.btn-group')
+ .on('shown.bs.dropdown', function () {
+ assert.strictEqual($last.parent('.show').length, 1, '"show" class added on click')
+ assert.strictEqual($('#qunit-fixture .dropdown-menu.show').length, 1, 'only one dropdown is shown')
+ var e = $.Event('keyup')
+ e.which = 9 // Tab
+ $(document.body).trigger(e)
+ }).on('hidden.bs.dropdown', function () {
+ assert.strictEqual($('#qunit-fixture .dropdown-menu.show').length, 0, '"show" class removed')
+ done()
+ })
+ $first.trigger('click')
})
QUnit.test('should fire show and hide event', function (assert) {
assert.expect(2)
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Secondary link</a></li>'
- + '<li><a href="#">Something else here</a></li>'
- + '<li class="divider"/>'
- + '<li><a href="#">Another link</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
var $dropdown = $(dropdownHTML)
.appendTo('#qunit-fixture')
.find('[data-toggle="dropdown"]')
@@ -266,17 +381,17 @@ $(function () {
QUnit.test('should fire shown and hidden event', function (assert) {
assert.expect(2)
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Secondary link</a></li>'
- + '<li><a href="#">Something else here</a></li>'
- + '<li class="divider"/>'
- + '<li><a href="#">Another link</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
var $dropdown = $(dropdownHTML)
.appendTo('#qunit-fixture')
.find('[data-toggle="dropdown"]')
@@ -300,17 +415,17 @@ $(function () {
QUnit.test('should fire shown and hidden event with a relatedTarget', function (assert) {
assert.expect(2)
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Secondary link</a></li>'
- + '<li><a href="#">Something else here</a></li>'
- + '<li class="divider"/>'
- + '<li><a href="#">Another link</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
var $dropdown = $(dropdownHTML)
.appendTo('#qunit-fixture')
.find('[data-toggle="dropdown"]')
@@ -334,19 +449,19 @@ $(function () {
assert.expect(3)
var done = assert.async()
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
- + '<ul class="dropdown-menu">'
- + '<li><a href="#">Secondary link</a></li>'
- + '<li><a href="#">Something else here</a></li>'
- + '<li class="divider"/>'
- + '<li><a href="#">Another link</a></li>'
- + '<li><input type="text" id="input"></li>'
- + '<li><textarea id="textarea"/></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item" href="#">Secondary link</a>'
+ + '<a class="dropdown-item" href="#">Something else here</a>'
+ + '<div class="divider"/>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '<input type="text" id="input">'
+ + '<textarea id="textarea"/>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
var $dropdown = $(dropdownHTML)
.appendTo('#qunit-fixture')
.find('[data-toggle="dropdown"]')
@@ -373,63 +488,124 @@ $(function () {
})
QUnit.test('should skip disabled element when using keyboard navigation', function (assert) {
- assert.expect(1)
- var dropdownHTML = '<ul class="tabs">'
- + '<li class="dropdown">'
+ assert.expect(2)
+ var done = assert.async()
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
- + '<ul class="dropdown-menu">'
- + '<li class="disabled"><a href="#">Disabled link</a></li>'
- + '<li><a href="#">Another link</a></li>'
- + '</ul>'
- + '</li>'
- + '</ul>'
+ + '<div class="dropdown-menu">'
+ + '<a class="dropdown-item disabled" href="#">Disabled link</a>'
+ + '<a class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
var $dropdown = $(dropdownHTML)
.appendTo('#qunit-fixture')
.find('[data-toggle="dropdown"]')
.bootstrapDropdown()
- .trigger('click')
- $dropdown.trigger($.Event('keydown', { which: 40 }))
- $dropdown.trigger($.Event('keydown', { which: 40 }))
+ $dropdown
+ .parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.ok(true, 'shown was fired')
+ $dropdown.trigger($.Event('keydown', { which: 40 }))
+ $dropdown.trigger($.Event('keydown', { which: 40 }))
+ assert.ok(!$(document.activeElement).is('.disabled'), '.disabled is not focused')
+ done()
+ })
+ $dropdown.trigger('click')
+ })
+
+ QUnit.test('should focus next/previous element when using keyboard navigation', function (assert) {
+ assert.expect(4)
+ var done = assert.async()
+ var dropdownHTML = '<div class="tabs">'
+ + '<div class="dropdown">'
+ + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
+ + '<div class="dropdown-menu">'
+ + '<a id="item1" class="dropdown-item" href="#">A link</a>'
+ + '<a id="item2" class="dropdown-item" href="#">Another link</a>'
+ + '</div>'
+ + '</div>'
+ + '</div>'
+ var $dropdown = $(dropdownHTML)
+ .appendTo('#qunit-fixture')
+ .find('[data-toggle="dropdown"]')
+ .bootstrapDropdown()
+
+ $dropdown
+ .parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.ok(true, 'shown was fired')
+ $dropdown.trigger($.Event('keydown', { which: 40 }))
+ assert.ok($(document.activeElement).is($('#item1')), 'item1 is focused')
+
+ $(document.activeElement).trigger($.Event('keydown', { which: 40 }))
+ assert.ok($(document.activeElement).is($('#item2')), 'item2 is focused')
+
+ $(document.activeElement).trigger($.Event('keydown', { which: 38 }))
+ assert.ok($(document.activeElement).is($('#item1')), 'item1 is focused')
+ done()
+ })
+ $dropdown.trigger('click')
- assert.ok(!$(document.activeElement).parent().is('.disabled'), '.disabled is not focused')
})
QUnit.test('should not close the dropdown if the user clicks on a text field', function (assert) {
- assert.expect(1)
- var dropdownHTML = '<div class="btn-group">'
+ assert.expect(2)
+ var done = assert.async()
+ var dropdownHTML = '<div class="dropdown">'
+ '<button type="button" data-toggle="dropdown">Dropdown</button>'
- + '<ul class="dropdown-menu">'
- + '<li><input id="textField" type="text" /></li>'
- + '</ul>'
+ + '<div class="dropdown-menu">'
+ + '<input id="textField" type="text" />'
+ + '</div>'
+ '</div>'
var $dropdown = $(dropdownHTML)
.appendTo('#qunit-fixture')
.find('[data-toggle="dropdown"]')
.bootstrapDropdown()
- .trigger('click')
- $('#textField').trigger('click')
+ var $textfield = $('#textField')
+ $textfield.on('click', function () {
+ assert.ok($dropdown.parent('.dropdown').hasClass('show'), 'dropdown menu is shown')
+ done()
+ })
- assert.ok($dropdown.parent('.btn-group').hasClass('show'), 'dropdown menu is shown')
+ $dropdown
+ .parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.ok($dropdown.parent('.dropdown').hasClass('show'), 'dropdown menu is shown')
+ $textfield.trigger($.Event('click'))
+ })
+ $dropdown.trigger('click')
})
QUnit.test('should not close the dropdown if the user clicks on a textarea', function (assert) {
- assert.expect(1)
- var dropdownHTML = '<div class="btn-group">'
+ assert.expect(2)
+ var done = assert.async()
+ var dropdownHTML = '<div class="dropdown">'
+ '<button type="button" data-toggle="dropdown">Dropdown</button>'
- + '<ul class="dropdown-menu">'
- + '<li><textarea id="textArea"></textarea></li>'
- + '</ul>'
+ + '<div class="dropdown-menu">'
+ + '<textarea id="textArea"></textarea>'
+ + '</div>'
+ '</div>'
var $dropdown = $(dropdownHTML)
.appendTo('#qunit-fixture')
.find('[data-toggle="dropdown"]')
.bootstrapDropdown()
- .trigger('click')
- $('#textArea').trigger('click')
+ var $textarea = $('#textArea')
+ $textarea.on('click', function () {
+ assert.ok($dropdown.parent('.dropdown').hasClass('show'), 'dropdown menu is shown')
+ done()
+ })
- assert.ok($dropdown.parent('.btn-group').hasClass('show'), 'dropdown menu is shown')
+ $dropdown
+ .parent('.dropdown')
+ .on('shown.bs.dropdown', function () {
+ assert.ok($dropdown.parent('.dropdown').hasClass('show'), 'dropdown menu is shown')
+ $textarea.trigger($.Event('click'))
+ })
+ $dropdown.trigger('click')
})
})
diff --git a/js/tests/unit/modal.js b/js/tests/unit/modal.js
index 7af5aeb27..fc6c4f38c 100644
--- a/js/tests/unit/modal.js
+++ b/js/tests/unit/modal.js
@@ -9,6 +9,19 @@ $(function () {
})
QUnit.module('modal', {
+ before: function () {
+ // Enable the scrollbar measurer
+ $('<style type="text/css"> .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } </style>').appendTo('head')
+ // Function to calculate the scrollbar width which is then compared to the padding or margin changes
+ $.fn.getScrollbarWidth = function () {
+ var scrollDiv = document.createElement('div')
+ scrollDiv.className = 'modal-scrollbar-measure'
+ document.body.appendChild(scrollDiv)
+ var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
+ document.body.removeChild(scrollDiv)
+ return scrollbarWidth
+ }
+ },
beforeEach: function () {
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$.fn.bootstrapModal = $.fn.modal.noConflict()
@@ -336,81 +349,147 @@ $(function () {
$toggleBtn.trigger('click')
})
- QUnit.test('should restore inline body padding after closing', function (assert) {
+ QUnit.test('should adjust the inline body padding when opening and restore when closing', function (assert) {
assert.expect(2)
var done = assert.async()
- var originalBodyPad = 0
var $body = $(document.body)
-
- $body.css('padding-right', originalBodyPad)
+ var originalPadding = $body.css('padding-right')
$('<div id="modal-test"/>')
.on('hidden.bs.modal', function () {
- var currentBodyPad = parseInt($body.css('padding-right'), 10)
- assert.notStrictEqual($body.attr('style'), '', 'body has non-empty style attribute')
- assert.strictEqual(currentBodyPad, originalBodyPad, 'original body padding was not changed')
+ var currentPadding = $body.css('padding-right')
+ assert.strictEqual(currentPadding, originalPadding, 'body padding should be reset after closing')
$body.removeAttr('style')
done()
})
.on('shown.bs.modal', function () {
+ var expectedPadding = parseFloat(originalPadding) + $(this).getScrollbarWidth() + 'px'
+ var currentPadding = $body.css('padding-right')
+ assert.strictEqual(currentPadding, expectedPadding, 'body padding should be adjusted while opening')
$(this).bootstrapModal('hide')
})
.bootstrapModal('show')
})
- QUnit.test('should ignore values set via CSS when trying to restore body padding after closing', function (assert) {
- assert.expect(1)
+ QUnit.test('should store the original body padding in data-padding-right before showing', function (assert) {
+ assert.expect(2)
var done = assert.async()
var $body = $(document.body)
- var $style = $('<style>body { padding-right: 42px; }</style>').appendTo('head')
+ var originalPadding = '0px'
+ $body.css('padding-right', originalPadding)
$('<div id="modal-test"/>')
.on('hidden.bs.modal', function () {
- assert.ok(!$body.attr('style'), 'body does not have inline padding set')
- $style.remove()
+ assert.strictEqual($body.data('padding-right'), undefined, 'data-padding-right should be cleared after closing')
+ $body.removeAttr('style')
done()
})
.on('shown.bs.modal', function () {
+ assert.strictEqual($body.data('padding-right'), originalPadding, 'original body padding should be stored in data-padding-right')
$(this).bootstrapModal('hide')
})
.bootstrapModal('show')
})
- QUnit.test('should have a paddingRight when the modal is taller than the viewport', function (assert) {
+ QUnit.test('should adjust the inline padding of fixed elements when opening and restore when closing', function (assert) {
assert.expect(2)
var done = assert.async()
- $('<div class="navbar-fixed-top navbar-fixed-bottom is-fixed">@Johann-S</div>').appendTo('#qunit-fixture')
- $('.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed').css('padding-right', '10px')
+ var $element = $('<div class="fixed-top"></div>').appendTo('#qunit-fixture')
+ var originalPadding = $element.css('padding-right')
$('<div id="modal-test"/>')
+ .on('hidden.bs.modal', function () {
+ var currentPadding = $element.css('padding-right')
+ assert.strictEqual(currentPadding, originalPadding, 'fixed element padding should be reset after closing')
+ $element.remove()
+ done()
+ })
.on('shown.bs.modal', function () {
- var paddingRight = parseInt($(document.body).css('padding-right'), 10)
- assert.strictEqual(isNaN(paddingRight), false)
- assert.strictEqual(paddingRight !== 0, true)
- $(document.body).css('padding-right', '') // Because test case "should ignore other inline styles when trying to restore body padding after closing" fail if not
+ var expectedPadding = parseFloat(originalPadding) + $(this).getScrollbarWidth() + 'px'
+ var currentPadding = $element.css('padding-right')
+ assert.strictEqual(currentPadding, expectedPadding, 'fixed element padding should be adjusted while opening')
+ $(this).bootstrapModal('hide')
+ })
+ .bootstrapModal('show')
+ })
+
+ QUnit.test('should store the original padding of fixed elements in data-padding-right before showing', function (assert) {
+ assert.expect(2)
+ var done = assert.async()
+ var $element = $('<div class="fixed-top"></div>').appendTo('#qunit-fixture')
+ var originalPadding = '0px'
+ $element.css('padding-right', originalPadding)
+
+ $('<div id="modal-test"/>')
+ .on('hidden.bs.modal', function () {
+ assert.strictEqual($element.data('padding-right'), undefined, 'data-padding-right should be cleared after closing')
+ $element.remove()
done()
})
+ .on('shown.bs.modal', function () {
+ assert.strictEqual($element.data('padding-right'), originalPadding, 'original fixed element padding should be stored in data-padding-right')
+ $(this).bootstrapModal('hide')
+ })
.bootstrapModal('show')
})
- QUnit.test('should remove padding-right on modal after closing', function (assert) {
- assert.expect(3)
+ QUnit.test('should adjust the inline margin of the navbar-toggler when opening and restore when closing', function (assert) {
+ assert.expect(2)
+ var done = assert.async()
+ var $element = $('<div class="navbar-toggler"></div>').appendTo('#qunit-fixture')
+ var originalMargin = $element.css('margin-right')
+
+ $('<div id="modal-test"/>')
+ .on('hidden.bs.modal', function () {
+ var currentMargin = $element.css('margin-right')
+ assert.strictEqual(currentMargin, originalMargin, 'navbar-toggler margin should be reset after closing')
+ $element.remove()
+ done()
+ })
+ .on('shown.bs.modal', function () {
+ var expectedMargin = parseFloat(originalMargin) + $(this).getScrollbarWidth() + 'px'
+ var currentMargin = $element.css('margin-right')
+ assert.strictEqual(currentMargin, expectedMargin, 'navbar-toggler margin should be adjusted while opening')
+ $(this).bootstrapModal('hide')
+ })
+ .bootstrapModal('show')
+ })
+
+ QUnit.test('should store the original margin of the navbar-toggler in data-margin-right before showing', function (assert) {
+ assert.expect(2)
var done = assert.async()
- $('<div class="navbar-fixed-top navbar-fixed-bottom is-fixed">@Johann-S</div>').appendTo('#qunit-fixture')
- $('.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed').css('padding-right', '10px')
+ var $element = $('<div class="navbar-toggler"></div>').appendTo('#qunit-fixture')
+ var originalMargin = '0px'
+ $element.css('margin-right', originalMargin)
$('<div id="modal-test"/>')
+ .on('hidden.bs.modal', function () {
+ assert.strictEqual($element.data('margin-right'), undefined, 'data-margin-right should be cleared after closing')
+ $element.remove()
+ done()
+ })
.on('shown.bs.modal', function () {
- var paddingRight = parseInt($(document.body).css('padding-right'), 10)
- assert.strictEqual(isNaN(paddingRight), false)
- assert.strictEqual(paddingRight !== 0, true)
+ assert.strictEqual($element.data('margin-right'), originalMargin, 'original navbar-toggler margin should be stored in data-margin-right')
$(this).bootstrapModal('hide')
})
+ .bootstrapModal('show')
+ })
+
+ QUnit.test('should ignore values set via CSS when trying to restore body padding after closing', function (assert) {
+ assert.expect(1)
+ var done = assert.async()
+ var $body = $(document.body)
+ var $style = $('<style>body { padding-right: 42px; }</style>').appendTo('head')
+
+ $('<div id="modal-test"/>')
.on('hidden.bs.modal', function () {
- var paddingRight = parseInt($(document.body).css('padding-right'), 10)
- assert.strictEqual(paddingRight, 0)
+ assert.ok(!$body.attr('style'), 'body does not have inline padding set')
+ $style.remove()
done()
})
+ .on('shown.bs.modal', function () {
+ $(this).bootstrapModal('hide')
+ })
.bootstrapModal('show')
})
diff --git a/js/tests/unit/phantom.js b/js/tests/unit/phantom.js
deleted file mode 100644
index eea7486a4..000000000
--- a/js/tests/unit/phantom.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * grunt-contrib-qunit
- * http://gruntjs.com/
- *
- * Copyright (c) 2014 "Cowboy" Ben Alman, contributors
- * Licensed under the MIT license.
- */
-
-(function () {
- 'use strict'
-
- // Don't re-order tests.
- QUnit.config.reorder = false
- // Run tests serially, not in parallel.
- QUnit.config.autorun = false
-
- // Send messages to the parent PhantomJS process via alert! Good times!!
- function sendMessage() {
- var args = [].slice.call(arguments)
- alert(JSON.stringify(args))
- }
-
- // These methods connect QUnit to PhantomJS.
- QUnit.log(function (obj) {
- // What is this I don’t even
- if (obj.message === '[object Object], undefined:undefined') { return }
-
- // Parse some stuff before sending it.
- var actual
- var expected
- if (!obj.result) {
- // Dumping large objects can be very slow, and the dump isn't used for
- // passing tests, so only dump if the test failed.
- actual = QUnit.dump.parse(obj.actual)
- expected = QUnit.dump.parse(obj.expected)
- }
- // Send it.
- sendMessage('qunit.log', obj.result, actual, expected, obj.message, obj.source)
- })
-
- QUnit.testStart(function (obj) {
- sendMessage('qunit.testStart', obj.name)
- })
-
- QUnit.testDone(function (obj) {
- sendMessage('qunit.testDone', obj.name, obj.failed, obj.passed, obj.total, obj.duration)
- })
-
- QUnit.moduleStart(function (obj) {
- sendMessage('qunit.moduleStart', obj.name)
- })
-
- QUnit.moduleDone(function (obj) {
- if (obj.failed === 0) {
- console.log('\r\u221A All tests passed in "' + obj.name + '" module')
- } else {
- console.log('\u00D7 ' + obj.failed + ' tests failed in "' + obj.name + '" module')
- }
- sendMessage('qunit.moduleDone', obj.name, obj.failed, obj.passed, obj.total)
- })
-
- QUnit.begin(function () {
- sendMessage('qunit.begin')
- console.log('\n\nStarting test suite')
- console.log('================================================\n')
- })
-
- QUnit.done(function (obj) {
- sendMessage('qunit.done', obj.failed, obj.passed, obj.total, obj.runtime)
- })
-
-}())
diff --git a/js/tests/unit/popover.js b/js/tests/unit/popover.js
index 5452def58..a7762bfab 100644
--- a/js/tests/unit/popover.js
+++ b/js/tests/unit/popover.js
@@ -47,13 +47,18 @@ $(function () {
QUnit.test('should render popover element', function (assert) {
assert.expect(2)
- var $popover = $('<a href="#" title="mdo" data-content="https://twitter.com/mdo">@mdo</a>')
+ var done = assert.async()
+ $('<a href="#" title="mdo" data-content="https://twitter.com/mdo">@mdo</a>')
.appendTo('#qunit-fixture')
+ .on('shown.bs.popover', function () {
+ assert.notEqual($('.popover').length, 0, 'popover was inserted')
+ $(this).bootstrapPopover('hide')
+ })
+ .on('hidden.bs.popover', function () {
+ assert.strictEqual($('.popover').length, 0, 'popover removed')
+ done()
+ })
.bootstrapPopover('show')
-
- assert.notEqual($('.popover').length, 0, 'popover was inserted')
- $popover.bootstrapPopover('hide')
- assert.strictEqual($('.popover').length, 0, 'popover removed')
})
QUnit.test('should store popover instance in popover data object', function (assert) {
@@ -332,4 +337,54 @@ $(function () {
done()
}
})
+
+ QUnit.test('should hide popovers when their containing modal is closed', function (assert) {
+ assert.expect(1)
+ var done = assert.async()
+ var templateHTML = '<div id="modal-test" class="modal">' +
+ '<div class="modal-dialog" role="document">' +
+ '<div class="modal-content">' +
+ '<div class="modal-body">' +
+ '<button id="popover-test" type="button" class="btn btn-secondary" data-toggle="popover" data-placement="top" data-content="Popover">' +
+ 'Popover on top' +
+ '</button>' +
+ '</div>' +
+ '</div>' +
+ '</div>' +
+ '</div>'
+
+ $(templateHTML).appendTo('#qunit-fixture')
+ $('#popover-test')
+ .on('shown.bs.popover', function () {
+ $('#modal-test').modal('hide')
+ })
+ .on('hide.bs.popover', function () {
+ assert.ok(true, 'popover hide')
+ done()
+ })
+
+ $('#modal-test')
+ .on('shown.bs.modal', function () {
+ $('#popover-test').bootstrapPopover('show')
+ })
+ .modal('show')
+ })
+
+ QUnit.test('should convert number to string without error for content and title', function (assert) {
+ assert.expect(2)
+ var done = assert.async()
+ var $popover = $('<a href="#">@mdo</a>')
+ .appendTo('#qunit-fixture')
+ .bootstrapPopover({
+ title: 5,
+ content: 7
+ })
+ .on('shown.bs.popover', function () {
+ assert.strictEqual($('.popover .popover-title').text(), '5')
+ assert.strictEqual($('.popover .popover-content').text(), '7')
+ done()
+ })
+
+ $popover.bootstrapPopover('show')
+ })
})
diff --git a/js/tests/unit/scrollspy.js b/js/tests/unit/scrollspy.js
index 877ec67a2..a6a72e7a6 100644
--- a/js/tests/unit/scrollspy.js
+++ b/js/tests/unit/scrollspy.js
@@ -26,7 +26,7 @@ $(function () {
QUnit.test('should throw explicit error on undefined method', function (assert) {
assert.expect(1)
- var $el = $('<div/>')
+ var $el = $('<div/>').appendTo('#qunit-fixture')
$el.bootstrapScrollspy()
try {
$el.bootstrapScrollspy('noMethod')
@@ -38,7 +38,7 @@ $(function () {
QUnit.test('should return jquery collection containing the element', function (assert) {
assert.expect(2)
- var $el = $('<div/>')
+ var $el = $('<div/>').appendTo('#qunit-fixture')
var $scrollspy = $el.bootstrapScrollspy()
assert.ok($scrollspy instanceof $, 'returns jquery collection')
assert.strictEqual($scrollspy[0], $el[0], 'collection contains element')
@@ -53,8 +53,8 @@ $(function () {
+ '<div class="topbar-inner">'
+ '<div class="container" id="ss-target">'
+ '<ul class="nav">'
- + '<li><a href="#masthead">Overview</a></li>'
- + '<li><a href="#detail">Detail</a></li>'
+ + '<li class="nav-item"><a href="#masthead">Overview</a></li>'
+ + '<li class="nav-item"><a href="#detail">Detail</a></li>'
+ '</ul>'
+ '</div>'
+ '</div>'
@@ -98,8 +98,8 @@ $(function () {
+ '<div class="topbar-inner">'
+ '<div class="container" id="ss-target">'
+ '<ul class="nav">'
- + '<li><a href="#masthead">Overview</a></li>'
- + '<li><a href="#detail">Detail</a></li>'
+ + '<li class="nav-item"><a href="#masthead">Overview</a></li>'
+ + '<li class="nav-item"><a href="#detail">Detail</a></li>'
+ '</ul>'
+ '</div>'
+ '</div>'
@@ -140,10 +140,10 @@ $(function () {
var sectionHTML = '<div id="header" style="height: 500px;"></div>'
+ '<nav id="navigation" class="navbar">'
- + '<ul class="nav navbar-nav">'
- + '<li class="active"><a class="nav-link" id="one-link" href="#one">One</a></li>'
- + '<li><a class="nav-link" id="two-link" href="#two">Two</a></li>'
- + '<li><a class="nav-link" id="three-link" href="#three">Three</a></li>'
+ + '<ul class="navbar-nav">'
+ + '<li class="nav-item active"><a class="nav-link" id="one-link" href="#one">One</a></li>'
+ + '<li class="nav-item"><a class="nav-link" id="two-link" href="#two">Two</a></li>'
+ + '<li class="nav-item"><a class="nav-link" id="three-link" href="#three">Three</a></li>'
+ '</ul>'
+ '</nav>'
+ '<div id="content" style="height: 200px; overflow-y: auto;">'
@@ -173,8 +173,8 @@ $(function () {
var navbarHtml =
'<nav class="navbar">'
+ '<ul class="nav">'
- + '<li><a class="nav-link" id="a-1" href="#div-1">div 1</a></li>'
- + '<li><a class="nav-link" id="a-2" href="#div-2">div 2</a></li>'
+ + '<li class="nav-item"><a class="nav-link" id="a-1" href="#div-1">div 1</a></li>'
+ + '<li class="nav-item"><a class="nav-link" id="a-2" href="#div-2">div 2</a></li>'
+ '</ul>'
+ '</nav>'
var contentHtml =
@@ -205,15 +205,89 @@ $(function () {
.then(function () { done() })
})
+ QUnit.test('should add the active class to the correct element (nav markup)', function (assert) {
+ assert.expect(2)
+ var navbarHtml =
+ '<nav class="navbar">'
+ + '<nav class="nav">'
+ + '<a class="nav-link" id="a-1" href="#div-1">div 1</a>'
+ + '<a class="nav-link" id="a-2" href="#div-2">div 2</a>'
+ + '</nav>'
+ + '</nav>'
+ var contentHtml =
+ '<div class="content" style="overflow: auto; height: 50px">'
+ + '<div id="div-1" style="height: 100px; padding: 0; margin: 0">div 1</div>'
+ + '<div id="div-2" style="height: 200px; padding: 0; margin: 0">div 2</div>'
+ + '</div>'
+
+ $(navbarHtml).appendTo('#qunit-fixture')
+ var $content = $(contentHtml)
+ .appendTo('#qunit-fixture')
+ .bootstrapScrollspy({ offset: 0, target: '.navbar' })
+
+ var done = assert.async()
+ var testElementIsActiveAfterScroll = function (element, target) {
+ var deferred = $.Deferred()
+ var scrollHeight = Math.ceil($content.scrollTop() + $(target).position().top)
+ $content.one('scroll', function () {
+ assert.ok($(element).hasClass('active'), 'target:' + target + ', element' + element)
+ deferred.resolve()
+ })
+ $content.scrollTop(scrollHeight)
+ return deferred.promise()
+ }
+
+ $.when(testElementIsActiveAfterScroll('#a-1', '#div-1'))
+ .then(function () { return testElementIsActiveAfterScroll('#a-2', '#div-2') })
+ .then(function () { done() })
+ })
+
+ QUnit.test('should add the active class to the correct element (list-group markup)', function (assert) {
+ assert.expect(2)
+ var navbarHtml =
+ '<nav class="navbar">'
+ + '<div class="list-group">'
+ + '<a class="list-group-item" id="a-1" href="#div-1">div 1</a>'
+ + '<a class="list-group-item" id="a-2" href="#div-2">div 2</a>'
+ + '</div>'
+ + '</nav>'
+ var contentHtml =
+ '<div class="content" style="overflow: auto; height: 50px">'
+ + '<div id="div-1" style="height: 100px; padding: 0; margin: 0">div 1</div>'
+ + '<div id="div-2" style="height: 200px; padding: 0; margin: 0">div 2</div>'
+ + '</div>'
+
+ $(navbarHtml).appendTo('#qunit-fixture')
+ var $content = $(contentHtml)
+ .appendTo('#qunit-fixture')
+ .bootstrapScrollspy({ offset: 0, target: '.navbar' })
+
+ var done = assert.async()
+ var testElementIsActiveAfterScroll = function (element, target) {
+ var deferred = $.Deferred()
+ var scrollHeight = Math.ceil($content.scrollTop() + $(target).position().top)
+ $content.one('scroll', function () {
+ assert.ok($(element).hasClass('active'), 'target:' + target + ', element' + element)
+ deferred.resolve()
+ })
+ $content.scrollTop(scrollHeight)
+ return deferred.promise()
+ }
+
+ $.when(testElementIsActiveAfterScroll('#a-1', '#div-1'))
+ .then(function () { return testElementIsActiveAfterScroll('#a-2', '#div-2') })
+ .then(function () { done() })
+ })
+
QUnit.test('should add the active class correctly when there are nested elements at 0 scroll offset', function (assert) {
assert.expect(6)
var times = 0
var done = assert.async()
var navbarHtml = '<nav id="navigation" class="navbar">'
+ '<ul class="nav">'
- + '<li><a id="a-1" class="nav-link" href="#div-1">div 1</a>'
- + '<ul>'
- + '<li><a id="a-2" class="nav-link" href="#div-2">div 2</a></li>'
+ + '<li class="nav-item"><a id="a-1" class="nav-link" href="#div-1">div 1</a>'
+ + '<ul class="nav">'
+ + '<li class="nav-item"><a id="a-2" class="nav-link" href="#div-2">div 2</a></li>'
+ '</ul>'
+ '</li>'
+ '</ul>'
@@ -246,16 +320,96 @@ $(function () {
testActiveElements()
})
+ QUnit.test('should add the active class correctly when there are nested elements (nav markup)', function (assert) {
+ assert.expect(6)
+ var times = 0
+ var done = assert.async()
+ var navbarHtml = '<nav id="navigation" class="navbar">'
+ + '<nav class="nav">'
+ + '<a id="a-1" class="nav-link" href="#div-1">div 1</a>'
+ + '<nav class="nav">'
+ + '<a id="a-2" class="nav-link" href="#div-2">div 2</a>'
+ + '</nav>'
+ + '</nav>'
+ + '</nav>'
+
+ var contentHtml = '<div class="content" style="position: absolute; top: 0px; overflow: auto; height: 50px">'
+ + '<div id="div-1" style="padding: 0; margin: 0">'
+ + '<div id="div-2" style="height: 200px; padding: 0; margin: 0">div 2</div>'
+ + '</div>'
+ + '</div>'
+
+ $(navbarHtml).appendTo('#qunit-fixture')
+
+ var $content = $(contentHtml)
+ .appendTo('#qunit-fixture')
+ .bootstrapScrollspy({ offset: 0, target: '#navigation' })
+
+ function testActiveElements() {
+ if (++times > 3) { return done() }
+
+ $content.one('scroll', function () {
+ assert.ok($('#a-1').hasClass('active'), 'nav item for outer element has "active" class')
+ assert.ok($('#a-2').hasClass('active'), 'nav item for inner element has "active" class')
+ testActiveElements()
+ })
+
+ $content.scrollTop($content.scrollTop() + 10)
+ }
+
+ testActiveElements()
+ })
+
+ QUnit.test('should add the active class correctly when there are nested elements (list-group markup)', function (assert) {
+ assert.expect(6)
+ var times = 0
+ var done = assert.async()
+ var navbarHtml = '<nav id="navigation" class="navbar">'
+ + '<div class="list-group">'
+ + '<a id="a-1" class="list-group-item" href="#div-1">div 1</a>'
+ + '<div class="list-group">'
+ + '<a id="a-2" class="list-group-item" href="#div-2">div 2</a>'
+ + '</div>'
+ + '</div>'
+ + '</nav>'
+
+ var contentHtml = '<div class="content" style="position: absolute; top: 0px; overflow: auto; height: 50px">'
+ + '<div id="div-1" style="padding: 0; margin: 0">'
+ + '<div id="div-2" style="height: 200px; padding: 0; margin: 0">div 2</div>'
+ + '</div>'
+ + '</div>'
+
+ $(navbarHtml).appendTo('#qunit-fixture')
+
+ var $content = $(contentHtml)
+ .appendTo('#qunit-fixture')
+ .bootstrapScrollspy({ offset: 0, target: '#navigation' })
+
+ function testActiveElements() {
+ if (++times > 3) { return done() }
+
+ $content.one('scroll', function () {
+ assert.ok($('#a-1').hasClass('active'), 'nav item for outer element has "active" class')
+ assert.ok($('#a-2').hasClass('active'), 'nav item for inner element has "active" class')
+ testActiveElements()
+ })
+
+ $content.scrollTop($content.scrollTop() + 10)
+ }
+
+ testActiveElements()
+ })
+
QUnit.test('should clear selection if above the first section', function (assert) {
assert.expect(3)
var done = assert.async()
var sectionHTML = '<div id="header" style="height: 500px;"></div>'
+ '<nav id="navigation" class="navbar">'
- + '<ul class="nav navbar-nav">'
- + '<li><a id="one-link" class="nav-link active" href="#one">One</a></li>'
- + '<li><a id="two-link" class="nav-link" href="#two">Two</a></li>'
- + '<li><a id="three-link" class="nav-link" href="#three">Three</a></li>'
+ + '<ul class="navbar-nav">'
+ + '<li class="nav-item"><a id="one-link" class="nav-link active" href="#one">One</a></li>'
+ + '<li class="nav-item"><a id="two-link" class="nav-link" href="#two">Two</a></li>'
+ + '<li class="nav-item"><a id="three-link" class="nav-link" href="#three">Three</a></li>'
+ '</ul>'
+ '</nav>'
$(sectionHTML).appendTo('#qunit-fixture')
@@ -293,10 +447,10 @@ $(function () {
var sectionHTML = '<div id="header" style="height: 500px;"></div>'
+ '<nav id="navigation" class="navbar">'
- + '<ul class="nav navbar-nav">'
- + '<li><a id="one-link" class="nav-link active" href="#one">One</a></li>'
- + '<li><a id="two-link" class="nav-link" href="#two">Two</a></li>'
- + '<li><a id="three-link" class="nav-link" href="#three">Three</a></li>'
+ + '<ul class="navbar-nav">'
+ + '<li class="nav-item"><a id="one-link" class="nav-link active" href="#one">One</a></li>'
+ + '<li class="nav-item"><a id="two-link" class="nav-link" href="#two">Two</a></li>'
+ + '<li class="nav-item"><a id="three-link" class="nav-link" href="#three">Three</a></li>'
+ '</ul>'
+ '</nav>'
$(sectionHTML).appendTo('#qunit-fixture')
@@ -336,11 +490,11 @@ $(function () {
var navbarHtml =
'<nav class="navbar">'
+ '<ul class="nav">'
- + '<li><a id="li-100-1" class="nav-link" href="#div-100-1">div 1</a></li>'
- + '<li><a id="li-100-2" class="nav-link" href="#div-100-2">div 2</a></li>'
- + '<li><a id="li-100-3" class="nav-link" href="#div-100-3">div 3</a></li>'
- + '<li><a id="li-100-4" class="nav-link" href="#div-100-4">div 4</a></li>'
- + '<li><a id="li-100-5" class="nav-link" href="#div-100-5">div 5</a></li>'
+ + '<li class="nav-item"><a id="li-100-1" class="nav-link" href="#div-100-1">div 1</a></li>'
+ + '<li class="nav-item"><a id="li-100-2" class="nav-link" href="#div-100-2">div 2</a></li>'
+ + '<li class="nav-item"><a id="li-100-3" class="nav-link" href="#div-100-3">div 3</a></li>'
+ + '<li class="nav-item"><a id="li-100-4" class="nav-link" href="#div-100-4">div 4</a></li>'
+ + '<li class="nav-item"><a id="li-100-5" class="nav-link" href="#div-100-5">div 5</a></li>'
+ '</ul>'
+ '</nav>'
var contentHtml =
@@ -384,9 +538,9 @@ $(function () {
var $navbar = $(
'<nav class="navbar"' + (type === 'data' ? ' id="navbar-offset-method-menu"' : '') + '>'
+ '<ul class="nav">'
- + '<li><a id="li-' + type + 'm-1" class="nav-link" href="#div-' + type + 'm-1">div 1</a></li>'
- + '<li><a id="li-' + type + 'm-2" class="nav-link" href="#div-' + type + 'm-2">div 2</a></li>'
- + '<li><a id="li-' + type + 'm-3" class="nav-link" href="#div-' + type + 'm-3">div 3</a></li>'
+ + '<li class="nav-item"><a id="li-' + type + 'm-1" class="nav-link" href="#div-' + type + 'm-1">div 1</a></li>'
+ + '<li class="nav-item"><a id="li-' + type + 'm-2" class="nav-link" href="#div-' + type + 'm-2">div 2</a></li>'
+ + '<li class="nav-item"><a id="li-' + type + 'm-3" class="nav-link" href="#div-' + type + 'm-3">div 3</a></li>'
+ '</ul>'
+ '</nav>'
)
@@ -428,9 +582,9 @@ $(function () {
var $navbar = $(
'<nav class="navbar"' + (type === 'data' ? ' id="navbar-offset-method-menu"' : '') + '>'
+ '<ul class="nav">'
- + '<li><a class="nav-link" id="li-' + type + 'm-1" href="#div-' + type + 'm-1">div 1</a></li>'
- + '<li><a class="nav-link" id="li-' + type + 'm-2" href="#div-' + type + 'm-2">div 2</a></li>'
- + '<li><a class="nav-link" id="li-' + type + 'm-3" href="#div-' + type + 'm-3">div 3</a></li>'
+ + '<li class="nav-item"><a class="nav-link" id="li-' + type + 'm-1" href="#div-' + type + 'm-1">div 1</a></li>'
+ + '<li class="nav-item"><a class="nav-link" id="li-' + type + 'm-2" href="#div-' + type + 'm-2">div 2</a></li>'
+ + '<li class="nav-item"><a class="nav-link" id="li-' + type + 'm-3" href="#div-' + type + 'm-3">div 3</a></li>'
+ '</ul>'
+ '</nav>'
)
diff --git a/js/tests/unit/tab.js b/js/tests/unit/tab.js
index 62eece896..1e2b66c04 100644
--- a/js/tests/unit/tab.js
+++ b/js/tests/unit/tab.js
@@ -46,7 +46,7 @@ $(function () {
QUnit.test('should activate element by tab id', function (assert) {
assert.expect(2)
- var tabsHTML = '<ul class="tabs">'
+ var tabsHTML = '<ul class="nav">'
+ '<li><a href="#home">Home</a></li>'
+ '<li><a href="#profile">Profile</a></li>'
+ '</ul>'
@@ -62,7 +62,7 @@ $(function () {
QUnit.test('should activate element by tab id', function (assert) {
assert.expect(2)
- var pillsHTML = '<ul class="pills">'
+ var pillsHTML = '<ul class="nav nav-pills">'
+ '<li><a href="#home">Home</a></li>'
+ '<li><a href="#profile">Profile</a></li>'
+ '</ul>'
@@ -78,7 +78,7 @@ $(function () {
QUnit.test('should activate element by tab id in ordered list', function (assert) {
assert.expect(2)
- var pillsHTML = '<ol class="pills">'
+ var pillsHTML = '<ol class="nav nav-pills">'
+ '<li><a href="#home">Home</a></li>'
+ '<li><a href="#profile">Profile</a></li>'
+ '</ol>'
@@ -92,11 +92,43 @@ $(function () {
assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'home')
})
+ QUnit.test('should activate element by tab id in nav list', function (assert) {
+ assert.expect(2)
+ var tabsHTML = '<nav class="nav">' +
+ '<a href="#home">Home</a>' +
+ '<a href="#profile">Profile</a>' +
+ '</nav>'
+
+ $('<nav><div id="home"></div><div id="profile"></div></nav>').appendTo('#qunit-fixture')
+
+ $(tabsHTML).find('a:last').bootstrapTab('show')
+ assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'profile')
+
+ $(tabsHTML).find('a:first').bootstrapTab('show')
+ assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'home')
+ })
+
+ QUnit.test('should activate element by tab id in list group', function (assert) {
+ assert.expect(2)
+ var tabsHTML = '<div class="list-group">' +
+ '<a href="#home">Home</a>' +
+ '<a href="#profile">Profile</a>' +
+ '</div>'
+
+ $('<nav><div id="home"></div><div id="profile"></div></nav>').appendTo('#qunit-fixture')
+
+ $(tabsHTML).find('a:last').bootstrapTab('show')
+ assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'profile')
+
+ $(tabsHTML).find('a:first').bootstrapTab('show')
+ assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'home')
+ })
+
QUnit.test('should not fire shown when show is prevented', function (assert) {
assert.expect(1)
var done = assert.async()
- $('<div class="tab"/>')
+ $('<div class="nav"/>')
.on('show.bs.tab', function (e) {
e.preventDefault()
assert.ok(true, 'show event fired')
@@ -150,7 +182,7 @@ $(function () {
assert.expect(2)
var done = assert.async()
- var dropHTML = '<ul class="drop">'
+ var dropHTML = '<ul class="drop nav">'
+ '<li class="dropdown"><a data-toggle="dropdown" href="#">1</a>'
+ '<ul class="dropdown-menu">'
+ '<li><a href="#1-1" data-toggle="tab">1-1</a></li>'
@@ -178,7 +210,7 @@ $(function () {
assert.expect(2)
var done = assert.async()
- var tabsHTML = '<ul class="tabs">'
+ var tabsHTML = '<ul class="nav">'
+ '<li><a href="#home">Home</a></li>'
+ '<li><a href="#profile">Profile</a></li>'
+ '</ul>'
@@ -209,7 +241,7 @@ $(function () {
assert.expect(1)
var done = assert.async()
- var tabsHTML = '<ul class="tabs">'
+ var tabsHTML = '<ul class="nav">'
+ '<li><a href="#home">Home</a></li>'
+ '<li><a href="#profile">Profile</a></li>'
+ '</ul>'
@@ -234,7 +266,7 @@ $(function () {
assert.expect(2)
var done = assert.async()
- var tabsHTML = '<ul class="tabs">'
+ var tabsHTML = '<ul class="nav">'
+ '<li><a href="#home">Home</a></li>'
+ '<li><a href="#profile">Profile</a></li>'
+ '</ul>'
diff --git a/js/tests/unit/tooltip.js b/js/tests/unit/tooltip.js
index 7ff967fab..c0cafefe5 100644
--- a/js/tests/unit/tooltip.js
+++ b/js/tests/unit/tooltip.js
@@ -111,7 +111,7 @@ $(function () {
assert
.ok($('.tooltip')
- .is('.fade.bs-tether-element-attached-top.bs-tether-element-attached-center.show'), 'has correct classes applied')
+ .is('.fade.bs-tooltip-bottom.show'), 'has correct classes applied')
$tooltip.bootstrapTooltip('hide')
@@ -364,32 +364,29 @@ $(function () {
})
QUnit.test('should add position class before positioning so that position-specific styles are taken into account', function (assert) {
- assert.expect(1)
+ assert.expect(2)
+ var done = assert.async()
var styles = '<style>'
- + '.tooltip.right { white-space: nowrap; }'
- + '.tooltip.right .tooltip-inner { max-width: none; }'
+ + '.bs-tooltip-right { white-space: nowrap; }'
+ + '.bs-tooltip-right .tooltip-inner { max-width: none; }'
+ '</style>'
var $styles = $(styles).appendTo('head')
var $container = $('<div/>').appendTo('#qunit-fixture')
- var $target = $('<a href="#" rel="tooltip" title="very very very very very very very very long tooltip in one line"/>')
+ $('<a href="#" rel="tooltip" title="very very very very very very very very long tooltip in one line"/>')
.appendTo($container)
.bootstrapTooltip({
- placement: 'right'
+ placement: 'right',
+ trigger: 'manual'
+ })
+ .on('inserted.bs.tooltip', function () {
+ var $tooltip = $($(this).data('bs.tooltip').tip)
+ assert.ok($tooltip.hasClass('bs-tooltip-right'))
+ assert.ok($tooltip.attr('style') === undefined)
+ $styles.remove()
+ done()
})
.bootstrapTooltip('show')
-
- var $tooltip = $($target.data('bs.tooltip').tip)
-
- // this is some dumb hack stuff because sub pixels in firefox
- var top = Math.round($target.offset().top + $target[0].offsetHeight / 2 - $tooltip[0].offsetHeight / 2)
- var top2 = Math.round($tooltip.offset().top)
- var topDiff = top - top2
- assert.ok(topDiff <= 1 && topDiff >= -1)
- $target.bootstrapTooltip('hide')
-
- $container.remove()
- $styles.remove()
})
QUnit.test('should use title attribute for tooltip text', function (assert) {
@@ -459,7 +456,7 @@ $(function () {
assert.expect(1)
var done = assert.async()
- var containerHTML = '<div>'
+ var containerHTML = '<div id="test">'
+ '<p style="margin-top: 200px">'
+ '<a href="#" title="very very very very very very very long tooltip">Hover me</a>'
+ '</p>'
@@ -476,21 +473,24 @@ $(function () {
})
.appendTo('#qunit-fixture')
- var $trigger = $container
+ $container
.find('a')
.css('margin-top', 200)
.bootstrapTooltip({
placement: 'top',
animate: false
})
+ .on('shown.bs.tooltip', function () {
+ var $tooltip = $($(this).data('bs.tooltip').tip)
+ if (/iPhone|iPad|iPod/.test(navigator.userAgent)) {
+ assert.ok(Math.round($tooltip.offset().top + $tooltip.outerHeight()) <= Math.round($(this).offset().top))
+ }
+ else {
+ assert.ok(Math.round($tooltip.offset().top + $tooltip.outerHeight()) >= Math.round($(this).offset().top))
+ }
+ done()
+ })
.bootstrapTooltip('show')
-
- var $tooltip = $($trigger.data('bs.tooltip').tip)
-
- setTimeout(function () {
- assert.ok(Math.round($tooltip.offset().top + $tooltip.outerHeight()) <= Math.round($trigger.offset().top))
- done()
- }, 0)
})
QUnit.test('should show tooltip if leave event hasn\'t occurred before delay expires', function (assert) {
@@ -629,45 +629,6 @@ $(function () {
$tooltip.trigger('mouseenter')
})
- QUnit.test('should correctly position tooltips on SVG elements', function (assert) {
- if (!window.SVGElement) {
- // Skip IE8 since it doesn't support SVG
- assert.expect(0)
- return
- }
- assert.expect(2)
-
- var done = assert.async()
-
- var styles = '<style>'
- + '.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }'
- + '.tooltip { position: absolute; }'
- + '.tooltip .tooltip-inner { width: 24px; height: 24px; font-family: Helvetica; }'
- + '</style>'
- var $styles = $(styles).appendTo('head')
-
- $('#qunit-fixture').append(
- '<div style="position: fixed; top: 0; left: 0;">'
- + ' <svg width="200" height="200">'
- + ' <circle cx="100" cy="100" r="10" title="m" id="theCircle" />'
- + ' </svg>'
- + '</div>')
- var $circle = $('#theCircle')
-
- $circle
- .on('shown.bs.tooltip', function () {
- var offset = $('.tooltip').offset()
- $styles.remove()
- assert.ok(Math.abs(offset.left - 88) <= 1, 'tooltip has correct horizontal location')
- $circle.bootstrapTooltip('hide')
- assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
- done()
- })
- .bootstrapTooltip({ placement: 'top', trigger: 'manual' })
-
- $circle.bootstrapTooltip('show')
- })
-
QUnit.test('should not reload the tooltip on subsequent mouseenter events', function (assert) {
assert.expect(1)
var titleHtml = function () {
@@ -731,43 +692,6 @@ $(function () {
assert.strictEqual(currentUid, $('#tt-content').text())
})
- QUnit.test('should correctly position tooltips on transformed elements', function (assert) {
- var styleProps = document.documentElement.style
- if (!('transform' in styleProps) && !('webkitTransform' in styleProps) && !('msTransform' in styleProps)) {
- assert.expect(0)
- return
- }
- assert.expect(2)
-
- var done = assert.async()
-
- var styles = '<style>'
- + '#qunit-fixture { top: 0; left: 0; }'
- + '.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }'
- + '.tooltip { position: absolute; }'
- + '.tooltip .tooltip-inner { width: 24px; height: 24px; font-family: Helvetica; }'
- + '#target { position: absolute; top: 100px; left: 50px; width: 100px; height: 200px; -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); }'
- + '</style>'
- var $styles = $(styles).appendTo('head')
-
- var $element = $('<div id="target" title="1"/>').appendTo('#qunit-fixture')
-
- $element
- .on('shown.bs.tooltip', function () {
- var offset = $('.tooltip').offset()
- $styles.remove()
- assert.ok(Math.abs(offset.left - 88) <= 1, 'tooltip has correct horizontal location')
- assert.ok(Math.abs(offset.top - 126) <= 1, 'tooltip has correct vertical location')
- $element.bootstrapTooltip('hide')
- done()
- })
- .bootstrapTooltip({
- trigger: 'manual'
- })
-
- $element.bootstrapTooltip('show')
- })
-
QUnit.test('should do nothing when an attempt is made to hide an uninitialized tooltip', function (assert) {
assert.expect(1)
@@ -839,4 +763,67 @@ $(function () {
assert.ok(showingTooltip(), 'tooltip is faded in again')
})
+ QUnit.test('should hide tooltip when their containing modal is closed', function (assert) {
+ assert.expect(1)
+ var done = assert.async()
+ var templateHTML = '<div id="modal-test" class="modal">' +
+ '<div class="modal-dialog" role="document">' +
+ '<div class="modal-content">' +
+ '<div class="modal-body">' +
+ '<a id="tooltipTest" href="#" data-toggle="tooltip" title="Some tooltip text!">Tooltip</a>' +
+ '</div>' +
+ '</div>' +
+ '</div>' +
+ '</div>'
+
+ $(templateHTML).appendTo('#qunit-fixture')
+ $('#tooltipTest')
+ .bootstrapTooltip({ trigger: 'manuel' })
+ .on('shown.bs.tooltip', function () {
+ $('#modal-test').modal('hide')
+ })
+ .on('hide.bs.tooltip', function () {
+ assert.ok(true, 'tooltip hide')
+ done()
+ })
+
+ $('#modal-test')
+ .on('shown.bs.modal', function () {
+ $('#tooltipTest').bootstrapTooltip('show')
+ })
+ .modal('show')
+ })
+
+ QUnit.test('should reset tip classes when hidden event triggered', function (assert) {
+ assert.expect(2)
+ var done = assert.async()
+ var $el = $('<a href="#" rel="tooltip" title="Test tooltip"/>')
+ .appendTo('#qunit-fixture')
+ .bootstrapTooltip('show')
+ .on('hidden.bs.tooltip', function () {
+ var tooltip = $el.data('bs.tooltip')
+ var $tooltip = $(tooltip.getTipElement())
+ assert.ok($tooltip.hasClass('tooltip'))
+ assert.ok($tooltip.hasClass('fade'))
+ done()
+ })
+
+ $el.bootstrapTooltip('hide')
+ })
+
+ QUnit.test('should convert number in title to string', function (assert) {
+ assert.expect(1)
+ var done = assert.async()
+ var $el = $('<a href="#" rel="tooltip" title="7"/>')
+ .appendTo('#qunit-fixture')
+ .bootstrapTooltip('show')
+ .on('shown.bs.tooltip', function () {
+ var tooltip = $el.data('bs.tooltip')
+ var $tooltip = $(tooltip.getTipElement())
+ assert.strictEqual($tooltip.children().text(), '7')
+ done()
+ })
+
+ $el.bootstrapTooltip('show')
+ })
})
diff --git a/js/tests/vendor/jquery.min.js b/js/tests/vendor/jquery.min.js
deleted file mode 100644
index 4c5be4c0f..000000000
--- a/js/tests/vendor/jquery.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */
-!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),
-a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:X.test(a)?JSON.parse(a):a)}function $(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=Z(c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),$(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=$(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var _=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,aa=new RegExp("^(?:([+-])=|)("+_+")([a-z%]*)$","i"),ba=["Top","Right","Bottom","Left"],ca=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function ea(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&aa.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var fa={};function ga(a){var b,c=a.ownerDocument,d=a.nodeName,e=fa[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),fa[d]=e,e)}function ha(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ca(d)&&(e[f]=ga(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ha(this,!0)},hide:function(){return ha(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ca(this)?r(this).show():r(this).hide()})}});var ia=/^(?:checkbox|radio)$/i,ja=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var oa=/<|&#?\w+;/;function pa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(oa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ja.exec(f)||["",""])[1].toLowerCase(),i=la[h]||la._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==wa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===wa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ua:va,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:va,isPropagationStopped:va,isImmediatePropagationStopped:va,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ua,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ua,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ua,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&ra.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&sa.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return xa(this,a,b,c,d)},one:function(a,b,c,d){return xa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=va),this.each(function(){r.event.remove(this,a,c,b)})}});var ya=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/<script|<style|<link/i,Aa=/checked\s*(?:[^=]|=\s*.checked.)/i,Ba=/^true\/(.*)/,Ca=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ha(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ia.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ia(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,ma(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Fa),l=0;l<i;l++)j=h[l],ka.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ca,""),k))}return a}function Ja(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(ma(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&na(ma(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(ya,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);if(b)if(c)for(f=f||ma(a),g=g||ma(h),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);else Ga(a,h);return g=ma(h,"script"),g.length>0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(ma(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ia(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(ma(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ka=/^margin/,La=new RegExp("^("+_+")(?!px)[a-z%]+$","i"),Ma=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",qa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,qa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Na(a,b,c){var d,e,f,g,h=a.style;return c=c||Ma(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&La.test(g)&&Ka.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Oa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Pa=/^(none|table(?!-c[ea]).+)/,Qa={position:"absolute",visibility:"hidden",display:"block"},Ra={letterSpacing:"0",fontWeight:"400"},Sa=["Webkit","Moz","ms"],Ta=d.createElement("div").style;function Ua(a){if(a in Ta)return a;var b=a[0].toUpperCase()+a.slice(1),c=Sa.length;while(c--)if(a=Sa[c]+b,a in Ta)return a}function Va(a,b,c){var d=aa.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Wa(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ba[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ba[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ba[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ba[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ba[f]+"Width",!0,e)));return g}function Xa(a,b,c){var d,e=!0,f=Ma(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Na(a,b,f),(d<0||null==d)&&(d=a.style[b]),La.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Wa(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Na(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ua(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=aa.exec(c))&&e[1]&&(c=ea(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ua(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Na(a,b,d)),"normal"===e&&b in Ra&&(e=Ra[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Pa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Xa(a,b,d):da(a,Qa,function(){return Xa(a,b,d)})},set:function(a,c,d){var e,f=d&&Ma(a),g=d&&Wa(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=aa.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Va(a,c,g)}}}),r.cssHooks.marginLeft=Oa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Na(a,"marginLeft"))||a.getBoundingClientRect().left-da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ba[d]+b]=f[d]||f[d-2]||f[0];return e}},Ka.test(a)||(r.cssHooks[a+b].set=Va)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=Ma(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function fb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ca(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],_a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ha([a],!0),j=a.style.display||j,k=r.css(a,"display"),ha([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ha([a],!0),m.done(function(){p||ha([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=eb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function gb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function hb(a,b,c){var d,e,f=0,g=hb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Za||cb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Za||cb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(gb(k,j.opts.specialEasing);f<g;f++)if(d=hb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,eb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(hb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return ea(c.elem,a,aa.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],hb.tweeners[c]=hb.tweeners[c]||[],hb.tweeners[c].unshift(b)},prefilters:[fb],prefilter:function(a,b){b?hb.prefilters.unshift(a):hb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:"number"!=typeof e.duration&&(e.duration in r.fx.speeds?e.duration=r.fx.speeds[e.duration]:e.duration=r.fx.speeds._default),null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ca).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=hb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&ab.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(db(b,!0),a,d,e)}}),r.each({slideDown:db("show"),slideUp:db("hide"),slideToggle:db("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Za=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Za=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){$a||($a=a.requestAnimationFrame?a.requestAnimationFrame(bb):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame($a):a.clearInterval($a),$a=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var ib,jb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)),
-void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=pa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=mb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||qa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Oa(o.pixelPosition,function(a,c){if(c)return c=Na(a,b),La.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r});
diff --git a/js/tests/vendor/qunit.css b/js/tests/vendor/qunit.css
index 5d19d7406..90e1269f1 100644
--- a/js/tests/vendor/qunit.css
+++ b/js/tests/vendor/qunit.css
@@ -1,12 +1,12 @@
/*!
- * QUnit 2.0.1
+ * QUnit 2.2.0
* https://qunitjs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
- * Date: 2016-07-23T19:39Z
+ * Date: 2017-03-11T16:19Z
*/
/** Font Family and Sizes */
@@ -226,7 +226,8 @@
#qunit-tests li.running,
#qunit-tests li.pass,
#qunit-tests li.fail,
-#qunit-tests li.skipped {
+#qunit-tests li.skipped,
+#qunit-tests li.aborted {
display: list-item;
}
@@ -374,12 +375,16 @@
#qunit-banner.qunit-fail { background-color: #EE5757; }
+
+/*** Aborted tests */
+#qunit-tests .aborted { color: #000; background-color: orange; }
/*** Skipped tests */
#qunit-tests .skipped {
background-color: #EBECE9;
}
+#qunit-tests .qunit-todo-label,
#qunit-tests .qunit-skipped-label {
background-color: #F4FF77;
display: inline-block;
@@ -390,19 +395,35 @@
margin: -0.4em 0.4em -0.4em 0;
}
+#qunit-tests .qunit-todo-label {
+ background-color: #EEE;
+}
+
/** Result */
#qunit-testresult {
- padding: 0.5em 1em 0.5em 1em;
-
color: #2B81AF;
background-color: #D2E0E6;
border-bottom: 1px solid #FFF;
}
+#qunit-testresult .clearfix {
+ height: 0;
+ clear: both;
+}
#qunit-testresult .module-name {
font-weight: 700;
}
+#qunit-testresult-display {
+ padding: 0.5em 1em 0.5em 1em;
+ width: 85%;
+ float:left;
+}
+#qunit-testresult-controls {
+ padding: 0.5em 1em 0.5em 1em;
+ width: 10%;
+ float:left;
+}
/** Fixture */
diff --git a/js/tests/vendor/qunit.js b/js/tests/vendor/qunit.js
index 47c904cf3..b399f417c 100644
--- a/js/tests/vendor/qunit.js
+++ b/js/tests/vendor/qunit.js
@@ -1,4437 +1,4841 @@
/*!
- * QUnit 2.0.1
+ * QUnit 2.2.0
* https://qunitjs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
- * Date: 2016-07-23T19:39Z
+ * Date: 2017-03-11T16:19Z
*/
+(function (global$1) {
+ 'use strict';
-( function( global ) {
-
-var QUnit = {};
-
-var Date = global.Date;
-var now = Date.now || function() {
- return new Date().getTime();
-};
-
-var setTimeout = global.setTimeout;
-var clearTimeout = global.clearTimeout;
-
-// Store a local window from the global to allow direct references.
-var window = global.window;
-
-var defined = {
- document: window && window.document !== undefined,
- setTimeout: setTimeout !== undefined,
- sessionStorage: ( function() {
- var x = "qunit-test-string";
- try {
- sessionStorage.setItem( x, x );
- sessionStorage.removeItem( x );
- return true;
- } catch ( e ) {
- return false;
- }
- }() )
-};
-
-var fileName = ( sourceFromStacktrace( 0 ) || "" ).replace( /(:\d+)+\)?/, "" ).replace( /.+\//, "" );
-var globalStartCalled = false;
-var runStarted = false;
-
-var autorun = false;
-
-var toString = Object.prototype.toString,
- hasOwn = Object.prototype.hasOwnProperty;
-
-// Returns a new Array with the elements that are in a but not in b
-function diff( a, b ) {
- var i, j,
- result = a.slice();
-
- for ( i = 0; i < result.length; i++ ) {
- for ( j = 0; j < b.length; j++ ) {
- if ( result[ i ] === b[ j ] ) {
- result.splice( i, 1 );
- i--;
- break;
- }
- }
- }
- return result;
-}
-
-// From jquery.js
-function inArray( elem, array ) {
- if ( array.indexOf ) {
- return array.indexOf( elem );
- }
-
- for ( var i = 0, length = array.length; i < length; i++ ) {
- if ( array[ i ] === elem ) {
- return i;
- }
- }
-
- return -1;
-}
-
-/**
- * Makes a clone of an object using only Array or Object as base,
- * and copies over the own enumerable properties.
- *
- * @param {Object} obj
- * @return {Object} New object with only the own properties (recursively).
- */
-function objectValues ( obj ) {
- var key, val,
- vals = QUnit.is( "array", obj ) ? [] : {};
- for ( key in obj ) {
- if ( hasOwn.call( obj, key ) ) {
- val = obj[ key ];
- vals[ key ] = val === Object( val ) ? objectValues( val ) : val;
- }
- }
- return vals;
-}
-
-function extend( a, b, undefOnly ) {
- for ( var prop in b ) {
- if ( hasOwn.call( b, prop ) ) {
- if ( b[ prop ] === undefined ) {
- delete a[ prop ];
- } else if ( !( undefOnly && typeof a[ prop ] !== "undefined" ) ) {
- a[ prop ] = b[ prop ];
- }
- }
- }
-
- return a;
-}
-
-function objectType( obj ) {
- if ( typeof obj === "undefined" ) {
- return "undefined";
- }
-
- // Consider: typeof null === object
- if ( obj === null ) {
- return "null";
- }
-
- var match = toString.call( obj ).match( /^\[object\s(.*)\]$/ ),
- type = match && match[ 1 ];
-
- switch ( type ) {
- case "Number":
- if ( isNaN( obj ) ) {
- return "nan";
- }
- return "number";
- case "String":
- case "Boolean":
- case "Array":
- case "Set":
- case "Map":
- case "Date":
- case "RegExp":
- case "Function":
- case "Symbol":
- return type.toLowerCase();
- }
- if ( typeof obj === "object" ) {
- return "object";
- }
-}
-
-// Safe object type checking
-function is( type, obj ) {
- return QUnit.objectType( obj ) === type;
-}
-
-// Doesn't support IE9, it will return undefined on these browsers
-// See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack
-function extractStacktrace( e, offset ) {
- offset = offset === undefined ? 4 : offset;
-
- var stack, include, i;
-
- if ( e.stack ) {
- stack = e.stack.split( "\n" );
- if ( /^error$/i.test( stack[ 0 ] ) ) {
- stack.shift();
- }
- if ( fileName ) {
- include = [];
- for ( i = offset; i < stack.length; i++ ) {
- if ( stack[ i ].indexOf( fileName ) !== -1 ) {
- break;
- }
- include.push( stack[ i ] );
- }
- if ( include.length ) {
- return include.join( "\n" );
- }
- }
- return stack[ offset ];
- }
-}
-
-function sourceFromStacktrace( offset ) {
- var error = new Error();
-
- // Support: Safari <=7 only, IE <=10 - 11 only
- // Not all browsers generate the `stack` property for `new Error()`, see also #636
- if ( !error.stack ) {
- try {
- throw error;
- } catch ( err ) {
- error = err;
- }
- }
-
- return extractStacktrace( error, offset );
-}
-
-/**
- * Config object: Maintain internal state
- * Later exposed as QUnit.config
- * `config` initialized at top of scope
- */
-var config = {
+ global$1 = 'default' in global$1 ? global$1['default'] : global$1;
- // The queue of tests to run
- queue: [],
+ var window = global$1.window;
+ var console = global$1.console;
+ var setTimeout = global$1.setTimeout;
+ var clearTimeout = global$1.clearTimeout;
- // Block until document ready
- blocking: true,
+ var document = window && window.document;
+ var navigator = window && window.navigator;
- // By default, run previously failed tests first
- // very useful in combination with "Hide passed tests" checked
- reorder: true,
-
- // By default, modify document.title when suite is done
- altertitle: true,
-
- // HTML Reporter: collapse every test except the first failing test
- // If false, all failing tests will be expanded
- collapse: true,
-
- // By default, scroll to top of the page when suite is done
- scrolltop: true,
-
- // Depth up-to which object will be dumped
- maxDepth: 5,
-
- // When enabled, all tests must call expect()
- requireExpects: false,
-
- // Placeholder for user-configurable form-exposed URL parameters
- urlConfig: [],
-
- // Set of all modules.
- modules: [],
-
- // Stack of nested modules
- moduleStack: [],
-
- // The first unnamed module
- currentModule: {
- name: "",
- tests: []
- },
-
- callbacks: {}
-};
-
-// Push a loose unnamed module to the modules collection
-config.modules.push( config.currentModule );
-
-// Register logging callbacks
-function registerLoggingCallbacks( obj ) {
- var i, l, key,
- callbackNames = [ "begin", "done", "log", "testStart", "testDone",
- "moduleStart", "moduleDone" ];
-
- function registerLoggingCallback( key ) {
- var loggingCallback = function( callback ) {
- if ( objectType( callback ) !== "function" ) {
- throw new Error(
- "QUnit logging methods require a callback function as their first parameters."
- );
- }
-
- config.callbacks[ key ].push( callback );
- };
-
- return loggingCallback;
- }
-
- for ( i = 0, l = callbackNames.length; i < l; i++ ) {
- key = callbackNames[ i ];
-
- // Initialize key collection of logging callback
- if ( objectType( config.callbacks[ key ] ) === "undefined" ) {
- config.callbacks[ key ] = [];
- }
-
- obj[ key ] = registerLoggingCallback( key );
- }
-}
-
-function runLoggingCallbacks( key, args ) {
- var i, l, callbacks;
-
- callbacks = config.callbacks[ key ];
- for ( i = 0, l = callbacks.length; i < l; i++ ) {
- callbacks[ i ]( args );
- }
-}
-
-( function() {
- if ( !defined.document ) {
- return;
- }
-
- // `onErrorFnPrev` initialized at top of scope
- // Preserve other handlers
- var onErrorFnPrev = window.onerror;
-
- // Cover uncaught exceptions
- // Returning true will suppress the default browser handler,
- // returning false will let it run.
- window.onerror = function( error, filePath, linerNr ) {
- var ret = false;
- if ( onErrorFnPrev ) {
- ret = onErrorFnPrev( error, filePath, linerNr );
- }
-
- // Treat return value as window.onerror itself does,
- // Only do our handling if not suppressed.
- if ( ret !== true ) {
- if ( QUnit.config.current ) {
- if ( QUnit.config.current.ignoreGlobalErrors ) {
- return true;
- }
- QUnit.pushFailure( error, filePath + ":" + linerNr );
- } else {
- QUnit.test( "global failure", extend( function() {
- QUnit.pushFailure( error, filePath + ":" + linerNr );
- }, { validTest: true } ) );
- }
- return false;
- }
-
- return ret;
- };
-}() );
-
-// Figure out if we're running the tests from a server or not
-QUnit.isLocal = !( defined.document && window.location.protocol !== "file:" );
-
-// Expose the current QUnit version
-QUnit.version = "2.0.1";
-
-extend( QUnit, {
-
- // Call on start of module test to prepend name to all tests
- module: function( name, testEnvironment, executeNow ) {
- var module, moduleFns;
- var currentModule = config.currentModule;
-
- if ( arguments.length === 2 ) {
- if ( objectType( testEnvironment ) === "function" ) {
- executeNow = testEnvironment;
- testEnvironment = undefined;
- }
- }
-
- module = createModule();
-
- if ( testEnvironment && ( testEnvironment.setup || testEnvironment.teardown ) ) {
- console.warn(
- "Module's `setup` and `teardown` are not hooks anymore on QUnit 2.0, use " +
- "`beforeEach` and `afterEach` instead\n" +
- "Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
- );
- }
-
- moduleFns = {
- before: setHook( module, "before" ),
- beforeEach: setHook( module, "beforeEach" ),
- afterEach: setHook( module, "afterEach" ),
- after: setHook( module, "after" )
- };
-
- if ( objectType( executeNow ) === "function" ) {
- config.moduleStack.push( module );
- setCurrentModule( module );
- executeNow.call( module.testEnvironment, moduleFns );
- config.moduleStack.pop();
- module = module.parentModule || currentModule;
- }
-
- setCurrentModule( module );
-
- function createModule() {
- var parentModule = config.moduleStack.length ?
- config.moduleStack.slice( -1 )[ 0 ] : null;
- var moduleName = parentModule !== null ?
- [ parentModule.name, name ].join( " > " ) : name;
- var module = {
- name: moduleName,
- parentModule: parentModule,
- tests: [],
- moduleId: generateHash( moduleName ),
- testsRun: 0
- };
-
- var env = {};
- if ( parentModule ) {
- parentModule.childModule = module;
- extend( env, parentModule.testEnvironment );
- delete env.beforeEach;
- delete env.afterEach;
- }
- extend( env, testEnvironment );
- module.testEnvironment = env;
-
- config.modules.push( module );
- return module;
- }
-
- function setCurrentModule( module ) {
- config.currentModule = module;
- }
-
- },
-
- test: test,
-
- skip: skip,
-
- only: only,
-
- start: function( count ) {
- var globalStartAlreadyCalled = globalStartCalled;
-
- if ( !config.current ) {
- globalStartCalled = true;
-
- if ( runStarted ) {
- throw new Error( "Called start() while test already started running" );
- } else if ( globalStartAlreadyCalled || count > 1 ) {
- throw new Error( "Called start() outside of a test context too many times" );
- } else if ( config.autostart ) {
- throw new Error( "Called start() outside of a test context when " +
- "QUnit.config.autostart was true" );
- } else if ( !config.pageLoaded ) {
-
- // The page isn't completely loaded yet, so bail out and let `QUnit.load` handle it
- config.autostart = true;
- return;
- }
- } else {
- throw new Error(
- "QUnit.start cannot be called inside a test context. This feature is removed in " +
- "QUnit 2.0. For async tests, use QUnit.test() with assert.async() instead.\n" +
- "Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
- );
- }
-
- scheduleBegin();
- },
-
- config: config,
-
- is: is,
-
- objectType: objectType,
-
- extend: extend,
-
- load: function() {
- config.pageLoaded = true;
-
- // Initialize the configuration options
- extend( config, {
- stats: { all: 0, bad: 0 },
- moduleStats: { all: 0, bad: 0 },
- started: 0,
- updateRate: 1000,
- autostart: true,
- filter: ""
- }, true );
-
- if ( !runStarted ) {
- config.blocking = false;
-
- if ( config.autostart ) {
- scheduleBegin();
- }
- }
- },
-
- stack: function( offset ) {
- offset = ( offset || 0 ) + 2;
- return sourceFromStacktrace( offset );
- }
-} );
-
-registerLoggingCallbacks( QUnit );
-
-function scheduleBegin() {
-
- runStarted = true;
-
- // Add a slight delay to allow definition of more modules and tests.
- if ( defined.setTimeout ) {
- setTimeout( function() {
- begin();
- }, 13 );
- } else {
- begin();
- }
-}
-
-function begin() {
- var i, l,
- modulesLog = [];
-
- // If the test run hasn't officially begun yet
- if ( !config.started ) {
-
- // Record the time of the test run's beginning
- config.started = now();
-
- // Delete the loose unnamed module if unused.
- if ( config.modules[ 0 ].name === "" && config.modules[ 0 ].tests.length === 0 ) {
- config.modules.shift();
- }
-
- // Avoid unnecessary information by not logging modules' test environments
- for ( i = 0, l = config.modules.length; i < l; i++ ) {
- modulesLog.push( {
- name: config.modules[ i ].name,
- tests: config.modules[ i ].tests
- } );
- }
-
- // The test run is officially beginning now
- runLoggingCallbacks( "begin", {
- totalTests: Test.count,
- modules: modulesLog
- } );
- }
-
- config.blocking = false;
- process( true );
-}
-
-function process( last ) {
- function next() {
- process( last );
- }
- var start = now();
- config.depth = ( config.depth || 0 ) + 1;
-
- while ( config.queue.length && !config.blocking ) {
- if ( !defined.setTimeout || config.updateRate <= 0 ||
- ( ( now() - start ) < config.updateRate ) ) {
- if ( config.current ) {
-
- // Reset async tracking for each phase of the Test lifecycle
- config.current.usedAsync = false;
- }
- config.queue.shift()();
- } else {
- setTimeout( next, 13 );
- break;
- }
- }
- config.depth--;
- if ( last && !config.blocking && !config.queue.length && config.depth === 0 ) {
- done();
- }
-}
-
-function done() {
- var runtime, passed;
-
- autorun = true;
-
- // Log the last module results
- if ( config.previousModule ) {
- runLoggingCallbacks( "moduleDone", {
- name: config.previousModule.name,
- tests: config.previousModule.tests,
- failed: config.moduleStats.bad,
- passed: config.moduleStats.all - config.moduleStats.bad,
- total: config.moduleStats.all,
- runtime: now() - config.moduleStats.started
- } );
- }
- delete config.previousModule;
-
- runtime = now() - config.started;
- passed = config.stats.all - config.stats.bad;
-
- runLoggingCallbacks( "done", {
- failed: config.stats.bad,
- passed: passed,
- total: config.stats.all,
- runtime: runtime
- } );
-}
-
-function setHook( module, hookName ) {
- if ( module.testEnvironment === undefined ) {
- module.testEnvironment = {};
- }
-
- return function( callback ) {
- module.testEnvironment[ hookName ] = callback;
- };
-}
-
-var unitSampler,
- focused = false,
- priorityCount = 0;
-
-function Test( settings ) {
- var i, l;
-
- ++Test.count;
-
- this.expected = null;
- extend( this, settings );
- this.assertions = [];
- this.semaphore = 0;
- this.usedAsync = false;
- this.module = config.currentModule;
- this.stack = sourceFromStacktrace( 3 );
-
- // Register unique strings
- for ( i = 0, l = this.module.tests; i < l.length; i++ ) {
- if ( this.module.tests[ i ].name === this.testName ) {
- this.testName += " ";
- }
- }
-
- this.testId = generateHash( this.module.name, this.testName );
-
- this.module.tests.push( {
- name: this.testName,
- testId: this.testId
- } );
-
- if ( settings.skip ) {
-
- // Skipped tests will fully ignore any sent callback
- this.callback = function() {};
- this.async = false;
- this.expected = 0;
- } else {
- this.assert = new Assert( this );
- }
-}
-
-Test.count = 0;
-
-Test.prototype = {
- before: function() {
- if (
-
- // Emit moduleStart when we're switching from one module to another
- this.module !== config.previousModule ||
-
- // They could be equal (both undefined) but if the previousModule property doesn't
- // yet exist it means this is the first test in a suite that isn't wrapped in a
- // module, in which case we'll just emit a moduleStart event for 'undefined'.
- // Without this, reporters can get testStart before moduleStart which is a problem.
- !hasOwn.call( config, "previousModule" )
- ) {
- if ( hasOwn.call( config, "previousModule" ) ) {
- runLoggingCallbacks( "moduleDone", {
- name: config.previousModule.name,
- tests: config.previousModule.tests,
- failed: config.moduleStats.bad,
- passed: config.moduleStats.all - config.moduleStats.bad,
- total: config.moduleStats.all,
- runtime: now() - config.moduleStats.started
- } );
- }
- config.previousModule = this.module;
- config.moduleStats = { all: 0, bad: 0, started: now() };
- runLoggingCallbacks( "moduleStart", {
- name: this.module.name,
- tests: this.module.tests
- } );
- }
-
- config.current = this;
-
- if ( this.module.testEnvironment ) {
- delete this.module.testEnvironment.before;
- delete this.module.testEnvironment.beforeEach;
- delete this.module.testEnvironment.afterEach;
- delete this.module.testEnvironment.after;
- }
- this.testEnvironment = extend( {}, this.module.testEnvironment );
-
- this.started = now();
- runLoggingCallbacks( "testStart", {
- name: this.testName,
- module: this.module.name,
- testId: this.testId
- } );
-
- if ( !config.pollution ) {
- saveGlobal();
- }
- },
-
- run: function() {
- var promise;
-
- config.current = this;
-
- this.callbackStarted = now();
-
- if ( config.notrycatch ) {
- runTest( this );
- return;
- }
-
- try {
- runTest( this );
- } catch ( e ) {
- this.pushFailure( "Died on test #" + ( this.assertions.length + 1 ) + " " +
- this.stack + ": " + ( e.message || e ), extractStacktrace( e, 0 ) );
-
- // Else next test will carry the responsibility
- saveGlobal();
-
- // Restart the tests if they're blocking
- if ( config.blocking ) {
- internalRecover( this );
- }
- }
-
- function runTest( test ) {
- promise = test.callback.call( test.testEnvironment, test.assert );
- test.resolvePromise( promise );
- }
- },
-
- after: function() {
- checkPollution();
- },
-
- queueHook: function( hook, hookName, hookOwner ) {
- var promise,
- test = this;
- return function runHook() {
- if ( hookName === "before" ) {
- if ( hookOwner.testsRun !== 0 ) {
- return;
- }
-
- test.preserveEnvironment = true;
- }
-
- if ( hookName === "after" && hookOwner.testsRun !== numberOfTests( hookOwner ) - 1 ) {
- return;
- }
-
- config.current = test;
- if ( config.notrycatch ) {
- callHook();
- return;
- }
- try {
- callHook();
- } catch ( error ) {
- test.pushFailure( hookName + " failed on " + test.testName + ": " +
- ( error.message || error ), extractStacktrace( error, 0 ) );
- }
-
- function callHook() {
- promise = hook.call( test.testEnvironment, test.assert );
- test.resolvePromise( promise, hookName );
- }
- };
- },
-
- // Currently only used for module level hooks, can be used to add global level ones
- hooks: function( handler ) {
- var hooks = [];
-
- function processHooks( test, module ) {
- if ( module.parentModule ) {
- processHooks( test, module.parentModule );
- }
- if ( module.testEnvironment &&
- QUnit.objectType( module.testEnvironment[ handler ] ) === "function" ) {
- hooks.push( test.queueHook( module.testEnvironment[ handler ], handler, module ) );
- }
- }
-
- // Hooks are ignored on skipped tests
- if ( !this.skip ) {
- processHooks( this, this.module );
- }
- return hooks;
- },
-
- finish: function() {
- config.current = this;
- if ( config.requireExpects && this.expected === null ) {
- this.pushFailure( "Expected number of assertions to be defined, but expect() was " +
- "not called.", this.stack );
- } else if ( this.expected !== null && this.expected !== this.assertions.length ) {
- this.pushFailure( "Expected " + this.expected + " assertions, but " +
- this.assertions.length + " were run", this.stack );
- } else if ( this.expected === null && !this.assertions.length ) {
- this.pushFailure( "Expected at least one assertion, but none were run - call " +
- "expect(0) to accept zero assertions.", this.stack );
- }
-
- var i,
- skipped = !!this.skip,
- bad = 0;
-
- this.runtime = now() - this.started;
-
- config.stats.all += this.assertions.length;
- config.moduleStats.all += this.assertions.length;
-
- for ( i = 0; i < this.assertions.length; i++ ) {
- if ( !this.assertions[ i ].result ) {
- bad++;
- config.stats.bad++;
- config.moduleStats.bad++;
- }
- }
-
- notifyTestsRan( this.module );
- runLoggingCallbacks( "testDone", {
- name: this.testName,
- module: this.module.name,
- skipped: skipped,
- failed: bad,
- passed: this.assertions.length - bad,
- total: this.assertions.length,
- runtime: skipped ? 0 : this.runtime,
-
- // HTML Reporter use
- assertions: this.assertions,
- testId: this.testId,
-
- // Source of Test
- source: this.stack
- } );
-
- config.current = undefined;
- },
-
- preserveTestEnvironment: function() {
- if ( this.preserveEnvironment ) {
- this.module.testEnvironment = this.testEnvironment;
- this.testEnvironment = extend( {}, this.module.testEnvironment );
- }
- },
-
- queue: function() {
- var priority,
- test = this;
-
- if ( !this.valid() ) {
- return;
- }
-
- function run() {
-
- // Each of these can by async
- synchronize( [
- function() {
- test.before();
- },
-
- test.hooks( "before" ),
-
- function() {
- test.preserveTestEnvironment();
- },
-
- test.hooks( "beforeEach" ),
-
- function() {
- test.run();
- },
-
- test.hooks( "afterEach" ).reverse(),
- test.hooks( "after" ).reverse(),
-
- function() {
- test.after();
- },
-
- function() {
- test.finish();
- }
- ] );
- }
-
- // Prioritize previously failed tests, detected from sessionStorage
- priority = QUnit.config.reorder && defined.sessionStorage &&
- +sessionStorage.getItem( "qunit-test-" + this.module.name + "-" + this.testName );
-
- return synchronize( run, priority, config.seed );
- },
-
- pushResult: function( resultInfo ) {
-
- // Destructure of resultInfo = { result, actual, expected, message, negative }
- var source,
- details = {
- module: this.module.name,
- name: this.testName,
- result: resultInfo.result,
- message: resultInfo.message,
- actual: resultInfo.actual,
- expected: resultInfo.expected,
- testId: this.testId,
- negative: resultInfo.negative || false,
- runtime: now() - this.started
- };
-
- if ( !resultInfo.result ) {
- source = sourceFromStacktrace();
-
- if ( source ) {
- details.source = source;
- }
- }
-
- runLoggingCallbacks( "log", details );
-
- this.assertions.push( {
- result: !!resultInfo.result,
- message: resultInfo.message
- } );
- },
-
- pushFailure: function( message, source, actual ) {
- if ( !( this instanceof Test ) ) {
- throw new Error( "pushFailure() assertion outside test context, was " +
- sourceFromStacktrace( 2 ) );
- }
-
- var details = {
- module: this.module.name,
- name: this.testName,
- result: false,
- message: message || "error",
- actual: actual || null,
- testId: this.testId,
- runtime: now() - this.started
- };
-
- if ( source ) {
- details.source = source;
- }
-
- runLoggingCallbacks( "log", details );
-
- this.assertions.push( {
- result: false,
- message: message
- } );
- },
-
- resolvePromise: function( promise, phase ) {
- var then, resume, message,
- test = this;
- if ( promise != null ) {
- then = promise.then;
- if ( QUnit.objectType( then ) === "function" ) {
- resume = internalStop( test );
- then.call(
- promise,
- function() { resume(); },
- function( error ) {
- message = "Promise rejected " +
- ( !phase ? "during" : phase.replace( /Each$/, "" ) ) +
- " " + test.testName + ": " + ( error.message || error );
- test.pushFailure( message, extractStacktrace( error, 0 ) );
-
- // Else next test will carry the responsibility
- saveGlobal();
-
- // Unblock
- resume();
- }
- );
- }
- }
- },
-
- valid: function() {
- var filter = config.filter,
- regexFilter = /^(!?)\/([\w\W]*)\/(i?$)/.exec( filter ),
- module = config.module && config.module.toLowerCase(),
- fullName = ( this.module.name + ": " + this.testName );
-
- function moduleChainNameMatch( testModule ) {
- var testModuleName = testModule.name ? testModule.name.toLowerCase() : null;
- if ( testModuleName === module ) {
- return true;
- } else if ( testModule.parentModule ) {
- return moduleChainNameMatch( testModule.parentModule );
- } else {
- return false;
- }
- }
-
- function moduleChainIdMatch( testModule ) {
- return inArray( testModule.moduleId, config.moduleId ) > -1 ||
- testModule.parentModule && moduleChainIdMatch( testModule.parentModule );
- }
-
- // Internally-generated tests are always valid
- if ( this.callback && this.callback.validTest ) {
- return true;
- }
-
- if ( config.moduleId && config.moduleId.length > 0 &&
- !moduleChainIdMatch( this.module ) ) {
-
- return false;
- }
-
- if ( config.testId && config.testId.length > 0 &&
- inArray( this.testId, config.testId ) < 0 ) {
-
- return false;
- }
-
- if ( module && !moduleChainNameMatch( this.module ) ) {
- return false;
- }
-
- if ( !filter ) {
- return true;
- }
-
- return regexFilter ?
- this.regexFilter( !!regexFilter[ 1 ], regexFilter[ 2 ], regexFilter[ 3 ], fullName ) :
- this.stringFilter( filter, fullName );
- },
-
- regexFilter: function( exclude, pattern, flags, fullName ) {
- var regex = new RegExp( pattern, flags );
- var match = regex.test( fullName );
-
- return match !== exclude;
- },
-
- stringFilter: function( filter, fullName ) {
- filter = filter.toLowerCase();
- fullName = fullName.toLowerCase();
-
- var include = filter.charAt( 0 ) !== "!";
- if ( !include ) {
- filter = filter.slice( 1 );
- }
-
- // If the filter matches, we need to honour include
- if ( fullName.indexOf( filter ) !== -1 ) {
- return include;
- }
-
- // Otherwise, do the opposite
- return !include;
- }
-};
-
-QUnit.pushFailure = function() {
- if ( !QUnit.config.current ) {
- throw new Error( "pushFailure() assertion outside test context, in " +
- sourceFromStacktrace( 2 ) );
- }
-
- // Gets current test obj
- var currentTest = QUnit.config.current;
-
- return currentTest.pushFailure.apply( currentTest, arguments );
-};
-
-// Based on Java's String.hashCode, a simple but not
-// rigorously collision resistant hashing function
-function generateHash( module, testName ) {
- var hex,
- i = 0,
- hash = 0,
- str = module + "\x1C" + testName,
- len = str.length;
-
- for ( ; i < len; i++ ) {
- hash = ( ( hash << 5 ) - hash ) + str.charCodeAt( i );
- hash |= 0;
- }
-
- // Convert the possibly negative integer hash code into an 8 character hex string, which isn't
- // strictly necessary but increases user understanding that the id is a SHA-like hash
- hex = ( 0x100000000 + hash ).toString( 16 );
- if ( hex.length < 8 ) {
- hex = "0000000" + hex;
- }
-
- return hex.slice( -8 );
-}
-
-function synchronize( callback, priority, seed ) {
- var last = !priority,
- index;
-
- if ( QUnit.objectType( callback ) === "array" ) {
- while ( callback.length ) {
- synchronize( callback.shift() );
- }
- return;
- }
-
- if ( priority ) {
- config.queue.splice( priorityCount++, 0, callback );
- } else if ( seed ) {
- if ( !unitSampler ) {
- unitSampler = unitSamplerGenerator( seed );
- }
-
- // Insert into a random position after all priority items
- index = Math.floor( unitSampler() * ( config.queue.length - priorityCount + 1 ) );
- config.queue.splice( priorityCount + index, 0, callback );
- } else {
- config.queue.push( callback );
- }
-
- if ( autorun && !config.blocking ) {
- process( last );
- }
-}
-
-function unitSamplerGenerator( seed ) {
-
- // 32-bit xorshift, requires only a nonzero seed
- // http://excamera.com/sphinx/article-xorshift.html
- var sample = parseInt( generateHash( seed ), 16 ) || -1;
- return function() {
- sample ^= sample << 13;
- sample ^= sample >>> 17;
- sample ^= sample << 5;
-
- // ECMAScript has no unsigned number type
- if ( sample < 0 ) {
- sample += 0x100000000;
- }
-
- return sample / 0x100000000;
- };
-}
-
-function saveGlobal() {
- config.pollution = [];
-
- if ( config.noglobals ) {
- for ( var key in global ) {
- if ( hasOwn.call( global, key ) ) {
-
- // In Opera sometimes DOM element ids show up here, ignore them
- if ( /^qunit-test-output/.test( key ) ) {
- continue;
- }
- config.pollution.push( key );
- }
- }
- }
-}
-
-function checkPollution() {
- var newGlobals,
- deletedGlobals,
- old = config.pollution;
-
- saveGlobal();
-
- newGlobals = diff( config.pollution, old );
- if ( newGlobals.length > 0 ) {
- QUnit.pushFailure( "Introduced global variable(s): " + newGlobals.join( ", " ) );
- }
-
- deletedGlobals = diff( old, config.pollution );
- if ( deletedGlobals.length > 0 ) {
- QUnit.pushFailure( "Deleted global variable(s): " + deletedGlobals.join( ", " ) );
- }
-}
-
-// Will be exposed as QUnit.test
-function test( testName, callback ) {
- if ( focused ) { return; }
-
- var newTest;
-
- newTest = new Test( {
- testName: testName,
- callback: callback
- } );
-
- newTest.queue();
-}
-
-// Will be exposed as QUnit.skip
-function skip( testName ) {
- if ( focused ) { return; }
-
- var test = new Test( {
- testName: testName,
- skip: true
- } );
-
- test.queue();
-}
-
-// Will be exposed as QUnit.only
-function only( testName, callback ) {
- var newTest;
-
- if ( focused ) { return; }
-
- QUnit.config.queue.length = 0;
- focused = true;
-
- newTest = new Test( {
- testName: testName,
- callback: callback
- } );
-
- newTest.queue();
-}
-
-// Put a hold on processing and return a function that will release it.
-function internalStop( test ) {
- var released = false;
-
- test.semaphore += 1;
- config.blocking = true;
-
- // Set a recovery timeout, if so configured.
- if ( config.testTimeout && defined.setTimeout ) {
- clearTimeout( config.timeout );
- config.timeout = setTimeout( function() {
- QUnit.pushFailure( "Test timed out", sourceFromStacktrace( 2 ) );
- internalRecover( test );
- }, config.testTimeout );
- }
-
- return function resume() {
- if ( released ) {
- return;
- }
-
- released = true;
- test.semaphore -= 1;
- internalStart( test );
- };
-}
-
-// Forcefully release all processing holds.
-function internalRecover( test ) {
- test.semaphore = 0;
- internalStart( test );
-}
-
-// Release a processing hold, scheduling a resumption attempt if no holds remain.
-function internalStart( test ) {
-
- // If semaphore is non-numeric, throw error
- if ( isNaN( test.semaphore ) ) {
- test.semaphore = 0;
-
- QUnit.pushFailure(
- "Invalid value on test.semaphore",
- sourceFromStacktrace( 2 )
- );
- return;
- }
-
- // Don't start until equal number of stop-calls
- if ( test.semaphore > 0 ) {
- return;
- }
-
- // Throw an Error if start is called more often than stop
- if ( test.semaphore < 0 ) {
- test.semaphore = 0;
-
- QUnit.pushFailure(
- "Tried to restart test while already started (test's semaphore was 0 already)",
- sourceFromStacktrace( 2 )
- );
- return;
- }
-
- // Add a slight delay to allow more assertions etc.
- if ( defined.setTimeout ) {
- if ( config.timeout ) {
- clearTimeout( config.timeout );
- }
- config.timeout = setTimeout( function() {
- if ( test.semaphore > 0 ) {
- return;
- }
-
- if ( config.timeout ) {
- clearTimeout( config.timeout );
- }
-
- begin();
- }, 13 );
- } else {
- begin();
- }
-}
-
-function numberOfTests( module ) {
- var count = module.tests.length;
- while ( module = module.childModule ) {
- count += module.tests.length;
- }
- return count;
-}
-
-function notifyTestsRan( module ) {
- module.testsRun++;
- while ( module = module.parentModule ) {
- module.testsRun++;
- }
-}
-
-function Assert( testContext ) {
- this.test = testContext;
-}
-
-// Assert helpers
-QUnit.assert = Assert.prototype = {
-
- // Specify the number of expected assertions to guarantee that failed test
- // (no assertions are run at all) don't slip through.
- expect: function( asserts ) {
- if ( arguments.length === 1 ) {
- this.test.expected = asserts;
- } else {
- return this.test.expected;
- }
- },
-
- // Put a hold on processing and return a function that will release it a maximum of once.
- async: function( count ) {
- var resume,
- test = this.test,
- popped = false,
- acceptCallCount = count;
-
- if ( typeof acceptCallCount === "undefined" ) {
- acceptCallCount = 1;
- }
-
- test.usedAsync = true;
- resume = internalStop( test );
-
- return function done() {
-
- if ( popped ) {
- test.pushFailure( "Too many calls to the `assert.async` callback",
- sourceFromStacktrace( 2 ) );
- return;
- }
- acceptCallCount -= 1;
- if ( acceptCallCount > 0 ) {
- return;
- }
-
- popped = true;
- resume();
- };
- },
-
- // Exports test.push() to the user API
- // Alias of pushResult.
- push: function( result, actual, expected, message, negative ) {
- var currentAssert = this instanceof Assert ? this : QUnit.config.current.assert;
- return currentAssert.pushResult( {
- result: result,
- actual: actual,
- expected: expected,
- message: message,
- negative: negative
- } );
- },
-
- pushResult: function( resultInfo ) {
-
- // Destructure of resultInfo = { result, actual, expected, message, negative }
- var assert = this,
- currentTest = ( assert instanceof Assert && assert.test ) || QUnit.config.current;
-
- // Backwards compatibility fix.
- // Allows the direct use of global exported assertions and QUnit.assert.*
- // Although, it's use is not recommended as it can leak assertions
- // to other tests from async tests, because we only get a reference to the current test,
- // not exactly the test where assertion were intended to be called.
- if ( !currentTest ) {
- throw new Error( "assertion outside test context, in " + sourceFromStacktrace( 2 ) );
- }
-
- if ( currentTest.usedAsync === true && currentTest.semaphore === 0 ) {
- currentTest.pushFailure( "Assertion after the final `assert.async` was resolved",
- sourceFromStacktrace( 2 ) );
-
- // Allow this assertion to continue running anyway...
- }
-
- if ( !( assert instanceof Assert ) ) {
- assert = currentTest.assert;
- }
-
- return assert.test.pushResult( resultInfo );
- },
-
- ok: function( result, message ) {
- message = message || ( result ? "okay" : "failed, expected argument to be truthy, was: " +
- QUnit.dump.parse( result ) );
- this.pushResult( {
- result: !!result,
- actual: result,
- expected: true,
- message: message
- } );
- },
-
- notOk: function( result, message ) {
- message = message || ( !result ? "okay" : "failed, expected argument to be falsy, was: " +
- QUnit.dump.parse( result ) );
- this.pushResult( {
- result: !result,
- actual: result,
- expected: false,
- message: message
- } );
- },
-
- equal: function( actual, expected, message ) {
- /*jshint eqeqeq:false */
- this.pushResult( {
- result: expected == actual,
- actual: actual,
- expected: expected,
- message: message
- } );
- },
-
- notEqual: function( actual, expected, message ) {
- /*jshint eqeqeq:false */
- this.pushResult( {
- result: expected != actual,
- actual: actual,
- expected: expected,
- message: message,
- negative: true
- } );
- },
-
- propEqual: function( actual, expected, message ) {
- actual = objectValues( actual );
- expected = objectValues( expected );
- this.pushResult( {
- result: QUnit.equiv( actual, expected ),
- actual: actual,
- expected: expected,
- message: message
- } );
- },
-
- notPropEqual: function( actual, expected, message ) {
- actual = objectValues( actual );
- expected = objectValues( expected );
- this.pushResult( {
- result: !QUnit.equiv( actual, expected ),
- actual: actual,
- expected: expected,
- message: message,
- negative: true
- } );
- },
-
- deepEqual: function( actual, expected, message ) {
- this.pushResult( {
- result: QUnit.equiv( actual, expected ),
- actual: actual,
- expected: expected,
- message: message
- } );
- },
-
- notDeepEqual: function( actual, expected, message ) {
- this.pushResult( {
- result: !QUnit.equiv( actual, expected ),
- actual: actual,
- expected: expected,
- message: message,
- negative: true
- } );
- },
-
- strictEqual: function( actual, expected, message ) {
- this.pushResult( {
- result: expected === actual,
- actual: actual,
- expected: expected,
- message: message
- } );
- },
-
- notStrictEqual: function( actual, expected, message ) {
- this.pushResult( {
- result: expected !== actual,
- actual: actual,
- expected: expected,
- message: message,
- negative: true
- } );
- },
-
- "throws": function( block, expected, message ) {
- var actual, expectedType,
- expectedOutput = expected,
- ok = false,
- currentTest = ( this instanceof Assert && this.test ) || QUnit.config.current;
-
- // 'expected' is optional unless doing string comparison
- if ( QUnit.objectType( expected ) === "string" ) {
- if ( message == null ) {
- message = expected;
- expected = null;
- } else {
- throw new Error(
- "throws/raises does not accept a string value for the expected argument.\n" +
- "Use a non-string object value (e.g. regExp) instead if it's necessary." +
- "Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
- );
- }
- }
-
- currentTest.ignoreGlobalErrors = true;
- try {
- block.call( currentTest.testEnvironment );
- } catch ( e ) {
- actual = e;
- }
- currentTest.ignoreGlobalErrors = false;
-
- if ( actual ) {
- expectedType = QUnit.objectType( expected );
-
- // We don't want to validate thrown error
- if ( !expected ) {
- ok = true;
- expectedOutput = null;
-
- // Expected is a regexp
- } else if ( expectedType === "regexp" ) {
- ok = expected.test( errorString( actual ) );
-
- // Expected is a constructor, maybe an Error constructor
- } else if ( expectedType === "function" && actual instanceof expected ) {
- ok = true;
-
- // Expected is an Error object
- } else if ( expectedType === "object" ) {
- ok = actual instanceof expected.constructor &&
- actual.name === expected.name &&
- actual.message === expected.message;
-
- // Expected is a validation function which returns true if validation passed
- } else if ( expectedType === "function" && expected.call( {}, actual ) === true ) {
- expectedOutput = null;
- ok = true;
- }
- }
-
- currentTest.assert.pushResult( {
- result: ok,
- actual: actual,
- expected: expectedOutput,
- message: message
- } );
- }
-};
-
-// Provide an alternative to assert.throws(), for environments that consider throws a reserved word
-// Known to us are: Closure Compiler, Narwhal
-( function() {
- /*jshint sub:true */
- Assert.prototype.raises = Assert.prototype [ "throws" ]; //jscs:ignore requireDotNotation
-}() );
-
-function errorString( error ) {
- var name, message,
- resultErrorString = error.toString();
- if ( resultErrorString.substring( 0, 7 ) === "[object" ) {
- name = error.name ? error.name.toString() : "Error";
- message = error.message ? error.message.toString() : "";
- if ( name && message ) {
- return name + ": " + message;
- } else if ( name ) {
- return name;
- } else if ( message ) {
- return message;
- } else {
- return "Error";
- }
- } else {
- return resultErrorString;
- }
-}
-
-// Test for equality any JavaScript type.
-// Author: Philippe Rathé <[email protected]>
-QUnit.equiv = ( function() {
-
- // Stack to decide between skip/abort functions
- var callers = [];
-
- // Stack to avoiding loops from circular referencing
- var parents = [];
- var parentsB = [];
-
- var getProto = Object.getPrototypeOf || function( obj ) {
-
- /*jshint proto: true */
- return obj.__proto__;
- };
-
- function useStrictEquality( b, a ) {
-
- // To catch short annotation VS 'new' annotation of a declaration. e.g.:
- // `var i = 1;`
- // `var j = new Number(1);`
- if ( typeof a === "object" ) {
- a = a.valueOf();
- }
- if ( typeof b === "object" ) {
- b = b.valueOf();
- }
-
- return a === b;
- }
-
- function compareConstructors( a, b ) {
- var protoA = getProto( a );
- var protoB = getProto( b );
-
- // Comparing constructors is more strict than using `instanceof`
- if ( a.constructor === b.constructor ) {
- return true;
- }
-
- // Ref #851
- // If the obj prototype descends from a null constructor, treat it
- // as a null prototype.
- if ( protoA && protoA.constructor === null ) {
- protoA = null;
- }
- if ( protoB && protoB.constructor === null ) {
- protoB = null;
- }
-
- // Allow objects with no prototype to be equivalent to
- // objects with Object as their constructor.
- if ( ( protoA === null && protoB === Object.prototype ) ||
- ( protoB === null && protoA === Object.prototype ) ) {
- return true;
- }
-
- return false;
- }
-
- function getRegExpFlags( regexp ) {
- return "flags" in regexp ? regexp.flags : regexp.toString().match( /[gimuy]*$/ )[ 0 ];
- }
-
- var callbacks = {
- "string": useStrictEquality,
- "boolean": useStrictEquality,
- "number": useStrictEquality,
- "null": useStrictEquality,
- "undefined": useStrictEquality,
- "symbol": useStrictEquality,
- "date": useStrictEquality,
-
- "nan": function() {
- return true;
- },
-
- "regexp": function( b, a ) {
- return a.source === b.source &&
-
- // Include flags in the comparison
- getRegExpFlags( a ) === getRegExpFlags( b );
- },
-
- // - skip when the property is a method of an instance (OOP)
- // - abort otherwise,
- // initial === would have catch identical references anyway
- "function": function() {
- var caller = callers[ callers.length - 1 ];
- return caller !== Object && typeof caller !== "undefined";
- },
-
- "array": function( b, a ) {
- var i, j, len, loop, aCircular, bCircular;
-
- len = a.length;
- if ( len !== b.length ) {
-
- // Safe and faster
- return false;
- }
-
- // Track reference to avoid circular references
- parents.push( a );
- parentsB.push( b );
- for ( i = 0; i < len; i++ ) {
- loop = false;
- for ( j = 0; j < parents.length; j++ ) {
- aCircular = parents[ j ] === a[ i ];
- bCircular = parentsB[ j ] === b[ i ];
- if ( aCircular || bCircular ) {
- if ( a[ i ] === b[ i ] || aCircular && bCircular ) {
- loop = true;
- } else {
- parents.pop();
- parentsB.pop();
- return false;
- }
- }
- }
- if ( !loop && !innerEquiv( a[ i ], b[ i ] ) ) {
- parents.pop();
- parentsB.pop();
- return false;
- }
- }
- parents.pop();
- parentsB.pop();
- return true;
- },
-
- "set": function( b, a ) {
- var innerEq,
- outerEq = true;
-
- if ( a.size !== b.size ) {
- return false;
- }
-
- a.forEach( function( aVal ) {
- innerEq = false;
-
- b.forEach( function( bVal ) {
- if ( innerEquiv( bVal, aVal ) ) {
- innerEq = true;
- }
- } );
-
- if ( !innerEq ) {
- outerEq = false;
- }
- } );
-
- return outerEq;
- },
-
- "map": function( b, a ) {
- var innerEq,
- outerEq = true;
-
- if ( a.size !== b.size ) {
- return false;
- }
-
- a.forEach( function( aVal, aKey ) {
- innerEq = false;
-
- b.forEach( function( bVal, bKey ) {
- if ( innerEquiv( [ bVal, bKey ], [ aVal, aKey ] ) ) {
- innerEq = true;
- }
- } );
-
- if ( !innerEq ) {
- outerEq = false;
- }
- } );
-
- return outerEq;
- },
-
- "object": function( b, a ) {
- var i, j, loop, aCircular, bCircular;
-
- // Default to true
- var eq = true;
- var aProperties = [];
- var bProperties = [];
-
- if ( compareConstructors( a, b ) === false ) {
- return false;
- }
-
- // Stack constructor before traversing properties
- callers.push( a.constructor );
-
- // Track reference to avoid circular references
- parents.push( a );
- parentsB.push( b );
-
- // Be strict: don't ensure hasOwnProperty and go deep
- for ( i in a ) {
- loop = false;
- for ( j = 0; j < parents.length; j++ ) {
- aCircular = parents[ j ] === a[ i ];
- bCircular = parentsB[ j ] === b[ i ];
- if ( aCircular || bCircular ) {
- if ( a[ i ] === b[ i ] || aCircular && bCircular ) {
- loop = true;
- } else {
- eq = false;
- break;
- }
- }
- }
- aProperties.push( i );
- if ( !loop && !innerEquiv( a[ i ], b[ i ] ) ) {
- eq = false;
- break;
- }
- }
-
- parents.pop();
- parentsB.pop();
-
- // Unstack, we are done
- callers.pop();
-
- for ( i in b ) {
-
- // Collect b's properties
- bProperties.push( i );
- }
-
- // Ensures identical properties name
- return eq && innerEquiv( aProperties.sort(), bProperties.sort() );
- }
- };
-
- function typeEquiv( a, b ) {
- var type = QUnit.objectType( a );
- return QUnit.objectType( b ) === type && callbacks[ type ]( b, a );
- }
-
- // The real equiv function
- function innerEquiv( a, b ) {
-
- // We're done when there's nothing more to compare
- if ( arguments.length < 2 ) {
- return true;
- }
-
- // Require type-specific equality
- return ( a === b || typeEquiv( a, b ) ) &&
-
- // ...across all consecutive argument pairs
- ( arguments.length === 2 || innerEquiv.apply( this, [].slice.call( arguments, 1 ) ) );
- }
-
- return innerEquiv;
-}() );
-
-// Based on jsDump by Ariel Flesler
-// http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html
-QUnit.dump = ( function() {
- function quote( str ) {
- return "\"" + str.toString().replace( /\\/g, "\\\\" ).replace( /"/g, "\\\"" ) + "\"";
- }
- function literal( o ) {
- return o + "";
- }
- function join( pre, arr, post ) {
- var s = dump.separator(),
- base = dump.indent(),
- inner = dump.indent( 1 );
- if ( arr.join ) {
- arr = arr.join( "," + s + inner );
- }
- if ( !arr ) {
- return pre + post;
- }
- return [ pre, inner + arr, base + post ].join( s );
- }
- function array( arr, stack ) {
- var i = arr.length,
- ret = new Array( i );
-
- if ( dump.maxDepth && dump.depth > dump.maxDepth ) {
- return "[object Array]";
- }
-
- this.up();
- while ( i-- ) {
- ret[ i ] = this.parse( arr[ i ], undefined, stack );
- }
- this.down();
- return join( "[", ret, "]" );
- }
-
- function isArray( obj ) {
- return (
-
- //Native Arrays
- toString.call( obj ) === "[object Array]" ||
-
- // NodeList objects
- ( typeof obj.length === "number" && obj.item !== undefined ) &&
- ( obj.length ?
- obj.item( 0 ) === obj[ 0 ] :
- ( obj.item( 0 ) === null && obj[ 0 ] === undefined )
- )
- );
- }
-
- var reName = /^function (\w+)/,
- dump = {
-
- // The objType is used mostly internally, you can fix a (custom) type in advance
- parse: function( obj, objType, stack ) {
- stack = stack || [];
- var res, parser, parserType,
- inStack = inArray( obj, stack );
-
- if ( inStack !== -1 ) {
- return "recursion(" + ( inStack - stack.length ) + ")";
- }
-
- objType = objType || this.typeOf( obj );
- parser = this.parsers[ objType ];
- parserType = typeof parser;
-
- if ( parserType === "function" ) {
- stack.push( obj );
- res = parser.call( this, obj, stack );
- stack.pop();
- return res;
- }
- return ( parserType === "string" ) ? parser : this.parsers.error;
- },
- typeOf: function( obj ) {
- var type;
-
- if ( obj === null ) {
- type = "null";
- } else if ( typeof obj === "undefined" ) {
- type = "undefined";
- } else if ( QUnit.is( "regexp", obj ) ) {
- type = "regexp";
- } else if ( QUnit.is( "date", obj ) ) {
- type = "date";
- } else if ( QUnit.is( "function", obj ) ) {
- type = "function";
- } else if ( obj.setInterval !== undefined &&
- obj.document !== undefined &&
- obj.nodeType === undefined ) {
- type = "window";
- } else if ( obj.nodeType === 9 ) {
- type = "document";
- } else if ( obj.nodeType ) {
- type = "node";
- } else if ( isArray( obj ) ) {
- type = "array";
- } else if ( obj.constructor === Error.prototype.constructor ) {
- type = "error";
- } else {
- type = typeof obj;
- }
- return type;
- },
-
- separator: function() {
- return this.multiline ? this.HTML ? "<br />" : "\n" : this.HTML ? "&#160;" : " ";
- },
-
- // Extra can be a number, shortcut for increasing-calling-decreasing
- indent: function( extra ) {
- if ( !this.multiline ) {
- return "";
- }
- var chr = this.indentChar;
- if ( this.HTML ) {
- chr = chr.replace( /\t/g, " " ).replace( / /g, "&#160;" );
- }
- return new Array( this.depth + ( extra || 0 ) ).join( chr );
- },
- up: function( a ) {
- this.depth += a || 1;
- },
- down: function( a ) {
- this.depth -= a || 1;
- },
- setParser: function( name, parser ) {
- this.parsers[ name ] = parser;
- },
-
- // The next 3 are exposed so you can use them
- quote: quote,
- literal: literal,
- join: join,
- depth: 1,
- maxDepth: QUnit.config.maxDepth,
-
- // This is the list of parsers, to modify them, use dump.setParser
- parsers: {
- window: "[Window]",
- document: "[Document]",
- error: function( error ) {
- return "Error(\"" + error.message + "\")";
- },
- unknown: "[Unknown]",
- "null": "null",
- "undefined": "undefined",
- "function": function( fn ) {
- var ret = "function",
-
- // Functions never have name in IE
- name = "name" in fn ? fn.name : ( reName.exec( fn ) || [] )[ 1 ];
-
- if ( name ) {
- ret += " " + name;
- }
- ret += "(";
-
- ret = [ ret, dump.parse( fn, "functionArgs" ), "){" ].join( "" );
- return join( ret, dump.parse( fn, "functionCode" ), "}" );
- },
- array: array,
- nodelist: array,
- "arguments": array,
- object: function( map, stack ) {
- var keys, key, val, i, nonEnumerableProperties,
- ret = [];
-
- if ( dump.maxDepth && dump.depth > dump.maxDepth ) {
- return "[object Object]";
- }
-
- dump.up();
- keys = [];
- for ( key in map ) {
- keys.push( key );
- }
-
- // Some properties are not always enumerable on Error objects.
- nonEnumerableProperties = [ "message", "name" ];
- for ( i in nonEnumerableProperties ) {
- key = nonEnumerableProperties[ i ];
- if ( key in map && inArray( key, keys ) < 0 ) {
- keys.push( key );
- }
- }
- keys.sort();
- for ( i = 0; i < keys.length; i++ ) {
- key = keys[ i ];
- val = map[ key ];
- ret.push( dump.parse( key, "key" ) + ": " +
- dump.parse( val, undefined, stack ) );
- }
- dump.down();
- return join( "{", ret, "}" );
- },
- node: function( node ) {
- var len, i, val,
- open = dump.HTML ? "&lt;" : "<",
- close = dump.HTML ? "&gt;" : ">",
- tag = node.nodeName.toLowerCase(),
- ret = open + tag,
- attrs = node.attributes;
-
- if ( attrs ) {
- for ( i = 0, len = attrs.length; i < len; i++ ) {
- val = attrs[ i ].nodeValue;
-
- // IE6 includes all attributes in .attributes, even ones not explicitly
- // set. Those have values like undefined, null, 0, false, "" or
- // "inherit".
- if ( val && val !== "inherit" ) {
- ret += " " + attrs[ i ].nodeName + "=" +
- dump.parse( val, "attribute" );
- }
- }
- }
- ret += close;
-
- // Show content of TextNode or CDATASection
- if ( node.nodeType === 3 || node.nodeType === 4 ) {
- ret += node.nodeValue;
- }
-
- return ret + open + "/" + tag + close;
- },
-
- // Function calls it internally, it's the arguments part of the function
- functionArgs: function( fn ) {
- var args,
- l = fn.length;
-
- if ( !l ) {
- return "";
- }
-
- args = new Array( l );
- while ( l-- ) {
-
- // 97 is 'a'
- args[ l ] = String.fromCharCode( 97 + l );
- }
- return " " + args.join( ", " ) + " ";
- },
-
- // Object calls it internally, the key part of an item in a map
- key: quote,
-
- // Function calls it internally, it's the content of the function
- functionCode: "[code]",
-
- // Node calls it internally, it's a html attribute value
- attribute: quote,
- string: quote,
- date: quote,
- regexp: literal,
- number: literal,
- "boolean": literal,
- symbol: function( sym ) {
- return sym.toString();
- }
- },
-
- // If true, entities are escaped ( <, >, \t, space and \n )
- HTML: false,
-
- // Indentation unit
- indentChar: " ",
-
- // If true, items in a collection, are separated by a \n, else just a space.
- multiline: true
- };
-
- return dump;
-}() );
-
-// Back compat
-QUnit.jsDump = QUnit.dump;
-
-function applyDeprecated( name ) {
- return function() {
- throw new Error(
- name + " is removed in QUnit 2.0.\n" +
- "Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
- );
- };
-}
-
-Object.keys( Assert.prototype ).forEach( function( key ) {
- QUnit[ key ] = applyDeprecated( "`QUnit." + key + "`" );
-} );
-
-QUnit.asyncTest = function() {
- throw new Error(
- "asyncTest is removed in QUnit 2.0, use QUnit.test() with assert.async() instead.\n" +
- "Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
- );
-};
-
-QUnit.stop = function() {
- throw new Error(
- "QUnit.stop is removed in QUnit 2.0, use QUnit.test() with assert.async() instead.\n" +
- "Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
- );
-};
-
-function resetThrower() {
- throw new Error(
- "QUnit.reset is removed in QUnit 2.0 without replacement.\n" +
- "Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
- );
-}
-
-Object.defineProperty( QUnit, "reset", {
- get: function() {
- return resetThrower;
- },
- set: resetThrower
-} );
-
-if ( defined.document ) {
- if ( window.QUnit ) {
- throw new Error( "QUnit has already been defined." );
- }
-
- [
- "test",
- "module",
- "expect",
- "start",
- "ok",
- "notOk",
- "equal",
- "notEqual",
- "propEqual",
- "notPropEqual",
- "deepEqual",
- "notDeepEqual",
- "strictEqual",
- "notStrictEqual",
- "throws",
- "raises"
- ].forEach( function( key ) {
- window[ key ] = applyDeprecated( "The global `" + key + "`" );
- } );
-
- window.QUnit = QUnit;
-}
-
-// For nodejs
-if ( typeof module !== "undefined" && module && module.exports ) {
- module.exports = QUnit;
-
- // For consistency with CommonJS environments' exports
- module.exports.QUnit = QUnit;
-}
-
-// For CommonJS with exports, but without module.exports, like Rhino
-if ( typeof exports !== "undefined" && exports ) {
- exports.QUnit = QUnit;
-}
-
-if ( typeof define === "function" && define.amd ) {
- define( function() {
- return QUnit;
- } );
- QUnit.config.autostart = false;
-}
-
-// Get a reference to the global object, like window in browsers
-}( ( function() {
- return this;
-}() ) ) );
-
-( function() {
-
-if ( typeof window === "undefined" || !window.document ) {
- return;
-}
-
-var config = QUnit.config,
- hasOwn = Object.prototype.hasOwnProperty;
-
-// Stores fixture HTML for resetting later
-function storeFixture() {
-
- // Avoid overwriting user-defined values
- if ( hasOwn.call( config, "fixture" ) ) {
- return;
- }
-
- var fixture = document.getElementById( "qunit-fixture" );
- if ( fixture ) {
- config.fixture = fixture.innerHTML;
- }
-}
-
-QUnit.begin( storeFixture );
-
-// Resets the fixture DOM element if available.
-function resetFixture() {
- if ( config.fixture == null ) {
- return;
- }
-
- var fixture = document.getElementById( "qunit-fixture" );
- if ( fixture ) {
- fixture.innerHTML = config.fixture;
- }
-}
-
-QUnit.testStart( resetFixture );
-
-}() );
-
-( function() {
-
-// Only interact with URLs via window.location
-var location = typeof window !== "undefined" && window.location;
-if ( !location ) {
- return;
-}
-
-var urlParams = getUrlParams();
-
-QUnit.urlParams = urlParams;
-
-// Match module/test by inclusion in an array
-QUnit.config.moduleId = [].concat( urlParams.moduleId || [] );
-QUnit.config.testId = [].concat( urlParams.testId || [] );
-
-// Exact case-insensitive match of the module name
-QUnit.config.module = urlParams.module;
-
-// Regular expression or case-insenstive substring match against "moduleName: testName"
-QUnit.config.filter = urlParams.filter;
-
-// Test order randomization
-if ( urlParams.seed === true ) {
-
- // Generate a random seed if the option is specified without a value
- QUnit.config.seed = Math.random().toString( 36 ).slice( 2 );
-} else if ( urlParams.seed ) {
- QUnit.config.seed = urlParams.seed;
-}
-
-// Add URL-parameter-mapped config values with UI form rendering data
-QUnit.config.urlConfig.push(
- {
- id: "hidepassed",
- label: "Hide passed tests",
- tooltip: "Only show tests and assertions that fail. Stored as query-strings."
- },
- {
- id: "noglobals",
- label: "Check for Globals",
- tooltip: "Enabling this will test if any test introduces new properties on the " +
- "global object (`window` in Browsers). Stored as query-strings."
- },
- {
- id: "notrycatch",
- label: "No try-catch",
- tooltip: "Enabling this will run tests outside of a try-catch block. Makes debugging " +
- "exceptions in IE reasonable. Stored as query-strings."
- }
-);
-
-QUnit.begin( function() {
- var i, option,
- urlConfig = QUnit.config.urlConfig;
-
- for ( i = 0; i < urlConfig.length; i++ ) {
-
- // Options can be either strings or objects with nonempty "id" properties
- option = QUnit.config.urlConfig[ i ];
- if ( typeof option !== "string" ) {
- option = option.id;
- }
-
- if ( QUnit.config[ option ] === undefined ) {
- QUnit.config[ option ] = urlParams[ option ];
- }
- }
-} );
-
-function getUrlParams() {
- var i, param, name, value;
- var urlParams = {};
- var params = location.search.slice( 1 ).split( "&" );
- var length = params.length;
-
- for ( i = 0; i < length; i++ ) {
- if ( params[ i ] ) {
- param = params[ i ].split( "=" );
- name = decodeQueryParam( param[ 0 ] );
-
- // Allow just a key to turn on a flag, e.g., test.html?noglobals
- value = param.length === 1 ||
- decodeQueryParam( param.slice( 1 ).join( "=" ) ) ;
- if ( urlParams[ name ] ) {
- urlParams[ name ] = [].concat( urlParams[ name ], value );
- } else {
- urlParams[ name ] = value;
- }
- }
- }
-
- return urlParams;
-}
-
-function decodeQueryParam( param ) {
- return decodeURIComponent( param.replace( /\+/g, "%20" ) );
-}
-
-// Don't load the HTML Reporter on non-browser environments
-if ( typeof window === "undefined" || !window.document ) {
- return;
-}
-
-QUnit.init = function() {
- throw new Error(
- "QUnit.init is removed in QUnit 2.0, use QUnit.test() with assert.async() instead.\n" +
- "Details in our upgrade guide at https://qunitjs.com/upgrade-guide-2.x/"
- );
-};
-
-var config = QUnit.config,
- document = window.document,
- collapseNext = false,
- hasOwn = Object.prototype.hasOwnProperty,
- unfilteredUrl = setUrl( { filter: undefined, module: undefined,
- moduleId: undefined, testId: undefined } ),
- defined = {
- sessionStorage: ( function() {
- var x = "qunit-test-string";
- try {
- sessionStorage.setItem( x, x );
- sessionStorage.removeItem( x );
- return true;
- } catch ( e ) {
- return false;
- }
- }() )
- },
- modulesList = [];
-
-// Escape text for attribute or text content.
-function escapeText( s ) {
- if ( !s ) {
- return "";
- }
- s = s + "";
-
- // Both single quotes and double quotes (for attributes)
- return s.replace( /['"<>&]/g, function( s ) {
- switch ( s ) {
- case "'":
- return "&#039;";
- case "\"":
- return "&quot;";
- case "<":
- return "&lt;";
- case ">":
- return "&gt;";
- case "&":
- return "&amp;";
- }
- } );
-}
-
-function addEvent( elem, type, fn ) {
- elem.addEventListener( type, fn, false );
-}
-
-function removeEvent( elem, type, fn ) {
- elem.removeEventListener( type, fn, false );
-}
-
-function addEvents( elems, type, fn ) {
- var i = elems.length;
- while ( i-- ) {
- addEvent( elems[ i ], type, fn );
- }
-}
-
-function hasClass( elem, name ) {
- return ( " " + elem.className + " " ).indexOf( " " + name + " " ) >= 0;
-}
-
-function addClass( elem, name ) {
- if ( !hasClass( elem, name ) ) {
- elem.className += ( elem.className ? " " : "" ) + name;
- }
-}
-
-function toggleClass( elem, name, force ) {
- if ( force || typeof force === "undefined" && !hasClass( elem, name ) ) {
- addClass( elem, name );
- } else {
- removeClass( elem, name );
- }
-}
-
-function removeClass( elem, name ) {
- var set = " " + elem.className + " ";
-
- // Class name may appear multiple times
- while ( set.indexOf( " " + name + " " ) >= 0 ) {
- set = set.replace( " " + name + " ", " " );
- }
-
- // Trim for prettiness
- elem.className = typeof set.trim === "function" ? set.trim() : set.replace( /^\s+|\s+$/g, "" );
-}
-
-function id( name ) {
- return document.getElementById && document.getElementById( name );
-}
-
-function interceptNavigation( ev ) {
- applyUrlParams();
-
- if ( ev && ev.preventDefault ) {
- ev.preventDefault();
- }
-
- return false;
-}
-
-function getUrlConfigHtml() {
- var i, j, val,
- escaped, escapedTooltip,
- selection = false,
- urlConfig = config.urlConfig,
- urlConfigHtml = "";
-
- for ( i = 0; i < urlConfig.length; i++ ) {
-
- // Options can be either strings or objects with nonempty "id" properties
- val = config.urlConfig[ i ];
- if ( typeof val === "string" ) {
- val = {
- id: val,
- label: val
- };
- }
-
- escaped = escapeText( val.id );
- escapedTooltip = escapeText( val.tooltip );
-
- if ( !val.value || typeof val.value === "string" ) {
- urlConfigHtml += "<label for='qunit-urlconfig-" + escaped +
- "' title='" + escapedTooltip + "'><input id='qunit-urlconfig-" + escaped +
- "' name='" + escaped + "' type='checkbox'" +
- ( val.value ? " value='" + escapeText( val.value ) + "'" : "" ) +
- ( config[ val.id ] ? " checked='checked'" : "" ) +
- " title='" + escapedTooltip + "' />" + escapeText( val.label ) + "</label>";
- } else {
- urlConfigHtml += "<label for='qunit-urlconfig-" + escaped +
- "' title='" + escapedTooltip + "'>" + val.label +
- ": </label><select id='qunit-urlconfig-" + escaped +
- "' name='" + escaped + "' title='" + escapedTooltip + "'><option></option>";
-
- if ( QUnit.is( "array", val.value ) ) {
- for ( j = 0; j < val.value.length; j++ ) {
- escaped = escapeText( val.value[ j ] );
- urlConfigHtml += "<option value='" + escaped + "'" +
- ( config[ val.id ] === val.value[ j ] ?
- ( selection = true ) && " selected='selected'" : "" ) +
- ">" + escaped + "</option>";
- }
- } else {
- for ( j in val.value ) {
- if ( hasOwn.call( val.value, j ) ) {
- urlConfigHtml += "<option value='" + escapeText( j ) + "'" +
- ( config[ val.id ] === j ?
- ( selection = true ) && " selected='selected'" : "" ) +
- ">" + escapeText( val.value[ j ] ) + "</option>";
- }
- }
- }
- if ( config[ val.id ] && !selection ) {
- escaped = escapeText( config[ val.id ] );
- urlConfigHtml += "<option value='" + escaped +
- "' selected='selected' disabled='disabled'>" + escaped + "</option>";
- }
- urlConfigHtml += "</select>";
- }
- }
-
- return urlConfigHtml;
-}
-
-// Handle "click" events on toolbar checkboxes and "change" for select menus.
-// Updates the URL with the new state of `config.urlConfig` values.
-function toolbarChanged() {
- var updatedUrl, value, tests,
- field = this,
- params = {};
-
- // Detect if field is a select menu or a checkbox
- if ( "selectedIndex" in field ) {
- value = field.options[ field.selectedIndex ].value || undefined;
- } else {
- value = field.checked ? ( field.defaultValue || true ) : undefined;
- }
-
- params[ field.name ] = value;
- updatedUrl = setUrl( params );
-
- // Check if we can apply the change without a page refresh
- if ( "hidepassed" === field.name && "replaceState" in window.history ) {
- QUnit.urlParams[ field.name ] = value;
- config[ field.name ] = value || false;
- tests = id( "qunit-tests" );
- if ( tests ) {
- toggleClass( tests, "hidepass", value || false );
- }
- window.history.replaceState( null, "", updatedUrl );
- } else {
- window.location = updatedUrl;
- }
-}
-
-function setUrl( params ) {
- var key, arrValue, i,
- querystring = "?",
- location = window.location;
-
- params = QUnit.extend( QUnit.extend( {}, QUnit.urlParams ), params );
-
- for ( key in params ) {
-
- // Skip inherited or undefined properties
- if ( hasOwn.call( params, key ) && params[ key ] !== undefined ) {
-
- // Output a parameter for each value of this key (but usually just one)
- arrValue = [].concat( params[ key ] );
- for ( i = 0; i < arrValue.length; i++ ) {
- querystring += encodeURIComponent( key );
- if ( arrValue[ i ] !== true ) {
- querystring += "=" + encodeURIComponent( arrValue[ i ] );
- }
- querystring += "&";
- }
- }
- }
- return location.protocol + "//" + location.host +
- location.pathname + querystring.slice( 0, -1 );
-}
-
-function applyUrlParams() {
- var i,
- selectedModules = [],
- modulesList = id( "qunit-modulefilter-dropdown-list" ).getElementsByTagName( "input" ),
- filter = id( "qunit-filter-input" ).value;
-
- for ( i = 0; i < modulesList.length; i++ ) {
- if ( modulesList[ i ].checked ) {
- selectedModules.push( modulesList[ i ].value );
- }
- }
-
- window.location = setUrl( {
- filter: ( filter === "" ) ? undefined : filter,
- moduleId: ( selectedModules.length === 0 ) ? undefined : selectedModules,
-
- // Remove module and testId filter
- module: undefined,
- testId: undefined
- } );
-}
-
-function toolbarUrlConfigContainer() {
- var urlConfigContainer = document.createElement( "span" );
-
- urlConfigContainer.innerHTML = getUrlConfigHtml();
- addClass( urlConfigContainer, "qunit-url-config" );
-
- addEvents( urlConfigContainer.getElementsByTagName( "input" ), "change", toolbarChanged );
- addEvents( urlConfigContainer.getElementsByTagName( "select" ), "change", toolbarChanged );
-
- return urlConfigContainer;
-}
-
-function toolbarLooseFilter() {
- var filter = document.createElement( "form" ),
- label = document.createElement( "label" ),
- input = document.createElement( "input" ),
- button = document.createElement( "button" );
-
- addClass( filter, "qunit-filter" );
-
- label.innerHTML = "Filter: ";
-
- input.type = "text";
- input.value = config.filter || "";
- input.name = "filter";
- input.id = "qunit-filter-input";
-
- button.innerHTML = "Go";
-
- label.appendChild( input );
-
- filter.appendChild( label );
- filter.appendChild( document.createTextNode( " " ) );
- filter.appendChild( button );
- addEvent( filter, "submit", interceptNavigation );
-
- return filter;
-}
-
-function moduleListHtml () {
- var i, checked,
- html = "";
-
- for ( i = 0; i < config.modules.length; i++ ) {
- if ( config.modules[ i ].name !== "" ) {
- checked = config.moduleId.indexOf( config.modules[ i ].moduleId ) > -1;
- html += "<li><label class='clickable" + ( checked ? " checked" : "" ) +
- "'><input type='checkbox' " + "value='" + config.modules[ i ].moduleId + "'" +
- ( checked ? " checked='checked'" : "" ) + " />" +
- escapeText( config.modules[ i ].name ) + "</label></li>";
- }
- }
-
- return html;
-}
-
-function toolbarModuleFilter () {
- var allCheckbox, commit, reset,
- moduleFilter = document.createElement( "form" ),
- label = document.createElement( "label" ),
- moduleSearch = document.createElement( "input" ),
- dropDown = document.createElement( "div" ),
- actions = document.createElement( "span" ),
- dropDownList = document.createElement( "ul" ),
- dirty = false;
-
- moduleSearch.id = "qunit-modulefilter-search";
- addEvent( moduleSearch, "input", searchInput );
- addEvent( moduleSearch, "input", searchFocus );
- addEvent( moduleSearch, "focus", searchFocus );
- addEvent( moduleSearch, "click", searchFocus );
-
- label.id = "qunit-modulefilter-search-container";
- label.innerHTML = "Module: ";
- label.appendChild( moduleSearch );
-
- actions.id = "qunit-modulefilter-actions";
- actions.innerHTML =
- "<button style='display:none'>Apply</button>" +
- "<button type='reset' style='display:none'>Reset</button>" +
- "<label class='clickable" +
- ( config.moduleId.length ? "" : " checked" ) +
- "'><input type='checkbox'" + ( config.moduleId.length ? "" : " checked='checked'" ) +
- ">All modules</label>";
- allCheckbox = actions.lastChild.firstChild;
- commit = actions.firstChild;
- reset = commit.nextSibling;
- addEvent( commit, "click", applyUrlParams );
-
- dropDownList.id = "qunit-modulefilter-dropdown-list";
- dropDownList.innerHTML = moduleListHtml();
-
- dropDown.id = "qunit-modulefilter-dropdown";
- dropDown.style.display = "none";
- dropDown.appendChild( actions );
- dropDown.appendChild( dropDownList );
- addEvent( dropDown, "change", selectionChange );
- selectionChange();
-
- moduleFilter.id = "qunit-modulefilter";
- moduleFilter.appendChild( label );
- moduleFilter.appendChild( dropDown ) ;
- addEvent( moduleFilter, "submit", interceptNavigation );
- addEvent( moduleFilter, "reset", function() {
-
- // Let the reset happen, then update styles
- window.setTimeout( selectionChange );
- } );
-
- // Enables show/hide for the dropdown
- function searchFocus() {
- if ( dropDown.style.display !== "none" ) {
- return;
- }
-
- dropDown.style.display = "block";
- addEvent( document, "click", hideHandler );
- addEvent( document, "keydown", hideHandler );
-
- // Hide on Escape keydown or outside-container click
- function hideHandler( e ) {
- var inContainer = moduleFilter.contains( e.target );
-
- if ( e.keyCode === 27 || !inContainer ) {
- if ( e.keyCode === 27 && inContainer ) {
- moduleSearch.focus();
- }
- dropDown.style.display = "none";
- removeEvent( document, "click", hideHandler );
- removeEvent( document, "keydown", hideHandler );
- moduleSearch.value = "";
- searchInput();
- }
- }
- }
-
- // Processes module search box input
- function searchInput() {
- var i, item,
- searchText = moduleSearch.value.toLowerCase(),
- listItems = dropDownList.children;
-
- for ( i = 0; i < listItems.length; i++ ) {
- item = listItems[ i ];
- if ( !searchText || item.textContent.toLowerCase().indexOf( searchText ) > -1 ) {
- item.style.display = "";
- } else {
- item.style.display = "none";
- }
- }
- }
-
- // Processes selection changes
- function selectionChange( evt ) {
- var i, item,
- checkbox = evt && evt.target || allCheckbox,
- modulesList = dropDownList.getElementsByTagName( "input" ),
- selectedNames = [];
-
- toggleClass( checkbox.parentNode, "checked", checkbox.checked );
-
- dirty = false;
- if ( checkbox.checked && checkbox !== allCheckbox ) {
- allCheckbox.checked = false;
- removeClass( allCheckbox.parentNode, "checked" );
- }
- for ( i = 0; i < modulesList.length; i++ ) {
- item = modulesList[ i ];
- if ( !evt ) {
- toggleClass( item.parentNode, "checked", item.checked );
- } else if ( checkbox === allCheckbox && checkbox.checked ) {
- item.checked = false;
- removeClass( item.parentNode, "checked" );
- }
- dirty = dirty || ( item.checked !== item.defaultChecked );
- if ( item.checked ) {
- selectedNames.push( item.parentNode.textContent );
- }
- }
-
- commit.style.display = reset.style.display = dirty ? "" : "none";
- moduleSearch.placeholder = selectedNames.join( ", " ) || allCheckbox.parentNode.textContent;
- moduleSearch.title = "Type to filter list. Current selection:\n" +
- ( selectedNames.join( "\n" ) || allCheckbox.parentNode.textContent );
- }
-
- return moduleFilter;
-}
-
-function appendToolbar() {
- var toolbar = id( "qunit-testrunner-toolbar" );
-
- if ( toolbar ) {
- toolbar.appendChild( toolbarUrlConfigContainer() );
- toolbar.appendChild( toolbarModuleFilter() );
- toolbar.appendChild( toolbarLooseFilter() );
- toolbar.appendChild( document.createElement( "div" ) ).className = "clearfix";
- }
-}
-
-function appendHeader() {
- var header = id( "qunit-header" );
-
- if ( header ) {
- header.innerHTML = "<a href='" + escapeText( unfilteredUrl ) + "'>" + header.innerHTML +
- "</a> ";
- }
-}
-
-function appendBanner() {
- var banner = id( "qunit-banner" );
-
- if ( banner ) {
- banner.className = "";
- }
-}
-
-function appendTestResults() {
- var tests = id( "qunit-tests" ),
- result = id( "qunit-testresult" );
-
- if ( result ) {
- result.parentNode.removeChild( result );
- }
-
- if ( tests ) {
- tests.innerHTML = "";
- result = document.createElement( "p" );
- result.id = "qunit-testresult";
- result.className = "result";
- tests.parentNode.insertBefore( result, tests );
- result.innerHTML = "Running...<br />&#160;";
- }
-}
-
-function appendFilteredTest() {
- var testId = QUnit.config.testId;
- if ( !testId || testId.length <= 0 ) {
- return "";
- }
- return "<div id='qunit-filteredTest'>Rerunning selected tests: " +
- escapeText( testId.join( ", " ) ) +
- " <a id='qunit-clearFilter' href='" +
- escapeText( unfilteredUrl ) +
- "'>Run all tests</a></div>";
-}
-
-function appendUserAgent() {
- var userAgent = id( "qunit-userAgent" );
-
- if ( userAgent ) {
- userAgent.innerHTML = "";
- userAgent.appendChild(
- document.createTextNode(
- "QUnit " + QUnit.version + "; " + navigator.userAgent
- )
- );
- }
-}
-
-function appendInterface() {
- var qunit = id( "qunit" );
-
- if ( qunit ) {
- qunit.innerHTML =
- "<h1 id='qunit-header'>" + escapeText( document.title ) + "</h1>" +
- "<h2 id='qunit-banner'></h2>" +
- "<div id='qunit-testrunner-toolbar'></div>" +
- appendFilteredTest() +
- "<h2 id='qunit-userAgent'></h2>" +
- "<ol id='qunit-tests'></ol>";
- }
-
- appendHeader();
- appendBanner();
- appendTestResults();
- appendUserAgent();
- appendToolbar();
-}
-
-function appendTestsList( modules ) {
- var i, l, x, z, test, moduleObj;
-
- for ( i = 0, l = modules.length; i < l; i++ ) {
- moduleObj = modules[ i ];
-
- for ( x = 0, z = moduleObj.tests.length; x < z; x++ ) {
- test = moduleObj.tests[ x ];
-
- appendTest( test.name, test.testId, moduleObj.name );
- }
- }
-}
-
-function appendTest( name, testId, moduleName ) {
- var title, rerunTrigger, testBlock, assertList,
- tests = id( "qunit-tests" );
-
- if ( !tests ) {
- return;
- }
-
- title = document.createElement( "strong" );
- title.innerHTML = getNameHtml( name, moduleName );
-
- rerunTrigger = document.createElement( "a" );
- rerunTrigger.innerHTML = "Rerun";
- rerunTrigger.href = setUrl( { testId: testId } );
-
- testBlock = document.createElement( "li" );
- testBlock.appendChild( title );
- testBlock.appendChild( rerunTrigger );
- testBlock.id = "qunit-test-output-" + testId;
-
- assertList = document.createElement( "ol" );
- assertList.className = "qunit-assert-list";
-
- testBlock.appendChild( assertList );
-
- tests.appendChild( testBlock );
-}
-
-// HTML Reporter initialization and load
-QUnit.begin( function( details ) {
- var i, moduleObj, tests;
-
- // Sort modules by name for the picker
- for ( i = 0; i < details.modules.length; i++ ) {
- moduleObj = details.modules[ i ];
- if ( moduleObj.name ) {
- modulesList.push( moduleObj.name );
- }
- }
- modulesList.sort( function( a, b ) {
- return a.localeCompare( b );
- } );
-
- // Initialize QUnit elements
- appendInterface();
- appendTestsList( details.modules );
- tests = id( "qunit-tests" );
- if ( tests && config.hidepassed ) {
- addClass( tests, "hidepass" );
- }
-} );
-
-QUnit.done( function( details ) {
- var i, key,
- banner = id( "qunit-banner" ),
- tests = id( "qunit-tests" ),
- html = [
- "Tests completed in ",
- details.runtime,
- " milliseconds.<br />",
- "<span class='passed'>",
- details.passed,
- "</span> assertions of <span class='total'>",
- details.total,
- "</span> passed, <span class='failed'>",
- details.failed,
- "</span> failed."
- ].join( "" );
-
- if ( banner ) {
- banner.className = details.failed ? "qunit-fail" : "qunit-pass";
- }
-
- if ( tests ) {
- id( "qunit-testresult" ).innerHTML = html;
- }
-
- if ( config.altertitle && document.title ) {
-
- // Show ✖ for good, ✔ for bad suite result in title
- // use escape sequences in case file gets loaded with non-utf-8-charset
- document.title = [
- ( details.failed ? "\u2716" : "\u2714" ),
- document.title.replace( /^[\u2714\u2716] /i, "" )
- ].join( " " );
- }
-
- // Clear own sessionStorage items if all tests passed
- if ( config.reorder && defined.sessionStorage && details.failed === 0 ) {
- for ( i = 0; i < sessionStorage.length; i++ ) {
- key = sessionStorage.key( i++ );
- if ( key.indexOf( "qunit-test-" ) === 0 ) {
- sessionStorage.removeItem( key );
- }
- }
- }
-
- // Scroll back to top to show results
- if ( config.scrolltop && window.scrollTo ) {
- window.scrollTo( 0, 0 );
- }
-} );
-
-function getNameHtml( name, module ) {
- var nameHtml = "";
-
- if ( module ) {
- nameHtml = "<span class='module-name'>" + escapeText( module ) + "</span>: ";
- }
-
- nameHtml += "<span class='test-name'>" + escapeText( name ) + "</span>";
-
- return nameHtml;
-}
-
-QUnit.testStart( function( details ) {
- var running, testBlock, bad;
-
- testBlock = id( "qunit-test-output-" + details.testId );
- if ( testBlock ) {
- testBlock.className = "running";
- } else {
-
- // Report later registered tests
- appendTest( details.name, details.testId, details.module );
- }
-
- running = id( "qunit-testresult" );
- if ( running ) {
- bad = QUnit.config.reorder && defined.sessionStorage &&
- +sessionStorage.getItem( "qunit-test-" + details.module + "-" + details.name );
-
- running.innerHTML = ( bad ?
- "Rerunning previously failed test: <br />" :
- "Running: <br />" ) +
- getNameHtml( details.name, details.module );
- }
-
-} );
-
-function stripHtml( string ) {
-
- // Strip tags, html entity and whitespaces
- return string.replace( /<\/?[^>]+(>|$)/g, "" ).replace( /\&quot;/g, "" ).replace( /\s+/g, "" );
-}
-
-QUnit.log( function( details ) {
- var assertList, assertLi,
- message, expected, actual, diff,
- showDiff = false,
- testItem = id( "qunit-test-output-" + details.testId );
-
- if ( !testItem ) {
- return;
- }
-
- message = escapeText( details.message ) || ( details.result ? "okay" : "failed" );
- message = "<span class='test-message'>" + message + "</span>";
- message += "<span class='runtime'>@ " + details.runtime + " ms</span>";
-
- // The pushFailure doesn't provide details.expected
- // when it calls, it's implicit to also not show expected and diff stuff
- // Also, we need to check details.expected existence, as it can exist and be undefined
- if ( !details.result && hasOwn.call( details, "expected" ) ) {
- if ( details.negative ) {
- expected = "NOT " + QUnit.dump.parse( details.expected );
- } else {
- expected = QUnit.dump.parse( details.expected );
- }
-
- actual = QUnit.dump.parse( details.actual );
- message += "<table><tr class='test-expected'><th>Expected: </th><td><pre>" +
- escapeText( expected ) +
- "</pre></td></tr>";
-
- if ( actual !== expected ) {
-
- message += "<tr class='test-actual'><th>Result: </th><td><pre>" +
- escapeText( actual ) + "</pre></td></tr>";
-
- // Don't show diff if actual or expected are booleans
- if ( !( /^(true|false)$/.test( actual ) ) &&
- !( /^(true|false)$/.test( expected ) ) ) {
- diff = QUnit.diff( expected, actual );
- showDiff = stripHtml( diff ).length !==
- stripHtml( expected ).length +
- stripHtml( actual ).length;
- }
-
- // Don't show diff if expected and actual are totally different
- if ( showDiff ) {
- message += "<tr class='test-diff'><th>Diff: </th><td><pre>" +
- diff + "</pre></td></tr>";
- }
- } else if ( expected.indexOf( "[object Array]" ) !== -1 ||
- expected.indexOf( "[object Object]" ) !== -1 ) {
- message += "<tr class='test-message'><th>Message: </th><td>" +
- "Diff suppressed as the depth of object is more than current max depth (" +
- QUnit.config.maxDepth + ").<p>Hint: Use <code>QUnit.dump.maxDepth</code> to " +
- " run with a higher max depth or <a href='" +
- escapeText( setUrl( { maxDepth: -1 } ) ) + "'>" +
- "Rerun</a> without max depth.</p></td></tr>";
- } else {
- message += "<tr class='test-message'><th>Message: </th><td>" +
- "Diff suppressed as the expected and actual results have an equivalent" +
- " serialization</td></tr>";
- }
-
- if ( details.source ) {
- message += "<tr class='test-source'><th>Source: </th><td><pre>" +
- escapeText( details.source ) + "</pre></td></tr>";
- }
-
- message += "</table>";
-
- // This occurs when pushFailure is set and we have an extracted stack trace
- } else if ( !details.result && details.source ) {
- message += "<table>" +
- "<tr class='test-source'><th>Source: </th><td><pre>" +
- escapeText( details.source ) + "</pre></td></tr>" +
- "</table>";
- }
-
- assertList = testItem.getElementsByTagName( "ol" )[ 0 ];
-
- assertLi = document.createElement( "li" );
- assertLi.className = details.result ? "pass" : "fail";
- assertLi.innerHTML = message;
- assertList.appendChild( assertLi );
-} );
-
-QUnit.testDone( function( details ) {
- var testTitle, time, testItem, assertList,
- good, bad, testCounts, skipped, sourceName,
- tests = id( "qunit-tests" );
-
- if ( !tests ) {
- return;
- }
-
- testItem = id( "qunit-test-output-" + details.testId );
-
- assertList = testItem.getElementsByTagName( "ol" )[ 0 ];
-
- good = details.passed;
- bad = details.failed;
-
- // Store result when possible
- if ( config.reorder && defined.sessionStorage ) {
- if ( bad ) {
- sessionStorage.setItem( "qunit-test-" + details.module + "-" + details.name, bad );
- } else {
- sessionStorage.removeItem( "qunit-test-" + details.module + "-" + details.name );
- }
- }
-
- if ( bad === 0 ) {
-
- // Collapse the passing tests
- addClass( assertList, "qunit-collapsed" );
- } else if ( bad && config.collapse && !collapseNext ) {
-
- // Skip collapsing the first failing test
- collapseNext = true;
- } else {
-
- // Collapse remaining tests
- addClass( assertList, "qunit-collapsed" );
- }
-
- // The testItem.firstChild is the test name
- testTitle = testItem.firstChild;
-
- testCounts = bad ?
- "<b class='failed'>" + bad + "</b>, " + "<b class='passed'>" + good + "</b>, " :
- "";
-
- testTitle.innerHTML += " <b class='counts'>(" + testCounts +
- details.assertions.length + ")</b>";
-
- if ( details.skipped ) {
- testItem.className = "skipped";
- skipped = document.createElement( "em" );
- skipped.className = "qunit-skipped-label";
- skipped.innerHTML = "skipped";
- testItem.insertBefore( skipped, testTitle );
- } else {
- addEvent( testTitle, "click", function() {
- toggleClass( assertList, "qunit-collapsed" );
- } );
-
- testItem.className = bad ? "fail" : "pass";
-
- time = document.createElement( "span" );
- time.className = "runtime";
- time.innerHTML = details.runtime + " ms";
- testItem.insertBefore( time, assertList );
- }
-
- // Show the source of the test when showing assertions
- if ( details.source ) {
- sourceName = document.createElement( "p" );
- sourceName.innerHTML = "<strong>Source: </strong>" + details.source;
- addClass( sourceName, "qunit-source" );
- if ( bad === 0 ) {
- addClass( sourceName, "qunit-collapsed" );
- }
- addEvent( testTitle, "click", function() {
- toggleClass( sourceName, "qunit-collapsed" );
- } );
- testItem.appendChild( sourceName );
- }
-} );
-
-// Avoid readyState issue with phantomjs
-// Ref: #818
-var notPhantom = ( function( p ) {
- return !( p && p.version && p.version.major > 0 );
-} )( window.phantom );
-
-if ( notPhantom && document.readyState === "complete" ) {
- QUnit.load();
-} else {
- addEvent( window, "load", QUnit.load );
-}
-
-/*
- * This file is a modified version of google-diff-match-patch's JavaScript implementation
- * (https://code.google.com/p/google-diff-match-patch/source/browse/trunk/javascript/diff_match_patch_uncompressed.js),
- * modifications are licensed as more fully set forth in LICENSE.txt.
- *
- * The original source of google-diff-match-patch is attributable and licensed as follows:
- *
- * Copyright 2006 Google Inc.
- * https://code.google.com/p/google-diff-match-patch/
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * More Info:
- * https://code.google.com/p/google-diff-match-patch/
- *
- * Usage: QUnit.diff(expected, actual)
- *
- */
-QUnit.diff = ( function() {
- function DiffMatchPatch() {
- }
-
- // DIFF FUNCTIONS
-
- /**
- * The data structure representing a diff is an array of tuples:
- * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]
- * which means: delete 'Hello', add 'Goodbye' and keep ' world.'
- */
- var DIFF_DELETE = -1,
- DIFF_INSERT = 1,
- DIFF_EQUAL = 0;
-
- /**
- * Find the differences between two texts. Simplifies the problem by stripping
- * any common prefix or suffix off the texts before diffing.
- * @param {string} text1 Old string to be diffed.
- * @param {string} text2 New string to be diffed.
- * @param {boolean=} optChecklines Optional speedup flag. If present and false,
- * then don't run a line-level diff first to identify the changed areas.
- * Defaults to true, which does a faster, slightly less optimal diff.
- * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
- */
- DiffMatchPatch.prototype.DiffMain = function( text1, text2, optChecklines ) {
- var deadline, checklines, commonlength,
- commonprefix, commonsuffix, diffs;
-
- // The diff must be complete in up to 1 second.
- deadline = ( new Date() ).getTime() + 1000;
-
- // Check for null inputs.
- if ( text1 === null || text2 === null ) {
- throw new Error( "Null input. (DiffMain)" );
- }
-
- // Check for equality (speedup).
- if ( text1 === text2 ) {
- if ( text1 ) {
- return [
- [ DIFF_EQUAL, text1 ]
- ];
- }
- return [];
- }
-
- if ( typeof optChecklines === "undefined" ) {
- optChecklines = true;
- }
-
- checklines = optChecklines;
-
- // Trim off common prefix (speedup).
- commonlength = this.diffCommonPrefix( text1, text2 );
- commonprefix = text1.substring( 0, commonlength );
- text1 = text1.substring( commonlength );
- text2 = text2.substring( commonlength );
-
- // Trim off common suffix (speedup).
- commonlength = this.diffCommonSuffix( text1, text2 );
- commonsuffix = text1.substring( text1.length - commonlength );
- text1 = text1.substring( 0, text1.length - commonlength );
- text2 = text2.substring( 0, text2.length - commonlength );
-
- // Compute the diff on the middle block.
- diffs = this.diffCompute( text1, text2, checklines, deadline );
-
- // Restore the prefix and suffix.
- if ( commonprefix ) {
- diffs.unshift( [ DIFF_EQUAL, commonprefix ] );
- }
- if ( commonsuffix ) {
- diffs.push( [ DIFF_EQUAL, commonsuffix ] );
- }
- this.diffCleanupMerge( diffs );
- return diffs;
- };
-
- /**
- * Reduce the number of edits by eliminating operationally trivial equalities.
- * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
- */
- DiffMatchPatch.prototype.diffCleanupEfficiency = function( diffs ) {
- var changes, equalities, equalitiesLength, lastequality,
- pointer, preIns, preDel, postIns, postDel;
- changes = false;
- equalities = []; // Stack of indices where equalities are found.
- equalitiesLength = 0; // Keeping our own length var is faster in JS.
- /** @type {?string} */
- lastequality = null;
-
- // Always equal to diffs[equalities[equalitiesLength - 1]][1]
- pointer = 0; // Index of current position.
-
- // Is there an insertion operation before the last equality.
- preIns = false;
-
- // Is there a deletion operation before the last equality.
- preDel = false;
-
- // Is there an insertion operation after the last equality.
- postIns = false;
-
- // Is there a deletion operation after the last equality.
- postDel = false;
- while ( pointer < diffs.length ) {
-
- // Equality found.
- if ( diffs[ pointer ][ 0 ] === DIFF_EQUAL ) {
- if ( diffs[ pointer ][ 1 ].length < 4 && ( postIns || postDel ) ) {
-
- // Candidate found.
- equalities[ equalitiesLength++ ] = pointer;
- preIns = postIns;
- preDel = postDel;
- lastequality = diffs[ pointer ][ 1 ];
- } else {
-
- // Not a candidate, and can never become one.
- equalitiesLength = 0;
- lastequality = null;
- }
- postIns = postDel = false;
-
- // An insertion or deletion.
- } else {
-
- if ( diffs[ pointer ][ 0 ] === DIFF_DELETE ) {
- postDel = true;
- } else {
- postIns = true;
- }
-
- /*
- * Five types to be split:
- * <ins>A</ins><del>B</del>XY<ins>C</ins><del>D</del>
- * <ins>A</ins>X<ins>C</ins><del>D</del>
- * <ins>A</ins><del>B</del>X<ins>C</ins>
- * <ins>A</del>X<ins>C</ins><del>D</del>
- * <ins>A</ins><del>B</del>X<del>C</del>
- */
- if ( lastequality && ( ( preIns && preDel && postIns && postDel ) ||
- ( ( lastequality.length < 2 ) &&
- ( preIns + preDel + postIns + postDel ) === 3 ) ) ) {
-
- // Duplicate record.
- diffs.splice(
- equalities[ equalitiesLength - 1 ],
- 0,
- [ DIFF_DELETE, lastequality ]
- );
-
- // Change second copy to insert.
- diffs[ equalities[ equalitiesLength - 1 ] + 1 ][ 0 ] = DIFF_INSERT;
- equalitiesLength--; // Throw away the equality we just deleted;
- lastequality = null;
- if ( preIns && preDel ) {
-
- // No changes made which could affect previous entry, keep going.
- postIns = postDel = true;
- equalitiesLength = 0;
- } else {
- equalitiesLength--; // Throw away the previous equality.
- pointer = equalitiesLength > 0 ? equalities[ equalitiesLength - 1 ] : -1;
- postIns = postDel = false;
- }
- changes = true;
- }
- }
- pointer++;
- }
-
- if ( changes ) {
- this.diffCleanupMerge( diffs );
- }
- };
-
- /**
- * Convert a diff array into a pretty HTML report.
- * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
- * @param {integer} string to be beautified.
- * @return {string} HTML representation.
- */
- DiffMatchPatch.prototype.diffPrettyHtml = function( diffs ) {
- var op, data, x,
- html = [];
- for ( x = 0; x < diffs.length; x++ ) {
- op = diffs[ x ][ 0 ]; // Operation (insert, delete, equal)
- data = diffs[ x ][ 1 ]; // Text of change.
- switch ( op ) {
- case DIFF_INSERT:
- html[ x ] = "<ins>" + escapeText( data ) + "</ins>";
- break;
- case DIFF_DELETE:
- html[ x ] = "<del>" + escapeText( data ) + "</del>";
- break;
- case DIFF_EQUAL:
- html[ x ] = "<span>" + escapeText( data ) + "</span>";
- break;
- }
- }
- return html.join( "" );
- };
-
- /**
- * Determine the common prefix of two strings.
- * @param {string} text1 First string.
- * @param {string} text2 Second string.
- * @return {number} The number of characters common to the start of each
- * string.
- */
- DiffMatchPatch.prototype.diffCommonPrefix = function( text1, text2 ) {
- var pointermid, pointermax, pointermin, pointerstart;
-
- // Quick check for common null cases.
- if ( !text1 || !text2 || text1.charAt( 0 ) !== text2.charAt( 0 ) ) {
- return 0;
- }
-
- // Binary search.
- // Performance analysis: https://neil.fraser.name/news/2007/10/09/
- pointermin = 0;
- pointermax = Math.min( text1.length, text2.length );
- pointermid = pointermax;
- pointerstart = 0;
- while ( pointermin < pointermid ) {
- if ( text1.substring( pointerstart, pointermid ) ===
- text2.substring( pointerstart, pointermid ) ) {
- pointermin = pointermid;
- pointerstart = pointermin;
- } else {
- pointermax = pointermid;
- }
- pointermid = Math.floor( ( pointermax - pointermin ) / 2 + pointermin );
- }
- return pointermid;
- };
-
- /**
- * Determine the common suffix of two strings.
- * @param {string} text1 First string.
- * @param {string} text2 Second string.
- * @return {number} The number of characters common to the end of each string.
- */
- DiffMatchPatch.prototype.diffCommonSuffix = function( text1, text2 ) {
- var pointermid, pointermax, pointermin, pointerend;
-
- // Quick check for common null cases.
- if ( !text1 ||
- !text2 ||
- text1.charAt( text1.length - 1 ) !== text2.charAt( text2.length - 1 ) ) {
- return 0;
- }
-
- // Binary search.
- // Performance analysis: https://neil.fraser.name/news/2007/10/09/
- pointermin = 0;
- pointermax = Math.min( text1.length, text2.length );
- pointermid = pointermax;
- pointerend = 0;
- while ( pointermin < pointermid ) {
- if ( text1.substring( text1.length - pointermid, text1.length - pointerend ) ===
- text2.substring( text2.length - pointermid, text2.length - pointerend ) ) {
- pointermin = pointermid;
- pointerend = pointermin;
- } else {
- pointermax = pointermid;
- }
- pointermid = Math.floor( ( pointermax - pointermin ) / 2 + pointermin );
- }
- return pointermid;
- };
-
- /**
- * Find the differences between two texts. Assumes that the texts do not
- * have any common prefix or suffix.
- * @param {string} text1 Old string to be diffed.
- * @param {string} text2 New string to be diffed.
- * @param {boolean} checklines Speedup flag. If false, then don't run a
- * line-level diff first to identify the changed areas.
- * If true, then run a faster, slightly less optimal diff.
- * @param {number} deadline Time when the diff should be complete by.
- * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
- * @private
- */
- DiffMatchPatch.prototype.diffCompute = function( text1, text2, checklines, deadline ) {
- var diffs, longtext, shorttext, i, hm,
- text1A, text2A, text1B, text2B,
- midCommon, diffsA, diffsB;
-
- if ( !text1 ) {
-
- // Just add some text (speedup).
- return [
- [ DIFF_INSERT, text2 ]
- ];
- }
-
- if ( !text2 ) {
-
- // Just delete some text (speedup).
- return [
- [ DIFF_DELETE, text1 ]
- ];
- }
-
- longtext = text1.length > text2.length ? text1 : text2;
- shorttext = text1.length > text2.length ? text2 : text1;
- i = longtext.indexOf( shorttext );
- if ( i !== -1 ) {
-
- // Shorter text is inside the longer text (speedup).
- diffs = [
- [ DIFF_INSERT, longtext.substring( 0, i ) ],
- [ DIFF_EQUAL, shorttext ],
- [ DIFF_INSERT, longtext.substring( i + shorttext.length ) ]
- ];
-
- // Swap insertions for deletions if diff is reversed.
- if ( text1.length > text2.length ) {
- diffs[ 0 ][ 0 ] = diffs[ 2 ][ 0 ] = DIFF_DELETE;
- }
- return diffs;
- }
-
- if ( shorttext.length === 1 ) {
-
- // Single character string.
- // After the previous speedup, the character can't be an equality.
- return [
- [ DIFF_DELETE, text1 ],
- [ DIFF_INSERT, text2 ]
- ];
- }
-
- // Check to see if the problem can be split in two.
- hm = this.diffHalfMatch( text1, text2 );
- if ( hm ) {
-
- // A half-match was found, sort out the return data.
- text1A = hm[ 0 ];
- text1B = hm[ 1 ];
- text2A = hm[ 2 ];
- text2B = hm[ 3 ];
- midCommon = hm[ 4 ];
-
- // Send both pairs off for separate processing.
- diffsA = this.DiffMain( text1A, text2A, checklines, deadline );
- diffsB = this.DiffMain( text1B, text2B, checklines, deadline );
-
- // Merge the results.
- return diffsA.concat( [
- [ DIFF_EQUAL, midCommon ]
- ], diffsB );
- }
-
- if ( checklines && text1.length > 100 && text2.length > 100 ) {
- return this.diffLineMode( text1, text2, deadline );
- }
-
- return this.diffBisect( text1, text2, deadline );
- };
-
- /**
- * Do the two texts share a substring which is at least half the length of the
- * longer text?
- * This speedup can produce non-minimal diffs.
- * @param {string} text1 First string.
- * @param {string} text2 Second string.
- * @return {Array.<string>} Five element Array, containing the prefix of
- * text1, the suffix of text1, the prefix of text2, the suffix of
- * text2 and the common middle. Or null if there was no match.
- * @private
- */
- DiffMatchPatch.prototype.diffHalfMatch = function( text1, text2 ) {
- var longtext, shorttext, dmp,
- text1A, text2B, text2A, text1B, midCommon,
- hm1, hm2, hm;
-
- longtext = text1.length > text2.length ? text1 : text2;
- shorttext = text1.length > text2.length ? text2 : text1;
- if ( longtext.length < 4 || shorttext.length * 2 < longtext.length ) {
- return null; // Pointless.
- }
- dmp = this; // 'this' becomes 'window' in a closure.
-
- /**
- * Does a substring of shorttext exist within longtext such that the substring
- * is at least half the length of longtext?
- * Closure, but does not reference any external variables.
- * @param {string} longtext Longer string.
- * @param {string} shorttext Shorter string.
- * @param {number} i Start index of quarter length substring within longtext.
- * @return {Array.<string>} Five element Array, containing the prefix of
- * longtext, the suffix of longtext, the prefix of shorttext, the suffix
- * of shorttext and the common middle. Or null if there was no match.
- * @private
- */
- function diffHalfMatchI( longtext, shorttext, i ) {
- var seed, j, bestCommon, prefixLength, suffixLength,
- bestLongtextA, bestLongtextB, bestShorttextA, bestShorttextB;
-
- // Start with a 1/4 length substring at position i as a seed.
- seed = longtext.substring( i, i + Math.floor( longtext.length / 4 ) );
- j = -1;
- bestCommon = "";
- while ( ( j = shorttext.indexOf( seed, j + 1 ) ) !== -1 ) {
- prefixLength = dmp.diffCommonPrefix( longtext.substring( i ),
- shorttext.substring( j ) );
- suffixLength = dmp.diffCommonSuffix( longtext.substring( 0, i ),
- shorttext.substring( 0, j ) );
- if ( bestCommon.length < suffixLength + prefixLength ) {
- bestCommon = shorttext.substring( j - suffixLength, j ) +
- shorttext.substring( j, j + prefixLength );
- bestLongtextA = longtext.substring( 0, i - suffixLength );
- bestLongtextB = longtext.substring( i + prefixLength );
- bestShorttextA = shorttext.substring( 0, j - suffixLength );
- bestShorttextB = shorttext.substring( j + prefixLength );
- }
- }
- if ( bestCommon.length * 2 >= longtext.length ) {
- return [ bestLongtextA, bestLongtextB,
- bestShorttextA, bestShorttextB, bestCommon
- ];
- } else {
- return null;
- }
- }
-
- // First check if the second quarter is the seed for a half-match.
- hm1 = diffHalfMatchI( longtext, shorttext,
- Math.ceil( longtext.length / 4 ) );
-
- // Check again based on the third quarter.
- hm2 = diffHalfMatchI( longtext, shorttext,
- Math.ceil( longtext.length / 2 ) );
- if ( !hm1 && !hm2 ) {
- return null;
- } else if ( !hm2 ) {
- hm = hm1;
- } else if ( !hm1 ) {
- hm = hm2;
- } else {
-
- // Both matched. Select the longest.
- hm = hm1[ 4 ].length > hm2[ 4 ].length ? hm1 : hm2;
- }
-
- // A half-match was found, sort out the return data.
- text1A, text1B, text2A, text2B;
- if ( text1.length > text2.length ) {
- text1A = hm[ 0 ];
- text1B = hm[ 1 ];
- text2A = hm[ 2 ];
- text2B = hm[ 3 ];
- } else {
- text2A = hm[ 0 ];
- text2B = hm[ 1 ];
- text1A = hm[ 2 ];
- text1B = hm[ 3 ];
- }
- midCommon = hm[ 4 ];
- return [ text1A, text1B, text2A, text2B, midCommon ];
- };
-
- /**
- * Do a quick line-level diff on both strings, then rediff the parts for
- * greater accuracy.
- * This speedup can produce non-minimal diffs.
- * @param {string} text1 Old string to be diffed.
- * @param {string} text2 New string to be diffed.
- * @param {number} deadline Time when the diff should be complete by.
- * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
- * @private
- */
- DiffMatchPatch.prototype.diffLineMode = function( text1, text2, deadline ) {
- var a, diffs, linearray, pointer, countInsert,
- countDelete, textInsert, textDelete, j;
-
- // Scan the text on a line-by-line basis first.
- a = this.diffLinesToChars( text1, text2 );
- text1 = a.chars1;
- text2 = a.chars2;
- linearray = a.lineArray;
-
- diffs = this.DiffMain( text1, text2, false, deadline );
-
- // Convert the diff back to original text.
- this.diffCharsToLines( diffs, linearray );
-
- // Eliminate freak matches (e.g. blank lines)
- this.diffCleanupSemantic( diffs );
-
- // Rediff any replacement blocks, this time character-by-character.
- // Add a dummy entry at the end.
- diffs.push( [ DIFF_EQUAL, "" ] );
- pointer = 0;
- countDelete = 0;
- countInsert = 0;
- textDelete = "";
- textInsert = "";
- while ( pointer < diffs.length ) {
- switch ( diffs[ pointer ][ 0 ] ) {
- case DIFF_INSERT:
- countInsert++;
- textInsert += diffs[ pointer ][ 1 ];
- break;
- case DIFF_DELETE:
- countDelete++;
- textDelete += diffs[ pointer ][ 1 ];
- break;
- case DIFF_EQUAL:
-
- // Upon reaching an equality, check for prior redundancies.
- if ( countDelete >= 1 && countInsert >= 1 ) {
-
- // Delete the offending records and add the merged ones.
- diffs.splice( pointer - countDelete - countInsert,
- countDelete + countInsert );
- pointer = pointer - countDelete - countInsert;
- a = this.DiffMain( textDelete, textInsert, false, deadline );
- for ( j = a.length - 1; j >= 0; j-- ) {
- diffs.splice( pointer, 0, a[ j ] );
- }
- pointer = pointer + a.length;
- }
- countInsert = 0;
- countDelete = 0;
- textDelete = "";
- textInsert = "";
- break;
- }
- pointer++;
- }
- diffs.pop(); // Remove the dummy entry at the end.
-
- return diffs;
- };
-
- /**
- * Find the 'middle snake' of a diff, split the problem in two
- * and return the recursively constructed diff.
- * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.
- * @param {string} text1 Old string to be diffed.
- * @param {string} text2 New string to be diffed.
- * @param {number} deadline Time at which to bail if not yet complete.
- * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
- * @private
- */
- DiffMatchPatch.prototype.diffBisect = function( text1, text2, deadline ) {
- var text1Length, text2Length, maxD, vOffset, vLength,
- v1, v2, x, delta, front, k1start, k1end, k2start,
- k2end, k2Offset, k1Offset, x1, x2, y1, y2, d, k1, k2;
-
- // Cache the text lengths to prevent multiple calls.
- text1Length = text1.length;
- text2Length = text2.length;
- maxD = Math.ceil( ( text1Length + text2Length ) / 2 );
- vOffset = maxD;
- vLength = 2 * maxD;
- v1 = new Array( vLength );
- v2 = new Array( vLength );
-
- // Setting all elements to -1 is faster in Chrome & Firefox than mixing
- // integers and undefined.
- for ( x = 0; x < vLength; x++ ) {
- v1[ x ] = -1;
- v2[ x ] = -1;
- }
- v1[ vOffset + 1 ] = 0;
- v2[ vOffset + 1 ] = 0;
- delta = text1Length - text2Length;
-
- // If the total number of characters is odd, then the front path will collide
- // with the reverse path.
- front = ( delta % 2 !== 0 );
-
- // Offsets for start and end of k loop.
- // Prevents mapping of space beyond the grid.
- k1start = 0;
- k1end = 0;
- k2start = 0;
- k2end = 0;
- for ( d = 0; d < maxD; d++ ) {
-
- // Bail out if deadline is reached.
- if ( ( new Date() ).getTime() > deadline ) {
- break;
- }
-
- // Walk the front path one step.
- for ( k1 = -d + k1start; k1 <= d - k1end; k1 += 2 ) {
- k1Offset = vOffset + k1;
- if ( k1 === -d || ( k1 !== d && v1[ k1Offset - 1 ] < v1[ k1Offset + 1 ] ) ) {
- x1 = v1[ k1Offset + 1 ];
- } else {
- x1 = v1[ k1Offset - 1 ] + 1;
- }
- y1 = x1 - k1;
- while ( x1 < text1Length && y1 < text2Length &&
- text1.charAt( x1 ) === text2.charAt( y1 ) ) {
- x1++;
- y1++;
- }
- v1[ k1Offset ] = x1;
- if ( x1 > text1Length ) {
-
- // Ran off the right of the graph.
- k1end += 2;
- } else if ( y1 > text2Length ) {
-
- // Ran off the bottom of the graph.
- k1start += 2;
- } else if ( front ) {
- k2Offset = vOffset + delta - k1;
- if ( k2Offset >= 0 && k2Offset < vLength && v2[ k2Offset ] !== -1 ) {
-
- // Mirror x2 onto top-left coordinate system.
- x2 = text1Length - v2[ k2Offset ];
- if ( x1 >= x2 ) {
-
- // Overlap detected.
- return this.diffBisectSplit( text1, text2, x1, y1, deadline );
- }
- }
- }
- }
-
- // Walk the reverse path one step.
- for ( k2 = -d + k2start; k2 <= d - k2end; k2 += 2 ) {
- k2Offset = vOffset + k2;
- if ( k2 === -d || ( k2 !== d && v2[ k2Offset - 1 ] < v2[ k2Offset + 1 ] ) ) {
- x2 = v2[ k2Offset + 1 ];
- } else {
- x2 = v2[ k2Offset - 1 ] + 1;
- }
- y2 = x2 - k2;
- while ( x2 < text1Length && y2 < text2Length &&
- text1.charAt( text1Length - x2 - 1 ) ===
- text2.charAt( text2Length - y2 - 1 ) ) {
- x2++;
- y2++;
- }
- v2[ k2Offset ] = x2;
- if ( x2 > text1Length ) {
-
- // Ran off the left of the graph.
- k2end += 2;
- } else if ( y2 > text2Length ) {
-
- // Ran off the top of the graph.
- k2start += 2;
- } else if ( !front ) {
- k1Offset = vOffset + delta - k2;
- if ( k1Offset >= 0 && k1Offset < vLength && v1[ k1Offset ] !== -1 ) {
- x1 = v1[ k1Offset ];
- y1 = vOffset + x1 - k1Offset;
-
- // Mirror x2 onto top-left coordinate system.
- x2 = text1Length - x2;
- if ( x1 >= x2 ) {
-
- // Overlap detected.
- return this.diffBisectSplit( text1, text2, x1, y1, deadline );
- }
- }
- }
- }
- }
-
- // Diff took too long and hit the deadline or
- // number of diffs equals number of characters, no commonality at all.
- return [
- [ DIFF_DELETE, text1 ],
- [ DIFF_INSERT, text2 ]
- ];
- };
-
- /**
- * Given the location of the 'middle snake', split the diff in two parts
- * and recurse.
- * @param {string} text1 Old string to be diffed.
- * @param {string} text2 New string to be diffed.
- * @param {number} x Index of split point in text1.
- * @param {number} y Index of split point in text2.
- * @param {number} deadline Time at which to bail if not yet complete.
- * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
- * @private
- */
- DiffMatchPatch.prototype.diffBisectSplit = function( text1, text2, x, y, deadline ) {
- var text1a, text1b, text2a, text2b, diffs, diffsb;
- text1a = text1.substring( 0, x );
- text2a = text2.substring( 0, y );
- text1b = text1.substring( x );
- text2b = text2.substring( y );
-
- // Compute both diffs serially.
- diffs = this.DiffMain( text1a, text2a, false, deadline );
- diffsb = this.DiffMain( text1b, text2b, false, deadline );
-
- return diffs.concat( diffsb );
- };
-
- /**
- * Reduce the number of edits by eliminating semantically trivial equalities.
- * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
- */
- DiffMatchPatch.prototype.diffCleanupSemantic = function( diffs ) {
- var changes, equalities, equalitiesLength, lastequality,
- pointer, lengthInsertions2, lengthDeletions2, lengthInsertions1,
- lengthDeletions1, deletion, insertion, overlapLength1, overlapLength2;
- changes = false;
- equalities = []; // Stack of indices where equalities are found.
- equalitiesLength = 0; // Keeping our own length var is faster in JS.
- /** @type {?string} */
- lastequality = null;
-
- // Always equal to diffs[equalities[equalitiesLength - 1]][1]
- pointer = 0; // Index of current position.
-
- // Number of characters that changed prior to the equality.
- lengthInsertions1 = 0;
- lengthDeletions1 = 0;
-
- // Number of characters that changed after the equality.
- lengthInsertions2 = 0;
- lengthDeletions2 = 0;
- while ( pointer < diffs.length ) {
- if ( diffs[ pointer ][ 0 ] === DIFF_EQUAL ) { // Equality found.
- equalities[ equalitiesLength++ ] = pointer;
- lengthInsertions1 = lengthInsertions2;
- lengthDeletions1 = lengthDeletions2;
- lengthInsertions2 = 0;
- lengthDeletions2 = 0;
- lastequality = diffs[ pointer ][ 1 ];
- } else { // An insertion or deletion.
- if ( diffs[ pointer ][ 0 ] === DIFF_INSERT ) {
- lengthInsertions2 += diffs[ pointer ][ 1 ].length;
- } else {
- lengthDeletions2 += diffs[ pointer ][ 1 ].length;
- }
-
- // Eliminate an equality that is smaller or equal to the edits on both
- // sides of it.
- if ( lastequality && ( lastequality.length <=
- Math.max( lengthInsertions1, lengthDeletions1 ) ) &&
- ( lastequality.length <= Math.max( lengthInsertions2,
- lengthDeletions2 ) ) ) {
-
- // Duplicate record.
- diffs.splice(
- equalities[ equalitiesLength - 1 ],
- 0,
- [ DIFF_DELETE, lastequality ]
- );
-
- // Change second copy to insert.
- diffs[ equalities[ equalitiesLength - 1 ] + 1 ][ 0 ] = DIFF_INSERT;
-
- // Throw away the equality we just deleted.
- equalitiesLength--;
-
- // Throw away the previous equality (it needs to be reevaluated).
- equalitiesLength--;
- pointer = equalitiesLength > 0 ? equalities[ equalitiesLength - 1 ] : -1;
-
- // Reset the counters.
- lengthInsertions1 = 0;
- lengthDeletions1 = 0;
- lengthInsertions2 = 0;
- lengthDeletions2 = 0;
- lastequality = null;
- changes = true;
- }
- }
- pointer++;
- }
-
- // Normalize the diff.
- if ( changes ) {
- this.diffCleanupMerge( diffs );
- }
-
- // Find any overlaps between deletions and insertions.
- // e.g: <del>abcxxx</del><ins>xxxdef</ins>
- // -> <del>abc</del>xxx<ins>def</ins>
- // e.g: <del>xxxabc</del><ins>defxxx</ins>
- // -> <ins>def</ins>xxx<del>abc</del>
- // Only extract an overlap if it is as big as the edit ahead or behind it.
- pointer = 1;
- while ( pointer < diffs.length ) {
- if ( diffs[ pointer - 1 ][ 0 ] === DIFF_DELETE &&
- diffs[ pointer ][ 0 ] === DIFF_INSERT ) {
- deletion = diffs[ pointer - 1 ][ 1 ];
- insertion = diffs[ pointer ][ 1 ];
- overlapLength1 = this.diffCommonOverlap( deletion, insertion );
- overlapLength2 = this.diffCommonOverlap( insertion, deletion );
- if ( overlapLength1 >= overlapLength2 ) {
- if ( overlapLength1 >= deletion.length / 2 ||
- overlapLength1 >= insertion.length / 2 ) {
-
- // Overlap found. Insert an equality and trim the surrounding edits.
- diffs.splice(
- pointer,
- 0,
- [ DIFF_EQUAL, insertion.substring( 0, overlapLength1 ) ]
- );
- diffs[ pointer - 1 ][ 1 ] =
- deletion.substring( 0, deletion.length - overlapLength1 );
- diffs[ pointer + 1 ][ 1 ] = insertion.substring( overlapLength1 );
- pointer++;
- }
- } else {
- if ( overlapLength2 >= deletion.length / 2 ||
- overlapLength2 >= insertion.length / 2 ) {
-
- // Reverse overlap found.
- // Insert an equality and swap and trim the surrounding edits.
- diffs.splice(
- pointer,
- 0,
- [ DIFF_EQUAL, deletion.substring( 0, overlapLength2 ) ]
- );
-
- diffs[ pointer - 1 ][ 0 ] = DIFF_INSERT;
- diffs[ pointer - 1 ][ 1 ] =
- insertion.substring( 0, insertion.length - overlapLength2 );
- diffs[ pointer + 1 ][ 0 ] = DIFF_DELETE;
- diffs[ pointer + 1 ][ 1 ] =
- deletion.substring( overlapLength2 );
- pointer++;
- }
- }
- pointer++;
- }
- pointer++;
- }
- };
-
- /**
- * Determine if the suffix of one string is the prefix of another.
- * @param {string} text1 First string.
- * @param {string} text2 Second string.
- * @return {number} The number of characters common to the end of the first
- * string and the start of the second string.
- * @private
- */
- DiffMatchPatch.prototype.diffCommonOverlap = function( text1, text2 ) {
- var text1Length, text2Length, textLength,
- best, length, pattern, found;
-
- // Cache the text lengths to prevent multiple calls.
- text1Length = text1.length;
- text2Length = text2.length;
-
- // Eliminate the null case.
- if ( text1Length === 0 || text2Length === 0 ) {
- return 0;
- }
-
- // Truncate the longer string.
- if ( text1Length > text2Length ) {
- text1 = text1.substring( text1Length - text2Length );
- } else if ( text1Length < text2Length ) {
- text2 = text2.substring( 0, text1Length );
- }
- textLength = Math.min( text1Length, text2Length );
-
- // Quick check for the worst case.
- if ( text1 === text2 ) {
- return textLength;
- }
-
- // Start by looking for a single character match
- // and increase length until no match is found.
- // Performance analysis: https://neil.fraser.name/news/2010/11/04/
- best = 0;
- length = 1;
- while ( true ) {
- pattern = text1.substring( textLength - length );
- found = text2.indexOf( pattern );
- if ( found === -1 ) {
- return best;
- }
- length += found;
- if ( found === 0 || text1.substring( textLength - length ) ===
- text2.substring( 0, length ) ) {
- best = length;
- length++;
- }
- }
- };
-
- /**
- * Split two texts into an array of strings. Reduce the texts to a string of
- * hashes where each Unicode character represents one line.
- * @param {string} text1 First string.
- * @param {string} text2 Second string.
- * @return {{chars1: string, chars2: string, lineArray: !Array.<string>}}
- * An object containing the encoded text1, the encoded text2 and
- * the array of unique strings.
- * The zeroth element of the array of unique strings is intentionally blank.
- * @private
- */
- DiffMatchPatch.prototype.diffLinesToChars = function( text1, text2 ) {
- var lineArray, lineHash, chars1, chars2;
- lineArray = []; // E.g. lineArray[4] === 'Hello\n'
- lineHash = {}; // E.g. lineHash['Hello\n'] === 4
-
- // '\x00' is a valid character, but various debuggers don't like it.
- // So we'll insert a junk entry to avoid generating a null character.
- lineArray[ 0 ] = "";
-
- /**
- * Split a text into an array of strings. Reduce the texts to a string of
- * hashes where each Unicode character represents one line.
- * Modifies linearray and linehash through being a closure.
- * @param {string} text String to encode.
- * @return {string} Encoded string.
- * @private
- */
- function diffLinesToCharsMunge( text ) {
- var chars, lineStart, lineEnd, lineArrayLength, line;
- chars = "";
-
- // Walk the text, pulling out a substring for each line.
- // text.split('\n') would would temporarily double our memory footprint.
- // Modifying text would create many large strings to garbage collect.
- lineStart = 0;
- lineEnd = -1;
-
- // Keeping our own length variable is faster than looking it up.
- lineArrayLength = lineArray.length;
- while ( lineEnd < text.length - 1 ) {
- lineEnd = text.indexOf( "\n", lineStart );
- if ( lineEnd === -1 ) {
- lineEnd = text.length - 1;
- }
- line = text.substring( lineStart, lineEnd + 1 );
- lineStart = lineEnd + 1;
-
- if ( lineHash.hasOwnProperty ? lineHash.hasOwnProperty( line ) :
- ( lineHash[ line ] !== undefined ) ) {
- chars += String.fromCharCode( lineHash[ line ] );
- } else {
- chars += String.fromCharCode( lineArrayLength );
- lineHash[ line ] = lineArrayLength;
- lineArray[ lineArrayLength++ ] = line;
- }
- }
- return chars;
- }
-
- chars1 = diffLinesToCharsMunge( text1 );
- chars2 = diffLinesToCharsMunge( text2 );
- return {
- chars1: chars1,
- chars2: chars2,
- lineArray: lineArray
- };
- };
-
- /**
- * Rehydrate the text in a diff from a string of line hashes to real lines of
- * text.
- * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
- * @param {!Array.<string>} lineArray Array of unique strings.
- * @private
- */
- DiffMatchPatch.prototype.diffCharsToLines = function( diffs, lineArray ) {
- var x, chars, text, y;
- for ( x = 0; x < diffs.length; x++ ) {
- chars = diffs[ x ][ 1 ];
- text = [];
- for ( y = 0; y < chars.length; y++ ) {
- text[ y ] = lineArray[ chars.charCodeAt( y ) ];
- }
- diffs[ x ][ 1 ] = text.join( "" );
- }
- };
-
- /**
- * Reorder and merge like edit sections. Merge equalities.
- * Any edit section can move as long as it doesn't cross an equality.
- * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
- */
- DiffMatchPatch.prototype.diffCleanupMerge = function( diffs ) {
- var pointer, countDelete, countInsert, textInsert, textDelete,
- commonlength, changes, diffPointer, position;
- diffs.push( [ DIFF_EQUAL, "" ] ); // Add a dummy entry at the end.
- pointer = 0;
- countDelete = 0;
- countInsert = 0;
- textDelete = "";
- textInsert = "";
- commonlength;
- while ( pointer < diffs.length ) {
- switch ( diffs[ pointer ][ 0 ] ) {
- case DIFF_INSERT:
- countInsert++;
- textInsert += diffs[ pointer ][ 1 ];
- pointer++;
- break;
- case DIFF_DELETE:
- countDelete++;
- textDelete += diffs[ pointer ][ 1 ];
- pointer++;
- break;
- case DIFF_EQUAL:
-
- // Upon reaching an equality, check for prior redundancies.
- if ( countDelete + countInsert > 1 ) {
- if ( countDelete !== 0 && countInsert !== 0 ) {
-
- // Factor out any common prefixes.
- commonlength = this.diffCommonPrefix( textInsert, textDelete );
- if ( commonlength !== 0 ) {
- if ( ( pointer - countDelete - countInsert ) > 0 &&
- diffs[ pointer - countDelete - countInsert - 1 ][ 0 ] ===
- DIFF_EQUAL ) {
- diffs[ pointer - countDelete - countInsert - 1 ][ 1 ] +=
- textInsert.substring( 0, commonlength );
- } else {
- diffs.splice( 0, 0, [ DIFF_EQUAL,
- textInsert.substring( 0, commonlength )
- ] );
- pointer++;
- }
- textInsert = textInsert.substring( commonlength );
- textDelete = textDelete.substring( commonlength );
- }
-
- // Factor out any common suffixies.
- commonlength = this.diffCommonSuffix( textInsert, textDelete );
- if ( commonlength !== 0 ) {
- diffs[ pointer ][ 1 ] = textInsert.substring( textInsert.length -
- commonlength ) + diffs[ pointer ][ 1 ];
- textInsert = textInsert.substring( 0, textInsert.length -
- commonlength );
- textDelete = textDelete.substring( 0, textDelete.length -
- commonlength );
- }
- }
-
- // Delete the offending records and add the merged ones.
- if ( countDelete === 0 ) {
- diffs.splice( pointer - countInsert,
- countDelete + countInsert, [ DIFF_INSERT, textInsert ] );
- } else if ( countInsert === 0 ) {
- diffs.splice( pointer - countDelete,
- countDelete + countInsert, [ DIFF_DELETE, textDelete ] );
- } else {
- diffs.splice(
- pointer - countDelete - countInsert,
- countDelete + countInsert,
- [ DIFF_DELETE, textDelete ], [ DIFF_INSERT, textInsert ]
- );
- }
- pointer = pointer - countDelete - countInsert +
- ( countDelete ? 1 : 0 ) + ( countInsert ? 1 : 0 ) + 1;
- } else if ( pointer !== 0 && diffs[ pointer - 1 ][ 0 ] === DIFF_EQUAL ) {
-
- // Merge this equality with the previous one.
- diffs[ pointer - 1 ][ 1 ] += diffs[ pointer ][ 1 ];
- diffs.splice( pointer, 1 );
- } else {
- pointer++;
- }
- countInsert = 0;
- countDelete = 0;
- textDelete = "";
- textInsert = "";
- break;
- }
- }
- if ( diffs[ diffs.length - 1 ][ 1 ] === "" ) {
- diffs.pop(); // Remove the dummy entry at the end.
- }
-
- // Second pass: look for single edits surrounded on both sides by equalities
- // which can be shifted sideways to eliminate an equality.
- // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC
- changes = false;
- pointer = 1;
-
- // Intentionally ignore the first and last element (don't need checking).
- while ( pointer < diffs.length - 1 ) {
- if ( diffs[ pointer - 1 ][ 0 ] === DIFF_EQUAL &&
- diffs[ pointer + 1 ][ 0 ] === DIFF_EQUAL ) {
-
- diffPointer = diffs[ pointer ][ 1 ];
- position = diffPointer.substring(
- diffPointer.length - diffs[ pointer - 1 ][ 1 ].length
- );
-
- // This is a single edit surrounded by equalities.
- if ( position === diffs[ pointer - 1 ][ 1 ] ) {
-
- // Shift the edit over the previous equality.
- diffs[ pointer ][ 1 ] = diffs[ pointer - 1 ][ 1 ] +
- diffs[ pointer ][ 1 ].substring( 0, diffs[ pointer ][ 1 ].length -
- diffs[ pointer - 1 ][ 1 ].length );
- diffs[ pointer + 1 ][ 1 ] =
- diffs[ pointer - 1 ][ 1 ] + diffs[ pointer + 1 ][ 1 ];
- diffs.splice( pointer - 1, 1 );
- changes = true;
- } else if ( diffPointer.substring( 0, diffs[ pointer + 1 ][ 1 ].length ) ===
- diffs[ pointer + 1 ][ 1 ] ) {
-
- // Shift the edit over the next equality.
- diffs[ pointer - 1 ][ 1 ] += diffs[ pointer + 1 ][ 1 ];
- diffs[ pointer ][ 1 ] =
- diffs[ pointer ][ 1 ].substring( diffs[ pointer + 1 ][ 1 ].length ) +
- diffs[ pointer + 1 ][ 1 ];
- diffs.splice( pointer + 1, 1 );
- changes = true;
- }
- }
- pointer++;
- }
-
- // If shifts were made, the diff needs reordering and another shift sweep.
- if ( changes ) {
- this.diffCleanupMerge( diffs );
- }
- };
-
- return function( o, n ) {
- var diff, output, text;
- diff = new DiffMatchPatch();
- output = diff.DiffMain( o, n );
- diff.diffCleanupEfficiency( output );
- text = diff.diffPrettyHtml( output );
-
- return text;
- };
-}() );
-
-}() );
+ var sessionStorage = function () {
+ var x = "qunit-test-string";
+ try {
+ sessionStorage.setItem(x, x);
+ sessionStorage.removeItem(x);
+ return sessionStorage;
+ } catch (e) {
+ return undefined;
+ }
+ }();
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
+ return typeof obj;
+ } : function (obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+ };
+
+
+
+
+
+
+
+
+
+
+
+ var classCallCheck = function (instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ };
+
+ var createClass = function () {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+ }
+
+ return function (Constructor, protoProps, staticProps) {
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+ }();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ var toConsumableArray = function (arr) {
+ if (Array.isArray(arr)) {
+ for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
+
+ return arr2;
+ } else {
+ return Array.from(arr);
+ }
+ };
+
+ var toString = Object.prototype.toString;
+ var hasOwn = Object.prototype.hasOwnProperty;
+ var now = Date.now || function () {
+ return new Date().getTime();
+ };
+
+ var defined = {
+ document: window && window.document !== undefined,
+ setTimeout: setTimeout !== undefined
+ };
+
+ // Returns a new Array with the elements that are in a but not in b
+ function diff(a, b) {
+ var i,
+ j,
+ result = a.slice();
+
+ for (i = 0; i < result.length; i++) {
+ for (j = 0; j < b.length; j++) {
+ if (result[i] === b[j]) {
+ result.splice(i, 1);
+ i--;
+ break;
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Determines whether an element exists in a given array or not.
+ *
+ * @method inArray
+ * @param {Any} elem
+ * @param {Array} array
+ * @return {Boolean}
+ */
+ function inArray(elem, array) {
+ return array.indexOf(elem) !== -1;
+ }
+
+ /**
+ * Makes a clone of an object using only Array or Object as base,
+ * and copies over the own enumerable properties.
+ *
+ * @param {Object} obj
+ * @return {Object} New object with only the own properties (recursively).
+ */
+ function objectValues(obj) {
+ var key,
+ val,
+ vals = is("array", obj) ? [] : {};
+ for (key in obj) {
+ if (hasOwn.call(obj, key)) {
+ val = obj[key];
+ vals[key] = val === Object(val) ? objectValues(val) : val;
+ }
+ }
+ return vals;
+ }
+
+ function extend(a, b, undefOnly) {
+ for (var prop in b) {
+ if (hasOwn.call(b, prop)) {
+ if (b[prop] === undefined) {
+ delete a[prop];
+ } else if (!(undefOnly && typeof a[prop] !== "undefined")) {
+ a[prop] = b[prop];
+ }
+ }
+ }
+
+ return a;
+ }
+
+ function objectType(obj) {
+ if (typeof obj === "undefined") {
+ return "undefined";
+ }
+
+ // Consider: typeof null === object
+ if (obj === null) {
+ return "null";
+ }
+
+ var match = toString.call(obj).match(/^\[object\s(.*)\]$/),
+ type = match && match[1];
+
+ switch (type) {
+ case "Number":
+ if (isNaN(obj)) {
+ return "nan";
+ }
+ return "number";
+ case "String":
+ case "Boolean":
+ case "Array":
+ case "Set":
+ case "Map":
+ case "Date":
+ case "RegExp":
+ case "Function":
+ case "Symbol":
+ return type.toLowerCase();
+ }
+
+ if ((typeof obj === "undefined" ? "undefined" : _typeof(obj)) === "object") {
+ return "object";
+ }
+ }
+
+ // Safe object type checking
+ function is(type, obj) {
+ return objectType(obj) === type;
+ }
+
+ // Test for equality any JavaScript type.
+ // Authors: Philippe Rathé <[email protected]>, David Chan <[email protected]>
+ var equiv = (function () {
+
+ // Value pairs queued for comparison. Used for breadth-first processing order, recursion
+ // detection and avoiding repeated comparison (see below for details).
+ // Elements are { a: val, b: val }.
+ var pairs = [];
+
+ var getProto = Object.getPrototypeOf || function (obj) {
+ return obj.__proto__;
+ };
+
+ function useStrictEquality(a, b) {
+
+ // This only gets called if a and b are not strict equal, and is used to compare on
+ // the primitive values inside object wrappers. For example:
+ // `var i = 1;`
+ // `var j = new Number(1);`
+ // Neither a nor b can be null, as a !== b and they have the same type.
+ if ((typeof a === "undefined" ? "undefined" : _typeof(a)) === "object") {
+ a = a.valueOf();
+ }
+ if ((typeof b === "undefined" ? "undefined" : _typeof(b)) === "object") {
+ b = b.valueOf();
+ }
+
+ return a === b;
+ }
+
+ function compareConstructors(a, b) {
+ var protoA = getProto(a);
+ var protoB = getProto(b);
+
+ // Comparing constructors is more strict than using `instanceof`
+ if (a.constructor === b.constructor) {
+ return true;
+ }
+
+ // Ref #851
+ // If the obj prototype descends from a null constructor, treat it
+ // as a null prototype.
+ if (protoA && protoA.constructor === null) {
+ protoA = null;
+ }
+ if (protoB && protoB.constructor === null) {
+ protoB = null;
+ }
+
+ // Allow objects with no prototype to be equivalent to
+ // objects with Object as their constructor.
+ if (protoA === null && protoB === Object.prototype || protoB === null && protoA === Object.prototype) {
+ return true;
+ }
+
+ return false;
+ }
+
+ function getRegExpFlags(regexp) {
+ return "flags" in regexp ? regexp.flags : regexp.toString().match(/[gimuy]*$/)[0];
+ }
+
+ function isContainer(val) {
+ return ["object", "array", "map", "set"].indexOf(objectType(val)) !== -1;
+ }
+
+ function breadthFirstCompareChild(a, b) {
+
+ // If a is a container not reference-equal to b, postpone the comparison to the
+ // end of the pairs queue -- unless (a, b) has been seen before, in which case skip
+ // over the pair.
+ if (a === b) {
+ return true;
+ }
+ if (!isContainer(a)) {
+ return typeEquiv(a, b);
+ }
+ if (pairs.every(function (pair) {
+ return pair.a !== a || pair.b !== b;
+ })) {
+
+ // Not yet started comparing this pair
+ pairs.push({ a: a, b: b });
+ }
+ return true;
+ }
+
+ var callbacks = {
+ "string": useStrictEquality,
+ "boolean": useStrictEquality,
+ "number": useStrictEquality,
+ "null": useStrictEquality,
+ "undefined": useStrictEquality,
+ "symbol": useStrictEquality,
+ "date": useStrictEquality,
+
+ "nan": function nan() {
+ return true;
+ },
+
+ "regexp": function regexp(a, b) {
+ return a.source === b.source &&
+
+ // Include flags in the comparison
+ getRegExpFlags(a) === getRegExpFlags(b);
+ },
+
+ // abort (identical references / instance methods were skipped earlier)
+ "function": function _function() {
+ return false;
+ },
+
+ "array": function array(a, b) {
+ var i, len;
+
+ len = a.length;
+ if (len !== b.length) {
+
+ // Safe and faster
+ return false;
+ }
+
+ for (i = 0; i < len; i++) {
+
+ // Compare non-containers; queue non-reference-equal containers
+ if (!breadthFirstCompareChild(a[i], b[i])) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ // Define sets a and b to be equivalent if for each element aVal in a, there
+ // is some element bVal in b such that aVal and bVal are equivalent. Element
+ // repetitions are not counted, so these are equivalent:
+ // a = new Set( [ {}, [], [] ] );
+ // b = new Set( [ {}, {}, [] ] );
+ "set": function set$$1(a, b) {
+ var innerEq,
+ outerEq = true;
+
+ if (a.size !== b.size) {
+
+ // This optimization has certain quirks because of the lack of
+ // repetition counting. For instance, adding the same
+ // (reference-identical) element to two equivalent sets can
+ // make them non-equivalent.
+ return false;
+ }
+
+ a.forEach(function (aVal) {
+
+ // Short-circuit if the result is already known. (Using for...of
+ // with a break clause would be cleaner here, but it would cause
+ // a syntax error on older Javascript implementations even if
+ // Set is unused)
+ if (!outerEq) {
+ return;
+ }
+
+ innerEq = false;
+
+ b.forEach(function (bVal) {
+ var parentPairs;
+
+ // Likewise, short-circuit if the result is already known
+ if (innerEq) {
+ return;
+ }
+
+ // Swap out the global pairs list, as the nested call to
+ // innerEquiv will clobber its contents
+ parentPairs = pairs;
+ if (innerEquiv(bVal, aVal)) {
+ innerEq = true;
+ }
+
+ // Replace the global pairs list
+ pairs = parentPairs;
+ });
+
+ if (!innerEq) {
+ outerEq = false;
+ }
+ });
+
+ return outerEq;
+ },
+
+ // Define maps a and b to be equivalent if for each key-value pair (aKey, aVal)
+ // in a, there is some key-value pair (bKey, bVal) in b such that
+ // [ aKey, aVal ] and [ bKey, bVal ] are equivalent. Key repetitions are not
+ // counted, so these are equivalent:
+ // a = new Map( [ [ {}, 1 ], [ {}, 1 ], [ [], 1 ] ] );
+ // b = new Map( [ [ {}, 1 ], [ [], 1 ], [ [], 1 ] ] );
+ "map": function map(a, b) {
+ var innerEq,
+ outerEq = true;
+
+ if (a.size !== b.size) {
+
+ // This optimization has certain quirks because of the lack of
+ // repetition counting. For instance, adding the same
+ // (reference-identical) key-value pair to two equivalent maps
+ // can make them non-equivalent.
+ return false;
+ }
+
+ a.forEach(function (aVal, aKey) {
+
+ // Short-circuit if the result is already known. (Using for...of
+ // with a break clause would be cleaner here, but it would cause
+ // a syntax error on older Javascript implementations even if
+ // Map is unused)
+ if (!outerEq) {
+ return;
+ }
+
+ innerEq = false;
+
+ b.forEach(function (bVal, bKey) {
+ var parentPairs;
+
+ // Likewise, short-circuit if the result is already known
+ if (innerEq) {
+ return;
+ }
+
+ // Swap out the global pairs list, as the nested call to
+ // innerEquiv will clobber its contents
+ parentPairs = pairs;
+ if (innerEquiv([bVal, bKey], [aVal, aKey])) {
+ innerEq = true;
+ }
+
+ // Replace the global pairs list
+ pairs = parentPairs;
+ });
+
+ if (!innerEq) {
+ outerEq = false;
+ }
+ });
+
+ return outerEq;
+ },
+
+ "object": function object(a, b) {
+ var i,
+ aProperties = [],
+ bProperties = [];
+
+ if (compareConstructors(a, b) === false) {
+ return false;
+ }
+
+ // Be strict: don't ensure hasOwnProperty and go deep
+ for (i in a) {
+
+ // Collect a's properties
+ aProperties.push(i);
+
+ // Skip OOP methods that look the same
+ if (a.constructor !== Object && typeof a.constructor !== "undefined" && typeof a[i] === "function" && typeof b[i] === "function" && a[i].toString() === b[i].toString()) {
+ continue;
+ }
+
+ // Compare non-containers; queue non-reference-equal containers
+ if (!breadthFirstCompareChild(a[i], b[i])) {
+ return false;
+ }
+ }
+
+ for (i in b) {
+
+ // Collect b's properties
+ bProperties.push(i);
+ }
+
+ // Ensures identical properties name
+ return typeEquiv(aProperties.sort(), bProperties.sort());
+ }
+ };
+
+ function typeEquiv(a, b) {
+ var type = objectType(a);
+
+ // Callbacks for containers will append to the pairs queue to achieve breadth-first
+ // search order. The pairs queue is also used to avoid reprocessing any pair of
+ // containers that are reference-equal to a previously visited pair (a special case
+ // this being recursion detection).
+ //
+ // Because of this approach, once typeEquiv returns a false value, it should not be
+ // called again without clearing the pair queue else it may wrongly report a visited
+ // pair as being equivalent.
+ return objectType(b) === type && callbacks[type](a, b);
+ }
+
+ function innerEquiv(a, b) {
+ var i, pair;
+
+ // We're done when there's nothing more to compare
+ if (arguments.length < 2) {
+ return true;
+ }
+
+ // Clear the global pair queue and add the top-level values being compared
+ pairs = [{ a: a, b: b }];
+
+ for (i = 0; i < pairs.length; i++) {
+ pair = pairs[i];
+
+ // Perform type-specific comparison on any pairs that are not strictly
+ // equal. For container types, that comparison will postpone comparison
+ // of any sub-container pair to the end of the pair queue. This gives
+ // breadth-first search order. It also avoids the reprocessing of
+ // reference-equal siblings, cousins etc, which can have a significant speed
+ // impact when comparing a container of small objects each of which has a
+ // reference to the same (singleton) large object.
+ if (pair.a !== pair.b && !typeEquiv(pair.a, pair.b)) {
+ return false;
+ }
+ }
+
+ // ...across all consecutive argument pairs
+ return arguments.length === 2 || innerEquiv.apply(this, [].slice.call(arguments, 1));
+ }
+
+ return innerEquiv;
+ })();
+
+ /**
+ * Config object: Maintain internal state
+ * Later exposed as QUnit.config
+ * `config` initialized at top of scope
+ */
+ var config = {
+
+ // The queue of tests to run
+ queue: [],
+
+ // Block until document ready
+ blocking: true,
+
+ // By default, run previously failed tests first
+ // very useful in combination with "Hide passed tests" checked
+ reorder: true,
+
+ // By default, modify document.title when suite is done
+ altertitle: true,
+
+ // HTML Reporter: collapse every test except the first failing test
+ // If false, all failing tests will be expanded
+ collapse: true,
+
+ // By default, scroll to top of the page when suite is done
+ scrolltop: true,
+
+ // Depth up-to which object will be dumped
+ maxDepth: 5,
+
+ // When enabled, all tests must call expect()
+ requireExpects: false,
+
+ // Placeholder for user-configurable form-exposed URL parameters
+ urlConfig: [],
+
+ // Set of all modules.
+ modules: [],
+
+ // Stack of nested modules
+ moduleStack: [],
+
+ // The first unnamed module
+ currentModule: {
+ name: "",
+ tests: [],
+ childModules: [],
+ testsRun: 0
+ },
+
+ callbacks: {},
+
+ // The storage module to use for reordering tests
+ storage: sessionStorage
+ };
+
+ // take a predefined QUnit.config and extend the defaults
+ var globalConfig = window && window.QUnit && window.QUnit.config;
+
+ // only extend the global config if there is no QUnit overload
+ if (window && window.QUnit && !window.QUnit.version) {
+ extend(config, globalConfig);
+ }
+
+ // Push a loose unnamed module to the modules collection
+ config.modules.push(config.currentModule);
+
+ // Based on jsDump by Ariel Flesler
+ // http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html
+ var dump = (function () {
+ function quote(str) {
+ return "\"" + str.toString().replace(/\\/g, "\\\\").replace(/"/g, "\\\"") + "\"";
+ }
+ function literal(o) {
+ return o + "";
+ }
+ function join(pre, arr, post) {
+ var s = dump.separator(),
+ base = dump.indent(),
+ inner = dump.indent(1);
+ if (arr.join) {
+ arr = arr.join("," + s + inner);
+ }
+ if (!arr) {
+ return pre + post;
+ }
+ return [pre, inner + arr, base + post].join(s);
+ }
+ function array(arr, stack) {
+ var i = arr.length,
+ ret = new Array(i);
+
+ if (dump.maxDepth && dump.depth > dump.maxDepth) {
+ return "[object Array]";
+ }
+
+ this.up();
+ while (i--) {
+ ret[i] = this.parse(arr[i], undefined, stack);
+ }
+ this.down();
+ return join("[", ret, "]");
+ }
+
+ function isArray(obj) {
+ return (
+
+ //Native Arrays
+ toString.call(obj) === "[object Array]" ||
+
+ // NodeList objects
+ typeof obj.length === "number" && obj.item !== undefined && (obj.length ? obj.item(0) === obj[0] : obj.item(0) === null && obj[0] === undefined)
+ );
+ }
+
+ var reName = /^function (\w+)/,
+ dump = {
+
+ // The objType is used mostly internally, you can fix a (custom) type in advance
+ parse: function parse(obj, objType, stack) {
+ stack = stack || [];
+ var res,
+ parser,
+ parserType,
+ objIndex = stack.indexOf(obj);
+
+ if (objIndex !== -1) {
+ return "recursion(" + (objIndex - stack.length) + ")";
+ }
+
+ objType = objType || this.typeOf(obj);
+ parser = this.parsers[objType];
+ parserType = typeof parser === "undefined" ? "undefined" : _typeof(parser);
+
+ if (parserType === "function") {
+ stack.push(obj);
+ res = parser.call(this, obj, stack);
+ stack.pop();
+ return res;
+ }
+ return parserType === "string" ? parser : this.parsers.error;
+ },
+ typeOf: function typeOf(obj) {
+ var type;
+
+ if (obj === null) {
+ type = "null";
+ } else if (typeof obj === "undefined") {
+ type = "undefined";
+ } else if (is("regexp", obj)) {
+ type = "regexp";
+ } else if (is("date", obj)) {
+ type = "date";
+ } else if (is("function", obj)) {
+ type = "function";
+ } else if (obj.setInterval !== undefined && obj.document !== undefined && obj.nodeType === undefined) {
+ type = "window";
+ } else if (obj.nodeType === 9) {
+ type = "document";
+ } else if (obj.nodeType) {
+ type = "node";
+ } else if (isArray(obj)) {
+ type = "array";
+ } else if (obj.constructor === Error.prototype.constructor) {
+ type = "error";
+ } else {
+ type = typeof obj === "undefined" ? "undefined" : _typeof(obj);
+ }
+ return type;
+ },
+
+ separator: function separator() {
+ if (this.multiline) {
+ return this.HTML ? "<br />" : "\n";
+ } else {
+ return this.HTML ? "&#160;" : " ";
+ }
+ },
+
+ // Extra can be a number, shortcut for increasing-calling-decreasing
+ indent: function indent(extra) {
+ if (!this.multiline) {
+ return "";
+ }
+ var chr = this.indentChar;
+ if (this.HTML) {
+ chr = chr.replace(/\t/g, " ").replace(/ /g, "&#160;");
+ }
+ return new Array(this.depth + (extra || 0)).join(chr);
+ },
+ up: function up(a) {
+ this.depth += a || 1;
+ },
+ down: function down(a) {
+ this.depth -= a || 1;
+ },
+ setParser: function setParser(name, parser) {
+ this.parsers[name] = parser;
+ },
+
+ // The next 3 are exposed so you can use them
+ quote: quote,
+ literal: literal,
+ join: join,
+ depth: 1,
+ maxDepth: config.maxDepth,
+
+ // This is the list of parsers, to modify them, use dump.setParser
+ parsers: {
+ window: "[Window]",
+ document: "[Document]",
+ error: function error(_error) {
+ return "Error(\"" + _error.message + "\")";
+ },
+ unknown: "[Unknown]",
+ "null": "null",
+ "undefined": "undefined",
+ "function": function _function(fn) {
+ var ret = "function",
+
+
+ // Functions never have name in IE
+ name = "name" in fn ? fn.name : (reName.exec(fn) || [])[1];
+
+ if (name) {
+ ret += " " + name;
+ }
+ ret += "(";
+
+ ret = [ret, dump.parse(fn, "functionArgs"), "){"].join("");
+ return join(ret, dump.parse(fn, "functionCode"), "}");
+ },
+ array: array,
+ nodelist: array,
+ "arguments": array,
+ object: function object(map, stack) {
+ var keys,
+ key,
+ val,
+ i,
+ nonEnumerableProperties,
+ ret = [];
+
+ if (dump.maxDepth && dump.depth > dump.maxDepth) {
+ return "[object Object]";
+ }
+
+ dump.up();
+ keys = [];
+ for (key in map) {
+ keys.push(key);
+ }
+
+ // Some properties are not always enumerable on Error objects.
+ nonEnumerableProperties = ["message", "name"];
+ for (i in nonEnumerableProperties) {
+ key = nonEnumerableProperties[i];
+ if (key in map && !inArray(key, keys)) {
+ keys.push(key);
+ }
+ }
+ keys.sort();
+ for (i = 0; i < keys.length; i++) {
+ key = keys[i];
+ val = map[key];
+ ret.push(dump.parse(key, "key") + ": " + dump.parse(val, undefined, stack));
+ }
+ dump.down();
+ return join("{", ret, "}");
+ },
+ node: function node(_node) {
+ var len,
+ i,
+ val,
+ open = dump.HTML ? "&lt;" : "<",
+ close = dump.HTML ? "&gt;" : ">",
+ tag = _node.nodeName.toLowerCase(),
+ ret = open + tag,
+ attrs = _node.attributes;
+
+ if (attrs) {
+ for (i = 0, len = attrs.length; i < len; i++) {
+ val = attrs[i].nodeValue;
+
+ // IE6 includes all attributes in .attributes, even ones not explicitly
+ // set. Those have values like undefined, null, 0, false, "" or
+ // "inherit".
+ if (val && val !== "inherit") {
+ ret += " " + attrs[i].nodeName + "=" + dump.parse(val, "attribute");
+ }
+ }
+ }
+ ret += close;
+
+ // Show content of TextNode or CDATASection
+ if (_node.nodeType === 3 || _node.nodeType === 4) {
+ ret += _node.nodeValue;
+ }
+
+ return ret + open + "/" + tag + close;
+ },
+
+ // Function calls it internally, it's the arguments part of the function
+ functionArgs: function functionArgs(fn) {
+ var args,
+ l = fn.length;
+
+ if (!l) {
+ return "";
+ }
+
+ args = new Array(l);
+ while (l--) {
+
+ // 97 is 'a'
+ args[l] = String.fromCharCode(97 + l);
+ }
+ return " " + args.join(", ") + " ";
+ },
+
+ // Object calls it internally, the key part of an item in a map
+ key: quote,
+
+ // Function calls it internally, it's the content of the function
+ functionCode: "[code]",
+
+ // Node calls it internally, it's a html attribute value
+ attribute: quote,
+ string: quote,
+ date: quote,
+ regexp: literal,
+ number: literal,
+ "boolean": literal,
+ symbol: function symbol(sym) {
+ return sym.toString();
+ }
+ },
+
+ // If true, entities are escaped ( <, >, \t, space and \n )
+ HTML: false,
+
+ // Indentation unit
+ indentChar: " ",
+
+ // If true, items in a collection, are separated by a \n, else just a space.
+ multiline: true
+ };
+
+ return dump;
+ })();
+
+ var LISTENERS = Object.create(null);
+ var SUPPORTED_EVENTS = ["runStart", "suiteStart", "testStart", "assertion", "testEnd", "suiteEnd", "runEnd"];
+
+ /**
+ * Emits an event with the specified data to all currently registered listeners.
+ * Callbacks will fire in the order in which they are registered (FIFO). This
+ * function is not exposed publicly; it is used by QUnit internals to emit
+ * logging events.
+ *
+ * @private
+ * @method emit
+ * @param {String} eventName
+ * @param {Object} data
+ * @return {Void}
+ */
+ function emit(eventName, data) {
+ if (objectType(eventName) !== "string") {
+ throw new TypeError("eventName must be a string when emitting an event");
+ }
+
+ // Clone the callbacks in case one of them registers a new callback
+ var originalCallbacks = LISTENERS[eventName];
+ var callbacks = originalCallbacks ? [].concat(toConsumableArray(originalCallbacks)) : [];
+
+ for (var i = 0; i < callbacks.length; i++) {
+ callbacks[i](data);
+ }
+ }
+
+ /**
+ * Registers a callback as a listener to the specified event.
+ *
+ * @public
+ * @method on
+ * @param {String} eventName
+ * @param {Function} callback
+ * @return {Void}
+ */
+ function on(eventName, callback) {
+ if (objectType(eventName) !== "string") {
+ throw new TypeError("eventName must be a string when registering a listener");
+ } else if (!inArray(eventName, SUPPORTED_EVENTS)) {
+ var events = SUPPORTED_EVENTS.join(", ");
+ throw new Error("\"" + eventName + "\" is not a valid event; must be one of: " + events + ".");
+ } else if (objectType(callback) !== "function") {
+ throw new TypeError("callback must be a function when registering a listener");
+ }
+
+ if (!LISTENERS[eventName]) {
+ LISTENERS[eventName] = [];
+ }
+
+ // Don't register the same callback more than once
+ if (!inArray(callback, LISTENERS[eventName])) {
+ LISTENERS[eventName].push(callback);
+ }
+ }
+
+ // Register logging callbacks
+ function registerLoggingCallbacks(obj) {
+ var i,
+ l,
+ key,
+ callbackNames = ["begin", "done", "log", "testStart", "testDone", "moduleStart", "moduleDone"];
+
+ function registerLoggingCallback(key) {
+ var loggingCallback = function loggingCallback(callback) {
+ if (objectType(callback) !== "function") {
+ throw new Error("QUnit logging methods require a callback function as their first parameters.");
+ }
+
+ config.callbacks[key].push(callback);
+ };
+
+ return loggingCallback;
+ }
+
+ for (i = 0, l = callbackNames.length; i < l; i++) {
+ key = callbackNames[i];
+
+ // Initialize key collection of logging callback
+ if (objectType(config.callbacks[key]) === "undefined") {
+ config.callbacks[key] = [];
+ }
+
+ obj[key] = registerLoggingCallback(key);
+ }
+ }
+
+ function runLoggingCallbacks(key, args) {
+ var i, l, callbacks;
+
+ callbacks = config.callbacks[key];
+ for (i = 0, l = callbacks.length; i < l; i++) {
+ callbacks[i](args);
+ }
+ }
+
+ // Doesn't support IE9, it will return undefined on these browsers
+ // See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack
+ var fileName = (sourceFromStacktrace(0) || "").replace(/(:\d+)+\)?/, "").replace(/.+\//, "");
+
+ function extractStacktrace(e, offset) {
+ offset = offset === undefined ? 4 : offset;
+
+ var stack, include, i;
+
+ if (e && e.stack) {
+ stack = e.stack.split("\n");
+ if (/^error$/i.test(stack[0])) {
+ stack.shift();
+ }
+ if (fileName) {
+ include = [];
+ for (i = offset; i < stack.length; i++) {
+ if (stack[i].indexOf(fileName) !== -1) {
+ break;
+ }
+ include.push(stack[i]);
+ }
+ if (include.length) {
+ return include.join("\n");
+ }
+ }
+ return stack[offset];
+ }
+ }
+
+ function sourceFromStacktrace(offset) {
+ var error = new Error();
+
+ // Support: Safari <=7 only, IE <=10 - 11 only
+ // Not all browsers generate the `stack` property for `new Error()`, see also #636
+ if (!error.stack) {
+ try {
+ throw error;
+ } catch (err) {
+ error = err;
+ }
+ }
+
+ return extractStacktrace(error, offset);
+ }
+
+ var TestReport = function () {
+ function TestReport(name, suite, options) {
+ classCallCheck(this, TestReport);
+
+ this.name = name;
+ this.suiteName = suite.name;
+ this.fullName = suite.fullName.concat(name);
+ this.runtime = 0;
+ this.assertions = [];
+
+ this.skipped = !!options.skip;
+ this.todo = !!options.todo;
+
+ this._startTime = 0;
+ this._endTime = 0;
+
+ suite.pushTest(this);
+ }
+
+ createClass(TestReport, [{
+ key: "start",
+ value: function start(recordTime) {
+ if (recordTime) {
+ this._startTime = Date.now();
+ }
+
+ return {
+ name: this.name,
+ suiteName: this.suiteName,
+ fullName: this.fullName.slice()
+ };
+ }
+ }, {
+ key: "end",
+ value: function end(recordTime) {
+ if (recordTime) {
+ this._endTime = Date.now();
+ }
+
+ return extend(this.start(), {
+ runtime: this.getRuntime(),
+ status: this.getStatus(),
+ errors: this.getFailedAssertions(),
+ assertions: this.getAssertions()
+ });
+ }
+ }, {
+ key: "pushAssertion",
+ value: function pushAssertion(assertion) {
+ this.assertions.push(assertion);
+ }
+ }, {
+ key: "getRuntime",
+ value: function getRuntime() {
+ return this._endTime - this._startTime;
+ }
+ }, {
+ key: "getStatus",
+ value: function getStatus() {
+ if (this.skipped) {
+ return "skipped";
+ }
+
+ var testPassed = this.getFailedAssertions().length > 0 ? this.todo : !this.todo;
+
+ if (!testPassed) {
+ return "failed";
+ } else if (this.todo) {
+ return "todo";
+ } else {
+ return "passed";
+ }
+ }
+ }, {
+ key: "getFailedAssertions",
+ value: function getFailedAssertions() {
+ return this.assertions.filter(function (assertion) {
+ return !assertion.passed;
+ });
+ }
+ }, {
+ key: "getAssertions",
+ value: function getAssertions() {
+ return this.assertions.slice();
+ }
+ }]);
+ return TestReport;
+ }();
+
+ var unitSampler;
+ var focused = false;
+ var priorityCount = 0;
+
+ function Test(settings) {
+ var i, l;
+
+ ++Test.count;
+
+ this.expected = null;
+ extend(this, settings);
+ this.assertions = [];
+ this.semaphore = 0;
+ this.usedAsync = false;
+ this.module = config.currentModule;
+ this.stack = sourceFromStacktrace(3);
+ this.steps = [];
+
+ this.testReport = new TestReport(settings.testName, this.module.suiteReport, {
+ todo: settings.todo,
+ skip: settings.skip
+ });
+
+ // Register unique strings
+ for (i = 0, l = this.module.tests; i < l.length; i++) {
+ if (this.module.tests[i].name === this.testName) {
+ this.testName += " ";
+ }
+ }
+
+ this.testId = generateHash(this.module.name, this.testName);
+
+ this.module.tests.push({
+ name: this.testName,
+ testId: this.testId
+ });
+
+ if (settings.skip) {
+
+ // Skipped tests will fully ignore any sent callback
+ this.callback = function () {};
+ this.async = false;
+ this.expected = 0;
+ } else {
+ this.assert = new Assert(this);
+ }
+ }
+
+ Test.count = 0;
+
+ function getNotStartedModules(startModule) {
+ var module = startModule,
+ modules = [];
+
+ while (module && module.testsRun === 0) {
+ modules.push(module);
+ module = module.parentModule;
+ }
+
+ return modules;
+ }
+
+ Test.prototype = {
+ before: function before() {
+ var i,
+ startModule,
+ module = this.module,
+ notStartedModules = getNotStartedModules(module);
+
+ for (i = notStartedModules.length - 1; i >= 0; i--) {
+ startModule = notStartedModules[i];
+ startModule.stats = { all: 0, bad: 0, started: now() };
+ emit("suiteStart", startModule.suiteReport.start(true));
+ runLoggingCallbacks("moduleStart", {
+ name: startModule.name,
+ tests: startModule.tests
+ });
+ }
+
+ config.current = this;
+
+ if (module.testEnvironment) {
+ delete module.testEnvironment.before;
+ delete module.testEnvironment.beforeEach;
+ delete module.testEnvironment.afterEach;
+ delete module.testEnvironment.after;
+ }
+ this.testEnvironment = extend({}, module.testEnvironment);
+
+ this.started = now();
+ emit("testStart", this.testReport.start(true));
+ runLoggingCallbacks("testStart", {
+ name: this.testName,
+ module: module.name,
+ testId: this.testId,
+ previousFailure: this.previousFailure
+ });
+
+ if (!config.pollution) {
+ saveGlobal();
+ }
+ },
+
+ run: function run() {
+ var promise;
+
+ config.current = this;
+
+ this.callbackStarted = now();
+
+ if (config.notrycatch) {
+ runTest(this);
+ return;
+ }
+
+ try {
+ runTest(this);
+ } catch (e) {
+ this.pushFailure("Died on test #" + (this.assertions.length + 1) + " " + this.stack + ": " + (e.message || e), extractStacktrace(e, 0));
+
+ // Else next test will carry the responsibility
+ saveGlobal();
+
+ // Restart the tests if they're blocking
+ if (config.blocking) {
+ internalRecover(this);
+ }
+ }
+
+ function runTest(test) {
+ promise = test.callback.call(test.testEnvironment, test.assert);
+ test.resolvePromise(promise);
+ }
+ },
+
+ after: function after() {
+ checkPollution();
+ },
+
+ queueHook: function queueHook(hook, hookName, hookOwner) {
+ var promise,
+ test = this;
+ return function runHook() {
+ if (hookName === "before") {
+ if (hookOwner.testsRun !== 0) {
+ return;
+ }
+
+ test.preserveEnvironment = true;
+ }
+
+ if (hookName === "after" && hookOwner.testsRun !== numberOfTests(hookOwner) - 1) {
+ return;
+ }
+
+ config.current = test;
+ if (config.notrycatch) {
+ callHook();
+ return;
+ }
+ try {
+ callHook();
+ } catch (error) {
+ test.pushFailure(hookName + " failed on " + test.testName + ": " + (error.message || error), extractStacktrace(error, 0));
+ }
+
+ function callHook() {
+ promise = hook.call(test.testEnvironment, test.assert);
+ test.resolvePromise(promise, hookName);
+ }
+ };
+ },
+
+ // Currently only used for module level hooks, can be used to add global level ones
+ hooks: function hooks(handler) {
+ var hooks = [];
+
+ function processHooks(test, module) {
+ if (module.parentModule) {
+ processHooks(test, module.parentModule);
+ }
+ if (module.testEnvironment && objectType(module.testEnvironment[handler]) === "function") {
+ hooks.push(test.queueHook(module.testEnvironment[handler], handler, module));
+ }
+ }
+
+ // Hooks are ignored on skipped tests
+ if (!this.skip) {
+ processHooks(this, this.module);
+ }
+ return hooks;
+ },
+
+ finish: function finish() {
+ config.current = this;
+ if (config.requireExpects && this.expected === null) {
+ this.pushFailure("Expected number of assertions to be defined, but expect() was " + "not called.", this.stack);
+ } else if (this.expected !== null && this.expected !== this.assertions.length) {
+ this.pushFailure("Expected " + this.expected + " assertions, but " + this.assertions.length + " were run", this.stack);
+ } else if (this.expected === null && !this.assertions.length) {
+ this.pushFailure("Expected at least one assertion, but none were run - call " + "expect(0) to accept zero assertions.", this.stack);
+ }
+
+ var i,
+ module = this.module,
+ moduleName = module.name,
+ testName = this.testName,
+ skipped = !!this.skip,
+ todo = !!this.todo,
+ bad = 0,
+ storage = config.storage;
+
+ this.runtime = now() - this.started;
+
+ config.stats.all += this.assertions.length;
+ module.stats.all += this.assertions.length;
+
+ for (i = 0; i < this.assertions.length; i++) {
+ if (!this.assertions[i].result) {
+ bad++;
+ config.stats.bad++;
+ module.stats.bad++;
+ }
+ }
+
+ notifyTestsRan(module);
+
+ // Store result when possible
+ if (storage) {
+ if (bad) {
+ storage.setItem("qunit-test-" + moduleName + "-" + testName, bad);
+ } else {
+ storage.removeItem("qunit-test-" + moduleName + "-" + testName);
+ }
+ }
+
+ emit("testEnd", this.testReport.end(true));
+ runLoggingCallbacks("testDone", {
+ name: testName,
+ module: moduleName,
+ skipped: skipped,
+ todo: todo,
+ failed: bad,
+ passed: this.assertions.length - bad,
+ total: this.assertions.length,
+ runtime: skipped ? 0 : this.runtime,
+
+ // HTML Reporter use
+ assertions: this.assertions,
+ testId: this.testId,
+
+ // Source of Test
+ source: this.stack
+ });
+
+ if (module.testsRun === numberOfTests(module)) {
+ emit("suiteEnd", module.suiteReport.end(true));
+ runLoggingCallbacks("moduleDone", {
+ name: module.name,
+ tests: module.tests,
+ failed: module.stats.bad,
+ passed: module.stats.all - module.stats.bad,
+ total: module.stats.all,
+ runtime: now() - module.stats.started
+ });
+ }
+
+ config.current = undefined;
+ },
+
+ preserveTestEnvironment: function preserveTestEnvironment() {
+ if (this.preserveEnvironment) {
+ this.module.testEnvironment = this.testEnvironment;
+ this.testEnvironment = extend({}, this.module.testEnvironment);
+ }
+ },
+
+ queue: function queue() {
+ var priority,
+ previousFailCount,
+ test = this;
+
+ if (!this.valid()) {
+ return;
+ }
+
+ function run() {
+
+ // Each of these can by async
+ synchronize([function () {
+ test.before();
+ }, test.hooks("before"), function () {
+ test.preserveTestEnvironment();
+ }, test.hooks("beforeEach"), function () {
+ test.run();
+ }, test.hooks("afterEach").reverse(), test.hooks("after").reverse(), function () {
+ test.after();
+ }, function () {
+ test.finish();
+ }]);
+ }
+
+ previousFailCount = config.storage && +config.storage.getItem("qunit-test-" + this.module.name + "-" + this.testName);
+
+ // Prioritize previously failed tests, detected from storage
+ priority = config.reorder && previousFailCount;
+
+ this.previousFailure = !!previousFailCount;
+
+ return synchronize(run, priority, config.seed);
+ },
+
+ pushResult: function pushResult(resultInfo) {
+
+ // Destructure of resultInfo = { result, actual, expected, message, negative }
+ var source,
+ details = {
+ module: this.module.name,
+ name: this.testName,
+ result: resultInfo.result,
+ message: resultInfo.message,
+ actual: resultInfo.actual,
+ expected: resultInfo.expected,
+ testId: this.testId,
+ negative: resultInfo.negative || false,
+ runtime: now() - this.started,
+ todo: !!this.todo
+ };
+
+ if (!resultInfo.result) {
+ source = resultInfo.source || sourceFromStacktrace();
+
+ if (source) {
+ details.source = source;
+ }
+ }
+
+ this.logAssertion(details);
+
+ this.assertions.push({
+ result: !!resultInfo.result,
+ message: resultInfo.message
+ });
+ },
+
+ pushFailure: function pushFailure(message, source, actual) {
+ if (!(this instanceof Test)) {
+ throw new Error("pushFailure() assertion outside test context, was " + sourceFromStacktrace(2));
+ }
+
+ this.assert.pushResult({
+ result: false,
+ message: message || "error",
+ actual: actual || null,
+ expected: null,
+ source: source
+ });
+ },
+
+ /**
+ * Log assertion details using both the old QUnit.log interface and
+ * QUnit.on( "assertion" ) interface.
+ *
+ * @private
+ */
+ logAssertion: function logAssertion(details) {
+ runLoggingCallbacks("log", details);
+
+ var assertion = {
+ passed: details.result,
+ actual: details.actual,
+ expected: details.expected,
+ message: details.message,
+ stack: details.source,
+ todo: details.todo
+ };
+ this.testReport.pushAssertion(assertion);
+ emit("assertion", assertion);
+ },
+
+
+ resolvePromise: function resolvePromise(promise, phase) {
+ var then,
+ resume,
+ message,
+ test = this;
+ if (promise != null) {
+ then = promise.then;
+ if (objectType(then) === "function") {
+ resume = internalStop(test);
+ then.call(promise, function () {
+ resume();
+ }, function (error) {
+ message = "Promise rejected " + (!phase ? "during" : phase.replace(/Each$/, "")) + " \"" + test.testName + "\": " + (error && error.message || error);
+ test.pushFailure(message, extractStacktrace(error, 0));
+
+ // Else next test will carry the responsibility
+ saveGlobal();
+
+ // Unblock
+ resume();
+ });
+ }
+ }
+ },
+
+ valid: function valid() {
+ var filter = config.filter,
+ regexFilter = /^(!?)\/([\w\W]*)\/(i?$)/.exec(filter),
+ module = config.module && config.module.toLowerCase(),
+ fullName = this.module.name + ": " + this.testName;
+
+ function moduleChainNameMatch(testModule) {
+ var testModuleName = testModule.name ? testModule.name.toLowerCase() : null;
+ if (testModuleName === module) {
+ return true;
+ } else if (testModule.parentModule) {
+ return moduleChainNameMatch(testModule.parentModule);
+ } else {
+ return false;
+ }
+ }
+
+ function moduleChainIdMatch(testModule) {
+ return inArray(testModule.moduleId, config.moduleId) || testModule.parentModule && moduleChainIdMatch(testModule.parentModule);
+ }
+
+ // Internally-generated tests are always valid
+ if (this.callback && this.callback.validTest) {
+ return true;
+ }
+
+ if (config.moduleId && config.moduleId.length > 0 && !moduleChainIdMatch(this.module)) {
+
+ return false;
+ }
+
+ if (config.testId && config.testId.length > 0 && !inArray(this.testId, config.testId)) {
+
+ return false;
+ }
+
+ if (module && !moduleChainNameMatch(this.module)) {
+ return false;
+ }
+
+ if (!filter) {
+ return true;
+ }
+
+ return regexFilter ? this.regexFilter(!!regexFilter[1], regexFilter[2], regexFilter[3], fullName) : this.stringFilter(filter, fullName);
+ },
+
+ regexFilter: function regexFilter(exclude, pattern, flags, fullName) {
+ var regex = new RegExp(pattern, flags);
+ var match = regex.test(fullName);
+
+ return match !== exclude;
+ },
+
+ stringFilter: function stringFilter(filter, fullName) {
+ filter = filter.toLowerCase();
+ fullName = fullName.toLowerCase();
+
+ var include = filter.charAt(0) !== "!";
+ if (!include) {
+ filter = filter.slice(1);
+ }
+
+ // If the filter matches, we need to honour include
+ if (fullName.indexOf(filter) !== -1) {
+ return include;
+ }
+
+ // Otherwise, do the opposite
+ return !include;
+ }
+ };
+
+ function pushFailure() {
+ if (!config.current) {
+ throw new Error("pushFailure() assertion outside test context, in " + sourceFromStacktrace(2));
+ }
+
+ // Gets current test obj
+ var currentTest = config.current;
+
+ return currentTest.pushFailure.apply(currentTest, arguments);
+ }
+
+ // Based on Java's String.hashCode, a simple but not
+ // rigorously collision resistant hashing function
+ function generateHash(module, testName) {
+ var hex,
+ i = 0,
+ hash = 0,
+ str = module + "\x1C" + testName,
+ len = str.length;
+
+ for (; i < len; i++) {
+ hash = (hash << 5) - hash + str.charCodeAt(i);
+ hash |= 0;
+ }
+
+ // Convert the possibly negative integer hash code into an 8 character hex string, which isn't
+ // strictly necessary but increases user understanding that the id is a SHA-like hash
+ hex = (0x100000000 + hash).toString(16);
+ if (hex.length < 8) {
+ hex = "0000000" + hex;
+ }
+
+ return hex.slice(-8);
+ }
+
+ function synchronize(callback, priority, seed) {
+ var last = !priority,
+ index;
+
+ if (objectType(callback) === "array") {
+ while (callback.length) {
+ synchronize(callback.shift());
+ }
+ return;
+ }
+
+ if (priority) {
+ config.queue.splice(priorityCount++, 0, callback);
+ } else if (seed) {
+ if (!unitSampler) {
+ unitSampler = unitSamplerGenerator(seed);
+ }
+
+ // Insert into a random position after all priority items
+ index = Math.floor(unitSampler() * (config.queue.length - priorityCount + 1));
+ config.queue.splice(priorityCount + index, 0, callback);
+ } else {
+ config.queue.push(callback);
+ }
+
+ if (internalState.autorun && !config.blocking) {
+ process(last);
+ }
+ }
+
+ function unitSamplerGenerator(seed) {
+
+ // 32-bit xorshift, requires only a nonzero seed
+ // http://excamera.com/sphinx/article-xorshift.html
+ var sample = parseInt(generateHash(seed), 16) || -1;
+ return function () {
+ sample ^= sample << 13;
+ sample ^= sample >>> 17;
+ sample ^= sample << 5;
+
+ // ECMAScript has no unsigned number type
+ if (sample < 0) {
+ sample += 0x100000000;
+ }
+
+ return sample / 0x100000000;
+ };
+ }
+
+ function saveGlobal() {
+ config.pollution = [];
+
+ if (config.noglobals) {
+ for (var key in global$1) {
+ if (hasOwn.call(global$1, key)) {
+
+ // In Opera sometimes DOM element ids show up here, ignore them
+ if (/^qunit-test-output/.test(key)) {
+ continue;
+ }
+ config.pollution.push(key);
+ }
+ }
+ }
+ }
+
+ function checkPollution() {
+ var newGlobals,
+ deletedGlobals,
+ old = config.pollution;
+
+ saveGlobal();
+
+ newGlobals = diff(config.pollution, old);
+ if (newGlobals.length > 0) {
+ pushFailure("Introduced global variable(s): " + newGlobals.join(", "));
+ }
+
+ deletedGlobals = diff(old, config.pollution);
+ if (deletedGlobals.length > 0) {
+ pushFailure("Deleted global variable(s): " + deletedGlobals.join(", "));
+ }
+ }
+
+ // Will be exposed as QUnit.test
+ function test(testName, callback) {
+ if (focused) {
+ return;
+ }
+
+ var newTest = new Test({
+ testName: testName,
+ callback: callback
+ });
+
+ newTest.queue();
+ }
+
+ function todo(testName, callback) {
+ if (focused) {
+ return;
+ }
+
+ var newTest = new Test({
+ testName: testName,
+ callback: callback,
+ todo: true
+ });
+
+ newTest.queue();
+ }
+
+ // Will be exposed as QUnit.skip
+ function skip(testName) {
+ if (focused) {
+ return;
+ }
+
+ var test = new Test({
+ testName: testName,
+ skip: true
+ });
+
+ test.queue();
+ }
+
+ // Will be exposed as QUnit.only
+ function only(testName, callback) {
+ if (focused) {
+ return;
+ }
+
+ config.queue.length = 0;
+ focused = true;
+
+ var newTest = new Test({
+ testName: testName,
+ callback: callback
+ });
+
+ newTest.queue();
+ }
+
+ // Put a hold on processing and return a function that will release it.
+ function internalStop(test) {
+ var released = false;
+
+ test.semaphore += 1;
+ config.blocking = true;
+
+ // Set a recovery timeout, if so configured.
+ if (config.testTimeout && defined.setTimeout) {
+ clearTimeout(config.timeout);
+ config.timeout = setTimeout(function () {
+ pushFailure("Test timed out", sourceFromStacktrace(2));
+ internalRecover(test);
+ }, config.testTimeout);
+ }
+
+ return function resume() {
+ if (released) {
+ return;
+ }
+
+ released = true;
+ test.semaphore -= 1;
+ internalStart(test);
+ };
+ }
+
+ // Forcefully release all processing holds.
+ function internalRecover(test) {
+ test.semaphore = 0;
+ internalStart(test);
+ }
+
+ // Release a processing hold, scheduling a resumption attempt if no holds remain.
+ function internalStart(test) {
+
+ // If semaphore is non-numeric, throw error
+ if (isNaN(test.semaphore)) {
+ test.semaphore = 0;
+
+ pushFailure("Invalid value on test.semaphore", sourceFromStacktrace(2));
+ return;
+ }
+
+ // Don't start until equal number of stop-calls
+ if (test.semaphore > 0) {
+ return;
+ }
+
+ // Throw an Error if start is called more often than stop
+ if (test.semaphore < 0) {
+ test.semaphore = 0;
+
+ pushFailure("Tried to restart test while already started (test's semaphore was 0 already)", sourceFromStacktrace(2));
+ return;
+ }
+
+ // Add a slight delay to allow more assertions etc.
+ if (defined.setTimeout) {
+ if (config.timeout) {
+ clearTimeout(config.timeout);
+ }
+ config.timeout = setTimeout(function () {
+ if (test.semaphore > 0) {
+ return;
+ }
+
+ if (config.timeout) {
+ clearTimeout(config.timeout);
+ }
+
+ begin();
+ }, 13);
+ } else {
+ begin();
+ }
+ }
+
+ function numberOfTests(module) {
+ var count = module.tests.length,
+ modules = [].concat(toConsumableArray(module.childModules));
+
+ // Do a breadth-first traversal of the child modules
+ while (modules.length) {
+ var nextModule = modules.shift();
+ count += nextModule.tests.length;
+ modules.push.apply(modules, toConsumableArray(nextModule.childModules));
+ }
+
+ return count;
+ }
+
+ function notifyTestsRan(module) {
+ module.testsRun++;
+ while (module = module.parentModule) {
+ module.testsRun++;
+ }
+ }
+
+ /**
+ * Returns a function that proxies to the given method name on the globals
+ * console object. The proxy will also detect if the console doesn't exist and
+ * will appropriately no-op. This allows support for IE9, which doesn't have a
+ * console if the developer tools are not open.
+ */
+ function consoleProxy(method) {
+ return function () {
+ if (console) {
+ console[method].apply(console, arguments);
+ }
+ };
+ }
+
+ var Logger = {
+ warn: consoleProxy("warn")
+ };
+
+ var Assert = function () {
+ function Assert(testContext) {
+ classCallCheck(this, Assert);
+
+ this.test = testContext;
+ }
+
+ // Assert helpers
+
+ // Documents a "step", which is a string value, in a test as a passing assertion
+
+
+ createClass(Assert, [{
+ key: "step",
+ value: function step(message) {
+ var result = !!message;
+
+ this.test.steps.push(message);
+
+ return this.pushResult({
+ result: result,
+ message: message || "You must provide a message to assert.step"
+ });
+ }
+
+ // Verifies the steps in a test match a given array of string values
+
+ }, {
+ key: "verifySteps",
+ value: function verifySteps(steps, message) {
+ this.deepEqual(this.test.steps, steps, message);
+ }
+
+ // Specify the number of expected assertions to guarantee that failed test
+ // (no assertions are run at all) don't slip through.
+
+ }, {
+ key: "expect",
+ value: function expect(asserts) {
+ if (arguments.length === 1) {
+ this.test.expected = asserts;
+ } else {
+ return this.test.expected;
+ }
+ }
+
+ // Put a hold on processing and return a function that will release it a maximum of once.
+
+ }, {
+ key: "async",
+ value: function async(count) {
+ var test$$1 = this.test,
+ popped = false,
+ acceptCallCount = count;
+
+ if (typeof acceptCallCount === "undefined") {
+ acceptCallCount = 1;
+ }
+
+ test$$1.usedAsync = true;
+ var resume = internalStop(test$$1);
+
+ return function done() {
+ if (popped) {
+ test$$1.pushFailure("Too many calls to the `assert.async` callback", sourceFromStacktrace(2));
+ return;
+ }
+
+ acceptCallCount -= 1;
+ if (acceptCallCount > 0) {
+ return;
+ }
+
+ popped = true;
+ resume();
+ };
+ }
+
+ // Exports test.push() to the user API
+ // Alias of pushResult.
+
+ }, {
+ key: "push",
+ value: function push(result, actual, expected, message, negative) {
+ Logger.warn("assert.push is deprecated and will be removed in QUnit 3.0." + " Please use assert.pushResult instead (http://api.qunitjs.com/pushResult/).");
+
+ var currentAssert = this instanceof Assert ? this : config.current.assert;
+ return currentAssert.pushResult({
+ result: result,
+ actual: actual,
+ expected: expected,
+ message: message,
+ negative: negative
+ });
+ }
+ }, {
+ key: "pushResult",
+ value: function pushResult(resultInfo) {
+
+ // Destructure of resultInfo = { result, actual, expected, message, negative }
+ var assert = this,
+ currentTest = assert instanceof Assert && assert.test || config.current;
+
+ // Backwards compatibility fix.
+ // Allows the direct use of global exported assertions and QUnit.assert.*
+ // Although, it's use is not recommended as it can leak assertions
+ // to other tests from async tests, because we only get a reference to the current test,
+ // not exactly the test where assertion were intended to be called.
+ if (!currentTest) {
+ throw new Error("assertion outside test context, in " + sourceFromStacktrace(2));
+ }
+
+ if (currentTest.usedAsync === true && currentTest.semaphore === 0) {
+ currentTest.pushFailure("Assertion after the final `assert.async` was resolved", sourceFromStacktrace(2));
+
+ // Allow this assertion to continue running anyway...
+ }
+
+ if (!(assert instanceof Assert)) {
+ assert = currentTest.assert;
+ }
+
+ return assert.test.pushResult(resultInfo);
+ }
+ }, {
+ key: "ok",
+ value: function ok(result, message) {
+ if (!message) {
+ message = result ? "okay" : "failed, expected argument to be truthy, was: " + dump.parse(result);
+ }
+
+ this.pushResult({
+ result: !!result,
+ actual: result,
+ expected: true,
+ message: message
+ });
+ }
+ }, {
+ key: "notOk",
+ value: function notOk(result, message) {
+ if (!message) {
+ message = !result ? "okay" : "failed, expected argument to be falsy, was: " + dump.parse(result);
+ }
+
+ this.pushResult({
+ result: !result,
+ actual: result,
+ expected: false,
+ message: message
+ });
+ }
+ }, {
+ key: "equal",
+ value: function equal(actual, expected, message) {
+
+ // eslint-disable-next-line eqeqeq
+ var result = expected == actual;
+
+ this.pushResult({
+ result: result,
+ actual: actual,
+ expected: expected,
+ message: message
+ });
+ }
+ }, {
+ key: "notEqual",
+ value: function notEqual(actual, expected, message) {
+
+ // eslint-disable-next-line eqeqeq
+ var result = expected != actual;
+
+ this.pushResult({
+ result: result,
+ actual: actual,
+ expected: expected,
+ message: message,
+ negative: true
+ });
+ }
+ }, {
+ key: "propEqual",
+ value: function propEqual(actual, expected, message) {
+ actual = objectValues(actual);
+ expected = objectValues(expected);
+
+ this.pushResult({
+ result: equiv(actual, expected),
+ actual: actual,
+ expected: expected,
+ message: message
+ });
+ }
+ }, {
+ key: "notPropEqual",
+ value: function notPropEqual(actual, expected, message) {
+ actual = objectValues(actual);
+ expected = objectValues(expected);
+
+ this.pushResult({
+ result: !equiv(actual, expected),
+ actual: actual,
+ expected: expected,
+ message: message,
+ negative: true
+ });
+ }
+ }, {
+ key: "deepEqual",
+ value: function deepEqual(actual, expected, message) {
+ this.pushResult({
+ result: equiv(actual, expected),
+ actual: actual,
+ expected: expected,
+ message: message
+ });
+ }
+ }, {
+ key: "notDeepEqual",
+ value: function notDeepEqual(actual, expected, message) {
+ this.pushResult({
+ result: !equiv(actual, expected),
+ actual: actual,
+ expected: expected,
+ message: message,
+ negative: true
+ });
+ }
+ }, {
+ key: "strictEqual",
+ value: function strictEqual(actual, expected, message) {
+ this.pushResult({
+ result: expected === actual,
+ actual: actual,
+ expected: expected,
+ message: message
+ });
+ }
+ }, {
+ key: "notStrictEqual",
+ value: function notStrictEqual(actual, expected, message) {
+ this.pushResult({
+ result: expected !== actual,
+ actual: actual,
+ expected: expected,
+ message: message,
+ negative: true
+ });
+ }
+ }, {
+ key: "throws",
+ value: function throws(block, expected, message) {
+ var actual = void 0,
+ result = false,
+ currentTest = this instanceof Assert && this.test || config.current;
+
+ // 'expected' is optional unless doing string comparison
+ if (objectType(expected) === "string") {
+ if (message == null) {
+ message = expected;
+ expected = null;
+ } else {
+ throw new Error("throws/raises does not accept a string value for the expected argument.\n" + "Use a non-string object value (e.g. regExp) instead if it's necessary.");
+ }
+ }
+
+ currentTest.ignoreGlobalErrors = true;
+ try {
+ block.call(currentTest.testEnvironment);
+ } catch (e) {
+ actual = e;
+ }
+ currentTest.ignoreGlobalErrors = false;
+
+ if (actual) {
+ var expectedType = objectType(expected);
+
+ // We don't want to validate thrown error
+ if (!expected) {
+ result = true;
+ expected = null;
+
+ // Expected is a regexp
+ } else if (expectedType === "regexp") {
+ result = expected.test(errorString(actual));
+
+ // Expected is a constructor, maybe an Error constructor
+ } else if (expectedType === "function" && actual instanceof expected) {
+ result = true;
+
+ // Expected is an Error object
+ } else if (expectedType === "object") {
+ result = actual instanceof expected.constructor && actual.name === expected.name && actual.message === expected.message;
+
+ // Expected is a validation function which returns true if validation passed
+ } else if (expectedType === "function" && expected.call({}, actual) === true) {
+ expected = null;
+ result = true;
+ }
+ }
+
+ currentTest.assert.pushResult({
+ result: result,
+ actual: actual,
+ expected: expected,
+ message: message
+ });
+ }
+ }]);
+ return Assert;
+ }();
+
+ // Provide an alternative to assert.throws(), for environments that consider throws a reserved word
+ // Known to us are: Closure Compiler, Narwhal
+ // eslint-disable-next-line dot-notation
+
+
+ Assert.prototype.raises = Assert.prototype["throws"];
+
+ /**
+ * Converts an error into a simple string for comparisons.
+ *
+ * @param {Error} error
+ * @return {String}
+ */
+ function errorString(error) {
+ var resultErrorString = error.toString();
+
+ if (resultErrorString.substring(0, 7) === "[object") {
+ var name = error.name ? error.name.toString() : "Error";
+ var message = error.message ? error.message.toString() : "";
+
+ if (name && message) {
+ return name + ": " + message;
+ } else if (name) {
+ return name;
+ } else if (message) {
+ return message;
+ } else {
+ return "Error";
+ }
+ } else {
+ return resultErrorString;
+ }
+ }
+
+ /* global module, exports, define */
+ function exportQUnit(QUnit) {
+
+ if (defined.document) {
+
+ // QUnit may be defined when it is preconfigured but then only QUnit and QUnit.config may be defined.
+ if (window.QUnit && window.QUnit.version) {
+ throw new Error("QUnit has already been defined.");
+ }
+
+ window.QUnit = QUnit;
+ }
+
+ // For nodejs
+ if (typeof module !== "undefined" && module && module.exports) {
+ module.exports = QUnit;
+
+ // For consistency with CommonJS environments' exports
+ module.exports.QUnit = QUnit;
+ }
+
+ // For CommonJS with exports, but without module.exports, like Rhino
+ if (typeof exports !== "undefined" && exports) {
+ exports.QUnit = QUnit;
+ }
+
+ if (typeof define === "function" && define.amd) {
+ define(function () {
+ return QUnit;
+ });
+ QUnit.config.autostart = false;
+ }
+ }
+
+ var SuiteReport = function () {
+ function SuiteReport(name, parentSuite) {
+ classCallCheck(this, SuiteReport);
+
+ this.name = name;
+ this.fullName = parentSuite ? parentSuite.fullName.concat(name) : [];
+
+ this.tests = [];
+ this.childSuites = [];
+
+ if (parentSuite) {
+ parentSuite.pushChildSuite(this);
+ }
+ }
+
+ createClass(SuiteReport, [{
+ key: "start",
+ value: function start(recordTime) {
+ if (recordTime) {
+ this._startTime = Date.now();
+ }
+
+ return {
+ name: this.name,
+ fullName: this.fullName.slice(),
+ tests: this.tests.map(function (test) {
+ return test.start();
+ }),
+ childSuites: this.childSuites.map(function (suite) {
+ return suite.start();
+ }),
+ testCounts: {
+ total: this.getTestCounts().total
+ }
+ };
+ }
+ }, {
+ key: "end",
+ value: function end(recordTime) {
+ if (recordTime) {
+ this._endTime = Date.now();
+ }
+
+ return {
+ name: this.name,
+ fullName: this.fullName.slice(),
+ tests: this.tests.map(function (test) {
+ return test.end();
+ }),
+ childSuites: this.childSuites.map(function (suite) {
+ return suite.end();
+ }),
+ testCounts: this.getTestCounts(),
+ runtime: this.getRuntime(),
+ status: this.getStatus()
+ };
+ }
+ }, {
+ key: "pushChildSuite",
+ value: function pushChildSuite(suite) {
+ this.childSuites.push(suite);
+ }
+ }, {
+ key: "pushTest",
+ value: function pushTest(test) {
+ this.tests.push(test);
+ }
+ }, {
+ key: "getRuntime",
+ value: function getRuntime() {
+ return this._endTime - this._startTime;
+ }
+ }, {
+ key: "getTestCounts",
+ value: function getTestCounts() {
+ var counts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { passed: 0, failed: 0, skipped: 0, todo: 0, total: 0 };
+
+ counts = this.tests.reduce(function (counts, test) {
+ counts[test.getStatus()]++;
+ counts.total++;
+ return counts;
+ }, counts);
+
+ return this.childSuites.reduce(function (counts, suite) {
+ return suite.getTestCounts(counts);
+ }, counts);
+ }
+ }, {
+ key: "getStatus",
+ value: function getStatus() {
+ var _getTestCounts = this.getTestCounts(),
+ total = _getTestCounts.total,
+ failed = _getTestCounts.failed,
+ skipped = _getTestCounts.skipped,
+ todo = _getTestCounts.todo;
+
+ if (failed) {
+ return "failed";
+ } else {
+ if (skipped === total) {
+ return "skipped";
+ } else if (todo === total) {
+ return "todo";
+ } else {
+ return "passed";
+ }
+ }
+ }
+ }]);
+ return SuiteReport;
+ }();
+
+ // Handle an unhandled exception. By convention, returns true if further
+ // error handling should be suppressed and false otherwise.
+ // In this case, we will only suppress further error handling if the
+ // "ignoreGlobalErrors" configuration option is enabled.
+ function onError(error) {
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ args[_key - 1] = arguments[_key];
+ }
+
+ if (config.current) {
+ if (config.current.ignoreGlobalErrors) {
+ return true;
+ }
+ pushFailure.apply(undefined, [error.message, error.fileName + ":" + error.lineNumber].concat(args));
+ } else {
+ test("global failure", extend(function () {
+ pushFailure.apply(undefined, [error.message, error.fileName + ":" + error.lineNumber].concat(args));
+ }, { validTest: true }));
+ }
+
+ return false;
+ }
+
+ var QUnit = {};
+ var globalSuite = new SuiteReport();
+
+ // The initial "currentModule" represents the global (or top-level) module that
+ // is not explicitly defined by the user, therefore we add the "globalSuite" to
+ // it since each module has a suiteReport associated with it.
+ config.currentModule.suiteReport = globalSuite;
+
+ var globalStartCalled = false;
+ var runStarted = false;
+
+ var internalState = {
+ autorun: false
+ };
+
+ // Figure out if we're running the tests from a server or not
+ QUnit.isLocal = !(defined.document && window.location.protocol !== "file:");
+
+ // Expose the current QUnit version
+ QUnit.version = "2.2.0";
+
+ extend(QUnit, {
+ on: on,
+
+ // Call on start of module test to prepend name to all tests
+ module: function module(name, testEnvironment, executeNow) {
+ var module, moduleFns;
+ var currentModule = config.currentModule;
+
+ if (arguments.length === 2) {
+ if (objectType(testEnvironment) === "function") {
+ executeNow = testEnvironment;
+ testEnvironment = undefined;
+ }
+ }
+
+ module = createModule();
+
+ moduleFns = {
+ before: setHook(module, "before"),
+ beforeEach: setHook(module, "beforeEach"),
+ afterEach: setHook(module, "afterEach"),
+ after: setHook(module, "after")
+ };
+
+ if (objectType(executeNow) === "function") {
+ config.moduleStack.push(module);
+ setCurrentModule(module);
+ executeNow.call(module.testEnvironment, moduleFns);
+ config.moduleStack.pop();
+ module = module.parentModule || currentModule;
+ }
+
+ setCurrentModule(module);
+
+ function createModule() {
+ var parentModule = config.moduleStack.length ? config.moduleStack.slice(-1)[0] : null;
+ var moduleName = parentModule !== null ? [parentModule.name, name].join(" > ") : name;
+ var parentSuite = parentModule ? parentModule.suiteReport : globalSuite;
+
+ var module = {
+ name: moduleName,
+ parentModule: parentModule,
+ tests: [],
+ moduleId: generateHash(moduleName),
+ testsRun: 0,
+ childModules: [],
+ suiteReport: new SuiteReport(name, parentSuite)
+ };
+
+ var env = {};
+ if (parentModule) {
+ parentModule.childModules.push(module);
+ extend(env, parentModule.testEnvironment);
+ delete env.beforeEach;
+ delete env.afterEach;
+ }
+ extend(env, testEnvironment);
+ module.testEnvironment = env;
+
+ config.modules.push(module);
+ return module;
+ }
+
+ function setCurrentModule(module) {
+ config.currentModule = module;
+ }
+ },
+
+ test: test,
+
+ todo: todo,
+
+ skip: skip,
+
+ only: only,
+
+ start: function start(count) {
+ var globalStartAlreadyCalled = globalStartCalled;
+
+ if (!config.current) {
+ globalStartCalled = true;
+
+ if (runStarted) {
+ throw new Error("Called start() while test already started running");
+ } else if (globalStartAlreadyCalled || count > 1) {
+ throw new Error("Called start() outside of a test context too many times");
+ } else if (config.autostart) {
+ throw new Error("Called start() outside of a test context when " + "QUnit.config.autostart was true");
+ } else if (!config.pageLoaded) {
+
+ // The page isn't completely loaded yet, so we set autostart and then
+ // load if we're in Node or wait for the browser's load event.
+ config.autostart = true;
+
+ // Starts from Node even if .load was not previously called. We still return
+ // early otherwise we'll wind up "beginning" twice.
+ if (!defined.document) {
+ QUnit.load();
+ }
+
+ return;
+ }
+ } else {
+ throw new Error("QUnit.start cannot be called inside a test context.");
+ }
+
+ scheduleBegin();
+ },
+
+ config: config,
+
+ is: is,
+
+ objectType: objectType,
+
+ extend: extend,
+
+ load: function load() {
+ config.pageLoaded = true;
+
+ // Initialize the configuration options
+ extend(config, {
+ stats: { all: 0, bad: 0 },
+ started: 0,
+ updateRate: 1000,
+ autostart: true,
+ filter: ""
+ }, true);
+
+ if (!runStarted) {
+ config.blocking = false;
+
+ if (config.autostart) {
+ scheduleBegin();
+ }
+ }
+ },
+
+ stack: function stack(offset) {
+ offset = (offset || 0) + 2;
+ return sourceFromStacktrace(offset);
+ },
+
+ onError: onError
+ });
+
+ QUnit.pushFailure = pushFailure;
+ QUnit.assert = Assert.prototype;
+ QUnit.equiv = equiv;
+ QUnit.dump = dump;
+
+ registerLoggingCallbacks(QUnit);
+
+ function scheduleBegin() {
+
+ runStarted = true;
+
+ // Add a slight delay to allow definition of more modules and tests.
+ if (defined.setTimeout) {
+ setTimeout(function () {
+ begin();
+ }, 13);
+ } else {
+ begin();
+ }
+ }
+
+ function begin() {
+ var i,
+ l,
+ modulesLog = [];
+
+ // If the test run hasn't officially begun yet
+ if (!config.started) {
+
+ // Record the time of the test run's beginning
+ config.started = now();
+
+ // Delete the loose unnamed module if unused.
+ if (config.modules[0].name === "" && config.modules[0].tests.length === 0) {
+ config.modules.shift();
+ }
+
+ // Avoid unnecessary information by not logging modules' test environments
+ for (i = 0, l = config.modules.length; i < l; i++) {
+ modulesLog.push({
+ name: config.modules[i].name,
+ tests: config.modules[i].tests
+ });
+ }
+
+ // The test run is officially beginning now
+ emit("runStart", globalSuite.start(true));
+ runLoggingCallbacks("begin", {
+ totalTests: Test.count,
+ modules: modulesLog
+ });
+ }
+
+ config.blocking = false;
+ process(true);
+ }
+
+ function process(last) {
+ function next() {
+ process(last);
+ }
+ var start = now();
+ config.depth = (config.depth || 0) + 1;
+
+ while (config.queue.length && !config.blocking) {
+ if (!defined.setTimeout || config.updateRate <= 0 || now() - start < config.updateRate) {
+ if (config.current) {
+
+ // Reset async tracking for each phase of the Test lifecycle
+ config.current.usedAsync = false;
+ }
+ config.queue.shift()();
+ } else {
+ setTimeout(next, 13);
+ break;
+ }
+ }
+ config.depth--;
+ if (last && !config.blocking && !config.queue.length && config.depth === 0) {
+ done();
+ }
+ }
+
+ function done() {
+ var runtime,
+ passed,
+ i,
+ key,
+ storage = config.storage;
+
+ internalState.autorun = true;
+
+ runtime = now() - config.started;
+ passed = config.stats.all - config.stats.bad;
+
+ emit("runEnd", globalSuite.end(true));
+ runLoggingCallbacks("done", {
+ failed: config.stats.bad,
+ passed: passed,
+ total: config.stats.all,
+ runtime: runtime
+ });
+
+ // Clear own storage items if all tests passed
+ if (storage && config.stats.bad === 0) {
+ for (i = storage.length - 1; i >= 0; i--) {
+ key = storage.key(i);
+ if (key.indexOf("qunit-test-") === 0) {
+ storage.removeItem(key);
+ }
+ }
+ }
+ }
+
+ function setHook(module, hookName) {
+ if (module.testEnvironment === undefined) {
+ module.testEnvironment = {};
+ }
+
+ return function (callback) {
+ module.testEnvironment[hookName] = callback;
+ };
+ }
+
+ exportQUnit(QUnit);
+
+ (function () {
+
+ if (typeof window === "undefined" || typeof document === "undefined") {
+ return;
+ }
+
+ var config = QUnit.config,
+ hasOwn = Object.prototype.hasOwnProperty;
+
+ // Stores fixture HTML for resetting later
+ function storeFixture() {
+
+ // Avoid overwriting user-defined values
+ if (hasOwn.call(config, "fixture")) {
+ return;
+ }
+
+ var fixture = document.getElementById("qunit-fixture");
+ if (fixture) {
+ config.fixture = fixture.innerHTML;
+ }
+ }
+
+ QUnit.begin(storeFixture);
+
+ // Resets the fixture DOM element if available.
+ function resetFixture() {
+ if (config.fixture == null) {
+ return;
+ }
+
+ var fixture = document.getElementById("qunit-fixture");
+ if (fixture) {
+ fixture.innerHTML = config.fixture;
+ }
+ }
+
+ QUnit.testStart(resetFixture);
+ })();
+
+ (function () {
+
+ // Only interact with URLs via window.location
+ var location = typeof window !== "undefined" && window.location;
+ if (!location) {
+ return;
+ }
+
+ var urlParams = getUrlParams();
+
+ QUnit.urlParams = urlParams;
+
+ // Match module/test by inclusion in an array
+ QUnit.config.moduleId = [].concat(urlParams.moduleId || []);
+ QUnit.config.testId = [].concat(urlParams.testId || []);
+
+ // Exact case-insensitive match of the module name
+ QUnit.config.module = urlParams.module;
+
+ // Regular expression or case-insenstive substring match against "moduleName: testName"
+ QUnit.config.filter = urlParams.filter;
+
+ // Test order randomization
+ if (urlParams.seed === true) {
+
+ // Generate a random seed if the option is specified without a value
+ QUnit.config.seed = Math.random().toString(36).slice(2);
+ } else if (urlParams.seed) {
+ QUnit.config.seed = urlParams.seed;
+ }
+
+ // Add URL-parameter-mapped config values with UI form rendering data
+ QUnit.config.urlConfig.push({
+ id: "hidepassed",
+ label: "Hide passed tests",
+ tooltip: "Only show tests and assertions that fail. Stored as query-strings."
+ }, {
+ id: "noglobals",
+ label: "Check for Globals",
+ tooltip: "Enabling this will test if any test introduces new properties on the " + "global object (`window` in Browsers). Stored as query-strings."
+ }, {
+ id: "notrycatch",
+ label: "No try-catch",
+ tooltip: "Enabling this will run tests outside of a try-catch block. Makes debugging " + "exceptions in IE reasonable. Stored as query-strings."
+ });
+
+ QUnit.begin(function () {
+ var i,
+ option,
+ urlConfig = QUnit.config.urlConfig;
+
+ for (i = 0; i < urlConfig.length; i++) {
+
+ // Options can be either strings or objects with nonempty "id" properties
+ option = QUnit.config.urlConfig[i];
+ if (typeof option !== "string") {
+ option = option.id;
+ }
+
+ if (QUnit.config[option] === undefined) {
+ QUnit.config[option] = urlParams[option];
+ }
+ }
+ });
+
+ function getUrlParams() {
+ var i, param, name, value;
+ var urlParams = Object.create(null);
+ var params = location.search.slice(1).split("&");
+ var length = params.length;
+
+ for (i = 0; i < length; i++) {
+ if (params[i]) {
+ param = params[i].split("=");
+ name = decodeQueryParam(param[0]);
+
+ // Allow just a key to turn on a flag, e.g., test.html?noglobals
+ value = param.length === 1 || decodeQueryParam(param.slice(1).join("="));
+ if (name in urlParams) {
+ urlParams[name] = [].concat(urlParams[name], value);
+ } else {
+ urlParams[name] = value;
+ }
+ }
+ }
+
+ return urlParams;
+ }
+
+ function decodeQueryParam(param) {
+ return decodeURIComponent(param.replace(/\+/g, "%20"));
+ }
+ })();
+
+ var stats = {
+ passedTests: 0,
+ failedTests: 0,
+ skippedTests: 0,
+ todoTests: 0
+ };
+
+ // Escape text for attribute or text content.
+ function escapeText(s) {
+ if (!s) {
+ return "";
+ }
+ s = s + "";
+
+ // Both single quotes and double quotes (for attributes)
+ return s.replace(/['"<>&]/g, function (s) {
+ switch (s) {
+ case "'":
+ return "&#039;";
+ case "\"":
+ return "&quot;";
+ case "<":
+ return "&lt;";
+ case ">":
+ return "&gt;";
+ case "&":
+ return "&amp;";
+ }
+ });
+ }
+
+ (function () {
+
+ // Don't load the HTML Reporter on non-browser environments
+ if (typeof window === "undefined" || !window.document) {
+ return;
+ }
+
+ var config = QUnit.config,
+ document$$1 = window.document,
+ collapseNext = false,
+ hasOwn = Object.prototype.hasOwnProperty,
+ unfilteredUrl = setUrl({ filter: undefined, module: undefined,
+ moduleId: undefined, testId: undefined }),
+ modulesList = [];
+
+ function addEvent(elem, type, fn) {
+ elem.addEventListener(type, fn, false);
+ }
+
+ function removeEvent(elem, type, fn) {
+ elem.removeEventListener(type, fn, false);
+ }
+
+ function addEvents(elems, type, fn) {
+ var i = elems.length;
+ while (i--) {
+ addEvent(elems[i], type, fn);
+ }
+ }
+
+ function hasClass(elem, name) {
+ return (" " + elem.className + " ").indexOf(" " + name + " ") >= 0;
+ }
+
+ function addClass(elem, name) {
+ if (!hasClass(elem, name)) {
+ elem.className += (elem.className ? " " : "") + name;
+ }
+ }
+
+ function toggleClass(elem, name, force) {
+ if (force || typeof force === "undefined" && !hasClass(elem, name)) {
+ addClass(elem, name);
+ } else {
+ removeClass(elem, name);
+ }
+ }
+
+ function removeClass(elem, name) {
+ var set = " " + elem.className + " ";
+
+ // Class name may appear multiple times
+ while (set.indexOf(" " + name + " ") >= 0) {
+ set = set.replace(" " + name + " ", " ");
+ }
+
+ // Trim for prettiness
+ elem.className = typeof set.trim === "function" ? set.trim() : set.replace(/^\s+|\s+$/g, "");
+ }
+
+ function id(name) {
+ return document$$1.getElementById && document$$1.getElementById(name);
+ }
+
+ function abortTests() {
+ var abortButton = id("qunit-abort-tests-button");
+ if (abortButton) {
+ abortButton.disabled = true;
+ abortButton.innerHTML = "Aborting...";
+ }
+ QUnit.config.queue.length = 0;
+ return false;
+ }
+
+ function interceptNavigation(ev) {
+ applyUrlParams();
+
+ if (ev && ev.preventDefault) {
+ ev.preventDefault();
+ }
+
+ return false;
+ }
+
+ function getUrlConfigHtml() {
+ var i,
+ j,
+ val,
+ escaped,
+ escapedTooltip,
+ selection = false,
+ urlConfig = config.urlConfig,
+ urlConfigHtml = "";
+
+ for (i = 0; i < urlConfig.length; i++) {
+
+ // Options can be either strings or objects with nonempty "id" properties
+ val = config.urlConfig[i];
+ if (typeof val === "string") {
+ val = {
+ id: val,
+ label: val
+ };
+ }
+
+ escaped = escapeText(val.id);
+ escapedTooltip = escapeText(val.tooltip);
+
+ if (!val.value || typeof val.value === "string") {
+ urlConfigHtml += "<label for='qunit-urlconfig-" + escaped + "' title='" + escapedTooltip + "'><input id='qunit-urlconfig-" + escaped + "' name='" + escaped + "' type='checkbox'" + (val.value ? " value='" + escapeText(val.value) + "'" : "") + (config[val.id] ? " checked='checked'" : "") + " title='" + escapedTooltip + "' />" + escapeText(val.label) + "</label>";
+ } else {
+ urlConfigHtml += "<label for='qunit-urlconfig-" + escaped + "' title='" + escapedTooltip + "'>" + val.label + ": </label><select id='qunit-urlconfig-" + escaped + "' name='" + escaped + "' title='" + escapedTooltip + "'><option></option>";
+
+ if (QUnit.is("array", val.value)) {
+ for (j = 0; j < val.value.length; j++) {
+ escaped = escapeText(val.value[j]);
+ urlConfigHtml += "<option value='" + escaped + "'" + (config[val.id] === val.value[j] ? (selection = true) && " selected='selected'" : "") + ">" + escaped + "</option>";
+ }
+ } else {
+ for (j in val.value) {
+ if (hasOwn.call(val.value, j)) {
+ urlConfigHtml += "<option value='" + escapeText(j) + "'" + (config[val.id] === j ? (selection = true) && " selected='selected'" : "") + ">" + escapeText(val.value[j]) + "</option>";
+ }
+ }
+ }
+ if (config[val.id] && !selection) {
+ escaped = escapeText(config[val.id]);
+ urlConfigHtml += "<option value='" + escaped + "' selected='selected' disabled='disabled'>" + escaped + "</option>";
+ }
+ urlConfigHtml += "</select>";
+ }
+ }
+
+ return urlConfigHtml;
+ }
+
+ // Handle "click" events on toolbar checkboxes and "change" for select menus.
+ // Updates the URL with the new state of `config.urlConfig` values.
+ function toolbarChanged() {
+ var updatedUrl,
+ value,
+ tests,
+ field = this,
+ params = {};
+
+ // Detect if field is a select menu or a checkbox
+ if ("selectedIndex" in field) {
+ value = field.options[field.selectedIndex].value || undefined;
+ } else {
+ value = field.checked ? field.defaultValue || true : undefined;
+ }
+
+ params[field.name] = value;
+ updatedUrl = setUrl(params);
+
+ // Check if we can apply the change without a page refresh
+ if ("hidepassed" === field.name && "replaceState" in window.history) {
+ QUnit.urlParams[field.name] = value;
+ config[field.name] = value || false;
+ tests = id("qunit-tests");
+ if (tests) {
+ toggleClass(tests, "hidepass", value || false);
+ }
+ window.history.replaceState(null, "", updatedUrl);
+ } else {
+ window.location = updatedUrl;
+ }
+ }
+
+ function setUrl(params) {
+ var key,
+ arrValue,
+ i,
+ querystring = "?",
+ location = window.location;
+
+ params = QUnit.extend(QUnit.extend({}, QUnit.urlParams), params);
+
+ for (key in params) {
+
+ // Skip inherited or undefined properties
+ if (hasOwn.call(params, key) && params[key] !== undefined) {
+
+ // Output a parameter for each value of this key (but usually just one)
+ arrValue = [].concat(params[key]);
+ for (i = 0; i < arrValue.length; i++) {
+ querystring += encodeURIComponent(key);
+ if (arrValue[i] !== true) {
+ querystring += "=" + encodeURIComponent(arrValue[i]);
+ }
+ querystring += "&";
+ }
+ }
+ }
+ return location.protocol + "//" + location.host + location.pathname + querystring.slice(0, -1);
+ }
+
+ function applyUrlParams() {
+ var i,
+ selectedModules = [],
+ modulesList = id("qunit-modulefilter-dropdown-list").getElementsByTagName("input"),
+ filter = id("qunit-filter-input").value;
+
+ for (i = 0; i < modulesList.length; i++) {
+ if (modulesList[i].checked) {
+ selectedModules.push(modulesList[i].value);
+ }
+ }
+
+ window.location = setUrl({
+ filter: filter === "" ? undefined : filter,
+ moduleId: selectedModules.length === 0 ? undefined : selectedModules,
+
+ // Remove module and testId filter
+ module: undefined,
+ testId: undefined
+ });
+ }
+
+ function toolbarUrlConfigContainer() {
+ var urlConfigContainer = document$$1.createElement("span");
+
+ urlConfigContainer.innerHTML = getUrlConfigHtml();
+ addClass(urlConfigContainer, "qunit-url-config");
+
+ addEvents(urlConfigContainer.getElementsByTagName("input"), "change", toolbarChanged);
+ addEvents(urlConfigContainer.getElementsByTagName("select"), "change", toolbarChanged);
+
+ return urlConfigContainer;
+ }
+
+ function abortTestsButton() {
+ var button = document$$1.createElement("button");
+ button.id = "qunit-abort-tests-button";
+ button.innerHTML = "Abort";
+ addEvent(button, "click", abortTests);
+ return button;
+ }
+
+ function toolbarLooseFilter() {
+ var filter = document$$1.createElement("form"),
+ label = document$$1.createElement("label"),
+ input = document$$1.createElement("input"),
+ button = document$$1.createElement("button");
+
+ addClass(filter, "qunit-filter");
+
+ label.innerHTML = "Filter: ";
+
+ input.type = "text";
+ input.value = config.filter || "";
+ input.name = "filter";
+ input.id = "qunit-filter-input";
+
+ button.innerHTML = "Go";
+
+ label.appendChild(input);
+
+ filter.appendChild(label);
+ filter.appendChild(document$$1.createTextNode(" "));
+ filter.appendChild(button);
+ addEvent(filter, "submit", interceptNavigation);
+
+ return filter;
+ }
+
+ function moduleListHtml() {
+ var i,
+ checked,
+ html = "";
+
+ for (i = 0; i < config.modules.length; i++) {
+ if (config.modules[i].name !== "") {
+ checked = config.moduleId.indexOf(config.modules[i].moduleId) > -1;
+ html += "<li><label class='clickable" + (checked ? " checked" : "") + "'><input type='checkbox' " + "value='" + config.modules[i].moduleId + "'" + (checked ? " checked='checked'" : "") + " />" + escapeText(config.modules[i].name) + "</label></li>";
+ }
+ }
+
+ return html;
+ }
+
+ function toolbarModuleFilter() {
+ var allCheckbox,
+ commit,
+ reset,
+ moduleFilter = document$$1.createElement("form"),
+ label = document$$1.createElement("label"),
+ moduleSearch = document$$1.createElement("input"),
+ dropDown = document$$1.createElement("div"),
+ actions = document$$1.createElement("span"),
+ dropDownList = document$$1.createElement("ul"),
+ dirty = false;
+
+ moduleSearch.id = "qunit-modulefilter-search";
+ addEvent(moduleSearch, "input", searchInput);
+ addEvent(moduleSearch, "input", searchFocus);
+ addEvent(moduleSearch, "focus", searchFocus);
+ addEvent(moduleSearch, "click", searchFocus);
+
+ label.id = "qunit-modulefilter-search-container";
+ label.innerHTML = "Module: ";
+ label.appendChild(moduleSearch);
+
+ actions.id = "qunit-modulefilter-actions";
+ actions.innerHTML = "<button style='display:none'>Apply</button>" + "<button type='reset' style='display:none'>Reset</button>" + "<label class='clickable" + (config.moduleId.length ? "" : " checked") + "'><input type='checkbox'" + (config.moduleId.length ? "" : " checked='checked'") + ">All modules</label>";
+ allCheckbox = actions.lastChild.firstChild;
+ commit = actions.firstChild;
+ reset = commit.nextSibling;
+ addEvent(commit, "click", applyUrlParams);
+
+ dropDownList.id = "qunit-modulefilter-dropdown-list";
+ dropDownList.innerHTML = moduleListHtml();
+
+ dropDown.id = "qunit-modulefilter-dropdown";
+ dropDown.style.display = "none";
+ dropDown.appendChild(actions);
+ dropDown.appendChild(dropDownList);
+ addEvent(dropDown, "change", selectionChange);
+ selectionChange();
+
+ moduleFilter.id = "qunit-modulefilter";
+ moduleFilter.appendChild(label);
+ moduleFilter.appendChild(dropDown);
+ addEvent(moduleFilter, "submit", interceptNavigation);
+ addEvent(moduleFilter, "reset", function () {
+
+ // Let the reset happen, then update styles
+ window.setTimeout(selectionChange);
+ });
+
+ // Enables show/hide for the dropdown
+ function searchFocus() {
+ if (dropDown.style.display !== "none") {
+ return;
+ }
+
+ dropDown.style.display = "block";
+ addEvent(document$$1, "click", hideHandler);
+ addEvent(document$$1, "keydown", hideHandler);
+
+ // Hide on Escape keydown or outside-container click
+ function hideHandler(e) {
+ var inContainer = moduleFilter.contains(e.target);
+
+ if (e.keyCode === 27 || !inContainer) {
+ if (e.keyCode === 27 && inContainer) {
+ moduleSearch.focus();
+ }
+ dropDown.style.display = "none";
+ removeEvent(document$$1, "click", hideHandler);
+ removeEvent(document$$1, "keydown", hideHandler);
+ moduleSearch.value = "";
+ searchInput();
+ }
+ }
+ }
+
+ // Processes module search box input
+ function searchInput() {
+ var i,
+ item,
+ searchText = moduleSearch.value.toLowerCase(),
+ listItems = dropDownList.children;
+
+ for (i = 0; i < listItems.length; i++) {
+ item = listItems[i];
+ if (!searchText || item.textContent.toLowerCase().indexOf(searchText) > -1) {
+ item.style.display = "";
+ } else {
+ item.style.display = "none";
+ }
+ }
+ }
+
+ // Processes selection changes
+ function selectionChange(evt) {
+ var i,
+ item,
+ checkbox = evt && evt.target || allCheckbox,
+ modulesList = dropDownList.getElementsByTagName("input"),
+ selectedNames = [];
+
+ toggleClass(checkbox.parentNode, "checked", checkbox.checked);
+
+ dirty = false;
+ if (checkbox.checked && checkbox !== allCheckbox) {
+ allCheckbox.checked = false;
+ removeClass(allCheckbox.parentNode, "checked");
+ }
+ for (i = 0; i < modulesList.length; i++) {
+ item = modulesList[i];
+ if (!evt) {
+ toggleClass(item.parentNode, "checked", item.checked);
+ } else if (checkbox === allCheckbox && checkbox.checked) {
+ item.checked = false;
+ removeClass(item.parentNode, "checked");
+ }
+ dirty = dirty || item.checked !== item.defaultChecked;
+ if (item.checked) {
+ selectedNames.push(item.parentNode.textContent);
+ }
+ }
+
+ commit.style.display = reset.style.display = dirty ? "" : "none";
+ moduleSearch.placeholder = selectedNames.join(", ") || allCheckbox.parentNode.textContent;
+ moduleSearch.title = "Type to filter list. Current selection:\n" + (selectedNames.join("\n") || allCheckbox.parentNode.textContent);
+ }
+
+ return moduleFilter;
+ }
+
+ function appendToolbar() {
+ var toolbar = id("qunit-testrunner-toolbar");
+
+ if (toolbar) {
+ toolbar.appendChild(toolbarUrlConfigContainer());
+ toolbar.appendChild(toolbarModuleFilter());
+ toolbar.appendChild(toolbarLooseFilter());
+ toolbar.appendChild(document$$1.createElement("div")).className = "clearfix";
+ }
+ }
+
+ function appendHeader() {
+ var header = id("qunit-header");
+
+ if (header) {
+ header.innerHTML = "<a href='" + escapeText(unfilteredUrl) + "'>" + header.innerHTML + "</a> ";
+ }
+ }
+
+ function appendBanner() {
+ var banner = id("qunit-banner");
+
+ if (banner) {
+ banner.className = "";
+ }
+ }
+
+ function appendTestResults() {
+ var tests = id("qunit-tests"),
+ result = id("qunit-testresult"),
+ controls;
+
+ if (result) {
+ result.parentNode.removeChild(result);
+ }
+
+ if (tests) {
+ tests.innerHTML = "";
+ result = document$$1.createElement("p");
+ result.id = "qunit-testresult";
+ result.className = "result";
+ tests.parentNode.insertBefore(result, tests);
+ result.innerHTML = "<div id=\"qunit-testresult-display\">Running...<br />&#160;</div>" + "<div id=\"qunit-testresult-controls\"></div>" + "<div class=\"clearfix\"></div>";
+ controls = id("qunit-testresult-controls");
+ }
+
+ if (controls) {
+ controls.appendChild(abortTestsButton());
+ }
+ }
+
+ function appendFilteredTest() {
+ var testId = QUnit.config.testId;
+ if (!testId || testId.length <= 0) {
+ return "";
+ }
+ return "<div id='qunit-filteredTest'>Rerunning selected tests: " + escapeText(testId.join(", ")) + " <a id='qunit-clearFilter' href='" + escapeText(unfilteredUrl) + "'>Run all tests</a></div>";
+ }
+
+ function appendUserAgent() {
+ var userAgent = id("qunit-userAgent");
+
+ if (userAgent) {
+ userAgent.innerHTML = "";
+ userAgent.appendChild(document$$1.createTextNode("QUnit " + QUnit.version + "; " + navigator.userAgent));
+ }
+ }
+
+ function appendInterface() {
+ var qunit = id("qunit");
+
+ if (qunit) {
+ qunit.innerHTML = "<h1 id='qunit-header'>" + escapeText(document$$1.title) + "</h1>" + "<h2 id='qunit-banner'></h2>" + "<div id='qunit-testrunner-toolbar'></div>" + appendFilteredTest() + "<h2 id='qunit-userAgent'></h2>" + "<ol id='qunit-tests'></ol>";
+ }
+
+ appendHeader();
+ appendBanner();
+ appendTestResults();
+ appendUserAgent();
+ appendToolbar();
+ }
+
+ function appendTestsList(modules) {
+ var i, l, x, z, test, moduleObj;
+
+ for (i = 0, l = modules.length; i < l; i++) {
+ moduleObj = modules[i];
+
+ for (x = 0, z = moduleObj.tests.length; x < z; x++) {
+ test = moduleObj.tests[x];
+
+ appendTest(test.name, test.testId, moduleObj.name);
+ }
+ }
+ }
+
+ function appendTest(name, testId, moduleName) {
+ var title,
+ rerunTrigger,
+ testBlock,
+ assertList,
+ tests = id("qunit-tests");
+
+ if (!tests) {
+ return;
+ }
+
+ title = document$$1.createElement("strong");
+ title.innerHTML = getNameHtml(name, moduleName);
+
+ rerunTrigger = document$$1.createElement("a");
+ rerunTrigger.innerHTML = "Rerun";
+ rerunTrigger.href = setUrl({ testId: testId });
+
+ testBlock = document$$1.createElement("li");
+ testBlock.appendChild(title);
+ testBlock.appendChild(rerunTrigger);
+ testBlock.id = "qunit-test-output-" + testId;
+
+ assertList = document$$1.createElement("ol");
+ assertList.className = "qunit-assert-list";
+
+ testBlock.appendChild(assertList);
+
+ tests.appendChild(testBlock);
+ }
+
+ // HTML Reporter initialization and load
+ QUnit.begin(function (details) {
+ var i, moduleObj, tests;
+
+ // Sort modules by name for the picker
+ for (i = 0; i < details.modules.length; i++) {
+ moduleObj = details.modules[i];
+ if (moduleObj.name) {
+ modulesList.push(moduleObj.name);
+ }
+ }
+ modulesList.sort(function (a, b) {
+ return a.localeCompare(b);
+ });
+
+ // Initialize QUnit elements
+ appendInterface();
+ appendTestsList(details.modules);
+ tests = id("qunit-tests");
+ if (tests && config.hidepassed) {
+ addClass(tests, "hidepass");
+ }
+ });
+
+ QUnit.done(function (details) {
+ var banner = id("qunit-banner"),
+ tests = id("qunit-tests"),
+ abortButton = id("qunit-abort-tests-button"),
+ totalTests = stats.passedTests + stats.skippedTests + stats.todoTests + stats.failedTests,
+ html = [totalTests, " tests completed in ", details.runtime, " milliseconds, with ", stats.failedTests, " failed, ", stats.skippedTests, " skipped, and ", stats.todoTests, " todo.<br />", "<span class='passed'>", details.passed, "</span> assertions of <span class='total'>", details.total, "</span> passed, <span class='failed'>", details.failed, "</span> failed."].join(""),
+ test,
+ assertLi,
+ assertList;
+
+ // Update remaing tests to aborted
+ if (abortButton && abortButton.disabled) {
+ html = "Tests aborted after " + details.runtime + " milliseconds.";
+
+ for (var i = 0; i < tests.children.length; i++) {
+ test = tests.children[i];
+ if (test.className === "" || test.className === "running") {
+ test.className = "aborted";
+ assertList = test.getElementsByTagName("ol")[0];
+ assertLi = document$$1.createElement("li");
+ assertLi.className = "fail";
+ assertLi.innerHTML = "Test aborted.";
+ assertList.appendChild(assertLi);
+ }
+ }
+ }
+
+ if (banner && (!abortButton || abortButton.disabled === false)) {
+ banner.className = stats.failedTests ? "qunit-fail" : "qunit-pass";
+ }
+
+ if (abortButton) {
+ abortButton.parentNode.removeChild(abortButton);
+ }
+
+ if (tests) {
+ id("qunit-testresult-display").innerHTML = html;
+ }
+
+ if (config.altertitle && document$$1.title) {
+
+ // Show ✖ for good, ✔ for bad suite result in title
+ // use escape sequences in case file gets loaded with non-utf-8-charset
+ document$$1.title = [stats.failedTests ? "\u2716" : "\u2714", document$$1.title.replace(/^[\u2714\u2716] /i, "")].join(" ");
+ }
+
+ // Scroll back to top to show results
+ if (config.scrolltop && window.scrollTo) {
+ window.scrollTo(0, 0);
+ }
+ });
+
+ function getNameHtml(name, module) {
+ var nameHtml = "";
+
+ if (module) {
+ nameHtml = "<span class='module-name'>" + escapeText(module) + "</span>: ";
+ }
+
+ nameHtml += "<span class='test-name'>" + escapeText(name) + "</span>";
+
+ return nameHtml;
+ }
+
+ QUnit.testStart(function (details) {
+ var running, testBlock, bad;
+
+ testBlock = id("qunit-test-output-" + details.testId);
+ if (testBlock) {
+ testBlock.className = "running";
+ } else {
+
+ // Report later registered tests
+ appendTest(details.name, details.testId, details.module);
+ }
+
+ running = id("qunit-testresult-display");
+ if (running) {
+ bad = QUnit.config.reorder && details.previousFailure;
+
+ running.innerHTML = (bad ? "Rerunning previously failed test: <br />" : "Running: <br />") + getNameHtml(details.name, details.module);
+ }
+ });
+
+ function stripHtml(string) {
+
+ // Strip tags, html entity and whitespaces
+ return string.replace(/<\/?[^>]+(>|$)/g, "").replace(/\&quot;/g, "").replace(/\s+/g, "");
+ }
+
+ QUnit.log(function (details) {
+ var assertList,
+ assertLi,
+ message,
+ expected,
+ actual,
+ diff,
+ showDiff = false,
+ testItem = id("qunit-test-output-" + details.testId);
+
+ if (!testItem) {
+ return;
+ }
+
+ message = escapeText(details.message) || (details.result ? "okay" : "failed");
+ message = "<span class='test-message'>" + message + "</span>";
+ message += "<span class='runtime'>@ " + details.runtime + " ms</span>";
+
+ // The pushFailure doesn't provide details.expected
+ // when it calls, it's implicit to also not show expected and diff stuff
+ // Also, we need to check details.expected existence, as it can exist and be undefined
+ if (!details.result && hasOwn.call(details, "expected")) {
+ if (details.negative) {
+ expected = "NOT " + QUnit.dump.parse(details.expected);
+ } else {
+ expected = QUnit.dump.parse(details.expected);
+ }
+
+ actual = QUnit.dump.parse(details.actual);
+ message += "<table><tr class='test-expected'><th>Expected: </th><td><pre>" + escapeText(expected) + "</pre></td></tr>";
+
+ if (actual !== expected) {
+
+ message += "<tr class='test-actual'><th>Result: </th><td><pre>" + escapeText(actual) + "</pre></td></tr>";
+
+ // Don't show diff if actual or expected are booleans
+ if (!/^(true|false)$/.test(actual) && !/^(true|false)$/.test(expected)) {
+ diff = QUnit.diff(expected, actual);
+ showDiff = stripHtml(diff).length !== stripHtml(expected).length + stripHtml(actual).length;
+ }
+
+ // Don't show diff if expected and actual are totally different
+ if (showDiff) {
+ message += "<tr class='test-diff'><th>Diff: </th><td><pre>" + diff + "</pre></td></tr>";
+ }
+ } else if (expected.indexOf("[object Array]") !== -1 || expected.indexOf("[object Object]") !== -1) {
+ message += "<tr class='test-message'><th>Message: </th><td>" + "Diff suppressed as the depth of object is more than current max depth (" + QUnit.config.maxDepth + ").<p>Hint: Use <code>QUnit.dump.maxDepth</code> to " + " run with a higher max depth or <a href='" + escapeText(setUrl({ maxDepth: -1 })) + "'>" + "Rerun</a> without max depth.</p></td></tr>";
+ } else {
+ message += "<tr class='test-message'><th>Message: </th><td>" + "Diff suppressed as the expected and actual results have an equivalent" + " serialization</td></tr>";
+ }
+
+ if (details.source) {
+ message += "<tr class='test-source'><th>Source: </th><td><pre>" + escapeText(details.source) + "</pre></td></tr>";
+ }
+
+ message += "</table>";
+
+ // This occurs when pushFailure is set and we have an extracted stack trace
+ } else if (!details.result && details.source) {
+ message += "<table>" + "<tr class='test-source'><th>Source: </th><td><pre>" + escapeText(details.source) + "</pre></td></tr>" + "</table>";
+ }
+
+ assertList = testItem.getElementsByTagName("ol")[0];
+
+ assertLi = document$$1.createElement("li");
+ assertLi.className = details.result ? "pass" : "fail";
+ assertLi.innerHTML = message;
+ assertList.appendChild(assertLi);
+ });
+
+ QUnit.testDone(function (details) {
+ var testTitle,
+ time,
+ testItem,
+ assertList,
+ good,
+ bad,
+ testCounts,
+ skipped,
+ sourceName,
+ tests = id("qunit-tests");
+
+ if (!tests) {
+ return;
+ }
+
+ testItem = id("qunit-test-output-" + details.testId);
+
+ assertList = testItem.getElementsByTagName("ol")[0];
+
+ good = details.passed;
+ bad = details.failed;
+
+ // This test passed if it has no unexpected failed assertions
+ var testPassed = details.failed > 0 ? details.todo : !details.todo;
+
+ if (testPassed) {
+
+ // Collapse the passing tests
+ addClass(assertList, "qunit-collapsed");
+ } else if (config.collapse) {
+ if (!collapseNext) {
+
+ // Skip collapsing the first failing test
+ collapseNext = true;
+ } else {
+
+ // Collapse remaining tests
+ addClass(assertList, "qunit-collapsed");
+ }
+ }
+
+ // The testItem.firstChild is the test name
+ testTitle = testItem.firstChild;
+
+ testCounts = bad ? "<b class='failed'>" + bad + "</b>, " + "<b class='passed'>" + good + "</b>, " : "";
+
+ testTitle.innerHTML += " <b class='counts'>(" + testCounts + details.assertions.length + ")</b>";
+
+ if (details.skipped) {
+ stats.skippedTests++;
+
+ testItem.className = "skipped";
+ skipped = document$$1.createElement("em");
+ skipped.className = "qunit-skipped-label";
+ skipped.innerHTML = "skipped";
+ testItem.insertBefore(skipped, testTitle);
+ } else {
+ addEvent(testTitle, "click", function () {
+ toggleClass(assertList, "qunit-collapsed");
+ });
+
+ testItem.className = testPassed ? "pass" : "fail";
+
+ if (details.todo) {
+ var todoLabel = document$$1.createElement("em");
+ todoLabel.className = "qunit-todo-label";
+ todoLabel.innerHTML = "todo";
+ testItem.insertBefore(todoLabel, testTitle);
+ }
+
+ time = document$$1.createElement("span");
+ time.className = "runtime";
+ time.innerHTML = details.runtime + " ms";
+ testItem.insertBefore(time, assertList);
+
+ if (!testPassed) {
+ stats.failedTests++;
+ } else if (details.todo) {
+ stats.todoTests++;
+ } else {
+ stats.passedTests++;
+ }
+ }
+
+ // Show the source of the test when showing assertions
+ if (details.source) {
+ sourceName = document$$1.createElement("p");
+ sourceName.innerHTML = "<strong>Source: </strong>" + details.source;
+ addClass(sourceName, "qunit-source");
+ if (testPassed) {
+ addClass(sourceName, "qunit-collapsed");
+ }
+ addEvent(testTitle, "click", function () {
+ toggleClass(sourceName, "qunit-collapsed");
+ });
+ testItem.appendChild(sourceName);
+ }
+ });
+
+ // Avoid readyState issue with phantomjs
+ // Ref: #818
+ var notPhantom = function (p) {
+ return !(p && p.version && p.version.major > 0);
+ }(window.phantom);
+
+ if (notPhantom && document$$1.readyState === "complete") {
+ QUnit.load();
+ } else {
+ addEvent(window, "load", QUnit.load);
+ }
+
+ // Wrap window.onerror. We will call the original window.onerror to see if
+ // the existing handler fully handles the error; if not, we will call the
+ // QUnit.onError function.
+ var originalWindowOnError = window.onerror;
+
+ // Cover uncaught exceptions
+ // Returning true will suppress the default browser handler,
+ // returning false will let it run.
+ window.onerror = function (message, fileName, lineNumber) {
+ var ret = false;
+ if (originalWindowOnError) {
+ for (var _len = arguments.length, args = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
+ args[_key - 3] = arguments[_key];
+ }
+
+ ret = originalWindowOnError.call.apply(originalWindowOnError, [this, message, fileName, lineNumber].concat(args));
+ }
+
+ // Treat return value as window.onerror itself does,
+ // Only do our handling if not suppressed.
+ if (ret !== true) {
+ var error = {
+ message: message,
+ fileName: fileName,
+ lineNumber: lineNumber
+ };
+
+ ret = QUnit.onError(error);
+ }
+
+ return ret;
+ };
+ })();
+
+ /*
+ * This file is a modified version of google-diff-match-patch's JavaScript implementation
+ * (https://code.google.com/p/google-diff-match-patch/source/browse/trunk/javascript/diff_match_patch_uncompressed.js),
+ * modifications are licensed as more fully set forth in LICENSE.txt.
+ *
+ * The original source of google-diff-match-patch is attributable and licensed as follows:
+ *
+ * Copyright 2006 Google Inc.
+ * https://code.google.com/p/google-diff-match-patch/
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * More Info:
+ * https://code.google.com/p/google-diff-match-patch/
+ *
+ * Usage: QUnit.diff(expected, actual)
+ *
+ */
+ QUnit.diff = function () {
+ function DiffMatchPatch() {}
+
+ // DIFF FUNCTIONS
+
+ /**
+ * The data structure representing a diff is an array of tuples:
+ * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]
+ * which means: delete 'Hello', add 'Goodbye' and keep ' world.'
+ */
+ var DIFF_DELETE = -1,
+ DIFF_INSERT = 1,
+ DIFF_EQUAL = 0;
+
+ /**
+ * Find the differences between two texts. Simplifies the problem by stripping
+ * any common prefix or suffix off the texts before diffing.
+ * @param {string} text1 Old string to be diffed.
+ * @param {string} text2 New string to be diffed.
+ * @param {boolean=} optChecklines Optional speedup flag. If present and false,
+ * then don't run a line-level diff first to identify the changed areas.
+ * Defaults to true, which does a faster, slightly less optimal diff.
+ * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
+ */
+ DiffMatchPatch.prototype.DiffMain = function (text1, text2, optChecklines) {
+ var deadline, checklines, commonlength, commonprefix, commonsuffix, diffs;
+
+ // The diff must be complete in up to 1 second.
+ deadline = new Date().getTime() + 1000;
+
+ // Check for null inputs.
+ if (text1 === null || text2 === null) {
+ throw new Error("Null input. (DiffMain)");
+ }
+
+ // Check for equality (speedup).
+ if (text1 === text2) {
+ if (text1) {
+ return [[DIFF_EQUAL, text1]];
+ }
+ return [];
+ }
+
+ if (typeof optChecklines === "undefined") {
+ optChecklines = true;
+ }
+
+ checklines = optChecklines;
+
+ // Trim off common prefix (speedup).
+ commonlength = this.diffCommonPrefix(text1, text2);
+ commonprefix = text1.substring(0, commonlength);
+ text1 = text1.substring(commonlength);
+ text2 = text2.substring(commonlength);
+
+ // Trim off common suffix (speedup).
+ commonlength = this.diffCommonSuffix(text1, text2);
+ commonsuffix = text1.substring(text1.length - commonlength);
+ text1 = text1.substring(0, text1.length - commonlength);
+ text2 = text2.substring(0, text2.length - commonlength);
+
+ // Compute the diff on the middle block.
+ diffs = this.diffCompute(text1, text2, checklines, deadline);
+
+ // Restore the prefix and suffix.
+ if (commonprefix) {
+ diffs.unshift([DIFF_EQUAL, commonprefix]);
+ }
+ if (commonsuffix) {
+ diffs.push([DIFF_EQUAL, commonsuffix]);
+ }
+ this.diffCleanupMerge(diffs);
+ return diffs;
+ };
+
+ /**
+ * Reduce the number of edits by eliminating operationally trivial equalities.
+ * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
+ */
+ DiffMatchPatch.prototype.diffCleanupEfficiency = function (diffs) {
+ var changes, equalities, equalitiesLength, lastequality, pointer, preIns, preDel, postIns, postDel;
+ changes = false;
+ equalities = []; // Stack of indices where equalities are found.
+ equalitiesLength = 0; // Keeping our own length var is faster in JS.
+ /** @type {?string} */
+ lastequality = null;
+
+ // Always equal to diffs[equalities[equalitiesLength - 1]][1]
+ pointer = 0; // Index of current position.
+
+ // Is there an insertion operation before the last equality.
+ preIns = false;
+
+ // Is there a deletion operation before the last equality.
+ preDel = false;
+
+ // Is there an insertion operation after the last equality.
+ postIns = false;
+
+ // Is there a deletion operation after the last equality.
+ postDel = false;
+ while (pointer < diffs.length) {
+
+ // Equality found.
+ if (diffs[pointer][0] === DIFF_EQUAL) {
+ if (diffs[pointer][1].length < 4 && (postIns || postDel)) {
+
+ // Candidate found.
+ equalities[equalitiesLength++] = pointer;
+ preIns = postIns;
+ preDel = postDel;
+ lastequality = diffs[pointer][1];
+ } else {
+
+ // Not a candidate, and can never become one.
+ equalitiesLength = 0;
+ lastequality = null;
+ }
+ postIns = postDel = false;
+
+ // An insertion or deletion.
+ } else {
+
+ if (diffs[pointer][0] === DIFF_DELETE) {
+ postDel = true;
+ } else {
+ postIns = true;
+ }
+
+ /*
+ * Five types to be split:
+ * <ins>A</ins><del>B</del>XY<ins>C</ins><del>D</del>
+ * <ins>A</ins>X<ins>C</ins><del>D</del>
+ * <ins>A</ins><del>B</del>X<ins>C</ins>
+ * <ins>A</del>X<ins>C</ins><del>D</del>
+ * <ins>A</ins><del>B</del>X<del>C</del>
+ */
+ if (lastequality && (preIns && preDel && postIns && postDel || lastequality.length < 2 && preIns + preDel + postIns + postDel === 3)) {
+
+ // Duplicate record.
+ diffs.splice(equalities[equalitiesLength - 1], 0, [DIFF_DELETE, lastequality]);
+
+ // Change second copy to insert.
+ diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;
+ equalitiesLength--; // Throw away the equality we just deleted;
+ lastequality = null;
+ if (preIns && preDel) {
+
+ // No changes made which could affect previous entry, keep going.
+ postIns = postDel = true;
+ equalitiesLength = 0;
+ } else {
+ equalitiesLength--; // Throw away the previous equality.
+ pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;
+ postIns = postDel = false;
+ }
+ changes = true;
+ }
+ }
+ pointer++;
+ }
+
+ if (changes) {
+ this.diffCleanupMerge(diffs);
+ }
+ };
+
+ /**
+ * Convert a diff array into a pretty HTML report.
+ * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
+ * @param {integer} string to be beautified.
+ * @return {string} HTML representation.
+ */
+ DiffMatchPatch.prototype.diffPrettyHtml = function (diffs) {
+ var op,
+ data,
+ x,
+ html = [];
+ for (x = 0; x < diffs.length; x++) {
+ op = diffs[x][0]; // Operation (insert, delete, equal)
+ data = diffs[x][1]; // Text of change.
+ switch (op) {
+ case DIFF_INSERT:
+ html[x] = "<ins>" + escapeText(data) + "</ins>";
+ break;
+ case DIFF_DELETE:
+ html[x] = "<del>" + escapeText(data) + "</del>";
+ break;
+ case DIFF_EQUAL:
+ html[x] = "<span>" + escapeText(data) + "</span>";
+ break;
+ }
+ }
+ return html.join("");
+ };
+
+ /**
+ * Determine the common prefix of two strings.
+ * @param {string} text1 First string.
+ * @param {string} text2 Second string.
+ * @return {number} The number of characters common to the start of each
+ * string.
+ */
+ DiffMatchPatch.prototype.diffCommonPrefix = function (text1, text2) {
+ var pointermid, pointermax, pointermin, pointerstart;
+
+ // Quick check for common null cases.
+ if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) {
+ return 0;
+ }
+
+ // Binary search.
+ // Performance analysis: https://neil.fraser.name/news/2007/10/09/
+ pointermin = 0;
+ pointermax = Math.min(text1.length, text2.length);
+ pointermid = pointermax;
+ pointerstart = 0;
+ while (pointermin < pointermid) {
+ if (text1.substring(pointerstart, pointermid) === text2.substring(pointerstart, pointermid)) {
+ pointermin = pointermid;
+ pointerstart = pointermin;
+ } else {
+ pointermax = pointermid;
+ }
+ pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
+ }
+ return pointermid;
+ };
+
+ /**
+ * Determine the common suffix of two strings.
+ * @param {string} text1 First string.
+ * @param {string} text2 Second string.
+ * @return {number} The number of characters common to the end of each string.
+ */
+ DiffMatchPatch.prototype.diffCommonSuffix = function (text1, text2) {
+ var pointermid, pointermax, pointermin, pointerend;
+
+ // Quick check for common null cases.
+ if (!text1 || !text2 || text1.charAt(text1.length - 1) !== text2.charAt(text2.length - 1)) {
+ return 0;
+ }
+
+ // Binary search.
+ // Performance analysis: https://neil.fraser.name/news/2007/10/09/
+ pointermin = 0;
+ pointermax = Math.min(text1.length, text2.length);
+ pointermid = pointermax;
+ pointerend = 0;
+ while (pointermin < pointermid) {
+ if (text1.substring(text1.length - pointermid, text1.length - pointerend) === text2.substring(text2.length - pointermid, text2.length - pointerend)) {
+ pointermin = pointermid;
+ pointerend = pointermin;
+ } else {
+ pointermax = pointermid;
+ }
+ pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
+ }
+ return pointermid;
+ };
+
+ /**
+ * Find the differences between two texts. Assumes that the texts do not
+ * have any common prefix or suffix.
+ * @param {string} text1 Old string to be diffed.
+ * @param {string} text2 New string to be diffed.
+ * @param {boolean} checklines Speedup flag. If false, then don't run a
+ * line-level diff first to identify the changed areas.
+ * If true, then run a faster, slightly less optimal diff.
+ * @param {number} deadline Time when the diff should be complete by.
+ * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
+ * @private
+ */
+ DiffMatchPatch.prototype.diffCompute = function (text1, text2, checklines, deadline) {
+ var diffs, longtext, shorttext, i, hm, text1A, text2A, text1B, text2B, midCommon, diffsA, diffsB;
+
+ if (!text1) {
+
+ // Just add some text (speedup).
+ return [[DIFF_INSERT, text2]];
+ }
+
+ if (!text2) {
+
+ // Just delete some text (speedup).
+ return [[DIFF_DELETE, text1]];
+ }
+
+ longtext = text1.length > text2.length ? text1 : text2;
+ shorttext = text1.length > text2.length ? text2 : text1;
+ i = longtext.indexOf(shorttext);
+ if (i !== -1) {
+
+ // Shorter text is inside the longer text (speedup).
+ diffs = [[DIFF_INSERT, longtext.substring(0, i)], [DIFF_EQUAL, shorttext], [DIFF_INSERT, longtext.substring(i + shorttext.length)]];
+
+ // Swap insertions for deletions if diff is reversed.
+ if (text1.length > text2.length) {
+ diffs[0][0] = diffs[2][0] = DIFF_DELETE;
+ }
+ return diffs;
+ }
+
+ if (shorttext.length === 1) {
+
+ // Single character string.
+ // After the previous speedup, the character can't be an equality.
+ return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];
+ }
+
+ // Check to see if the problem can be split in two.
+ hm = this.diffHalfMatch(text1, text2);
+ if (hm) {
+
+ // A half-match was found, sort out the return data.
+ text1A = hm[0];
+ text1B = hm[1];
+ text2A = hm[2];
+ text2B = hm[3];
+ midCommon = hm[4];
+
+ // Send both pairs off for separate processing.
+ diffsA = this.DiffMain(text1A, text2A, checklines, deadline);
+ diffsB = this.DiffMain(text1B, text2B, checklines, deadline);
+
+ // Merge the results.
+ return diffsA.concat([[DIFF_EQUAL, midCommon]], diffsB);
+ }
+
+ if (checklines && text1.length > 100 && text2.length > 100) {
+ return this.diffLineMode(text1, text2, deadline);
+ }
+
+ return this.diffBisect(text1, text2, deadline);
+ };
+
+ /**
+ * Do the two texts share a substring which is at least half the length of the
+ * longer text?
+ * This speedup can produce non-minimal diffs.
+ * @param {string} text1 First string.
+ * @param {string} text2 Second string.
+ * @return {Array.<string>} Five element Array, containing the prefix of
+ * text1, the suffix of text1, the prefix of text2, the suffix of
+ * text2 and the common middle. Or null if there was no match.
+ * @private
+ */
+ DiffMatchPatch.prototype.diffHalfMatch = function (text1, text2) {
+ var longtext, shorttext, dmp, text1A, text2B, text2A, text1B, midCommon, hm1, hm2, hm;
+
+ longtext = text1.length > text2.length ? text1 : text2;
+ shorttext = text1.length > text2.length ? text2 : text1;
+ if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {
+ return null; // Pointless.
+ }
+ dmp = this; // 'this' becomes 'window' in a closure.
+
+ /**
+ * Does a substring of shorttext exist within longtext such that the substring
+ * is at least half the length of longtext?
+ * Closure, but does not reference any external variables.
+ * @param {string} longtext Longer string.
+ * @param {string} shorttext Shorter string.
+ * @param {number} i Start index of quarter length substring within longtext.
+ * @return {Array.<string>} Five element Array, containing the prefix of
+ * longtext, the suffix of longtext, the prefix of shorttext, the suffix
+ * of shorttext and the common middle. Or null if there was no match.
+ * @private
+ */
+ function diffHalfMatchI(longtext, shorttext, i) {
+ var seed, j, bestCommon, prefixLength, suffixLength, bestLongtextA, bestLongtextB, bestShorttextA, bestShorttextB;
+
+ // Start with a 1/4 length substring at position i as a seed.
+ seed = longtext.substring(i, i + Math.floor(longtext.length / 4));
+ j = -1;
+ bestCommon = "";
+ while ((j = shorttext.indexOf(seed, j + 1)) !== -1) {
+ prefixLength = dmp.diffCommonPrefix(longtext.substring(i), shorttext.substring(j));
+ suffixLength = dmp.diffCommonSuffix(longtext.substring(0, i), shorttext.substring(0, j));
+ if (bestCommon.length < suffixLength + prefixLength) {
+ bestCommon = shorttext.substring(j - suffixLength, j) + shorttext.substring(j, j + prefixLength);
+ bestLongtextA = longtext.substring(0, i - suffixLength);
+ bestLongtextB = longtext.substring(i + prefixLength);
+ bestShorttextA = shorttext.substring(0, j - suffixLength);
+ bestShorttextB = shorttext.substring(j + prefixLength);
+ }
+ }
+ if (bestCommon.length * 2 >= longtext.length) {
+ return [bestLongtextA, bestLongtextB, bestShorttextA, bestShorttextB, bestCommon];
+ } else {
+ return null;
+ }
+ }
+
+ // First check if the second quarter is the seed for a half-match.
+ hm1 = diffHalfMatchI(longtext, shorttext, Math.ceil(longtext.length / 4));
+
+ // Check again based on the third quarter.
+ hm2 = diffHalfMatchI(longtext, shorttext, Math.ceil(longtext.length / 2));
+ if (!hm1 && !hm2) {
+ return null;
+ } else if (!hm2) {
+ hm = hm1;
+ } else if (!hm1) {
+ hm = hm2;
+ } else {
+
+ // Both matched. Select the longest.
+ hm = hm1[4].length > hm2[4].length ? hm1 : hm2;
+ }
+
+ // A half-match was found, sort out the return data.
+ if (text1.length > text2.length) {
+ text1A = hm[0];
+ text1B = hm[1];
+ text2A = hm[2];
+ text2B = hm[3];
+ } else {
+ text2A = hm[0];
+ text2B = hm[1];
+ text1A = hm[2];
+ text1B = hm[3];
+ }
+ midCommon = hm[4];
+ return [text1A, text1B, text2A, text2B, midCommon];
+ };
+
+ /**
+ * Do a quick line-level diff on both strings, then rediff the parts for
+ * greater accuracy.
+ * This speedup can produce non-minimal diffs.
+ * @param {string} text1 Old string to be diffed.
+ * @param {string} text2 New string to be diffed.
+ * @param {number} deadline Time when the diff should be complete by.
+ * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
+ * @private
+ */
+ DiffMatchPatch.prototype.diffLineMode = function (text1, text2, deadline) {
+ var a, diffs, linearray, pointer, countInsert, countDelete, textInsert, textDelete, j;
+
+ // Scan the text on a line-by-line basis first.
+ a = this.diffLinesToChars(text1, text2);
+ text1 = a.chars1;
+ text2 = a.chars2;
+ linearray = a.lineArray;
+
+ diffs = this.DiffMain(text1, text2, false, deadline);
+
+ // Convert the diff back to original text.
+ this.diffCharsToLines(diffs, linearray);
+
+ // Eliminate freak matches (e.g. blank lines)
+ this.diffCleanupSemantic(diffs);
+
+ // Rediff any replacement blocks, this time character-by-character.
+ // Add a dummy entry at the end.
+ diffs.push([DIFF_EQUAL, ""]);
+ pointer = 0;
+ countDelete = 0;
+ countInsert = 0;
+ textDelete = "";
+ textInsert = "";
+ while (pointer < diffs.length) {
+ switch (diffs[pointer][0]) {
+ case DIFF_INSERT:
+ countInsert++;
+ textInsert += diffs[pointer][1];
+ break;
+ case DIFF_DELETE:
+ countDelete++;
+ textDelete += diffs[pointer][1];
+ break;
+ case DIFF_EQUAL:
+
+ // Upon reaching an equality, check for prior redundancies.
+ if (countDelete >= 1 && countInsert >= 1) {
+
+ // Delete the offending records and add the merged ones.
+ diffs.splice(pointer - countDelete - countInsert, countDelete + countInsert);
+ pointer = pointer - countDelete - countInsert;
+ a = this.DiffMain(textDelete, textInsert, false, deadline);
+ for (j = a.length - 1; j >= 0; j--) {
+ diffs.splice(pointer, 0, a[j]);
+ }
+ pointer = pointer + a.length;
+ }
+ countInsert = 0;
+ countDelete = 0;
+ textDelete = "";
+ textInsert = "";
+ break;
+ }
+ pointer++;
+ }
+ diffs.pop(); // Remove the dummy entry at the end.
+
+ return diffs;
+ };
+
+ /**
+ * Find the 'middle snake' of a diff, split the problem in two
+ * and return the recursively constructed diff.
+ * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.
+ * @param {string} text1 Old string to be diffed.
+ * @param {string} text2 New string to be diffed.
+ * @param {number} deadline Time at which to bail if not yet complete.
+ * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
+ * @private
+ */
+ DiffMatchPatch.prototype.diffBisect = function (text1, text2, deadline) {
+ var text1Length, text2Length, maxD, vOffset, vLength, v1, v2, x, delta, front, k1start, k1end, k2start, k2end, k2Offset, k1Offset, x1, x2, y1, y2, d, k1, k2;
+
+ // Cache the text lengths to prevent multiple calls.
+ text1Length = text1.length;
+ text2Length = text2.length;
+ maxD = Math.ceil((text1Length + text2Length) / 2);
+ vOffset = maxD;
+ vLength = 2 * maxD;
+ v1 = new Array(vLength);
+ v2 = new Array(vLength);
+
+ // Setting all elements to -1 is faster in Chrome & Firefox than mixing
+ // integers and undefined.
+ for (x = 0; x < vLength; x++) {
+ v1[x] = -1;
+ v2[x] = -1;
+ }
+ v1[vOffset + 1] = 0;
+ v2[vOffset + 1] = 0;
+ delta = text1Length - text2Length;
+
+ // If the total number of characters is odd, then the front path will collide
+ // with the reverse path.
+ front = delta % 2 !== 0;
+
+ // Offsets for start and end of k loop.
+ // Prevents mapping of space beyond the grid.
+ k1start = 0;
+ k1end = 0;
+ k2start = 0;
+ k2end = 0;
+ for (d = 0; d < maxD; d++) {
+
+ // Bail out if deadline is reached.
+ if (new Date().getTime() > deadline) {
+ break;
+ }
+
+ // Walk the front path one step.
+ for (k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {
+ k1Offset = vOffset + k1;
+ if (k1 === -d || k1 !== d && v1[k1Offset - 1] < v1[k1Offset + 1]) {
+ x1 = v1[k1Offset + 1];
+ } else {
+ x1 = v1[k1Offset - 1] + 1;
+ }
+ y1 = x1 - k1;
+ while (x1 < text1Length && y1 < text2Length && text1.charAt(x1) === text2.charAt(y1)) {
+ x1++;
+ y1++;
+ }
+ v1[k1Offset] = x1;
+ if (x1 > text1Length) {
+
+ // Ran off the right of the graph.
+ k1end += 2;
+ } else if (y1 > text2Length) {
+
+ // Ran off the bottom of the graph.
+ k1start += 2;
+ } else if (front) {
+ k2Offset = vOffset + delta - k1;
+ if (k2Offset >= 0 && k2Offset < vLength && v2[k2Offset] !== -1) {
+
+ // Mirror x2 onto top-left coordinate system.
+ x2 = text1Length - v2[k2Offset];
+ if (x1 >= x2) {
+
+ // Overlap detected.
+ return this.diffBisectSplit(text1, text2, x1, y1, deadline);
+ }
+ }
+ }
+ }
+
+ // Walk the reverse path one step.
+ for (k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {
+ k2Offset = vOffset + k2;
+ if (k2 === -d || k2 !== d && v2[k2Offset - 1] < v2[k2Offset + 1]) {
+ x2 = v2[k2Offset + 1];
+ } else {
+ x2 = v2[k2Offset - 1] + 1;
+ }
+ y2 = x2 - k2;
+ while (x2 < text1Length && y2 < text2Length && text1.charAt(text1Length - x2 - 1) === text2.charAt(text2Length - y2 - 1)) {
+ x2++;
+ y2++;
+ }
+ v2[k2Offset] = x2;
+ if (x2 > text1Length) {
+
+ // Ran off the left of the graph.
+ k2end += 2;
+ } else if (y2 > text2Length) {
+
+ // Ran off the top of the graph.
+ k2start += 2;
+ } else if (!front) {
+ k1Offset = vOffset + delta - k2;
+ if (k1Offset >= 0 && k1Offset < vLength && v1[k1Offset] !== -1) {
+ x1 = v1[k1Offset];
+ y1 = vOffset + x1 - k1Offset;
+
+ // Mirror x2 onto top-left coordinate system.
+ x2 = text1Length - x2;
+ if (x1 >= x2) {
+
+ // Overlap detected.
+ return this.diffBisectSplit(text1, text2, x1, y1, deadline);
+ }
+ }
+ }
+ }
+ }
+
+ // Diff took too long and hit the deadline or
+ // number of diffs equals number of characters, no commonality at all.
+ return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];
+ };
+
+ /**
+ * Given the location of the 'middle snake', split the diff in two parts
+ * and recurse.
+ * @param {string} text1 Old string to be diffed.
+ * @param {string} text2 New string to be diffed.
+ * @param {number} x Index of split point in text1.
+ * @param {number} y Index of split point in text2.
+ * @param {number} deadline Time at which to bail if not yet complete.
+ * @return {!Array.<!DiffMatchPatch.Diff>} Array of diff tuples.
+ * @private
+ */
+ DiffMatchPatch.prototype.diffBisectSplit = function (text1, text2, x, y, deadline) {
+ var text1a, text1b, text2a, text2b, diffs, diffsb;
+ text1a = text1.substring(0, x);
+ text2a = text2.substring(0, y);
+ text1b = text1.substring(x);
+ text2b = text2.substring(y);
+
+ // Compute both diffs serially.
+ diffs = this.DiffMain(text1a, text2a, false, deadline);
+ diffsb = this.DiffMain(text1b, text2b, false, deadline);
+
+ return diffs.concat(diffsb);
+ };
+
+ /**
+ * Reduce the number of edits by eliminating semantically trivial equalities.
+ * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
+ */
+ DiffMatchPatch.prototype.diffCleanupSemantic = function (diffs) {
+ var changes, equalities, equalitiesLength, lastequality, pointer, lengthInsertions2, lengthDeletions2, lengthInsertions1, lengthDeletions1, deletion, insertion, overlapLength1, overlapLength2;
+ changes = false;
+ equalities = []; // Stack of indices where equalities are found.
+ equalitiesLength = 0; // Keeping our own length var is faster in JS.
+ /** @type {?string} */
+ lastequality = null;
+
+ // Always equal to diffs[equalities[equalitiesLength - 1]][1]
+ pointer = 0; // Index of current position.
+
+ // Number of characters that changed prior to the equality.
+ lengthInsertions1 = 0;
+ lengthDeletions1 = 0;
+
+ // Number of characters that changed after the equality.
+ lengthInsertions2 = 0;
+ lengthDeletions2 = 0;
+ while (pointer < diffs.length) {
+ if (diffs[pointer][0] === DIFF_EQUAL) {
+ // Equality found.
+ equalities[equalitiesLength++] = pointer;
+ lengthInsertions1 = lengthInsertions2;
+ lengthDeletions1 = lengthDeletions2;
+ lengthInsertions2 = 0;
+ lengthDeletions2 = 0;
+ lastequality = diffs[pointer][1];
+ } else {
+ // An insertion or deletion.
+ if (diffs[pointer][0] === DIFF_INSERT) {
+ lengthInsertions2 += diffs[pointer][1].length;
+ } else {
+ lengthDeletions2 += diffs[pointer][1].length;
+ }
+
+ // Eliminate an equality that is smaller or equal to the edits on both
+ // sides of it.
+ if (lastequality && lastequality.length <= Math.max(lengthInsertions1, lengthDeletions1) && lastequality.length <= Math.max(lengthInsertions2, lengthDeletions2)) {
+
+ // Duplicate record.
+ diffs.splice(equalities[equalitiesLength - 1], 0, [DIFF_DELETE, lastequality]);
+
+ // Change second copy to insert.
+ diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;
+
+ // Throw away the equality we just deleted.
+ equalitiesLength--;
+
+ // Throw away the previous equality (it needs to be reevaluated).
+ equalitiesLength--;
+ pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;
+
+ // Reset the counters.
+ lengthInsertions1 = 0;
+ lengthDeletions1 = 0;
+ lengthInsertions2 = 0;
+ lengthDeletions2 = 0;
+ lastequality = null;
+ changes = true;
+ }
+ }
+ pointer++;
+ }
+
+ // Normalize the diff.
+ if (changes) {
+ this.diffCleanupMerge(diffs);
+ }
+
+ // Find any overlaps between deletions and insertions.
+ // e.g: <del>abcxxx</del><ins>xxxdef</ins>
+ // -> <del>abc</del>xxx<ins>def</ins>
+ // e.g: <del>xxxabc</del><ins>defxxx</ins>
+ // -> <ins>def</ins>xxx<del>abc</del>
+ // Only extract an overlap if it is as big as the edit ahead or behind it.
+ pointer = 1;
+ while (pointer < diffs.length) {
+ if (diffs[pointer - 1][0] === DIFF_DELETE && diffs[pointer][0] === DIFF_INSERT) {
+ deletion = diffs[pointer - 1][1];
+ insertion = diffs[pointer][1];
+ overlapLength1 = this.diffCommonOverlap(deletion, insertion);
+ overlapLength2 = this.diffCommonOverlap(insertion, deletion);
+ if (overlapLength1 >= overlapLength2) {
+ if (overlapLength1 >= deletion.length / 2 || overlapLength1 >= insertion.length / 2) {
+
+ // Overlap found. Insert an equality and trim the surrounding edits.
+ diffs.splice(pointer, 0, [DIFF_EQUAL, insertion.substring(0, overlapLength1)]);
+ diffs[pointer - 1][1] = deletion.substring(0, deletion.length - overlapLength1);
+ diffs[pointer + 1][1] = insertion.substring(overlapLength1);
+ pointer++;
+ }
+ } else {
+ if (overlapLength2 >= deletion.length / 2 || overlapLength2 >= insertion.length / 2) {
+
+ // Reverse overlap found.
+ // Insert an equality and swap and trim the surrounding edits.
+ diffs.splice(pointer, 0, [DIFF_EQUAL, deletion.substring(0, overlapLength2)]);
+
+ diffs[pointer - 1][0] = DIFF_INSERT;
+ diffs[pointer - 1][1] = insertion.substring(0, insertion.length - overlapLength2);
+ diffs[pointer + 1][0] = DIFF_DELETE;
+ diffs[pointer + 1][1] = deletion.substring(overlapLength2);
+ pointer++;
+ }
+ }
+ pointer++;
+ }
+ pointer++;
+ }
+ };
+
+ /**
+ * Determine if the suffix of one string is the prefix of another.
+ * @param {string} text1 First string.
+ * @param {string} text2 Second string.
+ * @return {number} The number of characters common to the end of the first
+ * string and the start of the second string.
+ * @private
+ */
+ DiffMatchPatch.prototype.diffCommonOverlap = function (text1, text2) {
+ var text1Length, text2Length, textLength, best, length, pattern, found;
+
+ // Cache the text lengths to prevent multiple calls.
+ text1Length = text1.length;
+ text2Length = text2.length;
+
+ // Eliminate the null case.
+ if (text1Length === 0 || text2Length === 0) {
+ return 0;
+ }
+
+ // Truncate the longer string.
+ if (text1Length > text2Length) {
+ text1 = text1.substring(text1Length - text2Length);
+ } else if (text1Length < text2Length) {
+ text2 = text2.substring(0, text1Length);
+ }
+ textLength = Math.min(text1Length, text2Length);
+
+ // Quick check for the worst case.
+ if (text1 === text2) {
+ return textLength;
+ }
+
+ // Start by looking for a single character match
+ // and increase length until no match is found.
+ // Performance analysis: https://neil.fraser.name/news/2010/11/04/
+ best = 0;
+ length = 1;
+ while (true) {
+ pattern = text1.substring(textLength - length);
+ found = text2.indexOf(pattern);
+ if (found === -1) {
+ return best;
+ }
+ length += found;
+ if (found === 0 || text1.substring(textLength - length) === text2.substring(0, length)) {
+ best = length;
+ length++;
+ }
+ }
+ };
+
+ /**
+ * Split two texts into an array of strings. Reduce the texts to a string of
+ * hashes where each Unicode character represents one line.
+ * @param {string} text1 First string.
+ * @param {string} text2 Second string.
+ * @return {{chars1: string, chars2: string, lineArray: !Array.<string>}}
+ * An object containing the encoded text1, the encoded text2 and
+ * the array of unique strings.
+ * The zeroth element of the array of unique strings is intentionally blank.
+ * @private
+ */
+ DiffMatchPatch.prototype.diffLinesToChars = function (text1, text2) {
+ var lineArray, lineHash, chars1, chars2;
+ lineArray = []; // E.g. lineArray[4] === 'Hello\n'
+ lineHash = {}; // E.g. lineHash['Hello\n'] === 4
+
+ // '\x00' is a valid character, but various debuggers don't like it.
+ // So we'll insert a junk entry to avoid generating a null character.
+ lineArray[0] = "";
+
+ /**
+ * Split a text into an array of strings. Reduce the texts to a string of
+ * hashes where each Unicode character represents one line.
+ * Modifies linearray and linehash through being a closure.
+ * @param {string} text String to encode.
+ * @return {string} Encoded string.
+ * @private
+ */
+ function diffLinesToCharsMunge(text) {
+ var chars, lineStart, lineEnd, lineArrayLength, line;
+ chars = "";
+
+ // Walk the text, pulling out a substring for each line.
+ // text.split('\n') would would temporarily double our memory footprint.
+ // Modifying text would create many large strings to garbage collect.
+ lineStart = 0;
+ lineEnd = -1;
+
+ // Keeping our own length variable is faster than looking it up.
+ lineArrayLength = lineArray.length;
+ while (lineEnd < text.length - 1) {
+ lineEnd = text.indexOf("\n", lineStart);
+ if (lineEnd === -1) {
+ lineEnd = text.length - 1;
+ }
+ line = text.substring(lineStart, lineEnd + 1);
+ lineStart = lineEnd + 1;
+
+ if (lineHash.hasOwnProperty ? lineHash.hasOwnProperty(line) : lineHash[line] !== undefined) {
+ chars += String.fromCharCode(lineHash[line]);
+ } else {
+ chars += String.fromCharCode(lineArrayLength);
+ lineHash[line] = lineArrayLength;
+ lineArray[lineArrayLength++] = line;
+ }
+ }
+ return chars;
+ }
+
+ chars1 = diffLinesToCharsMunge(text1);
+ chars2 = diffLinesToCharsMunge(text2);
+ return {
+ chars1: chars1,
+ chars2: chars2,
+ lineArray: lineArray
+ };
+ };
+
+ /**
+ * Rehydrate the text in a diff from a string of line hashes to real lines of
+ * text.
+ * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
+ * @param {!Array.<string>} lineArray Array of unique strings.
+ * @private
+ */
+ DiffMatchPatch.prototype.diffCharsToLines = function (diffs, lineArray) {
+ var x, chars, text, y;
+ for (x = 0; x < diffs.length; x++) {
+ chars = diffs[x][1];
+ text = [];
+ for (y = 0; y < chars.length; y++) {
+ text[y] = lineArray[chars.charCodeAt(y)];
+ }
+ diffs[x][1] = text.join("");
+ }
+ };
+
+ /**
+ * Reorder and merge like edit sections. Merge equalities.
+ * Any edit section can move as long as it doesn't cross an equality.
+ * @param {!Array.<!DiffMatchPatch.Diff>} diffs Array of diff tuples.
+ */
+ DiffMatchPatch.prototype.diffCleanupMerge = function (diffs) {
+ var pointer, countDelete, countInsert, textInsert, textDelete, commonlength, changes, diffPointer, position;
+ diffs.push([DIFF_EQUAL, ""]); // Add a dummy entry at the end.
+ pointer = 0;
+ countDelete = 0;
+ countInsert = 0;
+ textDelete = "";
+ textInsert = "";
+
+ while (pointer < diffs.length) {
+ switch (diffs[pointer][0]) {
+ case DIFF_INSERT:
+ countInsert++;
+ textInsert += diffs[pointer][1];
+ pointer++;
+ break;
+ case DIFF_DELETE:
+ countDelete++;
+ textDelete += diffs[pointer][1];
+ pointer++;
+ break;
+ case DIFF_EQUAL:
+
+ // Upon reaching an equality, check for prior redundancies.
+ if (countDelete + countInsert > 1) {
+ if (countDelete !== 0 && countInsert !== 0) {
+
+ // Factor out any common prefixes.
+ commonlength = this.diffCommonPrefix(textInsert, textDelete);
+ if (commonlength !== 0) {
+ if (pointer - countDelete - countInsert > 0 && diffs[pointer - countDelete - countInsert - 1][0] === DIFF_EQUAL) {
+ diffs[pointer - countDelete - countInsert - 1][1] += textInsert.substring(0, commonlength);
+ } else {
+ diffs.splice(0, 0, [DIFF_EQUAL, textInsert.substring(0, commonlength)]);
+ pointer++;
+ }
+ textInsert = textInsert.substring(commonlength);
+ textDelete = textDelete.substring(commonlength);
+ }
+
+ // Factor out any common suffixies.
+ commonlength = this.diffCommonSuffix(textInsert, textDelete);
+ if (commonlength !== 0) {
+ diffs[pointer][1] = textInsert.substring(textInsert.length - commonlength) + diffs[pointer][1];
+ textInsert = textInsert.substring(0, textInsert.length - commonlength);
+ textDelete = textDelete.substring(0, textDelete.length - commonlength);
+ }
+ }
+
+ // Delete the offending records and add the merged ones.
+ if (countDelete === 0) {
+ diffs.splice(pointer - countInsert, countDelete + countInsert, [DIFF_INSERT, textInsert]);
+ } else if (countInsert === 0) {
+ diffs.splice(pointer - countDelete, countDelete + countInsert, [DIFF_DELETE, textDelete]);
+ } else {
+ diffs.splice(pointer - countDelete - countInsert, countDelete + countInsert, [DIFF_DELETE, textDelete], [DIFF_INSERT, textInsert]);
+ }
+ pointer = pointer - countDelete - countInsert + (countDelete ? 1 : 0) + (countInsert ? 1 : 0) + 1;
+ } else if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) {
+
+ // Merge this equality with the previous one.
+ diffs[pointer - 1][1] += diffs[pointer][1];
+ diffs.splice(pointer, 1);
+ } else {
+ pointer++;
+ }
+ countInsert = 0;
+ countDelete = 0;
+ textDelete = "";
+ textInsert = "";
+ break;
+ }
+ }
+ if (diffs[diffs.length - 1][1] === "") {
+ diffs.pop(); // Remove the dummy entry at the end.
+ }
+
+ // Second pass: look for single edits surrounded on both sides by equalities
+ // which can be shifted sideways to eliminate an equality.
+ // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC
+ changes = false;
+ pointer = 1;
+
+ // Intentionally ignore the first and last element (don't need checking).
+ while (pointer < diffs.length - 1) {
+ if (diffs[pointer - 1][0] === DIFF_EQUAL && diffs[pointer + 1][0] === DIFF_EQUAL) {
+
+ diffPointer = diffs[pointer][1];
+ position = diffPointer.substring(diffPointer.length - diffs[pointer - 1][1].length);
+
+ // This is a single edit surrounded by equalities.
+ if (position === diffs[pointer - 1][1]) {
+
+ // Shift the edit over the previous equality.
+ diffs[pointer][1] = diffs[pointer - 1][1] + diffs[pointer][1].substring(0, diffs[pointer][1].length - diffs[pointer - 1][1].length);
+ diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];
+ diffs.splice(pointer - 1, 1);
+ changes = true;
+ } else if (diffPointer.substring(0, diffs[pointer + 1][1].length) === diffs[pointer + 1][1]) {
+
+ // Shift the edit over the next equality.
+ diffs[pointer - 1][1] += diffs[pointer + 1][1];
+ diffs[pointer][1] = diffs[pointer][1].substring(diffs[pointer + 1][1].length) + diffs[pointer + 1][1];
+ diffs.splice(pointer + 1, 1);
+ changes = true;
+ }
+ }
+ pointer++;
+ }
+
+ // If shifts were made, the diff needs reordering and another shift sweep.
+ if (changes) {
+ this.diffCleanupMerge(diffs);
+ }
+ };
+
+ return function (o, n) {
+ var diff, output, text;
+ diff = new DiffMatchPatch();
+ output = diff.DiffMain(o, n);
+ diff.diffCleanupEfficiency(output);
+ text = diff.diffPrettyHtml(output);
+
+ return text;
+ };
+ }();
+
+}((function() { return this; }())));
diff --git a/js/tests/vendor/tether.min.js b/js/tests/vendor/tether.min.js
deleted file mode 100644
index a49f2a7e2..000000000
--- a/js/tests/vendor/tether.min.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e(require,exports,module):t.Tether=e()}(this,function(t,e,o){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){var e=t.getBoundingClientRect(),o={};for(var n in e)o[n]=e[n];if(t.ownerDocument!==document){var r=t.ownerDocument.defaultView.frameElement;if(r){var s=i(r);o.top+=s.top,o.bottom+=s.top,o.left+=s.left,o.right+=s.left}}return o}function r(t){var e=getComputedStyle(t)||{},o=e.position,n=[];if("fixed"===o)return[t];for(var i=t;(i=i.parentNode)&&i&&1===i.nodeType;){var r=void 0;try{r=getComputedStyle(i)}catch(s){}if("undefined"==typeof r||null===r)return n.push(i),n;var a=r,f=a.overflow,l=a.overflowX,h=a.overflowY;/(auto|scroll)/.test(f+h+l)&&("absolute"!==o||["relative","absolute","fixed"].indexOf(r.position)>=0)&&n.push(i)}return n.push(t.ownerDocument.body),t.ownerDocument!==document&&n.push(t.ownerDocument.defaultView),n}function s(){A&&document.body.removeChild(A),A=null}function a(t){var e=void 0;t===document?(e=document,t=document.documentElement):e=t.ownerDocument;var o=e.documentElement,n=i(t),r=P();return n.top-=r.top,n.left-=r.left,"undefined"==typeof n.width&&(n.width=document.body.scrollWidth-n.left-n.right),"undefined"==typeof n.height&&(n.height=document.body.scrollHeight-n.top-n.bottom),n.top=n.top-o.clientTop,n.left=n.left-o.clientLeft,n.right=e.body.clientWidth-n.width-n.left,n.bottom=e.body.clientHeight-n.height-n.top,n}function f(t){return t.offsetParent||document.documentElement}function l(){if(M)return M;var t=document.createElement("div");t.style.width="100%",t.style.height="200px";var e=document.createElement("div");h(e.style,{position:"absolute",top:0,left:0,pointerEvents:"none",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),e.appendChild(t),document.body.appendChild(e);var o=t.offsetWidth;e.style.overflow="scroll";var n=t.offsetWidth;o===n&&(n=e.clientWidth),document.body.removeChild(e);var i=o-n;return M={width:i,height:i}}function h(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=[];return Array.prototype.push.apply(e,arguments),e.slice(1).forEach(function(e){if(e)for(var o in e)({}).hasOwnProperty.call(e,o)&&(t[o]=e[o])}),t}function d(t,e){if("undefined"!=typeof t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.remove(e)});else{var o=new RegExp("(^| )"+e.split(" ").join("|")+"( |$)","gi"),n=c(t).replace(o," ");g(t,n)}}function u(t,e){if("undefined"!=typeof t.classList)e.split(" ").forEach(function(e){e.trim()&&t.classList.add(e)});else{d(t,e);var o=c(t)+(" "+e);g(t,o)}}function p(t,e){if("undefined"!=typeof t.classList)return t.classList.contains(e);var o=c(t);return new RegExp("(^| )"+e+"( |$)","gi").test(o)}function c(t){return t.className instanceof t.ownerDocument.defaultView.SVGAnimatedString?t.className.baseVal:t.className}function g(t,e){t.setAttribute("class",e)}function m(t,e,o){o.forEach(function(o){-1===e.indexOf(o)&&p(t,o)&&d(t,o)}),e.forEach(function(e){p(t,e)||u(t,e)})}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function v(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function y(t,e){var o=arguments.length<=2||void 0===arguments[2]?1:arguments[2];return t+o>=e&&e>=t-o}function b(){return"undefined"!=typeof performance&&"undefined"!=typeof performance.now?performance.now():+new Date}function w(){for(var t={top:0,left:0},e=arguments.length,o=Array(e),n=0;e>n;n++)o[n]=arguments[n];return o.forEach(function(e){var o=e.top,n=e.left;"string"==typeof o&&(o=parseFloat(o,10)),"string"==typeof n&&(n=parseFloat(n,10)),t.top+=o,t.left+=n}),t}function C(t,e){return"string"==typeof t.left&&-1!==t.left.indexOf("%")&&(t.left=parseFloat(t.left,10)/100*e.width),"string"==typeof t.top&&-1!==t.top.indexOf("%")&&(t.top=parseFloat(t.top,10)/100*e.height),t}function O(t,e){return"scrollParent"===e?e=t.scrollParents[0]:"window"===e&&(e=[pageXOffset,pageYOffset,innerWidth+pageXOffset,innerHeight+pageYOffset]),e===document&&(e=e.documentElement),"undefined"!=typeof e.nodeType&&!function(){var t=e,o=a(e),n=o,i=getComputedStyle(e);if(e=[n.left,n.top,o.width+n.left,o.height+n.top],t.ownerDocument!==document){var r=t.ownerDocument.defaultView;e[0]+=r.pageXOffset,e[1]+=r.pageYOffset,e[2]+=r.pageXOffset,e[3]+=r.pageYOffset}G.forEach(function(t,o){t=t[0].toUpperCase()+t.substr(1),"Top"===t||"Left"===t?e[o]+=parseFloat(i["border"+t+"Width"]):e[o]-=parseFloat(i["border"+t+"Width"])})}(),e}var E=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),x=void 0;"undefined"==typeof x&&(x={modules:[]});var A=null,T=function(){var t=0;return function(){return++t}}(),S={},P=function(){var t=A;t||(t=document.createElement("div"),t.setAttribute("data-tether-id",T()),h(t.style,{top:0,left:0,position:"absolute"}),document.body.appendChild(t),A=t);var e=t.getAttribute("data-tether-id");return"undefined"==typeof S[e]&&(S[e]=i(t),k(function(){delete S[e]})),S[e]},M=null,W=[],k=function(t){W.push(t)},_=function(){for(var t=void 0;t=W.pop();)t()},B=function(){function t(){n(this,t)}return E(t,[{key:"on",value:function(t,e,o){var n=arguments.length<=3||void 0===arguments[3]?!1:arguments[3];"undefined"==typeof this.bindings&&(this.bindings={}),"undefined"==typeof this.bindings[t]&&(this.bindings[t]=[]),this.bindings[t].push({handler:e,ctx:o,once:n})}},{key:"once",value:function(t,e,o){this.on(t,e,o,!0)}},{key:"off",value:function(t,e){if("undefined"!=typeof this.bindings&&"undefined"!=typeof this.bindings[t])if("undefined"==typeof e)delete this.bindings[t];else for(var o=0;o<this.bindings[t].length;)this.bindings[t][o].handler===e?this.bindings[t].splice(o,1):++o}},{key:"trigger",value:function(t){if("undefined"!=typeof this.bindings&&this.bindings[t]){for(var e=0,o=arguments.length,n=Array(o>1?o-1:0),i=1;o>i;i++)n[i-1]=arguments[i];for(;e<this.bindings[t].length;){var r=this.bindings[t][e],s=r.handler,a=r.ctx,f=r.once,l=a;"undefined"==typeof l&&(l=this),s.apply(l,n),f?this.bindings[t].splice(e,1):++e}}}}]),t}();x.Utils={getActualBoundingClientRect:i,getScrollParents:r,getBounds:a,getOffsetParent:f,extend:h,addClass:u,removeClass:d,hasClass:p,updateClasses:m,defer:k,flush:_,uniqueId:T,Evented:B,getScrollBarSize:l,removeUtilElements:s};var z=function(){function t(t,e){var o=[],n=!0,i=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);n=!0);}catch(f){i=!0,r=f}finally{try{!n&&a["return"]&&a["return"]()}finally{if(i)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),E=function(){function t(t,e){for(var o=0;o<e.length;o++){var n=e[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,o,n){return o&&t(e.prototype,o),n&&t(e,n),e}}(),j=function(t,e,o){for(var n=!0;n;){var i=t,r=e,s=o;n=!1,null===i&&(i=Function.prototype);var a=Object.getOwnPropertyDescriptor(i,r);if(void 0!==a){if("value"in a)return a.value;var f=a.get;if(void 0===f)return;return f.call(s)}var l=Object.getPrototypeOf(i);if(null===l)return;t=l,e=r,o=s,n=!0,a=l=void 0}};if("undefined"==typeof x)throw new Error("You must include the utils.js file before tether.js");var Y=x.Utils,r=Y.getScrollParents,a=Y.getBounds,f=Y.getOffsetParent,h=Y.extend,u=Y.addClass,d=Y.removeClass,m=Y.updateClasses,k=Y.defer,_=Y.flush,l=Y.getScrollBarSize,s=Y.removeUtilElements,L=function(){if("undefined"==typeof document)return"";for(var t=document.createElement("div"),e=["transform","WebkitTransform","OTransform","MozTransform","msTransform"],o=0;o<e.length;++o){var n=e[o];if(void 0!==t.style[n])return n}}(),D=[],X=function(){D.forEach(function(t){t.position(!1)}),_()};!function(){var t=null,e=null,o=null,n=function i(){return"undefined"!=typeof e&&e>16?(e=Math.min(e-16,250),void(o=setTimeout(i,250))):void("undefined"!=typeof t&&b()-t<10||(null!=o&&(clearTimeout(o),o=null),t=b(),X(),e=b()-t))};"undefined"!=typeof window&&"undefined"!=typeof window.addEventListener&&["resize","scroll","touchmove"].forEach(function(t){window.addEventListener(t,n)})}();var F={center:"center",left:"right",right:"left"},H={middle:"middle",top:"bottom",bottom:"top"},N={top:0,left:0,middle:"50%",center:"50%",bottom:"100%",right:"100%"},U=function(t,e){var o=t.left,n=t.top;return"auto"===o&&(o=F[e.left]),"auto"===n&&(n=H[e.top]),{left:o,top:n}},V=function(t){var e=t.left,o=t.top;return"undefined"!=typeof N[t.left]&&(e=N[t.left]),"undefined"!=typeof N[t.top]&&(o=N[t.top]),{left:e,top:o}},R=function(t){var e=t.split(" "),o=z(e,2),n=o[0],i=o[1];return{top:n,left:i}},q=R,I=function(t){function e(t){var o=this;n(this,e),j(Object.getPrototypeOf(e.prototype),"constructor",this).call(this),this.position=this.position.bind(this),D.push(this),this.history=[],this.setOptions(t,!1),x.modules.forEach(function(t){"undefined"!=typeof t.initialize&&t.initialize.call(o)}),this.position()}return v(e,t),E(e,[{key:"getClass",value:function(){var t=arguments.length<=0||void 0===arguments[0]?"":arguments[0],e=this.options.classes;return"undefined"!=typeof e&&e[t]?this.options.classes[t]:this.options.classPrefix?this.options.classPrefix+"-"+t:t}},{key:"setOptions",value:function(t){var e=this,o=arguments.length<=1||void 0===arguments[1]?!0:arguments[1],n={offset:"0 0",targetOffset:"0 0",targetAttachment:"auto auto",classPrefix:"tether"};this.options=h(n,t);var i=this.options,s=i.element,a=i.target,f=i.targetModifier;if(this.element=s,this.target=a,this.targetModifier=f,"viewport"===this.target?(this.target=document.body,this.targetModifier="visible"):"scroll-handle"===this.target&&(this.target=document.body,this.targetModifier="scroll-handle"),["element","target"].forEach(function(t){if("undefined"==typeof e[t])throw new Error("Tether Error: Both element and target must be defined");"undefined"!=typeof e[t].jquery?e[t]=e[t][0]:"string"==typeof e[t]&&(e[t]=document.querySelector(e[t]))}),u(this.element,this.getClass("element")),this.options.addTargetClasses!==!1&&u(this.target,this.getClass("target")),!this.options.attachment)throw new Error("Tether Error: You must provide an attachment");this.targetAttachment=q(this.options.targetAttachment),this.attachment=q(this.options.attachment),this.offset=R(this.options.offset),this.targetOffset=R(this.options.targetOffset),"undefined"!=typeof this.scrollParents&&this.disable(),"scroll-handle"===this.targetModifier?this.scrollParents=[this.target]:this.scrollParents=r(this.target),this.options.enabled!==!1&&this.enable(o)}},{key:"getTargetBounds",value:function(){if("undefined"==typeof this.targetModifier)return a(this.target);if("visible"===this.targetModifier){if(this.target===document.body)return{top:pageYOffset,left:pageXOffset,height:innerHeight,width:innerWidth};var t=a(this.target),e={height:t.height,width:t.width,top:t.top,left:t.left};return e.height=Math.min(e.height,t.height-(pageYOffset-t.top)),e.height=Math.min(e.height,t.height-(t.top+t.height-(pageYOffset+innerHeight))),e.height=Math.min(innerHeight,e.height),e.height-=2,e.width=Math.min(e.width,t.width-(pageXOffset-t.left)),e.width=Math.min(e.width,t.width-(t.left+t.width-(pageXOffset+innerWidth))),e.width=Math.min(innerWidth,e.width),e.width-=2,e.top<pageYOffset&&(e.top=pageYOffset),e.left<pageXOffset&&(e.left=pageXOffset),e}if("scroll-handle"===this.targetModifier){var t=void 0,o=this.target;o===document.body?(o=document.documentElement,t={left:pageXOffset,top:pageYOffset,height:innerHeight,width:innerWidth}):t=a(o);var n=getComputedStyle(o),i=o.scrollWidth>o.clientWidth||[n.overflow,n.overflowX].indexOf("scroll")>=0||this.target!==document.body,r=0;i&&(r=15);var s=t.height-parseFloat(n.borderTopWidth)-parseFloat(n.borderBottomWidth)-r,e={width:15,height:.975*s*(s/o.scrollHeight),left:t.left+t.width-parseFloat(n.borderLeftWidth)-15},f=0;408>s&&this.target===document.body&&(f=-11e-5*Math.pow(s,2)-.00727*s+22.58),this.target!==document.body&&(e.height=Math.max(e.height,24));var l=this.target.scrollTop/(o.scrollHeight-s);return e.top=l*(s-e.height-f)+t.top+parseFloat(n.borderTopWidth),this.target===document.body&&(e.height=Math.max(e.height,24)),e}}},{key:"clearCache",value:function(){this._cache={}}},{key:"cache",value:function(t,e){return"undefined"==typeof this._cache&&(this._cache={}),"undefined"==typeof this._cache[t]&&(this._cache[t]=e.call(this)),this._cache[t]}},{key:"enable",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?!0:arguments[0];this.options.addTargetClasses!==!1&&u(this.target,this.getClass("enabled")),u(this.element,this.getClass("enabled")),this.enabled=!0,this.scrollParents.forEach(function(e){e!==t.target.ownerDocument&&e.addEventListener("scroll",t.position)}),e&&this.position()}},{key:"disable",value:function(){var t=this;d(this.target,this.getClass("enabled")),d(this.element,this.getClass("enabled")),this.enabled=!1,"undefined"!=typeof this.scrollParents&&this.scrollParents.forEach(function(e){e.removeEventListener("scroll",t.position)})}},{key:"destroy",value:function(){var t=this;this.disable(),D.forEach(function(e,o){e===t&&D.splice(o,1)}),0===D.length&&s()}},{key:"updateAttachClasses",value:function(t,e){var o=this;t=t||this.attachment,e=e||this.targetAttachment;var n=["left","top","bottom","right","middle","center"];"undefined"!=typeof this._addAttachClasses&&this._addAttachClasses.length&&this._addAttachClasses.splice(0,this._addAttachClasses.length),"undefined"==typeof this._addAttachClasses&&(this._addAttachClasses=[]);var i=this._addAttachClasses;t.top&&i.push(this.getClass("element-attached")+"-"+t.top),t.left&&i.push(this.getClass("element-attached")+"-"+t.left),e.top&&i.push(this.getClass("target-attached")+"-"+e.top),e.left&&i.push(this.getClass("target-attached")+"-"+e.left);var r=[];n.forEach(function(t){r.push(o.getClass("element-attached")+"-"+t),r.push(o.getClass("target-attached")+"-"+t)}),k(function(){"undefined"!=typeof o._addAttachClasses&&(m(o.element,o._addAttachClasses,r),o.options.addTargetClasses!==!1&&m(o.target,o._addAttachClasses,r),delete o._addAttachClasses)})}},{key:"position",value:function(){var t=this,e=arguments.length<=0||void 0===arguments[0]?!0:arguments[0];if(this.enabled){this.clearCache();var o=U(this.targetAttachment,this.attachment);this.updateAttachClasses(this.attachment,o);var n=this.cache("element-bounds",function(){return a(t.element)}),i=n.width,r=n.height;if(0===i&&0===r&&"undefined"!=typeof this.lastSize){var s=this.lastSize;i=s.width,r=s.height}else this.lastSize={width:i,height:r};var h=this.cache("target-bounds",function(){return t.getTargetBounds()}),d=h,u=C(V(this.attachment),{width:i,height:r}),p=C(V(o),d),c=C(this.offset,{width:i,height:r}),g=C(this.targetOffset,d);u=w(u,c),p=w(p,g);for(var m=h.left+p.left-u.left,v=h.top+p.top-u.top,y=0;y<x.modules.length;++y){var b=x.modules[y],O=b.position.call(this,{left:m,top:v,targetAttachment:o,targetPos:h,elementPos:n,offset:u,targetOffset:p,manualOffset:c,manualTargetOffset:g,scrollbarSize:S,attachment:this.attachment});if(O===!1)return!1;"undefined"!=typeof O&&"object"==typeof O&&(v=O.top,m=O.left)}var E={page:{top:v,left:m},viewport:{top:v-pageYOffset,bottom:pageYOffset-v-r+innerHeight,left:m-pageXOffset,right:pageXOffset-m-i+innerWidth}},A=this.target.ownerDocument,T=A.defaultView,S=void 0;return T.innerHeight>A.documentElement.clientHeight&&(S=this.cache("scrollbar-size",l),E.viewport.bottom-=S.height),T.innerWidth>A.documentElement.clientWidth&&(S=this.cache("scrollbar-size",l),E.viewport.right-=S.width),(-1===["","static"].indexOf(A.body.style.position)||-1===["","static"].indexOf(A.body.parentElement.style.position))&&(E.page.bottom=A.body.scrollHeight-v-r,E.page.right=A.body.scrollWidth-m-i),"undefined"!=typeof this.options.optimizations&&this.options.optimizations.moveElement!==!1&&"undefined"==typeof this.targetModifier&&!function(){var e=t.cache("target-offsetparent",function(){return f(t.target)}),o=t.cache("target-offsetparent-bounds",function(){return a(e)}),n=getComputedStyle(e),i=o,r={};if(["Top","Left","Bottom","Right"].forEach(function(t){r[t.toLowerCase()]=parseFloat(n["border"+t+"Width"])}),o.right=A.body.scrollWidth-o.left-i.width+r.right,o.bottom=A.body.scrollHeight-o.top-i.height+r.bottom,E.page.top>=o.top+r.top&&E.page.bottom>=o.bottom&&E.page.left>=o.left+r.left&&E.page.right>=o.right){var s=e.scrollTop,l=e.scrollLeft;E.offset={top:E.page.top-o.top+s-r.top,left:E.page.left-o.left+l-r.left}}}(),this.move(E),this.history.unshift(E),this.history.length>3&&this.history.pop(),e&&_(),!0}}},{key:"move",value:function(t){var e=this;if("undefined"!=typeof this.element.parentNode){var o={};for(var n in t){o[n]={};for(var i in t[n]){for(var r=!1,s=0;s<this.history.length;++s){var a=this.history[s];if("undefined"!=typeof a[n]&&!y(a[n][i],t[n][i])){r=!0;break}}r||(o[n][i]=!0)}}var l={top:"",left:"",right:"",bottom:""},d=function(t,o){var n="undefined"!=typeof e.options.optimizations,i=n?e.options.optimizations.gpu:null;if(i!==!1){var r=void 0,s=void 0;if(t.top?(l.top=0,r=o.top):(l.bottom=0,r=-o.bottom),t.left?(l.left=0,s=o.left):(l.right=0,s=-o.right),window.matchMedia){var a=window.matchMedia("only screen and (min-resolution: 1.3dppx)").matches||window.matchMedia("only screen and (-webkit-min-device-pixel-ratio: 1.3)").matches;a||(s=Math.round(s),r=Math.round(r))}l[L]="translateX("+s+"px) translateY("+r+"px)","msTransform"!==L&&(l[L]+=" translateZ(0)")}else t.top?l.top=o.top+"px":l.bottom=o.bottom+"px",t.left?l.left=o.left+"px":l.right=o.right+"px"},u=!1;if((o.page.top||o.page.bottom)&&(o.page.left||o.page.right)?(l.position="absolute",d(o.page,t.page)):(o.viewport.top||o.viewport.bottom)&&(o.viewport.left||o.viewport.right)?(l.position="fixed",d(o.viewport,t.viewport)):"undefined"!=typeof o.offset&&o.offset.top&&o.offset.left?!function(){l.position="absolute";var n=e.cache("target-offsetparent",function(){return f(e.target)});f(e.element)!==n&&k(function(){e.element.parentNode.removeChild(e.element),n.appendChild(e.element)}),d(o.offset,t.offset),u=!0}():(l.position="absolute",d({top:!0,left:!0},t.page)),!u){for(var p=!0,c=this.element.parentNode;c&&1===c.nodeType&&"BODY"!==c.tagName;){if("static"!==getComputedStyle(c).position){p=!1;break}c=c.parentNode}p||(this.element.parentNode.removeChild(this.element),this.element.ownerDocument.body.appendChild(this.element))}var g={},m=!1;for(var i in l){var v=l[i],b=this.element.style[i];b!==v&&(m=!0,g[i]=v)}m&&k(function(){h(e.element.style,g),e.trigger("repositioned")})}}}]),e}(B);I.modules=[],x.position=X;var $=h(I,x),z=function(){function t(t,e){var o=[],n=!0,i=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);n=!0);}catch(f){i=!0,r=f}finally{try{!n&&a["return"]&&a["return"]()}finally{if(i)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),Y=x.Utils,a=Y.getBounds,h=Y.extend,m=Y.updateClasses,k=Y.defer,G=["left","top","right","bottom"];x.modules.push({position:function(t){var e=this,o=t.top,n=t.left,i=t.targetAttachment;if(!this.options.constraints)return!0;var r=this.cache("element-bounds",function(){return a(e.element)}),s=r.height,f=r.width;if(0===f&&0===s&&"undefined"!=typeof this.lastSize){var l=this.lastSize;f=l.width,s=l.height}var d=this.cache("target-bounds",function(){return e.getTargetBounds()}),u=d.height,p=d.width,c=[this.getClass("pinned"),this.getClass("out-of-bounds")];this.options.constraints.forEach(function(t){var e=t.outOfBoundsClass,o=t.pinnedClass;e&&c.push(e),o&&c.push(o)}),c.forEach(function(t){["left","top","right","bottom"].forEach(function(e){c.push(t+"-"+e)})});var g=[],v=h({},i),y=h({},this.attachment);return this.options.constraints.forEach(function(t){var r=t.to,a=t.attachment,l=t.pin;"undefined"==typeof a&&(a="");var h=void 0,d=void 0;if(a.indexOf(" ")>=0){var c=a.split(" "),m=z(c,2);d=m[0],h=m[1]}else h=d=a;var b=O(e,r);("target"===d||"both"===d)&&(o<b[1]&&"top"===v.top&&(o+=u,v.top="bottom"),o+s>b[3]&&"bottom"===v.top&&(o-=u,v.top="top")),"together"===d&&("top"===v.top&&("bottom"===y.top&&o<b[1]?(o+=u,v.top="bottom",o+=s,y.top="top"):"top"===y.top&&o+s>b[3]&&o-(s-u)>=b[1]&&(o-=s-u,v.top="bottom",y.top="bottom")),"bottom"===v.top&&("top"===y.top&&o+s>b[3]?(o-=u,v.top="top",o-=s,y.top="bottom"):"bottom"===y.top&&o<b[1]&&o+(2*s-u)<=b[3]&&(o+=s-u,v.top="top",y.top="top")),"middle"===v.top&&(o+s>b[3]&&"top"===y.top?(o-=s,y.top="bottom"):o<b[1]&&"bottom"===y.top&&(o+=s,y.top="top"))),("target"===h||"both"===h)&&(n<b[0]&&"left"===v.left&&(n+=p,v.left="right"),n+f>b[2]&&"right"===v.left&&(n-=p,v.left="left")),"together"===h&&(n<b[0]&&"left"===v.left?"right"===y.left?(n+=p,v.left="right",n+=f,y.left="left"):"left"===y.left&&(n+=p,v.left="right",n-=f,y.left="right"):n+f>b[2]&&"right"===v.left?"left"===y.left?(n-=p,v.left="left",n-=f,y.left="right"):"right"===y.left&&(n-=p,v.left="left",n+=f,y.left="left"):"center"===v.left&&(n+f>b[2]&&"left"===y.left?(n-=f,y.left="right"):n<b[0]&&"right"===y.left&&(n+=f,y.left="left"))),("element"===d||"both"===d)&&(o<b[1]&&"bottom"===y.top&&(o+=s,y.top="top"),o+s>b[3]&&"top"===y.top&&(o-=s,y.top="bottom")),("element"===h||"both"===h)&&(n<b[0]&&("right"===y.left?(n+=f,y.left="left"):"center"===y.left&&(n+=f/2,y.left="left")),n+f>b[2]&&("left"===y.left?(n-=f,y.left="right"):"center"===y.left&&(n-=f/2,y.left="right"))),"string"==typeof l?l=l.split(",").map(function(t){return t.trim()}):l===!0&&(l=["top","left","right","bottom"]),l=l||[];var w=[],C=[];o<b[1]&&(l.indexOf("top")>=0?(o=b[1],w.push("top")):C.push("top")),o+s>b[3]&&(l.indexOf("bottom")>=0?(o=b[3]-s,w.push("bottom")):C.push("bottom")),n<b[0]&&(l.indexOf("left")>=0?(n=b[0],w.push("left")):C.push("left")),n+f>b[2]&&(l.indexOf("right")>=0?(n=b[2]-f,w.push("right")):C.push("right")),w.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.pinnedClass?e.options.pinnedClass:e.getClass("pinned"),g.push(t),w.forEach(function(e){g.push(t+"-"+e)})}(),C.length&&!function(){var t=void 0;t="undefined"!=typeof e.options.outOfBoundsClass?e.options.outOfBoundsClass:e.getClass("out-of-bounds"),g.push(t),C.forEach(function(e){g.push(t+"-"+e)})}(),(w.indexOf("left")>=0||w.indexOf("right")>=0)&&(y.left=v.left=!1),(w.indexOf("top")>=0||w.indexOf("bottom")>=0)&&(y.top=v.top=!1),(v.top!==i.top||v.left!==i.left||y.top!==e.attachment.top||y.left!==e.attachment.left)&&(e.updateAttachClasses(y,v),e.trigger("update",{attachment:y,targetAttachment:v}))}),k(function(){e.options.addTargetClasses!==!1&&m(e.target,g,c),m(e.element,g,c)}),{top:o,left:n}}});var Y=x.Utils,a=Y.getBounds,m=Y.updateClasses,k=Y.defer;x.modules.push({position:function(t){var e=this,o=t.top,n=t.left,i=this.cache("element-bounds",function(){return a(e.element)}),r=i.height,s=i.width,f=this.getTargetBounds(),l=o+r,h=n+s,d=[];o<=f.bottom&&l>=f.top&&["left","right"].forEach(function(t){var e=f[t];(e===n||e===h)&&d.push(t)}),n<=f.right&&h>=f.left&&["top","bottom"].forEach(function(t){var e=f[t];(e===o||e===l)&&d.push(t)});var u=[],p=[],c=["left","top","right","bottom"];return u.push(this.getClass("abutted")),c.forEach(function(t){u.push(e.getClass("abutted")+"-"+t)}),d.length&&p.push(this.getClass("abutted")),d.forEach(function(t){p.push(e.getClass("abutted")+"-"+t)}),k(function(){e.options.addTargetClasses!==!1&&m(e.target,p,u),m(e.element,p,u)}),!0}});var z=function(){function t(t,e){var o=[],n=!0,i=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!e||o.length!==e);n=!0);}catch(f){i=!0,r=f}finally{try{!n&&a["return"]&&a["return"]()}finally{if(i)throw r}}return o}return function(e,o){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,o);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();return x.modules.push({position:function(t){var e=t.top,o=t.left;if(this.options.shift){var n=this.options.shift;"function"==typeof this.options.shift&&(n=this.options.shift.call(this,{top:e,left:o}));var i=void 0,r=void 0;if("string"==typeof n){n=n.split(" "),n[1]=n[1]||n[0];var s=n,a=z(s,2);i=a[0],r=a[1],i=parseFloat(i,10),r=parseFloat(r,10)}else i=n.top,r=n.left;return e+=i,o+=r,{top:e,left:o}}}}),$}); \ No newline at end of file
diff --git a/js/tests/visual/alert.html b/js/tests/visual/alert.html
index f99c2d242..5425b3507 100644
--- a/js/tests/visual/alert.html
+++ b/js/tests/visual/alert.html
@@ -3,7 +3,6 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
<title>Alert</title>
</head>
@@ -45,7 +44,7 @@
</div>
</div>
- <script src="../vendor/jquery.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/jquery-slim.min.js"></script>
<script src="../../dist/util.js"></script>
<script src="../../dist/alert.js"></script>
</body>
diff --git a/js/tests/visual/button.html b/js/tests/visual/button.html
index e2364d781..79cfa0248 100644
--- a/js/tests/visual/button.html
+++ b/js/tests/visual/button.html
@@ -3,7 +3,6 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
<title>Button</title>
</head>
@@ -45,7 +44,7 @@
</div>
</div>
- <script src="../vendor/jquery.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/jquery-slim.min.js"></script>
<script src="../../dist/util.js"></script>
<script src="../../dist/button.js"></script>
</body>
diff --git a/js/tests/visual/carousel.html b/js/tests/visual/carousel.html
index b26fb4a0d..27a21efd6 100644
--- a/js/tests/visual/carousel.html
+++ b/js/tests/visual/carousel.html
@@ -3,7 +3,6 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
<title>Carousel</title>
</head>
@@ -19,58 +18,38 @@
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
- <div class="carousel-inner" role="listbox">
+ <div class="carousel-inner">
<div class="carousel-item active">
- <img src="https://37.media.tumblr.com/tumblr_m8tay0JcfG1qa42jro1_1280.jpg" alt="First slide">
+ <img src="http://i.imgur.com/iEZgY7Y.jpg" alt="First slide">
</div>
<div class="carousel-item">
- <img src="https://37.media.tumblr.com/tumblr_m8tazfiVYJ1qa42jro1_1280.jpg" alt="Second slide">
+ <img src="http://i.imgur.com/eNWn1Xs.jpg" alt="Second slide">
</div>
<div class="carousel-item">
- <img src="https://38.media.tumblr.com/tumblr_m8tb2rVsD31qa42jro1_1280.jpg" alt="Third slide">
+ <img src="http://i.imgur.com/Nm7xoti.jpg" alt="Third slide">
</div>
</div>
- <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
- <span class="icon-prev" aria-hidden="true"></span>
+ <a class="carousel-control-prev" href="#carousel-example-generic" role="button" data-slide="prev">
+ <span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
- <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
- <span class="icon-next" aria-hidden="true"></span>
+ <a class="carousel-control-next" href="#carousel-example-generic" role="button" data-slide="next">
+ <span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
- <script src="../vendor/jquery.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/jquery-slim.min.js"></script>
<script src="../../dist/util.js"></script>
<script src="../../dist/carousel.js"></script>
<script>
- // Should throw an error because carousel is in transition
- function testCarouselTransitionError() {
- var err = false
- var $carousel = $('#carousel-example-generic')
- $carousel.on('slid.bs.carousel', function () {
- $carousel.off('slid.bs.carousel')
- if (!err) {
- alert('No error thrown for : testCarouselTransitionError')
- }
- })
- try {
- $carousel.carousel('next').carousel('prev')
- }
- catch (e) {
- err = true
- console.error(e.message)
- }
- }
-
- $(function () {
+ $(function() {
// Test to show that the carousel doesn't slide when the current tab isn't visible
- $('#carousel-example-generic').on('slid.bs.carousel', function (event) {
+ $('#carousel-example-generic').on('slid.bs.carousel', function(event) {
console.log('slid at ', event.timeStamp)
})
- testCarouselTransitionError()
})
</script>
</body>
diff --git a/js/tests/visual/collapse.html b/js/tests/visual/collapse.html
index 47ac06fd2..fe45c1804 100644
--- a/js/tests/visual/collapse.html
+++ b/js/tests/visual/collapse.html
@@ -3,7 +3,6 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
<title>Collapse</title>
</head>
@@ -11,17 +10,17 @@
<div class="container">
<h1>Collapse <small>Bootstrap Visual Test</small></h1>
- <div id="accordion" role="tablist" aria-multiselectable="true">
+ <div id="accordion" role="tablist">
<div class="card">
<div class="card-header" role="tab" id="headingOne">
<h5 class="mb-0">
- <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
+ <a data-toggle="collapse" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Collapsible Group Item #1
</a>
</h5>
</div>
- <div id="collapseOne" class="collapse show" role="tabpanel" aria-labelledby="headingOne">
+ <div id="collapseOne" class="collapse show" data-parent="#accordion" role="tabpanel" aria-labelledby="headingOne">
<div class="card-block">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
@@ -30,12 +29,12 @@
<div class="card">
<div class="card-header" role="tab" id="headingTwo">
<h5 class="mb-0">
- <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
+ <a class="collapsed" data-toggle="collapse" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Collapsible Group Item #2
</a>
</h5>
</div>
- <div id="collapseTwo" class="collapse" role="tabpanel" aria-labelledby="headingTwo">
+ <div id="collapseTwo" class="collapse" data-parent="#accordion" role="tabpanel" aria-labelledby="headingTwo">
<div class="card-block">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
@@ -44,12 +43,12 @@
<div class="card">
<div class="card-header" role="tab" id="headingThree">
<h5 class="mb-0">
- <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
+ <a class="collapsed" data-toggle="collapse" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Collapsible Group Item #3
</a>
</h5>
</div>
- <div id="collapseThree" class="collapse" role="tabpanel" aria-labelledby="headingThree">
+ <div id="collapseThree" class="collapse" data-parent="#accordion" role="tabpanel" aria-labelledby="headingThree">
<div class="card-block">
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
</div>
@@ -58,33 +57,8 @@
</div>
</div>
- <script src="../vendor/jquery.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/jquery-slim.min.js"></script>
<script src="../../dist/util.js"></script>
<script src="../../dist/collapse.js"></script>
- <script>
- // JavaScript Test
- $(function () {
- testCollapseTransitionError()
- });
-
- // Should throw an error because carousel is in transition
- function testCollapseTransitionError() {
- var err = false
- $('#collapseOne').on('hidden.bs.collapse', function (e) {
- $(this).off('hidden.bs.collapse')
- if (!err) {
- alert('No error thrown for : testCollapseTransitionError')
- }
- })
-
- try {
- $('#collapseOne').collapse('hide').collapse('show')
- }
- catch (e) {
- err = true
- console.error(e.message)
- }
- }
- </script>
</body>
</html>
diff --git a/js/tests/visual/dropdown.html b/js/tests/visual/dropdown.html
index 4bea32c14..fee096c6c 100644
--- a/js/tests/visual/dropdown.html
+++ b/js/tests/visual/dropdown.html
@@ -3,7 +3,6 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
<title>Dropdown</title>
</head>
@@ -11,11 +10,14 @@
<div class="container">
<h1>Dropdown <small>Bootstrap Visual Test</small></h1>
- <nav class="navbar navbar-light bg-faded">
- <button class="navbar-toggler hidden-lg-up" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"></button>
- <div class="collapse navbar-toggleable-md" id="navbarResponsive">
- <a class="navbar-brand" href="#">Navbar</a>
- <ul class="nav navbar-nav">
+ <nav class="navbar navbar-expand-md navbar-light bg-faded">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <div class="collapse navbar-collapse" id="navbarResponsive">
+ <ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
@@ -56,9 +58,67 @@
</div>
</li>
</ul>
- </div>
- <script src="../vendor/jquery.min.js"></script>
+ <div class="row">
+ <div class="col-sm-12 mt-4">
+ <div class="btn-group dropup">
+ <button type="button" class="btn btn-secondary">Dropup split</button>
+ <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ <span class="sr-only">Dropup split</span>
+ </button>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ </div>
+ </div>
+
+ <div class="btn-group dropup">
+ <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropup</button>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ </div>
+ </div>
+
+ <div class="btn-group">
+ <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ This dropdown's menu is right-aligned
+ </button>
+ <div class="dropdown-menu dropdown-menu-right">
+ <button class="dropdown-item" type="button">Action</button>
+ <button class="dropdown-item" type="button">Another action</button>
+ <button class="dropdown-item" type="button">Something else here</button>
+ </div>
+ </div>
+ </div>
+ <div class="col-sm-12 mt-4">
+ <div class="btn-group dropup" role="group">
+ <a href="#" class="btn btn-secondary">Dropup split align right</a>
+ <button type="button" id="dropdown-page-subheader-button-3" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ <span class="sr-only">Product actions</span>
+ </button>
+ <div class="dropdown-menu dropdown-menu-right">
+ <button class="dropdown-item" type="button">Action</button>
+ <button class="dropdown-item" type="button">Another action</button>
+ <button class="dropdown-item" type="button">Something else here with a long text</button>
+ </div>
+ </div>
+ <div class="btn-group dropup">
+ <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropup align right</button>
+ <div class="dropdown-menu dropdown-menu-right">
+ <button class="dropdown-item" type="button">Action</button>
+ <button class="dropdown-item" type="button">Another action</button>
+ <button class="dropdown-item" type="button">Something else here with a long text</button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <script src="../../../docs/assets/js/vendor/jquery-slim.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/popper.min.js"></script>
<script src="../../dist/util.js"></script>
<script src="../../dist/dropdown.js"></script>
<script src="../../dist/collapse.js"></script>
diff --git a/js/tests/visual/modal.html b/js/tests/visual/modal.html
index 361bf6b87..def62b031 100644
--- a/js/tests/visual/modal.html
+++ b/js/tests/visual/modal.html
@@ -3,7 +3,6 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
<title>Modal</title>
<style>
@@ -16,9 +15,9 @@
<body>
<nav class="navbar navbar-full navbar-dark bg-inverse">
<button class="navbar-toggler hidden-lg-up" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"></button>
- <div class="collapse navbar-toggleable-md" id="navbarResponsive">
+ <div class="collapse navbar-expand-md" id="navbarResponsive">
<a class="navbar-brand" href="#">This shouldn't jump!</a>
- <ul class="nav navbar-nav">
+ <ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
@@ -55,7 +54,7 @@
<h4>Tooltips in a modal</h4>
<p><a href="#" data-toggle="tooltip" data-placement="top" title="Tooltip on top">This link</a> and <a href="#" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">that link</a> should have tooltips on hover.</p>
- <div id="accordion" role="tablist" aria-multiselectable="true">
+ <div id="accordion" role="tablist">
<div class="card">
<div class="card-header" role="tab" id="headingOne">
<h5 class="mb-0">
@@ -170,8 +169,8 @@
</div>
</div>
- <script src="../vendor/jquery.min.js"></script>
- <script src="../vendor/tether.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/jquery-slim.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/popper.min.js"></script>
<script src="../../dist/util.js"></script>
<script src="../../dist/modal.js"></script>
<script src="../../dist/collapse.js"></script>
@@ -188,26 +187,6 @@
}
}
- // Should throw an error because modal is in transition
- function testModalTransitionError() {
- var err = false
- // Close #myModal
- $('#myModal').on('shown.bs.modal', function () {
- $('#myModal').modal('hide').off('shown.bs.modal')
- if (!err) {
- alert('No error thrown for : testModalTransitionError')
- }
- })
-
- try {
- $('#myModal').modal('show').modal('hide')
- }
- catch (e) {
- err = true
- console.error(e.message)
- }
- }
-
$(function () {
$('[data-toggle="popover"]').popover()
$('[data-toggle="tooltip"]').tooltip()
@@ -220,7 +199,6 @@
$('#firefoxModal').on('focus', reportFirefoxTestResult.bind(false))
$('#ff-bug-input').on('focus', reportFirefoxTestResult.bind(true))
})
- testModalTransitionError()
})
</script>
</body>
diff --git a/js/tests/visual/popover.html b/js/tests/visual/popover.html
index 75fb926c1..2354abf42 100644
--- a/js/tests/visual/popover.html
+++ b/js/tests/visual/popover.html
@@ -3,7 +3,6 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
<title>Popover</title>
</head>
@@ -11,7 +10,11 @@
<div class="container">
<h1>Popover <small>Bootstrap Visual Test</small></h1>
- <button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
+ <button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="auto" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
+ Popover on auto
+ </button>
+
+ <button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="top" data-content="Default placement was on top but not enough place">
Popover on top
</button>
@@ -29,8 +32,8 @@
</button>
</div>
- <script src="../vendor/jquery.min.js"></script>
- <script src="../vendor/tether.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/jquery-slim.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/popper.min.js"></script>
<script src="../../dist/util.js"></script>
<script src="../../dist/tooltip.js"></script>
<script src="../../dist/popover.js"></script>
diff --git a/js/tests/visual/scrollspy.html b/js/tests/visual/scrollspy.html
index 337611126..0f115e035 100644
--- a/js/tests/visual/scrollspy.html
+++ b/js/tests/visual/scrollspy.html
@@ -3,7 +3,6 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
<title>Scrollspy</title>
<style>
@@ -11,10 +10,13 @@
</style>
</head>
<body data-spy="scroll" data-target=".navbar" data-offset="70">
- <div class="container">
- <nav class="navbar navbar-fixed-top navbar-dark bg-inverse">
- <a class="navbar-brand" href="#">Scrollspy test</a>
- <ul class="nav navbar-nav">
+ <nav class="navbar navbar-expand-md navbar-inverse bg-inverse fixed-top">
+ <a class="navbar-brand" href="#">Scrollspy test</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="navbar-collapse collapse" id="navbarSupportedContent">
+ <ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="#fat">@fat</a>
</li>
@@ -24,18 +26,18 @@
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="dropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
<div class="dropdown-menu" aria-labelledby="dropdown">
- <a class="dropdown-item" href="#one">one</a>
- <a class="dropdown-item" href="#two">two</a>
- <div class="dropdown-divider"></div>
- <a class="dropdown-item" href="#three">three</a>
+ <a class="dropdown-item" href="#one">One</a>
+ <a class="dropdown-item" href="#two">Two</a>
+ <a class="dropdown-item" href="#three">Three</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="#final">Final</a>
</li>
</ul>
- </nav>
-
+ </div>
+ </nav>
+ <div class="container">
<h2 id="fat">@fat</h2>
<p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
<p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
@@ -66,7 +68,7 @@
<hr>
<h2 id="three">three</h2>
<p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
- <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.
+ <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.</p>
<p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
<p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
<p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
@@ -84,7 +86,8 @@
<p>Ad leggings keytar, brunch id art party dolor labore.</p>
</div>
- <script src="../vendor/jquery.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/jquery-slim.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/popper.min.js"></script>
<script src="../../dist/util.js"></script>
<script src="../../dist/scrollspy.js"></script>
<script src="../../dist/dropdown.js"></script>
diff --git a/js/tests/visual/tab.html b/js/tests/visual/tab.html
index 14481cac5..e747302db 100644
--- a/js/tests/visual/tab.html
+++ b/js/tests/visual/tab.html
@@ -3,7 +3,6 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
<title>Tab</title>
<style>
@@ -72,7 +71,7 @@
</ul>
<div class="tab-content" role="tablist">
- <div class="tab-pane fade in active" id="home2" role="tabpanel">
+ <div class="tab-pane fade show active" id="home2" role="tabpanel">
<p>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.</p>
<p>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.</p>
</div>
@@ -163,9 +162,69 @@
<p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
</div>
</div>
- </div>
- <script src="../vendor/jquery.min.js"></script>
+ <h4>Tabs with nav (with fade)</h4>
+ <nav class="nav nav-pills">
+ <a class="nav-link nav-item active" data-toggle="tab" href="#home5">Home</a>
+ <a class="nav-link nav-item" data-toggle="tab" href="#profile5">Profile</a>
+ <div class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" id="dropdown5" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown5">
+ <a class="dropdown-item" data-toggle="tab" href="#fat5">@fat</a>
+ <a class="dropdown-item" data-toggle="tab" href="#mdo5">@mdo</a>
+ </div>
+ </div>
+ <a class="nav-link nav-item disabled" href="#">Disabled</a>
+ </nav>
+
+ <div class="tab-content" role="tabpanel">
+ <div role="tabpanel" class="tab-pane fade show active" id="home5">
+ <p>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.</p>
+ <p>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.</p>
+ </div>
+ <div role="tabpanel" class="tab-pane fade" id="profile5">
+ <p>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.</p>
+ <p>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.</p>
+ </div>
+ <div class="tab-pane fade" id="fat5" role="tabpanel">
+ <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+ <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+ </div>
+ <div class="tab-pane fade" id="mdo5" role="tabpanel">
+ <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+ <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+ </div>
+ </div>
+
+ <h4>Tabs with list-group (with fade)</h4>
+ <div class="row">
+ <div class="col-4">
+ <div class="list-group" id="list-tab" role="tablist">
+ <a class="list-group-item list-group-item-action active" id="list-home-list" data-toggle="tab" href="#list-home" role="tab" aria-controls="home">Home</a>
+ <a class="list-group-item list-group-item-action" id="list-profile-list" data-toggle="tab" href="#list-profile" role="tab" aria-controls="profile">Profile</a>
+ <a class="list-group-item list-group-item-action" id="list-messages-list" data-toggle="tab" href="#list-messages" role="tab" aria-controls="messages">Messages</a>
+ <a class="list-group-item list-group-item-action" id="list-settings-list" data-toggle="tab" href="#list-settings" role="tab" aria-controls="settings">Settings</a>
+ </div>
+ </div>
+ <div class="col-8">
+ <div class="tab-content" id="nav-tabContent">
+ <div class="tab-pane fade show active" id="list-home" role="tabpanel" aria-labelledby="list-home-list">
+ <p>Velit aute mollit ipsum ad dolor consectetur nulla officia culpa adipisicing exercitation fugiat tempor. Voluptate deserunt sit sunt nisi aliqua fugiat proident ea ut. Mollit voluptate reprehenderit occaecat nisi ad non minim tempor sunt voluptate consectetur exercitation id ut nulla. Ea et fugiat aliquip nostrud sunt incididunt consectetur culpa aliquip eiusmod dolor. Anim ad Lorem aliqua in cupidatat nisi enim eu nostrud do aliquip veniam minim.</p>
+ </div>
+ <div class="tab-pane fade" id="list-profile" role="tabpanel" aria-labelledby="list-profile-list">
+ <p>Cupidatat quis ad sint excepteur laborum in esse qui. Et excepteur consectetur ex nisi eu do cillum ad laborum. Mollit et eu officia dolore sunt Lorem culpa qui commodo velit ex amet id ex. Officia anim incididunt laboris deserunt anim aute dolor incididunt veniam aute dolore do exercitation. Dolor nisi culpa ex ad irure in elit eu dolore. Ad laboris ipsum reprehenderit irure non commodo enim culpa commodo veniam incididunt veniam ad.</p>
+ </div>
+ <div class="tab-pane fade" id="list-messages" role="tabpanel" aria-labelledby="list-messages-list">
+ <p>Ut ut do pariatur aliquip aliqua aliquip exercitation do nostrud commodo reprehenderit aute ipsum voluptate. Irure Lorem et laboris nostrud amet cupidatat cupidatat anim do ut velit mollit consequat enim tempor. Consectetur est minim nostrud nostrud consectetur irure labore voluptate irure. Ipsum id Lorem sit sint voluptate est pariatur eu ad cupidatat et deserunt culpa sit eiusmod deserunt. Consectetur et fugiat anim do eiusmod aliquip nulla laborum elit adipisicing pariatur cillum.</p>
+ </div>
+ <div class="tab-pane fade" id="list-settings" role="tabpanel" aria-labelledby="list-settings-list">
+ <p>Irure enim occaecat labore sit qui aliquip reprehenderit amet velit. Deserunt ullamco ex elit nostrud ut dolore nisi officia magna sit occaecat laboris sunt dolor. Nisi eu minim cillum occaecat aute est cupidatat aliqua labore aute occaecat ea aliquip sunt amet. Aute mollit dolor ut exercitation irure commodo non amet consectetur quis amet culpa. Quis ullamco nisi amet qui aute irure eu. Magna labore dolor quis ex labore id nostrud deserunt dolor eiusmod eu pariatur culpa mollit in irure.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <script src="../../../docs/assets/js/vendor/jquery-slim.min.js"></script>
<script src="../../dist/util.js"></script>
<script src="../../dist/tab.js"></script>
<script src="../../dist/dropdown.js"></script>
diff --git a/js/tests/visual/tooltip.html b/js/tests/visual/tooltip.html
index 6cd33e7e6..172cb29ad 100644
--- a/js/tests/visual/tooltip.html
+++ b/js/tests/visual/tooltip.html
@@ -3,9 +3,21 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
<title>Tooltip</title>
+ <style>
+ #target {
+ border: 1px solid;
+ width: 100px;
+ height: 50px;
+ border: 1px solid;
+ margin-left: 50px;
+ -webkit-transform: rotate(270deg);
+ -ms-transform: rotate(270deg);
+ transform: rotate(270deg);
+ margin-top: 100px;
+ }
+ </style>
</head>
<body>
<div class="container">
@@ -16,6 +28,9 @@
<hr>
<p>
+ <button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="auto" title="Tooltip on auto">
+ Tooltip on auto
+ </button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">
Tooltip on top
</button>
@@ -31,37 +46,26 @@
<button type="button" class="btn btn-secondary" data-toggle="tooltip" data-html="true" title="<em>Tooltip</em> <u>with</u> <b>HTML</b>">
Tooltip with HTML
</button>
+ <svg width="30" height="20">
+ <circle cx="15" cy="10" r="10" fill="#62448F" data-toggle="tooltip" data-placement="top" title="Tooltip on SVG" />
+ </svg>
</p>
+ <div id="target" title="Test tooltip on transformed element"></div>
</div>
- <script src="../vendor/jquery.min.js"></script>
- <script src="../vendor/tether.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/jquery-slim.min.js"></script>
+ <script src="../../../docs/assets/js/vendor/popper.min.js"></script>
<script src="../../dist/util.js"></script>
<script src="../../dist/tooltip.js"></script>
<script>
$(function () {
$('[data-toggle="tooltip"]').tooltip()
- testTooltipTransitionError()
+ $('#target').tooltip({
+ placement : 'top',
+ trigger : 'manual'
+ }).tooltip('show')
})
-
- // Should throw an error because tooltip is in transition
- function testTooltipTransitionError() {
- var err = false
- $('#btnOne').on('shown.bs.tooltip', function () {
- $('#btnOne').tooltip('hide').off('shown.bs.tooltip')
- if (!err) {
- alert('No error thrown for : testTooltipTransitionError')
- }
- })
- try {
- $('#btnOne').tooltip('show').tooltip('hide')
- }
- catch (e) {
- err = true
- console.error(e.message)
- }
- }
</script>
</body>
</html>
diff --git a/nuget/bootstrap.nuspec b/nuget/bootstrap.nuspec
index dd11321b9..bbb458263 100644
--- a/nuget/bootstrap.nuspec
+++ b/nuget/bootstrap.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>bootstrap</id>
- <version>4.0.0-alpha.3</version>
+ <version>4.0.0</version>
<title>Bootstrap CSS</title>
<authors>The Bootstrap Authors, Twitter Inc.</authors>
<owners>bootstrap</owners>
@@ -13,12 +13,12 @@
<projectUrl>https://getbootstrap.com</projectUrl>
<iconUrl>https://getbootstrap.com/apple-touch-icon.png</iconUrl>
<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
- <copyright>Copyright 2016</copyright>
+ <copyright>Copyright 2017</copyright>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<dependencies>
- <dependency id="jQuery" version="3.0.0.1" />
+ <dependency id="jQuery" version="[1.9.1,4)" />
</dependencies>
- <tags>css js less mobile-first responsive front-end framework web</tags>
+ <tags>css mobile-first responsive front-end framework web</tags>
</metadata>
<files>
<file src="dist\css\*.*" target="content\Content" />
diff --git a/nuget/bootstrap.sass.nuspec b/nuget/bootstrap.sass.nuspec
index 09dab66c4..aba443c2a 100644
--- a/nuget/bootstrap.sass.nuspec
+++ b/nuget/bootstrap.sass.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>bootstrap.sass</id>
- <version>4.0.0-alpha.3</version>
+ <version>4.0.0</version>
<title>Bootstrap Sass</title>
<authors>The Bootstrap Authors, Twitter Inc.</authors>
<owners>bootstrap</owners>
@@ -13,12 +13,12 @@
<projectUrl>https://getbootstrap.com</projectUrl>
<iconUrl>https://getbootstrap.com/apple-touch-icon.png</iconUrl>
<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
- <copyright>Copyright 2016</copyright>
+ <copyright>Copyright 2017</copyright>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<dependencies>
- <dependency id="jQuery" version="3.0.0.1" />
+ <dependency id="jQuery" version="[1.9.1,4)" />
</dependencies>
- <tags>css js less mobile-first responsive front-end framework web</tags>
+ <tags>css sass mobile-first responsive front-end framework web</tags>
</metadata>
<files>
<file src="scss\**\*.scss" target="content\Content\bootstrap" />
diff --git a/package.js b/package.js
index a15a51d2c..ce21bad9e 100644
--- a/package.js
+++ b/package.js
@@ -5,7 +5,7 @@
Package.describe({
name: 'twbs:bootstrap', // https://atmospherejs.com/twbs/bootstrap
summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.',
- version: '4.0.0-alpha.5',
+ version: '4.0.0-alpha.6',
git: 'https://github.com/twbs/bootstrap.git'
});
diff --git a/package.json b/package.json
index 4767a2538..881a5b806 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "bootstrap",
"description": "The most popular front-end framework for developing responsive, mobile first projects on the web.",
- "version": "4.0.0-alpha.5",
+ "version": "4.0.0-alpha.6",
"keywords": [
"css",
"sass",
@@ -17,20 +17,46 @@
"Twitter, Inc."
],
"scripts": {
- "change-version": "node grunt/change-version.js",
- "clean-css": "cleancss --skip-advanced --source-map --output dist/css/bootstrap.min.css dist/css/bootstrap.css && cleancss --skip-advanced --source-map --output dist/css/bootstrap-grid.min.css dist/css/bootstrap-grid.css && cleancss --skip-advanced --source-map --output dist/css/bootstrap-reboot.min.css dist/css/bootstrap-reboot.css",
- "clean-css-docs": "cleancss --skip-advanced --source-map --output docs/assets/css/docs.min.css docs/assets/css/docs.min.css",
- "eslint": "eslint --ignore-path .eslintignore js",
- "jscs": "jscs --config=js/.jscsrc js/src js/tests/unit docs/assets/js/src grunt Gruntfile.js docs/assets/js/ie-emulation-modes-warning.js docs/assets/js/ie10-viewport-bug-workaround.js",
- "htmlhint": "htmlhint --config docs/.htmlhintrc _gh_pages/",
- "postcss": "postcss --config grunt/postcss.js --replace dist/css/*.css",
- "postcss-docs": "postcss --config grunt/postcss.js --no-map --replace docs/assets/css/docs.min.css && postcss --config grunt/postcss.js --no-map --replace docs/examples/**/*.css",
- "scss-lint": "bundle exec scss-lint --config scss/.scss-lint.yml --exclude scss/_normalize.scss scss/*.scss",
- "scss-lint-docs": "bundle exec scss-lint --config scss/.scss-lint.yml --exclude docs/assets/scss/docs.scss docs/assets/scss/*.scss",
- "uglify": "uglifyjs --compress warnings=false --mangle --comments '/^!/' --output dist/js/bootstrap.min.js dist/js/bootstrap.js",
- "uglify-docs": "uglifyjs --compress warnings=false --mangle --comments '/^!/' --output docs/assets/js/docs.min.js docs/assets/js/vendor/*.js docs/assets/js/src/application.js",
- "update-shrinkwrap": "npm shrinkwrap --dev && shx mv ./npm-shrinkwrap.json ./grunt/npm-shrinkwrap.json",
- "test": "npm run eslint && npm run jscs && grunt test"
+ "bash": "bash",
+ "css": "npm-run-all css-lint css-compile css-prefix css-minify",
+ "css-docs": "npm-run-all css-lint-docs css-compile-docs css-prefix-docs css-minify-docs",
+ "css-lint": "bundle exec scss-lint --config scss/.scss-lint.yml scss/*.scss",
+ "css-lint-docs": "bundle exec scss-lint --config scss/.scss-lint.yml --exclude docs/assets/scss/docs.scss docs/assets/scss/*.scss",
+ "css-compile": "node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap.scss dist/css/bootstrap.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-grid.scss dist/css/bootstrap-grid.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-reboot.scss dist/css/bootstrap-reboot.css",
+ "css-compile-docs": "node-sass --output-style expanded --source-map true --precision 6 docs/assets/scss/docs.scss docs/assets/css/docs.min.css",
+ "css-prefix": "postcss --config build/ --replace dist/css/*.css",
+ "css-prefix-docs": "postcss --config build/ --no-map --replace docs/assets/css/docs.min.css",
+ "css-minify": "cleancss --level 1 --source-map --output dist/css/bootstrap.min.css dist/css/bootstrap.css && cleancss --level 1 --source-map --output dist/css/bootstrap-grid.min.css dist/css/bootstrap-grid.css && cleancss --level 1 --source-map --output dist/css/bootstrap-reboot.min.css dist/css/bootstrap-reboot.css",
+ "css-minify-docs": "cleancss --level 1 --source-map --output docs/assets/css/docs.min.css docs/assets/css/docs.min.css",
+ "js": "npm-run-all js-compile js-minify",
+ "js-docs": "npm-run-all js-lint-docs js-minify-docs",
+ "js-lint": "eslint js/ && eslint --config js/tests/.eslintrc.json --env node build/ Gruntfile.js",
+ "js-lint-docs": "eslint --config js/tests/.eslintrc.json docs/assets/js/",
+ "js-compile": "npm-run-all --parallel js-compile-*",
+ "js-compile-bundle": "shx cat 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 | shx sed \"s/^(import|export).*//\" | babel --filename js/src/bootstrap.js | node build/stamp.js > dist/js/bootstrap.js",
+ "js-compile-plugins": "babel js/src/ --out-dir js/dist/ --source-maps",
+ "js-minify": "uglifyjs --compress warnings=false --mangle --comments '/^!/' --output dist/js/bootstrap.min.js dist/js/bootstrap.js",
+ "js-minify-docs": "uglifyjs --compress warnings=false --mangle --comments '/^!/' --output docs/assets/js/docs.min.js docs/assets/js/vendor/anchor.min.js docs/assets/js/vendor/clipboard.min.js docs/assets/js/vendor/holder.min.js docs/assets/js/src/application.js",
+ "js-test": "phantomjs ./node_modules/qunit-phantomjs-runner/runner.js js/tests/index.html 60",
+ "js-test-dep": "npm install grunt && npm install grunt-saucelabs",
+ "js-launch-cloud": "ruby -r webrick -e \"s = WEBrick::HTTPServer.new(:Port => 3000, :DocumentRoot => Dir.pwd, :Logger => WEBrick::Log.new('/dev/null'), :AccessLog => []); trap('INT') { s.shutdown }; s.start\" & grunt saucelabs-qunit",
+ "js-test-cloud": "npm-run-all js-test-dep js-launch-cloud",
+ "docs": "npm-run-all docs-compile docs-lint",
+ "docs-lint": "htmlhint --config docs/.htmlhintrc _gh_pages/ js/tests/visual/ && htmllint --rc docs/.htmllintrc _gh_pages/*.html _gh_pages/**/*.html js/tests/visual/*.html",
+ "docs-clean": "shx rm -r docs/dist/* && shx cp -r dist/* docs/dist/",
+ "docs-compile": "npm run docs-clean && bundle exec jekyll build",
+ "docs-serve": "npm run docs-clean && bundle exec jekyll serve",
+ "docs-github": "shx echo 'github: true' > $npm_config_tmp/twbsconfig.yml && npm run docs-compile -- --config _config.yml,$npm_config_tmp/twbsconfig.yml && shx rm $npm_config_tmp/twbsconfig.yml",
+ "docs-upload-preview": "build/upload-preview.sh",
+ "maintenance-dependencies": "ncu -a -x jquery && bundle update && shx echo 'Manually update docs/assets/js/vendor/*, js/tests/vendor/*, bower.json and .travis.yml'",
+ "maintenance-shrinkwrap": "npm shrinkwrap --dev && shx mv npm-shrinkwrap.json build/npm-shrinkwrap.json",
+ "release-version": "node build/change-version.js",
+ "release-zip": "cd dist/ && zip -r9 bootstrap-$npm_package_version-dist.zip * && shx mv bootstrap-$npm_package_version-dist.zip ..",
+ "dist": "npm-run-all --parallel css js",
+ "test": "npm-run-all dist js-test docs",
+ "watch-css": "nodemon --ignore js/ --ignore dist/ -e scss -x \"npm run css && npm run css-docs\"",
+ "watch-js": "nodemon --ignore scss/ --ignore js/dist/ --ignore dist/ -e js -x \"npm run js-compile\"",
+ "watch": "npm-run-all --parallel watch-css watch-js"
},
"style": "dist/css/bootstrap.css",
"sass": "scss/bootstrap.scss",
@@ -45,52 +71,43 @@
"license": "MIT",
"dependencies": {
"jquery": ">=1.9.1",
- "tether": "^1.3.7"
+ "popper.js": "^1.9.9"
},
"devDependencies": {
- "autoprefixer": "^6.5.0",
- "babel-eslint": "^7.0.0",
- "babel-plugin-transform-es2015-modules-strip": "^0.1.0",
- "babel-preset-es2015": "^6.16.0",
- "clean-css": "^3.4.23",
- "eslint": "^3.7.1",
- "grunt": "^1.0.1",
- "grunt-babel": "^6.0.0",
- "grunt-build-control": "^0.7.1",
- "grunt-contrib-clean": "^1.0.0",
- "grunt-contrib-compress": "^1.3.0",
- "grunt-contrib-concat": "^1.0.1",
- "grunt-contrib-connect": "^1.0.2",
- "grunt-contrib-copy": "^1.0.0",
- "grunt-contrib-qunit": "^1.2.0",
- "grunt-contrib-sass": "^1.0.0",
- "grunt-contrib-watch": "^1.0.0",
- "grunt-exec": "^1.0.1",
- "grunt-html": "^8.0.2",
- "grunt-jekyll": "^0.4.4",
- "grunt-sass": "2.0.0",
- "grunt-saucelabs": "^9.0.0",
- "grunt-stamp": "^0.3.0",
+ "autoprefixer": "^6.7.7",
+ "babel-cli": "^6.24.1",
+ "babel-eslint": "^7.2.2",
+ "babel-plugin-transform-es2015-modules-strip": "^0.1.1",
+ "babel-preset-es2015": "^7.0.0-alpha.7",
+ "clean-css-cli": "^4.0.12",
+ "eslint": "^3.19.0",
"htmlhint": "^0.9.13",
- "is-travis": "^1.0.0",
- "jscs": "^3.0.7",
- "load-grunt-tasks": "^3.5.2",
- "postcss-cli": "^2.6.0",
- "postcss-flexbugs-fixes": "^2.0.0",
- "shelljs": "^0.7.4",
- "shx": "^0.2.1",
- "time-grunt": "^1.4.0",
- "uglify-js": "^2.7.5"
+ "htmllint-cli": "^0.0.6",
+ "node-sass": "^4.5.2",
+ "nodemon": "^1.11.0",
+ "npm-run-all": "^4.0.2",
+ "phantomjs-prebuilt": "^2.1.14",
+ "postcss-cli": "^3.1.1",
+ "postcss-flexbugs-fixes": "^2.1.1",
+ "qunit-phantomjs-runner": "^2.3.0",
+ "qunitjs": "^2.3.1",
+ "shelljs": "^0.7.7",
+ "shx": "^0.2.2",
+ "uglify-js": "^2.8.22"
},
"engines": {
"node": ">=4"
},
"files": [
+ ".babelrc",
+ ".eslintignore",
+ "Gruntfile.js",
"dist",
- "grunt",
+ "build",
+ "js/.eslintrc.json",
"js/**/*.js",
+ "scss/.scss-lint.yml",
"scss/**/*.scss",
- "Gruntfile.js",
"LICENSE"
],
"jspm": {
diff --git a/scss/.scss-lint.yml b/scss/.scss-lint.yml
index 9d6e7ec4e..845001ef4 100644
--- a/scss/.scss-lint.yml
+++ b/scss/.scss-lint.yml
@@ -3,9 +3,6 @@ scss_files:
- "**/*.scss"
- "docs/assets/scss/**/*.scss"
-exclude:
- - "scss/_normalize.scss"
-
plugin_directories: ['.scss-linters']
# List of gem names to load custom linters from (make sure they are already
@@ -28,8 +25,6 @@ linters:
BorderZero:
enabled: true
convention: zero # or `none`
- exclude:
- - _normalize.scss
ChainedClasses:
enabled: false
@@ -43,7 +38,6 @@ linters:
Comment:
enabled: true
exclude:
- - _normalize.scss
- bootstrap.scss
style: silent
@@ -108,8 +102,6 @@ linters:
LeadingZero:
enabled: true
style: exclude_zero # or 'include_zero'
- exclude:
- - _normalize.scss
MergeableSelector:
enabled: false
@@ -138,8 +130,6 @@ linters:
ignore_unspecified: false
min_properties: 2
separate_groups: false
- exclude:
- - _normalize.scss
order:
- position
- top
@@ -538,8 +528,6 @@ linters:
identifier_list: base
additional_identifiers: []
excluded_identifiers: []
- exclude:
- - _normalize.scss
ZeroUnit:
enabled: true
diff --git a/scss/_alert.scss b/scss/_alert.scss
index d9b4e9b27..562821a58 100644
--- a/scss/_alert.scss
+++ b/scss/_alert.scss
@@ -42,14 +42,14 @@
// Generate contextual modifier classes for colorizing the alert.
.alert-success {
- @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text);
+ @include alert-variant($alert-success-bg, $alert-success-border-color, $alert-success-text);
}
.alert-info {
- @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);
+ @include alert-variant($alert-info-bg, $alert-info-border-color, $alert-info-text);
}
.alert-warning {
- @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text);
+ @include alert-variant($alert-warning-bg, $alert-warning-border-color, $alert-warning-text);
}
.alert-danger {
- @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);
+ @include alert-variant($alert-danger-bg, $alert-danger-border-color, $alert-danger-text);
}
diff --git a/scss/_badge.scss b/scss/_badge.scss
index e5a329893..175b19d86 100644
--- a/scss/_badge.scss
+++ b/scss/_badge.scss
@@ -33,7 +33,6 @@ a.badge {
@include hover-focus {
color: $badge-link-hover-color;
text-decoration: none;
- cursor: pointer;
}
}
// scss-lint:enable QualifyingElement
diff --git a/scss/_breadcrumb.scss b/scss/_breadcrumb.scss
index 1a09bba20..2bc0e2086 100644
--- a/scss/_breadcrumb.scss
+++ b/scss/_breadcrumb.scss
@@ -1,6 +1,6 @@
.breadcrumb {
padding: $breadcrumb-padding-y $breadcrumb-padding-x;
- margin-bottom: $spacer-y;
+ margin-bottom: 1rem;
list-style: none;
background-color: $breadcrumb-bg;
@include border-radius($border-radius);
diff --git a/scss/_button-group.scss b/scss/_button-group.scss
index 1d921a74a..d4c79ab60 100644
--- a/scss/_button-group.scss
+++ b/scss/_button-group.scss
@@ -4,12 +4,13 @@
.btn-group,
.btn-group-vertical {
position: relative;
- display: flex;
+ display: inline-flex;
vertical-align: middle; // match .btn alignment given font-size hack above
> .btn {
position: relative;
flex: 0 1 auto;
+ margin-bottom: 0;
// Bring the hover, focused, and "active" buttons to the fron to overlay
// the borders properly
@@ -35,6 +36,7 @@
// Optional: Group multiple button groups together for a toolbar
.btn-toolbar {
display: flex;
+ flex-wrap: wrap;
justify-content: flex-start;
.input-group {
@@ -77,12 +79,6 @@
@include border-left-radius(0);
}
-// On active and open, don't show outline
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
- outline: 0;
-}
-
// Sizing
//
@@ -97,8 +93,8 @@
//
.btn + .dropdown-toggle-split {
- padding-right: $btn-padding-x * .75;
- padding-left: $btn-padding-x * .75;
+ padding-right: $input-btn-padding-x * .75;
+ padding-left: $input-btn-padding-x * .75;
&::after {
margin-left: 0;
@@ -106,19 +102,19 @@
}
.btn-sm + .dropdown-toggle-split {
- padding-right: $btn-padding-x-sm * .75;
- padding-left: $btn-padding-x-sm * .75;
+ padding-right: $input-btn-padding-x-sm * .75;
+ padding-left: $input-btn-padding-x-sm * .75;
}
.btn-lg + .dropdown-toggle-split {
- padding-right: $btn-padding-x-lg * .75;
- padding-left: $btn-padding-x-lg * .75;
+ padding-right: $input-btn-padding-x-lg * .75;
+ padding-left: $input-btn-padding-x-lg * .75;
}
// The clickable button for toggling the menu
-// Remove the gradient and set the same inset shadow as the :active state
-.btn-group.open .dropdown-toggle {
+// Set the same inset shadow as the :active state
+.btn-group.show .dropdown-toggle {
@include box-shadow($btn-active-box-shadow);
// Show no shadow for `.btn-link` since it has no other button styles.
@@ -128,22 +124,6 @@
}
-// Reposition the caret
-.btn .caret {
- margin-left: 0;
-}
-// Carets in other button sizes
-.btn-lg .caret {
- border-width: $caret-width-lg $caret-width-lg 0;
- border-bottom-width: 0;
-}
-// Upside down carets for .dropup
-.dropup .btn-lg .caret {
- border-width: 0 $caret-width-lg $caret-width-lg;
-}
-
-
-
//
// Vertical button groups
//
diff --git a/scss/_buttons.scss b/scss/_buttons.scss
index e36ff0f1f..05c54e4ee 100644
--- a/scss/_buttons.scss
+++ b/scss/_buttons.scss
@@ -7,13 +7,12 @@
.btn {
display: inline-block;
font-weight: $btn-font-weight;
- line-height: $btn-line-height;
text-align: center;
white-space: nowrap;
vertical-align: middle;
user-select: none;
border: $input-btn-border-width solid transparent;
- @include button-size($btn-padding-y, $btn-padding-x, $font-size-base, $btn-border-radius);
+ @include button-size($input-btn-padding-y, $input-btn-padding-x, $font-size-base, $input-btn-line-height, $btn-border-radius);
@include transition($btn-transition);
// Share hover and focus styles
@@ -29,7 +28,6 @@
// Disabled comes first so active can properly restyle
&.disabled,
&:disabled {
- cursor: $cursor-disabled;
opacity: .65;
@include box-shadow(none);
}
@@ -53,42 +51,42 @@ fieldset[disabled] a.btn {
//
.btn-primary {
- @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);
+ @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border-color);
}
.btn-secondary {
- @include button-variant($btn-secondary-color, $btn-secondary-bg, $btn-secondary-border);
+ @include button-variant($btn-secondary-color, $btn-secondary-bg, $btn-secondary-border-color);
}
.btn-info {
- @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border);
+ @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border-color);
}
.btn-success {
- @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border);
+ @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border-color);
}
.btn-warning {
- @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border);
+ @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border-color);
}
.btn-danger {
- @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border);
+ @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border-color);
}
// Remove all backgrounds
.btn-outline-primary {
- @include button-outline-variant($btn-primary-bg);
+ @include button-outline-variant($btn-primary-bg, $btn-primary-color);
}
.btn-outline-secondary {
- @include button-outline-variant($btn-secondary-border);
+ @include button-outline-variant($btn-secondary-border-color, $btn-secondary-color);
}
.btn-outline-info {
- @include button-outline-variant($btn-info-bg);
+ @include button-outline-variant($btn-info-bg, $btn-info-color);
}
.btn-outline-success {
- @include button-outline-variant($btn-success-bg);
+ @include button-outline-variant($btn-success-bg, $btn-success-color);
}
.btn-outline-warning {
- @include button-outline-variant($btn-warning-bg);
+ @include button-outline-variant($btn-warning-bg, $btn-warning-color);
}
.btn-outline-danger {
- @include button-outline-variant($btn-danger-bg);
+ @include button-outline-variant($btn-danger-bg, $btn-danger-color);
}
@@ -137,12 +135,11 @@ fieldset[disabled] a.btn {
//
.btn-lg {
- // line-height: ensure even-numbered height of button next to large input
- @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, $btn-border-radius-lg);
+ @include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $font-size-lg, $line-height-lg, $btn-border-radius-lg);
}
+
.btn-sm {
- // line-height: ensure proper height of button next to small input
- @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $btn-border-radius-sm);
+ @include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $font-size-sm, $line-height-sm, $btn-border-radius-sm);
}
diff --git a/scss/_card.scss b/scss/_card.scss
index 9fe70e8cf..7be2aaf8b 100644
--- a/scss/_card.scss
+++ b/scss/_card.scss
@@ -20,6 +20,7 @@
.card-title {
margin-bottom: $card-spacer-y;
+ word-break: break-all;
}
.card-subtitle {
@@ -124,7 +125,7 @@
@include card-outline-variant($btn-primary-bg);
}
.card-outline-secondary {
- @include card-outline-variant($btn-secondary-border);
+ @include card-outline-variant($btn-secondary-border-color);
}
.card-outline-info {
@include card-outline-variant($btn-info-bg);
@@ -158,10 +159,6 @@
}
// Card image
-.card-img {
- // margin: -1.325rem;
- @include border-radius($card-border-radius-inner);
-}
.card-img-overlay {
position: absolute;
top: 0;
@@ -171,13 +168,19 @@
padding: $card-img-overlay-padding;
}
-
+.card-img {
+ width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
+ @include border-radius($card-border-radius-inner);
+}
// Card image caps
.card-img-top {
+ width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
@include border-top-radius($card-border-radius-inner);
}
+
.card-img-bottom {
+ width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
@include border-bottom-radius($card-border-radius-inner);
}
@@ -188,17 +191,15 @@
.card-deck {
display: flex;
flex-flow: row wrap;
+ margin-right: -$card-deck-margin;
+ margin-left: -$card-deck-margin;
.card {
display: flex;
flex: 1 0 0;
flex-direction: column;
-
- // Selectively apply horizontal margins to cards to avoid doing the
- // negative margin dance like our grid. This differs from the grid
- // due to the use of margins as gutters instead of padding.
- &:not(:first-child) { margin-left: $card-deck-margin; }
- &:not(:last-child) { margin-right: $card-deck-margin; }
+ margin-right: $card-deck-margin;
+ margin-left: $card-deck-margin;
}
}
}
@@ -262,15 +263,18 @@
// Columns
//
-@include media-breakpoint-up(sm) {
- .card-columns {
+.card-columns {
+ .card {
+ margin-bottom: $card-columns-margin;
+ }
+
+ @include media-breakpoint-up(sm) {
column-count: $card-columns-count;
column-gap: $card-columns-gap;
.card {
display: inline-block; // Don't let them vertically span multiple columns
width: 100%; // Don't let their width change
- margin-bottom: $card-columns-margin;
}
}
}
diff --git a/scss/_carousel.scss b/scss/_carousel.scss
index df1e300b5..41eca949f 100644
--- a/scss/_carousel.scss
+++ b/scss/_carousel.scss
@@ -12,13 +12,11 @@
.carousel-item {
position: relative;
display: none;
+ align-items: center;
width: 100%;
-
- @include if-supports-3d-transforms() {
- @include transition($carousel-transition);
- backface-visibility: hidden;
- perspective: 1000px;
- }
+ @include transition($carousel-transition);
+ backface-visibility: hidden;
+ perspective: 1000px;
}
.carousel-item.active,
@@ -34,21 +32,19 @@
}
// CSS3 transforms when supported by the browser
-@include if-supports-3d-transforms() {
- .carousel-item-next.carousel-item-left,
- .carousel-item-prev.carousel-item-right {
- transform: translate3d(0, 0, 0);
- }
+.carousel-item-next.carousel-item-left,
+.carousel-item-prev.carousel-item-right {
+ transform: translate3d(0, 0, 0);
+}
- .carousel-item-next,
- .active.carousel-item-right {
- transform: translate3d(100%, 0, 0);
- }
+.carousel-item-next,
+.active.carousel-item-right {
+ transform: translate3d(100%, 0, 0);
+}
- .carousel-item-prev,
- .active.carousel-item-left {
- transform: translate3d(-100%, 0, 0);
- }
+.carousel-item-prev,
+.active.carousel-item-left {
+ transform: translate3d(-100%, 0, 0);
}
@@ -106,7 +102,7 @@
// Optional indicator pips
//
-// Add an unordered list with the following class and add a list item for each
+// Add an ordered list with the following class and add a list item for each
// slide your carousel holds.
.carousel-indicators {
@@ -117,7 +113,7 @@
z-index: 15;
display: flex;
justify-content: center;
- padding-left: 0; // override <ul> default
+ padding-left: 0; // override <ol> default
// Use the .carousel-control's width as margin so we don't overlay those
margin-right: $carousel-control-width;
margin-left: $carousel-control-width;
@@ -131,7 +127,6 @@
margin-right: $carousel-indicator-spacer;
margin-left: $carousel-indicator-spacer;
text-indent: -999px;
- cursor: pointer;
background-color: rgba($carousel-indicator-active-bg, .5);
// Use pseudo classes to increase the hit area by 10px on top and bottom.
@@ -163,7 +158,7 @@
// Optional captions
//
-// Hidden by default for smaller viewports.
+//
.carousel-caption {
position: absolute;
diff --git a/scss/_close.scss b/scss/_close.scss
index 5a92430a4..f18149051 100644
--- a/scss/_close.scss
+++ b/scss/_close.scss
@@ -1,6 +1,6 @@
.close {
float: right;
- font-size: ($font-size-base * 1.5);
+ font-size: $close-font-size;
font-weight: $close-font-weight;
line-height: 1;
color: $close-color;
@@ -10,7 +10,6 @@
@include hover-focus {
color: $close-color;
text-decoration: none;
- cursor: pointer;
opacity: .75;
}
}
@@ -23,7 +22,6 @@
// scss-lint:disable QualifyingElement
button.close {
padding: 0;
- cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
diff --git a/scss/_custom-forms.scss b/scss/_custom-forms.scss
index 8c2ce328f..9133f7dbd 100644
--- a/scss/_custom-forms.scss
+++ b/scss/_custom-forms.scss
@@ -1,4 +1,4 @@
-// scss-lint:disable PropertyCount
+// scss-lint:disable PropertyCount, VendorPrefix
// Embedded icons from Open Iconic.
// Released under MIT and copyright 2014 Waybury.
@@ -15,7 +15,6 @@
min-height: (1rem * $line-height-base);
padding-left: $custom-control-gutter;
margin-right: $custom-control-spacer-x;
- cursor: pointer;
}
.custom-control-input {
@@ -42,13 +41,11 @@
&:disabled {
~ .custom-control-indicator {
- cursor: $custom-control-disabled-cursor;
background-color: $custom-control-disabled-indicator-bg;
}
~ .custom-control-description {
color: $custom-control-disabled-description-color;
- cursor: $custom-control-disabled-cursor;
}
}
}
@@ -136,7 +133,7 @@
.custom-select {
display: inline-block;
max-width: 100%;
- $select-border-width: ($border-width * 2);
+ $select-border-width: ($custom-select-border-width * 2);
height: calc(#{$input-height} + #{$select-border-width});
padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;
line-height: $custom-select-line-height;
@@ -146,9 +143,7 @@
background-size: $custom-select-bg-size;
border: $custom-select-border-width solid $custom-select-border-color;
@include border-radius($custom-select-border-radius);
- // Use vendor prefixes as `appearance` isn't part of the CSS spec.
- -moz-appearance: none;
- -webkit-appearance: none;
+ appearance: none;
&:focus {
border-color: $custom-select-focus-border-color;
@@ -168,7 +163,6 @@
&:disabled {
color: $custom-select-disabled-color;
- cursor: $cursor-disabled;
background-color: $custom-select-disabled-bg;
}
@@ -200,14 +194,13 @@
max-width: 100%;
height: $custom-file-height;
margin-bottom: 0;
- cursor: pointer;
}
.custom-file-input {
min-width: $custom-file-width;
max-width: 100%;
+ height: $custom-file-height;
margin: 0;
- filter: alpha(opacity = 0);
opacity: 0;
&:focus ~ .custom-file-control {
@@ -225,6 +218,7 @@
padding: $custom-file-padding-x $custom-file-padding-y;
line-height: $custom-file-line-height;
color: $custom-file-color;
+ pointer-events: none;
user-select: none;
background-color: $custom-file-bg;
border: $custom-file-border-width solid $custom-file-border-color;
@@ -232,7 +226,7 @@
@include box-shadow($custom-file-box-shadow);
@each $lang, $text in map-get($custom-file-text, placeholder) {
- &:lang(#{$lang})::after {
+ &:lang(#{$lang}):empty::after {
content: $text;
}
}
diff --git a/scss/_dropdown.scss b/scss/_dropdown.scss
index 46251031f..d9e75b0aa 100644
--- a/scss/_dropdown.scss
+++ b/scss/_dropdown.scss
@@ -18,12 +18,13 @@
border-left: $caret-width solid transparent;
}
- // Prevent the focus on the dropdown toggle when closing dropdowns
- &:focus {
- outline: 0;
+ &:empty::after {
+ margin-left: 0;
}
}
+// Allow for dropdowns to go bottom up (aka, dropup-menu)
+// Just add .dropup after the standard .dropdown class and you're set.
.dropup {
.dropdown-toggle {
&::after {
@@ -44,7 +45,7 @@
min-width: $dropdown-min-width;
padding: $dropdown-padding-y 0;
margin: $dropdown-margin-top 0 0; // override default ul
- font-size: $font-size-base;
+ font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues
color: $body-color;
text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
list-style: none;
@@ -66,7 +67,7 @@
.dropdown-item {
display: block;
width: 100%; // For `<button>`s
- padding: 3px $dropdown-item-padding-x;
+ padding: $dropdown-item-padding-y $dropdown-item-padding-x;
clear: both;
font-weight: $font-weight-normal;
color: $dropdown-link-color;
@@ -91,7 +92,6 @@
&.disabled,
&:disabled {
color: $dropdown-link-disabled-color;
- cursor: $cursor-disabled;
background-color: transparent;
// Remove CSS gradients if they're enabled
@if $enable-gradients {
@@ -102,29 +102,14 @@
// Open state for the dropdown
.show {
- // Show the menu
- > .dropdown-menu {
- display: block;
- }
-
// Remove the outline when :focus is triggered
> a {
outline: 0;
}
}
-// Menu positioning
-//
-// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown
-// menu with the parent.
-.dropdown-menu-right {
- right: 0;
- left: auto; // Reset the default from `.dropdown-menu`
-}
-
-.dropdown-menu-left {
- right: auto;
- left: 0;
+.dropdown-menu.show {
+ display: block;
}
// Dropdown section headers
@@ -136,35 +121,3 @@
color: $dropdown-header-color;
white-space: nowrap; // as with > li > a
}
-
-// Backdrop to catch body clicks on mobile, etc.
-.dropdown-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: $zindex-dropdown-backdrop;
-}
-
-// Allow for dropdowns to go bottom up (aka, dropup-menu)
-//
-// Just add .dropup after the standard .dropdown class and you're set.
-// TODO: abstract this so that the navbar fixed styles are not placed here?
-
-.dropup,
-.navbar-fixed-bottom .dropdown {
- // Reverse the caret
- .caret {
- content: "";
- border-top: 0;
- border-bottom: $caret-width solid;
- }
-
- // Different positioning for bottom up menu
- .dropdown-menu {
- top: auto;
- bottom: 100%;
- margin-bottom: $dropdown-margin-top;
- }
-}
diff --git a/scss/_forms.scss b/scss/_forms.scss
index 7b750f030..55e8cb43a 100644
--- a/scss/_forms.scss
+++ b/scss/_forms.scss
@@ -1,4 +1,4 @@
-// scss-lint:disable QualifyingElement
+// scss-lint:disable QualifyingElement, VendorPrefix
//
// Textual form controls
@@ -9,9 +9,9 @@
width: 100%;
// // Make inputs at least the height of their button counterpart (base line-height + padding + border)
// height: $input-height;
- padding: $input-padding-y $input-padding-x;
+ padding: $input-btn-padding-y $input-btn-padding-x;
font-size: $font-size-base;
- line-height: $input-line-height;
+ line-height: $input-btn-line-height;
color: $input-color;
background-color: $input-bg;
// Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214.
@@ -58,10 +58,6 @@
// iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
opacity: 1;
}
-
- &:disabled {
- cursor: $cursor-disabled;
- }
}
select.form-control {
@@ -95,20 +91,20 @@ select.form-control {
// For use with horizontal and inline forms, when you need the label text to
// align with the form controls.
.col-form-label {
- padding-top: calc(#{$input-padding-y} - #{$input-btn-border-width} * 2);
- padding-bottom: calc(#{$input-padding-y} - #{$input-btn-border-width} * 2);
+ padding-top: calc(#{$input-btn-padding-y} - #{$input-btn-border-width} * 2);
+ padding-bottom: calc(#{$input-btn-padding-y} - #{$input-btn-border-width} * 2);
margin-bottom: 0; // Override the `<label>` default
}
.col-form-label-lg {
- padding-top: calc(#{$input-padding-y-lg} - #{$input-btn-border-width} * 2);
- padding-bottom: calc(#{$input-padding-y-lg} - #{$input-btn-border-width} * 2);
+ padding-top: calc(#{$input-btn-padding-y-lg} - #{$input-btn-border-width} * 2);
+ padding-bottom: calc(#{$input-btn-padding-y-lg} - #{$input-btn-border-width} * 2);
font-size: $font-size-lg;
}
.col-form-label-sm {
- padding-top: calc(#{$input-padding-y-sm} - #{$input-btn-border-width} * 2);
- padding-bottom: calc(#{$input-padding-y-sm} - #{$input-btn-border-width} * 2);
+ padding-top: calc(#{$input-btn-padding-y-sm} - #{$input-btn-border-width} * 2);
+ padding-bottom: calc(#{$input-btn-padding-y-sm} - #{$input-btn-border-width} * 2);
font-size: $font-size-sm;
}
@@ -120,8 +116,8 @@ select.form-control {
// For use with horizontal and inline forms, when you need the legend text to
// be the same size as regular labels, and to align with the form controls.
.col-form-legend {
- padding-top: $input-padding-y;
- padding-bottom: $input-padding-y;
+ padding-top: $input-btn-padding-y;
+ padding-bottom: $input-btn-padding-y;
margin-bottom: 0;
font-size: $font-size-base;
}
@@ -133,10 +129,10 @@ select.form-control {
// horizontal form layout.
.form-control-static {
- padding-top: $input-padding-y;
- padding-bottom: $input-padding-y;
+ padding-top: $input-btn-padding-y;
+ padding-bottom: $input-btn-padding-y;
margin-bottom: 0; // match inputs if this class comes on inputs with default margins
- line-height: $input-line-height;
+ line-height: $input-btn-line-height;
border: solid transparent;
border-width: $input-btn-border-width 0;
@@ -157,26 +153,30 @@ select.form-control {
// issue documented in https://github.com/twbs/bootstrap/issues/15074.
.form-control-sm {
- padding: $input-padding-y-sm $input-padding-x-sm;
+ padding: $input-btn-padding-y-sm $input-btn-padding-x-sm;
font-size: $font-size-sm;
+ line-height: $input-btn-line-height-sm;
@include border-radius($input-border-radius-sm);
}
select.form-control-sm {
&:not([size]):not([multiple]) {
- height: $input-height-sm;
+ $select-border-width: ($border-width * 2);
+ height: calc(#{$input-height-sm} + #{$select-border-width});
}
}
.form-control-lg {
- padding: $input-padding-y-lg $input-padding-x-lg;
+ padding: $input-btn-padding-y-lg $input-btn-padding-x-lg;
font-size: $font-size-lg;
+ line-height: $input-btn-line-height-lg;
@include border-radius($input-border-radius-lg);
}
select.form-control-lg {
&:not([size]):not([multiple]) {
- height: $input-height-lg;
+ $select-border-width: ($border-width * 2);
+ height: calc(#{$input-height-lg} + #{$select-border-width});
}
}
@@ -208,7 +208,6 @@ select.form-control-lg {
&.disabled {
.form-check-label {
color: $text-muted;
- cursor: $cursor-disabled;
}
}
}
@@ -216,7 +215,6 @@ select.form-control-lg {
.form-check-label {
padding-left: $form-check-input-gutter;
margin-bottom: 0; // Override default `<label>` bottom margin
- cursor: pointer;
}
.form-check-input {
@@ -254,7 +252,7 @@ select.form-control-lg {
.form-control-success,
.form-control-warning,
.form-control-danger {
- padding-right: ($input-padding-x * 3);
+ padding-right: ($input-btn-padding-x * 3);
background-repeat: no-repeat;
background-position: center right ($input-height / 4);
background-size: ($input-height / 2) ($input-height / 2);
@@ -298,6 +296,7 @@ select.form-control-lg {
.form-inline {
display: flex;
flex-flow: row wrap;
+ align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)
// Because we use flex, the initial sizing of checkboxes is collapsed and
// doesn't occupy the full-width (which is what we want for xs grid tier),
diff --git a/scss/_grid.scss b/scss/_grid.scss
index 8c7a9ee31..9ab9ae02b 100644
--- a/scss/_grid.scss
+++ b/scss/_grid.scss
@@ -11,11 +11,12 @@
// Fluid container
//
-// Utilizes the mixin meant for fixed width containers, but without any defined
-// width for fluid, full width layouts.
+// Utilizes the mixin meant for fixed width containers, but with 100% width for
+// fluid, full width layouts.
@if $enable-grid-classes {
.container-fluid {
+ width: 100%;
@include make-container();
}
}
diff --git a/scss/_images.scss b/scss/_images.scss
index a8135a6c3..50c56108a 100644
--- a/scss/_images.scss
+++ b/scss/_images.scss
@@ -33,7 +33,7 @@
}
.figure-img {
- margin-bottom: ($spacer-y / 2);
+ margin-bottom: ($spacer / 2);
line-height: 1;
}
diff --git a/scss/_input-group.scss b/scss/_input-group.scss
index 29831ab96..0b668bff3 100644
--- a/scss/_input-group.scss
+++ b/scss/_input-group.scss
@@ -30,8 +30,7 @@
.input-group .form-control {
// Vertically centers the content of the addons within the input group
display: flex;
- flex-direction: column;
- justify-content: center;
+ align-items: center;
&:not(:first-child):not(:last-child) {
@include border-radius(0);
@@ -67,11 +66,11 @@
//
.input-group-addon {
- padding: $input-padding-y $input-padding-x;
+ padding: $input-btn-padding-y $input-btn-padding-x;
margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
- font-size: $font-size-base;
+ font-size: $font-size-base; // Match inputs
font-weight: $font-weight-normal;
- line-height: $input-line-height;
+ line-height: $input-btn-line-height;
color: $input-color;
text-align: center;
background-color: $input-group-addon-bg;
@@ -80,12 +79,13 @@
// Sizing
&.form-control-sm {
- padding: $input-padding-y-sm $input-padding-x-sm;
+ padding: $input-btn-padding-y-sm $input-btn-padding-x-sm;
font-size: $font-size-sm;
@include border-radius($input-border-radius-sm);
}
+
&.form-control-lg {
- padding: $input-padding-y-lg $input-padding-x-lg;
+ padding: $input-btn-padding-y-lg $input-btn-padding-x-lg;
font-size: $font-size-lg;
@include border-radius($input-border-radius-lg);
}
@@ -144,8 +144,6 @@
// element above the siblings.
> .btn {
position: relative;
- // Vertically stretch the button and center its content
- flex: 1;
+ .btn {
margin-left: (-$input-btn-border-width);
diff --git a/scss/_jumbotron.scss b/scss/_jumbotron.scss
index b12d465d9..7966bba1e 100644
--- a/scss/_jumbotron.scss
+++ b/scss/_jumbotron.scss
@@ -9,10 +9,6 @@
}
}
-.jumbotron-hr {
- border-top-color: darken($jumbotron-bg, 10%);
-}
-
.jumbotron-fluid {
padding-right: 0;
padding-left: 0;
diff --git a/scss/_list-group.scss b/scss/_list-group.scss
index ec813c807..fef2c1532 100644
--- a/scss/_list-group.scss
+++ b/scss/_list-group.scss
@@ -22,10 +22,6 @@
color: $list-group-link-color;
text-align: inherit; // For `<button>`s (anchors inherit)
- .list-group-item-heading {
- color: $list-group-link-heading-color;
- }
-
// Hover state
@include hover-focus {
color: $list-group-link-hover-color;
@@ -46,9 +42,7 @@
.list-group-item {
position: relative;
- display: flex;
- flex-flow: row wrap;
- align-items: center;
+ display: block;
padding: $list-group-item-padding-y $list-group-item-padding-x;
// Place the border on the list items and negative margin up for better styling
margin-bottom: -$list-group-border-width;
@@ -71,16 +65,7 @@
&.disabled,
&:disabled {
color: $list-group-disabled-color;
- cursor: $cursor-disabled;
background-color: $list-group-disabled-bg;
-
- // Force color to inherit for custom content
- .list-group-item-heading {
- color: inherit;
- }
- .list-group-item-text {
- color: $list-group-disabled-text-color;
- }
}
// Include both here for `<a>`s and `<button>`s
@@ -88,18 +73,7 @@
z-index: 2; // Place active items above their siblings for proper border styling
color: $list-group-active-color;
background-color: $list-group-active-bg;
- border-color: $list-group-active-border;
-
- // Force color to inherit for custom content
- .list-group-item-heading,
- .list-group-item-heading > small,
- .list-group-item-heading > .small {
- color: inherit;
- }
-
- .list-group-item-text {
- color: $list-group-active-text-color;
- }
+ border-color: $list-group-active-border-color;
}
}
diff --git a/scss/_mixins.scss b/scss/_mixins.scss
index 19bf4d41f..cc3394f0a 100644
--- a/scss/_mixins.scss
+++ b/scss/_mixins.scss
@@ -2,22 +2,6 @@
//
// Used in conjunction with global variables to enable certain theme features.
-@mixin box-shadow($shadow...) {
- @if $enable-shadows {
- box-shadow: $shadow;
- }
-}
-
-@mixin transition($transition...) {
- @if $enable-transitions {
- @if length($transition) == 0 {
- transition: $transition-base;
- } @else {
- transition: $transition;
- }
- }
-}
-
// Utilities
@import "mixins/breakpoints";
@import "mixins/hover";
@@ -26,12 +10,10 @@
@import "mixins/resize";
@import "mixins/screen-reader";
@import "mixins/size";
-@import "mixins/tab-focus";
@import "mixins/reset-text";
@import "mixins/text-emphasis";
@import "mixins/text-hide";
@import "mixins/text-truncate";
-@import "mixins/transforms";
@import "mixins/visibility";
// // Components
@@ -43,13 +25,14 @@
@import "mixins/list-group";
@import "mixins/nav-divider";
@import "mixins/forms";
-@import "mixins/progress";
@import "mixins/table-row";
// // Skins
@import "mixins/background-variant";
@import "mixins/border-radius";
+@import "mixins/box-shadow";
@import "mixins/gradients";
+@import "mixins/transition";
// // Layout
@import "mixins/clearfix";
diff --git a/scss/_nav.scss b/scss/_nav.scss
index eb316bb27..973679eee 100644
--- a/scss/_nav.scss
+++ b/scss/_nav.scss
@@ -5,6 +5,7 @@
.nav {
display: flex;
+ flex-wrap: wrap;
padding-left: 0;
margin-bottom: 0;
list-style: none;
@@ -12,20 +13,18 @@
.nav-link {
display: block;
- padding: $nav-link-padding;
+ padding: $nav-link-padding-y $nav-link-padding-x;
@include hover-focus {
text-decoration: none;
}
- // Disabled state lightens text and removes hover/tab effects
+ // Disabled state lightens text
&.disabled {
color: $nav-disabled-link-color;
- cursor: $cursor-disabled;
}
}
-
//
// Tabs
//
@@ -54,9 +53,9 @@
.nav-link.active,
.nav-item.show .nav-link {
- color: $nav-tabs-active-link-hover-color;
- background-color: $nav-tabs-active-link-hover-bg;
- border-color: $nav-tabs-active-link-hover-border-color $nav-tabs-active-link-hover-border-color $nav-tabs-active-link-hover-bg;
+ color: $nav-tabs-active-link-color;
+ background-color: $nav-tabs-active-link-bg;
+ border-color: $nav-tabs-active-link-border-color $nav-tabs-active-link-border-color $nav-tabs-active-link-bg;
}
.dropdown-menu {
@@ -75,13 +74,12 @@
.nav-pills {
.nav-link {
@include border-radius($nav-pills-border-radius);
- }
- .nav-link.active,
- .nav-item.show .nav-link {
- color: $nav-pills-active-link-color;
- cursor: default;
- background-color: $nav-pills-active-link-bg;
+ &.active,
+ .show & {
+ color: $nav-pills-active-link-color;
+ background-color: $nav-pills-active-link-bg;
+ }
}
}
@@ -99,7 +97,8 @@
.nav-justified {
.nav-item {
- flex: 1 1 100%;
+ flex-basis: 0;
+ flex-grow: 1;
text-align: center;
}
}
diff --git a/scss/_navbar.scss b/scss/_navbar.scss
index 2f82af588..59cc52d9a 100644
--- a/scss/_navbar.scss
+++ b/scss/_navbar.scss
@@ -18,8 +18,26 @@
.navbar {
position: relative;
display: flex;
- flex-direction: column;
+ flex-wrap: wrap; // allow us to do the line break for collapsing content
+ align-items: center;
+ justify-content: space-between; // space out brand from logo
padding: $navbar-padding-y $navbar-padding-x;
+
+ // Because flex properties aren't inherited, we need to redeclare these first
+ // few properities so that content nested within behave properly.
+ > .container,
+ > .container-fluid {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+
+ @include media-breakpoint-down(nth(map-keys($grid-breakpoints), 1)) {
+ width: 100%; // prevent flex parent container from collapsing
+ margin-right: 0;
+ margin-left: 0;
+ }
+ }
}
@@ -29,10 +47,10 @@
.navbar-brand {
display: inline-block;
- padding-top: .25rem;
- padding-bottom: .25rem;
+ padding-top: $navbar-brand-padding-y;
+ padding-bottom: $navbar-brand-padding-y;
margin-right: $navbar-padding-x;
- font-size: $font-size-lg;
+ font-size: $navbar-brand-font-size;
line-height: inherit;
white-space: nowrap;
@@ -57,6 +75,12 @@
padding-right: 0;
padding-left: 0;
}
+
+ .dropdown-menu {
+ position: static !important;
+ float: none;
+ transform: unset !important;
+ }
}
@@ -66,27 +90,8 @@
.navbar-text {
display: inline-block;
- padding-top: .425rem;
- padding-bottom: .425rem;
-}
-
-
-// Navbar divider
-//
-//
-
-.navbar-divider {
- float: left;
- width: $border-width;
- padding-top: $navbar-divider-padding-y;
- padding-bottom: $navbar-divider-padding-y;
- margin-right: $navbar-padding-x;
- margin-left: $navbar-padding-x;
- overflow: hidden;
-
- &::before {
- content: "\00a0";
- }
+ padding-top: $nav-link-padding-y;
+ padding-bottom: $nav-link-padding-y;
}
@@ -95,9 +100,15 @@
// Custom styles for responsive collapsing and toggling of navbar contents.
// Powered by the collapse Bootstrap JavaScript plugin.
-// Button for toggling the navbar when in it's collapsed state
+// When collapsed, prevent the toggleable navbar contents from appearing in
+// the default flexbox row orienation. Requires the use of `flex-wrap: wrap`
+// on the `.navbar` parent.
+.navbar-collapse {
+ flex-basis: 100%;
+}
+
+// Button for toggling the navbar when in its collapsed state
.navbar-toggler {
- align-self: flex-start; // Prevent toggler from growing to full width when it's the only visible navbar child
padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;
font-size: $navbar-toggler-font-size;
line-height: 1;
@@ -122,34 +133,17 @@
background-size: 100% 100%;
}
-// Use `position` on the toggler to prevent it from being auto placed as a flex
-// item and allow easy placement.
-.navbar-toggler-left {
- position: absolute;
- left: $navbar-padding-x;
-}
-.navbar-toggler-right {
- position: absolute;
- right: $navbar-padding-x;
-}
-
-// Generate series of `.navbar-toggleable-*` responsive classes for configuring
+// Generate series of `.navbar-expand-*` responsive classes for configuring
// where your navbar collapses.
-.navbar-toggleable {
+.navbar-expand {
@each $breakpoint in map-keys($grid-breakpoints) {
$next: breakpoint-next($breakpoint, $grid-breakpoints);
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+ $infix: breakpoint-infix($next, $grid-breakpoints);
&#{$infix} {
@include media-breakpoint-down($breakpoint) {
- .navbar-nav {
- .dropdown-menu {
- position: static;
- float: none;
- }
- }
-
- > .container {
+ > .container,
+ > .container-fluid {
padding-right: 0;
padding-left: 0;
}
@@ -158,11 +152,16 @@
@include media-breakpoint-up($next) {
flex-direction: row;
flex-wrap: nowrap;
- align-items: center;
+ justify-content: flex-start;
.navbar-nav {
flex-direction: row;
+ .dropdown-menu {
+ position: absolute !important;
+ top: 100% !important;
+ }
+
.nav-link {
padding-right: .5rem;
padding-left: .5rem;
@@ -170,16 +169,14 @@
}
// For nesting containers, have to redeclare for alignment purposes
- > .container {
- display: flex;
+ > .container,
+ > .container-fluid {
flex-wrap: nowrap;
- align-items: center;
}
// scss-lint:disable ImportantRule
.navbar-collapse {
display: flex !important;
- width: 100%;
}
// scss-lint:enable ImportantRule
@@ -192,43 +189,13 @@
}
-// Navbar position
-//
-// Display the navbar across the entirety of the page or fixed it to the top or
-// bottom of the page.
-
-// Fix the top/bottom navbars when screen real estate supports it
-.navbar-fixed-top,
-.navbar-fixed-bottom {
- position: fixed;
- right: 0;
- left: 0;
- z-index: $zindex-navbar-fixed;
-}
-
-.navbar-fixed-top {
- top: 0;
-}
-
-.navbar-fixed-bottom {
- bottom: 0;
-}
-
-.navbar-sticky-top {
- position: sticky;
- top: 0;
- z-index: $zindex-navbar-sticky;
-}
-
-
// Navbar themes
//
// Styles for switching between navbars with light or dark background.
// Dark links against a light background
.navbar-light {
- .navbar-brand,
- .navbar-toggler {
+ .navbar-brand {
color: $navbar-light-active-color;
@include hover-focus {
@@ -249,24 +216,21 @@
}
}
- .open > .nav-link,
+ .show > .nav-link,
.active > .nav-link,
- .nav-link.open,
+ .nav-link.show,
.nav-link.active {
color: $navbar-light-active-color;
}
}
.navbar-toggler {
- border-color: $navbar-light-toggler-border;
+ color: $navbar-light-color;
+ border-color: $navbar-light-toggler-border-color;
}
.navbar-toggler-icon {
- background-image: $navbar-light-toggler-bg;
- }
-
- .navbar-divider {
- background-color: rgba(0,0,0,.075);
+ background-image: $navbar-light-toggler-icon-bg;
}
.navbar-text {
@@ -276,8 +240,7 @@
// White links against a dark background
.navbar-inverse {
- .navbar-brand,
- .navbar-toggler {
+ .navbar-brand {
color: $navbar-inverse-active-color;
@include hover-focus {
@@ -298,24 +261,21 @@
}
}
- .open > .nav-link,
+ .show > .nav-link,
.active > .nav-link,
- .nav-link.open,
+ .nav-link.show,
.nav-link.active {
color: $navbar-inverse-active-color;
}
}
.navbar-toggler {
- border-color: $navbar-inverse-toggler-border;
+ color: $navbar-inverse-color;
+ border-color: $navbar-inverse-toggler-border-color;
}
.navbar-toggler-icon {
- background-image: $navbar-inverse-toggler-bg;
- }
-
- .navbar-divider {
- background-color: rgba(255,255,255,.075);
+ background-image: $navbar-inverse-toggler-icon-bg;
}
.navbar-text {
diff --git a/scss/_normalize.scss b/scss/_normalize.scss
deleted file mode 100644
index 6bafd53f6..000000000
--- a/scss/_normalize.scss
+++ /dev/null
@@ -1,461 +0,0 @@
-/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
-
-//
-// 1. Change the default font family in all browsers (opinionated).
-// 2. Correct the line height in all browsers.
-// 3. Prevent adjustments of font size after orientation changes in
-// IE on Windows Phone and in iOS.
-//
-
-// Document
-// ==========================================================================
-
-html {
- font-family: sans-serif; // 1
- line-height: 1.15; // 2
- -ms-text-size-adjust: 100%; // 3
- -webkit-text-size-adjust: 100%; // 3
-}
-
-// Sections
-// ==========================================================================
-
-//
-// Remove the margin in all browsers (opinionated).
-//
-
-body {
- margin: 0;
-}
-
-//
-// Add the correct display in IE 9-.
-//
-
-article,
-aside,
-footer,
-header,
-nav,
-section {
- display: block;
-}
-
-//
-// Correct the font size and margin on `h1` elements within `section` and
-// `article` contexts in Chrome, Firefox, and Safari.
-//
-
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-// Grouping content
-// ==========================================================================
-
-//
-// Add the correct display in IE 9-.
-// 1. Add the correct display in IE.
-//
-
-figcaption,
-figure,
-main { // 1
- display: block;
-}
-
-//
-// Add the correct margin in IE 8.
-//
-
-figure {
- margin: 1em 40px;
-}
-
-//
-// 1. Add the correct box sizing in Firefox.
-// 2. Show the overflow in Edge and IE.
-//
-
-hr {
- box-sizing: content-box; // 1
- height: 0; // 1
- overflow: visible; // 2
-}
-
-//
-// 1. Correct the inheritance and scaling of font size in all browsers.
-// 2. Correct the odd `em` font sizing in all browsers.
-//
-
-pre {
- font-family: monospace, monospace; // 1
- font-size: 1em; // 2
-}
-
-// Text-level semantics
-// ==========================================================================
-
-//
-// 1. Remove the gray background on active links in IE 10.
-// 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
-//
-
-a {
- background-color: transparent; // 1
- -webkit-text-decoration-skip: objects; // 2
-}
-
-//
-// Remove the outline on focused links when they are also active or hovered
-// in all browsers (opinionated).
-//
-
-a:active,
-a:hover {
- outline-width: 0;
-}
-
-//
-// 1. Remove the bottom border in Firefox 39-.
-// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
-//
-
-abbr[title] {
- border-bottom: none; // 1
- text-decoration: underline; // 2
- text-decoration: underline dotted; // 2
-}
-
-//
-// Prevent the duplicate application of `bolder` by the next rule in Safari 6.
-//
-
-b,
-strong {
- font-weight: inherit;
-}
-
-//
-// Add the correct font weight in Chrome, Edge, and Safari.
-//
-
-b,
-strong {
- font-weight: bolder;
-}
-
-//
-// 1. Correct the inheritance and scaling of font size in all browsers.
-// 2. Correct the odd `em` font sizing in all browsers.
-//
-
-code,
-kbd,
-samp {
- font-family: monospace, monospace; // 1
- font-size: 1em; // 2
-}
-
-//
-// Add the correct font style in Android 4.3-.
-//
-
-dfn {
- font-style: italic;
-}
-
-//
-// Add the correct background and color in IE 9-.
-//
-
-mark {
- background-color: #ff0;
- color: #000;
-}
-
-//
-// Add the correct font size in all browsers.
-//
-
-small {
- font-size: 80%;
-}
-
-//
-// Prevent `sub` and `sup` elements from affecting the line height in
-// all browsers.
-//
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-sup {
- top: -0.5em;
-}
-
-// Embedded content
-// ==========================================================================
-
-//
-// Add the correct display in IE 9-.
-//
-
-audio,
-video {
- display: inline-block;
-}
-
-//
-// Add the correct display in iOS 4-7.
-//
-
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-//
-// Remove the border on images inside links in IE 10-.
-//
-
-img {
- border-style: none;
-}
-
-//
-// Hide the overflow in IE.
-//
-
-svg:not(:root) {
- overflow: hidden;
-}
-
-// Forms
-// ==========================================================================
-
-//
-// 1. Change the font styles in all browsers (opinionated).
-// 2. Remove the margin in Firefox and Safari.
-//
-
-button,
-input,
-optgroup,
-select,
-textarea {
- font-family: sans-serif; // 1
- font-size: 100%; // 1
- line-height: 1.15; // 1
- margin: 0; // 2
-}
-
-//
-// Show the overflow in IE.
-// 1. Show the overflow in Edge.
-//
-
-button,
-input { // 1
- overflow: visible;
-}
-
-//
-// Remove the inheritance of text transform in Edge, Firefox, and IE.
-// 1. Remove the inheritance of text transform in Firefox.
-//
-
-button,
-select { // 1
- text-transform: none;
-}
-
-//
-// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
-// controls in Android 4.
-// 2. Correct the inability to style clickable types in iOS and Safari.
-//
-
-button,
-html [type="button"], // 1
-[type="reset"],
-[type="submit"] {
- -webkit-appearance: button; // 2
-}
-
-//
-// Remove the inner border and padding in Firefox.
-//
-
-button::-moz-focus-inner,
-[type="button"]::-moz-focus-inner,
-[type="reset"]::-moz-focus-inner,
-[type="submit"]::-moz-focus-inner {
- border-style: none;
- padding: 0;
-}
-
-//
-// Restore the focus styles unset by the previous rule.
-//
-
-button:-moz-focusring,
-[type="button"]:-moz-focusring,
-[type="reset"]:-moz-focusring,
-[type="submit"]:-moz-focusring {
- outline: 1px dotted ButtonText;
-}
-
-//
-// Change the border, margin, and padding in all browsers (opinionated).
-//
-
-fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
-}
-
-//
-// 1. Correct the text wrapping in Edge and IE.
-// 2. Correct the color inheritance from `fieldset` elements in IE.
-// 3. Remove the padding so developers are not caught out when they zero out
-// `fieldset` elements in all browsers.
-//
-
-legend {
- box-sizing: border-box; // 1
- color: inherit; // 2
- display: table; // 1
- max-width: 100%; // 1
- padding: 0; // 3
- white-space: normal; // 1
-}
-
-//
-// 1. Add the correct display in IE 9-.
-// 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
-//
-
-progress {
- display: inline-block; // 1
- vertical-align: baseline; // 2
-}
-
-//
-// Remove the default vertical scrollbar in IE.
-//
-
-textarea {
- overflow: auto;
-}
-
-//
-// 1. Add the correct box sizing in IE 10-.
-// 2. Remove the padding in IE 10-.
-//
-
-[type="checkbox"],
-[type="radio"] {
- box-sizing: border-box; // 1
- padding: 0; // 2
-}
-
-//
-// Correct the cursor style of increment and decrement buttons in Chrome.
-//
-
-[type="number"]::-webkit-inner-spin-button,
-[type="number"]::-webkit-outer-spin-button {
- height: auto;
-}
-
-//
-// 1. Correct the odd appearance in Chrome and Safari.
-// 2. Correct the outline style in Safari.
-//
-
-[type="search"] {
- -webkit-appearance: textfield; // 1
- outline-offset: -2px; // 2
-}
-
-//
-// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
-//
-
-[type="search"]::-webkit-search-cancel-button,
-[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-//
-// 1. Correct the inability to style clickable types in iOS and Safari.
-// 2. Change font properties to `inherit` in Safari.
-//
-
-::-webkit-file-upload-button {
- -webkit-appearance: button; // 1
- font: inherit; // 2
-}
-
-// Interactive
-// ==========================================================================
-
-//
-// Add the correct display in IE 9-.
-// 1. Add the correct display in Edge, IE, and Firefox.
-//
-
-details, // 1
-menu {
- display: block;
-}
-
-//
-// Add the correct display in all browsers.
-//
-
-summary {
- display: list-item;
-}
-
-// Scripting
-// ==========================================================================
-
-//
-// Add the correct display in IE 9-.
-//
-
-canvas {
- display: inline-block;
-}
-
-//
-// Add the correct display in IE.
-//
-
-template {
- display: none;
-}
-
-// Hidden
-// ==========================================================================
-
-//
-// Add the correct display in IE 10-.
-//
-
-[hidden] {
- display: none;
-}
diff --git a/scss/_pagination.scss b/scss/_pagination.scss
index 24aa028d1..a04929987 100644
--- a/scss/_pagination.scss
+++ b/scss/_pagination.scss
@@ -23,15 +23,14 @@
z-index: 2;
color: $pagination-active-color;
background-color: $pagination-active-bg;
- border-color: $pagination-active-border;
+ border-color: $pagination-active-border-color;
}
&.disabled .page-link {
color: $pagination-disabled-color;
pointer-events: none;
- cursor: $cursor-disabled; // While `pointer-events: none` removes the cursor in modern browsers, we provide a disabled cursor as a fallback.
background-color: $pagination-disabled-bg;
- border-color: $pagination-disabled-border;
+ border-color: $pagination-disabled-border-color;
}
}
@@ -49,7 +48,7 @@
color: $pagination-hover-color;
text-decoration: none;
background-color: $pagination-hover-bg;
- border-color: $pagination-hover-border;
+ border-color: $pagination-hover-border-color;
}
}
diff --git a/scss/_popover.scss b/scss/_popover.scss
index 86b489a48..e3a0d9d6d 100644
--- a/scss/_popover.scss
+++ b/scss/_popover.scss
@@ -18,75 +18,106 @@
@include border-radius($border-radius-lg);
@include box-shadow($popover-box-shadow);
+ // Arrows
+ //
+ // .arrow is outer, .arrow::after is inner
+
+ .arrow {
+ position: absolute;
+ display: block;
+ width: $popover-arrow-width;
+ height: $popover-arrow-height;
+ }
+
+ .arrow::before,
+ .arrow::after {
+ position: absolute;
+ display: block;
+ border-color: transparent;
+ border-style: solid;
+ }
+
+ .arrow::before {
+ content: "";
+ border-width: $popover-arrow-outer-width;
+ }
+ .arrow::after {
+ content: "";
+ border-width: $popover-arrow-outer-width;
+ }
// Popover directions
- &.popover-top,
- &.bs-tether-element-attached-bottom {
- margin-top: -$popover-arrow-width;
+ &.bs-popover-top {
+ margin-bottom: $popover-arrow-width;
- &::before,
- &::after {
- left: 50%;
+ .arrow {
+ bottom: 0;
+ }
+
+ .arrow::before,
+ .arrow::after {
border-bottom-width: 0;
}
- &::before {
+ .arrow::before {
bottom: -$popover-arrow-outer-width;
- margin-left: -$popover-arrow-outer-width;
+ margin-left: -($popover-arrow-outer-width - 5);
border-top-color: $popover-arrow-outer-color;
}
- &::after {
+ .arrow::after {
bottom: -($popover-arrow-outer-width - 1);
- margin-left: -$popover-arrow-width;
+ margin-left: -($popover-arrow-outer-width - 5);
border-top-color: $popover-arrow-color;
}
}
- &.popover-right,
- &.bs-tether-element-attached-left {
+ &.bs-popover-right {
margin-left: $popover-arrow-width;
- &::before,
- &::after {
- top: 50%;
+ .arrow {
+ left: 0;
+ }
+
+ .arrow::before,
+ .arrow::after {
+ margin-top: -($popover-arrow-outer-width - 3);
border-left-width: 0;
}
- &::before {
+ .arrow::before {
left: -$popover-arrow-outer-width;
- margin-top: -$popover-arrow-outer-width;
border-right-color: $popover-arrow-outer-color;
}
- &::after {
+ .arrow::after {
left: -($popover-arrow-outer-width - 1);
- margin-top: -($popover-arrow-outer-width - 1);
border-right-color: $popover-arrow-color;
}
}
- &.popover-bottom,
- &.bs-tether-element-attached-top {
+ &.bs-popover-bottom {
margin-top: $popover-arrow-width;
- &::before,
- &::after {
- left: 50%;
+ .arrow {
+ top: 0;
+ }
+
+ .arrow::before,
+ .arrow::after {
+ margin-left: -($popover-arrow-width - 3);
border-top-width: 0;
}
- &::before {
+ .arrow::before {
top: -$popover-arrow-outer-width;
- margin-left: -$popover-arrow-outer-width;
border-bottom-color: $popover-arrow-outer-color;
}
- &::after {
+ .arrow::after {
top: -($popover-arrow-outer-width - 1);
- margin-left: -$popover-arrow-width;
- border-bottom-color: $popover-title-bg;
+ border-bottom-color: $popover-arrow-color;
}
// This will remove the popover-title's border just below the arrow
@@ -102,40 +133,56 @@
}
}
- &.popover-left,
- &.bs-tether-element-attached-right {
- margin-left: -$popover-arrow-width;
+ &.bs-popover-left {
+ margin-right: $popover-arrow-width;
- &::before,
- &::after {
- top: 50%;
+ .arrow {
+ right: 0;
+ }
+
+ .arrow::before,
+ .arrow::after {
+ margin-top: -($popover-arrow-outer-width - 3);
border-right-width: 0;
}
- &::before {
+ .arrow::before {
right: -$popover-arrow-outer-width;
- margin-top: -$popover-arrow-outer-width;
border-left-color: $popover-arrow-outer-color;
}
- &::after {
+ .arrow::after {
right: -($popover-arrow-outer-width - 1);
- margin-top: -($popover-arrow-outer-width - 1);
border-left-color: $popover-arrow-color;
}
}
+ &.bs-popover-auto {
+ &[x-placement^="top"] {
+ @extend .bs-popover-top;
+ }
+ &[x-placement^="right"] {
+ @extend .bs-popover-right;
+ }
+ &[x-placement^="bottom"] {
+ @extend .bs-popover-bottom;
+ }
+ &[x-placement^="left"] {
+ @extend .bs-popover-left;
+ }
+ }
}
// Offset the popover to account for the popover arrow
.popover-title {
padding: $popover-title-padding-y $popover-title-padding-x;
- margin: 0; // reset heading margin
+ margin-bottom: 0; // Reset the default from Reboot
font-size: $font-size-base;
+ color: $popover-title-color;
background-color: $popover-title-bg;
border-bottom: $popover-border-width solid darken($popover-title-bg, 5%);
- $offset-border-width: ($border-width / $font-size-root);
- @include border-radius(($border-radius-lg - $offset-border-width) ($border-radius-lg - $offset-border-width) 0 0);
+ $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});
+ @include border-top-radius($offset-border-width);
&:empty {
display: none;
@@ -144,28 +191,5 @@
.popover-content {
padding: $popover-content-padding-y $popover-content-padding-x;
-}
-
-
-// Arrows
-//
-// .popover-arrow is outer, .popover-arrow::after is inner
-
-.popover::before,
-.popover::after {
- position: absolute;
- display: block;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
-}
-
-.popover::before {
- content: "";
- border-width: $popover-arrow-outer-width;
-}
-.popover::after {
- content: "";
- border-width: $popover-arrow-width;
+ color: $popover-content-color;
}
diff --git a/scss/_print.scss b/scss/_print.scss
index e77ac1dba..e20219a38 100644
--- a/scss/_print.scss
+++ b/scss/_print.scss
@@ -95,12 +95,6 @@
.navbar {
display: none;
}
- .btn,
- .dropup > .btn {
- > .caret {
- border-top-color: #000 !important;
- }
- }
.badge {
border: $border-width solid #000;
}
diff --git a/scss/_progress.scss b/scss/_progress.scss
index 800138cdc..f7491a64b 100644
--- a/scss/_progress.scss
+++ b/scss/_progress.scss
@@ -1,103 +1,32 @@
-//
-// Progress animations
-//
-
@keyframes progress-bar-stripes {
- from { background-position: $spacer-y 0; }
+ from { background-position: $progress-height 0; }
to { background-position: 0 0; }
}
-
-//
-// Basic progress bar
-//
-
.progress {
- display: block;
- width: 100%;
- height: $spacer-y; // todo: make a new var for this
- margin-bottom: $spacer-y;
+ display: flex;
overflow: hidden; // force rounded corners by cropping it
-}
-.progress[value] {
- // Set overall background
+ font-size: $progress-font-size;
+ line-height: $progress-height;
+ text-align: center;
background-color: $progress-bg;
- // Remove Firefox and Opera border
- border: 0;
- // Reset the default appearance
- appearance: none;
- // Set overall border radius
@include border-radius($progress-border-radius);
-}
-
-// Filled-in portion of the bar
-.progress[value]::-ms-fill {
- background-color: $progress-bar-color;
- // Remove right-hand border of value bar from IE10+/Edge
- border: 0;
-}
-.progress[value]::-moz-progress-bar {
- background-color: $progress-bar-color;
-}
-.progress[value]::-webkit-progress-value {
- background-color: $progress-bar-color;
-}
-
-// Unfilled portion of the bar
-.progress[value]::-webkit-progress-bar {
- background-color: $progress-bg;
@include box-shadow($progress-box-shadow);
}
-base::-moz-progress-bar, // Absurd-but-syntactically-valid selector to make these styles Firefox-only
-.progress[value] {
- background-color: $progress-bg;
- @include box-shadow($progress-box-shadow);
-}
-
-//
-// Striped
-//
-
-.progress-striped[value]::-webkit-progress-value {
- @include gradient-striped();
- background-size: $spacer-y $spacer-y;
-}
-.progress-striped[value]::-moz-progress-bar {
- @include gradient-striped();
- background-size: $spacer-y $spacer-y;
+.progress-bar {
+ height: $progress-height;
+ line-height: $progress-height;
+ color: $progress-bar-color;
+ background-color: $progress-bar-bg;
+ @include transition($progress-bar-transition);
}
-.progress-striped[value]::-ms-fill {
- @include gradient-striped();
- background-size: $spacer-y $spacer-y;
-}
-
-
-//
-// Animated
-//
-.progress-animated[value]::-webkit-progress-value {
- animation: progress-bar-stripes 2s linear infinite;
-}
-.progress-animated[value]::-moz-progress-bar {
- animation: progress-bar-stripes 2s linear infinite;
+.progress-bar-striped {
+ @include gradient-striped();
+ background-size: $progress-height $progress-height;
}
-
-//
-// Variations
-//
-
-.progress-success {
- @include progress-variant($progress-bar-success-bg);
-}
-.progress-info {
- @include progress-variant($progress-bar-info-bg);
-}
-.progress-warning {
- @include progress-variant($progress-bar-warning-bg);
-}
-.progress-danger {
- @include progress-variant($progress-bar-danger-bg);
+.progress-bar-animated {
+ animation: progress-bar-stripes $progress-bar-animation-timing;
}
diff --git a/scss/_reboot.scss b/scss/_reboot.scss
index e90d7cd3b..33fc2d660 100644
--- a/scss/_reboot.scss
+++ b/scss/_reboot.scss
@@ -1,84 +1,62 @@
-// scss-lint:disable QualifyingElement, DuplicateProperty
+// scss-lint:disable QualifyingElement, DuplicateProperty, VendorPrefix
// Reboot
//
-// Global resets to common HTML elements and more for easier usage by Bootstrap.
-// Adds additional rules on top of Normalize.css, including several overrides.
+// Normalization of HTML elements, manually forked from Normalize.css to remove
+// styles targeting irrelevant browsers while applying new styles.
+//
+// Normalize is licensed MIT. https://github.com/necolas/normalize.css
-// Reset the box-sizing
-//
-// Change from `box-sizing: content-box` to `border-box` so that when you add
-// `padding` or `border`s to an element, the overall declared `width` does not
-// change. For example, `width: 100px;` will always be `100px` despite the
-// `border: 10px solid red;` and `padding: 20px;`.
-//
-// Heads up! This reset may cause conflicts with some third-party widgets. For
-// recommendations on resolving such conflicts, see
-// https://getbootstrap.com/getting-started/#third-box-sizing.
+// Document
//
-// Credit: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
+// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
+// 2. Change the default font family in all browsers.
+// 3. Correct the line height in all browsers.
+// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.
+// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so
+// we force a non-overlapping, non-auto-hiding scrollbar to counteract.
+// 6. Change the default tap highlight to be completely transparent in iOS.
html {
- box-sizing: border-box;
+ box-sizing: border-box; // 1
+ font-family: sans-serif; // 2
+ line-height: 1.15; // 3
+ -webkit-text-size-adjust: 100%; // 4
+ -ms-text-size-adjust: 100%; // 4
+ -ms-overflow-style: scrollbar; // 5
+ -webkit-tap-highlight-color: rgba(0,0,0,0); // 6
}
*,
*::before,
*::after {
- box-sizing: inherit;
+ box-sizing: inherit; // 1
}
-
-// Make viewport responsive
-//
-// @viewport is needed because IE 10+ doesn't honor <meta name="viewport"> in
-// some cases. See https://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/.
-// Eventually @viewport will replace <meta name="viewport">.
-//
-// However, `device-width` is broken on IE 10 on Windows (Phone) 8,
-// (see https://timkadlec.com/2013/01/windows-phone-8-and-device-width/ and https://github.com/twbs/bootstrap/issues/10497)
-// and the fix for that involves a snippet of JavaScript to sniff the user agent
-// and apply some conditional CSS.
-//
-// See https://getbootstrap.com/getting-started/#support-ie10-width for the relevant hack.
-//
-// Wrap `@viewport` with `@at-root` for when folks do a nested import (e.g.,
-// `.class-name { @import "bootstrap"; }`).
+// IE10+ doesn't honor `<meta name="viewport">` in some cases.
@at-root {
@-ms-viewport { width: device-width; }
}
+// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
+article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
+ display: block;
+}
+// Body
//
-// Reset HTML, body, and more
-//
-
-html {
- // Sets a specific default `font-size` for user with `rem` type scales.
- font-size: $font-size-root;
- // As a side-effect of setting the @viewport above,
- // IE11 & Edge make the scrollbar overlap the content and automatically hide itself when not in use.
- // Unfortunately, the auto-showing of the scrollbar is sometimes too sensitive,
- // thus making it hard to click on stuff near the right edge of the page.
- // So we add this style to force IE11 & Edge to use a "normal", non-overlapping, non-auto-hiding scrollbar.
- // See https://github.com/twbs/bootstrap/issues/18543
- // and https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7165383/
- -ms-overflow-style: scrollbar;
- // Changes the default tap highlight to be completely transparent in iOS.
- -webkit-tap-highlight-color: rgba(0,0,0,0);
-}
+// 1. Remove the margin in all browsers.
+// 2. As a best practice, apply a default `background-color`.
body {
- // Make the `body` use the `font-size-root`
+ margin: 0; // 1
font-family: $font-family-base;
font-size: $font-size-base;
font-weight: $font-weight-base;
line-height: $line-height-base;
- // Go easy on the eyes and use something other than `#000` for text
color: $body-color;
- // By default, `<body>` has no `background-color` so we set one as a best practice.
- background-color: $body-bg;
+ background-color: $body-bg; // 2
}
// Suppress the focus outline on elements that cannot be accessed via keyboard.
@@ -91,6 +69,18 @@ body {
}
+// Content grouping
+//
+// 1. Add the correct box sizing in Firefox.
+// 2. Show the overflow in Edge and IE.
+
+hr {
+ box-sizing: content-box; // 1
+ height: 0; // 1
+ overflow: visible; // 2
+}
+
+
//
// Typography
//
@@ -114,10 +104,18 @@ p {
}
// Abbreviations
+//
+// 1. Remove the bottom border in Firefox 39-.
+// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+// 3. Add explicit cursor to indicate changed behavior.
+// 4. Duplicate behavior to the data-* attribute for our tooltip plugin
+
abbr[title],
-// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257
-abbr[data-original-title] {
- cursor: help;
+abbr[data-original-title] { // 4
+ text-decoration: underline; // 2
+ text-decoration: underline dotted; // 2
+ cursor: help; // 3
+ border-bottom: 0; // 1
}
address {
@@ -153,6 +151,35 @@ blockquote {
margin: 0 0 1rem;
}
+dfn {
+ font-style: italic; // Add the correct font style in Android 4.3-
+}
+
+b,
+strong {
+ font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari
+}
+
+small {
+ font-size: 80%; // Add the correct font size in all browsers
+}
+
+//
+// Prevent `sub` and `sup` elements from affecting the line height in
+// all browsers.
+//
+
+sub,
+sup {
+ position: relative;
+ font-size: 75%;
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub { bottom: -.25em; }
+sup { top: -.5em; }
+
//
// Links
@@ -161,15 +188,13 @@ blockquote {
a {
color: $link-color;
text-decoration: $link-decoration;
+ background-color: transparent; // Remove the gray background on active links in IE 10.
+ -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.
- @include hover-focus {
+ @include hover {
color: $link-hover-color;
text-decoration: $link-hover-decoration;
}
-
- &:focus {
- @include tab-focus();
- }
}
// And undo these styles for placeholder links/named anchors (without href)
@@ -188,7 +213,7 @@ a:not([href]):not([tabindex]) {
}
&:focus {
- outline: none;
+ outline: 0;
}
}
@@ -197,12 +222,20 @@ a:not([href]):not([tabindex]) {
// Code
//
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.
+ font-size: 1em; // Correct the odd `em` font sizing in all browsers.
+}
+
pre {
// Remove browser default top margin
margin-top: 0;
// Reset browser default of `1em` to use `rem`s
margin-bottom: 1rem;
- // Normalize v4 removed this property, causing `<pre>` content to break out of wrapping code snippets
+ // Don't allow content to break outside
overflow: auto;
}
@@ -212,33 +245,22 @@ pre {
//
figure {
- // Normalize adds `margin` to `figure`s as browsers apply it inconsistently.
- // We reset that to create a better flow in-page.
+ // Apply a consistent margin strategy (matches our type styles).
margin: 0 0 1rem;
}
//
-// Images
+// Images and content
//
img {
- // By default, `<img>`s are `inline-block`. This assumes that, and vertically
- // centers them. This won't apply should you reset them to `block` level.
vertical-align: middle;
- // Note: `<img>`s are deliberately not made responsive by default.
- // For the rationale behind this, see the comments on the `.img-fluid` class.
+ border-style: none; // Remove the border on images inside links in IE 10-.
}
-
-// iOS "clickable elements" fix for role="button"
-//
-// Fixes "clickability" issue (and more generally, the firing of events such as focus as well)
-// for traditionally non-focusable elements with role="button"
-// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
-
-[role="button"] {
- cursor: pointer;
+svg:not(:root) {
+ overflow: hidden; // Hide the overflow in IE
}
@@ -270,10 +292,7 @@ textarea {
//
table {
- // No longer part of Normalize since v4
- border-collapse: collapse;
- // Reset for nesting within parents with `background-color`.
- background-color: $table-bg;
+ border-collapse: collapse; // Prevent double borders
}
caption {
@@ -285,7 +304,7 @@ caption {
}
th {
- // Centered by default, but left-align-ed to match the `td`s below.
+ // Matches default `<td>` alignment
text-align: left;
}
@@ -312,20 +331,47 @@ button:focus {
input,
button,
select,
+optgroup,
textarea {
- // Normalize includes `font: inherit;`, so `font-family`. `font-size`, etc are
- // properly inherited. However, `line-height` isn't inherited there.
+ margin: 0; // Remove the margin in Firefox and Safari
+ font-family: inherit;
+ font-size: inherit;
line-height: inherit;
}
+button,
+input {
+ overflow: visible; // Show the overflow in Edge
+}
+
+button,
+select {
+ text-transform: none; // Remove the inheritance of text transform in Firefox
+}
+
+// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
+// controls in Android 4.
+// 2. Correct the inability to style clickable types in iOS and Safari.
+button,
+html [type="button"], // 1
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button; // 2
+}
+
+// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
input[type="radio"],
input[type="checkbox"] {
- // Apply a disabled cursor for radios and checkboxes.
- //
- // Note: Neither radios nor checkboxes can be readonly.
- &:disabled {
- cursor: $cursor-disabled;
- }
+ box-sizing: border-box; // 1. Add the correct box sizing in IE 10-
+ padding: 0; // 2. Remove the padding in IE 10-
}
@@ -342,6 +388,7 @@ input[type="month"] {
}
textarea {
+ overflow: auto; // Remove the default vertical scrollbar in IE.
// Textareas should really only resize vertically so they don't break their (horizontal) containers.
resize: vertical;
}
@@ -359,33 +406,76 @@ fieldset {
border: 0;
}
+// 1. Correct the text wrapping in Edge and IE.
+// 2. Correct the color inheritance from `fieldset` elements in IE.
legend {
- // Reset the entire legend element to match the `fieldset`
display: block;
width: 100%;
+ max-width: 100%; // 1
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
+ color: inherit; // 2
+ white-space: normal; // 1
+}
+
+progress {
+ vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.
+}
+
+// Correct the cursor style of increment and decrement buttons in Chrome.
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
}
-input[type="search"] {
+[type="search"] {
// This overrides the extra rounded corners on search inputs in iOS so that our
// `.form-control` class can properly style them. Note that this cannot simply
// be added to `.form-control` as it's not specific enough. For details, see
// https://github.com/twbs/bootstrap/issues/11586.
+ outline-offset: -2px; // 2. Correct the outline style in Safari.
+ -webkit-appearance: none;
+}
+
+//
+// Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
+//
+
+[type="search"]::-webkit-search-cancel-button,
+[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
-// todo: needed?
+//
+// 1. Correct the inability to style clickable types in iOS and Safari.
+// 2. Change font properties to `inherit` in Safari.
+//
+
+::-webkit-file-upload-button {
+ font: inherit; // 2
+ -webkit-appearance: button; // 1
+}
+
+//
+// Correct element displays
+//
+
output {
display: inline-block;
-// font-size: $font-size-base;
-// line-height: $line-height;
-// color: $input-color;
+}
+
+summary {
+ display: list-item; // Add the correct display in all browsers
+}
+
+template {
+ display: none; // Add the correct display in IE
}
// Always hide an element with the `hidden` HTML attribute (from PureCSS).
+// Needed for proper display in IE 10-.
[hidden] {
display: none !important;
}
diff --git a/scss/_responsive-embed.scss b/scss/_responsive-embed.scss
index 244321959..d3362b6fd 100644
--- a/scss/_responsive-embed.scss
+++ b/scss/_responsive-embed.scss
@@ -3,10 +3,15 @@
.embed-responsive {
position: relative;
display: block;
- height: 0;
+ width: 100%;
padding: 0;
overflow: hidden;
+ &::before {
+ display: block;
+ content: "";
+ }
+
.embed-responsive-item,
iframe,
embed,
@@ -23,17 +28,25 @@
}
.embed-responsive-21by9 {
- padding-bottom: percentage(9 / 21);
+ &::before {
+ padding-top: percentage(9 / 21);
+ }
}
.embed-responsive-16by9 {
- padding-bottom: percentage(9 / 16);
+ &::before {
+ padding-top: percentage(9 / 16);
+ }
}
.embed-responsive-4by3 {
- padding-bottom: percentage(3 / 4);
+ &::before {
+ padding-top: percentage(3 / 4);
+ }
}
.embed-responsive-1by1 {
- padding-bottom: percentage(1 / 1);
+ &::before {
+ padding-top: percentage(1 / 1);
+ }
}
diff --git a/scss/_tables.scss b/scss/_tables.scss
index e6894cfed..36c3dab77 100644
--- a/scss/_tables.scss
+++ b/scss/_tables.scss
@@ -6,6 +6,7 @@
width: 100%;
max-width: 100%;
margin-bottom: $spacer;
+ background-color: $table-bg; // Reset for nesting within parents with `background-color`.
th,
td {
@@ -124,14 +125,27 @@
th,
td,
thead th {
- border-color: $body-bg;
+ border-color: $table-inverse-border-color;
}
&.table-bordered {
border: 0;
}
-}
+ &.table-striped {
+ tbody tr:nth-of-type(odd) {
+ background-color: $table-inverse-bg-accent;
+ }
+ }
+
+ &.table-hover {
+ tbody tr {
+ @include hover {
+ background-color: $table-inverse-bg-hover;
+ }
+ }
+ }
+}
// Responsive tables
@@ -141,56 +155,15 @@
// will display normally.
.table-responsive {
- display: block;
- width: 100%;
- overflow-x: auto;
- -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
-
- // Prevent double border on horizontal scroll due to use of `display: block;`
- &.table-bordered {
- border: 0;
- }
-}
-
-
-.table-reflow {
- thead {
- float: left;
- }
-
- tbody {
+ @include media-breakpoint-down(md) {
display: block;
- white-space: nowrap;
- }
+ width: 100%;
+ overflow-x: auto;
+ -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
- th,
- td {
- border-top: $table-border-width solid $table-border-color;
- border-left: $table-border-width solid $table-border-color;
-
- &:last-child {
- border-right: $table-border-width solid $table-border-color;
- }
- }
-
- thead,
- tbody,
- tfoot {
- &:last-child {
- tr:last-child th,
- tr:last-child td {
- border-bottom: $table-border-width solid $table-border-color;
- }
- }
- }
-
- tr {
- float: left;
-
- th,
- td {
- display: block !important;
- border: $table-border-width solid $table-border-color;
+ // Prevent double border on horizontal scroll due to use of `display: block;`
+ &.table-bordered {
+ border: 0;
}
}
}
diff --git a/scss/_tooltip.scss b/scss/_tooltip.scss
index 24e198d46..fe97fbbbd 100644
--- a/scss/_tooltip.scss
+++ b/scss/_tooltip.scss
@@ -3,6 +3,7 @@
position: absolute;
z-index: $zindex-tooltip;
display: block;
+ margin: $tooltip-margin;
// Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
// So reset our font and text properties to avoid inheriting weird values.
@include reset-text();
@@ -13,62 +14,86 @@
&.show { opacity: $tooltip-opacity; }
- &.tooltip-top,
- &.bs-tether-element-attached-bottom {
- padding: $tooltip-arrow-width 0;
- margin-top: -$tooltip-margin;
+ .arrow {
+ position: absolute;
+ display: block;
+ width: $tooltip-arrow-width;
+ height: $tooltip-arrow-height;
+ }
- .tooltip-inner::before {
+ &.bs-tooltip-top {
+ padding: $tooltip-arrow-width 0;
+ .arrow {
bottom: 0;
- left: 50%;
- margin-left: -$tooltip-arrow-width;
+ }
+
+ .arrow::before {
+ margin-left: -($tooltip-arrow-width - 2);
content: "";
border-width: $tooltip-arrow-width $tooltip-arrow-width 0;
border-top-color: $tooltip-arrow-color;
}
}
- &.tooltip-right,
- &.bs-tether-element-attached-left {
+ &.bs-tooltip-right {
padding: 0 $tooltip-arrow-width;
- margin-left: $tooltip-margin;
-
- .tooltip-inner::before {
- top: 50%;
+ .arrow {
left: 0;
- margin-top: -$tooltip-arrow-width;
+ }
+
+ .arrow::before {
+ margin-top: -($tooltip-arrow-width - 2);
content: "";
border-width: $tooltip-arrow-width $tooltip-arrow-width $tooltip-arrow-width 0;
border-right-color: $tooltip-arrow-color;
}
}
- &.tooltip-bottom,
- &.bs-tether-element-attached-top {
+ &.bs-tooltip-bottom {
padding: $tooltip-arrow-width 0;
- margin-top: $tooltip-margin;
-
- .tooltip-inner::before {
+ .arrow {
top: 0;
- left: 50%;
- margin-left: -$tooltip-arrow-width;
+ }
+
+ .arrow::before {
+ margin-left: -($tooltip-arrow-width - 2);
content: "";
border-width: 0 $tooltip-arrow-width $tooltip-arrow-width;
border-bottom-color: $tooltip-arrow-color;
}
}
- &.tooltip-left,
- &.bs-tether-element-attached-right {
+ &.bs-tooltip-left {
padding: 0 $tooltip-arrow-width;
- margin-left: -$tooltip-margin;
+ .arrow {
+ right: 0;
+ }
- .tooltip-inner::before {
- top: 50%;
+ .arrow::before {
right: 0;
- margin-top: -$tooltip-arrow-width;
+ margin-top: -($tooltip-arrow-width - 2);
content: "";
border-width: $tooltip-arrow-width 0 $tooltip-arrow-width $tooltip-arrow-width;
border-left-color: $tooltip-arrow-color;
}
}
+ &.bs-tooltip-auto {
+ &[x-placement^="top"] {
+ @extend .bs-tooltip-top;
+ }
+ &[x-placement^="right"] {
+ @extend .bs-tooltip-right;
+ }
+ &[x-placement^="bottom"] {
+ @extend .bs-tooltip-bottom;
+ }
+ &[x-placement^="left"] {
+ @extend .bs-tooltip-left;
+ }
+ }
+
+ .arrow::before {
+ position: absolute;
+ border-color: transparent;
+ border-style: solid;
+ }
}
// Wrapper for the tooltip content
@@ -79,12 +104,4 @@
text-align: center;
background-color: $tooltip-bg;
@include border-radius($border-radius);
-
- &::before {
- position: absolute;
- width: 0;
- height: 0;
- border-color: transparent;
- border-style: solid;
- }
}
diff --git a/scss/_type.scss b/scss/_type.scss
index cb4a035fc..fc9c791c4 100644
--- a/scss/_type.scss
+++ b/scss/_type.scss
@@ -27,18 +27,22 @@ h6, .h6 { font-size: $font-size-h6; }
.display-1 {
font-size: $display1-size;
font-weight: $display1-weight;
+ line-height: $display-line-height;
}
.display-2 {
font-size: $display2-size;
font-weight: $display2-weight;
+ line-height: $display-line-height;
}
.display-3 {
font-size: $display3-size;
font-weight: $display3-weight;
+ line-height: $display-line-height;
}
.display-4 {
font-size: $display4-size;
font-weight: $display4-weight;
+ line-height: $display-line-height;
}
@@ -47,8 +51,8 @@ h6, .h6 { font-size: $font-size-h6; }
//
hr {
- margin-top: $spacer-y;
- margin-bottom: $spacer-y;
+ margin-top: 1rem;
+ margin-bottom: 1rem;
border: 0;
border-top: $hr-border-width solid $hr-border-color;
}
diff --git a/scss/_utilities.scss b/scss/_utilities.scss
index c63e50600..7d08ff2f8 100644
--- a/scss/_utilities.scss
+++ b/scss/_utilities.scss
@@ -5,7 +5,9 @@
@import "utilities/display";
@import "utilities/flex";
@import "utilities/float";
+@import "utilities/position";
@import "utilities/screenreaders";
+@import "utilities/sizing";
@import "utilities/spacing";
@import "utilities/text";
@import "utilities/visibility";
diff --git a/scss/_variables.scss b/scss/_variables.scss
index 948ac0354..20826e8e0 100644
--- a/scss/_variables.scss
+++ b/scss/_variables.scss
@@ -21,8 +21,8 @@
// Forms
// Dropdowns
// Z-index master list
-// Navbar
// Navs
+// Navbar
// Pagination
// Jumbotron
// Form states and alerts
@@ -138,36 +138,15 @@ $enable-print-styles: true !default;
// variables. Mostly focused on spacing.
// You can add more entries to the $spacers map, should you need more variation.
-$spacer: 1rem !default;
-$spacer-x: $spacer !default;
-$spacer-y: $spacer !default;
+$spacer: 1rem !default;
$spacers: (
- 0: (
- x: 0,
- y: 0
- ),
- 1: (
- x: ($spacer-x * .25),
- y: ($spacer-y * .25)
- ),
- 2: (
- x: ($spacer-x * .5),
- y: ($spacer-y * .5)
- ),
- 3: (
- x: $spacer-x,
- y: $spacer-y
- ),
- 4: (
- x: ($spacer-x * 1.5),
- y: ($spacer-y * 1.5)
- ),
- 5: (
- x: ($spacer-x * 3),
- y: ($spacer-y * 3)
- )
+ 0: 0,
+ 1: ($spacer * .25),
+ 2: ($spacer * .5),
+ 3: $spacer,
+ 4: ($spacer * 1.5),
+ 5: ($spacer * 3)
) !default;
-$border-width: 1px !default;
// This variable affects the `.h-*` and `.w-*` classes.
$sizes: (
@@ -183,9 +162,6 @@ $sizes: (
$body-bg: $white !default;
$body-color: $gray-dark !default;
-$inverse-bg: $gray-dark !default;
-$inverse-color: $gray-lighter !default;
-
// Links
//
@@ -240,19 +216,39 @@ $grid-gutter-widths: (
xl: $grid-gutter-width-base
) !default;
+
+// Components
+//
+// Define common padding and border radius sizes and more.
+
+$line-height-lg: 1.5 !default;
+$line-height-sm: 1.5 !default;
+
+$border-width: 1px !default;
+
+$border-radius: .25rem !default;
+$border-radius-lg: .3rem !default;
+$border-radius-sm: .2rem !default;
+
+$component-active-color: $white !default;
+$component-active-bg: $brand-primary !default;
+
+$caret-width: .3em !default;
+
+$transition-base: all .2s ease-in-out !default;
+$transition-fade: opacity .15s linear !default;
+$transition-collapse: height .35s ease !default;
+
+
// Fonts
//
// Font, line-height, and color for body text, headings, and more.
-$font-family-sans-serif: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
-$font-family-serif: Georgia, "Times New Roman", Times, serif !default;
+$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
$font-family-monospace: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
$font-family-base: $font-family-sans-serif !default;
-// Pixel value used to responsively scale all typography. Applied to the `<html>` element.
-$font-size-root: 16px !default;
-
-$font-size-base: 1rem !default;
+$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
$font-size-lg: 1.25rem !default;
$font-size-sm: .875rem !default;
$font-size-xs: .75rem !default;
@@ -270,22 +266,23 @@ $font-size-h4: 1.5rem !default;
$font-size-h5: 1.25rem !default;
$font-size-h6: 1rem !default;
-$display1-size: 6rem !default;
-$display2-size: 5.5rem !default;
-$display3-size: 4.5rem !default;
-$display4-size: 3.5rem !default;
-
-$display1-weight: 300 !default;
-$display2-weight: 300 !default;
-$display3-weight: 300 !default;
-$display4-weight: 300 !default;
-
$headings-margin-bottom: ($spacer / 2) !default;
$headings-font-family: inherit !default;
$headings-font-weight: 500 !default;
$headings-line-height: 1.1 !default;
$headings-color: inherit !default;
+$display1-size: 6rem !default;
+$display2-size: 5.5rem !default;
+$display3-size: 4.5rem !default;
+$display4-size: 3.5rem !default;
+
+$display1-weight: 300 !default;
+$display2-weight: 300 !default;
+$display3-weight: 300 !default;
+$display4-weight: 300 !default;
+$display-line-height: $headings-line-height !default;
+
$lead-font-size: 1.25rem !default;
$lead-font-weight: 300 !default;
@@ -293,8 +290,6 @@ $small-font-size: 80% !default;
$text-muted: $gray-light !default;
-$abbr-border-color: $gray-light !default;
-
$blockquote-small-color: $gray-light !default;
$blockquote-font-size: ($font-size-base * 1.25) !default;
$blockquote-border-color: $gray-lighter !default;
@@ -313,28 +308,6 @@ $nested-kbd-font-weight: $font-weight-bold !default;
$list-inline-padding: 5px !default;
-// Components
-//
-// Define common padding and border radius sizes and more.
-
-$line-height-lg: (4 / 3) !default;
-$line-height-sm: 1.5 !default;
-
-$border-radius: .25rem !default;
-$border-radius-lg: .3rem !default;
-$border-radius-sm: .2rem !default;
-
-$component-active-color: $white !default;
-$component-active-bg: $brand-primary !default;
-
-$caret-width: .3em !default;
-$caret-width-lg: $caret-width !default;
-
-$transition-base: all .2s ease-in-out !default;
-$transition-fade: opacity .15s linear !default;
-$transition-collapse: height .35s ease !default;
-
-
// Tables
//
// Customizes the `.table` component with basic values, each used across all table variations.
@@ -343,28 +316,39 @@ $table-cell-padding: .75rem !default;
$table-sm-cell-padding: .3rem !default;
$table-bg: transparent !default;
-
-$table-inverse-bg: $gray-dark !default;
-$table-inverse-color: $body-bg !default;
-
$table-bg-accent: rgba($black,.05) !default;
$table-bg-hover: rgba($black,.075) !default;
$table-bg-active: $table-bg-hover !default;
+$table-border-width: $border-width !default;
+$table-border-color: $gray-lighter !default;
+
$table-head-bg: $gray-lighter !default;
$table-head-color: $gray !default;
-$table-border-width: $border-width !default;
-$table-border-color: $gray-lighter !default;
+$table-inverse-bg: $gray-dark !default;
+$table-inverse-bg-accent: rgba($white, .05) !default;
+$table-inverse-bg-hover: rgba($white, .075) !default;
+$table-inverse-border-color: lighten($gray-dark, 7.5%) !default;
+$table-inverse-color: $body-bg !default;
// Buttons
//
// For each of Bootstrap's buttons, define text, background and border color.
-$btn-padding-x: 1rem !default;
-$btn-padding-y: .5rem !default;
-$btn-line-height: 1.25 !default;
+$input-btn-padding-y: .5rem !default;
+$input-btn-padding-x: 1rem !default;
+$input-btn-line-height: 1.25 !default;
+
+$input-btn-padding-y-sm: .25rem !default;
+$input-btn-padding-x-sm: .5rem !default;
+$input-btn-line-height-sm: 1.5 !default;
+
+$input-btn-padding-y-lg: .5rem !default;
+$input-btn-padding-x-lg: 1rem !default;
+$input-btn-line-height-lg: 1.5 !default;
+
$btn-font-weight: $font-weight-normal !default;
$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;
$btn-focus-box-shadow: 0 0 0 2px rgba($brand-primary, .25) !default;
@@ -372,38 +356,31 @@ $btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;
$btn-primary-color: $white !default;
$btn-primary-bg: $brand-primary !default;
-$btn-primary-border: $btn-primary-bg !default;
+$btn-primary-border-color: $btn-primary-bg !default;
$btn-secondary-color: $gray-dark !default;
$btn-secondary-bg: $white !default;
-$btn-secondary-border: #ccc !default;
+$btn-secondary-border-color: #ccc !default;
$btn-info-color: $white !default;
$btn-info-bg: $brand-info !default;
-$btn-info-border: $btn-info-bg !default;
+$btn-info-border-color: $btn-info-bg !default;
$btn-success-color: $white !default;
$btn-success-bg: $brand-success !default;
-$btn-success-border: $btn-success-bg !default;
+$btn-success-border-color: $btn-success-bg !default;
$btn-warning-color: $white !default;
$btn-warning-bg: $brand-warning !default;
-$btn-warning-border: $btn-warning-bg !default;
+$btn-warning-border-color: $btn-warning-bg !default;
$btn-danger-color: $white !default;
$btn-danger-bg: $brand-danger !default;
-$btn-danger-border: $btn-danger-bg !default;
+$btn-danger-border-color: $btn-danger-bg !default;
$btn-link-disabled-color: $gray-light !default;
-$btn-padding-x-sm: .5rem !default;
-$btn-padding-y-sm: .25rem !default;
-
-$btn-padding-x-lg: 1.5rem !default;
-$btn-padding-y-lg: .75rem !default;
-
$btn-block-spacing-y: .5rem !default;
-$btn-toolbar-margin: .5rem !default;
// Allows for customizing button radius independently from global border radius
$btn-border-radius: $border-radius !default;
@@ -415,10 +392,6 @@ $btn-transition: all .2s ease-in-out !default;
// Forms
-$input-padding-x: .75rem !default;
-$input-padding-y: .5rem !default;
-$input-line-height: 1.25 !default;
-
$input-bg: $white !default;
$input-bg-disabled: $gray-lighter !default;
@@ -432,21 +405,15 @@ $input-border-radius-lg: $border-radius-lg !default;
$input-border-radius-sm: $border-radius-sm !default;
$input-bg-focus: $input-bg !default;
-$input-border-focus: lighten($brand-primary, 25%) !default;
-$input-box-shadow-focus: $input-box-shadow, rgba($input-border-focus, .6) !default;
+$input-border-color-focus: lighten($brand-primary, 25%) !default;
+$input-box-shadow-focus: $input-box-shadow, rgba($input-border-color-focus, .6) !default;
$input-color-focus: $input-color !default;
$input-color-placeholder: $gray-light !default;
-$input-padding-x-sm: .5rem !default;
-$input-padding-y-sm: .25rem !default;
-
-$input-padding-x-lg: 1.5rem !default;
-$input-padding-y-lg: .75rem !default;
-
-$input-height: (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default;
-$input-height-lg: (($font-size-lg * $line-height-lg) + ($input-padding-y-lg * 2)) !default;
-$input-height-sm: (($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2)) !default;
+$input-height: (($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2)) !default;
+$input-height-lg: (($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2)) !default;
+$input-height-sm: (($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2)) !default;
$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;
@@ -460,24 +427,20 @@ $form-check-input-margin-x: .25rem !default;
$form-check-inline-margin-x: .75rem !default;
-$form-group-margin-bottom: $spacer-y !default;
+$form-group-margin-bottom: 1rem !default;
$input-group-addon-bg: $gray-lighter !default;
$input-group-addon-border-color: $input-border-color !default;
-$cursor-disabled: not-allowed !default;
-
$custom-control-gutter: 1.5rem !default;
-$custom-control-spacer-x: 1rem !default;
$custom-control-spacer-y: .25rem !default;
+$custom-control-spacer-x: 1rem !default;
$custom-control-indicator-size: 1rem !default;
-$custom-control-indicator-margin-y: (($line-height-base * 1rem) - $custom-control-indicator-size) / -2 !default;
$custom-control-indicator-bg: #ddd !default;
$custom-control-indicator-bg-size: 50% 50% !default;
$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;
-$custom-control-disabled-cursor: $cursor-disabled !default;
$custom-control-disabled-indicator-bg: $gray-lighter !default;
$custom-control-disabled-description-color: $gray-light !default;
@@ -502,10 +465,10 @@ $custom-checkbox-indeterminate-box-shadow: none !default;
$custom-radio-radius: 50% !default;
$custom-radio-checked-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-checked-indicator-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
-$custom-select-padding-x: .75rem !default;
$custom-select-padding-y: .375rem !default;
+$custom-select-padding-x: .75rem !default;
$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
-$custom-select-line-height: $input-line-height !default;
+$custom-select-line-height: $input-btn-line-height !default;
$custom-select-color: $input-color !default;
$custom-select-disabled-color: $gray-light !default;
$custom-select-bg: $white !default;
@@ -520,15 +483,14 @@ $custom-select-border-radius: $border-radius !default;
$custom-select-focus-border-color: lighten($brand-primary, 25%) !default;
$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;
-$custom-select-sm-padding-y: .2rem !default;
$custom-select-sm-font-size: 75% !default;
$custom-file-height: 2.5rem !default;
$custom-file-width: 14rem !default;
$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem $brand-primary !default;
-$custom-file-padding-x: .5rem !default;
$custom-file-padding-y: 1rem !default;
+$custom-file-padding-x: .5rem !default;
$custom-file-line-height: 1.5 !default;
$custom-file-color: $gray !default;
$custom-file-bg: $white !default;
@@ -556,7 +518,7 @@ $form-icon-warning-color: $brand-warning !default;
$form-icon-warning: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-warning-color}' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"), "#", "%23") !default;
$form-icon-danger-color: $brand-danger !default;
-$form-icon-danger: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-icon-danger-color}' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"), "#", "%23") !default;
+$form-icon-danger: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-icon-danger-color}' viewBox='-2 -2 7 7'%3E%3Cpath stroke='#{$form-icon-danger-color}' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"), "#", "%23") !default;
// Dropdowns
@@ -581,6 +543,7 @@ $dropdown-link-active-bg: $component-active-bg !default;
$dropdown-link-disabled-color: $gray-light !default;
+$dropdown-item-padding-y: .25rem !default;
$dropdown-item-padding-x: 1.5rem !default;
$dropdown-header-color: $gray-light !default;
@@ -591,29 +554,45 @@ $dropdown-header-color: $gray-light !default;
// Warning: Avoid customizing these values. They're used for a bird's eye view
// of components dependent on the z-axis and are designed to all work together.
-$zindex-dropdown-backdrop: 990 !default;
-$zindex-navbar: 1000 !default;
-$zindex-dropdown: 1000 !default;
-$zindex-navbar-fixed: 1030 !default;
-$zindex-navbar-sticky: 1030 !default;
-$zindex-modal-backdrop: 1040 !default;
-$zindex-modal: 1050 !default;
-$zindex-popover: 1060 !default;
-$zindex-tooltip: 1070 !default;
+$zindex-dropdown: 1000 !default;
+$zindex-sticky: 1020 !default;
+$zindex-fixed: 1030 !default;
+$zindex-modal-backdrop: 1040 !default;
+$zindex-modal: 1050 !default;
+$zindex-popover: 1060 !default;
+$zindex-tooltip: 1070 !default;
+// Navs
+
+$nav-link-padding-y: .5rem !default;
+$nav-link-padding-x: 1rem !default;
+$nav-disabled-link-color: $gray-light !default;
+
+$nav-tabs-border-color: #ddd !default;
+$nav-tabs-border-width: $border-width !default;
+$nav-tabs-border-radius: $border-radius !default;
+$nav-tabs-link-hover-border-color: $gray-lighter !default;
+$nav-tabs-active-link-color: $gray !default;
+$nav-tabs-active-link-bg: $body-bg !default;
+$nav-tabs-active-link-border-color: #ddd !default;
+
+$nav-pills-border-radius: $border-radius !default;
+$nav-pills-active-link-color: $component-active-color !default;
+$nav-pills-active-link-bg: $component-active-bg !default;
// Navbar
-$navbar-border-radius: $border-radius !default;
-$navbar-padding-x: $spacer !default;
$navbar-padding-y: ($spacer / 2) !default;
+$navbar-padding-x: $spacer !default;
-$navbar-brand-padding-y: .25rem !default;
-
-$navbar-divider-padding-y: .425rem !default;
+$navbar-brand-font-size: $font-size-lg !default;
+// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
+$nav-link-height: $navbar-brand-font-size * $line-height-base !default;
+$navbar-brand-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;
+$navbar-brand-padding-y: ($navbar-brand-height - $nav-link-height) / 2 !default;
-$navbar-toggler-padding-x: .75rem !default;
$navbar-toggler-padding-y: .25rem !default;
+$navbar-toggler-padding-x: .75rem !default;
$navbar-toggler-font-size: $font-size-lg !default;
$navbar-toggler-border-radius: $btn-border-radius !default;
@@ -621,47 +600,24 @@ $navbar-inverse-color: rgba($white,.5) !default;
$navbar-inverse-hover-color: rgba($white,.75) !default;
$navbar-inverse-active-color: rgba($white,1) !default;
$navbar-inverse-disabled-color: rgba($white,.25) !default;
-$navbar-inverse-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-inverse-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"), "#", "%23") !default;
-$navbar-inverse-toggler-border: rgba($white,.1) !default;
+$navbar-inverse-toggler-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-inverse-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
+$navbar-inverse-toggler-border-color: rgba($white,.1) !default;
$navbar-light-color: rgba($black,.5) !default;
$navbar-light-hover-color: rgba($black,.7) !default;
$navbar-light-active-color: rgba($black,.9) !default;
$navbar-light-disabled-color: rgba($black,.3) !default;
-$navbar-light-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"), "#", "%23") !default;
-$navbar-light-toggler-border: rgba($black,.1) !default;
-
-// Navs
-
-$nav-item-margin: .2rem !default;
-$nav-item-inline-spacer: 1rem !default;
-$nav-link-padding: .5em 1em !default;
-$nav-link-hover-bg: $gray-lighter !default;
-$nav-disabled-link-color: $gray-light !default;
-
-$nav-tabs-border-color: #ddd !default;
-$nav-tabs-border-width: $border-width !default;
-$nav-tabs-border-radius: $border-radius !default;
-$nav-tabs-link-hover-border-color: $gray-lighter !default;
-$nav-tabs-active-link-hover-color: $gray !default;
-$nav-tabs-active-link-hover-bg: $body-bg !default;
-$nav-tabs-active-link-hover-border-color: #ddd !default;
-$nav-tabs-justified-link-border-color: #ddd !default;
-$nav-tabs-justified-active-link-border-color: $body-bg !default;
-
-$nav-pills-border-radius: $border-radius !default;
-$nav-pills-active-link-color: $component-active-color !default;
-$nav-pills-active-link-bg: $component-active-bg !default;
-
+$navbar-light-toggler-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
+$navbar-light-toggler-border-color: rgba($black,.1) !default;
// Pagination
-$pagination-padding-x: .75rem !default;
$pagination-padding-y: .5rem !default;
-$pagination-padding-x-sm: .5rem !default;
+$pagination-padding-x: .75rem !default;
$pagination-padding-y-sm: .25rem !default;
-$pagination-padding-x-lg: 1.5rem !default;
+$pagination-padding-x-sm: .5rem !default;
$pagination-padding-y-lg: .75rem !default;
+$pagination-padding-x-lg: 1.5rem !default;
$pagination-line-height: 1.25 !default;
$pagination-color: $link-color !default;
@@ -671,15 +627,15 @@ $pagination-border-color: #ddd !default;
$pagination-hover-color: $link-hover-color !default;
$pagination-hover-bg: $gray-lighter !default;
-$pagination-hover-border: #ddd !default;
+$pagination-hover-border-color: #ddd !default;
$pagination-active-color: $white !default;
$pagination-active-bg: $brand-primary !default;
-$pagination-active-border: $brand-primary !default;
+$pagination-active-border-color: $brand-primary !default;
$pagination-disabled-color: $gray-light !default;
$pagination-disabled-bg: $white !default;
-$pagination-disabled-border: #ddd !default;
+$pagination-disabled-border-color: #ddd !default;
// Jumbotron
@@ -694,26 +650,26 @@ $jumbotron-bg: $gray-lighter !default;
$state-success-text: #3c763d !default;
$state-success-bg: #dff0d8 !default;
-$state-success-border: darken($state-success-bg, 5%) !default;
+$state-success-border-color: darken($state-success-bg, 5%) !default;
$state-info-text: #31708f !default;
$state-info-bg: #d9edf7 !default;
-$state-info-border: darken($state-info-bg, 7%) !default;
+$state-info-border-color: darken($state-info-bg, 7%) !default;
$state-warning-text: #8a6d3b !default;
$state-warning-bg: #fcf8e3 !default;
$mark-bg: $state-warning-bg !default;
-$state-warning-border: darken($state-warning-bg, 5%) !default;
+$state-warning-border-color: darken($state-warning-bg, 5%) !default;
$state-danger-text: #a94442 !default;
$state-danger-bg: #f2dede !default;
-$state-danger-border: darken($state-danger-bg, 5%) !default;
+$state-danger-border-color: darken($state-danger-bg, 5%) !default;
// Cards
-$card-spacer-x: 1.25rem !default;
$card-spacer-y: .75rem !default;
+$card-spacer-x: 1.25rem !default;
$card-border-width: 1px !default;
$card-border-radius: $border-radius !default;
$card-border-color: rgba($black,.125) !default;
@@ -740,9 +696,11 @@ $tooltip-bg: $black !default;
$tooltip-opacity: .9 !default;
$tooltip-padding-y: 3px !default;
$tooltip-padding-x: 8px !default;
-$tooltip-margin: 3px !default;
+$tooltip-margin: 0 !default;
+
$tooltip-arrow-width: 5px !default;
+$tooltip-arrow-height: 5px !default;
$tooltip-arrow-color: $tooltip-bg !default;
@@ -756,13 +714,16 @@ $popover-border-color: rgba($black,.2) !default;
$popover-box-shadow: 0 5px 10px rgba($black,.2) !default;
$popover-title-bg: darken($popover-bg, 3%) !default;
-$popover-title-padding-x: 14px !default;
+$popover-title-color: $headings-color !default;
$popover-title-padding-y: 8px !default;
+$popover-title-padding-x: 14px !default;
-$popover-content-padding-x: 14px !default;
+$popover-content-color: $body-color !default;
$popover-content-padding-y: 9px !default;
+$popover-content-padding-x: 14px !default;
$popover-arrow-width: 10px !default;
+$popover-arrow-height: 5px !default;
$popover-arrow-color: $popover-bg !default;
$popover-arrow-outer-width: ($popover-arrow-width + 1px) !default;
@@ -782,8 +743,8 @@ $badge-color: $white !default;
$badge-link-hover-color: $white !default;
$badge-font-size: 75% !default;
$badge-font-weight: $font-weight-bold !default;
-$badge-padding-x: .4em !default;
$badge-padding-y: .25em !default;
+$badge-padding-x: .4em !default;
$badge-pill-padding-x: .6em !default;
// Use a higher than normal value to ensure completely rounded edges when
@@ -826,43 +787,41 @@ $modal-transition: transform .3s ease-out !default;
//
// Define alert colors, border radius, and padding.
-$alert-padding-x: 1.25rem !default;
$alert-padding-y: .75rem !default;
-$alert-margin-bottom: $spacer-y !default;
+$alert-padding-x: 1.25rem !default;
+$alert-margin-bottom: 1rem !default;
$alert-border-radius: $border-radius !default;
$alert-link-font-weight: $font-weight-bold !default;
$alert-border-width: $border-width !default;
$alert-success-bg: $state-success-bg !default;
$alert-success-text: $state-success-text !default;
-$alert-success-border: $state-success-border !default;
+$alert-success-border-color: $state-success-border-color !default;
$alert-info-bg: $state-info-bg !default;
$alert-info-text: $state-info-text !default;
-$alert-info-border: $state-info-border !default;
+$alert-info-border-color: $state-info-border-color !default;
$alert-warning-bg: $state-warning-bg !default;
$alert-warning-text: $state-warning-text !default;
-$alert-warning-border: $state-warning-border !default;
+$alert-warning-border-color: $state-warning-border-color !default;
$alert-danger-bg: $state-danger-bg !default;
$alert-danger-text: $state-danger-text !default;
-$alert-danger-border: $state-danger-border !default;
+$alert-danger-border-color: $state-danger-border-color !default;
// Progress bars
-$progress-bg: $gray-lighter !default;
-$progress-bar-color: $brand-primary !default;
-$progress-border-radius: $border-radius !default;
-$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;
-
-$progress-bar-bg: $brand-primary !default;
-$progress-bar-success-bg: $brand-success !default;
-$progress-bar-warning-bg: $brand-warning !default;
-$progress-bar-danger-bg: $brand-danger !default;
-$progress-bar-info-bg: $brand-info !default;
-
+$progress-height: 1rem !default;
+$progress-font-size: .75rem !default;
+$progress-bg: $gray-lighter !default;
+$progress-border-radius: $border-radius !default;
+$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;
+$progress-bar-color: $white !default;
+$progress-bar-bg: $brand-primary !default;
+$progress-bar-animation-timing: 1s linear infinite !default;
+$progress-bar-transition: width .6s ease !default;
// List group
@@ -872,21 +831,18 @@ $list-group-border-color: rgba($black,.125) !default;
$list-group-border-width: $border-width !default;
$list-group-border-radius: $border-radius !default;
-$list-group-item-padding-x: 1.25rem !default;
$list-group-item-padding-y: .75rem !default;
+$list-group-item-padding-x: 1.25rem !default;
-$list-group-hover-bg: $gray-lightest !default;
-$list-group-active-color: $component-active-color !default;
-$list-group-active-bg: $component-active-bg !default;
-$list-group-active-border: $list-group-active-bg !default;
-$list-group-active-text-color: lighten($list-group-active-bg, 50%) !default;
+$list-group-hover-bg: $gray-lightest !default;
+$list-group-active-color: $component-active-color !default;
+$list-group-active-bg: $component-active-bg !default;
+$list-group-active-border-color: $list-group-active-bg !default;
$list-group-disabled-color: $gray-light !default;
$list-group-disabled-bg: $list-group-bg !default;
-$list-group-disabled-text-color: $list-group-disabled-color !default;
$list-group-link-color: $gray !default;
-$list-group-link-heading-color: $gray-dark !default;
$list-group-link-hover-color: $list-group-link-color !default;
$list-group-link-active-color: $list-group-color !default;
@@ -941,28 +897,26 @@ $carousel-control-icon-width: 20px !default;
$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
-$carousel-transition: transform .6s ease-in-out !default;
+$carousel-transition: transform .6s ease !default;
// Close
+$close-font-size: $font-size-base * 1.5 !default;
$close-font-weight: $font-weight-bold !default;
$close-color: $black !default;
$close-text-shadow: 0 1px 0 $white !default;
-
// Code
$code-font-size: 90% !default;
-$code-padding-x: .4rem !default;
$code-padding-y: .2rem !default;
+$code-padding-x: .4rem !default;
$code-color: #bd4147 !default;
$code-bg: $gray-lightest !default;
$kbd-color: $white !default;
$kbd-bg: $gray-dark !default;
-$pre-bg: $gray-lightest !default;
$pre-color: $gray-dark !default;
-$pre-border-color: #ccc !default;
$pre-scrollable-max-height: 340px !default;
diff --git a/scss/bootstrap-grid.scss b/scss/bootstrap-grid.scss
index 182b9626b..2ba685877 100644
--- a/scss/bootstrap-grid.scss
+++ b/scss/bootstrap-grid.scss
@@ -22,22 +22,16 @@ html {
box-sizing: inherit;
}
-
-//
-// Variables
-//
-
+@import "custom";
@import "variables";
//
// Grid mixins
//
-@import "mixins/clearfix";
@import "mixins/breakpoints";
@import "mixins/grid-framework";
@import "mixins/grid";
-@import "custom";
-
@import "grid";
+@import "utilities/flex";
diff --git a/scss/bootstrap-reboot.scss b/scss/bootstrap-reboot.scss
index 978b086a1..5867f08ec 100644
--- a/scss/bootstrap-reboot.scss
+++ b/scss/bootstrap-reboot.scss
@@ -2,9 +2,8 @@
//
// Includes only Normalize and our custom Reboot reset.
+@import "custom";
@import "variables";
@import "mixins";
-@import "custom";
-@import "normalize";
@import "reboot";
diff --git a/scss/bootstrap.scss b/scss/bootstrap.scss
index 97a9417d4..f7577f5c7 100644
--- a/scss/bootstrap.scss
+++ b/scss/bootstrap.scss
@@ -1,17 +1,15 @@
/*!
- * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
- * Copyright 2011-2016 The Bootstrap Authors
- * Copyright 2011-2016 Twitter, Inc.
+ * Bootstrap v4.0.0-alpha.6 (https://getbootstrap.com)
+ * Copyright 2011-2017 The Bootstrap Authors
+ * Copyright 2011-2017 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
// Core variables and mixins
+@import "custom";
@import "variables";
@import "mixins";
-@import "custom";
-// Reset and dependencies
-@import "normalize";
@import "print";
// Core CSS
diff --git a/scss/mixins/_alert.scss b/scss/mixins/_alert.scss
index 6ed3a81ab..1e9307ebb 100644
--- a/scss/mixins/_alert.scss
+++ b/scss/mixins/_alert.scss
@@ -1,9 +1,9 @@
// Alerts
@mixin alert-variant($background, $border, $body-color) {
+ color: $body-color;
background-color: $background;
border-color: $border;
- color: $body-color;
hr {
border-top-color: darken($border, 5%);
diff --git a/scss/mixins/_badge.scss b/scss/mixins/_badge.scss
index 77206b9a5..9fa44b647 100644
--- a/scss/mixins/_badge.scss
+++ b/scss/mixins/_badge.scss
@@ -1,4 +1,4 @@
-// Tags
+// Badges
@mixin badge-variant($color) {
background-color: $color;
diff --git a/scss/mixins/_border-radius.scss b/scss/mixins/_border-radius.scss
index 54f29f41d..2024febcf 100644
--- a/scss/mixins/_border-radius.scss
+++ b/scss/mixins/_border-radius.scss
@@ -8,15 +8,15 @@
@mixin border-top-radius($radius) {
@if $enable-rounded {
- border-top-right-radius: $radius;
border-top-left-radius: $radius;
+ border-top-right-radius: $radius;
}
}
@mixin border-right-radius($radius) {
@if $enable-rounded {
- border-bottom-right-radius: $radius;
border-top-right-radius: $radius;
+ border-bottom-right-radius: $radius;
}
}
@@ -29,7 +29,7 @@
@mixin border-left-radius($radius) {
@if $enable-rounded {
- border-bottom-left-radius: $radius;
border-top-left-radius: $radius;
+ border-bottom-left-radius: $radius;
}
}
diff --git a/scss/mixins/_box-shadow.scss b/scss/mixins/_box-shadow.scss
new file mode 100644
index 000000000..b2410e53a
--- /dev/null
+++ b/scss/mixins/_box-shadow.scss
@@ -0,0 +1,5 @@
+@mixin box-shadow($shadow...) {
+ @if $enable-shadows {
+ box-shadow: $shadow;
+ }
+}
diff --git a/scss/mixins/_breakpoints.scss b/scss/mixins/_breakpoints.scss
index 6fd2e8e1e..be1d034d8 100644
--- a/scss/mixins/_breakpoints.scss
+++ b/scss/mixins/_breakpoints.scss
@@ -2,7 +2,7 @@
//
// Breakpoints are defined as a map of (name: minimum width), order from small to large:
//
-// (xs: 0, sm: 576px, md: 768px)
+// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)
//
// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.
@@ -10,9 +10,9 @@
//
// >> breakpoint-next(sm)
// md
-// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px))
+// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
// md
-// >> breakpoint-next(sm, $breakpoint-names: (xs sm md))
+// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
// md
@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
$n: index($breakpoint-names, $name);
@@ -21,7 +21,7 @@
// Minimum breakpoint width. Null for the smallest (first) breakpoint.
//
-// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px))
+// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
// 576px
@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
$min: map-get($breakpoints, $name);
@@ -31,7 +31,7 @@
// Maximum breakpoint width. Null for the largest (last) breakpoint.
// The maximum value is calculated as the minimum of the next one less 0.1.
//
-// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px))
+// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
// 767px
@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
$next: breakpoint-next($name, $breakpoints);
@@ -41,9 +41,9 @@
// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.
// Useful for making responsive utilities.
//
-// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px))
+// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
// "" (Returns a blank string)
-// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px))
+// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
// "-sm"
@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {
@return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");
@@ -78,10 +78,11 @@
// Media that spans multiple breakpoint widths.
// Makes the @content apply between the min and max breakpoints
@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {
- @include media-breakpoint-up($lower, $breakpoints) {
- @include media-breakpoint-down($upper, $breakpoints) {
- @content;
- }
+ $min: breakpoint-max($lower, $breakpoints);
+ $max: breakpoint-max($upper, $breakpoints);
+
+ @media (min-width: $min) and (max-width: $max) {
+ @content;
}
}
@@ -89,7 +90,10 @@
// No minimum for the smallest breakpoint, and no maximum for the largest one.
// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.
@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {
- @include media-breakpoint-between($name, $name, $breakpoints) {
+ $min: breakpoint-min($name, $breakpoints);
+ $max: breakpoint-max($name, $breakpoints);
+
+ @media (min-width: $min) and (max-width: $max) {
@content;
}
}
diff --git a/scss/mixins/_buttons.scss b/scss/mixins/_buttons.scss
index f9981e326..47f2834ff 100644
--- a/scss/mixins/_buttons.scss
+++ b/scss/mixins/_buttons.scss
@@ -48,8 +48,8 @@
@mixin button-outline-variant($color, $color-hover: #fff) {
color: $color;
- background-image: none;
background-color: transparent;
+ background-image: none;
border-color: $color;
@include hover {
@@ -79,8 +79,9 @@
}
// Button sizes
-@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
+@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {
padding: $padding-y $padding-x;
font-size: $font-size;
+ line-height: $line-height;
@include border-radius($border-radius);
}
diff --git a/scss/mixins/_cards.scss b/scss/mixins/_cards.scss
index 4b1232d8b..e535b316d 100644
--- a/scss/mixins/_cards.scss
+++ b/scss/mixins/_cards.scss
@@ -13,6 +13,12 @@
@mixin card-outline-variant($color) {
background-color: transparent;
border-color: $color;
+
+ .card-header,
+ .card-footer {
+ background-color: transparent;
+ border-color: $color;
+ }
}
//
diff --git a/scss/mixins/_clearfix.scss b/scss/mixins/_clearfix.scss
index b72cf2712..11a977b73 100644
--- a/scss/mixins/_clearfix.scss
+++ b/scss/mixins/_clearfix.scss
@@ -1,7 +1,7 @@
@mixin clearfix() {
&::after {
display: block;
- content: "";
clear: both;
+ content: "";
}
}
diff --git a/scss/mixins/_forms.scss b/scss/mixins/_forms.scss
index c8aea9669..860795590 100644
--- a/scss/mixins/_forms.scss
+++ b/scss/mixins/_forms.scss
@@ -14,7 +14,9 @@
}
// Set the border and box shadow on specific inputs to match
- .form-control {
+ .form-control,
+ .custom-select,
+ .custom-file-control {
border-color: $color;
&:focus {
@@ -25,15 +27,15 @@
// Set validation states also for addons
.input-group-addon {
color: $color;
- border-color: $color;
background-color: lighten($color, 40%);
+ border-color: $color;
}
}
// Form control focus state
//
// Generate a customized focus state and for any input with the specified color,
-// which defaults to the `@input-border-focus` variable.
+// which defaults to the `@input-border-color-focus` variable.
//
// We highly encourage you to not customize the default value, but instead use
// this to tweak colors on an as-needed basis. This aesthetic change is based on
@@ -46,34 +48,8 @@
&:focus {
color: $input-color-focus;
background-color: $input-bg-focus;
- border-color: $input-border-focus;
+ border-color: $input-border-color-focus;
outline: none;
@include box-shadow($input-box-shadow-focus);
}
}
-
-// Form control sizing
-//
-// Relative text size, padding, and border-radii changes for form controls. For
-// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
-// element gets special love because it's special, and that's a fact!
-
-@mixin input-size($parent, $input-height, $padding-y, $padding-x, $font-size, $line-height, $border-radius) {
- #{$parent} {
- height: $input-height;
- padding: $padding-y $padding-x;
- font-size: $font-size;
- line-height: $line-height;
- @include border-radius($border-radius);
- }
-
- select#{$parent} {
- height: $input-height;
- line-height: $input-height;
- }
-
- textarea#{$parent},
- select[multiple]#{$parent} {
- height: auto;
- }
-}
diff --git a/scss/mixins/_gradients.scss b/scss/mixins/_gradients.scss
index ebe797aa7..bad79f961 100644
--- a/scss/mixins/_gradients.scss
+++ b/scss/mixins/_gradients.scss
@@ -11,15 +11,14 @@
// Vertical gradient, from top to bottom
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
-// Color stops are not available in IE9.
@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
background-repeat: repeat-x;
}
@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
- background-repeat: repeat-x;
background-image: linear-gradient($deg, $start-color, $end-color);
+ background-repeat: repeat-x;
}
@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
diff --git a/scss/mixins/_grid-framework.scss b/scss/mixins/_grid-framework.scss
index 0aa814ab2..5459a86f4 100644
--- a/scss/mixins/_grid-framework.scss
+++ b/scss/mixins/_grid-framework.scss
@@ -22,7 +22,8 @@
@extend %grid-column;
}
}
- .col#{$infix} {
+ .col#{$infix},
+ .col#{$infix}-auto {
@extend %grid-column;
}
diff --git a/scss/mixins/_grid.scss b/scss/mixins/_grid.scss
index 23b11dbed..b6d980577 100644
--- a/scss/mixins/_grid.scss
+++ b/scss/mixins/_grid.scss
@@ -3,8 +3,8 @@
// Generate semantic grid columns with these mixins.
@mixin make-container($gutters: $grid-gutter-widths) {
- margin-left: auto;
margin-right: auto;
+ margin-left: auto;
@each $breakpoint in map-keys($gutters) {
@include media-breakpoint-up($breakpoint) {
@@ -68,7 +68,6 @@
@mixin make-col($size, $columns: $grid-columns) {
flex: 0 0 percentage($size / $columns);
- // width: percentage($size / $columns);
// Add a `max-width` to ensure content within each column does not blow out
// the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
// do not appear to require this.
diff --git a/scss/mixins/_hover.scss b/scss/mixins/_hover.scss
index 6dd55e705..4aa4b1d5d 100644
--- a/scss/mixins/_hover.scss
+++ b/scss/mixins/_hover.scss
@@ -8,16 +8,18 @@
// }
// }
// @else {
+// scss-lint:disable Indentation
&:hover { @content }
+// scss-lint:enable Indentation
// }
}
+
@mixin hover-focus {
@if $enable-hover-media-query {
&:focus { @content }
@include hover { @content }
- }
- @else {
+ } @else {
&:focus,
&:hover {
@content
@@ -32,8 +34,7 @@
@content
}
@include hover { @content }
- }
- @else {
+ } @else {
&,
&:focus,
&:hover {
@@ -49,8 +50,7 @@
@content
}
@include hover { @content }
- }
- @else {
+ } @else {
&:focus,
&:active,
&:hover {
diff --git a/scss/mixins/_list-group.scss b/scss/mixins/_list-group.scss
index 3db5b096a..ba27b5041 100644
--- a/scss/mixins/_list-group.scss
+++ b/scss/mixins/_list-group.scss
@@ -6,14 +6,11 @@
background-color: $background;
}
+ //scss-lint:disable QualifyingElement
a.list-group-item-#{$state},
button.list-group-item-#{$state} {
color: $color;
- .list-group-item-heading {
- color: inherit;
- }
-
@include hover-focus {
color: $color;
background-color: darken($background, 5%);
@@ -25,4 +22,5 @@
border-color: $color;
}
}
+ // scss-lint:enable QualifyingElement
}
diff --git a/scss/mixins/_nav-divider.scss b/scss/mixins/_nav-divider.scss
index fb3d12e9f..493de03a3 100644
--- a/scss/mixins/_nav-divider.scss
+++ b/scss/mixins/_nav-divider.scss
@@ -3,8 +3,8 @@
// Dividers (basically an hr) within dropdowns and nav lists
@mixin nav-divider($color: #e5e5e5) {
- height: 1px;
- margin: ($spacer-y / 2) 0;
+ height: 0;
+ margin: ($spacer / 2) 0;
overflow: hidden;
- background-color: $color;
+ border-top: 1px solid $color;
}
diff --git a/scss/mixins/_progress.scss b/scss/mixins/_progress.scss
deleted file mode 100644
index 567467986..000000000
--- a/scss/mixins/_progress.scss
+++ /dev/null
@@ -1,16 +0,0 @@
-// Progress bars
-
-@mixin progress-variant($color) {
- &[value]::-webkit-progress-value {
- background-color: $color;
- }
-
- &[value]::-moz-progress-bar {
- background-color: $color;
- }
-
- // IE10+, Microsoft Edge
- &[value]::-ms-fill {
- background-color: $color;
- }
-}
diff --git a/scss/mixins/_reset-text.scss b/scss/mixins/_reset-text.scss
index b95273097..4cf9e79c7 100644
--- a/scss/mixins/_reset-text.scss
+++ b/scss/mixins/_reset-text.scss
@@ -1,17 +1,18 @@
+// scss-lint:disable DuplicateProperty
@mixin reset-text {
font-family: $font-family-base;
// We deliberately do NOT reset font-size or word-wrap.
font-style: normal;
font-weight: $font-weight-normal;
- letter-spacing: normal;
- line-break: auto;
line-height: $line-height-base;
text-align: left; // Fallback for where `start` is not supported
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
- white-space: normal;
+ letter-spacing: normal;
word-break: normal;
word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
}
diff --git a/scss/mixins/_resize.scss b/scss/mixins/_resize.scss
index 83fa63791..66f233a63 100644
--- a/scss/mixins/_resize.scss
+++ b/scss/mixins/_resize.scss
@@ -1,6 +1,6 @@
// Resize anything
@mixin resizable($direction) {
- resize: $direction; // Options: horizontal, vertical, both
overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
+ resize: $direction; // Options: horizontal, vertical, both
}
diff --git a/scss/mixins/_screen-reader.scss b/scss/mixins/_screen-reader.scss
index c20858324..a5fa51c5c 100644
--- a/scss/mixins/_screen-reader.scss
+++ b/scss/mixins/_screen-reader.scss
@@ -1,15 +1,17 @@
// Only display content to screen readers
//
// See: http://a11yproject.com/posts/how-to-hide-content
+// See: http://hugogiraudel.com/2016/10/13/css-hide-and-seek/
@mixin sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
- margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
+ white-space: nowrap;
+ clip-path: inset(50%);
border: 0;
}
@@ -25,8 +27,9 @@
position: static;
width: auto;
height: auto;
- margin: 0;
overflow: visible;
clip: auto;
+ white-space: normal;
+ clip-path: none;
}
}
diff --git a/scss/mixins/_tab-focus.scss b/scss/mixins/_tab-focus.scss
deleted file mode 100644
index f16ed6428..000000000
--- a/scss/mixins/_tab-focus.scss
+++ /dev/null
@@ -1,9 +0,0 @@
-// WebKit-style focus
-
-@mixin tab-focus() {
- // WebKit-specific. Other browsers will keep their default outline style.
- // (Initially tried to also force default via `outline: initial`,
- // but that seems to erroneously remove the outline in Firefox altogether.)
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
diff --git a/scss/mixins/_text-truncate.scss b/scss/mixins/_text-truncate.scss
index 5a40bf533..3504bb1aa 100644
--- a/scss/mixins/_text-truncate.scss
+++ b/scss/mixins/_text-truncate.scss
@@ -5,4 +5,4 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
-} \ No newline at end of file
+}
diff --git a/scss/mixins/_transforms.scss b/scss/mixins/_transforms.scss
deleted file mode 100644
index 4005c9d02..000000000
--- a/scss/mixins/_transforms.scss
+++ /dev/null
@@ -1,14 +0,0 @@
-// Applies the given styles only when the browser support CSS3 3D transforms.
-@mixin if-supports-3d-transforms() {
- @media (-webkit-transform-3d) {
- // Old Safari, Old Android
- // http://caniuse.com/#feat=css-featurequeries
- // https://developer.mozilla.org/en-US/docs/Web/CSS/@media/-webkit-transform-3d
- @content;
- }
-
- @supports (transform: translate3d(0,0,0)) {
- // The Proper Way: Using a CSS feature query
- @content;
- }
-}
diff --git a/scss/mixins/_transition.scss b/scss/mixins/_transition.scss
new file mode 100644
index 000000000..7e33dee31
--- /dev/null
+++ b/scss/mixins/_transition.scss
@@ -0,0 +1,9 @@
+@mixin transition($transition...) {
+ @if $enable-transitions {
+ @if length($transition) == 0 {
+ transition: $transition-base;
+ } @else {
+ transition: $transition;
+ }
+ }
+}
diff --git a/scss/mixins/_visibility.scss b/scss/mixins/_visibility.scss
index 88c50b05d..f67fc1c52 100644
--- a/scss/mixins/_visibility.scss
+++ b/scss/mixins/_visibility.scss
@@ -1,5 +1,5 @@
// Visibility
-@mixin invisible {
- visibility: hidden !important;
+@mixin invisible($visibility) {
+ visibility: $visibility !important;
}
diff --git a/scss/utilities/_display.scss b/scss/utilities/_display.scss
index b2fc976c1..45353620a 100644
--- a/scss/utilities/_display.scss
+++ b/scss/utilities/_display.scss
@@ -1,8 +1,7 @@
//
-// Display utilities
+// Utilities for common `display` values
//
-
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@@ -17,3 +16,38 @@
.d#{$infix}-inline-flex { display: inline-flex !important; }
}
}
+
+
+//
+// Utilities for toggling `display` in print
+//
+
+.d-print-block {
+ display: none !important;
+
+ @media print {
+ display: block !important;
+ }
+}
+
+.d-print-inline {
+ display: none !important;
+
+ @media print {
+ display: inline !important;
+ }
+}
+
+.d-print-inline-block {
+ display: none !important;
+
+ @media print {
+ display: inline-block !important;
+ }
+}
+
+.d-print-none {
+ @media print {
+ display: none !important;
+ }
+}
diff --git a/scss/utilities/_flex.scss b/scss/utilities/_flex.scss
index 1b98aaa3f..cc696785d 100644
--- a/scss/utilities/_flex.scss
+++ b/scss/utilities/_flex.scss
@@ -6,9 +6,9 @@
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
- .flex#{$infix}-first { order: -1; }
- .flex#{$infix}-last { order: 1; }
- .flex#{$infix}-unordered { order: 0; }
+ .order#{$infix}-first { order: -1; }
+ .order#{$infix}-last { order: 1; }
+ .order#{$infix}-0 { order: 0; }
.flex#{$infix}-row { flex-direction: row !important; }
.flex#{$infix}-column { flex-direction: column !important; }
diff --git a/scss/utilities/_position.scss b/scss/utilities/_position.scss
new file mode 100644
index 000000000..2cf08bfa0
--- /dev/null
+++ b/scss/utilities/_position.scss
@@ -0,0 +1,23 @@
+// Positioning
+
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: $zindex-fixed;
+}
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: $zindex-fixed;
+}
+
+.sticky-top {
+ position: sticky;
+ top: 0;
+ z-index: $zindex-sticky;
+}
diff --git a/scss/utilities/_sizing.scss b/scss/utilities/_sizing.scss
new file mode 100644
index 000000000..a7dc3e49b
--- /dev/null
+++ b/scss/utilities/_sizing.scss
@@ -0,0 +1,10 @@
+// Width and height
+
+@each $prop, $abbrev in (width: w, height: h) {
+ @each $size, $length in $sizes {
+ .#{$abbrev}-#{$size} { #{$prop}: $length !important; }
+ }
+}
+
+.mw-100 { max-width: 100% !important; }
+.mh-100 { max-height: 100% !important; }
diff --git a/scss/utilities/_spacing.scss b/scss/utilities/_spacing.scss
index 208212d52..c89816b5e 100644
--- a/scss/utilities/_spacing.scss
+++ b/scss/utilities/_spacing.scss
@@ -1,14 +1,3 @@
-// Width and height
-
-@each $prop, $abbrev in (width: w, height: h) {
- @each $size, $length in $sizes {
- .#{$abbrev}-#{$size} { #{$prop}: $length !important; }
- }
-}
-
-.mw-100 { max-width: 100% !important; }
-.mh-100 { max-height: 100% !important; }
-
// Margin and Padding
@each $breakpoint in map-keys($grid-breakpoints) {
@@ -16,22 +5,20 @@
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@each $prop, $abbrev in (margin: m, padding: p) {
- @each $size, $lengths in $spacers {
- $length-x: map-get($lengths, x);
- $length-y: map-get($lengths, y);
+ @each $size, $length in $spacers {
- .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length-y $length-x !important; }
- .#{$abbrev}t#{$infix}-#{$size} { #{$prop}-top: $length-y !important; }
- .#{$abbrev}r#{$infix}-#{$size} { #{$prop}-right: $length-x !important; }
- .#{$abbrev}b#{$infix}-#{$size} { #{$prop}-bottom: $length-y !important; }
- .#{$abbrev}l#{$infix}-#{$size} { #{$prop}-left: $length-x !important; }
+ .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
+ .#{$abbrev}t#{$infix}-#{$size} { #{$prop}-top: $length !important; }
+ .#{$abbrev}r#{$infix}-#{$size} { #{$prop}-right: $length !important; }
+ .#{$abbrev}b#{$infix}-#{$size} { #{$prop}-bottom: $length !important; }
+ .#{$abbrev}l#{$infix}-#{$size} { #{$prop}-left: $length !important; }
.#{$abbrev}x#{$infix}-#{$size} {
- #{$prop}-right: $length-x !important;
- #{$prop}-left: $length-x !important;
+ #{$prop}-right: $length !important;
+ #{$prop}-left: $length !important;
}
.#{$abbrev}y#{$infix}-#{$size} {
- #{$prop}-top: $length-y !important;
- #{$prop}-bottom: $length-y !important;
+ #{$prop}-top: $length !important;
+ #{$prop}-bottom: $length !important;
}
}
}
@@ -52,13 +39,3 @@
}
}
}
-
-// Positioning
-
-.pos-f-t {
- position: fixed;
- top: 0;
- right: 0;
- left: 0;
- z-index: $zindex-navbar-fixed;
-}
diff --git a/scss/utilities/_visibility.scss b/scss/utilities/_visibility.scss
index fcedc9cb9..823406dc3 100644
--- a/scss/utilities/_visibility.scss
+++ b/scss/utilities/_visibility.scss
@@ -2,54 +2,10 @@
// Visibility utilities
//
-.invisible {
- @include invisible();
-}
-
-// Responsive visibility utilities
-
-@each $bp in map-keys($grid-breakpoints) {
- .hidden-#{$bp}-up {
- @include media-breakpoint-up($bp) {
- display: none !important;
- }
- }
- .hidden-#{$bp}-down {
- @include media-breakpoint-down($bp) {
- display: none !important;
- }
- }
+.visible {
+ @include invisible(visible);
}
-
-// Print utilities
-//
-// Media queries are placed on the inside to be mixin-friendly.
-
-.visible-print-block {
- display: none !important;
-
- @media print {
- display: block !important;
- }
-}
-.visible-print-inline {
- display: none !important;
-
- @media print {
- display: inline !important;
- }
-}
-.visible-print-inline-block {
- display: none !important;
-
- @media print {
- display: inline-block !important;
- }
-}
-
-.hidden-print {
- @media print {
- display: none !important;
- }
+.invisible {
+ @include invisible(hidden);
}