aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/twbs/bootstrap/site
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/twbs/bootstrap/site')
-rw-r--r--vendor/twbs/bootstrap/site/.eslintrc.json (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/js/.eslintrc.json)2
-rw-r--r--vendor/twbs/bootstrap/site/_data/browser-bugs.yml40
-rw-r--r--vendor/twbs/bootstrap/site/_data/core-team.yml26
-rw-r--r--vendor/twbs/bootstrap/site/_data/docs-versions.yml44
-rw-r--r--vendor/twbs/bootstrap/site/_data/nav.yml9
-rw-r--r--vendor/twbs/bootstrap/site/_data/translations.yml16
-rw-r--r--vendor/twbs/bootstrap/site/_includes/analytics.html6
-rw-r--r--vendor/twbs/bootstrap/site/_includes/bugify.html8
-rw-r--r--vendor/twbs/bootstrap/site/_includes/callout-danger-async-methods.md2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/callout-info-prefersreducedmotion.md4
-rw-r--r--vendor/twbs/bootstrap/site/_includes/callout.html6
-rw-r--r--vendor/twbs/bootstrap/site/_includes/docs-navbar.html19
-rw-r--r--vendor/twbs/bootstrap/site/_includes/docs-sidebar.html16
-rw-r--r--vendor/twbs/bootstrap/site/_includes/example.html48
-rw-r--r--vendor/twbs/bootstrap/site/_includes/footer.html6
-rw-r--r--vendor/twbs/bootstrap/site/_includes/header.html26
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/bootstrap-stack.svg1
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/bootstrap.svg2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/download.svg2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/github.svg2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/import.svg2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/lightning.svg2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/menu.svg2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/opencollective.svg1
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/placeholder.svg35
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/slack.svg2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/icons/twitter.svg2
-rw-r--r--vendor/twbs/bootstrap/site/_includes/scripts.html15
-rw-r--r--vendor/twbs/bootstrap/site/_includes/skippy.html6
-rw-r--r--vendor/twbs/bootstrap/site/_includes/stylesheet.html16
-rw-r--r--vendor/twbs/bootstrap/site/_layouts/default.html2
-rw-r--r--vendor/twbs/bootstrap/site/_layouts/examples.html71
-rw-r--r--vendor/twbs/bootstrap/site/_layouts/redirect.html38
-rw-r--r--vendor/twbs/bootstrap/site/_layouts/simple.html20
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/css/docs.min.css8
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/css/docs.min.css.map1
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/img/bootstrap-stack.pngbin52160 -> 0 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/browserconfig.xml11
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/manifest.json22
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/js/docs.min.js28
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/pwa.js21
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/anchor.min.js6
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/clipboard.min.js7
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/holder.min.js13
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/popper.min.js5
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_brand.scss110
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_examples.scss24
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_skiplink.scss14
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/.eslintrc.json11
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/album/index.html232
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/blog/index.html231
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/carousel/index.html188
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/checkout/index.html268
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/cover/index.html57
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/dashboard/index.html303
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/floating-labels/index.html46
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/grid/grid.css27
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/grid/index.html135
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/jumbotron/index.html103
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-bottom/index.html60
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-fixed/index.html61
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-static/index.html61
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/navbars/index.html347
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/offcanvas/index.html159
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/pricing/index.html142
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/product/index.html178
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/grid.pngbin33860 -> 0 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/sign-in/index.html36
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/starter-template/index.html71
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer-navbar/index.html69
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer-navbar/sticky-footer-navbar.css37
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer/index.html34
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer/sticky-footer.css28
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/index.html45
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/tooltip-viewport.css26
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/tooltip-viewport.js32
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/about/brand.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/about/brand.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/about/license.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/about/license.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/about/overview.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/about/overview.md)9
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/about/team.md21
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/about/translations.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/about/translations.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-outline.svg (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-outline.svg)3
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-punchout.svg (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-punchout.svg)3
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-social-logo.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-social-logo.png)bin23959 -> 23959 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-social.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-social.png)bin231733 -> 231733 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-solid.svg (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-solid.svg)3
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/css/docs.min.css8
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/css/docs.min.css.map1
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/bootstrap-themes.pngbin0 -> 28187 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/bootstrap-themes@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/bootstrap-themes.png)bin80588 -> 80588 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/album.pngbin0 -> 21740 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/album@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/album.png)bin26370 -> 26370 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/blog.pngbin0 -> 32843 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/blog@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/blog.png)bin36944 -> 36944 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/carousel.pngbin0 -> 21450 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/carousel@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/carousel.png)bin31465 -> 31465 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/checkout.pngbin0 -> 25151 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/checkout@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/checkout.png)bin28180 -> 28180 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/cover.pngbin0 -> 7240 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/cover@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/cover.png)bin17953 -> 17953 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/dashboard.pngbin0 -> 24376 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/dashboard@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/dashboard.png)bin26556 -> 26556 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/floating-labels.pngbin0 -> 10516 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/floating-labels@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/floating-labels.png)bin11053 -> 11053 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/grid.pngbin0 -> 37960 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/grid@2x.pngbin0 -> 34834 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/jumbotron.pngbin0 -> 31403 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/jumbotron@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/jumbotron.png)bin38408 -> 38408 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-bottom.pngbin0 -> 9774 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-bottom@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbar-bottom.png)bin11316 -> 11316 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-fixed.pngbin0 -> 11569 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-fixed@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbar-fixed.png)bin13616 -> 13616 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-static.pngbin0 -> 12523 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-static@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbar-static.png)bin14893 -> 14893 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbars.pngbin0 -> 24748 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbars@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbars.png)bin27187 -> 27187 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/offcanvas.pngbin0 -> 20148 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/offcanvas@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/offcanvas.png)bin23975 -> 23975 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/pricing.pngbin0 -> 25033 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/pricing@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/pricing.png)bin29128 -> 29128 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/product.pngbin0 -> 24977 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/product@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/product.png)bin27953 -> 27953 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sign-in.pngbin0 -> 5704 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sign-in@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/sign-in.png)bin5680 -> 5680 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/starter-template.pngbin0 -> 9761 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/starter-template@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/starter-template.png)bin11334 -> 11334 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer-navbar.pngbin0 -> 14167 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer-navbar@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/sticky-footer-navbar.png)bin15836 -> 15836 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer.pngbin0 -> 8170 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer@2x.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/sticky-footer.png)bin9665 -> 9665 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/android-chrome-192x192.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/android-chrome-192x192.png)bin1935 -> 1935 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/android-chrome-512x512.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/android-chrome-512x512.png)bin4269 -> 4269 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/apple-touch-icon.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/apple-touch-icon.png)bin1738 -> 1738 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/browserconfig.xml11
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/favicon-16x16.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/favicon-16x16.png)bin310 -> 310 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/favicon-32x32.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/favicon-32x32.png)bin491 -> 491 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/manifest.json22
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-144x144.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-144x144.png)bin1479 -> 1479 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-150x150.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-150x150.png)bin1428 -> 1428 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-310x150.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-310x150.png)bin1746 -> 1746 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-310x310.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-310x310.png)bin3085 -> 3085 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-70x70.png (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-70x70.png)bin1104 -> 1104 bytes
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/safari-pinned-tab.svg (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/safari-pinned-tab.svg)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/js/docs.min.js22
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/js/src/application.js (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/application.js)30
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/js/src/ie-emulation-modes-warning.js (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/ie-emulation-modes-warning.js)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/js/src/search.js (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/search.js)31
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/anchor.min.js6
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/bs-custom-file-input.min.js7
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/clipboard.min.js7
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/jquery-slim.min.js (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/jquery-slim.min.js)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_ads.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_ads.scss)4
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_algolia.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_algolia.scss)36
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_anchor.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_anchor.scss)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_brand.scss88
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_browser-bugs.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_browser-bugs.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_buttons.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_buttons.scss)6
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_callouts.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_callouts.scss)28
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_clipboard-js.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_clipboard-js.scss)17
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_colors.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_colors.scss)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_component-examples.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_component-examples.scss)21
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_content.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_content.scss)35
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_footer.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_footer.scss)4
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_masthead.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_masthead.scss)10
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_nav.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_nav.scss)11
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_placeholder-img.scss15
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_sidebar.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_sidebar.scss)14
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_skippy.scss17
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_syntax.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_syntax.scss)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_variables.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_variables.scss)6
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/assets/scss/docs.scss (renamed from vendor/twbs/bootstrap/site/docs/4.1/assets/scss/docs.scss)12
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/browser-bugs.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/browser-bugs.md)1
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/alerts.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/alerts.md)7
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/badge.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/badge.md)14
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/breadcrumb.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/breadcrumb.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/button-group.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/button-group.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/buttons.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/buttons.md)1
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/card.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/card.md)75
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/carousel.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/carousel.md)84
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/collapse.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/collapse.md)20
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/dropdowns.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/dropdowns.md)76
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/forms.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/forms.md)116
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/input-group.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/input-group.md)14
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/jumbotron.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/jumbotron.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/list-group.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/list-group.md)26
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/media-object.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/layout/media-object.md)24
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/modal.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/modal.md)175
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/navbar.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/navbar.md)14
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/navs.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/navs.md)58
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/pagination.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/pagination.md)28
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/popovers.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/popovers.md)30
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/progress.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/progress.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/scrollspy.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/scrollspy.md)18
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/spinners.md185
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/toasts.md330
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/components/tooltips.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/components/tooltips.md)38
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/content/code.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/content/code.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/content/figures.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/content/figures.md)4
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/content/images.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/content/images.md)14
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/content/reboot.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/content/reboot.md)11
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/content/tables.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/content/tables.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/content/typography.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/content/typography.md)44
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/.stylelintrc (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/.stylelintrc)5
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/album/album.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/album/album.css)12
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/album/index.html207
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/blog/blog.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/blog/blog.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/blog/index.html201
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/carousel/carousel.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/carousel/carousel.css)1
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/carousel/index.html163
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/checkout/form-validation.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/checkout/form-validation.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/checkout/form-validation.js20
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/checkout/index.html223
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/cover/cover.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/cover/cover.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/cover/index.html34
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/dashboard/dashboard.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/dashboard/dashboard.css)8
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/dashboard/dashboard.js53
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/dashboard/index.html246
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/floating-labels/floating-labels.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/floating-labels/floating-labels.css)17
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/floating-labels/index.html32
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/grid/grid.css6
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/grid/index.html126
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/index.html (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/index.html)6
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/jumbotron/index.html79
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/jumbotron/jumbotron.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/jumbotron/jumbotron.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-bottom/index.html39
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-fixed/index.html37
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-fixed/navbar-top-fixed.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-fixed/navbar-top-fixed.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-static/index.html37
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-static/navbar-top.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-static/navbar-top.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/navbars/index.html323
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/navbars/navbar.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/navbars/navbar.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/offcanvas/index.html135
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/offcanvas/offcanvas.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/offcanvas/offcanvas.css)9
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/offcanvas/offcanvas.js (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/offcanvas/offcanvas.js)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/pricing/index.html110
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/pricing/pricing.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/pricing/pricing.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/product/index.html145
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/product/product.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/product/product.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/sign-in/index.html23
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/sign-in/signin.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/sign-in/signin.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/starter-template/index.html47
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/starter-template/starter-template.css (renamed from vendor/twbs/bootstrap/site/docs/4.1/examples/starter-template/starter-template.css)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer-navbar/index.html49
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer-navbar/sticky-footer-navbar.css20
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer/index.html23
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer/sticky-footer.css13
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/getting-started/accessibility.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/getting-started/accessibility.md)4
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/getting-started/best-practices.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/getting-started/best-practices.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/getting-started/browsers-devices.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/getting-started/browsers-devices.md)37
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/getting-started/build-tools.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/getting-started/build-tools.md)10
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/getting-started/contents.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/getting-started/contents.md)8
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/getting-started/download.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/getting-started/download.md)8
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/getting-started/introduction.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/getting-started/introduction.md)23
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/getting-started/javascript.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/getting-started/javascript.md)93
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/getting-started/theming.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/getting-started/theming.md)36
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/getting-started/webpack.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/getting-started/webpack.md)65
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/layout/grid.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/layout/grid.md)227
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/layout/overview.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/layout/overview.md)2
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/layout/utilities-for-layout.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/layout/utilities-for-layout.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/migration.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/migration.md)13
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/borders.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/borders.md)32
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/clearfix.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/clearfix.md)1
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/close-icon.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/close-icon.md)1
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/colors.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/colors.md)7
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/display.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/display.md)4
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/embed.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/embed.md)13
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/flex.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/flex.md)4
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/float.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/float.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/image-replacement.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/image-replacement.md)13
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/overflow.md24
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/position.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/position.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/screen-readers.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/screenreaders.md)5
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/shadows.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/shadows.md)1
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/sizing.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/sizing.md)17
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/spacing.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/spacing.md)22
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/stretched-link.md80
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/text.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/text.md)42
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/vertical-align.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/vertical-align.md)0
-rw-r--r--vendor/twbs/bootstrap/site/docs/4.3/utilities/visibility.md (renamed from vendor/twbs/bootstrap/site/docs/4.1/utilities/visibility.md)5
-rw-r--r--vendor/twbs/bootstrap/site/docs/versions.html29
-rw-r--r--vendor/twbs/bootstrap/site/index.html24
-rw-r--r--vendor/twbs/bootstrap/site/robots.txt2
-rw-r--r--vendor/twbs/bootstrap/site/sw.js28
283 files changed, 4924 insertions, 4082 deletions
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/.eslintrc.json b/vendor/twbs/bootstrap/site/.eslintrc.json
index e24f3dd09..04ac49314 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/.eslintrc.json
+++ b/vendor/twbs/bootstrap/site/.eslintrc.json
@@ -7,7 +7,7 @@
"ecmaVersion": 5,
"sourceType": "script"
},
- "extends": "../../../../../.eslintrc.json",
+ "extends": "../.eslintrc.json",
"rules": {
// Best Practices
"no-magic-numbers": "off",
diff --git a/vendor/twbs/bootstrap/site/_data/browser-bugs.yml b/vendor/twbs/bootstrap/site/_data/browser-bugs.yml
index ceb2e5f5f..7138c75b4 100644
--- a/vendor/twbs/bootstrap/site/_data/browser-bugs.yml
+++ b/vendor/twbs/bootstrap/site/_data/browser-bugs.yml
@@ -52,16 +52,6 @@
browser: >
Edge
summary: >
- `@-ms-viewport{width: device-width;}` has side-effect of making scrollbars auto-hide
- upstream_bug: >
- Edge#7165383
- origin: >
- Bootstrap#18543
-
--
- browser: >
- Edge
- summary: >
Background color from lower layer bleeds through transparent border in some cases
upstream_bug: >
Edge#6274505
@@ -170,16 +160,6 @@
-
browser: >
- Chrome (Android)
- summary: >
- Tapping on an `<input>` in a scrollable overlay doesn't scroll the `<input>` into view
- upstream_bug: >
- Chromium#595210
- origin: >
- Bootstrap#17338
-
--
- browser: >
Chrome (macOS)
summary: >
Clicking above `<input type="number">` increment button flashes the decrement button.
@@ -212,16 +192,6 @@
browser: >
Chrome
summary: >
- Clicking scrollbar in `<select multiple>` with overflowed options will select nearby `<option>`
- upstream_bug: >
- Chromium#597642
- origin: >
- Bootstrap#19810
-
--
- browser: >
- Chrome
- summary: >
Don't make `:hover` sticky on touch-friendly webpages
upstream_bug: >
Chromium#370155
@@ -240,16 +210,6 @@
-
browser: >
- Chrome (Windows & Linux)
- summary: >
- Animation glitch when returning to inactive tab after animations occurred while tab was hidden.
- upstream_bug: >
- Chromium#449180
- origin: >
- Bootstrap#15298
-
--
- browser: >
Chrome
summary: >
Significant performance hit for dynamic SVGs with text depending on the number of fonts in `font-family`.
diff --git a/vendor/twbs/bootstrap/site/_data/core-team.yml b/vendor/twbs/bootstrap/site/_data/core-team.yml
new file mode 100644
index 000000000..096827f50
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_data/core-team.yml
@@ -0,0 +1,26 @@
+- name: Mark Otto
+ user: mdo
+
+- name: Jacob Thornton
+ user: fat
+
+- name: Chris Rebert
+ user: cvrebert
+
+- name: XhmikosR
+ user: xhmikosr
+
+- name: Patrick H. Lauke
+ user: patrickhlauke
+
+- name: Gleb Mazovetskiy
+ user: glebm
+
+- name: Johann-S
+ user: johann-s
+
+- name: Andres Galante
+ user: andresgalante
+
+- name: Martijn Cuppens
+ user: martijncuppens
diff --git a/vendor/twbs/bootstrap/site/_data/docs-versions.yml b/vendor/twbs/bootstrap/site/_data/docs-versions.yml
new file mode 100644
index 000000000..ce240a75d
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_data/docs-versions.yml
@@ -0,0 +1,44 @@
+- group: v1.x
+ baseurl: https://getbootstrap.com
+ description: Every minor and patch release from v1 is listed below.
+ versions:
+ - v: 1.0.0
+ - v: 1.1.0
+ - v: 1.1.1
+ - v: 1.2.0
+ - v: 1.3.0
+ - v: 1.4.0
+
+- group: v2.x
+ baseurl: https://getbootstrap.com
+ description: Every minor and patch release from v2 is listed below.
+ versions:
+ - v: 2.0.0
+ - v: 2.0.1
+ - v: 2.0.2
+ - v: 2.0.3
+ - v: 2.0.4
+ - v: 2.1.0
+ - v: 2.1.1
+ - v: 2.2.0
+ - v: 2.2.1
+ - v: 2.2.2
+ - v: 2.3.0
+ - v: 2.3.1
+ - v: 2.3.2
+
+- group: v3.x
+ baseurl: https://getbootstrap.com/docs
+ description: Our previous major release and its minor versions. Last update was v3.4.0.
+ versions:
+ - v: 3.3
+ - v: 3.4
+
+- group: v4.x
+ baseurl: https://getbootstrap.com/docs
+ description: Current major release with two minor releases. Last update was v4.3.1.
+ versions:
+ - v: 4.0
+ - v: 4.1
+ - v: 4.2
+ - v: 4.3
diff --git a/vendor/twbs/bootstrap/site/_data/nav.yml b/vendor/twbs/bootstrap/site/_data/nav.yml
index 98bd2c5d5..664be04da 100644
--- a/vendor/twbs/bootstrap/site/_data/nav.yml
+++ b/vendor/twbs/bootstrap/site/_data/nav.yml
@@ -15,7 +15,6 @@
pages:
- title: Overview
- title: Grid
- - title: Media object
- title: Utilities for layout
- title: Content
@@ -42,6 +41,7 @@
- title: Input group
- title: Jumbotron
- title: List group
+ - title: Media object
- title: Modal
- title: Navs
- title: Navbar
@@ -49,6 +49,8 @@
- title: Popovers
- title: Progress
- title: Scrollspy
+ - title: Spinners
+ - title: Toasts
- title: Tooltips
- title: Utilities
@@ -62,11 +64,13 @@
- title: Flex
- title: Float
- title: Image replacement
+ - title: Overflow
- title: Position
- - title: Screenreaders
+ - title: Screen readers
- title: Shadows
- title: Sizing
- title: Spacing
+ - title: Stretched link
- title: Text
- title: Vertical align
- title: Visibility
@@ -81,6 +85,7 @@
- title: About
pages:
- title: Overview
+ - title: Team
- title: Brand
- title: License
- title: Translations
diff --git a/vendor/twbs/bootstrap/site/_data/translations.yml b/vendor/twbs/bootstrap/site/_data/translations.yml
index 38b5771c4..030fa771b 100644
--- a/vendor/twbs/bootstrap/site/_data/translations.yml
+++ b/vendor/twbs/bootstrap/site/_data/translations.yml
@@ -1,19 +1,19 @@
- name: 中文(繁體)
code: zh-tw
description: Bootstrap 4 繁體中文手冊
- url: http://bootstrap.hexschool.com/
+ url: https://bootstrap.hexschool.com/
- name: Chinese
code: zh
description: Bootstrap 4 · 全球最流行的 HTML、CSS 和 JS 工具库。
- url: https://code.z01.com/v4
-
-- name: Chinese
- code: zh
- description: Bootstrap 4 中文文档教程
- url: https://wiki.jikexueyuan.com/project/bootstrap4/
+ url: https://code.z01.com/v4/
- name: Brazilian Portuguese
code: pt-BR
description: Bootstrap 4 Português do Brasil
- url: http://getbootstrap.com.br/v4/
+ url: https://getbootstrap.com.br/v4/
+
+- name: Japanese
+ code: ja
+ description: Bootstrap 4 日本語リファレンス
+ url: https://getbootstrap.jp/
diff --git a/vendor/twbs/bootstrap/site/_includes/analytics.html b/vendor/twbs/bootstrap/site/_includes/analytics.html
new file mode 100644
index 000000000..eeb57f903
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_includes/analytics.html
@@ -0,0 +1,6 @@
+<script>
+ window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
+ ga('create', 'UA-146052-10', 'getbootstrap.com');
+ ga('send', 'pageview');
+</script>
+<script async src="https://www.google-analytics.com/analytics.js"></script>
diff --git a/vendor/twbs/bootstrap/site/_includes/bugify.html b/vendor/twbs/bootstrap/site/_includes/bugify.html
index 6a02bd23e..7f3340421 100644
--- a/vendor/twbs/bootstrap/site/_includes/bugify.html
+++ b/vendor/twbs/bootstrap/site/_includes/bugify.html
@@ -1,7 +1,7 @@
{%- comment -%}
-Usage: {% include bugify.html content=text %},
-where content is a string that contains a bug reference name and id.
-e.g. Bootstrap#19984
+ Usage: include bugify.html content=text,
+ where content is a string that contains a bug reference name and id.
+ e.g. Bootstrap#19984
{%- endcomment -%}
{%- assign words = include.content | split: " " -%}
@@ -17,7 +17,7 @@ e.g. Bootstrap#19984
{%- when "Bootstrap" -%}
<a href="https://github.com/twbs/bootstrap/issues/{{ bug_id }}">#{{ bug_id }}</a>
{%- when "Edge" -%}
- <a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/{{ bug_id }}">Edge issue #{{ bug_id }}</a>
+ <a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/{{ bug_id }}/">Edge issue #{{ bug_id }}</a>
{%- when "A11yUserVoice" -%}
<a href="https://microsoftaccessibility.uservoice.com/forums/307429-microsoft-accessibility-feedback/suggestions/{{ bug_id }}">Microsoft A11y UserVoice idea #{{ bug_id }}</a>
{%- when "UserVoice" -%}
diff --git a/vendor/twbs/bootstrap/site/_includes/callout-danger-async-methods.md b/vendor/twbs/bootstrap/site/_includes/callout-danger-async-methods.md
index ca35e0b77..083f28f23 100644
--- a/vendor/twbs/bootstrap/site/_includes/callout-danger-async-methods.md
+++ b/vendor/twbs/bootstrap/site/_includes/callout-danger-async-methods.md
@@ -3,6 +3,6 @@
All API methods are **asynchronous** and start a **transition**. They return 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 information.]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/javascript/)
+[See our JavaScript documentation for more information]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/javascript/).
{% endcapture %}
{% include callout.html content=callout type="danger" %}
diff --git a/vendor/twbs/bootstrap/site/_includes/callout-info-prefersreducedmotion.md b/vendor/twbs/bootstrap/site/_includes/callout-info-prefersreducedmotion.md
new file mode 100644
index 000000000..9c3090376
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_includes/callout-info-prefersreducedmotion.md
@@ -0,0 +1,4 @@
+{% capture callout %}
+The animation effect of this component is dependent on the `prefers-reduced-motion` media query. See the [reduced motion section of our accessibility documentation]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/accessibility/#reduced-motion).
+{% endcapture %}
+{% include callout.html content=callout type="info" %}
diff --git a/vendor/twbs/bootstrap/site/_includes/callout.html b/vendor/twbs/bootstrap/site/_includes/callout.html
index ff9450dc4..434d10e1e 100644
--- a/vendor/twbs/bootstrap/site/_includes/callout.html
+++ b/vendor/twbs/bootstrap/site/_includes/callout.html
@@ -1,7 +1,7 @@
{%- comment -%}
-Usage: {% include callout.html content=callout type="type" %},
-where content is a capture with the content
-and type is one of: info (default), danger, warning
+ Usage: include callout.html content=callout type="type",
+ where content is a capture with the content
+ and type is one of: info (default), danger, warning
{%- endcomment -%}
{%- assign css_class = include.type | default: "info" -%}
<div class="bd-callout bd-callout-{{ css_class }}">
diff --git a/vendor/twbs/bootstrap/site/_includes/docs-navbar.html b/vendor/twbs/bootstrap/site/_includes/docs-navbar.html
index cb442bd53..80b61b655 100644
--- a/vendor/twbs/bootstrap/site/_includes/docs-navbar.html
+++ b/vendor/twbs/bootstrap/site/_includes/docs-navbar.html
@@ -15,13 +15,13 @@
<a class="nav-link {% if page.title == "Examples" %}active{% endif %}" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/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');" target="_blank" rel="noopener">Themes</a>
+ <a class="nav-link" href="{{ site.themes }}/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Themes');" target="_blank" rel="noopener">Themes</a>
</li>
<li class="nav-item">
- <a class="nav-link" href="{{ site.expo }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Expo');" target="_blank" rel="noopener">Expo</a>
+ <a class="nav-link" href="{{ site.expo }}/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Expo');" target="_blank" rel="noopener">Expo</a>
</li>
<li class="nav-item">
- <a class="nav-link" href="{{ site.blog }}" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Blog');" target="_blank" rel="noopener">Blog</a>
+ <a class="nav-link" href="{{ site.blog }}/" onclick="ga('send', 'event', 'Navbar', 'Community links', 'Blog');" target="_blank" rel="noopener">Blog</a>
</li>
</ul>
</div>
@@ -32,12 +32,16 @@
v{{ site.docs_version }}
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="bd-versions">
- <a class="dropdown-item active" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/">Latest (4.1.x)</a>
+ <a class="dropdown-item active" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/">Latest (4.3.x)</a>
+ <a class="dropdown-item" href="https://getbootstrap.com/docs/4.2/">v4.2.1</a>
<a class="dropdown-item" href="https://getbootstrap.com/docs/4.0/">v4.0.0</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="https://v4-alpha.getbootstrap.com/">v4 Alpha 6</a>
+ <a class="dropdown-item" href="https://getbootstrap.com/docs/3.4/">v3.4.0</a>
<a class="dropdown-item" href="https://getbootstrap.com/docs/3.3/">v3.3.7</a>
<a class="dropdown-item" href="https://getbootstrap.com/2.3.2/">v2.3.2</a>
+ <div class="dropdown-divider"></div>
+ <a class="dropdown-item" href="{{ site.baseurl }}/docs/versions/">All versions</a>
</div>
</li>
@@ -52,10 +56,15 @@
</a>
</li>
<li class="nav-item">
- <a class="nav-link p-2" href="{{ site.slack }}" target="_blank" rel="noopener" aria-label="Slack">
+ <a class="nav-link p-2" href="{{ site.slack }}/" target="_blank" rel="noopener" aria-label="Slack">
{%- include icons/slack.svg class="navbar-nav-svg" -%}
</a>
</li>
+ <li class="nav-item">
+ <a class="nav-link p-2" href="{{ site.opencollective }}/" target="_blank" rel="noopener" aria-label="Open Collective">
+ {%- include icons/opencollective.svg class="navbar-nav-svg" -%}
+ </a>
+ </li>
</ul>
<a class="btn btn-bd-download d-none d-lg-inline-block mb-3 mb-md-0 ml-md-3" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/download/">Download</a>
diff --git a/vendor/twbs/bootstrap/site/_includes/docs-sidebar.html b/vendor/twbs/bootstrap/site/_includes/docs-sidebar.html
index 61edd8ec1..4a41a5581 100644
--- a/vendor/twbs/bootstrap/site/_includes/docs-sidebar.html
+++ b/vendor/twbs/bootstrap/site/_includes/docs-sidebar.html
@@ -1,5 +1,5 @@
<form class="bd-search d-flex align-items-center">
- <input type="search" class="form-control" id="search-input" placeholder="Search..." aria-label="Search for..." autocomplete="off" data-siteurl="{{ site.url }}" data-docs-version="{{ site.docs_version }}">
+ <input type="search" class="form-control" id="search-input" placeholder="Search..." aria-label="Search for..." autocomplete="off" data-docs-version="{{ site.docs_version }}">
<button class="btn btn-link bd-search-docs-toggle d-md-none p-0 ml-3" type="button" data-toggle="collapse" data-target="#bd-docs-nav" aria-controls="bd-docs-nav" aria-expanded="false" aria-label="Toggle docs navigation">
{%- include icons/menu.svg width="30" height="30" -%}
</button>
@@ -35,20 +35,6 @@
<a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/{{ group_slug }}/{{ doc_slug }}/">
{{ doc.title }}
</a>
-
- {%- comment -%}
- {% unless doc.sections == nil %}
- <ul class="nav">
- {% for section in doc.sections %}
- <li>
- <a href="#{{ section.title | downcase | replace: ' ', '-' }}">
- {{ section.title }}
- </a>
- </li>
- {% endfor %}
- </ul>
- {% endunless %}
- {%- endcomment -%}
</li>
{%- endfor -%}
</ul>
diff --git a/vendor/twbs/bootstrap/site/_includes/example.html b/vendor/twbs/bootstrap/site/_includes/example.html
index 24d12626b..dcd148b02 100644
--- a/vendor/twbs/bootstrap/site/_includes/example.html
+++ b/vendor/twbs/bootstrap/site/_includes/example.html
@@ -1,23 +1,51 @@
{%- comment -%}
-Usage: {% include example.html content=markup %},
-where content is a capture with the HTML content
-id - null (default)
-class - "bd-example" (default)
-optional: hide_preview - disabled (default)
-optional: hide_markup - disabled (default)
+ Usage: include example.html content=markup [args],
+ where content is a capture with the HTML content
+
+ args can be one of the following:
+ id - null (default)
+ class - "bd-example" (default)
+ optional: hide_preview - disabled (default)
+ optional: hide_markup - disabled (default)
{%- endcomment -%}
-{%- assign preview_id = include.id -%}
-{%- assign preview_class = include.class -%}
+{%- assign id = include.id -%}
+{%- assign class = include.class -%}
{%- if include.hide_preview == null -%}
-<div{% if preview_id %} id="{{ preview_id }}"{% endif %} class="bd-example{% if preview_class %} {{ preview_class }}{% endif %}">
+<div{% if id %} id="{{ id }}"{% endif %} class="bd-example{% if class %} {{ class }}{% endif %}">
{{- include.content -}}
</div>
{%- endif -%}
{%- if include.hide_markup == null -%}
{%- highlight html -%}
- {{- include.content | replace: 'data-src="holder.js', 'src="...' -}}
+ {%- if include.content contains '<svg class="bd-placeholder-img' -%}
+ {%- assign modified_content = include.content
+ | replace: '<svg class="bd-placeholder-img', '✂️<svg class="bd-placeholder-img'
+ | replace: '</svg>', '</svg>✂️'
+ | split: '✂️' -%}
+
+ {%- if include.content contains 'bd-placeholder-img ' -%}
+ {%- assign image_class = include.content
+ | replace_first: 'bd-placeholder-img', 'bd-placeholder-img ✂️'
+ | replace: '" width="', '✂️" width="'
+ | split: '✂️' -%}
+ {%- assign image_class = image_class[1] | replace: 'bd-placeholder-img-lg', '' | strip -%}
+ {%- endif -%}
+
+ {%- for content_chunk in modified_content -%}
+ {%- if content_chunk contains '<svg class="bd-placeholder-img' -%}
+ {%- capture img_placeholder -%}
+ <img src="..." {% if image_class %}class="{{ image_class }}" {% endif %}alt="...">
+ {%- endcapture -%}
+ {{- img_placeholder -}}
+ {%- else -%}
+ {{- content_chunk -}}
+ {%- endif -%}
+ {%- endfor -%}
+ {%- else -%}
+ {{- include.content -}}
+ {%- endif -%}
{%- endhighlight -%}
{%- endif -%}
diff --git a/vendor/twbs/bootstrap/site/_includes/footer.html b/vendor/twbs/bootstrap/site/_includes/footer.html
index 8e16577c1..03192a861 100644
--- a/vendor/twbs/bootstrap/site/_includes/footer.html
+++ b/vendor/twbs/bootstrap/site/_includes/footer.html
@@ -2,11 +2,11 @@
<div class="container-fluid p-3 p-md-5">
<ul class="bd-footer-links">
<li><a href="{{ site.repo }}">GitHub</a></li>
- <li><a href="https://twitter.com/getbootstrap">Twitter</a></li>
+ <li><a href="https://twitter.com/{{ site.twitter }}">Twitter</a></li>
<li><a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/">Examples</a></li>
<li><a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/about/overview/">About</a></li>
</ul>
- <p>Designed and built with all the love in the world by <a href="https://twitter.com/mdo" target="_blank" rel="noopener">@mdo</a> and <a href="https://twitter.com/fat" target="_blank" rel="noopener">@fat</a>. Maintained by the <a href="https://github.com/orgs/twbs/people">core team</a> with the help of <a href="https://github.com/twbs/bootstrap/graphs/contributors">our contributors</a>.</p>
- <p>Currently v{{ site.current_version }}. Code licensed <a href="https://github.com/twbs/bootstrap/blob/master/LICENSE" target="_blank" rel="license noopener">MIT</a>, docs <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank" rel="license noopener">CC BY 3.0</a>.</p>
+ <p>Designed and built with all the love in the world by the <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/about/team/">Bootstrap team</a> with the help of <a href="{{ site.repo }}/graphs/contributors">our contributors</a>.</p>
+ <p>Currently v{{ site.current_version }}. Code licensed <a href="{{ site.repo }}/blob/master/LICENSE" target="_blank" rel="license noopener">MIT</a>, docs <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank" rel="license noopener">CC BY 3.0</a>.</p>
</div>
</footer>
diff --git a/vendor/twbs/bootstrap/site/_includes/header.html b/vendor/twbs/bootstrap/site/_includes/header.html
index b92a5790a..8fa50f395 100644
--- a/vendor/twbs/bootstrap/site/_includes/header.html
+++ b/vendor/twbs/bootstrap/site/_includes/header.html
@@ -4,6 +4,9 @@
<meta name="author" content="{{ site.authors }}">
<meta name="generator" content="Jekyll v{{ jekyll.version }}">
+<meta name="docsearch:language" content="en">
+<meta name="docsearch:version" content="{{ site.docs_version }}">
+
<title>
{%- if page.title -%}
{{ page.title | smartify }} · {{ site.title | smartify }}
@@ -12,26 +15,9 @@
{%- endif -%}
</title>
-<!-- Bootstrap core CSS -->
-{% if site.github %}
-<link href="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/css/bootstrap.min.css" rel="stylesheet" integrity="{{ site.cdn.css_hash }}" crossorigin="anonymous">
-{% else %}
-<link href="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/css/bootstrap.css" rel="stylesheet">
-{% endif %}
-
-<!-- Documentation extras -->
-{% if page.layout == "docs" %}
-<link href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" rel="stylesheet">
-{% endif %}
-<link href="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/css/docs.min.css" rel="stylesheet">
+<link rel="canonical" href="{{ site.url | append: page.url }}">
+{% include stylesheet.html %}
{% include favicons.html %}
-
{% include social.html %}
-
-<script>
- window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
- ga('create', 'UA-146052-10', 'getbootstrap.com');
- ga('send', 'pageview');
-</script>
-<script async src='https://www.google-analytics.com/analytics.js'></script>
+{% include analytics.html %}
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/bootstrap-stack.svg b/vendor/twbs/bootstrap/site/_includes/icons/bootstrap-stack.svg
new file mode 100644
index 000000000..079c881a0
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_includes/icons/bootstrap-stack.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %}{% if include.class %} class="{{ include.class }}"{% endif %} role="img" viewBox="0 0 1024 860" focusable="false"><title>Bootstrap</title><defs><linearGradient id="c" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#5C24AE"/><stop offset="100%" stop-color="#30135A"/></linearGradient><path id="b" d="M355.967 242.807l-322 216.395c-44.275 29.754-44.275 78.443 0 108.197l322 216.395c44.275 29.754 116.725 29.754 161 0l322-216.395c44.275-29.754 44.275-78.443 0-108.197l-322-216.395c-44.275-29.754-116.725-29.754-161 0z"/><filter id="a" width="108%" height="112%" x="-4%" y="-4.3%" filterUnits="objectBoundingBox"><feOffset dy="10" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur in="shadowOffsetOuter1" result="shadowBlurOuter1" stdDeviation="10"/><feColorMatrix in="shadowBlurOuter1" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/></filter><linearGradient id="f" x1="50%" x2="50%" y1="-17.303%" y2="100%"><stop offset="0%" stop-color="#7331D4"/><stop offset="100%" stop-color="#461B84"/></linearGradient><path id="e" d="M355.967 132.807l-322 216.395c-44.275 29.754-44.275 78.443 0 108.197l322 216.395c44.275 29.754 116.725 29.754 161 0l322-216.395c44.275-29.754 44.275-78.443 0-108.197l-322-216.395c-44.275-29.754-116.725-29.754-161 0z"/><filter id="d" width="108%" height="112%" x="-4%" y="-4.3%" filterUnits="objectBoundingBox"><feOffset dy="10" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur in="shadowOffsetOuter1" result="shadowBlurOuter1" stdDeviation="10"/><feColorMatrix in="shadowBlurOuter1" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/></filter><linearGradient id="i" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#905BDD"/><stop offset="100%" stop-color="#5521A0"/></linearGradient><path id="h" d="M355.967 22.807l-322 216.395c-44.275 29.754-44.275 78.443 0 108.197l322 216.395c44.275 29.754 116.725 29.754 161 0l322-216.395c44.275-29.754 44.275-78.443 0-108.197l-322-216.395c-44.275-29.754-116.725-29.754-161 0z"/><filter id="g" width="108%" height="112%" x="-4%" y="-4.3%" filterUnits="objectBoundingBox"><feOffset dy="10" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur in="shadowOffsetOuter1" result="shadowBlurOuter1" stdDeviation="10"/><feColorMatrix in="shadowBlurOuter1" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/></filter></defs><g fill="none"><g transform="translate(75 23)"><use fill="#000" filter="url(#a)" xlink:href="#b"/><use fill="url(#c)" xlink:href="#b"/></g><g transform="translate(75 23)"><use fill="#000" filter="url(#d)" xlink:href="#e"/><use fill="url(#f)" xlink:href="#e"/></g><g transform="translate(75 23)"><use fill="#000" filter="url(#g)" xlink:href="#h"/><use fill="url(#i)" xlink:href="#h"/></g><path fill="#FFF" d="M558.273 447.667L308.036 279.5l97.982-65.847c42.83-28.784 96.789-31.483 134.245-6.311 26.044 17.502 31.214 46.615 11.444 65.724l1.389.934c38.324-19.932 84.107-18.527 117.396 3.845 44.046 29.6 38.671 68.419-14.561 104.193l-97.658 65.629zM447.112 331.01l49.942-33.562c36.935-24.822 42.31-48.249 15.224-66.451-24.798-16.665-55.49-14.453-85.851 5.95l-59.641 40.081 80.326 53.982zm176.532 35.663c37.63-25.289 42.136-48.832 13.203-68.276-28.932-19.444-64.163-15.614-104.042 11.186l-58.789 39.508 87.92 59.084 61.708-41.502z"/></g></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/bootstrap.svg b/vendor/twbs/bootstrap/site/_includes/icons/bootstrap.svg
index 816028bd8..ec6da152f 100644
--- a/vendor/twbs/bootstrap/site/_includes/icons/bootstrap.svg
+++ b/vendor/twbs/bootstrap/site/_includes/icons/bootstrap.svg
@@ -1 +1 @@
-<svg{% if include.class %} class="{{ include.class }}"{% endif %}{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} viewbox="0 0 612 612" xmlns="http://www.w3.org/2000/svg" focusable="false"><title>Bootstrap</title><path fill="currentColor" d="M510 8a94.3 94.3 0 0 1 94 94v408a94.3 94.3 0 0 1-94 94H102a94.3 94.3 0 0 1-94-94V102a94.3 94.3 0 0 1 94-94h408m0-8H102C45.9 0 0 45.9 0 102v408c0 56.1 45.9 102 102 102h408c56.1 0 102-45.9 102-102V102C612 45.9 566.1 0 510 0z"/><path fill="currentColor" d="M196.77 471.5V154.43h124.15c54.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 89zm39.55-180.4h63.28c46.8 0 72.29-18.68 72.29-53 0-31.42-21.53-48.78-60-48.78h-75.57zm78.22 145.46c47.68 0 72.73-19.34 72.73-56s-25.93-55.37-76.46-55.37h-74.49v111.4z"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %}{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 612 612" role="img" focusable="false"><title>Bootstrap</title><path fill="currentColor" d="M510 8a94.3 94.3 0 0 1 94 94v408a94.3 94.3 0 0 1-94 94H102a94.3 94.3 0 0 1-94-94V102a94.3 94.3 0 0 1 94-94h408m0-8H102C45.9 0 0 45.9 0 102v408c0 56.1 45.9 102 102 102h408c56.1 0 102-45.9 102-102V102C612 45.9 566.1 0 510 0z"/><path fill="currentColor" d="M196.77 471.5V154.43h124.15c54.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 89zm39.55-180.4h63.28c46.8 0 72.29-18.68 72.29-53 0-31.42-21.53-48.78-60-48.78h-75.57zm78.22 145.46c47.68 0 72.73-19.34 72.73-56s-25.93-55.37-76.46-55.37h-74.49v111.4z"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/download.svg b/vendor/twbs/bootstrap/site/_includes/icons/download.svg
index aa5f3f1be..ef8af7662 100644
--- a/vendor/twbs/bootstrap/site/_includes/icons/download.svg
+++ b/vendor/twbs/bootstrap/site/_includes/icons/download.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" focusable="false"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-width="2"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" stroke-linecap="round" stroke-linejoin="round"><title>Download icon</title><path d="M9 22c-9 1-8-10 0-9C6 2 23 2 22 10c10-3 10 13 1 12m-12 4l5 4 5-4m-5-10v14"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" focusable="false"><title>Download</title><path d="M9 22c-9 1-8-10 0-9C6 2 23 2 22 10c10-3 10 13 1 12m-12 4l5 4 5-4m-5-10v14"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/github.svg b/vendor/twbs/bootstrap/site/_includes/icons/github.svg
index 5d6ad1804..0243df5a2 100644
--- a/vendor/twbs/bootstrap/site/_includes/icons/github.svg
+++ b/vendor/twbs/bootstrap/site/_includes/icons/github.svg
@@ -1 +1 @@
-<svg{% if include.class %} class="{{ include.class }}"{% endif %} xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 499.36"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} focusable="false"><title>GitHub</title><path d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z" fill="currentColor" fill-rule="evenodd"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %}{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 512 499.36" role="img" focusable="false"><title>GitHub</title><path fill="currentColor" fill-rule="evenodd" d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/import.svg b/vendor/twbs/bootstrap/site/_includes/icons/import.svg
index 0a9dbb269..28563c2be 100644
--- a/vendor/twbs/bootstrap/site/_includes/icons/import.svg
+++ b/vendor/twbs/bootstrap/site/_includes/icons/import.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" focusable="false"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-width="2"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" stroke-linecap="round" stroke-linejoin="round"><title>Import icon</title><path d="M28 22v8H4v-8M16 4v20m-8-8l8 8 8-8"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" focusable="false"><title>Import</title><path d="M28 22v8H4v-8M16 4v20m-8-8l8 8 8-8"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/lightning.svg b/vendor/twbs/bootstrap/site/_includes/icons/lightning.svg
index be6f475ef..bbcf24a76 100644
--- a/vendor/twbs/bootstrap/site/_includes/icons/lightning.svg
+++ b/vendor/twbs/bootstrap/site/_includes/icons/lightning.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" focusable="false"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-width="2"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" stroke-linecap="round" stroke-linejoin="round"><title>Lightning icon</title><path d="M18 13l8-11L8 13l6 6-8 11 18-11z"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="none" stroke="currentcolor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 32 32" focusable="false"><title>Lightning</title><path d="M18 13l8-11L8 13l6 6-8 11 18-11z"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/menu.svg b/vendor/twbs/bootstrap/site/_includes/icons/menu.svg
index 03e15dc49..f6c47035a 100644
--- a/vendor/twbs/bootstrap/site/_includes/icons/menu.svg
+++ b/vendor/twbs/bootstrap/site/_includes/icons/menu.svg
@@ -1 +1 @@
-<svg{% if include.class %} class="{{ include.class }}"{% endif %} xmlns="http://www.w3.org/2000/svg" viewbox="0 0 30 30"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} focusable="false"><title>Menu</title><path stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M4 7h22M4 15h22M4 23h22"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %}{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/opencollective.svg b/vendor/twbs/bootstrap/site/_includes/icons/opencollective.svg
new file mode 100644
index 000000000..090d41dff
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_includes/icons/opencollective.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} fill="currentColor" fill-rule="evenodd"{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 40 41" role="img" focusable="false"><title>Open Collective</title><path fill-opacity=".4" d="M32.8 21c0 2.4-.8 4.9-2 6.9l5.1 5.1c2.5-3.4 4.1-7.6 4.1-12 0-4.6-1.6-8.8-4-12.2L30.7 14c1.2 2 2 4.3 2 7z"/><path d="M20 33.7a12.8 12.8 0 0 1 0-25.6c2.6 0 5 .7 7 2.1L32 5a20 20 0 1 0 .1 31.9l-5-5.2a13 13 0 0 1-7 2z"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/placeholder.svg b/vendor/twbs/bootstrap/site/_includes/icons/placeholder.svg
new file mode 100644
index 000000000..36883e82d
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_includes/icons/placeholder.svg
@@ -0,0 +1,35 @@
+{%- comment -%}
+ Usage: include icons/placeholder.svg args
+
+ args can be one of the following:
+ title: Used in the SVG `title` tag
+ text: The text to show in the image - default: 'width x height'
+ class: default: 'bd-placeholder-img'
+ color: The text color (foreground) - default: '#dee2e6'
+ background: The background color - default: '#868e96'
+ width: default: 100%
+ height: default: 180px
+{%- endcomment -%}
+
+{%- assign title = include.title | default: 'Placeholder' -%}
+{%- assign class = include.class | default: '' -%}
+{%- assign color = include.color | default: site.data.grays[2].hex -%}
+{%- assign background = include.background | default: site.data.grays[5].hex -%}
+{%- assign width = include.width | default: '100%' -%}
+{%- assign height = include.height | default: '180' -%}
+
+{%- if include.text -%}
+ {%- assign text = include.text -%}
+{%- else -%}
+ {%- assign text = width | append: 'x' | append: height -%}
+{%- endif -%}
+
+{%- capture svg -%}
+<svg class="bd-placeholder-img{% if class != '' %} {{ class }}{% endif %}" width="{{ width }}" height="{{ height }}" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" focusable="false" role="img"{% if title != ' ' or text != ' ' %} aria-label="{% if title != ' ' %}{{ title }}{% if text != ' ' %}: {% endif %}{% endif %}{% if text != ' ' %}{{ text }}{% endif %}"{% endif %}>
+ {% if title != ' ' %}<title>{{ title }}</title>{% endif %}
+ <rect width="100%" height="100%" fill="{{ background }}"/>
+ {% if text != ' ' %}<text x="50%" y="50%" fill="{{ color }}" dy=".3em">{{ text }}</text>{% endif %}
+</svg>
+{%- endcapture -%}
+
+{{- svg | replace: ' ', '' | strip_newlines -}}
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/slack.svg b/vendor/twbs/bootstrap/site/_includes/icons/slack.svg
index 3927fa458..d6ae455d8 100644
--- a/vendor/twbs/bootstrap/site/_includes/icons/slack.svg
+++ b/vendor/twbs/bootstrap/site/_includes/icons/slack.svg
@@ -1 +1 @@
-<svg{% if include.class %} class="{{ include.class }}"{% endif %} xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} focusable="false"><title>Slack</title><path fill="currentColor" d="M210.787 234.832l68.31-22.883 22.1 65.977-68.309 22.882z"/><path d="M490.54 185.6C437.7 9.59 361.6-31.34 185.6 21.46S-31.3 150.4 21.46 326.4 150.4 543.3 326.4 490.54 543.34 361.6 490.54 185.6zM401.7 299.8l-33.15 11.05 11.46 34.38c4.5 13.92-2.87 29.06-16.78 33.56-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18l-11.46-34.38-68.36 22.92 11.46 34.38c4.5 13.92-2.87 29.06-16.78 33.56-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18l-11.46-34.43-33.15 11.05c-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18c-4.5-13.92 2.87-29.06 16.78-33.56l33.12-11.03-22.1-65.9-33.15 11.05c-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18c-4.48-13.93 2.89-29.07 16.81-33.58l33.15-11.05-11.46-34.38c-4.5-13.92 2.87-29.06 16.78-33.56s29.06 2.87 33.56 16.78l11.46 34.38 68.36-22.92-11.46-34.38c-4.5-13.92 2.87-29.06 16.78-33.56s29.06 2.87 33.56 16.78l11.47 34.42 33.15-11.05c13.92-4.5 29.06 2.87 33.56 16.78s-2.87 29.06-16.78 33.56L329.7 194.6l22.1 65.9 33.15-11.05c13.92-4.5 29.06 2.87 33.56 16.78s-2.88 29.07-16.81 33.57z" fill="currentColor"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %}{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 512 512" role="img" focusable="false"><title>Slack</title><path fill="currentColor" d="M210.787 234.832l68.31-22.883 22.1 65.977-68.309 22.882z"/><path fill="currentColor" d="M490.54 185.6C437.7 9.59 361.6-31.34 185.6 21.46S-31.3 150.4 21.46 326.4 150.4 543.3 326.4 490.54 543.34 361.6 490.54 185.6zM401.7 299.8l-33.15 11.05 11.46 34.38c4.5 13.92-2.87 29.06-16.78 33.56-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18l-11.46-34.38-68.36 22.92 11.46 34.38c4.5 13.92-2.87 29.06-16.78 33.56-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18l-11.46-34.43-33.15 11.05c-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18c-4.5-13.92 2.87-29.06 16.78-33.56l33.12-11.03-22.1-65.9-33.15 11.05c-2.87.82-6.14 1.64-9 1.23a27.32 27.32 0 0 1-24.56-18c-4.48-13.93 2.89-29.07 16.81-33.58l33.15-11.05-11.46-34.38c-4.5-13.92 2.87-29.06 16.78-33.56s29.06 2.87 33.56 16.78l11.46 34.38 68.36-22.92-11.46-34.38c-4.5-13.92 2.87-29.06 16.78-33.56s29.06 2.87 33.56 16.78l11.47 34.42 33.15-11.05c13.92-4.5 29.06 2.87 33.56 16.78s-2.87 29.06-16.78 33.56L329.7 194.6l22.1 65.9 33.15-11.05c13.92-4.5 29.06 2.87 33.56 16.78s-2.88 29.07-16.81 33.57z"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/icons/twitter.svg b/vendor/twbs/bootstrap/site/_includes/icons/twitter.svg
index 450c393b9..7b838be58 100644
--- a/vendor/twbs/bootstrap/site/_includes/icons/twitter.svg
+++ b/vendor/twbs/bootstrap/site/_includes/icons/twitter.svg
@@ -1 +1 @@
-<svg{% if include.class %} class="{{ include.class }}"{% endif %} xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 416.32"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} focusable="false"><title>Twitter</title><path d="M160.83 416.32c193.2 0 298.92-160.22 298.92-298.92 0-4.51 0-9-.2-13.52A214 214 0 0 0 512 49.38a212.93 212.93 0 0 1-60.44 16.6 105.7 105.7 0 0 0 46.3-58.19 209 209 0 0 1-66.79 25.37 105.09 105.09 0 0 0-181.73 71.91 116.12 116.12 0 0 0 2.66 24c-87.28-4.3-164.73-46.3-216.56-109.82A105.48 105.48 0 0 0 68 159.6a106.27 106.27 0 0 1-47.53-13.11v1.43a105.28 105.28 0 0 0 84.21 103.06 105.67 105.67 0 0 1-47.33 1.84 105.06 105.06 0 0 0 98.14 72.94A210.72 210.72 0 0 1 25 370.84a202.17 202.17 0 0 1-25-1.43 298.85 298.85 0 0 0 160.83 46.92" fill="currentColor"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg"{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %}{% if include.class %} class="{{ include.class }}"{% endif %} viewBox="0 0 512 416.32" role="img" focusable="false"><title>Twitter</title><path fill="currentColor" d="M160.83 416.32c193.2 0 298.92-160.22 298.92-298.92 0-4.51 0-9-.2-13.52A214 214 0 0 0 512 49.38a212.93 212.93 0 0 1-60.44 16.6 105.7 105.7 0 0 0 46.3-58.19 209 209 0 0 1-66.79 25.37 105.09 105.09 0 0 0-181.73 71.91 116.12 116.12 0 0 0 2.66 24c-87.28-4.3-164.73-46.3-216.56-109.82A105.48 105.48 0 0 0 68 159.6a106.27 106.27 0 0 1-47.53-13.11v1.43a105.28 105.28 0 0 0 84.21 103.06 105.67 105.67 0 0 1-47.33 1.84 105.06 105.06 0 0 0 98.14 72.94A210.72 210.72 0 0 1 25 370.84a202.17 202.17 0 0 1-25-1.43 298.85 298.85 0 0 0 160.83 46.92"/></svg> \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/_includes/scripts.html b/vendor/twbs/bootstrap/site/_includes/scripts.html
index 92c6d01cd..044dd3368 100644
--- a/vendor/twbs/bootstrap/site/_includes/scripts.html
+++ b/vendor/twbs/bootstrap/site/_includes/scripts.html
@@ -1,26 +1,23 @@
<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-slim.min.js"><\/script>')</script>
+<script>window.jQuery || document.write('<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
-<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/vendor/popper.min.js"{% if site.github %} integrity="{{ site.cdn.popper_hash }}" crossorigin="anonymous"{% endif %}></script>
-
-{%- if site.github -%}
- <script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/js/bootstrap.min.js" integrity="{{ site.cdn.js_hash }}" crossorigin="anonymous"></script>
+{%- if jekyll.environment == "production" -%}
+ <script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/js/bootstrap.bundle.min.js" integrity="{{ site.cdn.js_bundle_hash }}" crossorigin="anonymous"></script>
{%- else -%}
- <script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/js/bootstrap.js"></script>
+ <script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/js/bootstrap.bundle.js"></script>
{%- endif -%}
{%- if page.layout == "docs" -%}
<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
{%- endif -%}
-{%- if site.github -%}
+{%- if jekyll.environment == "production" -%}
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/docs.min.js"></script>
{%- else -%}
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/vendor/anchor.min.js"></script>
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/vendor/clipboard.min.js"></script>
- <script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/vendor/holder.min.js"></script>
+ <script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/vendor/bs-custom-file-input.min.js"></script>
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/src/application.js"></script>
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/src/search.js"></script>
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/src/ie-emulation-modes-warning.js"></script>
- <script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/src/pwa.js"></script>
{%- endif -%}
diff --git a/vendor/twbs/bootstrap/site/_includes/skippy.html b/vendor/twbs/bootstrap/site/_includes/skippy.html
index 2c73089bc..ec7507d53 100644
--- a/vendor/twbs/bootstrap/site/_includes/skippy.html
+++ b/vendor/twbs/bootstrap/site/_includes/skippy.html
@@ -1,5 +1,3 @@
-<a id="skippy" class="sr-only sr-only-focusable" href="#content">
- <div class="container">
- <span class="skiplink-text">Skip to main content</span>
- </div>
+<a class="skippy sr-only sr-only-focusable" href="#content">
+ <span class="skippy-text">Skip to main content</span>
</a>
diff --git a/vendor/twbs/bootstrap/site/_includes/stylesheet.html b/vendor/twbs/bootstrap/site/_includes/stylesheet.html
new file mode 100644
index 000000000..3846f9fe1
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/_includes/stylesheet.html
@@ -0,0 +1,16 @@
+<!-- Bootstrap core CSS -->
+{%- if jekyll.environment == "production" %}
+<link href="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/css/bootstrap.min.css" rel="stylesheet" integrity="{{ site.cdn.css_hash }}" crossorigin="anonymous">
+{% else %}
+<link href="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/css/bootstrap.css" rel="stylesheet">
+{% endif -%}
+
+{%- if page.layout == "docs" or page.layout != "examples" -%}
+<!-- Documentation extras -->
+{% if page.layout == "docs" %}
+<link href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" rel="stylesheet">
+{% endif %}
+{% if page.layout != "examples" %}
+<link href="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/css/docs.min.css" rel="stylesheet">
+{% endif %}
+{%- endif -%}
diff --git a/vendor/twbs/bootstrap/site/_layouts/default.html b/vendor/twbs/bootstrap/site/_layouts/default.html
index 28f4cdccb..59f5c122b 100644
--- a/vendor/twbs/bootstrap/site/_layouts/default.html
+++ b/vendor/twbs/bootstrap/site/_layouts/default.html
@@ -8,7 +8,7 @@
{% include docs-navbar.html %}
- {% if page.layout == "simple" or page.layout == "examples" %}
+ {% if page.layout == "simple" %}
{{ content }}
{% else %}
<main id="content" role="main">
diff --git a/vendor/twbs/bootstrap/site/_layouts/examples.html b/vendor/twbs/bootstrap/site/_layouts/examples.html
index 1f8fbcdec..cecd1145d 100644
--- a/vendor/twbs/bootstrap/site/_layouts/examples.html
+++ b/vendor/twbs/bootstrap/site/_layouts/examples.html
@@ -1,16 +1,55 @@
----
-layout: default
----
-
-<header class="d-flex flex-column flex-md-row align-items-md-center p-5 bg-light">
- <div class="pt-md-3 pb-md-4">
- <h1 class="bd-title mt-0">{{ page.title | smartify }}</h1>
- <p class="bd-lead">{{ page.description | smartify }}</p>
- <a href="{{ site.download.source }}" class="btn btn-lg btn-bd-primary" onclick="ga('send', 'event', 'Examples', 'Hero', 'Download');">Download source code</a>
- </div>
- {% include ads.html %}
-</header>
-
-<main class="bd-content p-5" id="content" role="main">
- {{ content }}
-</main>
+<!doctype html>
+<html lang="en"{% if page.html_class %} class="{{ page.html_class }}"{% endif %}>
+ <head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+ <meta name="description" content="">
+ <meta name="author" content="{{ site.authors }}">
+ <meta name="generator" content="Jekyll v{{ jekyll.version }}">
+ <title>{{ page.title | smartify }} · {{ site.title | smartify }}</title>
+
+ <link rel="canonical" href="{{ site.url | append: page.url }}">
+
+ {% include stylesheet.html %}
+
+ <style>
+ .bd-placeholder-img {
+ font-size: 1.125rem;
+ text-anchor: middle;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ }
+
+ @media (min-width: 768px) {
+ .bd-placeholder-img-lg {
+ font-size: 3.5rem;
+ }
+ }
+ </style>
+
+ {%- for css in page.extra_css %}
+ <!-- Custom styles for this template -->
+ <link href="{{ css }}" rel="stylesheet">
+ {%- endfor %}
+ </head>
+ <body{% if page.body_class %} class="{{ page.body_class }}"{% endif %}>
+ {{ content }}
+
+ {%- if page.include_js != false -%}
+ <script src="{{ site.cdn.jquery }}" integrity="{{ site.cdn.jquery_hash }}" crossorigin="anonymous"></script>
+ <script>window.jQuery || document.write('<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
+
+ {%- if jekyll.environment == "production" -%}
+ <script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/js/bootstrap.bundle.min.js" integrity="{{ site.cdn.js_bundle_hash }}" crossorigin="anonymous"></script>
+ {%- else -%}
+ <script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/js/bootstrap.bundle.js"></script>
+ {%- endif -%}
+
+ {%- for js in page.extra_js %}
+ <script src="{{ js }}"></script>
+ {%- endfor %}
+ {%- endif -%}
+ </body>
+</html>
diff --git a/vendor/twbs/bootstrap/site/_layouts/redirect.html b/vendor/twbs/bootstrap/site/_layouts/redirect.html
deleted file mode 100644
index a30e77bf4..000000000
--- a/vendor/twbs/bootstrap/site/_layouts/redirect.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <title>Bootstrap · Content moved</title>
- <link rel="canonical" href="{{ page.redirect.to }}">
- <script>window.location="{{ page.redirect.to }}";</script>
- <meta http-equiv="refresh" content="0; url={{ page.redirect.to }}">
- <meta name="robots" content="noindex">
- <style>
- html {
- display: flex;
- align-items: center;
- justify-content: center;
- margin: 0;
- width: 100vw;
- height: 100vh;
- text-align: center;
- }
- body {
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
- }
- h1 {
- margin-top: 0;
- margin-bottom: .5rem;
- }
- a {
- color: #007bff;
- text-decoration: none;
- }
- </style>
- </head>
- <body>
- <h1>Redirecting&hellip;</h1>
- <a href="{{ page.redirect.to }}">Click here if you are not redirected</a>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/_layouts/simple.html b/vendor/twbs/bootstrap/site/_layouts/simple.html
index dfd9afd16..bbf808df3 100644
--- a/vendor/twbs/bootstrap/site/_layouts/simple.html
+++ b/vendor/twbs/bootstrap/site/_layouts/simple.html
@@ -2,11 +2,17 @@
layout: default
---
-<div class="container my-5">
- <main class="bd-content" role="main">
- <h1 class="bd-title" id="content">{{ page.title | smartify }}</h1>
+<header class="d-flex flex-column flex-md-row align-items-md-center p-5 bg-light">
+ <div class="pt-md-3 pb-md-4">
+ <h1 class="bd-title mt-0">{{ page.title | smartify }}</h1>
<p class="bd-lead">{{ page.description | smartify }}</p>
- {% include ads.html %}
- {{ content }}
- </main>
-</div>
+ {%- if page.title == "Examples" -%}
+ <a href="{{ site.download.source }}" class="btn btn-lg btn-bd-primary" onclick="ga('send', 'event', 'Examples', 'Hero', 'Download');">Download source code</a>
+ {%- endif -%}
+ </div>
+ {% include ads.html %}
+</header>
+
+<main class="bd-content p-5" id="content" role="main">
+ {{ content }}
+</main>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/css/docs.min.css b/vendor/twbs/bootstrap/site/docs/4.1/assets/css/docs.min.css
deleted file mode 100644
index d83c39ff6..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/css/docs.min.css
+++ /dev/null
@@ -1,8 +0,0 @@
-/*!
- * Bootstrap Docs (https://getbootstrap.com/)
- * Copyright 2011-2018 The Bootstrap Authors
- * Copyright 2011-2018 Twitter, Inc.
- * Licensed under the Creative Commons Attribution 3.0 Unported License. For
- * details, see https://creativecommons.org/licenses/by/3.0/.
- */.bd-navbar{min-height:4rem;background-color:#563d7c;box-shadow:0 .5rem 1rem rgba(0,0,0,.05),inset 0 -1px 0 rgba(0,0,0,.1)}@media (max-width:991.98px){.bd-navbar{padding-right:.5rem;padding-left:.5rem}.bd-navbar .navbar-nav-scroll{max-width:100%;height:2.5rem;margin-top:.25rem;overflow:hidden;font-size:.875rem}.bd-navbar .navbar-nav-scroll .navbar-nav{padding-bottom:2rem;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-navbar{position:-webkit-sticky;position:sticky;top:0;z-index:1071}}}.bd-navbar .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem;color:#cbbde2}.bd-navbar .navbar-nav .nav-link.active,.bd-navbar .navbar-nav .nav-link:hover{color:#fff;background-color:transparent}.bd-navbar .navbar-nav .nav-link.active{font-weight:500}.bd-navbar .navbar-nav-svg{display:inline-block;width:1rem;height:1rem;vertical-align:text-top}.bd-navbar .dropdown-menu{font-size:.875rem}.bd-navbar .dropdown-item.active{font-weight:500;color:#212529;background-color:transparent;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='%23292b2c' 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");background-repeat:no-repeat;background-position:.4rem .6rem;background-size:.75rem .75rem}.bd-masthead{position:relative;padding:3rem 15px}.bd-masthead h1{line-height:1}.bd-masthead .btn{width:100%;padding:.8rem 2rem;font-size:1.25rem;font-weight:500}.bd-masthead .carbonad{margin-top:0!important;margin-bottom:-3rem!important}@media (min-width:576px){.bd-masthead{padding-top:5rem;padding-bottom:5rem}.bd-masthead .carbonad{margin-bottom:0!important}}@media (min-width:768px){.bd-masthead h1{font-size:4rem}.bd-masthead .carbonad{margin-top:3rem!important}}.half-rule{width:6rem;margin:2.5rem 0}.masthead-followup .bd-clipboard{display:none}.masthead-followup .highlight{padding:.5rem 0;background-color:transparent}#carbonads{position:static;display:block;max-width:400px;padding:15px 15px 15px 160px;margin:2rem 0;overflow:hidden;font-size:13px;line-height:1.4;text-align:left;background-color:rgba(0,0,0,.05)}#carbonads a{color:#333;text-decoration:none}@media (min-width:576px){#carbonads{max-width:330px;border-radius:4px}}.carbon-img{float:left;margin-left:-145px}.carbon-poweredby{display:block;color:#777!important}.bd-content{-ms-flex-order:1;order:1}.bd-content>h2[id],.bd-content>h3[id],.bd-content>h4[id]{pointer-events:none}.bd-content>h2[id]>a,.bd-content>h2[id]>div,.bd-content>h3[id]>a,.bd-content>h3[id]>div,.bd-content>h4[id]>a,.bd-content>h4[id]>div{pointer-events:auto}.bd-content>h2[id]::before,.bd-content>h3[id]::before,.bd-content>h4[id]::before{display:block;height:6rem;margin-top:-6rem;visibility:hidden;content:""}.bd-content>table{width:100%;max-width:100%;margin-bottom:1rem}@media (max-width:991.98px){.bd-content>table{display:block;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}.bd-content>table.table-bordered{border:0}}.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 #dee2e6}.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:992px){.bd-content>ol,.bd-content>p,.bd-content>ul{max-width:80%}}.bd-title{margin-top:1rem;margin-bottom:.5rem;font-weight:300}@media (min-width:576px){.bd-title{font-size:3rem}}.bd-lead{font-size:1.125rem;font-weight:300}@media (min-width:576px){.bd-lead{max-width:80%;margin-bottom:1rem;font-size:1.5rem}}.bd-text-purple{color:#563d7c}.bd-text-purple-bright{color:#7952b3}#skippy{display:block;padding:1em;color:#fff;background-color:#563d7c;outline:0}#skippy .skiplink-text{padding:.5em;outline:1px dotted}.bd-toc{-ms-flex-order:2;order:2;padding-top:1.5rem;padding-bottom:1.5rem;font-size:.875rem}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-toc{position:-webkit-sticky;position:sticky;top:4rem;height:calc(100vh - 4rem);overflow-y:auto}}.section-nav{padding-left:0;border-left:1px solid #eee}.section-nav ul{padding-left:1rem}.section-nav ul ul{display:none}.toc-entry{display:block}.toc-entry a{display:block;padding:.125rem 1.5rem;color:#99979c}.toc-entry a:hover{color:#007bff;text-decoration:none}.bd-sidebar{-ms-flex-order:0;order:0;border-bottom:1px solid rgba(0,0,0,.1)}@media (min-width:768px){.bd-sidebar{border-right:1px solid rgba(0,0,0,.1)}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-sidebar{position:-webkit-sticky;position:sticky;top:4rem;z-index:1000;height:calc(100vh - 4rem)}}}@media (min-width:1200px){.bd-sidebar{-ms-flex:0 1 320px;flex:0 1 320px}}.bd-links{padding-top:1rem;padding-bottom:1rem;margin-right:-15px;margin-left:-15px}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-links{max-height:calc(100vh - 9rem);overflow-y:auto}}}@media (min-width:768px){.bd-links{display:block!important}}.bd-search{position:relative;padding:1rem 15px;margin-right:-15px;margin-left:-15px;border-bottom:1px solid rgba(0,0,0,.05)}.bd-search .form-control:focus{border-color:#7952b3;box-shadow:0 0 0 3px rgba(121,82,179,.25)}.bd-search-docs-toggle{line-height:1;color:#212529}.bd-sidenav{display:none}.bd-toc-link{display:block;padding:.25rem 1.5rem;font-weight:500;color:rgba(0,0,0,.65)}.bd-toc-link:hover{color:rgba(0,0,0,.85);text-decoration:none}.bd-toc-item.active{margin-bottom:1rem}.bd-toc-item.active:not(:first-child){margin-top:1rem}.bd-toc-item.active>.bd-toc-link{color:rgba(0,0,0,.85)}.bd-toc-item.active>.bd-toc-link:hover{background-color:transparent}.bd-toc-item.active>.bd-sidenav{display:block}.bd-sidebar .nav>li>a{display:block;padding:.25rem 1.5rem;font-size:90%;color:rgba(0,0,0,.65)}.bd-sidebar .nav>li>a:hover{color:rgba(0,0,0,.85);text-decoration:none;background-color:transparent}.bd-sidebar .nav>.active:hover>a,.bd-sidebar .nav>.active>a{font-weight:500;color:rgba(0,0,0,.85);background-color:transparent}.bd-footer{font-size:85%;text-align:center;background-color:#f7f7f7}.bd-footer a{font-weight:500;color:#495057}.bd-footer a:focus,.bd-footer a:hover{color:#007bff}.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>.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 .row+.row{margin-top:1rem}.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;width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.example-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;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{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-main{-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{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-secondary{-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:#fff;border-radius:.25rem}.bd-example-container-sidebar{float:right;width:4rem;height:8rem;background-color:#80bdff;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 0;border:solid #f8f9fa;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-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 .custom-file-input:lang(es)~.custom-file-label::after{content:"Elegir"}.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-top:0;margin-bottom: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}.modal{z-index:1072}.modal .popover,.modal .tooltip{z-index:1073}.modal-backdrop{z-index:1071}.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-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}.scrollspy-example-2{position:relative;height:350px;overflow:auto}.bd-example-border-utils [class^=border]{display:inline-block;width:5rem;height:5rem;margin:.25rem;background-color:#f5f5f5}.bd-example-border-utils-0 [class^=border]{border:1px solid #dee2e6}.highlight{padding:1rem;margin-top:1rem;margin-bottom:1rem;background-color:#f8f9fa;-ms-overflow-style:-ms-autohiding-scrollbar}@media (min-width:576px){.highlight{padding:1.5rem}}.bd-content .highlight{margin-right:-15px;margin-left:-15px}@media (min-width:576px){.bd-content .highlight{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:#212529}.btn-bd-primary{font-weight:500;color:#7952b3;border-color:#7952b3}.btn-bd-primary:active,.btn-bd-primary:hover{color:#fff;background-color:#7952b3;border-color:#7952b3}.btn-bd-primary:focus{box-shadow:0 0 0 3px rgba(121,82,179,.25)}.btn-bd-download{font-weight:500;color:#ffe484;border-color:#ffe484}.btn-bd-download:active,.btn-bd-download:hover{color:#2a2730;background-color:#ffe484;border-color:#ffe484}.btn-bd-download:focus{box-shadow:0 0 0 3px rgba(255,228,132,.25)}.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-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:#cbbde2}.color-swatches .bd-purple-lighter{background-color:#e5e1ea}.color-swatches .bd-gray{background-color:#f9f9f9}.swatch-blue{color:#fff;background-color:#007bff}.swatch-indigo{color:#fff;background-color:#6610f2}.swatch-purple{color:#fff;background-color:#6f42c1}.swatch-pink{color:#fff;background-color:#e83e8c}.swatch-red{color:#fff;background-color:#dc3545}.swatch-orange{color:#212529;background-color:#fd7e14}.swatch-yellow{color:#212529;background-color:#ffc107}.swatch-green{color:#fff;background-color:#28a745}.swatch-teal{color:#fff;background-color:#20c997}.swatch-cyan{color:#fff;background-color:#17a2b8}.swatch-white{color:#212529;background-color:#fff}.swatch-gray{color:#fff;background-color:#6c757d}.swatch-gray-dark{color:#fff;background-color:#343a40}.swatch-primary{color:#fff;background-color:#007bff}.swatch-secondary{color:#fff;background-color:#6c757d}.swatch-success{color:#fff;background-color:#28a745}.swatch-info{color:#fff;background-color:#17a2b8}.swatch-warning{color:#212529;background-color:#ffc107}.swatch-danger{color:#fff;background-color:#dc3545}.swatch-light{color:#212529;background-color:#f8f9fa}.swatch-dark{color:#fff;background-color:#343a40}.swatch-100{color:#212529;background-color:#f8f9fa}.swatch-200{color:#212529;background-color:#e9ecef}.swatch-300{color:#212529;background-color:#dee2e6}.swatch-400{color:#212529;background-color:#ced4da}.swatch-500{color:#212529;background-color:#adb5bd}.swatch-600{color:#fff;background-color:#6c757d}.swatch-700{color:#fff;background-color:#495057}.swatch-800{color:#fff;background-color:#343a40}.swatch-900{color:#fff;background-color:#212529}.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,.language-sh::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{font-weight:400;color:rgba(0,123,255,.5);transition:color .16s linear}.anchorjs-link:hover{color:#007bff;text-decoration:none}.algolia-autocomplete{display:block!important;-ms-flex:1;flex:1}.algolia-autocomplete .ds-dropdown-menu{width:100%;min-width:0!important;max-width:none!important;padding:.75rem 0!important;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.175)}@media (min-width:768px){.algolia-autocomplete .ds-dropdown-menu{width:175%}}.algolia-autocomplete .ds-dropdown-menu::before{display:none!important}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{padding:0!important;overflow:visible!important;background-color:transparent!important;border:0!important}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{margin-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion{padding:0!important;overflow:visible!important}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{padding:.125rem 1rem!important;margin-top:0!important;font-size:.875rem!important;font-weight:500!important;color:#7952b3!important;border-bottom:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{float:none!important;padding-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:none!important;width:auto!important;padding:0!important;text-align:left!important}.algolia-autocomplete .algolia-docsearch-suggestion--content{float:none!important;width:auto!important;padding:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--content::before{display:none!important}.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header{padding-top:.75rem!important;margin-top:.75rem!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column{display:none!important}.algolia-autocomplete .algolia-docsearch-suggestion--title{display:block;padding:.25rem 1rem!important;margin-bottom:0!important;font-size:.875rem!important;font-weight:400!important}.algolia-autocomplete .algolia-docsearch-suggestion--text{padding:0 1rem .5rem!important;margin-top:-.25rem;font-size:.875rem!important;font-weight:400;line-height:1.25!important}.algolia-autocomplete .algolia-docsearch-footer{float:none!important;width:auto!important;height:auto!important;padding:.75rem 1rem 0;font-size:.75rem!important;line-height:1!important;color:#767676!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .algolia-docsearch-footer--logo{display:inline!important;overflow:visible!important;color:inherit!important;text-indent:0!important;background:0 0!important}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#5f2dab;background-color:rgba(154,132,187,.12)}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:inset 0 -2px 0 0 rgba(95,45,171,.5)!important}.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content{background-color:rgba(208,189,236,.15)!important}
-/*# sourceMappingURL=docs.min.css.map */ \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/css/docs.min.css.map b/vendor/twbs/bootstrap/site/docs/4.1/assets/css/docs.min.css.map
deleted file mode 100644
index ff148d83d..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/css/docs.min.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../scss/docs.scss","../scss/_nav.scss","../../../../../scss/mixins/_breakpoints.scss","../scss/_masthead.scss","../scss/_ads.scss","../scss/_content.scss","site/docs/4.1/assets/css/docs.min.css","../scss/_skiplink.scss","../scss/_sidebar.scss","../scss/_footer.scss","../scss/_component-examples.scss","../../../../../scss/mixins/_grid.scss","../../../../../scss/mixins/_clearfix.scss","../scss/_buttons.scss","../scss/_callouts.scss","../scss/_examples.scss","../scss/_browser-bugs.scss","../scss/_brand.scss","../scss/_colors.scss","../scss/_clipboard-js.scss","../scss/_syntax.scss","../scss/_anchor.scss","../scss/_algolia.scss"],"names":[],"mappings":"AAAA;;;;;;ACIA,WACE,WAAA,KACA,iBAAA,QACA,WAAA,EAAA,MAAA,KAAA,eAAA,CAAA,MAAA,EAAA,KAAA,EAAA,eCkEE,4BDrEJ,WAMI,cAAA,MACA,aAAA,MAPJ,8BAUM,UAAA,KACA,OAAA,OACA,WAAA,OACA,SAAA,OACA,UAAA,QAdN,0CAiBQ,eAAA,KACA,WAAA,KACA,YAAA,OACA,2BAAA,OCoCJ,yBD9B4B,2DA1BhC,WA2BM,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,OA7BN,iCAmCM,cAAA,MACA,aAAA,MACA,MAAA,QArCN,wCAAA,uCAyCQ,MAAA,KACA,iBAAA,YA1CR,wCA8CQ,YAAA,IA9CR,2BAoDI,QAAA,aACA,MAAA,KACA,OAAA,KACA,eAAA,SAvDJ,0BA2DI,UAAA,QA3DJ,iCA+DI,YAAA,IACA,MAAA,QACA,iBAAA,YACA,iBAAA,wPACA,kBAAA,UACA,oBAAA,MAAA,MACA,gBAAA,OAAA,OEvEJ,aACE,SAAA,SACA,QAAA,KAAA,KAFF,gBAMI,YAAA,EANJ,kBAUI,MAAA,KACA,QAAA,MAAA,KACA,UAAA,QACA,YAAA,IAbJ,uBAiBI,WAAA,YACA,cAAA,gBDwCA,yBC1DJ,aAsBI,YAAA,KACA,eAAA,KAvBJ,uBA0BM,cAAA,aDgCF,yBC1DJ,gBAgCM,UAAA,KAhCN,uBAoCM,WAAA,gBAKN,WACE,MAAA,KACA,OAAA,OAAA,EAGF,iCACkB,QAAA,KADlB,8BAII,QAAA,MAAA,EACA,iBAAA,YC/CJ,WACE,SAAA,OACA,QAAA,MACA,UAAA,MACA,QAAA,KAAA,KAAA,KAAA,MACA,OAAA,KAAA,EACA,SAAA,OACA,UAAA,KACA,YAAA,IACA,WAAA,KACA,iBAAA,gBAVF,aAaI,MAAA,KACA,gBAAA,KFwCA,yBEtDJ,WAkBI,UAAA,MACA,cAAA,KAIJ,YACE,MAAA,KACA,YAAA,OAGF,kBACE,QAAA,MACA,MAAA,eC9BF,YACE,eAAA,EAAA,MAAA,EADF,mBCyKA,mBACA,mBDnKI,eAAA,KCwKJ,qBD/KA,uBCiLA,qBADA,uBAGA,qBADA,uBDvKM,eAAA,KAXN,2BCwLA,2BACA,2BD1KM,QAAA,MACA,OAAA,KACA,WAAA,MACA,WAAA,OACA,QAAA,GAnBN,kBAwBI,MAAA,KACA,UAAA,KACA,cAAA,KHyCA,4BGnEJ,kBA6BM,QAAA,MACA,WAAA,KACA,mBAAA,yBA/BN,iCAkCQ,OAAA,GCmLR,8BADA,8BAGA,8BADA,8BAHA,8BDnNA,8BA6CU,QAAA,OACA,eAAA,IACA,OAAA,IAAA,MAAA,QCiLV,2CADA,2CAGA,2CADA,2CAHA,2CD9NA,2CAkDY,cAAA,EAlDZ,sCA0DM,YAAA,OASN,iCAEI,WAAA,KAFJ,eAMI,WAAA,OC0KJ,kBDhLA,kBAWI,cAAA,OHxBA,yBImMF,eACA,cDvLF,eAkBM,UAAA,KAKN,UACE,WAAA,KACA,cAAA,MACA,YAAA,IHvCE,yBGoCJ,UAMI,UAAA,MAIJ,SACE,UAAA,SACA,YAAA,IHhDE,yBG8CJ,SAKI,UAAA,IACA,cAAA,KACA,UAAA,QAIJ,gBAAkB,MAAA,QAClB,uBAAyB,MAAA,QEpHzB,QACE,QAAA,MACA,QAAA,IACA,MAAA,KACA,iBAAA,QACA,QAAA,EALF,uBAQI,QAAA,KACA,QAAA,IAAA,OCLJ,QAOE,eAAA,EAAA,MAAA,EACA,YAAA,OACA,eAAA,OACA,UAAA,QAT4B,2DAD9B,QAEI,SAAA,eAAA,SAAA,OACA,IAAA,KACA,OAAA,mBACA,WAAA,MAQJ,aACE,aAAA,EACA,YAAA,IAAA,MAAA,KAFF,gBAKI,aAAA,KALJ,mBAQM,QAAA,KAKN,WACE,QAAA,MADF,aAII,QAAA,MACA,QAAA,QAAA,OACA,MAAA,QANJ,mBASM,MAAA,QACA,gBAAA,KASN,YACE,eAAA,EAAA,MAAA,EAEA,cAAA,IAAA,MAAA,eNME,yBMTJ,YAYI,aAAA,IAAA,MAAA,eAN4B,2DANhC,YAOM,SAAA,eAAA,SAAA,OACA,IAAA,KACA,QAAA,KACA,OAAA,qBNDF,0BMTJ,YAgBI,SAAA,EAAA,EAAA,MAAA,KAAA,EAAA,EAAA,OAIJ,UACE,YAAA,KACA,eAAA,KACA,aAAA,MACA,YAAA,MNfE,yBMkB4B,2DAPhC,UAQM,WAAA,mBACA,WAAA,ONpBF,yBMWJ,UAeI,QAAA,iBAIJ,WACE,SAAA,SACA,QAAA,KAAA,KACA,aAAA,MACA,YAAA,MACA,cAAA,IAAA,MAAA,gBALF,+BAQI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,IAAA,qBAIJ,uBACE,YAAA,EACA,MAAA,QAGF,YACE,QAAA,KAGF,aACE,QAAA,MACA,QAAA,OAAA,OACA,YAAA,IACA,MAAA,gBAJF,mBAOI,MAAA,gBACA,gBAAA,KAIJ,oBAEI,cAAA,KAFJ,sCAKM,WAAA,KALN,iCASM,MAAA,gBATN,uCAYQ,iBAAA,YAZR,gCAiBM,QAAA,MAMN,sBACE,QAAA,MACA,QAAA,OAAA,OACA,UAAA,IACA,MAAA,gBAGF,4BACE,MAAA,gBACA,gBAAA,KACA,iBAAA,YF0TF,iCEvTA,2BAEE,YAAA,IACA,MAAA,gBACA,iBAAA,YChKF,WACE,UAAA,IACA,WAAA,OACA,iBAAA,QAHF,aAMI,YAAA,IACA,MAAA,QAPJ,mBAAA,mBAWM,MAAA,QAXN,aAgBI,cAAA,EPwCA,yBOxDJ,WAoBI,WAAA,MAIJ,iBACE,aAAA,EACA,cAAA,KAFF,oBAKI,QAAA,aALJ,uBAQM,YAAA,KC9BN,0BJ8fA,mCI1fM,YAAA,OACA,eAAA,OACA,iBAAA,oBACA,OAAA,IAAA,MAAA,mBAPN,0BAYI,WAAA,KJ+fJ,mCADA,mCI1gBA,gCAkBI,WAAA,KACA,iBAAA,iBAIJ,+BACE,WAAA,MACA,iBAAA,iBAGF,cACE,iBAAA,oBACA,OAAA,IAAA,MAAA,oBAIF,mBACE,MAAA,MCpCA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KDoCF,aCtBE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,MACA,YAAA,MDuBF,sBCnBE,SAAA,SAIA,MAAA,KACA,WAAA,IACA,cAAA,KACA,aAAA,KTuBE,yBQXJ,sBCRE,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,KTeE,yBQXJ,sBCRE,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,YDgBF,2BC/BE,SAAA,SAIA,MAAA,KACA,WAAA,IACA,cAAA,KACA,aAAA,KTuBE,yBQCJ,2BCpBE,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,KTeE,yBQCJ,2BCpBE,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,YDiCF,sBACE,UAAA,MACA,UAAA,MACA,aAAA,KACA,YAAA,KAGF,6BACE,OAAA,KACA,cAAA,MACA,iBAAA,KACA,cAAA,OAGF,8BACE,MAAA,MACA,MAAA,KACA,OAAA,KACA,iBAAA,QACA,cAAA,OAGF,2BACE,OAAA,KACA,aAAA,OACA,iBAAA,QACA,cAAA,OAGF,4BACE,UAAA,KAQF,YACE,SAAA,SACA,QAAA,KACA,OAAA,KAAA,MAAA,EACA,OAAA,MAAA,QACA,aAAA,MAAA,EAAA,EExHA,mBACE,QAAA,MACA,MAAA,KACA,QAAA,GVwDA,yBQwDJ,YASI,QAAA,OACA,aAAA,EACA,YAAA,EACA,aAAA,OJ2hBJ,kCIviBA,uBAiBI,WAAA,EAjBJ,cAqBI,WAAA,KArBJ,qBAyBI,SAAA,SACA,OAAA,MRlFA,yBQwDJ,qBA6BM,OAAA,SA7BN,kEAkCI,QAAA,SAlCJ,wCAuCM,WAAA,MJ4hBN,0BInkBA,sBJokBA,4BAEA,2BADA,gCIrhBI,WAAA,KAhDJ,uCAoDI,SAAA,OACA,QAAA,MArDJ,mCAyDI,cAAA,EAzDJ,mBA6DI,MAAA,KAKJ,mCAGM,MAAA,KACA,eAAA,OAJN,2BAOM,QAAA,KAAA,EACA,aAAA,KARN,0CAWM,WAAA,EAXN,oBJoiBA,oBACA,oBACA,oBACA,oBACA,oBInhBI,WAAA,EACA,cAAA,EAKJ,yBACE,QAAA,KAIF,oBAEI,YAAA,MAKJ,uBAEI,WAAA,OACA,cAAA,OAHJ,sCAMI,WAAA,MJkhBJ,6DI7gBA,kCAEE,WAAA,MAEF,8BACE,cAAA,MAEF,kCACE,OAAA,SAIF,wBACE,UAAA,MAIF,uBJ6gBA,wBI1gBI,SAAA,OACA,OAAA,MAAA,MAAA,KAJJ,0BAOI,SAAA,OACA,OAAA,KAAA,MAAA,MRrMA,yBQ6LJ,uBJyhBE,wBI3gBI,OAAA,QAAA,QAAA,KAdN,0BAiBM,OAAA,KAAA,QAAA,SAMN,wBACE,WAAA,MACA,cAAA,MAIF,OACE,QAAA,KJ6gBF,gBI9gBA,gBAKI,QAAA,KAIJ,gBACE,QAAA,KAGF,kBACE,iBAAA,QADF,yBAII,SAAA,SACA,IAAA,KACA,MAAA,KACA,OAAA,KACA,KAAA,KACA,QAAA,EACA,QAAA,MAVJ,gCAcI,KAAA,KACA,aAAA,KACA,YAAA,KAKJ,2BACE,cAAA,KAIF,2BACE,eAAA,OACA,iBAAA,QAFF,oCAKI,SAAA,SACA,QAAA,MACA,MAAA,KACA,MAAA,MACA,OAAA,QAKJ,gBACE,YAAA,OAGF,oCACE,SAAA,SACA,QAAA,aACA,OAAA,KAAA,KACA,QAAA,EAIF,mBACE,SAAA,SACA,OAAA,MACA,WAAA,MACA,SAAA,KAGF,qBACE,SAAA,SACA,OAAA,MACA,SAAA,KAGF,yCAEI,QAAA,aACA,MAAA,KACA,OAAA,KACA,OAAA,OACA,iBAAA,QAIJ,2CAEI,OAAA,IAAA,MAAA,QAQJ,WACE,QAAA,KACA,WAAA,KACA,cAAA,KACA,iBAAA,QACA,mBAAA,yBRjUE,yBQ4TJ,WAQI,QAAA,QAIJ,uBACE,aAAA,MACA,YAAA,MR1UE,yBQwUJ,uBAKI,aAAA,EACA,YAAA,GAIJ,eAEI,QAAA,EACA,WAAA,EACA,cAAA,EACA,iBAAA,YACA,OAAA,EANJ,oBASI,UAAA,QACA,MAAA,QGpZJ,gBACE,YAAA,IACA,MAAA,QACA,aAAA,QAHF,uBAAA,sBAOI,MAAA,KACA,iBAAA,QACA,aAAA,QATJ,sBAaI,WAAA,EAAA,EAAA,EAAA,IAAA,qBAIJ,iBACE,YAAA,IACA,MAAA,QACA,aAAA,QAHF,wBAAA,uBAOI,MAAA,QACA,iBAAA,QACA,aAAA,QATJ,uBAaI,WAAA,EAAA,EAAA,EAAA,IAAA,sBC9BJ,YACE,QAAA,QACA,WAAA,QACA,cAAA,QACA,OAAA,IAAA,MAAA,KACA,kBAAA,OACA,cAAA,OAGF,eACE,WAAA,EACA,cAAA,OAGF,yBACE,cAAA,EAGF,iBACE,cAAA,OAGF,wBACE,WAAA,QAUF,iBALE,kBAAA,QAEA,oBAAK,MAAA,QAIP,oBANE,kBAAA,QAEA,uBAAK,MAAA,QAKP,mBAPE,kBAAA,QAEA,sBAAK,MAAA,QC9BP,4BACE,cAAA,OAEF,gBACE,cAAA,OAEF,eACE,cAAA,QAGF,yBACE,aACE,aAAA,QACA,YAAA,QAEF,2BACE,cAAA,OACA,aAAA,QCjBJ,sBAEI,cAAA,EAFJ,gCAKI,MAAA,ICFJ,gBACE,QAAA,MACA,MAAA,KACA,cAAA,KACA,SAAA,OACA,MAAA,QACA,iBAAA,QACA,cAAA,OAIF,eACE,QAAA,KAAA,EACA,WAAA,OAEF,8BACE,WAAA,IAAA,MAAA,KAEF,yBACE,MAAA,KACA,iBAAA,QAIF,kBXugCA,kBWrgCE,WAAA,EACA,cAAA,EAEF,4BACE,aAAA,KACA,YAAA,KAmBF,yBACE,eACE,QAAA,WACA,MAAA,GAEF,8BACE,WAAA,EACA,YAAA,IAAA,MAAA,KAEF,kBACE,UAAA,MASJ,gBACE,OAAA,EAAA,KACA,SAAA,OAGF,cACE,MAAA,KACA,MAAA,KACA,OAAA,KACA,aAAA,OACA,YAAA,OACA,cAAA,OAEA,yBARF,cASI,MAAA,KACA,OAAA,MAKJ,2BAEI,iBAAA,QAFJ,iCAKI,iBAAA,QALJ,mCAQI,iBAAA,QARJ,yBAWI,iBAAA,QCtGF,aACE,MAAA,KACA,iBAAA,QAFF,eACE,MAAA,KACA,iBAAA,QAFF,eACE,MAAA,KACA,iBAAA,QAFF,aACE,MAAA,KACA,iBAAA,QAFF,YACE,MAAA,KACA,iBAAA,QAFF,eACE,MAAA,QACA,iBAAA,QAFF,eACE,MAAA,QACA,iBAAA,QAFF,cACE,MAAA,KACA,iBAAA,QAFF,aACE,MAAA,KACA,iBAAA,QAFF,aACE,MAAA,KACA,iBAAA,QAFF,cACE,MAAA,QACA,iBAAA,KAFF,aACE,MAAA,KACA,iBAAA,QAFF,kBACE,MAAA,KACA,iBAAA,QAKF,gBACE,MAAA,KACA,iBAAA,QAFF,kBACE,MAAA,KACA,iBAAA,QAFF,gBACE,MAAA,KACA,iBAAA,QAFF,aACE,MAAA,KACA,iBAAA,QAFF,gBACE,MAAA,QACA,iBAAA,QAFF,eACE,MAAA,KACA,iBAAA,QAFF,cACE,MAAA,QACA,iBAAA,QAFF,aACE,MAAA,KACA,iBAAA,QAKF,YACE,MAAA,QACA,iBAAA,QAFF,YACE,MAAA,QACA,iBAAA,QAFF,YACE,MAAA,QACA,iBAAA,QAFF,YACE,MAAA,QACA,iBAAA,QAFF,YACE,MAAA,QACA,iBAAA,QAFF,YACE,MAAA,KACA,iBAAA,QAFF,YACE,MAAA,KACA,iBAAA,QAFF,YACE,MAAA,KACA,iBAAA,QAFF,YACE,MAAA,KACA,iBAAA,QCjBJ,cACE,SAAA,SACA,QAAA,KACA,MAAA,MAHF,yBAMI,WAAA,EAIJ,eACE,SAAA,SACA,IAAA,MACA,MAAA,MACA,QAAA,GACA,QAAA,MACA,QAAA,OAAA,MACA,UAAA,IACA,MAAA,QACA,OAAA,QACA,iBAAA,YACA,OAAA,EACA,cAAA,OAZF,qBAeI,MAAA,KACA,iBAAA,QAIJ,yBACE,cACE,QAAA,OClCJ,KAAO,iBAAA,KACP,GAAK,MAAA,KACL,GAAK,MAAA,KACL,GAAK,MAAA,KACL,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,iBAAA,KAAwB,OAAA,IAAA,MAAA,KAC9B,IAAM,WAAA,OACN,IAAM,MAAA,IACN,IAAM,MAAA,KACN,IAAM,iBAAA,KAAwB,OAAA,IAAA,MAAA,KAC9B,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,GAAK,MAAA,KACL,GAAK,MAAA,QACL,IAAM,MAAA,QACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,QACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,GAAK,MAAA,KACL,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,WAAA,OAAoB,MAAA,KAC1B,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,Kdk9CN,ach9CA,Qd+8CA,Yc78CiB,MAAA,KAEjB,uBdi9CA,qBc/8CE,MAAA,KACA,QAAA,KACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KAGF,6BACE,MAAA,KACA,QAAA,OACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KC5EF,eACE,YAAA,IACA,MAAA,mBACA,WAAA,MAAA,KAAA,OAHF,qBAMI,MAAA,QACA,gBAAA,KCFJ,sBACE,QAAA,gBACA,SAAA,EAAA,KAAA,EAFF,wCAMI,MAAA,KACA,UAAA,YACA,UAAA,eACA,QAAA,OAAA,YACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,eACA,WAAA,EAAA,MAAA,KAAA,iBpB0CA,yBoBvDJ,wCAgBM,MAAA,MAhBN,gDAqBM,QAAA,eArBN,6DAyBM,QAAA,YACA,SAAA,kBACA,iBAAA,sBACA,OAAA,YA5BN,wDAgCM,WAAA,YAhCN,oDAqCI,QAAA,YACA,SAAA,kBAtCJ,qEA0CI,QAAA,QAAA,eACA,WAAA,YACA,UAAA,kBACA,YAAA,cACA,MAAA,kBACA,cAAA,YA/CJ,6DAmDI,MAAA,eACA,YAAA,YApDJ,wEAyDI,MAAA,eACA,MAAA,eACA,QAAA,YACA,WAAA,eA5DJ,6DAgEI,MAAA,eACA,MAAA,eACA,QAAA,YAlEJ,qEAsEM,QAAA,eAtEN,sGA6EQ,YAAA,iBACA,WAAA,iBACA,WAAA,IAAA,MAAA,eA/ER,uFAoFM,QAAA,eApFN,2DAyFI,QAAA,MACA,QAAA,OAAA,eACA,cAAA,YACA,UAAA,kBACA,YAAA,cA7FJ,0DAiGI,QAAA,EAAA,KAAA,gBACA,WAAA,QACA,UAAA,kBACA,YAAA,IACA,YAAA,eArGJ,gDAyGI,MAAA,eACA,MAAA,eACA,OAAA,eACA,QAAA,OAAA,KAAA,EACA,UAAA,iBACA,YAAA,YACA,MAAA,kBACA,WAAA,IAAA,MAAA,eAhHJ,sDAoHI,QAAA,iBACA,SAAA,kBACA,MAAA,kBACA,YAAA,YACA,WAAA,cAxHJ,+DA4HI,MAAA,QACA,iBAAA,sBA7HJ,mGAiII,WAAA,MAAA,EAAA,KAAA,EAAA,EAAA,6BAjIJ,sFAqII,iBAAA","sourcesContent":["/*!\n * Bootstrap Docs (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License. For\n * details, see https://creativecommons.org/licenses/by/3.0/.\n */\n\n// Dev notes\n//\n// Background information on nomenclature and architecture decisions here.\n//\n// - Bootstrap functions, variables, and mixins are included for easy reuse.\n// Doing so gives us access to the same core utilities provided by Bootstrap.\n// For example, consistent media queries through those mixins.\n//\n// - Bootstrap's **docs variables** are prefixed with `$bd-`.\n// These custom colors avoid collision with the components Bootstrap provides.\n//\n// - Classes are prefixed with `.bd-`.\n// These classes indicate custom-built or modified components for the design\n// and layout of the Bootstrap docs. They are not included in our builds.\n//\n// Happy Bootstrapping!\n\n// Load Bootstrap variables and mixins\n@import \"../../../../../scss/functions\";\n@import \"../../../../../scss/variables\";\n@import \"../../../../../scss/mixins\";\n\n// Load docs components\n@import \"variables\";\n@import \"nav\";\n@import \"masthead\";\n@import \"ads\";\n@import \"content\";\n@import \"skiplink\";\n@import \"sidebar\";\n@import \"footer\";\n@import \"component-examples\";\n@import \"buttons\";\n@import \"callouts\";\n@import \"examples\";\n@import \"browser-bugs\";\n@import \"brand\";\n@import \"colors\";\n@import \"clipboard-js\";\n\n// Load docs dependencies\n@import \"syntax\";\n@import \"anchor\";\n@import \"algolia\";\n","//\n// Main navbar\n//\n\n.bd-navbar {\n min-height: 4rem;\n background-color: $bd-purple;\n box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .05), inset 0 -1px 0 rgba(0, 0, 0, .1);\n\n @include media-breakpoint-down(md) {\n padding-right: .5rem;\n padding-left: .5rem;\n\n .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n font-size: .875rem;\n\n .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n }\n }\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: 1071; // over everything in bootstrap\n }\n }\n\n .navbar-nav {\n .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: $bd-purple-light;\n\n &.active,\n &:hover {\n color: #fff;\n background-color: transparent;\n }\n\n &.active {\n font-weight: 500;\n }\n }\n }\n\n .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n }\n\n .dropdown-menu {\n font-size: .875rem;\n }\n\n .dropdown-item.active {\n font-weight: 500;\n color: $gray-900;\n background-color: transparent;\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='%23292b2c' 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 background-repeat: no-repeat;\n background-position: .4rem .6rem;\n background-size: .75rem .75rem;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02px, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n.bd-masthead {\n position: relative;\n padding: 3rem ($grid-gutter-width / 2);\n // background-image: linear-gradient(45deg, #fafafa, #f5f5f5);\n\n h1 {\n line-height: 1;\n }\n\n .btn {\n width: 100%;\n padding: .8rem 2rem;\n font-size: 1.25rem;\n font-weight: 500;\n }\n\n .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n }\n\n @include media-breakpoint-up(sm) {\n padding-top: 5rem;\n padding-bottom: 5rem;\n\n .carbonad {\n margin-bottom: 0 !important;\n }\n }\n\n @include media-breakpoint-up(md) {\n h1 {\n font-size: 4rem;\n }\n\n .carbonad {\n margin-top: 3rem !important;\n }\n }\n}\n\n.half-rule {\n width: 6rem;\n margin: 2.5rem 0;\n}\n\n.masthead-followup {\n .bd-clipboard { display: none; }\n\n .highlight {\n padding: .5rem 0;\n background-color: transparent;\n }\n}\n","// stylelint-disable declaration-no-important, selector-max-id\n\n//\n// Carbon ads\n//\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n font-size: 13px;\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0, 0, 0, .05);\n\n a {\n color: #333;\n text-decoration: none;\n }\n\n @include media-breakpoint-up(sm) {\n max-width: 330px;\n border-radius: 4px;\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n color: #777 !important;\n}\n","// stylelint-disable no-duplicate-selectors, selector-max-combinators, selector-max-compound-selectors, selector-max-type, selector-no-qualifying-type\n\n//\n// Automatically style Markdown-based tables like a Bootstrap `.table`.\n//\n\n.bd-content {\n order: 1;\n\n // Hack the sticky header\n > h2[id],\n > h3[id],\n > h4[id] {\n pointer-events: none;\n\n > div,\n > a {\n pointer-events: auto;\n }\n\n &::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n visibility: hidden;\n content: \"\";\n }\n }\n\n > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n\n @include media-breakpoint-down(md) {\n display: block;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057\n\n &.table-bordered {\n border: 0;\n }\n }\n\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: $table-cell-padding;\n vertical-align: top;\n border: 1px solid $table-border-color;\n\n > p:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n\n // Prevent breaking of code (e.g., Grunt tasks list)\n td:first-child > code {\n white-space: nowrap;\n }\n }\n}\n\n//\n// Docs sections\n//\n\n.bd-content {\n > h2:not(:first-child) {\n margin-top: 3rem;\n }\n\n > h3 {\n margin-top: 1.5rem;\n }\n\n > ul li,\n > ol li {\n margin-bottom: .25rem;\n }\n\n @include media-breakpoint-up(lg) {\n > ul,\n > ol,\n > p {\n max-width: 80%;\n }\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n font-weight: 300;\n\n @include media-breakpoint-up(sm) {\n font-size: 3rem;\n }\n}\n\n.bd-lead {\n font-size: 1.125rem;\n font-weight: 300;\n\n @include media-breakpoint-up(sm) {\n max-width: 80%;\n margin-bottom: 1rem;\n font-size: 1.5rem;\n }\n}\n\n.bd-text-purple { color: $bd-purple; }\n.bd-text-purple-bright { color: $bd-purple-bright; }\n","/*!\n * Bootstrap Docs (https://getbootstrap.com/)\n * Copyright 2011-2018 The Bootstrap Authors\n * Copyright 2011-2018 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License. For\n * details, see https://creativecommons.org/licenses/by/3.0/.\n */\n.bd-navbar {\n min-height: 4rem;\n background-color: #563d7c;\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n}\n\n@media (max-width: 991.98px) {\n .bd-navbar {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .bd-navbar .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n font-size: .875rem;\n }\n .bd-navbar .navbar-nav-scroll .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-navbar {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1071;\n }\n }\n}\n\n.bd-navbar .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: #cbbde2;\n}\n\n.bd-navbar .navbar-nav .nav-link.active, .bd-navbar .navbar-nav .nav-link:hover {\n color: #fff;\n background-color: transparent;\n}\n\n.bd-navbar .navbar-nav .nav-link.active {\n font-weight: 500;\n}\n\n.bd-navbar .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n}\n\n.bd-navbar .dropdown-menu {\n font-size: .875rem;\n}\n\n.bd-navbar .dropdown-item.active {\n font-weight: 500;\n color: #212529;\n background-color: transparent;\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='%23292b2c' 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 background-repeat: no-repeat;\n background-position: .4rem .6rem;\n background-size: .75rem .75rem;\n}\n\n.bd-masthead {\n position: relative;\n padding: 3rem 15px;\n}\n\n.bd-masthead h1 {\n line-height: 1;\n}\n\n.bd-masthead .btn {\n width: 100%;\n padding: .8rem 2rem;\n font-size: 1.25rem;\n font-weight: 500;\n}\n\n.bd-masthead .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n}\n\n@media (min-width: 576px) {\n .bd-masthead {\n padding-top: 5rem;\n padding-bottom: 5rem;\n }\n .bd-masthead .carbonad {\n margin-bottom: 0 !important;\n }\n}\n\n@media (min-width: 768px) {\n .bd-masthead h1 {\n font-size: 4rem;\n }\n .bd-masthead .carbonad {\n margin-top: 3rem !important;\n }\n}\n\n.half-rule {\n width: 6rem;\n margin: 2.5rem 0;\n}\n\n.masthead-followup .bd-clipboard {\n display: none;\n}\n\n.masthead-followup .highlight {\n padding: .5rem 0;\n background-color: transparent;\n}\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n font-size: 13px;\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n#carbonads a {\n color: #333;\n text-decoration: none;\n}\n\n@media (min-width: 576px) {\n #carbonads {\n max-width: 330px;\n border-radius: 4px;\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n color: #777 !important;\n}\n\n.bd-content {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.bd-content > h2[id],\n.bd-content > h3[id],\n.bd-content > h4[id] {\n pointer-events: none;\n}\n\n.bd-content > h2[id] > div,\n.bd-content > h2[id] > a,\n.bd-content > h3[id] > div,\n.bd-content > h3[id] > a,\n.bd-content > h4[id] > div,\n.bd-content > h4[id] > a {\n pointer-events: auto;\n}\n\n.bd-content > h2[id]::before,\n.bd-content > h3[id]::before,\n.bd-content > h4[id]::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n visibility: hidden;\n content: \"\";\n}\n\n.bd-content > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n@media (max-width: 991.98px) {\n .bd-content > table {\n display: block;\n overflow-x: auto;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n }\n .bd-content > table.table-bordered {\n border: 0;\n }\n}\n\n.bd-content > table > thead > tr > th,\n.bd-content > table > thead > tr > td,\n.bd-content > table > tbody > tr > th,\n.bd-content > table > tbody > tr > td,\n.bd-content > table > tfoot > tr > th,\n.bd-content > table > tfoot > tr > td {\n padding: 0.75rem;\n vertical-align: top;\n border: 1px solid #dee2e6;\n}\n\n.bd-content > table > thead > tr > th > p:last-child,\n.bd-content > table > thead > tr > td > p:last-child,\n.bd-content > table > tbody > tr > th > p:last-child,\n.bd-content > table > tbody > tr > td > p:last-child,\n.bd-content > table > tfoot > tr > th > p:last-child,\n.bd-content > table > tfoot > tr > td > p:last-child {\n margin-bottom: 0;\n}\n\n.bd-content > table td:first-child > code {\n white-space: nowrap;\n}\n\n.bd-content > h2:not(:first-child) {\n margin-top: 3rem;\n}\n\n.bd-content > h3 {\n margin-top: 1.5rem;\n}\n\n.bd-content > ul li,\n.bd-content > ol li {\n margin-bottom: .25rem;\n}\n\n@media (min-width: 992px) {\n .bd-content > ul,\n .bd-content > ol,\n .bd-content > p {\n max-width: 80%;\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n font-weight: 300;\n}\n\n@media (min-width: 576px) {\n .bd-title {\n font-size: 3rem;\n }\n}\n\n.bd-lead {\n font-size: 1.125rem;\n font-weight: 300;\n}\n\n@media (min-width: 576px) {\n .bd-lead {\n max-width: 80%;\n margin-bottom: 1rem;\n font-size: 1.5rem;\n }\n}\n\n.bd-text-purple {\n color: #563d7c;\n}\n\n.bd-text-purple-bright {\n color: #7952b3;\n}\n\n#skippy {\n display: block;\n padding: 1em;\n color: #fff;\n background-color: #563d7c;\n outline: 0;\n}\n\n#skippy .skiplink-text {\n padding: .5em;\n outline: 1px dotted;\n}\n\n.bd-toc {\n -ms-flex-order: 2;\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n font-size: .875rem;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-toc {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n height: calc(100vh - 4rem);\n overflow-y: auto;\n }\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n}\n\n.section-nav ul {\n padding-left: 1rem;\n}\n\n.section-nav ul ul {\n display: none;\n}\n\n.toc-entry {\n display: block;\n}\n\n.toc-entry a {\n display: block;\n padding: .125rem 1.5rem;\n color: #99979c;\n}\n\n.toc-entry a:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.bd-sidebar {\n -ms-flex-order: 0;\n order: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n@media (min-width: 768px) {\n .bd-sidebar {\n border-right: 1px solid rgba(0, 0, 0, 0.1);\n }\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-sidebar {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n z-index: 1000;\n height: calc(100vh - 4rem);\n }\n }\n}\n\n@media (min-width: 1200px) {\n .bd-sidebar {\n -ms-flex: 0 1 320px;\n flex: 0 1 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-links {\n max-height: calc(100vh - 9rem);\n overflow-y: auto;\n }\n }\n}\n\n@media (min-width: 768px) {\n .bd-links {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative;\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.bd-search .form-control:focus {\n border-color: #7952b3;\n box-shadow: 0 0 0 3px rgba(121, 82, 179, 0.25);\n}\n\n.bd-search-docs-toggle {\n line-height: 1;\n color: #212529;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-toc-link:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n}\n\n.bd-toc-item.active {\n margin-bottom: 1rem;\n}\n\n.bd-toc-item.active:not(:first-child) {\n margin-top: 1rem;\n}\n\n.bd-toc-item.active > .bd-toc-link {\n color: rgba(0, 0, 0, 0.85);\n}\n\n.bd-toc-item.active > .bd-toc-link:hover {\n background-color: transparent;\n}\n\n.bd-toc-item.active > .bd-sidenav {\n display: block;\n}\n\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n font-size: 90%;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 500;\n color: rgba(0, 0, 0, 0.85);\n background-color: transparent;\n}\n\n.bd-footer {\n font-size: 85%;\n text-align: center;\n background-color: #f7f7f7;\n}\n\n.bd-footer a {\n font-weight: 500;\n color: #495057;\n}\n\n.bd-footer a:hover, .bd-footer a:focus {\n color: #007bff;\n}\n\n.bd-footer p {\n margin-bottom: 0;\n}\n\n@media (min-width: 576px) {\n .bd-footer {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n}\n\n.bd-footer-links li {\n display: inline-block;\n}\n\n.bd-footer-links li + li {\n margin-left: 1rem;\n}\n\n.bd-example-row .row > .col,\n.bd-example-row .row > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.2);\n}\n\n.bd-example-row .row + .row {\n margin-top: 1rem;\n}\n\n.bd-example-row .flex-items-top,\n.bd-example-row .flex-items-middle,\n.bd-example-row .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-highlight {\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.15);\n}\n\n.example-container {\n width: 800px;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.example-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.example-content-main {\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 .example-content-main {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-main {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n}\n\n.example-content-secondary {\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 .example-content-secondary {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-secondary {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n}\n\n.bd-example-container {\n min-width: 16rem;\n max-width: 25rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-container-header {\n height: 3rem;\n margin-bottom: .5rem;\n background-color: white;\n border-radius: .25rem;\n}\n\n.bd-example-container-sidebar {\n float: right;\n width: 4rem;\n height: 8rem;\n background-color: #80bdff;\n border-radius: .25rem;\n}\n\n.bd-example-container-body {\n height: 8rem;\n margin-right: 4.5rem;\n background-color: #957bbe;\n border-radius: .25rem;\n}\n\n.bd-example-container-fluid {\n max-width: none;\n}\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem -15px 0;\n border: solid #f8f9fa;\n border-width: .2rem 0 0;\n}\n\n.bd-example::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n@media (min-width: 576px) {\n .bd-example {\n padding: 1.5rem;\n margin-right: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n}\n\n.bd-example + .highlight,\n.bd-example + .clipboard + .highlight {\n margin-top: 0;\n}\n\n.bd-example + p {\n margin-top: 2rem;\n}\n\n.bd-example .pos-f-t {\n position: relative;\n margin: -1rem;\n}\n\n@media (min-width: 576px) {\n .bd-example .pos-f-t {\n margin: -1.5rem;\n }\n}\n\n.bd-example .custom-file-input:lang(es) ~ .custom-file-label::after {\n content: \"Elegir\";\n}\n\n.bd-example > .form-control + .form-control {\n margin-top: .5rem;\n}\n\n.bd-example > .nav + .nav,\n.bd-example > .alert + .alert,\n.bd-example > .navbar + .navbar,\n.bd-example > .progress + .progress,\n.bd-example > .progress + .btn {\n margin-top: 1rem;\n}\n\n.bd-example > .dropdown-menu:first-child {\n position: static;\n display: block;\n}\n\n.bd-example > .form-group:last-child {\n margin-bottom: 0;\n}\n\n.bd-example > .close {\n float: none;\n}\n\n.bd-example-type .table .type-info {\n color: #999;\n vertical-align: middle;\n}\n\n.bd-example-type .table td {\n padding: 1rem 0;\n border-color: #eee;\n}\n\n.bd-example-type .table tr:first-child td {\n border-top: 0;\n}\n\n.bd-example-type h1,\n.bd-example-type h2,\n.bd-example-type h3,\n.bd-example-type h4,\n.bd-example-type h5,\n.bd-example-type h6 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n.bd-example > img + img {\n margin-left: .5rem;\n}\n\n.bd-example > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.bd-example > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n}\n\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n.bd-example > .list-group {\n max-width: 400px;\n}\n\n.bd-example .fixed-top,\n.bd-example .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n}\n\n.bd-example .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n}\n\n@media (min-width: 576px) {\n .bd-example .fixed-top,\n .bd-example .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .bd-example .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n}\n\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.modal {\n z-index: 1072;\n}\n\n.modal .tooltip,\n.modal .popover {\n z-index: 1073;\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n.bd-example-modal {\n background-color: #fafafa;\n}\n\n.bd-example-modal .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n}\n\n.bd-example-modal .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n}\n\n.bd-example-popover-static .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n}\n\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n}\n\n.bd-example-border-utils-0 [class^=\"border\"] {\n border: 1px solid #dee2e6;\n}\n\n.highlight {\n padding: 1rem;\n margin-top: 1rem;\n margin-bottom: 1rem;\n background-color: #f8f9fa;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n@media (min-width: 576px) {\n .highlight {\n padding: 1.5rem;\n }\n}\n\n.bd-content .highlight {\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .bd-content .highlight {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.highlight pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n}\n\n.highlight pre code {\n font-size: inherit;\n color: #212529;\n}\n\n.btn-bd-primary {\n font-weight: 500;\n color: #7952b3;\n border-color: #7952b3;\n}\n\n.btn-bd-primary:hover, .btn-bd-primary:active {\n color: #fff;\n background-color: #7952b3;\n border-color: #7952b3;\n}\n\n.btn-bd-primary:focus {\n box-shadow: 0 0 0 3px rgba(121, 82, 179, 0.25);\n}\n\n.btn-bd-download {\n font-weight: 500;\n color: #ffe484;\n border-color: #ffe484;\n}\n\n.btn-bd-download:hover, .btn-bd-download:active {\n color: #2a2730;\n background-color: #ffe484;\n border-color: #ffe484;\n}\n\n.btn-bd-download:focus {\n box-shadow: 0 0 0 3px rgba(255, 228, 132, 0.25);\n}\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n border-radius: .25rem;\n}\n\n.bd-callout h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n}\n\n.bd-callout p:last-child {\n margin-bottom: 0;\n}\n\n.bd-callout code {\n border-radius: .25rem;\n}\n\n.bd-callout + .bd-callout {\n margin-top: -.25rem;\n}\n\n.bd-callout-info {\n border-left-color: #5bc0de;\n}\n\n.bd-callout-info h4 {\n color: #5bc0de;\n}\n\n.bd-callout-warning {\n border-left-color: #f0ad4e;\n}\n\n.bd-callout-warning h4 {\n color: #f0ad4e;\n}\n\n.bd-callout-danger {\n border-left-color: #d9534f;\n}\n\n.bd-callout-danger h4 {\n color: #d9534f;\n}\n\n.bd-examples .img-thumbnail {\n margin-bottom: .75rem;\n}\n\n.bd-examples h4 {\n margin-bottom: .25rem;\n}\n\n.bd-examples p {\n margin-bottom: 1.25rem;\n}\n\n@media (max-width: 480px) {\n .bd-examples {\n margin-right: -.75rem;\n margin-left: -.75rem;\n }\n .bd-examples > [class^=\"col-\"] {\n padding-right: .75rem;\n padding-left: .75rem;\n }\n}\n\n.bd-browser-bugs td p {\n margin-bottom: 0;\n}\n\n.bd-browser-bugs th:first-child {\n width: 18%;\n}\n\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: #563d7c;\n background-color: #f9f9f9;\n border-radius: .25rem;\n}\n\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n}\n\n.bd-brand-item + .bd-brand-item {\n border-top: 1px solid #fff;\n}\n\n.bd-brand-logos .inverse {\n color: #fff;\n background-color: #563d7c;\n}\n\n.bd-brand-item h1,\n.bd-brand-item h3 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.bd-brand-item .bd-booticon {\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 768px) {\n .bd-brand-item {\n display: table-cell;\n width: 1%;\n }\n .bd-brand-item + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid #fff;\n }\n .bd-brand-item h1 {\n font-size: 4rem;\n }\n}\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden;\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n border-radius: .25rem;\n}\n\n@media (min-width: 768px) {\n .color-swatch {\n width: 6rem;\n height: 6rem;\n }\n}\n\n.color-swatches .bd-purple {\n background-color: #563d7c;\n}\n\n.color-swatches .bd-purple-light {\n background-color: #cbbde2;\n}\n\n.color-swatches .bd-purple-lighter {\n background-color: #e5e1ea;\n}\n\n.color-swatches .bd-gray {\n background-color: #f9f9f9;\n}\n\n.swatch-blue {\n color: #fff;\n background-color: #007bff;\n}\n\n.swatch-indigo {\n color: #fff;\n background-color: #6610f2;\n}\n\n.swatch-purple {\n color: #fff;\n background-color: #6f42c1;\n}\n\n.swatch-pink {\n color: #fff;\n background-color: #e83e8c;\n}\n\n.swatch-red {\n color: #fff;\n background-color: #dc3545;\n}\n\n.swatch-orange {\n color: #212529;\n background-color: #fd7e14;\n}\n\n.swatch-yellow {\n color: #212529;\n background-color: #ffc107;\n}\n\n.swatch-green {\n color: #fff;\n background-color: #28a745;\n}\n\n.swatch-teal {\n color: #fff;\n background-color: #20c997;\n}\n\n.swatch-cyan {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.swatch-white {\n color: #212529;\n background-color: #fff;\n}\n\n.swatch-gray {\n color: #fff;\n background-color: #6c757d;\n}\n\n.swatch-gray-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.swatch-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.swatch-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.swatch-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.swatch-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.swatch-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.swatch-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.swatch-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-100 {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.swatch-200 {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.swatch-300 {\n color: #212529;\n background-color: #dee2e6;\n}\n\n.swatch-400 {\n color: #212529;\n background-color: #ced4da;\n}\n\n.swatch-500 {\n color: #212529;\n background-color: #adb5bd;\n}\n\n.swatch-600 {\n color: #fff;\n background-color: #6c757d;\n}\n\n.swatch-700 {\n color: #fff;\n background-color: #495057;\n}\n\n.swatch-800 {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-900 {\n color: #fff;\n background-color: #212529;\n}\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n}\n\n.bd-clipboard + .highlight {\n margin-top: 0;\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n font-size: 75%;\n color: #818a91;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: .25rem;\n}\n\n.btn-clipboard:hover {\n color: #fff;\n background-color: #027de7;\n}\n\n@media (min-width: 768px) {\n .bd-clipboard {\n display: block;\n }\n}\n\n.hll {\n background-color: #ffc;\n}\n\n.c {\n color: #999;\n}\n\n.k {\n color: #069;\n}\n\n.o {\n color: #555;\n}\n\n.cm {\n color: #999;\n}\n\n.cp {\n color: #099;\n}\n\n.c1 {\n color: #999;\n}\n\n.cs {\n color: #999;\n}\n\n.gd {\n background-color: #fcc;\n border: 1px solid #c00;\n}\n\n.ge {\n font-style: italic;\n}\n\n.gr {\n color: #f00;\n}\n\n.gh {\n color: #030;\n}\n\n.gi {\n background-color: #cfc;\n border: 1px solid #0c0;\n}\n\n.go {\n color: #aaa;\n}\n\n.gp {\n color: #009;\n}\n\n.gu {\n color: #030;\n}\n\n.gt {\n color: #9c6;\n}\n\n.kc {\n color: #069;\n}\n\n.kd {\n color: #069;\n}\n\n.kn {\n color: #069;\n}\n\n.kp {\n color: #069;\n}\n\n.kr {\n color: #069;\n}\n\n.kt {\n color: #078;\n}\n\n.m {\n color: #f60;\n}\n\n.s {\n color: #d44950;\n}\n\n.na {\n color: #4f9fcf;\n}\n\n.nb {\n color: #366;\n}\n\n.nc {\n color: #0a8;\n}\n\n.no {\n color: #360;\n}\n\n.nd {\n color: #99f;\n}\n\n.ni {\n color: #999;\n}\n\n.ne {\n color: #c00;\n}\n\n.nf {\n color: #c0f;\n}\n\n.nl {\n color: #99f;\n}\n\n.nn {\n color: #0cf;\n}\n\n.nt {\n color: #2f6f9f;\n}\n\n.nv {\n color: #033;\n}\n\n.ow {\n color: #000;\n}\n\n.w {\n color: #bbb;\n}\n\n.mf {\n color: #f60;\n}\n\n.mh {\n color: #f60;\n}\n\n.mi {\n color: #f60;\n}\n\n.mo {\n color: #f60;\n}\n\n.sb {\n color: #c30;\n}\n\n.sc {\n color: #c30;\n}\n\n.sd {\n font-style: italic;\n color: #c30;\n}\n\n.s2 {\n color: #c30;\n}\n\n.se {\n color: #c30;\n}\n\n.sh {\n color: #c30;\n}\n\n.si {\n color: #a00;\n}\n\n.sx {\n color: #c30;\n}\n\n.sr {\n color: #3aa;\n}\n\n.s1 {\n color: #c30;\n}\n\n.ss {\n color: #fc3;\n}\n\n.bp {\n color: #366;\n}\n\n.vc {\n color: #033;\n}\n\n.vg {\n color: #033;\n}\n\n.vi {\n color: #033;\n}\n\n.il {\n color: #f60;\n}\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt {\n color: #999;\n}\n\n.language-bash::before,\n.language-sh::before {\n color: #009;\n content: \"$ \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.language-powershell::before {\n color: #009;\n content: \"PM> \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.anchorjs-link {\n font-weight: 400;\n color: rgba(0, 123, 255, 0.5);\n transition: color .16s linear;\n}\n\n.anchorjs-link:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.algolia-autocomplete {\n display: block !important;\n -ms-flex: 1;\n flex: 1;\n}\n\n.algolia-autocomplete .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175);\n}\n\n@media (min-width: 768px) {\n .algolia-autocomplete .ds-dropdown-menu {\n width: 175%;\n }\n}\n\n.algolia-autocomplete .ds-dropdown-menu::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu [class^=\"ds-dataset-\"] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu .ds-suggestions {\n margin-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n font-size: .875rem !important;\n font-weight: 500 !important;\n color: #7952b3 !important;\n border-bottom: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--title {\n display: block;\n padding: .25rem 1rem !important;\n margin-bottom: 0 !important;\n font-size: .875rem !important;\n font-weight: 400 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text {\n padding: 0 1rem .5rem !important;\n margin-top: -.25rem;\n font-size: .875rem !important;\n font-weight: 400;\n line-height: 1.25 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n font-size: .75rem !important;\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, 0.12);\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95, 45, 171, 0.5) !important;\n}\n\n.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208, 189, 236, 0.15) !important;\n}\n/*# sourceMappingURL=docs.min.css.map */","// stylelint-disable selector-max-id\n\n#skippy {\n display: block;\n padding: 1em;\n color: #fff;\n background-color: $bd-purple;\n outline: 0;\n\n .skiplink-text {\n padding: .5em;\n outline: 1px dotted;\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Right side table of contents\n//\n\n.bd-toc {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n height: calc(100vh - 4rem);\n overflow-y: auto;\n }\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n font-size: .875rem;\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n\n ul {\n padding-left: 1rem;\n\n ul {\n display: none;\n }\n }\n}\n\n.toc-entry {\n display: block;\n\n a {\n display: block;\n padding: .125rem 1.5rem;\n color: #99979c;\n\n &:hover {\n color: $blue;\n text-decoration: none;\n }\n }\n}\n\n//\n// Left side navigation\n//\n\n.bd-sidebar {\n order: 0;\n // background-color: #f5f2f9;\n border-bottom: 1px solid rgba(0, 0, 0, .1);\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n z-index: 1000;\n height: calc(100vh - 4rem);\n }\n border-right: 1px solid rgba(0, 0, 0, .1);\n }\n\n @include media-breakpoint-up(xl) {\n flex: 0 1 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n max-height: calc(100vh - 9rem);\n overflow-y: auto;\n }\n }\n\n // Override collapse behaviors\n @include media-breakpoint-up(md) {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative; // To contain the Algolia search\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0, 0, 0, .05);\n\n .form-control:focus {\n border-color: $bd-purple-bright;\n box-shadow: 0 0 0 3px rgba($bd-purple-bright, .25);\n }\n}\n\n.bd-search-docs-toggle {\n line-height: 1;\n color: $gray-900;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 500;\n color: rgba(0, 0, 0, .65);\n\n &:hover {\n color: rgba(0, 0, 0, .85);\n text-decoration: none;\n }\n}\n\n.bd-toc-item {\n &.active {\n margin-bottom: 1rem;\n\n &:not(:first-child) {\n margin-top: 1rem;\n }\n\n > .bd-toc-link {\n color: rgba(0, 0, 0, .85);\n\n &:hover {\n background-color: transparent;\n }\n }\n\n > .bd-sidenav {\n display: block;\n }\n }\n}\n\n// All levels of nav\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n font-size: 90%;\n color: rgba(0, 0, 0, .65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0, 0, 0, .85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 500;\n color: rgba(0, 0, 0, .85);\n background-color: transparent;\n}\n","//\n// Footer\n//\n\n.bd-footer {\n font-size: 85%;\n text-align: center;\n background-color: #f7f7f7;\n\n a {\n font-weight: 500;\n color: $gray-700;\n\n &:hover,\n &:focus {\n color: $link-color;\n }\n }\n\n p {\n margin-bottom: 0;\n }\n\n @include media-breakpoint-up(sm) {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n\n li {\n display: inline-block;\n\n + li {\n margin-left: 1rem;\n }\n }\n}\n","// stylelint-disable no-duplicate-selectors, selector-no-qualifying-type\n\n//\n// Grid examples\n//\n\n.bd-example-row {\n .row {\n > .col,\n > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, .15);\n border: 1px solid rgba(86, 61, 124, .2);\n }\n }\n\n .row + .row {\n margin-top: 1rem;\n }\n\n .flex-items-top,\n .flex-items-middle,\n .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255, 0, 0, .1);\n }\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255, 0, 0, .1);\n}\n\n.bd-highlight {\n background-color: rgba($bd-purple, .15);\n border: 1px solid rgba($bd-purple, .15);\n}\n\n// Grid mixins\n.example-container {\n width: 800px;\n @include make-container();\n}\n\n.example-row {\n @include make-row();\n}\n\n.example-content-main {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(8);\n }\n}\n\n.example-content-secondary {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(4);\n }\n}\n\n\n//\n// Container illustrations\n//\n\n.bd-example-container {\n min-width: 16rem;\n max-width: 25rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-container-header {\n height: 3rem;\n margin-bottom: .5rem;\n background-color: lighten($blue, 50%);\n border-radius: .25rem;\n}\n\n.bd-example-container-sidebar {\n float: right;\n width: 4rem;\n height: 8rem;\n background-color: lighten($blue, 25%);\n border-radius: .25rem;\n}\n\n.bd-example-container-body {\n height: 8rem;\n margin-right: 4.5rem;\n background-color: lighten($bd-purple, 25%);\n border-radius: .25rem;\n}\n\n.bd-example-container-fluid {\n max-width: none;\n}\n\n\n//\n// Docs examples\n//\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem (-$grid-gutter-width / 2) 0;\n border: solid $gray-100;\n border-width: .2rem 0 0;\n @include clearfix();\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n margin-right: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n\n + .highlight,\n + .clipboard + .highlight {\n margin-top: 0;\n }\n\n + p {\n margin-top: 2rem;\n }\n\n .pos-f-t {\n position: relative;\n margin: -1rem;\n\n @include media-breakpoint-up(sm) {\n margin: -1.5rem;\n }\n }\n\n .custom-file-input:lang(es) ~ .custom-file-label::after {\n content: \"Elegir\";\n }\n\n > .form-control {\n + .form-control {\n margin-top: .5rem;\n }\n }\n\n > .nav + .nav,\n > .alert + .alert,\n > .navbar + .navbar,\n > .progress + .progress,\n > .progress + .btn {\n margin-top: 1rem;\n }\n\n > .dropdown-menu:first-child {\n position: static;\n display: block;\n }\n\n > .form-group:last-child {\n margin-bottom: 0;\n }\n\n > .close {\n float: none;\n }\n}\n\n// Typography\n.bd-example-type {\n .table {\n .type-info {\n color: #999;\n vertical-align: middle;\n }\n td {\n padding: 1rem 0;\n border-color: #eee;\n }\n tr:first-child td {\n border-top: 0;\n }\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n margin-bottom: 0;\n }\n}\n\n// Contextual background colors\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n// Images\n.bd-example > img {\n + img {\n margin-left: .5rem;\n }\n}\n\n// Buttons\n.bd-example {\n > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n }\n > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n }\n}\n\n// Forms\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n// List groups\n.bd-example > .list-group {\n max-width: 400px;\n}\n\n// Navbars\n.bd-example {\n .fixed-top,\n .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n }\n .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n }\n\n @include media-breakpoint-up(sm) {\n .fixed-top,\n .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n }\n}\n\n// Pagination\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n// Example modals\n.modal {\n z-index: 1072;\n\n .tooltip,\n .popover {\n z-index: 1073;\n }\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n.bd-example-modal {\n background-color: #fafafa;\n\n .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n }\n\n .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n }\n}\n\n// Example tabbable tabs\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n// Popovers\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n\n .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n }\n}\n\n// Tooltips\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n// Scrollspy demo on fixed height div\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils {\n [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n }\n}\n\n.bd-example-border-utils-0 {\n [class^=\"border\"] {\n border: 1px solid $border-color;\n }\n}\n\n//\n// Code snippets\n//\n\n.highlight {\n padding: 1rem;\n margin-top: 1rem;\n margin-bottom: 1rem;\n background-color: $gray-100;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n }\n}\n\n.bd-content .highlight {\n margin-right: (-$grid-gutter-width / 2);\n margin-left: (-$grid-gutter-width / 2);\n\n @include media-breakpoint-up(sm) {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.highlight {\n pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n }\n pre code {\n font-size: inherit;\n color: $gray-900; // Effectively the base text color\n }\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container() {\n width: 100%;\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row() {\n display: flex;\n flex-wrap: wrap;\n margin-right: ($grid-gutter-width / -2);\n margin-left: ($grid-gutter-width / -2);\n}\n\n@mixin make-col-ready() {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n min-height: 1px; // Prevent collapsing\n padding-right: ($grid-gutter-width / 2);\n padding-left: ($grid-gutter-width / 2);\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","// Buttons\n//\n// Custom buttons for the docs.\n\n.btn-bd-primary {\n font-weight: 500;\n color: $bd-purple-bright;\n border-color: $bd-purple-bright;\n\n &:hover,\n &:active {\n color: #fff;\n background-color: $bd-purple-bright;\n border-color: $bd-purple-bright;\n }\n\n &:focus {\n box-shadow: 0 0 0 3px rgba($bd-purple-bright, .25);\n }\n}\n\n.btn-bd-download {\n font-weight: 500;\n color: $bd-download;\n border-color: $bd-download;\n\n &:hover,\n &:active {\n color: $bd-dark;\n background-color: $bd-download;\n border-color: $bd-download;\n }\n\n &:focus {\n box-shadow: 0 0 0 3px rgba($bd-download, .25);\n }\n}\n","//\n// Callouts\n//\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n border-radius: .25rem;\n}\n\n.bd-callout h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n}\n\n.bd-callout p:last-child {\n margin-bottom: 0;\n}\n\n.bd-callout code {\n border-radius: .25rem;\n}\n\n.bd-callout + .bd-callout {\n margin-top: -.25rem;\n}\n\n// Variations\n@mixin bs-callout-variant($color) {\n border-left-color: $color;\n\n h4 { color: $color; }\n}\n\n.bd-callout-info { @include bs-callout-variant($bd-info); }\n.bd-callout-warning { @include bs-callout-variant($bd-warning); }\n.bd-callout-danger { @include bs-callout-variant($bd-danger); }\n","//\n// Examples\n//\n\n.bd-examples .img-thumbnail {\n margin-bottom: .75rem;\n}\n.bd-examples h4 {\n margin-bottom: .25rem;\n}\n.bd-examples p {\n margin-bottom: 1.25rem;\n}\n\n@media (max-width: 480px) {\n .bd-examples {\n margin-right: -.75rem;\n margin-left: -.75rem;\n }\n .bd-examples > [class^=\"col-\"] {\n padding-right: .75rem;\n padding-left: .75rem;\n }\n}\n","// Wall of Browser Bugs\n//\n// Better display for the responsive table on the Wall of Browser Bugs.\n\n.bd-browser-bugs {\n td p {\n margin-bottom: 0;\n }\n th:first-child {\n width: 18%;\n }\n}\n","// stylelint-disable no-duplicate-selectors\n\n//\n// Brand guidelines\n//\n\n// Logo series wrapper\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: #563d7c;\n background-color: #f9f9f9;\n border-radius: .25rem;\n}\n\n// Individual items\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n}\n.bd-brand-item + .bd-brand-item {\n border-top: 1px solid #fff;\n}\n.bd-brand-logos .inverse {\n color: #fff;\n background-color: #563d7c;\n}\n\n// Heading content within\n.bd-brand-item h1,\n.bd-brand-item h3 {\n margin-top: 0;\n margin-bottom: 0;\n}\n.bd-brand-item .bd-booticon {\n margin-right: auto;\n margin-left: auto;\n}\n\n// Make the icons stand out on what is/isn't okay\n// .bd-brand-item .glyphicon {\n// width: 30px;\n// height: 30px;\n// margin: 10px auto -10px;\n// line-height: 30px;\n// color: #fff;\n// border-radius: 50%;\n// }\n// .bd-brand-item .glyphicon-ok {\n// background-color: #5cb85c;\n// }\n// .bd-brand-item .glyphicon-remove {\n// background-color: #d9534f;\n// }\n\n@media (min-width: 768px) {\n .bd-brand-item {\n display: table-cell;\n width: 1%;\n }\n .bd-brand-item + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid #fff;\n }\n .bd-brand-item h1 {\n font-size: 4rem;\n }\n}\n\n\n//\n// Color swatches\n//\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden; // clearfix\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n border-radius: .25rem;\n\n @media (min-width: 768px) {\n width: 6rem;\n height: 6rem;\n }\n}\n\n// Docs colors\n.color-swatches {\n .bd-purple {\n background-color: $bd-purple;\n }\n .bd-purple-light {\n background-color: $bd-purple-light;\n }\n .bd-purple-lighter {\n background-color: #e5e1ea;\n }\n .bd-gray {\n background-color: #f9f9f9;\n }\n}\n","//\n// Docs color palette classes\n//\n\n@each $color, $value in $colors {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n\n@each $color, $value in $theme-colors {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n\n@each $color, $value in $grays {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n","// clipboard.js\n//\n// JS-based `Copy` buttons for code snippets.\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n\n + .highlight {\n margin-top: 0;\n }\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n font-size: 75%;\n color: #818a91;\n cursor: pointer;\n background-color: transparent;\n border: 0;\n border-radius: .25rem;\n\n &:hover {\n color: #fff;\n background-color: #027de7;\n }\n}\n\n@media (min-width: 768px) {\n .bd-clipboard {\n display: block;\n }\n}\n","// stylelint-disable declaration-block-single-line-max-declarations\n\n.hll { background-color: #ffc; }\n.c { color: #999; }\n.k { color: #069; }\n.o { color: #555; }\n.cm { color: #999; }\n.cp { color: #099; }\n.c1 { color: #999; }\n.cs { color: #999; }\n.gd { background-color: #fcc; border: 1px solid #c00; }\n.ge { font-style: italic; }\n.gr { color: #f00; }\n.gh { color: #030; }\n.gi { background-color: #cfc; border: 1px solid #0c0; }\n.go { color: #aaa; }\n.gp { color: #009; }\n.gu { color: #030; }\n.gt { color: #9c6; }\n.kc { color: #069; }\n.kd { color: #069; }\n.kn { color: #069; }\n.kp { color: #069; }\n.kr { color: #069; }\n.kt { color: #078; }\n.m { color: #f60; }\n.s { color: #d44950; }\n.na { color: #4f9fcf; }\n.nb { color: #366; }\n.nc { color: #0a8; }\n.no { color: #360; }\n.nd { color: #99f; }\n.ni { color: #999; }\n.ne { color: #c00; }\n.nf { color: #c0f; }\n.nl { color: #99f; }\n.nn { color: #0cf; }\n.nt { color: #2f6f9f; }\n.nv { color: #033; }\n.ow { color: #000; }\n.w { color: #bbb; }\n.mf { color: #f60; }\n.mh { color: #f60; }\n.mi { color: #f60; }\n.mo { color: #f60; }\n.sb { color: #c30; }\n.sc { color: #c30; }\n.sd { font-style: italic; color: #c30; }\n.s2 { color: #c30; }\n.se { color: #c30; }\n.sh { color: #c30; }\n.si { color: #a00; }\n.sx { color: #c30; }\n.sr { color: #3aa; }\n.s1 { color: #c30; }\n.ss { color: #fc3; }\n.bp { color: #366; }\n.vc { color: #033; }\n.vg { color: #033; }\n.vi { color: #033; }\n.il { color: #f60; }\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt { color: #999; }\n\n.language-bash::before,\n.language-sh::before {\n color: #009;\n content: \"$ \";\n user-select: none;\n}\n\n.language-powershell::before {\n color: #009;\n content: \"PM> \";\n user-select: none;\n}\n",".anchorjs-link {\n font-weight: 400;\n color: rgba($link-color, .5);\n transition: color .16s linear;\n\n &:hover {\n color: $link-color;\n text-decoration: none;\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Docsearch overrides\n//\n// `!important` indicates overridden properties.\n.algolia-autocomplete {\n display: block !important;\n flex: 1;\n\n // Menu container\n .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, .1);\n box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175);\n\n @include media-breakpoint-up(md) {\n width: 175%;\n }\n\n // Caret\n &::before {\n display: none !important;\n }\n\n [class^=\"ds-dataset-\"] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n }\n\n .ds-suggestions {\n margin-top: 0 !important;\n }\n }\n\n .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n }\n\n .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n font-size: .875rem !important;\n font-weight: 500 !important;\n color: $bd-purple-bright !important;\n border-bottom: 0 !important;\n }\n\n .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n }\n\n // Section header\n .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n }\n\n .algolia-docsearch-suggestion--content {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n\n // Vertical divider between column header and content\n &::before {\n display: none !important;\n }\n }\n\n .ds-suggestion {\n &:not(:first-child) {\n .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0, 0, 0, .1);\n }\n }\n\n .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n }\n }\n\n .algolia-docsearch-suggestion--title {\n display: block;\n padding: .25rem 1rem !important;\n margin-bottom: 0 !important;\n font-size: .875rem !important;\n font-weight: 400 !important;\n }\n\n .algolia-docsearch-suggestion--text {\n padding: 0 1rem .5rem !important;\n margin-top: -.25rem;\n font-size: .875rem !important;\n font-weight: 400;\n line-height: 1.25 !important;\n }\n\n .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n font-size: .75rem !important;\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0, 0, 0, .1);\n }\n\n .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n }\n\n .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, .12);\n }\n\n .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95, 45, 171, .5) !important;\n }\n\n .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208, 189, 236, .15) !important;\n }\n}\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/bootstrap-stack.png b/vendor/twbs/bootstrap/site/docs/4.1/assets/img/bootstrap-stack.png
deleted file mode 100644
index 7cae17fe2..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/bootstrap-stack.png
+++ /dev/null
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/browserconfig.xml b/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/browserconfig.xml
deleted file mode 100644
index 810292778..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/browserconfig.xml
+++ /dev/null
@@ -1,11 +0,0 @@
----
----
-<?xml version="1.0" encoding="utf-8"?>
-<browserconfig>
- <msapplication>
- <tile>
- <square150x150logo src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/mstile-150x150.png"/>
- <TileColor>#563d7c</TileColor>
- </tile>
- </msapplication>
-</browserconfig>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/manifest.json b/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/manifest.json
deleted file mode 100644
index 88b2b7f41..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/manifest.json
+++ /dev/null
@@ -1,22 +0,0 @@
----
----
-{
- "name": "Bootstrap",
- "short_name": "Bootstrap",
- "icons": [
- {
- "src": "{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/android-chrome-192x192.png",
- "sizes": "192x192",
- "type": "image/png"
- },
- {
- "src": "{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/android-chrome-512x512.png",
- "sizes": "512x512",
- "type": "image/png"
- }
- ],
- "start_url": "/",
- "theme_color": "#563d7c",
- "background_color": "#563d7c",
- "display": "standalone"
-}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/docs.min.js b/vendor/twbs/bootstrap/site/docs/4.1/assets/js/docs.min.js
deleted file mode 100644
index cce24b993..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/docs.min.js
+++ /dev/null
@@ -1,28 +0,0 @@
-!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";return function(e){function f(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.ariaLabel=e.hasOwnProperty("ariaLabel")?e.ariaLabel:"Anchor",e.class=e.hasOwnProperty("class")?e.class:"",e.truncate=e.hasOwnProperty("truncate")?Math.floor(e.truncate):64}function A(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 p(){if(null===document.head.querySelector("style.anchorjs")){var e,t=document.createElement("style");t.className="anchorjs",t.appendChild(document.createTextNode("")),void 0===(e=document.head.querySelector('[rel="stylesheet"], style'))?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=[],f(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(e){var t,n,r,i,o,a,s,l,c,u,h,d=[];if(f(this.options),"touch"===(h=this.options.visible)&&(h=this.isTouchDevice()?"always":"hover"),e||(e="h2, h3, h4, h5, h6"),0===(t=A(e)).length)return this;for(p(),n=document.querySelectorAll("[id]"),r=[].map.call(n,function(e){return e.id}),o=0;o<t.length;o++)if(this.hasAnchorJSLink(t[o]))d.push(o);else{if(t[o].hasAttribute("id"))i=t[o].getAttribute("id");else if(t[o].hasAttribute("data-anchor-id"))i=t[o].getAttribute("data-anchor-id");else{c=l=this.urlify(t[o].textContent),s=0;do{void 0!==a&&(c=l+"-"+s),a=r.indexOf(c),s+=1}while(-1!==a);a=void 0,r.push(c),t[o].setAttribute("id",c),i=c}i.replace(/-/g," "),(u=document.createElement("a")).className="anchorjs-link "+this.options.class,u.href="#"+i,u.setAttribute("aria-label",this.options.ariaLabel),u.setAttribute("data-anchorjs-icon",this.options.icon),"always"===h&&(u.style.opacity="1"),""===this.options.icon&&(u.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(u.style.lineHeight="inherit")),"left"===this.options.placement?(u.style.position="absolute",u.style.marginLeft="-1em",u.style.paddingRight="0.5em",t[o].insertBefore(u,t[o].firstChild)):(u.style.paddingLeft="0.375em",t[o].appendChild(u))}for(o=0;o<d.length;o++)t.splice(d[o]-o,1);return this.elements=this.elements.concat(t),this},this.remove=function(e){for(var t,n,r=A(e),i=0;i<r.length;i++)(n=r[i].querySelector(".anchorjs-link"))&&(-1!==(t=this.elements.indexOf(r[i]))&&this.elements.splice(t,1),r[i].removeChild(n));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(e){var t=/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\]/g;return this.options.truncate||f(this.options),e.trim().replace(/\'/gi,"").replace(t,"-").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}}});
-/*!
- * clipboard.js v2.0.0
- * https://zenorocha.github.io/clipboard.js
- *
- * Licensed MIT © Zeno Rocha
- */
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ClipboardJS=t():e.ClipboardJS=t()}(this,function(){return function(n){function r(e){if(i[e])return i[e].exports;var t=i[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,r),t.l=!0,t.exports}var i={};return r.m=n,r.c=i,r.i=function(e){return e},r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(n,r,i){var o,a,s;!function(e,t){a=[n,i(7)],o=t,void 0!==(s="function"==typeof o?o.apply(r,a):o)&&(n.exports=s)}(0,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 r(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(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),a=function(){function t(e){n(this,t),this.resolveOptions(e),this.initSelection()}return o(t,[{key:"resolveOptions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.container=e.container,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=this.container.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,this.container.appendChild(this.fakeElem),this.selectedText=(0,r.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,r.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{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.trigger&&this.trigger.focus(),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}}]),t}();e.exports=a})},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=n(6),l=n(5);e.exports=r},function(e,t){function n(){}n.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}},e.exports=n},function(n,r,i){var o,a,s;!function(e,t){a=[n,i(0),i(2),i(1)],o=t,void 0!==(s="function"==typeof o?o.apply(r,a):o)&&(n.exports=s)}(0,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"==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},f=function(){function r(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(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}}(),A=function(e){function r(e,t){o(this,r);var n=a(this,(r.__proto__||Object.getPrototypeOf(r)).call(this));return n.resolveOptions(t),n.listenClick(e),n}return s(r,e),f(r,[{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,this.container="object"===d(e.container)?e.container:document.body}},{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),container:this.container,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}}]),r}(u.default);e.exports=A})},function(e,t){function n(e,t){for(;e&&e.nodeType!==r;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}var r=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}e.exports=n},function(e,t,n){function o(e,t,n,r,i){var o=a.apply(this,arguments);return e.addEventListener(n,o,i),{destroy:function(){e.removeEventListener(n,o,i)}}}function r(e,t,n,r,i){return"function"==typeof e.addEventListener?o.apply(null,arguments):"function"==typeof n?o.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,function(e){return o(e,t,n,r,i)}))}function a(t,n,e,r){return function(e){e.delegateTarget=i(e.target,n),e.delegateTarget&&r.call(t,e)}}var i=n(4);e.exports=r},function(e,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)}},function(e,t){function n(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}e.exports=n}])});
-/*!
-
-Holder - client side image placeholders
-Version 2.9.4+cabil
-© 2016 Ivan Malopinsky - http://imsky.co
-
-Site: http://holderjs.com
-Issues: https://github.com/imsky/holder/issues
-License: MIT
-
-*/
-!function(i){if(i.document){var o=i.document;o.querySelectorAll||(o.querySelectorAll=function(e){var t,n=o.createElement("style"),r=[];for(o.documentElement.firstChild.appendChild(n),o._qsa=[],n.styleSheet.cssText=e+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",i.scrollBy(0,0),n.parentNode.removeChild(n);o._qsa.length;)t=o._qsa.shift(),t.style.removeAttribute("x-qsa"),r.push(t);return o._qsa=null,r}),o.querySelector||(o.querySelector=function(e){var t=o.querySelectorAll(e);return t.length?t[0]:null}),o.getElementsByClassName||(o.getElementsByClassName=function(e){return e=String(e).replace(/^|\s+/g,"."),o.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 u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.atob=e.atob||function(e){e=String(e);var t,n=0,r=[],i=0,o=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(;n<e.length;)t=u.indexOf(e.charAt(n)),i=i<<6|t,o+=6,24===o&&(r.push(String.fromCharCode(i>>16&255)),r.push(String.fromCharCode(i>>8&255)),r.push(String.fromCharCode(255&i)),o=0,i=0),n+=1;return 12===o?(i>>=4,r.push(String.fromCharCode(255&i))):18===o&&(i>>=2,r.push(String.fromCharCode(i>>8&255)),r.push(String.fromCharCode(255&i))),r.join("")},e.btoa=e.btoa||function(e){e=String(e);var t,n,r,i,o,a,s,l=0,c=[];if(/[^\x00-\xFF]/.test(e))throw Error("InvalidCharacterError");for(;l<e.length;)t=e.charCodeAt(l++),n=e.charCodeAt(l++),r=e.charCodeAt(l++),i=t>>2,o=(3&t)<<4|n>>4,a=(15&n)<<2|r>>6,s=63&r,l===e.length+2?(a=64,s=64):l===e.length+1&&(s=64),c.push(u.charAt(i),u.charAt(o),u.charAt(a),u.charAt(s));return c.join("")}}(i),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 i==!1&&(i.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in i.performance==!1){var e=Date.now();performance.timing&&performance.timing.navigationStart&&(e=performance.timing.navigationStart),i.performance.now=function(){return Date.now()-e}}}(),i.requestAnimationFrame||(i.webkitRequestAnimationFrame&&i.webkitCancelAnimationFrame?!function(t){t.requestAnimationFrame=function(e){return webkitRequestAnimationFrame(function(){e(t.performance.now())})},t.cancelAnimationFrame=t.webkitCancelAnimationFrame}(i):i.mozRequestAnimationFrame&&i.mozCancelAnimationFrame?!function(t){t.requestAnimationFrame=function(e){return mozRequestAnimationFrame(function(){e(t.performance.now())})},t.cancelAnimationFrame=t.mozCancelAnimationFrame}(i):!function(t){t.requestAnimationFrame=function(e){return t.setTimeout(e,1e3/60)},t.cancelAnimationFrame=t.clearTimeout}(i))}}(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(n){function r(e){if(i[e])return i[e].exports;var t=i[e]={exports:{},id:e,loaded:!1};return n[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}var i={};return r.m=n,r.c=i,r.p="",r(0)}([function(e,t,n){e.exports=n(1)},function(L,e,F){(function(h){function o(e,t,n,r){var i=d(n.substr(n.lastIndexOf(e.domain)),e);i&&f({mode:null,el:r,flags:i,engineSettings:t})}function d(e,t){var n={theme:E(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=A.parse(i[1]);if(b.truthy(l.ratio)){n.fluid=!0;var c=parseFloat(n.dimensions.width.replace("%","")),u=parseFloat(n.dimensions.height.replace("%",""));u=Math.floor(100*(u/c)),c=100,n.dimensions.width=c+"%",n.dimensions.height=u+"%"}if(n.auto=b.truthy(l.auto),l.bg&&(n.theme.bg=b.parseColor(l.bg)),l.fg&&(n.theme.fg=b.parseColor(l.fg)),l.bg&&!l.fg&&(n.autoFg=!0),l.theme&&n.instanceOptions.themes.hasOwnProperty(l.theme)&&(n.theme=E(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=b.truthy(l.nowrap),n.outline=b.truthy(l.outline),b.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=E(n.instanceOptions.themes[h],null)}}return n}function f(e){var t=e.mode,n=e.el,r=e.flags,i=e.engineSettings,o=r.dimensions,a=r.theme,s=o.width+"x"+o.height;t=null==t?r.fluid?"fluid":"image":t;var l=/holder_([a-z]+)/g,c=!1;if(null!=r.text&&(a.text=r.text,"object"===n.nodeName.toLowerCase())){for(var u=a.text.split("\\n"),h=0;h<u.length;h++)u[h]=b.encodeHtmlEntity(u[h]);a.text=u.join("\\n")}if(a.text){var d=a.text.match(l);null!==d&&d.forEach(function(e){"holder_dimensions"===e&&(a.text=a.text.replace(e,s))})}var f=r.holderURL,A=E(i,null);if(r.font&&(a.font=r.font,!A.noFontFallback&&"img"===n.nodeName.toLowerCase()&&O.setup.supportsCanvas&&"svg"===A.renderer&&(A=E(A,{renderer:"canvas"}))),r.font&&"canvas"==A.renderer&&(A.reRender=!0),"background"==t)null==n.getAttribute("data-background-src")&&x.setAttr(n,{"data-background-src":f});else{var p={};p[O.vars.dataAttr]=f,x.setAttr(n,p)}r.theme=a,n.holderData={flags:r,engineSettings:A},"image"!=t&&"fluid"!=t||x.setAttr(n,{alt:a.text?c?a.text:a.text+" ["+s+"]":s});var g={mode:t,el:n,holderSettings:{dimensions:o,theme:a,flags:r},engineSettings:A};"image"==t?(r.auto||(n.style.width=o.width+"px",n.style.height=o.height+"px"),"html"==A.renderer?n.style.backgroundColor=a.bg:(m(g),"exact"==r.textmode&&(n.holderData.resizeUpdate=!0,O.vars.resizableImages.push(n),v(n)))):"background"==t&&"html"!=A.renderer?m(g):"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"),y(n),"html"==A.renderer?n.style.backgroundColor=a.bg:(O.vars.resizableImages.push(n),v(n)))}function m(t){function n(){var e=null;switch(a.renderer){case"canvas":e=g(l,t);break;case"svg":e=p(l,t);break;default:throw"Holder: invalid renderer: "+a.renderer}return e}var e=null,r=t.mode,i=t.el,o=t.holderSettings,a=t.engineSettings;switch(a.renderer){case"svg":if(!O.setup.supportsSVG)return;break;case"canvas":if(!O.setup.supportsCanvas)return;break;default:return}var s={width:o.dimensions.width,height:o.dimensions.height,theme:o.theme,flags:o.flags},l=c(s);if(e=n(),null==e)throw"Holder: couldn't render placeholder";"background"==r?(i.style.backgroundImage="url("+e+")",a.noBackgroundSize||(i.style.backgroundSize=s.width+"px "+s.height+"px")):("img"===i.nodeName.toLowerCase()?x.setAttr(i,{src:e}):"object"===i.nodeName.toLowerCase()&&x.setAttr(i,{data:e,type:"image/svg+xml"}),a.reRender&&h.setTimeout(function(){var e=n();if(null==e)throw"Holder: couldn't render placeholder";"img"===i.nodeName.toLowerCase()?x.setAttr(i,{src:e}):"object"===i.nodeName.toLowerCase()&&x.setAttr(i,{data:e,type:"image/svg+xml"})},150)),x.setAttr(i,{"data-holder-rendered":!0})}function c(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:C(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 k({width:e.width,height:e.height}),s=a.Shape,l=new s.Rect("holderBg",{fill:e.theme.bg});if(l.resize(e.width,e.height),a.root.add(l),e.flags.outline){var c=new T(l.properties.fill);c=c.lighten(c.lighterThan("7f7f7f")?-.1:.1),l.properties.outline={fill:c.toHex(!0),width:2}}var u=e.theme.fg;if(e.flags.autoFg){var h=new T(l.properties.fill),d=new T("fff"),f=new T("000",{alpha:.285714});u=h.blendAlpha(h.lighterThan("7f7f7f")?f:d).toHex(!0)}var A=new s.Group("holderTextGroup",{text:e.text,align:e.align,font:e.font,fill:u});A.moveTo(null,null,1),a.root.add(A);var p=A.textPositionData=M(a);if(!p)throw"Holder: staging fallback not supported yet.";A.properties.leading=p.boundingBox.height;var g=null,m=null;if(p.lineCount>1){var v,y=0,b=0,w=0;m=new s.Group("line"+w),"left"!==e.align&&"right"!==e.align||(o=e.width*(1-2*(1-r)));for(var x=0;x<p.words.length;x++){var E=p.words[x];g=new s.Text(E.text);var S="\\n"==E.text;!e.noWrap&&(y+E.width>=o||S===!0)&&(t(A,m,y,A.properties.leading),A.add(m),y=0,b+=A.properties.leading,w+=1,m=new s.Group("line"+w),m.y=b),S!==!0&&(g.moveTo(y,0),y+=p.spaceWidth+E.width,m.add(g))}if(t(A,m,y,A.properties.leading),A.add(m),"left"===e.align)A.moveTo(e.width-i,null,null);else if("right"===e.align){for(v in A.children)m=A.children[v],m.moveTo(e.width-m.width,null,null);A.moveTo(0-(e.width-i),null,null)}else{for(v in A.children)m=A.children[v],m.moveTo((A.width-m.width)/2,null,null);A.moveTo((e.width-A.width)/2,null,null)}A.moveTo(null,(e.height-A.height)/2,null),(e.height-A.height)/2<0&&A.moveTo(null,0,null)}else g=new s.Text(e.text),m=new s.Group("line0"),m.add(g),A.add(m),"left"===e.align?A.moveTo(e.width-i,null,null):"right"===e.align?A.moveTo(0-(e.width-i),null,null):A.moveTo((e.width-p.boundingBox.width)/2,null,null),A.moveTo(null,(e.height-p.boundingBox.height)/2,null);return a}function C(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 v(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,a=S(i);if(a){if(!i.holderData.resizeUpdate)continue;if(o.fluid&&o.auto){var s=i.holderData.fluidConfig;switch(s.mode){case"width":a.height=a.width/s.ratio;break;case"height":a.width=a.height*s.ratio}}var l={mode:"image",holderSettings:{dimensions:a,theme:o.theme,flags:o},el:i,engineSettings:i.holderData.engineSettings};"exact"==o.textmode&&(o.exactDimensions=a,l.holderSettings.dimensions=o.dimensions),m(l)}else u(i)}}}function y(e){if(e.holderData){var t=S(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 u(e)}}function r(){var t,n=[],e=Object.keys(O.vars.invisibleImages);e.forEach(function(e){t=O.vars.invisibleImages[e],S(t)&&"img"==t.nodeName.toLowerCase()&&(n.push(t),delete O.vars.invisibleImages[e])}),n.length&&s.run({images:n}),setTimeout(function(){h.requestAnimationFrame(r)},10)}function e(){O.vars.visibilityCheckStarted||(h.requestAnimationFrame(r),O.vars.visibilityCheckStarted=!0)}function u(e){e.holderData.invisibleId||(O.vars.invisibleId+=1,O.vars.invisibleImages["i"+O.vars.invisibleId]=e,e.holderData.invisibleId=O.vars.invisibleId)}function t(e){O.vars.debounceTimer||e.call(this),O.vars.debounceTimer&&h.clearTimeout(O.vars.debounceTimer),O.vars.debounceTimer=h.setTimeout(function(){O.vars.debounceTimer=null,e.call(this)},O.setup.debounce)}function n(){t(function(){v(null)})}var i=F(2),A=F(3),k=F(6),b=F(7),w=F(8),x=F(9),T=F(10),a=F(11),p=F(12),g=F(15),E=b.extend,S=b.dimensionCheck,j=a.svg_ns,s={version:a.version,addTheme:function(e,t){return null!=e&&null!=t&&(O.settings.themes[e]=t),delete O.vars.cache.themeKeys,this},addImage:function(r,e){var t=x.getNodeArray(e);return t.forEach(function(e){var t=x.newEl("img"),n={};n[O.setup.dataAttr]=r,x.setAttr(t,n),e.appendChild(t)}),this},setResizeUpdate:function(e,t){e.holderData&&(e.holderData.resizeUpdate=!!t,e.holderData.resizeUpdate&&v(e))},run:function(e){e=e||{};var c={},u=E(O.settings,e);O.vars.preempted=!0,O.vars.dataAttr=u.dataAttr||O.setup.dataAttr,c.renderer=u.renderer?u.renderer:O.setup.renderer,O.setup.renderers.join(",").indexOf(c.renderer)===-1&&(c.renderer=O.setup.supportsSVG?"svg":O.setup.supportsCanvas?"canvas":"html");var t=x.getNodeArray(u.images),n=x.getNodeArray(u.bgnodes),r=x.getNodeArray(u.stylenodes),i=x.getNodeArray(u.objects);return c.stylesheets=[],c.svgXMLStylesheet=!0,c.noFontFallback=!!u.noFontFallback,c.noBackgroundSize=!!u.noBackgroundSize,r.forEach(function(e){if(e.attributes.rel&&e.attributes.href&&"stylesheet"==e.attributes.rel.value){var t=e.attributes.href.value,n=x.newEl("a");n.href=t;var r=n.protocol+"//"+n.host+n.pathname+n.search;c.stylesheets.push(r)}}),n.forEach(function(e){if(h.getComputedStyle){var t=h.getComputedStyle(e,null).getPropertyValue("background-image"),n=e.getAttribute("data-background-src"),r=n||t,i=null,o=u.domain+"/",a=r.indexOf(o);if(0===a)i=r;else if(1===a&&"?"===r[0])i=r.slice(1);else{var s=r.substr(a).match(/([^\"]*)"?\)/);if(null!==s)i=s[1];else if(0===r.indexOf("url("))throw"Holder: unable to parse background URL: "+r}if(i){var l=d(i,u);l&&f({mode:"background",el:e,flags:l,engineSettings:c})}}}),i.forEach(function(e){var t={};try{t.data=e.getAttribute("data"),t.dataSrc=e.getAttribute(O.vars.dataAttr)}catch(e){}var n=null!=t.data&&0===t.data.indexOf(u.domain),r=null!=t.dataSrc&&0===t.dataSrc.indexOf(u.domain);n?o(u,c,t.data,e):r&&o(u,c,t.dataSrc,e)}),t.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 n=null!=t.src,r=null!=t.dataSrc&&0===t.dataSrc.indexOf(u.domain),i=null!=t.rendered&&"true"==t.rendered;n?0===t.src.indexOf(u.domain)?o(u,c,t.src,e):r&&(i?o(u,c,t.dataSrc,e):!function(e,t,n,r,i){b.imageExists(e,function(e){e||o(t,n,r,i)})}(t.src,u,c,t.dataSrc,e)):r&&o(u,c,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 g=null,m=null,v=null;return function(e){var t=e.root;if(O.setup.supportsSVG){var n=!1,r=function(e){return document.createTextNode(e)};null!=g&&g.parentNode===document.body||(n=!0),g=w.initSVG(g,t.properties.width,t.properties.height),g.style.display="block",n&&(m=x.newEl("text",j),v=r(null),x.setAttr(m,{x:0}),m.appendChild(v),g.appendChild(m),document.body.appendChild(g),g.style.visibility="hidden",g.style.position="absolute",g.style.top="-100%",g.style.left="-100%");var i=t.children.holderTextGroup,o=i.properties;x.setAttr(m,{y:o.font.size,style:b.cssProps({"font-weight":o.font.weight,"font-size":o.font.size+o.font.units,"font-family":o.font.family})}),v.nodeValue=o.text;var a=m.getBBox(),s=Math.ceil(a.width/t.properties.width),l=o.text.split(" "),c=o.text.match(/\\n/g);s+=null==c?0:c.length,v.nodeValue=o.text.replace(/[ ]+/g,"");var u=m.getComputedTextLength(),h=a.width-u,d=Math.round(h/Math.max(1,l.length-1)),f=[];if(s>1){v.nodeValue="";for(var A=0;A<l.length;A++)if(0!==l[A].length){v.nodeValue=b.decodeHtmlEntity(l[A]);var p=m.getBBox();f.push({text:l[A],width:p.width})}}return g.style.display="none",{spaceWidth:d,lineCount:s,boundingBox:a,words:f}}return!1}}();for(var l in O.flags)O.flags.hasOwnProperty(l)&&(O.flags[l].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=x.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(j,"svg").createSVGRect&&(O.setup.renderer="svg",O.setup.supportsSVG=!0)}(),e(),i&&i(function(){O.vars.preempted||s.run(),h.addEventListener?(h.addEventListener("resize",n,!1),h.addEventListener("orientationchange",n,!1)):h.attachEvent("onresize",n),"object"==typeof h.Turbolinks&&h.document.addEventListener("page:change",function(){s.run()})}),L.exports=s}).call(e,function(){return this}())},function(e,t){function n(e){function n(e){if(!w){if(!a.body)return i(n);for(w=!0;e=x.shift();)i(e)}}function t(e){(y||e.type===l||a[d]===h)&&(r(),n())}function r(){y?(a[v](g,t,c),e[v](l,t,c)):(a[A](m,t),e[A](u,t))}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(n);else if(y)a[p](g,t,c),e[p](l,t,c);else{a[f](m,t),e[f](u,t);try{b=null==e.frameElement&&s}catch(e){}b&&b.doScroll&&!function t(){if(!w){try{b.doScroll("left")}catch(e){return i(t,50)}r(),n()}}()}return o.version="1.4.0",o.isReady=function(){return w},o}e.exports="undefined"!=typeof window&&n(window)},function(e,t,n){var o=encodeURIComponent,c=decodeURIComponent,u=n(4),a=n(5),h=/(\w+)\[(\d+)\]/,d=/\w+\.\w+/;t.parse=function(e){if("string"!=typeof e)return{};if(e=u(e),""===e)return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var t={},n=e.split("&"),r=0;r<n.length;r++){var i,o,a,s=n[r].split("="),l=c(s[0]);if(i=h.exec(l))t[i[1]]=t[i[1]]||[],t[i[1]][i[2]]=c(s[1]);else if(i=d.test(l)){for(i=l.split("."),o=t;i.length;)if(a=i.shift(),a.length){if(o[a]){if(o[a]&&"object"!=typeof o[a])break}else o[a]={};i.length||(o[a]=c(s[1])),o=o[a]}}else t[s[0]]=null==s[1]?"":c(s[1])}return t},t.stringify=function(e){if(!e)return"";var t=[];for(var n in e){var r=e[n];if("array"!=a(r))t.push(o(n)+"="+o(e[n]));else for(var i=0;i<r.length;++i)t.push(o(n+"["+i+"]")+"="+o(r[i]))}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 n(e,t){for(var n in t)e[n]=t[n];return e}var t=1,r=function(e){t++,this.parent=null,this.children={},this.id=t,this.name="n"+t,"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,t){if(r.call(this,e),this.properties={fill:"#000000"},"undefined"!=typeof t)n(this.properties,t);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 c=new i;return this.Shape={Rect:s,Text:l,Group:a},this.root=c,this};e.exports=n},function(e,t){(function(i){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 e=1,t=1;if(i.document){var n=i.document.createElement("canvas");if(n.getContext){var r=n.getContext("2d");e=i.devicePixelRatio||1,t=r.webkitBackingStorePixelRatio||r.mozBackingStorePixelRatio||r.msBackingStorePixelRatio||r.oBackingStorePixelRatio||r.backingStorePixelRatio||1}}return e/t}}).call(t,function(){return this}())},function(e,t,n){(function(c){var u=n(9),s="http://www.w3.org/2000/svg",l=8;t.initSVG=function(e,t,n){var r,i,o=!1;e&&e.querySelector?(i=e.querySelector("style"),null===i&&(o=!0)):(e=u.newEl("svg",s),o=!0),o&&(r=u.newEl("defs",s),i=u.newEl("style",s),u.setAttr(i,{type:"text/css"}),r.appendChild(i),e.appendChild(r)),e.webkitMatchesSelector&&e.setAttribute("xmlns",s);for(var a=0;a<e.childNodes.length;a++)e.childNodes[a].nodeType===l&&e.removeChild(e.childNodes[a]);for(;i.childNodes.length;)i.removeChild(i.childNodes[0]);return u.setAttr(e,{width:t,height:n,viewBox:"0 0 "+t+" "+n,preserveAspectRatio:"none"}),e},t.svgStringToDataURI=function(){var n="data:image/svg+xml;charset=UTF-8,",r="data:image/svg+xml;charset=UTF-8;base64,";return function(e,t){return t?r+btoa(c.unescape(encodeURIComponent(e))):n+encodeURIComponent(e)}}(),t.serializeSVG=function(e,t){if(c.XMLSerializer){var n=new XMLSerializer,r="",i=t.stylesheets;if(t.svgXMLStylesheet){for(var o=u.createXML(),a=i.length-1;a>=0;a--){var s=o.createProcessingInstruction("xml-stylesheet",'href="'+i[a]+'" rel="stylesheet"');o.insertBefore(s,o.firstChild)}o.removeChild(o.documentElement),r=n.serializeToString(o)}var l=n.serializeToString(e);return l=l.replace(/\&amp;(\#[0-9]{2,}\;)/g,"&$1"),r+l}}}).call(t,function(){return this}())},function(e,t){(function(n){t.newEl=function(e,t){if(n.document)return null==t?n.document.createElement(e):n.document.createElementNS(t,e)},t.setAttr=function(e,t){for(var n in t)e.setAttribute(n,t[n])},t.createXML=function(){if(n.DOMParser)return(new DOMParser).parseFromString("<xml />","application/xml")},t.getNodeArray=function(e){var t=null;return"string"==typeof e?t=document.querySelectorAll(e):n.NodeList&&e instanceof n.NodeList?t=e:n.Node&&e instanceof n.Node?t=[e]:n.HTMLCollection&&e instanceof n.HTMLCollection?t=e:e instanceof Array?t=e:null===e&&(t=[]),t=Array.prototype.slice.call(t)}}).call(t,function(){return this}())},function(e,t){var s=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)))))};s.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("")},s.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]},s.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},s.prototype.lighten=function(e){var t=Math.min(1,Math.max(0,Math.abs(e)))*(e<0?-1:1),n=255*t|0,r=Math.min(255,Math.max(0,this.rgb.r+n)),i=Math.min(255,Math.max(0,this.rgb.g+n)),o=Math.min(255,Math.max(0,this.rgb.b+n)),a=s.rgb2hex(r,i,o);return new s(a)},s.prototype.toHex=function(e){return(e?"#":"")+this.raw.toString(16)},s.prototype.lighterThan=function(e){return e instanceof s||(e=new s(e)),this.yuv.y>e.yuv.y},s.prototype.blendAlpha=function(e){e instanceof s||(e=new s(e));var t=e,n=this,r=t.alpha*t.rgb.r+(1-t.alpha)*n.rgb.r,i=t.alpha*t.rgb.g+(1-t.alpha)*n.rgb.g,o=t.alpha*t.rgb.b+(1-t.alpha)*n.rgb.b;return new s(s.rgb2hex(r,i,o))},e.exports=s},function(e,t){e.exports={version:"2.9.4",svg_ns:"http://www.w3.org/2000/svg"}},function(e,t,n){function w(e,t){return T.element({tag:t,width:e.width,height:e.height,fill:e.properties.fill})}function x(e){return i.cssProps({fill:e.fill,"font-weight":e.font.weight,"font-family":e.font.family+", monospace","font-size":e.font.size+e.font.units})}function E(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 S=n(13),C=n(8),r=n(11),i=n(7),k=r.svg_ns,T={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,r=n.stylesheets,i=r.map(function(e){return'<?xml-stylesheet rel="stylesheet" href="'+e+'"?>'}).join("\n"),o="holder_"+Number(new Date).toString(16),a=e.root,s=a.children.holderTextGroup,l="#"+o+" text { "+x(s.properties)+" } ";s.y+=.8*s.textPositionData.boundingBox.height;var c=[];Object.keys(s.children).forEach(function(e){var o=s.children[e];Object.keys(o.children).forEach(function(e){var t=o.children[e],n=s.x+o.x+t.x,r=s.y+o.y+t.y,i=T.element({tag:"text",content:t.properties.text,x:n,y:r});c.push(i)})});var u=T.element({tag:"g",content:c}),h=null;if(a.children.holderBg.properties.outline){var d=a.children.holderBg.properties.outline;h=T.element({tag:"path",d:E(a.children.holderBg.width,a.children.holderBg.height,d.width),"stroke-width":d.width,stroke:d.fill,fill:"none"})}var f=w(a.children.holderBg,"rect"),A=[];A.push(f),d&&A.push(h),A.push(u);var p=T.element({tag:"g",id:o,content:A}),g=T.element({tag:"style",content:l,type:"text/css"}),m=T.element({tag:"defs",content:g}),v=T.element({tag:"svg",content:[m,p],width:a.properties.width,height:a.properties.height,xmlns:k,viewBox:[0,0,a.properties.width,a.properties.height].join(" "),preserveAspectRatio:"none"}),y=S(v);y=i+y[0];var b=C.svgStringToDataURI(y,"background"===t.mode);return b}},function(e,t,n){n(14);e.exports=function e(t,n,a){"use strict";function r(e){var t=e.match(/^[\w-]+/),n={tag:t?t[0]:"div",attr:{},children:[]},r=e.match(/#([\w-]+)/),i=e.match(/\$([\w-]+)/),o=e.match(/\.[\w-]+/g);return r&&(n.attr.id=r[1],a[r[1]]=n),i&&(a[i[1]]=n),o&&(n.attr["class"]=o.join(" ").replace(/\./g,"")),e.match(/&$/g)&&(f=!1),n}function i(e,t){if(null!==t&&t!==!1&&void 0!==t)return"string"!=typeof t&&"object"!=typeof t?String(t):t}function o(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,c,u,h,d=1,f=!0;if(a=a||{},"string"==typeof t[0])t[0]=r(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])f&&(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,a),t[d][0]&&t[0].children.push(t[d][0])}else if("function"==typeof t[d])u=t[d];else{if("object"!=typeof t[d])throw new TypeError('"'+t[d]+'" is not allowed as a value.');for(c in t[d])t[d].hasOwnProperty(c)&&null!==t[d][c]&&t[d][c]!==!1&&("style"===c&&"object"==typeof t[d][c]?t[0].attr[c]=JSON.stringify(t[d][c],i).slice(2,-2).replace(/","/g,";").replace(/":"/g,":").replace(/\\"/g,"'"):t[0].attr[c]=t[d][c])}}if(t[0]!==!1){l="<"+t[0].tag;for(h in t[0].attr)t[0].attr.hasOwnProperty(h)&&(l+=" "+h+'="'+o(t[0].attr[h])+'"');l+=">",t[0].children.forEach(function(e){l+=e}),l+="</"+t[0].tag+">",t[0]=l}return a[0]=t[0],u&&u(t[0]),a}},function(e,t){"use strict";function n(e){var t=""+e,n=s.exec(t);if(!n)return t;var r,i="",o=0,a=0;for(o=n.index;o<t.length;o++){switch(t.charCodeAt(o)){case 34:r="&quot;";break;case 38:r="&amp;";break;case 39:r="&#39;";break;case 60:r="&lt;";break;case 62:r="&gt;";break;default:continue}a!==o&&(i+=t.substring(a,o)),a=o+1,i+=r}return a!==o?i+t.substring(a,o):i}var s=/["'&<>]/;e.exports=n},function(e,t,n){var r=n(9),m=n(7);e.exports=function(){var p=r.newEl("canvas"),g=null;return function(e){null==g&&(g=p.getContext("2d"));var t=m.canvasRatio(),n=e.root;p.width=t*n.properties.width,p.height=t*n.properties.height,g.textBaseline="middle";var r=n.children.holderBg,i=t*r.width,o=t*r.height,a=2,s=a/2;g.fillStyle=r.properties.fill,g.fillRect(0,0,i,o),r.properties.outline&&(g.strokeStyle=r.properties.outline.fill,g.lineWidth=r.properties.outline.width,g.moveTo(s,s),g.lineTo(i-s,s),g.lineTo(i-s,o-s),g.lineTo(s,o-s),g.lineTo(s,s),g.moveTo(0,s),g.lineTo(i,o-s),g.moveTo(0,o-s),g.lineTo(i,s),g.stroke());var l=n.children.holderTextGroup;g.font=l.properties.font.weight+" "+t*l.properties.font.size+l.properties.font.units+" "+l.properties.font.family+", monospace",g.fillStyle=l.properties.fill;for(var c in l.children){var u=l.children[c];for(var h in u.children){var d=u.children[h],f=t*(l.x+u.x+d.x),A=t*(l.y+u.y+d.y+l.properties.leading/2);g.fillText(d.properties.text,f,A)}}return p.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-2018 The Bootstrap Authors
- * Copyright 2011-2018 Twitter, Inc.
- * Licensed under the Creative Commons Attribution 3.0 Unported License. For
- * details, see https://creativecommons.org/licenses/by/3.0/.
- */
-(function(i){"use strict";i(function(){i(".tooltip-demo").tooltip({selector:'[data-toggle="tooltip"]',container:"body"});i('[data-toggle="popover"]').popover();i(".tooltip-test").tooltip();i(".popover-test").popover();i('.bd-example-indeterminate [type="checkbox"]').prop("indeterminate",true);i('.bd-content [href="#"]').click(function(e){e.preventDefault()});i("#exampleModal").on("show.bs.modal",function(e){var t=i(e.relatedTarget);var n=t.data("whatever");var r=i(this);r.find(".modal-title").text("New message to "+n);r.find(".modal-body input").val(n)});i(".bd-toggle-animated-progress").on("click",function(){i(this).siblings(".progress").find(".progress-bar-striped").toggleClass("progress-bar-animated")});i("figure.highlight, div.highlight").each(function(){var e='<div class="bd-clipboard"><button class="btn-clipboard" title="Copy to clipboard">Copy</button></div>';i(this).before(e);i(".btn-clipboard").tooltip().on("mouseleave",function(){i(this).tooltip("hide")})});var e=new ClipboardJS(".btn-clipboard",{target:function(e){return e.parentNode.nextElementSibling}});e.on("success",function(e){i(e.trigger).attr("title","Copied!").tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle");e.clearSelection()});e.on("error",function(e){var t=/Mac/i.test(navigator.userAgent)?"⌘":"Ctrl-";var n="Press "+t+"C to copy";i(e.trigger).attr("title",n).tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle")});anchors.options={icon:"#"};anchors.add(".bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5");i(".bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5").wrapInner("<div></div>");Holder.addTheme("gray",{bg:"#777",fg:"rgba(255,255,255,.75)",font:"Helvetica",fontweight:"normal"})})})(jQuery);(function(){"use strict";function e(){var e=/MSIE ([0-9.]+)/.exec(window.navigator.userAgent);if(e===null){return null}var t=parseInt(e[1],10);var n=Math.floor(t);return n}function t(){var e=new Function("/*@cc_on return @_jscript_version; @*/")();if(typeof e==="undefined"){return 11}if(e<9){return 8}return e}var n=window.navigator.userAgent;if(n.indexOf("Opera")>-1||n.indexOf("Presto")>-1){return}var r=e();if(r===null){return}var i=t();if(r!==i){window.alert("WARNING: You appear to be using IE"+i+" in IE"+r+" 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!")}})();(function(){"use strict";if("serviceWorker"in navigator){window.addEventListener("load",function(){navigator.serviceWorker.register("/sw.js").then(function(e){console.log("ServiceWorker registration successful with scope: ",e.scope)}).catch(function(e){console.log("ServiceWorker registration failed: ",e)})})}else{console.log("Service workers are not supported.")}})();(function(){"use strict";if(!window.docsearch){return}var r=document.getElementById("search-input");var e=r.getAttribute("data-docs-version");window.docsearch({apiKey:"5990ad008512000bba2cf951ccf0332f",indexName:"bootstrap",inputSelector:"#search-input",algoliaOptions:{facetFilters:["version:"+e]},handleSelected:function(e,t,n){var r=n.url;r=n.isLvl1?r.split("#")[0]:r;window.location.href=r},transformData:function(e){return e.map(function(e){var t=r.getAttribute("data-siteurl");var n=/^https?:\/\/getbootstrap\.com/;e.url=t.match(n)?e.url:e.url.replace(n,"");return e})},debug:false})})(); \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/pwa.js b/vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/pwa.js
deleted file mode 100644
index 142f89915..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/pwa.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
-// IT'S ALL JUST JUNK FOR OUR DOCS!
-// ++++++++++++++++++++++++++++++++++++++++++
-
-/* eslint no-console:off */
-
-(function () {
- 'use strict'
-
- if ('serviceWorker' in navigator) {
- window.addEventListener('load', function () {
- navigator.serviceWorker.register('/sw.js').then(function (registration) { // eslint-disable-line compat/compat
- console.log('ServiceWorker registration successful with scope: ', registration.scope)
- }).catch(function (err) {
- console.log('ServiceWorker registration failed: ', err)
- })
- })
- } else {
- console.log('Service workers are not supported.')
- }
-}())
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/anchor.min.js b/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/anchor.min.js
deleted file mode 100644
index ee4e3b3f4..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/anchor.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * AnchorJS - v4.1.0 - 2017-09-20
- * https://github.com/bryanbraun/anchorjs
- * Copyright (c) 2017 Bryan Braun; Licensed MIT
- */
-!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function e(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64}function t(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}function i(){if(null===document.head.querySelector("style.anchorjs")){var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.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"); }',e.sheet.cssRules.length)}}this.options=A||{},this.elements=[],e(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var n,o,s,a,r,c,h,l,u,d,f,p=[];if(e(this.options),"touch"===(f=this.options.visible)&&(f=this.isTouchDevice()?"always":"hover"),A||(A="h2, h3, h4, h5, h6"),0===(n=t(A)).length)return this;for(i(),o=document.querySelectorAll("[id]"),s=[].map.call(o,function(A){return A.id}),r=0;r<n.length;r++)if(this.hasAnchorJSLink(n[r]))p.push(r);else{if(n[r].hasAttribute("id"))a=n[r].getAttribute("id");else if(n[r].hasAttribute("data-anchor-id"))a=n[r].getAttribute("data-anchor-id");else{u=l=this.urlify(n[r].textContent),h=0;do{void 0!==c&&(u=l+"-"+h),c=s.indexOf(u),h+=1}while(-1!==c);c=void 0,s.push(u),n[r].setAttribute("id",u),a=u}a.replace(/-/g," "),(d=document.createElement("a")).className="anchorjs-link "+this.options.class,d.href="#"+a,d.setAttribute("aria-label",this.options.ariaLabel),d.setAttribute("data-anchorjs-icon",this.options.icon),"always"===f&&(d.style.opacity="1"),""===this.options.icon&&(d.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(d.style.lineHeight="inherit")),"left"===this.options.placement?(d.style.position="absolute",d.style.marginLeft="-1em",d.style.paddingRight="0.5em",n[r].insertBefore(d,n[r].firstChild)):(d.style.paddingLeft="0.375em",n[r].appendChild(d))}for(r=0;r<p.length;r++)n.splice(p[r]-r,1);return this.elements=this.elements.concat(n),this},this.remove=function(A){for(var e,i,n=t(A),o=0;o<n.length;o++)(i=n[o].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(n[o]))&&this.elements.splice(e,1),n[o].removeChild(i));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){var t=/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\]/g;return this.options.truncate||e(this.options),A.trim().replace(/\'/gi,"").replace(t,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&(" "+A.firstChild.className+" ").indexOf(" anchorjs-link ")>-1,t=A.lastChild&&(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return e||t||!1}}}); \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/clipboard.min.js b/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/clipboard.min.js
deleted file mode 100644
index b00ee5153..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/clipboard.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * clipboard.js v2.0.0
- * https://zenorocha.github.io/clipboard.js
- *
- * Licensed MIT © Zeno Rocha
- */
-!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=3)}([function(t,e,n){var o,r,i;!function(a,c){r=[t,n(7)],o=c,void 0!==(i="function"==typeof o?o.apply(e,r):o)&&(t.exports=i)}(0,function(t,e){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=function(t){return t&&t.__esModule?t:{default:t}}(e),r="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},i=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}}(),a=function(){function t(e){n(this,t),this.resolveOptions(e),this.initSelection()}return i(t,[{key:"resolveOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.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[e?"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,this.container.appendChild(this.fakeElem),this.selectedText=(0,o.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,o.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function(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(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){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(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===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(){return this._target}}]),t}();t.exports=a})},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 r(t,e,n);if(c.nodeList(t))return i(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 r(t,e,n){return t.addEventListener(e,n),{destroy:function(){t.removeEventListener(e,n)}}}function i(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 u(document.body,t,e,n)}var c=n(6),u=n(5);t.exports=o},function(t,e){function n(){}n.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(){r.off(t,o),e.apply(n,arguments)}var r=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,r=n.length;for(o;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,a=o.length;i<a;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=n},function(t,e,n){var o,r,i;!function(a,c){r=[t,n(0),n(2),n(1)],o=c,void 0!==(i="function"==typeof o?o.apply(e,r):o)&&(t.exports=i)}(0,function(t,e,n,o){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function i(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 u(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}var l=r(e),s=r(n),f=r(o),d="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},h=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}}(),p=function(t){function e(t,n){i(this,e);var o=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return o.resolveOptions(n),o.listenClick(t),o}return c(e,t),h(e,[{key:"resolveOptions",value:function(){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,this.container="object"===d(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,f.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return u("action",t)}},{key:"defaultTarget",value:function(t){var e=u("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return u("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)}),n}}]),e}(s.default);t.exports=p})},function(t,e){function n(t,e){for(;t&&t.nodeType!==o;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}var o=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=n},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 r(t,e,n,r,i){return"function"==typeof t.addEventListener?o.apply(null,arguments):"function"==typeof n?o.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return o(t,e,n,r,i)}))}function i(t,e,n,o){return function(n){n.delegateTarget=a(n.target,e),n.delegateTarget&&o.call(t,n)}}var a=n(4);t.exports=r},function(t,e){e.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},e.nodeList=function(t){var n=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===n||"[object HTMLCollection]"===n)&&"length"in t&&(0===t.length||e.node(t[0]))},e.string=function(t){return"string"==typeof t||t instanceof String},e.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e){function n(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}t.exports=n}])}); \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/holder.min.js b/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/holder.min.js
deleted file mode 100644
index 62255af4f..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/holder.min.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/*!
-
-Holder - client side image placeholders
-Version 2.9.4+cabil
-© 2016 Ivan Malopinsky - http://imsky.co
-
-Site: http://holderjs.com
-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,h=0,u=[];if(/[^\x00-\xFF]/.test(e))throw Error("InvalidCharacterError");for(;h<e.length;)n=e.charCodeAt(h++),r=e.charCodeAt(h++),i=e.charCodeAt(h++),o=n>>2,a=(3&n)<<4|r>>4,s=(15&r)<<2|i>>6,l=63&i,h===e.length+2?(s=64,l=64):h===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==!1&&(e.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in e.performance==!1){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:k(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=v.parse(i[1]);if(w.truthy(l.ratio)){n.fluid=!0;var h=parseFloat(n.dimensions.width.replace("%","")),u=parseFloat(n.dimensions.height.replace("%",""));u=Math.floor(100*(u/h)),h=100,n.dimensions.width=h+"%",n.dimensions.height=u+"%"}if(n.auto=w.truthy(l.auto),l.bg&&(n.theme.bg=w.parseColor(l.bg)),l.fg&&(n.theme.fg=w.parseColor(l.fg)),l.bg&&!l.fg&&(n.autoFg=!0),l.theme&&n.instanceOptions.themes.hasOwnProperty(l.theme)&&(n.theme=k(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=w.truthy(l.nowrap),n.outline=w.truthy(l.outline),w.truthy(l.random)){O.vars.cache.themeKeys=O.vars.cache.themeKeys||Object.keys(n.instanceOptions.themes);var c=O.vars.cache.themeKeys[0|Math.random()*O.vars.cache.themeKeys.length];n.theme=k(n.instanceOptions.themes[c],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 c=/holder_([a-z]+)/g,d=!1;if(null!=r.text&&(s.text=r.text,"object"===n.nodeName.toLowerCase())){for(var f=s.text.split("\\n"),p=0;p<f.length;p++)f[p]=w.encodeHtmlEntity(f[p]);s.text=f.join("\\n")}if(s.text){var g=s.text.match(c);null!==g&&g.forEach(function(e){"holder_dimensions"===e&&(s.text=s.text.replace(e,l))})}var m=r.holderURL,v=k(i,null);if(r.font&&(s.font=r.font,!v.noFontFallback&&"img"===n.nodeName.toLowerCase()&&O.setup.supportsCanvas&&"svg"===v.renderer&&(v=k(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[O.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,O.vars.resizableImages.push(n),h(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"),u(n),"html"==v.renderer?n.style.backgroundColor=s.bg:(O.vars.resizableImages.push(n),h(n)))}function a(e){function n(){var t=null;switch(l.renderer){case"canvas":t=E(u,e);break;case"svg":t=C(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 h={width:a.dimensions.width,height:a.dimensions.height,theme:a.theme,flags:a.flags},u=s(h);if(r=n(),null==r)throw"Holder: couldn't render placeholder";"background"==i?(o.style.backgroundImage="url("+r+")",l.noBackgroundSize||(o.style.backgroundSize=h.width+"px "+h.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=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 y({width:e.width,height:e.height}),s=a.Shape,h=new s.Rect("holderBg",{fill:e.theme.bg});if(h.resize(e.width,e.height),a.root.add(h),e.flags.outline){var u=new S(h.properties.fill);u=u.lighten(u.lighterThan("7f7f7f")?-.1:.1),h.properties.outline={fill:u.toHex(!0),width:2}}var c=e.theme.fg;if(e.flags.autoFg){var d=new S(h.properties.fill),f=new S("fff"),p=new S("000",{alpha:.285714});c=d.blendAlpha(d.lighterThan("7f7f7f")?p:f).toHex(!0)}var g=new s.Group("holderTextGroup",{text:e.text,align:e.align,font:e.font,fill:c});g.moveTo(null,null,1),a.root.add(g);var m=g.textPositionData=z(a);if(!m)throw"Holder: staging fallback not supported yet.";g.properties.leading=m.boundingBox.height;var v=null,w=null;if(m.lineCount>1){var b,x=0,A=0,C=0;w=new s.Group("line"+C),"left"!==e.align&&"right"!==e.align||(o=e.width*(1-2*(1-r)));for(var E=0;E<m.words.length;E++){var k=m.words[E];v=new s.Text(k.text);var T="\\n"==k.text;!e.noWrap&&(x+k.width>=o||T===!0)&&(t(g,w,x,g.properties.leading),g.add(w),x=0,A+=g.properties.leading,C+=1,w=new s.Group("line"+C),w.y=A),T!==!0&&(v.moveTo(x,0),x+=m.spaceWidth+k.width,w.add(v))}if(t(g,w,x,g.properties.leading),g.add(w),"left"===e.align)g.moveTo(e.width-i,null,null);else if("right"===e.align){for(b in g.children)w=g.children[b],w.moveTo(e.width-w.width,null,null);g.moveTo(0-(e.width-i),null,null)}else{for(b in g.children)w=g.children[b],w.moveTo((g.width-w.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),w=new s.Group("line0"),w.add(v),g.add(w),"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 h(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=T(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 h={mode:"image",holderSettings:{dimensions:s,theme:o.theme,flags:o},el:i,engineSettings:i.holderData.engineSettings};"exact"==o.textmode&&(o.exactDimensions=s,h.holderSettings.dimensions=o.dimensions),a(h)}else f(i)}}}function u(e){if(e.holderData){var t=T(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 f(e)}}function c(){var e,n=[],r=Object.keys(O.vars.invisibleImages);r.forEach(function(t){e=O.vars.invisibleImages[t],T(e)&&"img"==e.nodeName.toLowerCase()&&(n.push(e),delete O.vars.invisibleImages[t])}),n.length&&F.run({images:n}),setTimeout(function(){t.requestAnimationFrame(c)},10)}function d(){O.vars.visibilityCheckStarted||(t.requestAnimationFrame(c),O.vars.visibilityCheckStarted=!0)}function f(e){e.holderData.invisibleId||(O.vars.invisibleId+=1,O.vars.invisibleImages["i"+O.vars.invisibleId]=e,e.holderData.invisibleId=O.vars.invisibleId)}function p(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 g(){p(function(){h(null)})}var m=n(2),v=n(3),y=n(6),w=n(7),b=n(8),x=n(9),S=n(10),A=n(11),C=n(12),E=n(15),k=w.extend,T=w.dimensionCheck,j=A.svg_ns,F={version:A.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){var n=x.getNodeArray(t);return n.forEach(function(t){var n=x.newEl("img"),r={};r[O.setup.dataAttr]=e,x.setAttr(n,r),t.appendChild(n)}),this},setResizeUpdate:function(e,t){e.holderData&&(e.holderData.resizeUpdate=!!t,e.holderData.resizeUpdate&&h(e))},run:function(e){e=e||{};var n={},a=k(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=x.getNodeArray(a.images),l=x.getNodeArray(a.bgnodes),h=x.getNodeArray(a.stylenodes),u=x.getNodeArray(a.objects);return n.stylesheets=[],n.svgXMLStylesheet=!0,n.noFontFallback=!!a.noFontFallback,n.noBackgroundSize=!!a.noBackgroundSize,h.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,h=null,u=a.domain+"/",c=l.indexOf(u);if(0===c)h=l;else if(1===c&&"?"===l[0])h=l.slice(1);else{var d=l.substr(c).match(/([^\"]*)"?\)/);if(null!==d)h=d[1];else if(0===l.indexOf("url("))throw"Holder: unable to parse background URL: "+l}if(h){var f=i(h,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(i){}var o=null!=t.data&&0===t.data.indexOf(a.domain),s=null!=t.dataSrc&&0===t.dataSrc.indexOf(a.domain);o?r(a,n,t.data,e):s&&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(i){}var o=null!=t.src,s=null!=t.dataSrc&&0===t.dataSrc.indexOf(a.domain),l=null!=t.rendered&&"true"==t.rendered;o?0===t.src.indexOf(a.domain)?r(a,n,t.src,e):s&&(l?r(a,n,t.dataSrc,e):!function(e,t,n,i,o){w.imageExists(e,function(e){e||r(t,n,i,o)})}(t.src,a,n,t.dataSrc,e)):s&&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}},z=function(){var e=null,t=null,n=null;return function(r){var i=r.root;if(O.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",j),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:w.cssProps({"font-weight":l.font.weight,"font-size":l.font.size+l.font.units,"font-family":l.font.family})}),n.nodeValue=l.text;var h=t.getBBox(),u=Math.ceil(h.width/i.properties.width),c=l.text.split(" "),d=l.text.match(/\\n/g);u+=null==d?0:d.length,n.nodeValue=l.text.replace(/[ ]+/g,"");var f=t.getComputedTextLength(),p=h.width-f,g=Math.round(p/Math.max(1,c.length-1)),m=[];if(u>1){n.nodeValue="";for(var v=0;v<c.length;v++)if(0!==c[v].length){n.nodeValue=w.decodeHtmlEntity(c[v]);var y=t.getBBox();m.push({text:c[v],width:y.width})}}return e.style.display="none",{spaceWidth:g,lineCount:u,boundingBox:h,words:m}}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=x.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(j,"svg").createSVGRect&&(O.setup.renderer="svg",O.setup.supportsSVG=!0)}(),d(),m&&m(function(){O.vars.preempted||F.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(){F.run()})}),e.exports=F}).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=S.shift();)i(e)}}function n(e){(w||e.type===l||a[d]===c)&&(r(),t())}function r(){w?(a[y](m,n,h),e[y](l,n,h)):(a[p](v,n),e[p](u,n))}function i(e,t){setTimeout(e,+t>=0?t:1)}function o(e){x?i(e):S.push(e)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function C(){document.removeEventListener("DOMContentLoaded",C,!1),document.readyState="complete"},!1),document.readyState="loading");var a=e.document,s=a.documentElement,l="load",h=!1,u="on"+l,c="complete",d="readyState",f="attachEvent",p="detachEvent",g="addEventListener",m="DOMContentLoaded",v="onreadystatechange",y="removeEventListener",w=g in a,b=h,x=h,S=[];if(a[d]===c)i(t);else if(w)a[g](m,n,h),e[g](l,n,h);else{a[f](v,n),e[f](u,n);try{b=null==e.frameElement&&s}catch(A){}b&&b.doScroll&&!function E(){if(!x){try{b.doScroll("left")}catch(e){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,h,u,c=n[r].split("="),d=i(c[0]);if(a=s.exec(d))t[a[1]]=t[a[1]]||[],t[a[1]][a[2]]=i(c[1]);else if(a=l.test(d)){for(a=d.split("."),h=t;a.length;)if(u=a.shift(),u.length){if(h[u]){if(h[u]&&"object"!=typeof h[u])break}else h[u]={};a.length||(h[u]=i(c[1])),h=h[u]}}else t[c[0]]=null==c[1]?"":i(c[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 h=new i;return this.Shape={Rect:s,Text:l,Group:a},this.root=h,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 h=0;h<e.childNodes.length;h++)e.childNodes[h].nodeType===o&&e.removeChild(e.childNodes[h]);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 h=s.createProcessingInstruction("xml-stylesheet",'href="'+a[l]+'" rel="stylesheet"');s.insertBefore(h,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,h=0;return r>=0&&r<1?(s=i,l=o):r>=1&&r<2?(s=o,l=i):r>=2&&r<3?(l=i,h=o):r>=3&&r<4?(l=o,h=i):r>=4&&r<5?(s=o,h=i):r>=5&&r<6&&(s=i,h=o),s+=a,l+=a,h+=a,s=parseInt(255*s),l=parseInt(255*l),h=parseInt(255*h),[s,l,h]},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 c.element({tag:t,width:e.width,height:e.height,fill:e.properties.fill})}function i(e){return h.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),h=n(7),u=l.svg_ns,c={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,h=l.map(function(e){return'<?xml-stylesheet rel="stylesheet" href="'+e+'"?>'}).join("\n"),d="holder_"+Number(new Date).toString(16),f=e.root,p=f.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=c.element({tag:"text",content:n.properties.text,x:r,y:i});m.push(o)})});var v=c.element({tag:"g",content:m}),y=null;if(f.children.holderBg.properties.outline){var w=f.children.holderBg.properties.outline;y=c.element({tag:"path",d:o(f.children.holderBg.width,f.children.holderBg.height,w.width),"stroke-width":w.width,stroke:w.fill,fill:"none"})}var b=r(f.children.holderBg,"rect"),x=[];x.push(b),w&&x.push(y),x.push(v);var S=c.element({tag:"g",id:d,content:x}),A=c.element({tag:"style",content:g,type:"text/css"}),C=c.element({tag:"defs",content:A}),E=c.element({tag:"svg",content:[C,S],width:f.properties.width,height:f.properties.height,xmlns:u,viewBox:[0,0,f.properties.width,f.properties.height].join(" "),preserveAspectRatio:"none"}),k=a(E);k=h+k[0];var T=s.svgStringToDataURI(k,"background"===t.mode);return T}},function(e,t,n){n(14);e.exports=function r(e,t,n){"use strict";function i(e){var t=e.match(/^[\w-]+/),r={tag:t?t[0]:"div",attr:{},children:[]},i=e.match(/#([\w-]+)/),o=e.match(/\$([\w-]+)/),a=e.match(/\.[\w-]+/g);return i&&(r.attr.id=i[1],n[i[1]]=r),o&&(n[o[1]]=r),a&&(r.attr["class"]=a.join(" ").replace(/\./g,"")),e.match(/&$/g)&&(f=!1),r}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,h,u,c,d=1,f=!0;if(n=n||{},"string"==typeof e[0])e[0]=i(e[0]);else{if(!Array.isArray(e[0]))throw new Error("First element of array must be a string, or an array and not "+JSON.stringify(e[0]));d=0}for(;d<e.length;d++){if(e[d]===!1||null===e[d]){e[0]=!1;break}if(void 0!==e[d]&&e[d]!==!0)if("string"==typeof e[d])f&&(e[d]=s(e[d])),e[0].children.push(e[d]);else if("number"==typeof e[d])e[0].children.push(e[d]);else if(Array.isArray(e[d])){if(Array.isArray(e[d][0])){if(e[d].reverse().forEach(function(t){e.splice(d+1,0,t)}),0!==d)continue;d++}r(e[d],t,n),e[d][0]&&e[0].children.push(e[d][0])}else if("function"==typeof e[d])u=e[d];else{if("object"!=typeof e[d])throw new TypeError('"'+e[d]+'" is not allowed as a value.');for(h in e[d])e[d].hasOwnProperty(h)&&null!==e[d][h]&&e[d][h]!==!1&&("style"===h&&"object"==typeof e[d][h]?e[0].attr[h]=JSON.stringify(e[d][h],o).slice(2,-2).replace(/","/g,";").replace(/":"/g,":").replace(/\\"/g,"'"):e[0].attr[h]=e[d][h])}}if(e[0]!==!1){l="<"+e[0].tag;for(c in e[0].attr)e[0].attr.hasOwnProperty(c)&&(l+=" "+c+'="'+a(e[0].attr[c])+'"');l+=">",e[0].children.forEach(function(e){l+=e}),l+="</"+e[0].tag+">",e[0]=l}return n[0]=e[0],u&&u(e[0]),n}},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,h=2,u=h/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(u,u),t.lineTo(s-u,u),t.lineTo(s-u,l-u),t.lineTo(u,l-u),t.lineTo(u,u),t.moveTo(0,u),t.lineTo(s,l-u),t.moveTo(0,l-u),t.lineTo(s,u),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 d in c.children){var f=c.children[d];for(var p in f.children){var g=f.children[p],m=r*(c.x+f.x+g.x),v=r*(c.y+f.y+g.y+c.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); \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/popper.min.js b/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/popper.min.js
deleted file mode 100644
index 79ccbf58b..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/popper.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/*
- Copyright (C) Federico Zivolo 2018
- Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT).
- */(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 e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){var i=e.ownerDocument.documentElement,r=e.ownerDocument.scrollingElement||i;return r[o]}return e[o]}function f(e,t){var o=2<arguments.length&&void 0!==arguments[2]&&arguments[2],n=l(t,'top'),i=l(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function m(e,t){var o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e['border'+o+'Width'],10)+parseFloat(e['border'+n+'Width'],10)}function h(e,t,o,n){return $(t['offset'+e],t['scroll'+e],o['client'+e],o['offset'+e],o['scroll'+e],r(10)?o['offset'+e]+n['margin'+('Height'===e?'Top':'Left')]+n['margin'+('Height'===e?'Bottom':'Right')]:0)}function c(){var e=document.body,t=document.documentElement,o=r(10)&&getComputedStyle(t);return{height:h('Height',e,t,o),width:h('Width',e,t,o)}}function g(e){return le({},e,{right:e.left+e.width,bottom:e.top+e.height})}function u(e){var o={};try{if(r(10)){o=e.getBoundingClientRect();var n=l(e,'top'),i=l(e,'left');o.top+=n,o.left+=i,o.bottom+=n,o.right+=i}else o=e.getBoundingClientRect()}catch(t){}var p={left:o.left,top:o.top,width:o.right-o.left,height:o.bottom-o.top},s='HTML'===e.nodeName?c():{},d=s.width||e.clientWidth||p.right-p.left,a=s.height||e.clientHeight||p.bottom-p.top,f=e.offsetWidth-d,h=e.offsetHeight-a;if(f||h){var u=t(e);f-=m(u,'x'),h-=m(u,'y'),p.width-=f,p.height-=h}return g(p)}function b(e,o){var i=2<arguments.length&&void 0!==arguments[2]&&arguments[2],p=r(10),s='HTML'===o.nodeName,d=u(e),a=u(o),l=n(e),m=t(o),h=parseFloat(m.borderTopWidth,10),c=parseFloat(m.borderLeftWidth,10);i&&'HTML'===o.nodeName&&(a.top=$(a.top,0),a.left=$(a.left,0));var b=g({top:d.top-a.top-h,left:d.left-a.left-c,width:d.width,height:d.height});if(b.marginTop=0,b.marginLeft=0,!p&&s){var y=parseFloat(m.marginTop,10),w=parseFloat(m.marginLeft,10);b.top-=h-y,b.bottom-=h-y,b.left-=c-w,b.right-=c-w,b.marginTop=y,b.marginLeft=w}return(p&&!i?o.contains(l):o===l&&'BODY'!==l.nodeName)&&(b=f(b,o)),b}function y(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=e.ownerDocument.documentElement,n=b(e,o),i=$(o.clientWidth,window.innerWidth||0),r=$(o.clientHeight,window.innerHeight||0),p=t?0:l(o),s=t?0:l(o,'left'),d={top:p-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r};return g(d)}function w(e){var n=e.nodeName;return'BODY'===n||'HTML'===n?!1:'fixed'===t(e,'position')||w(o(e))}function E(e){if(!e||!e.parentElement||r())return document.documentElement;for(var o=e.parentElement;o&&'none'===t(o,'transform');)o=o.parentElement;return o||document.documentElement}function v(e,t,i,r){var p=4<arguments.length&&void 0!==arguments[4]&&arguments[4],s={top:0,left:0},d=p?E(e):a(e,t);if('viewport'===r)s=y(d,p);else{var l;'scrollParent'===r?(l=n(o(t)),'BODY'===l.nodeName&&(l=e.ownerDocument.documentElement)):'window'===r?l=e.ownerDocument.documentElement:l=r;var f=b(l,d,p);if('HTML'===l.nodeName&&!w(d)){var m=c(),h=m.height,g=m.width;s.top+=f.top-f.marginTop,s.bottom=h+f.top,s.left+=f.left-f.marginLeft,s.right=g+f.left}else s=f}return s.left+=i,s.top+=i,s.right-=i,s.bottom-=i,s}function x(e){var t=e.width,o=e.height;return t*o}function O(e,t,o,n,i){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var p=v(o,n,r,i),s={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},d=Object.keys(s).map(function(e){return le({key:e},s[e],{area:x(s[e])})}).sort(function(e,t){return t.area-e.area}),a=d.filter(function(e){var t=e.width,n=e.height;return t>=o.clientWidth&&n>=o.clientHeight}),l=0<a.length?a[0].key:d[0].key,f=e.split('-')[1];return l+(f?'-'+f:'')}function L(e,t,o){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,i=n?E(t):a(t,o);return b(o,i,n)}function S(e){var t=getComputedStyle(e),o=parseFloat(t.marginTop)+parseFloat(t.marginBottom),n=parseFloat(t.marginLeft)+parseFloat(t.marginRight),i={width:e.offsetWidth+n,height:e.offsetHeight+o};return i}function T(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function C(e,t,o){o=o.split('-')[0];var n=S(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',s=r?'left':'top',d=r?'height':'width',a=r?'width':'height';return i[p]=t[p]+t[d]/2-n[d]/2,i[s]=o===s?t[s]-n[a]:t[T(s)],i}function D(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function N(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var n=D(e,function(e){return e[t]===o});return e.indexOf(n)}function P(t,o,n){var i=void 0===n?t:t.slice(0,N(t,'name',n));return i.forEach(function(t){t['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var n=t['function']||t.fn;t.enabled&&e(n)&&(o.offsets.popper=g(o.offsets.popper),o.offsets.reference=g(o.offsets.reference),o=n(o,t))}),o}function k(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=O(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=C(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=P(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function W(e,t){return e.some(function(e){var o=e.name,n=e.enabled;return n&&o===t})}function B(e){for(var t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<t.length;n++){var i=t[n],r=i?''+i+o:e;if('undefined'!=typeof document.body.style[r])return r}return null}function H(){return this.state.isDestroyed=!0,W(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[B('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function A(e){var t=e.ownerDocument;return t?t.defaultView:window}function M(e,t,o,i){var r='BODY'===e.nodeName,p=r?e.ownerDocument.defaultView:e;p.addEventListener(t,o,{passive:!0}),r||M(n(p.parentNode),t,o,i),i.push(p)}function I(e,t,o,i){o.updateBound=i,A(e).addEventListener('resize',o.updateBound,{passive:!0});var r=n(e);return M(r,'scroll',o.updateBound,o.scrollParents),o.scrollElement=r,o.eventsEnabled=!0,o}function F(){this.state.eventsEnabled||(this.state=I(this.reference,this.options,this.state,this.scheduleUpdate))}function R(e,t){return A(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function U(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=R(this.reference,this.state))}function Y(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function j(e,t){Object.keys(t).forEach(function(o){var n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&Y(t[o])&&(n='px'),e.style[o]=t[o]+n})}function K(e,t){Object.keys(t).forEach(function(o){var n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function q(e,t,o){var n=D(e,function(e){var o=e.name;return o===t}),i=!!n&&e.some(function(e){return e.name===o&&e.enabled&&e.order<n.order});if(!i){var r='`'+t+'`';console.warn('`'+o+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return i}function G(e){return'end'===e?'start':'start'===e?'end':e}function z(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=me.indexOf(e),n=me.slice(o+1).concat(me.slice(0,o));return t?n.reverse():n}function V(e,t,o,n){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+i[1],p=i[2];if(!r)return e;if(0===p.indexOf('%')){var s;switch(p){case'%p':s=o;break;case'%':case'%r':default:s=n;}var d=g(s);return d[t]/100*r}if('vh'===p||'vw'===p){var a;return a='vh'===p?$(document.documentElement.clientHeight,window.innerHeight||0):$(document.documentElement.clientWidth,window.innerWidth||0),a/100*r}return r}function _(e,t,o,n){var i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(D(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,n){var i=(1===n?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return V(e,i,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,n){Y(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function X(e,t){var o,n=t.offset,i=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=i.split('-')[0];return o=Y(+n)?[+n,0]:_(n,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e}for(var J=Math.min,Q=Math.round,Z=Math.floor,$=Math.max,ee='undefined'!=typeof window&&'undefined'!=typeof document,te=['Edge','Trident','Firefox'],oe=0,ne=0;ne<te.length;ne+=1)if(ee&&0<=navigator.userAgent.indexOf(te[ne])){oe=1;break}var i=ee&&window.Promise,ie=i?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},oe))}},re=ee&&!!(window.MSInputMethodContext&&document.documentMode),pe=ee&&/MSIE 10/.test(navigator.userAgent),se=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},de=function(){function e(e,t){for(var o,n=0;n<t.length;n++)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,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),ae=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},le=Object.assign||function(e){for(var t,o=1;o<arguments.length;o++)for(var n in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},fe=['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'],me=fe.slice(3),he={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},ce=function(){function t(o,n){var i=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};se(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=ie(this.update.bind(this)),this.options=le({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=o&&o.jquery?o[0]:o,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(le({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=le({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return le({name:e},i.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var p=this.options.eventsEnabled;p&&this.enableEventListeners(),this.state.eventsEnabled=p}return de(t,[{key:'update',value:function(){return k.call(this)}},{key:'destroy',value:function(){return H.call(this)}},{key:'enableEventListeners',value:function(){return F.call(this)}},{key:'disableEventListeners',value:function(){return U.call(this)}}]),t}();return ce.Utils=('undefined'==typeof window?global:window).PopperUtils,ce.placements=fe,ce.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){var i=e.offsets,r=i.reference,p=i.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',l={start:ae({},d,r[d]),end:ae({},d,r[d]+r[a]-p[a])};e.offsets.popper=le({},p,l[n])}return e}},offset:{order:200,enabled:!0,fn:X,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||p(e.instance.popper);e.instance.reference===o&&(o=p(o));var n=B('transform'),i=e.instance.popper.style,r=i.top,s=i.left,d=i[n];i.top='',i.left='',i[n]='';var a=v(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=s,i[n]=d,t.boundaries=a;var l=t.priority,f=e.offsets.popper,m={primary:function(e){var o=f[e];return f[e]<a[e]&&!t.escapeWithReference&&(o=$(f[e],a[e])),ae({},e,o)},secondary:function(e){var o='right'===e?'left':'top',n=f[o];return f[e]>a[e]&&!t.escapeWithReference&&(n=J(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]<r(n[d])&&(e.offsets.popper[d]=r(n[d])-o[a]),o[d]>r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!q(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-u<s[m]&&(e.offsets.popper[m]-=s[m]-(d[c]-u)),d[m]+u>s[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,y=t(e.instance.popper),w=parseFloat(y['margin'+f],10),E=parseFloat(y['border'+f+'Width'],10),v=b-e.offsets.popper[m]-w-E;return v=$(J(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,Q(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case he.FLIP:p=[n,i];break;case he.CLOCKWISE:p=z(n);break;case he.COUNTERCLOCKWISE:p=z(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)<f(l.right)||'top'===n&&f(a.bottom)>f(l.top)||'bottom'===n&&f(a.top)<f(l.bottom),h=f(a.left)<f(o.left),c=f(a.right)>f(o.right),g=f(a.top)<f(o.top),u=f(a.bottom)>f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,y=-1!==['top','bottom'].indexOf(n),w=!!t.flipVariations&&(y&&'start'===r&&h||y&&'end'===r&&c||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),w&&(r=G(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!q(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<o.top||t.left>o.right||t.top>o.bottom||t.right<o.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var o=t.x,n=t.y,i=e.offsets.popper,r=D(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var s,d,a=void 0===r?t.gpuAcceleration:r,l=p(e.instance.popper),f=u(l),m={position:i.position},h={left:Z(i.left),top:Q(i.top),bottom:Q(i.bottom),right:Z(i.right)},c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?-f.height+h.bottom:h.top,s='right'==g?-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var y='bottom'==c?-1:1,w='right'==g?-1:1;m[c]=d*y,m[g]=s*w,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return j(e.instance.popper,e.styles),K(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&j(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),j(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ce});
-//# sourceMappingURL=popper.min.js.map
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_brand.scss b/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_brand.scss
deleted file mode 100644
index 2d5c5a4cf..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_brand.scss
+++ /dev/null
@@ -1,110 +0,0 @@
-// stylelint-disable no-duplicate-selectors
-
-//
-// Brand guidelines
-//
-
-// Logo series wrapper
-.bd-brand-logos {
- display: table;
- width: 100%;
- margin-bottom: 1rem;
- overflow: hidden;
- color: #563d7c;
- background-color: #f9f9f9;
- border-radius: .25rem;
-}
-
-// Individual items
-.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;
-}
-
-// Heading content within
-.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;
-}
-
-// Make the icons stand out on what is/isn't okay
-// .bd-brand-item .glyphicon {
-// width: 30px;
-// height: 30px;
-// margin: 10px auto -10px;
-// line-height: 30px;
-// color: #fff;
-// border-radius: 50%;
-// }
-// .bd-brand-item .glyphicon-ok {
-// background-color: #5cb85c;
-// }
-// .bd-brand-item .glyphicon-remove {
-// background-color: #d9534f;
-// }
-
-@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
-//
-
-.color-swatches {
- margin: 0 -5px;
- overflow: hidden; // clearfix
-}
-
-.color-swatch {
- float: left;
- width: 4rem;
- height: 4rem;
- margin-right: .25rem;
- margin-left: .25rem;
- border-radius: .25rem;
-
- @media (min-width: 768px) {
- width: 6rem;
- height: 6rem;
- }
-}
-
-// Docs colors
-.color-swatches {
- .bd-purple {
- background-color: $bd-purple;
- }
- .bd-purple-light {
- background-color: $bd-purple-light;
- }
- .bd-purple-lighter {
- background-color: #e5e1ea;
- }
- .bd-gray {
- background-color: #f9f9f9;
- }
-}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_examples.scss b/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_examples.scss
deleted file mode 100644
index a4ec7a299..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_examples.scss
+++ /dev/null
@@ -1,24 +0,0 @@
-//
-// Examples
-//
-
-.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;
- }
-}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_skiplink.scss b/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_skiplink.scss
deleted file mode 100644
index 7ca3074a8..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_skiplink.scss
+++ /dev/null
@@ -1,14 +0,0 @@
-// stylelint-disable selector-max-id
-
-#skippy {
- display: block;
- padding: 1em;
- color: #fff;
- background-color: $bd-purple;
- outline: 0;
-
- .skiplink-text {
- padding: .5em;
- outline: 1px dotted;
- }
-}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/.eslintrc.json b/vendor/twbs/bootstrap/site/docs/4.1/examples/.eslintrc.json
deleted file mode 100644
index f04fd6ae1..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/.eslintrc.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "env": {
- "es6": false,
- "jquery": true
- },
- "parserOptions": {
- "ecmaVersion": 5,
- "sourceType": "script"
- },
- "extends": "../../../js/tests/unit/.eslintrc.json"
-}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/album/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/album/index.html
deleted file mode 100644
index b30aea068..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/album/index.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Album example for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="album.css" rel="stylesheet">
- </head>
-
- <body>
-
- <header>
- <div class="collapse bg-dark" id="navbarHeader">
- <div class="container">
- <div class="row">
- <div class="col-sm-8 col-md-7 py-4">
- <h4 class="text-white">About</h4>
- <p class="text-muted">Add some information about the album below, the author, or any other background context. Make it a few sentences long so folks can pick up some informative tidbits. Then, link them off to some social networking sites or contact information.</p>
- </div>
- <div class="col-sm-4 offset-md-1 py-4">
- <h4 class="text-white">Contact</h4>
- <ul class="list-unstyled">
- <li><a href="#" class="text-white">Follow on Twitter</a></li>
- <li><a href="#" class="text-white">Like on Facebook</a></li>
- <li><a href="#" class="text-white">Email me</a></li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <div class="navbar navbar-dark bg-dark shadow-sm">
- <div class="container d-flex justify-content-between">
- <a href="#" class="navbar-brand d-flex align-items-center">
- <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="mr-2"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"></path><circle cx="12" cy="13" r="4"></circle></svg>
- <strong>Album</strong>
- </a>
- <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarHeader" aria-controls="navbarHeader" aria-expanded="false" aria-label="Toggle navigation">
- <span class="navbar-toggler-icon"></span>
- </button>
- </div>
- </div>
- </header>
-
- <main role="main">
-
- <section class="jumbotron text-center">
- <div class="container">
- <h1 class="jumbotron-heading">Album example</h1>
- <p class="lead text-muted">Something short and leading about the collection below—its contents, the creator, etc. Make it short and sweet, but not too short so folks don't simply skip over it entirely.</p>
- <p>
- <a href="#" class="btn btn-primary my-2">Main call to action</a>
- <a href="#" class="btn btn-secondary my-2">Secondary action</a>
- </p>
- </div>
- </section>
-
- <div class="album py-5 bg-light">
- <div class="container">
-
- <div class="row">
- <div class="col-md-4">
- <div class="card mb-4 shadow-sm">
- <img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
- <div class="card-body">
- <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>
- <div class="d-flex justify-content-between align-items-center">
- <div class="btn-group">
- <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
- <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
- </div>
- <small class="text-muted">9 mins</small>
- </div>
- </div>
- </div>
- </div>
- <div class="col-md-4">
- <div class="card mb-4 shadow-sm">
- <img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
- <div class="card-body">
- <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>
- <div class="d-flex justify-content-between align-items-center">
- <div class="btn-group">
- <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
- <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
- </div>
- <small class="text-muted">9 mins</small>
- </div>
- </div>
- </div>
- </div>
- <div class="col-md-4">
- <div class="card mb-4 shadow-sm">
- <img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
- <div class="card-body">
- <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>
- <div class="d-flex justify-content-between align-items-center">
- <div class="btn-group">
- <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
- <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
- </div>
- <small class="text-muted">9 mins</small>
- </div>
- </div>
- </div>
- </div>
-
- <div class="col-md-4">
- <div class="card mb-4 shadow-sm">
- <img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
- <div class="card-body">
- <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>
- <div class="d-flex justify-content-between align-items-center">
- <div class="btn-group">
- <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
- <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
- </div>
- <small class="text-muted">9 mins</small>
- </div>
- </div>
- </div>
- </div>
- <div class="col-md-4">
- <div class="card mb-4 shadow-sm">
- <img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
- <div class="card-body">
- <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>
- <div class="d-flex justify-content-between align-items-center">
- <div class="btn-group">
- <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
- <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
- </div>
- <small class="text-muted">9 mins</small>
- </div>
- </div>
- </div>
- </div>
- <div class="col-md-4">
- <div class="card mb-4 shadow-sm">
- <img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
- <div class="card-body">
- <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>
- <div class="d-flex justify-content-between align-items-center">
- <div class="btn-group">
- <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
- <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
- </div>
- <small class="text-muted">9 mins</small>
- </div>
- </div>
- </div>
- </div>
-
- <div class="col-md-4">
- <div class="card mb-4 shadow-sm">
- <img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
- <div class="card-body">
- <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>
- <div class="d-flex justify-content-between align-items-center">
- <div class="btn-group">
- <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
- <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
- </div>
- <small class="text-muted">9 mins</small>
- </div>
- </div>
- </div>
- </div>
- <div class="col-md-4">
- <div class="card mb-4 shadow-sm">
- <img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
- <div class="card-body">
- <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>
- <div class="d-flex justify-content-between align-items-center">
- <div class="btn-group">
- <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
- <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
- </div>
- <small class="text-muted">9 mins</small>
- </div>
- </div>
- </div>
- </div>
- <div class="col-md-4">
- <div class="card mb-4 shadow-sm">
- <img class="card-img-top" data-src="holder.js/100px225?theme=thumb&bg=55595c&fg=eceeef&text=Thumbnail" alt="Card image cap">
- <div class="card-body">
- <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>
- <div class="d-flex justify-content-between align-items-center">
- <div class="btn-group">
- <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
- <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
- </div>
- <small class="text-muted">9 mins</small>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- </main>
-
- <footer class="text-muted">
- <div class="container">
- <p class="float-right">
- <a href="#">Back to top</a>
- </p>
- <p>Album example is &copy; Bootstrap, but please download and customize it for yourself!</p>
- <p>New to Bootstrap? <a href="../../">Visit the homepage</a> or read our <a href="../../getting-started/">getting started guide</a>.</p>
- </div>
- </footer>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- <script src="../../assets/js/vendor/holder.min.js"></script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/blog/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/blog/index.html
deleted file mode 100644
index fef06c476..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/blog/index.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Blog Template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="https://fonts.googleapis.com/css?family=Playfair+Display:700,900" rel="stylesheet">
- <link href="blog.css" rel="stylesheet">
- </head>
-
- <body>
-
- <div class="container">
- <header class="blog-header py-3">
- <div class="row flex-nowrap justify-content-between align-items-center">
- <div class="col-4 pt-1">
- <a class="text-muted" href="#">Subscribe</a>
- </div>
- <div class="col-4 text-center">
- <a class="blog-header-logo text-dark" href="#">Large</a>
- </div>
- <div class="col-4 d-flex justify-content-end align-items-center">
- <a class="text-muted" href="#">
- <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="mx-3"><circle cx="10.5" cy="10.5" r="7.5"></circle><line x1="21" y1="21" x2="15.8" y2="15.8"></line></svg>
- </a>
- <a class="btn btn-sm btn-outline-secondary" href="#">Sign up</a>
- </div>
- </div>
- </header>
-
- <div class="nav-scroller py-1 mb-2">
- <nav class="nav d-flex justify-content-between">
- <a class="p-2 text-muted" href="#">World</a>
- <a class="p-2 text-muted" href="#">U.S.</a>
- <a class="p-2 text-muted" href="#">Technology</a>
- <a class="p-2 text-muted" href="#">Design</a>
- <a class="p-2 text-muted" href="#">Culture</a>
- <a class="p-2 text-muted" href="#">Business</a>
- <a class="p-2 text-muted" href="#">Politics</a>
- <a class="p-2 text-muted" href="#">Opinion</a>
- <a class="p-2 text-muted" href="#">Science</a>
- <a class="p-2 text-muted" href="#">Health</a>
- <a class="p-2 text-muted" href="#">Style</a>
- <a class="p-2 text-muted" href="#">Travel</a>
- </nav>
- </div>
-
- <div class="jumbotron p-3 p-md-5 text-white rounded bg-dark">
- <div class="col-md-6 px-0">
- <h1 class="display-4 font-italic">Title of a longer featured blog post</h1>
- <p class="lead my-3">Multiple lines of text that form the lede, informing new readers quickly and efficiently about what's most interesting in this post's contents.</p>
- <p class="lead mb-0"><a href="#" class="text-white font-weight-bold">Continue reading...</a></p>
- </div>
- </div>
-
- <div class="row mb-2">
- <div class="col-md-6">
- <div class="card flex-md-row mb-4 shadow-sm h-md-250">
- <div class="card-body d-flex flex-column align-items-start">
- <strong class="d-inline-block mb-2 text-primary">World</strong>
- <h3 class="mb-0">
- <a class="text-dark" href="#">Featured post</a>
- </h3>
- <div class="mb-1 text-muted">Nov 12</div>
- <p class="card-text mb-auto">This is a wider card with supporting text below as a natural lead-in to additional content.</p>
- <a href="#">Continue reading</a>
- </div>
- <img class="card-img-right flex-auto d-none d-lg-block" data-src="holder.js/200x250?theme=thumb" alt="Card image cap">
- </div>
- </div>
- <div class="col-md-6">
- <div class="card flex-md-row mb-4 shadow-sm h-md-250">
- <div class="card-body d-flex flex-column align-items-start">
- <strong class="d-inline-block mb-2 text-success">Design</strong>
- <h3 class="mb-0">
- <a class="text-dark" href="#">Post title</a>
- </h3>
- <div class="mb-1 text-muted">Nov 11</div>
- <p class="card-text mb-auto">This is a wider card with supporting text below as a natural lead-in to additional content.</p>
- <a href="#">Continue reading</a>
- </div>
- <img class="card-img-right flex-auto d-none d-lg-block" data-src="holder.js/200x250?theme=thumb" alt="Card image cap">
- </div>
- </div>
- </div>
- </div>
-
- <main role="main" class="container">
- <div class="row">
- <div class="col-md-8 blog-main">
- <h3 class="pb-3 mb-4 font-italic border-bottom">
- From the Firehose
- </h3>
-
- <div class="blog-post">
- <h2 class="blog-post-title">Sample blog post</h2>
- <p class="blog-post-meta">January 1, 2014 by <a href="#">Mark</a></p>
-
- <p>This blog post shows a few different types of content that's supported and styled with Bootstrap. Basic typography, images, and code are all supported.</p>
- <hr>
- <p>Cum sociis natoque penatibus et magnis <a href="#">dis parturient montes</a>, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.</p>
- <blockquote>
- <p>Curabitur blandit tempus porttitor. <strong>Nullam quis risus eget urna mollis</strong> ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
- </blockquote>
- <p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
- <h2>Heading</h2>
- <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
- <h3>Sub-heading</h3>
- <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
- <pre><code>Example code block</code></pre>
- <p>Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.</p>
- <h3>Sub-heading</h3>
- <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
- <ul>
- <li>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</li>
- <li>Donec id elit non mi porta gravida at eget metus.</li>
- <li>Nulla vitae elit libero, a pharetra augue.</li>
- </ul>
- <p>Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.</p>
- <ol>
- <li>Vestibulum id ligula porta felis euismod semper.</li>
- <li>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</li>
- <li>Maecenas sed diam eget risus varius blandit sit amet non magna.</li>
- </ol>
- <p>Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.</p>
- </div><!-- /.blog-post -->
-
- <div class="blog-post">
- <h2 class="blog-post-title">Another blog post</h2>
- <p class="blog-post-meta">December 23, 2013 by <a href="#">Jacob</a></p>
-
- <p>Cum sociis natoque penatibus et magnis <a href="#">dis parturient montes</a>, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.</p>
- <blockquote>
- <p>Curabitur blandit tempus porttitor. <strong>Nullam quis risus eget urna mollis</strong> ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
- </blockquote>
- <p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
- <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
- </div><!-- /.blog-post -->
-
- <div class="blog-post">
- <h2 class="blog-post-title">New feature</h2>
- <p class="blog-post-meta">December 14, 2013 by <a href="#">Chris</a></p>
-
- <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
- <ul>
- <li>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</li>
- <li>Donec id elit non mi porta gravida at eget metus.</li>
- <li>Nulla vitae elit libero, a pharetra augue.</li>
- </ul>
- <p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
- <p>Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.</p>
- </div><!-- /.blog-post -->
-
- <nav class="blog-pagination">
- <a class="btn btn-outline-primary" href="#">Older</a>
- <a class="btn btn-outline-secondary disabled" href="#">Newer</a>
- </nav>
-
- </div><!-- /.blog-main -->
-
- <aside class="col-md-4 blog-sidebar">
- <div class="p-3 mb-3 bg-light rounded">
- <h4 class="font-italic">About</h4>
- <p class="mb-0">Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
- </div>
-
- <div class="p-3">
- <h4 class="font-italic">Archives</h4>
- <ol class="list-unstyled mb-0">
- <li><a href="#">March 2014</a></li>
- <li><a href="#">February 2014</a></li>
- <li><a href="#">January 2014</a></li>
- <li><a href="#">December 2013</a></li>
- <li><a href="#">November 2013</a></li>
- <li><a href="#">October 2013</a></li>
- <li><a href="#">September 2013</a></li>
- <li><a href="#">August 2013</a></li>
- <li><a href="#">July 2013</a></li>
- <li><a href="#">June 2013</a></li>
- <li><a href="#">May 2013</a></li>
- <li><a href="#">April 2013</a></li>
- </ol>
- </div>
-
- <div class="p-3">
- <h4 class="font-italic">Elsewhere</h4>
- <ol class="list-unstyled">
- <li><a href="#">GitHub</a></li>
- <li><a href="#">Twitter</a></li>
- <li><a href="#">Facebook</a></li>
- </ol>
- </div>
- </aside><!-- /.blog-sidebar -->
-
- </div><!-- /.row -->
-
- </main><!-- /.container -->
-
- <footer class="blog-footer">
- <p>Blog template built for <a href="https://getbootstrap.com/">Bootstrap</a> by <a href="https://twitter.com/mdo">@mdo</a>.</p>
- <p>
- <a href="#">Back to top</a>
- </p>
- </footer>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- <script src="../../assets/js/vendor/holder.min.js"></script>
- <script>
- Holder.addTheme('thumb', {
- bg: '#55595c',
- fg: '#eceeef',
- text: 'Thumbnail'
- });
- </script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/carousel/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/carousel/index.html
deleted file mode 100644
index bc889dd20..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/carousel/index.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Carousel Template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="carousel.css" rel="stylesheet">
- </head>
- <body>
-
- <header>
- <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
- <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>
- <div class="collapse navbar-collapse" id="navbarCollapse">
- <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>
- </ul>
- <form class="form-inline mt-2 mt-md-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>
- </header>
-
- <main role="main">
-
- <div id="myCarousel" class="carousel slide" data-ride="carousel">
- <ol class="carousel-indicators">
- <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
- <li data-target="#myCarousel" data-slide-to="1"></li>
- <li data-target="#myCarousel" data-slide-to="2"></li>
- </ol>
- <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">
- <div class="carousel-caption text-left">
- <h1>Example headline.</h1>
- <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
- <p><a class="btn btn-lg btn-primary" href="#" role="button">Sign up today</a></p>
- </div>
- </div>
- </div>
- <div class="carousel-item">
- <img class="second-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Second slide">
- <div class="container">
- <div class="carousel-caption">
- <h1>Another example headline.</h1>
- <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
- <p><a class="btn btn-lg btn-primary" href="#" role="button">Learn more</a></p>
- </div>
- </div>
- </div>
- <div class="carousel-item">
- <img class="third-slide" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Third slide">
- <div class="container">
- <div class="carousel-caption text-right">
- <h1>One more for good measure.</h1>
- <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
- <p><a class="btn btn-lg btn-primary" href="#" role="button">Browse gallery</a></p>
- </div>
- </div>
- </div>
- </div>
- <a class="carousel-control-prev" href="#myCarousel" 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-next" href="#myCarousel" role="button" data-slide="next">
- <span class="carousel-control-next-icon" aria-hidden="true"></span>
- <span class="sr-only">Next</span>
- </a>
- </div>
-
-
- <!-- Marketing messaging and featurettes
- ================================================== -->
- <!-- Wrap the rest of the page in another container to center all the content. -->
-
- <div class="container marketing">
-
- <!-- Three columns of text below the carousel -->
- <div class="row">
- <div class="col-lg-4">
- <img class="rounded-circle" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Generic placeholder image" width="140" height="140">
- <h2>Heading</h2>
- <p>Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna.</p>
- <p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
- </div><!-- /.col-lg-4 -->
- <div class="col-lg-4">
- <img class="rounded-circle" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Generic placeholder image" width="140" height="140">
- <h2>Heading</h2>
- <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.</p>
- <p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
- </div><!-- /.col-lg-4 -->
- <div class="col-lg-4">
- <img class="rounded-circle" src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" alt="Generic placeholder image" width="140" height="140">
- <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>
- <p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
- </div><!-- /.col-lg-4 -->
- </div><!-- /.row -->
-
-
- <!-- START THE FEATURETTES -->
-
- <hr class="featurette-divider">
-
- <div class="row featurette">
- <div class="col-md-7">
- <h2 class="featurette-heading">First featurette heading. <span class="text-muted">It'll blow your mind.</span></h2>
- <p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
- </div>
- <div class="col-md-5">
- <img class="featurette-image img-fluid mx-auto" data-src="holder.js/500x500/auto" alt="Generic placeholder image">
- </div>
- </div>
-
- <hr class="featurette-divider">
-
- <div class="row featurette">
- <div class="col-md-7 order-md-2">
- <h2 class="featurette-heading">Oh yeah, it's that good. <span class="text-muted">See for yourself.</span></h2>
- <p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
- </div>
- <div class="col-md-5 order-md-1">
- <img class="featurette-image img-fluid mx-auto" data-src="holder.js/500x500/auto" alt="Generic placeholder image">
- </div>
- </div>
-
- <hr class="featurette-divider">
-
- <div class="row featurette">
- <div class="col-md-7">
- <h2 class="featurette-heading">And lastly, this one. <span class="text-muted">Checkmate.</span></h2>
- <p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
- </div>
- <div class="col-md-5">
- <img class="featurette-image img-fluid mx-auto" data-src="holder.js/500x500/auto" alt="Generic placeholder image">
- </div>
- </div>
-
- <hr class="featurette-divider">
-
- <!-- /END THE FEATURETTES -->
-
- </div><!-- /.container -->
-
-
- <!-- FOOTER -->
- <footer class="container">
- <p class="float-right"><a href="#">Back to top</a></p>
- <p>&copy; 2017-2018 Company, Inc. &middot; <a href="#">Privacy</a> &middot; <a href="#">Terms</a></p>
- </footer>
- </main>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></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>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/checkout/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/checkout/index.html
deleted file mode 100644
index 0dda89ef8..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/checkout/index.html
+++ /dev/null
@@ -1,268 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Checkout example for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="form-validation.css" rel="stylesheet">
- </head>
-
- <body class="bg-light">
-
- <div class="container">
- <div class="py-5 text-center">
- <img class="d-block mx-auto mb-4" src="../../assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">
- <h2>Checkout form</h2>
- <p class="lead">Below is an example form built entirely with Bootstrap's form controls. Each required form group has a validation state that can be triggered by attempting to submit the form without completing it.</p>
- </div>
-
- <div class="row">
- <div class="col-md-4 order-md-2 mb-4">
- <h4 class="d-flex justify-content-between align-items-center mb-3">
- <span class="text-muted">Your cart</span>
- <span class="badge badge-secondary badge-pill">3</span>
- </h4>
- <ul class="list-group mb-3">
- <li class="list-group-item d-flex justify-content-between lh-condensed">
- <div>
- <h6 class="my-0">Product name</h6>
- <small class="text-muted">Brief description</small>
- </div>
- <span class="text-muted">$12</span>
- </li>
- <li class="list-group-item d-flex justify-content-between lh-condensed">
- <div>
- <h6 class="my-0">Second product</h6>
- <small class="text-muted">Brief description</small>
- </div>
- <span class="text-muted">$8</span>
- </li>
- <li class="list-group-item d-flex justify-content-between lh-condensed">
- <div>
- <h6 class="my-0">Third item</h6>
- <small class="text-muted">Brief description</small>
- </div>
- <span class="text-muted">$5</span>
- </li>
- <li class="list-group-item d-flex justify-content-between bg-light">
- <div class="text-success">
- <h6 class="my-0">Promo code</h6>
- <small>EXAMPLECODE</small>
- </div>
- <span class="text-success">-$5</span>
- </li>
- <li class="list-group-item d-flex justify-content-between">
- <span>Total (USD)</span>
- <strong>$20</strong>
- </li>
- </ul>
-
- <form class="card p-2">
- <div class="input-group">
- <input type="text" class="form-control" placeholder="Promo code">
- <div class="input-group-append">
- <button type="submit" class="btn btn-secondary">Redeem</button>
- </div>
- </div>
- </form>
- </div>
- <div class="col-md-8 order-md-1">
- <h4 class="mb-3">Billing address</h4>
- <form class="needs-validation" novalidate>
- <div class="row">
- <div class="col-md-6 mb-3">
- <label for="firstName">First name</label>
- <input type="text" class="form-control" id="firstName" placeholder="" value="" required>
- <div class="invalid-feedback">
- Valid first name is required.
- </div>
- </div>
- <div class="col-md-6 mb-3">
- <label for="lastName">Last name</label>
- <input type="text" class="form-control" id="lastName" placeholder="" value="" required>
- <div class="invalid-feedback">
- Valid last name is required.
- </div>
- </div>
- </div>
-
- <div class="mb-3">
- <label for="username">Username</label>
- <div class="input-group">
- <div class="input-group-prepend">
- <span class="input-group-text">@</span>
- </div>
- <input type="text" class="form-control" id="username" placeholder="Username" required>
- <div class="invalid-feedback" style="width: 100%;">
- Your username is required.
- </div>
- </div>
- </div>
-
- <div class="mb-3">
- <label for="email">Email <span class="text-muted">(Optional)</span></label>
- <input type="email" class="form-control" id="email" placeholder="you@example.com">
- <div class="invalid-feedback">
- Please enter a valid email address for shipping updates.
- </div>
- </div>
-
- <div class="mb-3">
- <label for="address">Address</label>
- <input type="text" class="form-control" id="address" placeholder="1234 Main St" required>
- <div class="invalid-feedback">
- Please enter your shipping address.
- </div>
- </div>
-
- <div class="mb-3">
- <label for="address2">Address 2 <span class="text-muted">(Optional)</span></label>
- <input type="text" class="form-control" id="address2" placeholder="Apartment or suite">
- </div>
-
- <div class="row">
- <div class="col-md-5 mb-3">
- <label for="country">Country</label>
- <select class="custom-select d-block w-100" id="country" required>
- <option value="">Choose...</option>
- <option>United States</option>
- </select>
- <div class="invalid-feedback">
- Please select a valid country.
- </div>
- </div>
- <div class="col-md-4 mb-3">
- <label for="state">State</label>
- <select class="custom-select d-block w-100" id="state" required>
- <option value="">Choose...</option>
- <option>California</option>
- </select>
- <div class="invalid-feedback">
- Please provide a valid state.
- </div>
- </div>
- <div class="col-md-3 mb-3">
- <label for="zip">Zip</label>
- <input type="text" class="form-control" id="zip" placeholder="" required>
- <div class="invalid-feedback">
- Zip code required.
- </div>
- </div>
- </div>
- <hr class="mb-4">
- <div class="custom-control custom-checkbox">
- <input type="checkbox" class="custom-control-input" id="same-address">
- <label class="custom-control-label" for="same-address">Shipping address is the same as my billing address</label>
- </div>
- <div class="custom-control custom-checkbox">
- <input type="checkbox" class="custom-control-input" id="save-info">
- <label class="custom-control-label" for="save-info">Save this information for next time</label>
- </div>
- <hr class="mb-4">
-
- <h4 class="mb-3">Payment</h4>
-
- <div class="d-block my-3">
- <div class="custom-control custom-radio">
- <input id="credit" name="paymentMethod" type="radio" class="custom-control-input" checked required>
- <label class="custom-control-label" for="credit">Credit card</label>
- </div>
- <div class="custom-control custom-radio">
- <input id="debit" name="paymentMethod" type="radio" class="custom-control-input" required>
- <label class="custom-control-label" for="debit">Debit card</label>
- </div>
- <div class="custom-control custom-radio">
- <input id="paypal" name="paymentMethod" type="radio" class="custom-control-input" required>
- <label class="custom-control-label" for="paypal">PayPal</label>
- </div>
- </div>
- <div class="row">
- <div class="col-md-6 mb-3">
- <label for="cc-name">Name on card</label>
- <input type="text" class="form-control" id="cc-name" placeholder="" required>
- <small class="text-muted">Full name as displayed on card</small>
- <div class="invalid-feedback">
- Name on card is required
- </div>
- </div>
- <div class="col-md-6 mb-3">
- <label for="cc-number">Credit card number</label>
- <input type="text" class="form-control" id="cc-number" placeholder="" required>
- <div class="invalid-feedback">
- Credit card number is required
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col-md-3 mb-3">
- <label for="cc-expiration">Expiration</label>
- <input type="text" class="form-control" id="cc-expiration" placeholder="" required>
- <div class="invalid-feedback">
- Expiration date required
- </div>
- </div>
- <div class="col-md-3 mb-3">
- <label for="cc-cvv">CVV</label>
- <input type="text" class="form-control" id="cc-cvv" placeholder="" required>
- <div class="invalid-feedback">
- Security code required
- </div>
- </div>
- </div>
- <hr class="mb-4">
- <button class="btn btn-primary btn-lg btn-block" type="submit">Continue to checkout</button>
- </form>
- </div>
- </div>
-
- <footer class="my-5 pt-5 text-muted text-center text-small">
- <p class="mb-1">&copy; 2017-2018 Company Name</p>
- <ul class="list-inline">
- <li class="list-inline-item"><a href="#">Privacy</a></li>
- <li class="list-inline-item"><a href="#">Terms</a></li>
- <li class="list-inline-item"><a href="#">Support</a></li>
- </ul>
- </footer>
- </div>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- <script src="../../assets/js/vendor/holder.min.js"></script>
- <script>
- // Example starter JavaScript for disabling form submissions if there are invalid fields
- (function() {
- 'use strict';
-
- window.addEventListener('load', function() {
- // Fetch all the forms we want to apply custom Bootstrap validation styles to
- var forms = document.getElementsByClassName('needs-validation');
-
- // Loop over them and prevent submission
- var validation = Array.prototype.filter.call(forms, function(form) {
- form.addEventListener('submit', function(event) {
- if (form.checkValidity() === false) {
- event.preventDefault();
- event.stopPropagation();
- }
- form.classList.add('was-validated');
- }, false);
- });
- }, false);
- })();
- </script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/cover/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/cover/index.html
deleted file mode 100644
index f4281c7cf..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/cover/index.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Cover Template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="cover.css" rel="stylesheet">
- </head>
-
- <body class="text-center">
-
- <div class="cover-container d-flex w-100 h-100 p-3 mx-auto flex-column">
- <header class="masthead mb-auto">
- <div class="inner">
- <h3 class="masthead-brand">Cover</h3>
- <nav class="nav nav-masthead justify-content-center">
- <a class="nav-link active" href="#">Home</a>
- <a class="nav-link" href="#">Features</a>
- <a class="nav-link" href="#">Contact</a>
- </nav>
- </div>
- </header>
-
- <main role="main" class="inner cover">
- <h1 class="cover-heading">Cover your page.</h1>
- <p class="lead">Cover is a one-page template for building simple and beautiful home pages. Download, edit the text, and add your own fullscreen background photo to make it your own.</p>
- <p class="lead">
- <a href="#" class="btn btn-lg btn-secondary">Learn more</a>
- </p>
- </main>
-
- <footer class="mastfoot mt-auto">
- <div class="inner">
- <p>Cover template for <a href="https://getbootstrap.com/">Bootstrap</a>, by <a href="https://twitter.com/mdo">@mdo</a>.</p>
- </div>
- </footer>
- </div>
-
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/dashboard/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/dashboard/index.html
deleted file mode 100644
index f66c4505d..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/dashboard/index.html
+++ /dev/null
@@ -1,303 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Dashboard Template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="dashboard.css" rel="stylesheet">
- </head>
-
- <body>
- <nav class="navbar navbar-dark fixed-top bg-dark flex-md-nowrap p-0 shadow">
- <a class="navbar-brand col-sm-3 col-md-2 mr-0" href="#">Company name</a>
- <input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
- <ul class="navbar-nav px-3">
- <li class="nav-item text-nowrap">
- <a class="nav-link" href="#">Sign out</a>
- </li>
- </ul>
- </nav>
-
- <div class="container-fluid">
- <div class="row">
- <nav class="col-md-2 d-none d-md-block bg-light sidebar">
- <div class="sidebar-sticky">
- <ul class="nav flex-column">
- <li class="nav-item">
- <a class="nav-link active" href="#">
- <span data-feather="home"></span>
- Dashboard <span class="sr-only">(current)</span>
- </a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">
- <span data-feather="file"></span>
- Orders
- </a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">
- <span data-feather="shopping-cart"></span>
- Products
- </a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">
- <span data-feather="users"></span>
- Customers
- </a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">
- <span data-feather="bar-chart-2"></span>
- Reports
- </a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">
- <span data-feather="layers"></span>
- Integrations
- </a>
- </li>
- </ul>
-
- <h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
- <span>Saved reports</span>
- <a class="d-flex align-items-center text-muted" href="#">
- <span data-feather="plus-circle"></span>
- </a>
- </h6>
- <ul class="nav flex-column mb-2">
- <li class="nav-item">
- <a class="nav-link" href="#">
- <span data-feather="file-text"></span>
- Current month
- </a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">
- <span data-feather="file-text"></span>
- Last quarter
- </a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">
- <span data-feather="file-text"></span>
- Social engagement
- </a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">
- <span data-feather="file-text"></span>
- Year-end sale
- </a>
- </li>
- </ul>
- </div>
- </nav>
-
- <main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-4">
- <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
- <h1 class="h2">Dashboard</h1>
- <div class="btn-toolbar mb-2 mb-md-0">
- <div class="btn-group mr-2">
- <button class="btn btn-sm btn-outline-secondary">Share</button>
- <button class="btn btn-sm btn-outline-secondary">Export</button>
- </div>
- <button class="btn btn-sm btn-outline-secondary dropdown-toggle">
- <span data-feather="calendar"></span>
- This week
- </button>
- </div>
- </div>
-
- <canvas class="my-4 w-100" id="myChart" width="900" height="380"></canvas>
-
- <h2>Section title</h2>
- <div class="table-responsive">
- <table class="table table-striped table-sm">
- <thead>
- <tr>
- <th>#</th>
- <th>Header</th>
- <th>Header</th>
- <th>Header</th>
- <th>Header</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1,001</td>
- <td>Lorem</td>
- <td>ipsum</td>
- <td>dolor</td>
- <td>sit</td>
- </tr>
- <tr>
- <td>1,002</td>
- <td>amet</td>
- <td>consectetur</td>
- <td>adipiscing</td>
- <td>elit</td>
- </tr>
- <tr>
- <td>1,003</td>
- <td>Integer</td>
- <td>nec</td>
- <td>odio</td>
- <td>Praesent</td>
- </tr>
- <tr>
- <td>1,003</td>
- <td>libero</td>
- <td>Sed</td>
- <td>cursus</td>
- <td>ante</td>
- </tr>
- <tr>
- <td>1,004</td>
- <td>dapibus</td>
- <td>diam</td>
- <td>Sed</td>
- <td>nisi</td>
- </tr>
- <tr>
- <td>1,005</td>
- <td>Nulla</td>
- <td>quis</td>
- <td>sem</td>
- <td>at</td>
- </tr>
- <tr>
- <td>1,006</td>
- <td>nibh</td>
- <td>elementum</td>
- <td>imperdiet</td>
- <td>Duis</td>
- </tr>
- <tr>
- <td>1,007</td>
- <td>sagittis</td>
- <td>ipsum</td>
- <td>Praesent</td>
- <td>mauris</td>
- </tr>
- <tr>
- <td>1,008</td>
- <td>Fusce</td>
- <td>nec</td>
- <td>tellus</td>
- <td>sed</td>
- </tr>
- <tr>
- <td>1,009</td>
- <td>augue</td>
- <td>semper</td>
- <td>porta</td>
- <td>Mauris</td>
- </tr>
- <tr>
- <td>1,010</td>
- <td>massa</td>
- <td>Vestibulum</td>
- <td>lacinia</td>
- <td>arcu</td>
- </tr>
- <tr>
- <td>1,011</td>
- <td>eget</td>
- <td>nulla</td>
- <td>Class</td>
- <td>aptent</td>
- </tr>
- <tr>
- <td>1,012</td>
- <td>taciti</td>
- <td>sociosqu</td>
- <td>ad</td>
- <td>litora</td>
- </tr>
- <tr>
- <td>1,013</td>
- <td>torquent</td>
- <td>per</td>
- <td>conubia</td>
- <td>nostra</td>
- </tr>
- <tr>
- <td>1,014</td>
- <td>per</td>
- <td>inceptos</td>
- <td>himenaeos</td>
- <td>Curabitur</td>
- </tr>
- <tr>
- <td>1,015</td>
- <td>sodales</td>
- <td>ligula</td>
- <td>in</td>
- <td>libero</td>
- </tr>
- </tbody>
- </table>
- </div>
- </main>
- </div>
- </div>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
-
- <!-- Icons -->
- <script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script>
- <script>
- feather.replace()
- </script>
-
- <!-- Graphs -->
- <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.min.js"></script>
- <script>
- var ctx = document.getElementById("myChart");
- var myChart = new Chart(ctx, {
- type: 'line',
- data: {
- labels: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
- datasets: [{
- data: [15339, 21345, 18483, 24003, 23489, 24092, 12034],
- lineTension: 0,
- backgroundColor: 'transparent',
- borderColor: '#007bff',
- borderWidth: 4,
- pointBackgroundColor: '#007bff'
- }]
- },
- options: {
- scales: {
- yAxes: [{
- ticks: {
- beginAtZero: false
- }
- }]
- },
- legend: {
- display: false,
- }
- }
- });
- </script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/floating-labels/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/floating-labels/index.html
deleted file mode 100644
index 48dc09db1..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/floating-labels/index.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Floating labels example for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="floating-labels.css" rel="stylesheet">
- </head>
-
- <body>
- <form class="form-signin">
- <div class="text-center mb-4">
- <img class="mb-4" src="../../assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">
- <h1 class="h3 mb-3 font-weight-normal">Floating labels</h1>
- <p>Build form controls with floating labels via the <code>:placeholder-shown</code> pseudo-element. <a href="https://caniuse.com/#feat=css-placeholder-shown">Works in latest Chrome, Safari, and Firefox.</a></p>
- </div>
-
- <div class="form-label-group">
- <input type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
- <label for="inputEmail">Email address</label>
- </div>
-
- <div class="form-label-group">
- <input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
- <label for="inputPassword">Password</label>
- </div>
-
- <div class="checkbox mb-3">
- <label>
- <input type="checkbox" value="remember-me"> Remember me
- </label>
- </div>
- <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
- <p class="mt-5 mb-3 text-muted text-center">&copy; 2017-2018</p>
- </form>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/grid/grid.css b/vendor/twbs/bootstrap/site/docs/4.1/examples/grid/grid.css
deleted file mode 100644
index 78f5dfda6..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/grid/grid.css
+++ /dev/null
@@ -1,27 +0,0 @@
-body {
- padding-top: 2rem;
- padding-bottom: 2rem;
-}
-
-h3 {
- margin-top: 2rem;
-}
-
-.row {
- margin-bottom: 1rem;
-}
-.row .row {
- margin-top: 1rem;
- margin-bottom: 0;
-}
-[class*="col-"] {
- padding-top: 1rem;
- padding-bottom: 1rem;
- background-color: rgba(86, 61, 124, .15);
- border: 1px solid rgba(86, 61, 124, .2);
-}
-
-hr {
- margin-top: 2rem;
- margin-bottom: 2rem;
-}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/grid/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/grid/index.html
deleted file mode 100644
index 8ef2c72a0..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/grid/index.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Grid Template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="grid.css" rel="stylesheet">
- </head>
-
- <body>
- <div class="container">
-
- <h1>Bootstrap grid examples</h1>
- <p class="lead">Basic grid layouts to get you familiar with building within the Bootstrap grid system.</p>
-
- <h2>Five grid tiers</h2>
- <p>There are five tiers to the Bootstrap grid system, one for each range of devices we support. Each tier starts at a minimum viewport size and automatically applies to the larger devices unless overridden.</p>
-
- <div class="row">
- <div class="col-4">.col-4</div>
- <div class="col-4">.col-4</div>
- <div class="col-4">.col-4</div>
- </div>
-
- <div class="row">
- <div class="col-sm-4">.col-sm-4</div>
- <div class="col-sm-4">.col-sm-4</div>
- <div class="col-sm-4">.col-sm-4</div>
- </div>
-
- <div class="row">
- <div class="col-md-4">.col-md-4</div>
- <div class="col-md-4">.col-md-4</div>
- <div class="col-md-4">.col-md-4</div>
- </div>
-
- <div class="row">
- <div class="col-lg-4">.col-lg-4</div>
- <div class="col-lg-4">.col-lg-4</div>
- <div class="col-lg-4">.col-lg-4</div>
- </div>
-
- <div class="row">
- <div class="col-xl-4">.col-xl-4</div>
- <div class="col-xl-4">.col-xl-4</div>
- <div class="col-xl-4">.col-xl-4</div>
- </div>
-
- <h2>Three equal columns</h2>
- <p>Get three equal-width columns <strong>starting at desktops and scaling to large desktops</strong>. On mobile devices, tablets and below, the columns will automatically stack.</p>
- <div class="row">
- <div class="col-md-4">.col-md-4</div>
- <div class="col-md-4">.col-md-4</div>
- <div class="col-md-4">.col-md-4</div>
- </div>
-
- <h2>Three unequal columns</h2>
- <p>Get three columns <strong>starting at desktops and scaling to large desktops</strong> of various widths. Remember, grid columns should add up to twelve for a single horizontal block. More than that, and columns start stacking no matter the viewport.</p>
- <div class="row">
- <div class="col-md-3">.col-md-3</div>
- <div class="col-md-6">.col-md-6</div>
- <div class="col-md-3">.col-md-3</div>
- </div>
-
- <h2>Two columns</h2>
- <p>Get two columns <strong>starting at desktops and scaling to large desktops</strong>.</p>
- <div class="row">
- <div class="col-md-8">.col-md-8</div>
- <div class="col-md-4">.col-md-4</div>
- </div>
-
- <h2>Full width, single column</h2>
- <p class="text-warning">No grid classes are necessary for full-width elements.</p>
-
- <hr>
-
- <h2>Two columns with two nested columns</h2>
- <p>Per the documentation, nesting is easy—just put a row of columns within an existing column. This gives you two columns <strong>starting at desktops and scaling to large desktops</strong>, with another two (equal widths) within the larger column.</p>
- <p>At mobile device sizes, tablets and down, these columns and their nested columns will stack.</p>
- <div class="row">
- <div class="col-md-8">
- .col-md-8
- <div class="row">
- <div class="col-md-6">.col-md-6</div>
- <div class="col-md-6">.col-md-6</div>
- </div>
- </div>
- <div class="col-md-4">.col-md-4</div>
- </div>
-
- <hr>
-
- <h2>Mixed: mobile and desktop</h2>
- <p>The Bootstrap v4 grid system has five tiers of classes: xs (extra small), sm (small), md (medium), lg (large), and xl (extra large). You can use nearly any combination of these classes to create more dynamic and flexible layouts.</p>
- <p>Each tier of classes scales up, meaning if you plan on setting the same widths for xs and sm, you only need to specify xs.</p>
- <div class="row">
- <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>
- <div class="row">
- <div class="col-6 col-md-4">.col-6 .col-md-4</div>
- <div class="col-6 col-md-4">.col-6 .col-md-4</div>
- <div class="col-6 col-md-4">.col-6 .col-md-4</div>
- </div>
- <div class="row">
- <div class="col-6">.col-6</div>
- <div class="col-6">.col-6</div>
- </div>
-
- <hr>
-
- <h2>Mixed: mobile, tablet, and desktop</h2>
- <p></p>
- <div class="row">
- <div class="col-12 col-sm-6 col-lg-8">.col-12 .col-sm-6 .col-lg-8</div>
- <div class="col-6 col-lg-4">.col-6 .col-lg-4</div>
- </div>
- <div class="row">
- <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
- <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
- <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
- </div>
-
- </div> <!-- /container -->
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/jumbotron/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/jumbotron/index.html
deleted file mode 100644
index 03a2875da..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/jumbotron/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Jumbotron Template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="jumbotron.css" rel="stylesheet">
- </head>
-
- <body>
-
- <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
- <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>
-
- <div class="collapse navbar-collapse" id="navbarsExampleDefault">
- <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="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
- <div class="dropdown-menu" aria-labelledby="dropdown01">
- <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-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>
-
- <main role="main">
-
- <!-- Main jumbotron for a primary marketing message or call to action -->
- <div class="jumbotron">
- <div class="container">
- <h1 class="display-3">Hello, world!</h1>
- <p>This is a template for a simple marketing or informational website. It includes a large callout called a jumbotron and three supporting pieces of content. Use it as a starting point to create something more unique.</p>
- <p><a class="btn btn-primary btn-lg" href="#" role="button">Learn more &raquo;</a></p>
- </div>
- </div>
-
- <div class="container">
- <!-- Example row of columns -->
- <div class="row">
- <div class="col-md-4">
- <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 class="col-md-4">
- <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 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>
- <p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
- </div>
- </div>
-
- <hr>
-
- </div> <!-- /container -->
-
- </main>
-
- <footer class="container">
- <p>&copy; Company 2017-2018</p>
- </footer>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-bottom/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-bottom/index.html
deleted file mode 100644
index bc0f63e64..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-bottom/index.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Bottom navbar example for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
- </head>
-
- <body>
- <div class="container">
- <div class="jumbotron mt-3">
- <h1>Bottom Navbar example</h1>
- <p class="lead">This example is a quick exercise to illustrate how the bottom navbar works.</p>
- <a class="btn btn-lg btn-primary" href="../../components/navbar/" role="button">View navbar docs &raquo;</a>
- </div>
- </div>
- <nav class="navbar fixed-bottom navbar-expand-sm navbar-dark bg-dark">
- <a class="navbar-brand" href="#">Bottom 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>
- <div class="collapse navbar-collapse" id="navbarCollapse">
- <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 dropup">
- <a class="nav-link dropdown-toggle" href="https://getbootstrap.com" id="dropdown10" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropup</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>
- </div>
- </li>
- </ul>
- </div>
- </nav>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-fixed/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-fixed/index.html
deleted file mode 100644
index 10dc37d93..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-fixed/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Fixed top navbar example for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="navbar-top-fixed.css" rel="stylesheet">
- </head>
-
- <body>
-
- <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
- <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>
- <div class="collapse navbar-collapse" id="navbarCollapse">
- <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>
- </ul>
- <form class="form-inline mt-2 mt-md-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>
-
- <main role="main" class="container">
- <div class="jumbotron">
- <h1>Navbar example</h1>
- <p class="lead">This example is a quick exercise to illustrate how fixed to top navbar works. As you scroll, it will remain fixed to the top of your browser's viewport.</p>
- <a class="btn btn-lg btn-primary" href="../../components/navbar/" role="button">View navbar docs &raquo;</a>
- </div>
- </main>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-static/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-static/index.html
deleted file mode 100644
index c654bca51..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-static/index.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Top navbar example for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="navbar-top.css" rel="stylesheet">
- </head>
-
- <body>
-
- <nav class="navbar navbar-expand-md navbar-dark bg-dark 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>
- <div class="collapse navbar-collapse" id="navbarCollapse">
- <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>
- </ul>
- <form class="form-inline mt-2 mt-md-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>
-
- <main role="main" class="container">
- <div class="jumbotron">
- <h1>Navbar example</h1>
- <p class="lead">This example is a quick exercise to illustrate how the top-aligned navbar works. As you scroll, this navbar remains in its original position and moves with the rest of the page.</p>
- <a class="btn btn-lg btn-primary" href="../../components/navbar/" role="button">View navbar docs &raquo;</a>
- </div>
- </main>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbars/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/navbars/index.html
deleted file mode 100644
index 9abe51085..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbars/index.html
+++ /dev/null
@@ -1,347 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Navbar Template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="navbar.css" rel="stylesheet">
- </head>
-
- <body>
-
- <nav class="navbar navbar-dark bg-dark">
- <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>
-
- <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>
- </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="https://example.com" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
- <div class="dropdown-menu" aria-labelledby="dropdown01">
- <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" aria-label="Search">
- </form>
- </div>
- </nav>
-
- <nav class="navbar navbar-expand navbar-dark bg-dark">
- <a class="navbar-brand" href="#">Always 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>
- </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-dark bg-dark">
- <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="https://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-dark bg-dark">
- <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="https://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-dark bg-dark">
- <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="https://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-dark bg-dark">
- <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="https://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-dark bg-dark">
- <div class="container">
- <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>
-
- <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>
- </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="https://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>
- </div>
- </li>
- </ul>
- <form class="form-inline my-2 my-md-0">
- <input class="form-control" type="text" placeholder="Search" aria-label="Search">
- </form>
- </div>
- </div>
- </nav>
-
- <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
- <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="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>
- </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="https://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>
- </div>
- </li>
- </ul>
- </div>
- </nav>
-
- <div class="container">
- <nav class="navbar navbar-expand-lg navbar-light bg-light 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>
-
- <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>
- </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="https://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>
- </div>
- </li>
- </ul>
- <form class="form-inline my-2 my-md-0">
- <input class="form-control" type="text" placeholder="Search" aria-label="Search">
- </form>
- </div>
- </nav>
-
- <nav class="navbar navbar-expand-lg navbar-light bg-light 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="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>
- </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="https://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>
- </div>
- </li>
- </ul>
- </div>
- </nav>
-
- <main role="main">
- <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 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-static/">top</a> and <a href="../navbar-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>
- </p>
- </div>
- </div>
- </main>
- </div>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/offcanvas/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/offcanvas/index.html
deleted file mode 100644
index 7dae17a8a..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/offcanvas/index.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Offcanvas template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="offcanvas.css" rel="stylesheet">
- </head>
-
- <body class="bg-light">
-
- <nav class="navbar navbar-expand-lg fixed-top navbar-dark bg-dark">
- <a class="navbar-brand mr-auto mr-lg-0" href="#">Offcanvas navbar</a>
- <button class="navbar-toggler p-0 border-0" type="button" data-toggle="offcanvas">
- <span class="navbar-toggler-icon"></span>
- </button>
-
- <div class="navbar-collapse offcanvas-collapse" id="navbarsExampleDefault">
- <ul class="navbar-nav mr-auto">
- <li class="nav-item active">
- <a class="nav-link" href="#">Dashboard <span class="sr-only">(current)</span></a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">Notifications</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">Profile</a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="#">Switch account</a>
- </li>
- <li class="nav-item dropdown">
- <a class="nav-link dropdown-toggle" href="https://example.com" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Settings</a>
- <div class="dropdown-menu" aria-labelledby="dropdown01">
- <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-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>
-
- <div class="nav-scroller bg-white shadow-sm">
- <nav class="nav nav-underline">
- <a class="nav-link active" href="#">Dashboard</a>
- <a class="nav-link" href="#">
- Friends
- <span class="badge badge-pill bg-light align-text-bottom">27</span>
- </a>
- <a class="nav-link" href="#">Explore</a>
- <a class="nav-link" href="#">Suggestions</a>
- <a class="nav-link" href="#">Link</a>
- <a class="nav-link" href="#">Link</a>
- <a class="nav-link" href="#">Link</a>
- <a class="nav-link" href="#">Link</a>
- <a class="nav-link" href="#">Link</a>
- </nav>
- </div>
-
- <main role="main" class="container">
- <div class="d-flex align-items-center p-3 my-3 text-white-50 bg-purple rounded shadow-sm">
- <img class="mr-3" src="../../assets/brand/bootstrap-outline.svg" alt="" width="48" height="48">
- <div class="lh-100">
- <h6 class="mb-0 text-white lh-100">Bootstrap</h6>
- <small>Since 2011</small>
- </div>
- </div>
-
- <div class="my-3 p-3 bg-white rounded shadow-sm">
- <h6 class="border-bottom border-gray pb-2 mb-0">Recent updates</h6>
- <div class="media text-muted pt-3">
- <img data-src="holder.js/32x32?theme=thumb&bg=007bff&fg=007bff&size=1" alt="" class="mr-2 rounded">
- <p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
- <strong class="d-block text-gray-dark">@username</strong>
- 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.
- </p>
- </div>
- <div class="media text-muted pt-3">
- <img data-src="holder.js/32x32?theme=thumb&bg=e83e8c&fg=e83e8c&size=1" alt="" class="mr-2 rounded">
- <p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
- <strong class="d-block text-gray-dark">@username</strong>
- 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.
- </p>
- </div>
- <div class="media text-muted pt-3">
- <img data-src="holder.js/32x32?theme=thumb&bg=6f42c1&fg=6f42c1&size=1" alt="" class="mr-2 rounded">
- <p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
- <strong class="d-block text-gray-dark">@username</strong>
- 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.
- </p>
- </div>
- <small class="d-block text-right mt-3">
- <a href="#">All updates</a>
- </small>
- </div>
-
- <div class="my-3 p-3 bg-white rounded shadow-sm">
- <h6 class="border-bottom border-gray pb-2 mb-0">Suggestions</h6>
- <div class="media text-muted pt-3">
- <img data-src="holder.js/32x32?theme=thumb&bg=007bff&fg=007bff&size=1" alt="" class="mr-2 rounded">
- <div class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
- <div class="d-flex justify-content-between align-items-center w-100">
- <strong class="text-gray-dark">Full Name</strong>
- <a href="#">Follow</a>
- </div>
- <span class="d-block">@username</span>
- </div>
- </div>
- <div class="media text-muted pt-3">
- <img data-src="holder.js/32x32?theme=thumb&bg=007bff&fg=007bff&size=1" alt="" class="mr-2 rounded">
- <div class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
- <div class="d-flex justify-content-between align-items-center w-100">
- <strong class="text-gray-dark">Full Name</strong>
- <a href="#">Follow</a>
- </div>
- <span class="d-block">@username</span>
- </div>
- </div>
- <div class="media text-muted pt-3">
- <img data-src="holder.js/32x32?theme=thumb&bg=007bff&fg=007bff&size=1" alt="" class="mr-2 rounded">
- <div class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
- <div class="d-flex justify-content-between align-items-center w-100">
- <strong class="text-gray-dark">Full Name</strong>
- <a href="#">Follow</a>
- </div>
- <span class="d-block">@username</span>
- </div>
- </div>
- <small class="d-block text-right mt-3">
- <a href="#">All suggestions</a>
- </small>
- </div>
- </main>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- <script src="../../assets/js/vendor/holder.min.js"></script>
- <script src="offcanvas.js"></script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/pricing/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/pricing/index.html
deleted file mode 100644
index 5ae570aad..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/pricing/index.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Pricing example for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="pricing.css" rel="stylesheet">
- </head>
-
- <body>
-
- <div class="d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom shadow-sm">
- <h5 class="my-0 mr-md-auto font-weight-normal">Company name</h5>
- <nav class="my-2 my-md-0 mr-md-3">
- <a class="p-2 text-dark" href="#">Features</a>
- <a class="p-2 text-dark" href="#">Enterprise</a>
- <a class="p-2 text-dark" href="#">Support</a>
- <a class="p-2 text-dark" href="#">Pricing</a>
- </nav>
- <a class="btn btn-outline-primary" href="#">Sign up</a>
- </div>
-
- <div class="pricing-header px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
- <h1 class="display-4">Pricing</h1>
- <p class="lead">Quickly build an effective pricing table for your potential customers with this Bootstrap example. It's built with default Bootstrap components and utilities with little customization.</p>
- </div>
-
- <div class="container">
- <div class="card-deck mb-3 text-center">
- <div class="card mb-4 shadow-sm">
- <div class="card-header">
- <h4 class="my-0 font-weight-normal">Free</h4>
- </div>
- <div class="card-body">
- <h1 class="card-title pricing-card-title">$0 <small class="text-muted">/ mo</small></h1>
- <ul class="list-unstyled mt-3 mb-4">
- <li>10 users included</li>
- <li>2 GB of storage</li>
- <li>Email support</li>
- <li>Help center access</li>
- </ul>
- <button type="button" class="btn btn-lg btn-block btn-outline-primary">Sign up for free</button>
- </div>
- </div>
- <div class="card mb-4 shadow-sm">
- <div class="card-header">
- <h4 class="my-0 font-weight-normal">Pro</h4>
- </div>
- <div class="card-body">
- <h1 class="card-title pricing-card-title">$15 <small class="text-muted">/ mo</small></h1>
- <ul class="list-unstyled mt-3 mb-4">
- <li>20 users included</li>
- <li>10 GB of storage</li>
- <li>Priority email support</li>
- <li>Help center access</li>
- </ul>
- <button type="button" class="btn btn-lg btn-block btn-primary">Get started</button>
- </div>
- </div>
- <div class="card mb-4 shadow-sm">
- <div class="card-header">
- <h4 class="my-0 font-weight-normal">Enterprise</h4>
- </div>
- <div class="card-body">
- <h1 class="card-title pricing-card-title">$29 <small class="text-muted">/ mo</small></h1>
- <ul class="list-unstyled mt-3 mb-4">
- <li>30 users included</li>
- <li>15 GB of storage</li>
- <li>Phone and email support</li>
- <li>Help center access</li>
- </ul>
- <button type="button" class="btn btn-lg btn-block btn-primary">Contact us</button>
- </div>
- </div>
- </div>
-
- <footer class="pt-4 my-md-5 pt-md-5 border-top">
- <div class="row">
- <div class="col-12 col-md">
- <img class="mb-2" src="../../assets/brand/bootstrap-solid.svg" alt="" width="24" height="24">
- <small class="d-block mb-3 text-muted">&copy; 2017-2018</small>
- </div>
- <div class="col-6 col-md">
- <h5>Features</h5>
- <ul class="list-unstyled text-small">
- <li><a class="text-muted" href="#">Cool stuff</a></li>
- <li><a class="text-muted" href="#">Random feature</a></li>
- <li><a class="text-muted" href="#">Team feature</a></li>
- <li><a class="text-muted" href="#">Stuff for developers</a></li>
- <li><a class="text-muted" href="#">Another one</a></li>
- <li><a class="text-muted" href="#">Last time</a></li>
- </ul>
- </div>
- <div class="col-6 col-md">
- <h5>Resources</h5>
- <ul class="list-unstyled text-small">
- <li><a class="text-muted" href="#">Resource</a></li>
- <li><a class="text-muted" href="#">Resource name</a></li>
- <li><a class="text-muted" href="#">Another resource</a></li>
- <li><a class="text-muted" href="#">Final resource</a></li>
- </ul>
- </div>
- <div class="col-6 col-md">
- <h5>About</h5>
- <ul class="list-unstyled text-small">
- <li><a class="text-muted" href="#">Team</a></li>
- <li><a class="text-muted" href="#">Locations</a></li>
- <li><a class="text-muted" href="#">Privacy</a></li>
- <li><a class="text-muted" href="#">Terms</a></li>
- </ul>
- </div>
- </div>
- </footer>
- </div>
-
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- <script src="../../assets/js/vendor/holder.min.js"></script>
- <script>
- Holder.addTheme('thumb', {
- bg: '#55595c',
- fg: '#eceeef',
- text: 'Thumbnail'
- });
- </script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/product/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/product/index.html
deleted file mode 100644
index 5477eb37b..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/product/index.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Product example for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="product.css" rel="stylesheet">
- </head>
-
- <body>
-
- <nav class="site-header sticky-top py-1">
- <div class="container d-flex flex-column flex-md-row justify-content-between">
- <a class="py-2" href="#">
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="d-block mx-auto"><circle cx="12" cy="12" r="10"></circle><line x1="14.31" y1="8" x2="20.05" y2="17.94"></line><line x1="9.69" y1="8" x2="21.17" y2="8"></line><line x1="7.38" y1="12" x2="13.12" y2="2.06"></line><line x1="9.69" y1="16" x2="3.95" y2="6.06"></line><line x1="14.31" y1="16" x2="2.83" y2="16"></line><line x1="16.62" y1="12" x2="10.88" y2="21.94"></line></svg>
- </a>
- <a class="py-2 d-none d-md-inline-block" href="#">Tour</a>
- <a class="py-2 d-none d-md-inline-block" href="#">Product</a>
- <a class="py-2 d-none d-md-inline-block" href="#">Features</a>
- <a class="py-2 d-none d-md-inline-block" href="#">Enterprise</a>
- <a class="py-2 d-none d-md-inline-block" href="#">Support</a>
- <a class="py-2 d-none d-md-inline-block" href="#">Pricing</a>
- <a class="py-2 d-none d-md-inline-block" href="#">Cart</a>
- </div>
- </nav>
-
- <div class="position-relative overflow-hidden p-3 p-md-5 m-md-3 text-center bg-light">
- <div class="col-md-5 p-lg-5 mx-auto my-5">
- <h1 class="display-4 font-weight-normal">Punny headline</h1>
- <p class="lead font-weight-normal">And an even wittier subheading to boot. Jumpstart your marketing efforts with this example based on Apple's marketing pages.</p>
- <a class="btn btn-outline-secondary" href="#">Coming soon</a>
- </div>
- <div class="product-device shadow-sm d-none d-md-block"></div>
- <div class="product-device product-device-2 shadow-sm d-none d-md-block"></div>
- </div>
-
- <div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
- <div class="bg-dark mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center text-white overflow-hidden">
- <div class="my-3 py-3">
- <h2 class="display-5">Another headline</h2>
- <p class="lead">And an even wittier subheading.</p>
- </div>
- <div class="bg-light shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
- </div>
- <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
- <div class="my-3 p-3">
- <h2 class="display-5">Another headline</h2>
- <p class="lead">And an even wittier subheading.</p>
- </div>
- <div class="bg-dark shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
- </div>
- </div>
-
- <div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
- <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
- <div class="my-3 p-3">
- <h2 class="display-5">Another headline</h2>
- <p class="lead">And an even wittier subheading.</p>
- </div>
- <div class="bg-dark shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
- </div>
- <div class="bg-primary mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center text-white overflow-hidden">
- <div class="my-3 py-3">
- <h2 class="display-5">Another headline</h2>
- <p class="lead">And an even wittier subheading.</p>
- </div>
- <div class="bg-light shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
- </div>
- </div>
-
- <div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
- <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
- <div class="my-3 p-3">
- <h2 class="display-5">Another headline</h2>
- <p class="lead">And an even wittier subheading.</p>
- </div>
- <div class="bg-white shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
- </div>
- <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
- <div class="my-3 py-3">
- <h2 class="display-5">Another headline</h2>
- <p class="lead">And an even wittier subheading.</p>
- </div>
- <div class="bg-white shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
- </div>
- </div>
-
- <div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
- <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
- <div class="my-3 p-3">
- <h2 class="display-5">Another headline</h2>
- <p class="lead">And an even wittier subheading.</p>
- </div>
- <div class="bg-white shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
- </div>
- <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
- <div class="my-3 py-3">
- <h2 class="display-5">Another headline</h2>
- <p class="lead">And an even wittier subheading.</p>
- </div>
- <div class="bg-white shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
- </div>
- </div>
-
- <footer class="container py-5">
- <div class="row">
- <div class="col-12 col-md">
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="d-block mb-2"><circle cx="12" cy="12" r="10"></circle><line x1="14.31" y1="8" x2="20.05" y2="17.94"></line><line x1="9.69" y1="8" x2="21.17" y2="8"></line><line x1="7.38" y1="12" x2="13.12" y2="2.06"></line><line x1="9.69" y1="16" x2="3.95" y2="6.06"></line><line x1="14.31" y1="16" x2="2.83" y2="16"></line><line x1="16.62" y1="12" x2="10.88" y2="21.94"></line></svg>
- <small class="d-block mb-3 text-muted">&copy; 2017-2018</small>
- </div>
- <div class="col-6 col-md">
- <h5>Features</h5>
- <ul class="list-unstyled text-small">
- <li><a class="text-muted" href="#">Cool stuff</a></li>
- <li><a class="text-muted" href="#">Random feature</a></li>
- <li><a class="text-muted" href="#">Team feature</a></li>
- <li><a class="text-muted" href="#">Stuff for developers</a></li>
- <li><a class="text-muted" href="#">Another one</a></li>
- <li><a class="text-muted" href="#">Last time</a></li>
- </ul>
- </div>
- <div class="col-6 col-md">
- <h5>Resources</h5>
- <ul class="list-unstyled text-small">
- <li><a class="text-muted" href="#">Resource</a></li>
- <li><a class="text-muted" href="#">Resource name</a></li>
- <li><a class="text-muted" href="#">Another resource</a></li>
- <li><a class="text-muted" href="#">Final resource</a></li>
- </ul>
- </div>
- <div class="col-6 col-md">
- <h5>Resources</h5>
- <ul class="list-unstyled text-small">
- <li><a class="text-muted" href="#">Business</a></li>
- <li><a class="text-muted" href="#">Education</a></li>
- <li><a class="text-muted" href="#">Government</a></li>
- <li><a class="text-muted" href="#">Gaming</a></li>
- </ul>
- </div>
- <div class="col-6 col-md">
- <h5>About</h5>
- <ul class="list-unstyled text-small">
- <li><a class="text-muted" href="#">Team</a></li>
- <li><a class="text-muted" href="#">Locations</a></li>
- <li><a class="text-muted" href="#">Privacy</a></li>
- <li><a class="text-muted" href="#">Terms</a></li>
- </ul>
- </div>
- </div>
- </footer>
-
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- <script src="../../assets/js/vendor/holder.min.js"></script>
- <script>
- Holder.addTheme('thumb', {
- bg: '#55595c',
- fg: '#eceeef',
- text: 'Thumbnail'
- });
- </script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/grid.png b/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/grid.png
deleted file mode 100644
index d7a111b0c..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/grid.png
+++ /dev/null
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/sign-in/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/sign-in/index.html
deleted file mode 100644
index 2c9436643..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/sign-in/index.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Signin Template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="signin.css" rel="stylesheet">
- </head>
-
- <body class="text-center">
- <form class="form-signin">
- <img class="mb-4" src="../../assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">
- <h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>
- <label for="inputEmail" class="sr-only">Email address</label>
- <input type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
- <label for="inputPassword" class="sr-only">Password</label>
- <input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
- <div class="checkbox mb-3">
- <label>
- <input type="checkbox" value="remember-me"> Remember me
- </label>
- </div>
- <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
- <p class="mt-5 mb-3 text-muted">&copy; 2017-2018</p>
- </form>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/starter-template/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/starter-template/index.html
deleted file mode 100644
index 03575146d..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/starter-template/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Starter Template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="starter-template.css" rel="stylesheet">
- </head>
-
- <body>
-
- <nav class="navbar navbar-expand-md navbar-dark bg-dark 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>
-
- <div class="collapse navbar-collapse" id="navbarsExampleDefault">
- <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="https://example.com" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
- <div class="dropdown-menu" aria-labelledby="dropdown01">
- <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-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>
-
- <main role="main" class="container">
-
- <div class="starter-template">
- <h1>Bootstrap starter template</h1>
- <p class="lead">Use this document as a way to quickly start any new project.<br> All you get is this text and a mostly barebones HTML document.</p>
- </div>
-
- </main><!-- /.container -->
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer-navbar/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer-navbar/index.html
deleted file mode 100644
index 9f8e174e3..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer-navbar/index.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Sticky Footer Navbar Template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="sticky-footer-navbar.css" rel="stylesheet">
- </head>
-
- <body>
-
- <header>
- <!-- Fixed navbar -->
- <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
- <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>
- <div class="collapse navbar-collapse" id="navbarCollapse">
- <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>
- </ul>
- <form class="form-inline mt-2 mt-md-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>
- </header>
-
- <!-- Begin page content -->
- <main role="main" class="container">
- <h1 class="mt-5">Sticky footer with fixed navbar</h1>
- <p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added with <code>padding-top: 60px;</code> on the <code>body &gt; .container</code>.</p>
- <p>Back to <a href="../sticky-footer">the default sticky footer</a> minus the navbar.</p>
- </main>
-
- <footer class="footer">
- <div class="container">
- <span class="text-muted">Place sticky footer content here.</span>
- </div>
- </footer>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer-navbar/sticky-footer-navbar.css b/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer-navbar/sticky-footer-navbar.css
deleted file mode 100644
index 07fd56a64..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer-navbar/sticky-footer-navbar.css
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Sticky footer styles
--------------------------------------------------- */
-html {
- position: relative;
- min-height: 100%;
-}
-body {
- /* Margin bottom by footer height */
- margin-bottom: 60px;
-}
-.footer {
- position: absolute;
- bottom: 0;
- width: 100%;
- /* Set the fixed height of the footer here */
- height: 60px;
- line-height: 60px; /* Vertically center the text there */
- background-color: #f5f5f5;
-}
-
-
-/* Custom page CSS
--------------------------------------------------- */
-/* Not required for template or sticky footer method. */
-
-body > .container {
- padding: 60px 15px 0;
-}
-
-.footer > .container {
- padding-right: 15px;
- padding-left: 15px;
-}
-
-code {
- font-size: 80%;
-}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer/index.html
deleted file mode 100644
index 839d9883e..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer/index.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="icon" href="../../../../favicon.ico">
-
- <title>Sticky Footer Template for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="sticky-footer.css" rel="stylesheet">
- </head>
-
- <body>
-
- <!-- Begin page content -->
- <main role="main" class="container">
- <h1 class="mt-5">Sticky footer</h1>
- <p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p>
- <p>Use <a href="../sticky-footer-navbar">the sticky footer with a fixed navbar</a> if need be, too.</p>
- </main>
-
- <footer class="footer">
- <div class="container">
- <span class="text-muted">Place sticky footer content here.</span>
- </div>
- </footer>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer/sticky-footer.css b/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer/sticky-footer.css
deleted file mode 100644
index ebe29104f..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/sticky-footer/sticky-footer.css
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Sticky footer styles
--------------------------------------------------- */
-html {
- position: relative;
- min-height: 100%;
-}
-body {
- margin-bottom: 60px; /* Margin bottom by footer height */
-}
-.footer {
- position: absolute;
- bottom: 0;
- width: 100%;
- height: 60px; /* Set the fixed height of the footer here */
- line-height: 60px; /* Vertically center the text there */
- background-color: #f5f5f5;
-}
-
-
-/* Custom page CSS
--------------------------------------------------- */
-/* Not required for template or sticky footer method. */
-
-.container {
- width: auto;
- max-width: 680px;
- padding: 0 15px;
-}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/index.html b/vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/index.html
deleted file mode 100644
index fabe12ddf..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/index.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!doctype html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="">
- <meta name="author" content="">
- <link rel="shortcut icon" href="../../../../favicon.ico">
-
- <title>Tooltip Viewport Example for Bootstrap</title>
-
- <!-- Bootstrap core CSS -->
- <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
-
- <!-- Custom styles for this template -->
- <link href="tooltip-viewport.css" rel="stylesheet">
- </head>
-
- <body>
-
- <button type="button" class="btn btn-secondary float-right tooltip-bottom" title="This should be shifted to the left">Shift Left</button>
- <button type="button" class="btn btn-secondary tooltip-bottom" title="This should be shifted to the right">Shift Right</button>
- <button type="button" class="btn btn-secondary tooltip-right" title="This should be shifted down">Shift Down</button>
-
- <button type="button" class="btn btn-secondary tooltip-right btn-bottom" title="This should be shifted up">Shift Up</button>
-
- <div class="container-viewport">
- <button type="button" class="btn btn-secondary tooltip-viewport-bottom" title="This should be shifted to the left">Shift Left</button>
- <button type="button" class="btn btn-secondary tooltip-viewport-right" title="This should be shifted down">Shift Down</button>
-
- <button type="button" class="btn btn-secondary float-right tooltip-viewport-bottom" title="This should be shifted to the right">Shift Right</button>
-
- <button type="button" class="btn btn-secondary tooltip-viewport-right btn-bottom" title="This should be shifted up">Shift Up</button>
- </div>
-
- <!-- Bootstrap core JavaScript
- ================================================== -->
- <!-- Placed at the end of the document so the pages load faster -->
- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
- <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
- <script src="../../assets/js/vendor/popper.min.js"></script>
- <script src="../../dist/js/bootstrap.min.js"></script>
- <script src="tooltip-viewport.js"></script>
- </body>
-</html>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/tooltip-viewport.css b/vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/tooltip-viewport.css
deleted file mode 100644
index 26aa2e348..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/tooltip-viewport.css
+++ /dev/null
@@ -1,26 +0,0 @@
-body {
- height: 1200px;
-}
-.tooltip {
- min-width: 250px;
- max-width: 500px;
-}
-.tooltip .tooltip-inner {
- min-width: 250px;
- max-width: 500px;
- min-height: 100px;
- text-align: left;
-}
-.container-viewport {
- position: absolute;
- top: 100px;
- right: 250px;
- left: 250px;
- height: 300px;
- background-color: #eee;
-}
-.btn-bottom {
- position: absolute;
- bottom: 0;
- left: 0;
-}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/tooltip-viewport.js b/vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/tooltip-viewport.js
deleted file mode 100644
index dc75e18c6..000000000
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/tooltip-viewport/tooltip-viewport.js
+++ /dev/null
@@ -1,32 +0,0 @@
-$(function () {
- 'use strict'
-
- $('.tooltip-right').tooltip({
- placement: 'right',
- viewport: {
- selector: 'body',
- padding: 2
- }
- })
- $('.tooltip-bottom').tooltip({
- placement: 'bottom',
- viewport: {
- selector: 'body',
- padding: 2
- }
- })
- $('.tooltip-viewport-right').tooltip({
- placement: 'right',
- viewport: {
- selector: '.container-viewport',
- padding: 2
- }
- })
- $('.tooltip-viewport-bottom').tooltip({
- placement: 'bottom',
- viewport: {
- selector: '.container-viewport',
- padding: 2
- }
- })
-})
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/about/brand.md b/vendor/twbs/bootstrap/site/docs/4.3/about/brand.md
index 084c36bd8..084c36bd8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/about/brand.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/about/brand.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/about/license.md b/vendor/twbs/bootstrap/site/docs/4.3/about/license.md
index 39720029d..39720029d 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/about/license.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/about/license.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/about/overview.md b/vendor/twbs/bootstrap/site/docs/4.3/about/overview.md
index 23dd7affe..f3460baa1 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/about/overview.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/about/overview.md
@@ -2,11 +2,10 @@
layout: docs
title: About
description: Learn more about the team maintaining Bootstrap, how and why the project started, and how to get involved.
-redirect_from:
- - "/docs/4.1/about/"
- - "/docs/4.1/history/"
- - "/docs/4.1/team/"
group: about
+redirect_from:
+ - "/about/"
+ - "/docs/4.3/about/"
---
## Team
@@ -17,7 +16,7 @@ Bootstrap is maintained by a [small team of developers](https://github.com/orgs/
Originally created by a designer and a developer at Twitter, Bootstrap has become one of the most popular front-end frameworks and open source projects in the world.
-Bootstrap was created at Twitter in mid-2010 by [@mdo](https://twitter.com/mdo) and [@fat](https://twitter.com/fat). Prior to being an open-sourced framework, Bootstrap was known as _Twitter Blueprint_. A few months into development, Twitter held its [first Hack Week](https://blog.twitter.com/2010/hack-week) and the project exploded as developers of all skill levels jumped in without any external guidance. It served as the style guide for internal tools development at the company for over a year before its public release, and continues to do so today.
+Bootstrap was created at Twitter in mid-2010 by [@mdo](https://twitter.com/mdo) and [@fat](https://twitter.com/fat). Prior to being an open-sourced framework, Bootstrap was known as _Twitter Blueprint_. A few months into development, Twitter held its [first Hack Week](https://blog.twitter.com/engineering/en_us/a/2010/hack-week.html) and the project exploded as developers of all skill levels jumped in without any external guidance. It served as the style guide for internal tools development at the company for over a year before its public release, and continues to do so today.
Originally [released](https://blog.twitter.com/developer/en_us/a/2011/bootstrap-twitter.html) on <time datetime="2011-08-19 11:25">Friday, August 19, 2011</time>, we've since had over [twenty releases]({{ site.repo }}/releases), including two major rewrites with v2 and v3. With Bootstrap 2, we added responsive functionality to the entire framework as an optional stylesheet. Building on that with Bootstrap 3, we rewrote the library once more to make it responsive by default with a mobile first approach.
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/about/team.md b/vendor/twbs/bootstrap/site/docs/4.3/about/team.md
new file mode 100644
index 000000000..93aecf882
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/about/team.md
@@ -0,0 +1,21 @@
+---
+layout: docs
+title: Team
+description: An overview of the founding team and core contributors to Bootstrap.
+group: about
+---
+
+Bootstrap is maintained by the founding team and a small group of invaluable core contributors, with the massive support and involvement of our community.
+
+<div class="list-group mb-3">
+ {% for member in site.data.core-team %}
+ <a class="list-group-item list-group-item-action d-flex align-items-center" href="https://github.com/{{ member.user }}">
+ <img src="https://github.com/{{ member.user }}.png" alt="@{{ member.user }}" width="32" height="32" class="rounded mr-2">
+ <span>
+ <strong>{{ member.name }}</strong> @{{ member.user }}
+ </span>
+ </a>
+ {% endfor %}
+</div>
+
+Get involved with Bootstrap development by [opening an issue]({{ site.repo }}/issues/new) or submitting a pull request. Read our [contributing guidelines]({{ site.repo }}/blob/v{{ site.current_version }}/.github/CONTRIBUTING.md) for information on how we develop.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/about/translations.md b/vendor/twbs/bootstrap/site/docs/4.3/about/translations.md
index 576259d35..576259d35 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/about/translations.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/about/translations.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-outline.svg b/vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-outline.svg
index 215be0585..6e136ca87 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-outline.svg
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-outline.svg
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 180 612 612" fill="#FFF">
+<svg xmlns="http://www.w3.org/2000/svg" fill="#FFF" viewBox="0 180 612 612" focusable="false" role="img">
+ <title>Bootstrap</title>
<path d="M510 186c25.5 0 49.6 10 67.8 28.2S606 256.5 606 282v408c0 25.5-10 49.6-28.2 67.8S535.5 786 510 786H102c-25.5 0-49.6-10-67.8-28.2S6 715.5 6 690V282c0-25.5 10-49.6 28.2-67.8S76.5 186 102 186h408m0-6H102C45.9 180 0 225.9 0 282v408c0 56.1 45.9 102 102 102h408c56.1 0 102-45.9 102-102V282c0-56.1-45.9-102-102-102z"/>
<path d="M166.3 313h173.5c32 0 57.7 7.3 77 22s29 36.8 29 66.5c0 18-4.4 33.4-13.2 46.2-8.8 12.8-21.4 22.8-37.8 29.8v1c22 4.7 38.7 15.1 50 31.2 11.3 16.2 17 36.4 17 60.8 0 14-2.5 27.1-7.5 39.2-5 12.2-12.8 22.7-23.5 31.5s-24.3 15.8-41 21-36.5 7.8-59.5 7.8h-164V313zm62.5 149.5h102c15 0 27.5-4.2 37.5-12.8s15-20.8 15-36.8c0-18-4.5-30.7-13.5-38s-22-11-39-11h-102v98.6zm0 156.5h110.5c19 0 33.8-4.9 44.2-14.8 10.5-9.8 15.8-23.8 15.8-41.8 0-17.7-5.2-31.2-15.8-40.8s-25.2-14.2-44.2-14.2H228.8V619z"/>
</svg>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-punchout.svg b/vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-punchout.svg
index 9f4f529cc..81c20b0d8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-punchout.svg
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-punchout.svg
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 180 612 612" fill="#FFF">
+<svg xmlns="http://www.w3.org/2000/svg" fill="#FFF" viewBox="0 180 612 612" focusable="false" role="img">
+ <title>Bootstrap</title>
<path d="M383.5 521.8c-10.5-9.5-25.2-14.2-44.2-14.2H228.8V619h110.5c19 0 33.8-4.9 44.2-14.8 10.5-9.8 15.8-23.8 15.8-41.8-.1-17.6-5.3-31.2-15.8-40.6zm-15.3-72c10-8.5 15-20.8 15-36.8 0-18-4.5-30.7-13.5-38s-22-11-39-11h-102v98.5h102c15 0 27.5-4.3 37.5-12.7z"/>
<path d="M510 180H102C45.9 180 0 225.9 0 282v408c0 56.1 45.9 102 102 102h408c56.1 0 102-45.9 102-102V282c0-56.1-45.9-102-102-102zm-55.8 429.8c-5 12.2-12.8 22.7-23.5 31.5s-24.3 15.8-41 21-36.5 7.8-59.5 7.8h-164V313h173.5c32 0 57.7 7.3 77 22s29 36.8 29 66.5c0 18-4.4 33.4-13.2 46.2-8.8 12.8-21.4 22.8-37.8 29.8v1c22 4.7 38.7 15.1 50 31.2 11.3 16.2 17 36.4 17 60.8 0 14-2.5 27.1-7.5 39.3z"/>
</svg>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-social-logo.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-social-logo.png
index fdd35e5d4..fdd35e5d4 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-social-logo.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-social-logo.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-social.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-social.png
index 468ab5b59..468ab5b59 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-social.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-social.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-solid.svg b/vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-solid.svg
index 5d860a70e..4eed29bb7 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/brand/bootstrap-solid.svg
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/brand/bootstrap-solid.svg
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 612 612">
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 612 612" focusable="false" role="img">
+ <title>Bootstrap</title>
<path fill="#563D7C" d="M612 510c0 56.1-45.9 102-102 102H102C45.9 612 0 566.1 0 510V102C0 45.9 45.9 0 102 0h408c56.1 0 102 45.9 102 102v408z"/>
<path fill="#FFF" d="M166.3 133h173.5c32 0 57.7 7.3 77 22s29 36.8 29 66.5c0 18-4.4 33.4-13.2 46.2-8.8 12.8-21.4 22.8-37.8 29.8v1c22 4.7 38.7 15.1 50 31.2 11.3 16.2 17 36.4 17 60.8 0 14-2.5 27.1-7.5 39.2-5 12.2-12.8 22.7-23.5 31.5s-24.3 15.8-41 21-36.5 7.8-59.5 7.8h-164V133zm62.5 149.5h102c15 0 27.5-4.2 37.5-12.8s15-20.8 15-36.8c0-18-4.5-30.7-13.5-38s-22-11-39-11h-102v98.6zm0 156.5h110.5c19 0 33.8-4.9 44.2-14.8 10.5-9.8 15.8-23.8 15.8-41.8 0-17.7-5.2-31.2-15.8-40.8s-25.2-14.2-44.2-14.2H228.8V439z"/>
</svg>
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/css/docs.min.css b/vendor/twbs/bootstrap/site/docs/4.3/assets/css/docs.min.css
new file mode 100644
index 000000000..72d169366
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/css/docs.min.css
@@ -0,0 +1,8 @@
+/*!
+ * Bootstrap Docs (https://getbootstrap.com/)
+ * Copyright 2011-2019 The Bootstrap Authors
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under the Creative Commons Attribution 3.0 Unported License.
+ * For details, see https://creativecommons.org/licenses/by/3.0/.
+ */.bd-navbar{min-height:4rem;background-color:#563d7c;box-shadow:0 .5rem 1rem rgba(0,0,0,.05),inset 0 -1px 0 rgba(0,0,0,.1)}@media (max-width:991.98px){.bd-navbar{padding-right:.5rem;padding-left:.5rem}.bd-navbar .navbar-nav-scroll{max-width:100%;height:2.5rem;margin-top:.25rem;overflow:hidden}.bd-navbar .navbar-nav-scroll .navbar-nav{padding-bottom:2rem;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-navbar{position:-webkit-sticky;position:sticky;top:0;z-index:1071}}}.bd-navbar .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem;color:#cbbde2}.bd-navbar .navbar-nav .nav-link.active,.bd-navbar .navbar-nav .nav-link:hover{color:#fff;background-color:transparent}.bd-navbar .navbar-nav .nav-link.active{font-weight:600}.bd-navbar .navbar-nav-svg{display:inline-block;width:1rem;height:1rem;vertical-align:text-top}.bd-navbar .dropdown-menu{font-size:.875rem}.bd-navbar .dropdown-item.active{font-weight:600;color:#212529;background-color:transparent;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' 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");background-repeat:no-repeat;background-position:.4rem .6rem;background-size:.75rem .75rem}.bd-masthead{position:relative;padding:3rem 15px}.bd-masthead h1{font-size:4rem;line-height:1}@media (max-width:1200px){.bd-masthead h1{font-size:calc(1.525rem + 3.3vw)}}.bd-masthead .btn{padding:.8rem 2rem;font-weight:600;font-size:1.25rem}.bd-masthead .carbonad{margin-top:0!important;margin-bottom:-3rem!important}@media (min-width:576px){.bd-masthead{padding-top:5rem;padding-bottom:5rem}.bd-masthead .carbonad{margin-bottom:0!important}}@media (min-width:768px){.bd-masthead .carbonad{margin-top:3rem!important}}.half-rule{width:6rem;margin:2.5rem 0}.masthead-followup .bd-clipboard{display:none}.masthead-followup .highlight{padding:.5rem 0;background-color:transparent}#carbonads{position:static;display:block;max-width:400px;padding:15px 15px 15px 160px;margin:2rem 0;overflow:hidden;font-size:.8125rem;line-height:1.4;text-align:left;background-color:rgba(0,0,0,.05)}#carbonads a{color:#333;text-decoration:none}@media (min-width:576px){#carbonads{max-width:330px;border-radius:4px}}.carbon-img{float:left;margin-left:-145px}.carbon-poweredby{display:block;color:#777!important}.bd-content{-ms-flex-order:1;order:1}.bd-content>h2[id],.bd-content>h3[id],.bd-content>h4[id]{pointer-events:none}.bd-content>h2[id]::before,.bd-content>h3[id]::before,.bd-content>h4[id]::before{display:block;height:6rem;margin-top:-6rem;content:""}.bd-content>table{width:100%;max-width:100%;margin-bottom:1rem}@media (max-width:991.98px){.bd-content>table{display:block;overflow-x:auto}.bd-content>table.table-bordered{border:0}}.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 #dee2e6}.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-title{display:block;pointer-events:auto}.bd-content>h2{font-size:2rem}@media (max-width:1200px){.bd-content>h2{font-size:calc(1.325rem + .9vw)}}.bd-content>h3{font-size:1.75rem}@media (max-width:1200px){.bd-content>h3{font-size:calc(1.3rem + .6vw)}}.bd-content>h4{font-size:1.5rem}@media (max-width:1200px){.bd-content>h4{font-size:calc(1.275rem + .3vw)}}.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:992px){.bd-content>ol,.bd-content>p,.bd-content>ul{max-width:80%}}.bd-title{margin-top:1rem;margin-bottom:.5rem;font-weight:300;font-size:3rem}@media (max-width:1200px){.bd-title{font-size:calc(1.425rem + 2.1vw)}}.bd-lead{font-size:1.5rem;font-weight:300}@media (max-width:1200px){.bd-lead{font-size:calc(1.275rem + .3vw)}}@media (min-width:992px){.bd-lead{max-width:80%}}.bd-text-purple{color:#563d7c}.bd-text-purple-bright{color:#7952b3}.skippy{display:block;padding:1em;color:#fff;text-align:center;background-color:#563d7c;outline:0}.skippy:hover{color:#fff}.skippy-text{padding:.5em;outline:1px dotted}.bd-toc{-ms-flex-order:2;order:2;padding-top:1.5rem;padding-bottom:1.5rem;font-size:.875rem}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-toc{position:-webkit-sticky;position:sticky;top:4rem;height:calc(100vh - 4rem);overflow-y:auto}}.section-nav{padding-left:0;border-left:1px solid #eee}.section-nav ul{padding-left:1rem}.toc-entry{display:block}.toc-entry a{display:block;padding:.125rem 1.5rem;color:#77757a}.toc-entry a:hover{color:#007bff;text-decoration:none}.bd-sidebar{-ms-flex-order:0;order:0;border-bottom:1px solid rgba(0,0,0,.1)}@media (min-width:768px){.bd-sidebar{border-right:1px solid rgba(0,0,0,.1)}@supports ((position:-webkit-sticky) or (position:sticky)){.bd-sidebar{position:-webkit-sticky;position:sticky;top:4rem;z-index:1000;height:calc(100vh - 4rem)}}}@media (min-width:1200px){.bd-sidebar{-ms-flex:0 1 320px;flex:0 1 320px}}.bd-links{padding-top:1rem;padding-bottom:1rem;margin-right:-15px;margin-left:-15px}@media (min-width:768px){@supports ((position:-webkit-sticky) or (position:sticky)){.bd-links{max-height:calc(100vh - 9rem);overflow-y:auto}}}@media (min-width:768px){.bd-links{display:block!important}}.bd-search{position:relative;padding:1rem 15px;margin-right:-15px;margin-left:-15px;border-bottom:1px solid rgba(0,0,0,.05)}.bd-search .form-control:focus{border-color:#7952b3;box-shadow:0 0 0 3px rgba(121,82,179,.25)}.bd-search-docs-toggle{line-height:1;color:#212529}.bd-sidenav{display:none}.bd-toc-link{display:block;padding:.25rem 1.5rem;font-weight:600;color:rgba(0,0,0,.65)}.bd-toc-link:hover{color:rgba(0,0,0,.85);text-decoration:none}.bd-toc-item.active{margin-bottom:1rem}.bd-toc-item.active:not(:first-child){margin-top:1rem}.bd-toc-item.active>.bd-toc-link{color:rgba(0,0,0,.85)}.bd-toc-item.active>.bd-toc-link:hover{background-color:transparent}.bd-toc-item.active>.bd-sidenav{display:block}.bd-sidebar .nav>li>a{display:block;padding:.25rem 1.5rem;font-size:90%;color:rgba(0,0,0,.65)}.bd-sidebar .nav>li>a:hover{color:rgba(0,0,0,.85);text-decoration:none;background-color:transparent}.bd-sidebar .nav>.active:hover>a,.bd-sidebar .nav>.active>a{font-weight:600;color:rgba(0,0,0,.85);background-color:transparent}.bd-footer{font-size:.875rem;text-align:center;background-color:#f7f7f7}.bd-footer a{font-weight:600;color:#495057}.bd-footer a:focus,.bd-footer a:hover{color:#007bff}.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>.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 .row+.row{margin-top:1rem}.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;width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.example-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.example-content-main{position:relative;width:100%;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-main{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-main{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}}.example-content-secondary{position:relative;width:100%;padding-right:15px;padding-left:15px}@media (min-width:576px){.example-content-secondary{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}@media (min-width:992px){.example-content-secondary{-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:#fff;border-radius:.25rem}.bd-example-container-sidebar{float:right;width:4rem;height:8rem;background-color:#80bdff;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 0;border:solid #f8f9fa;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-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 .custom-file-input:lang(es)~.custom-file-label::after{content:"Elegir"}.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 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-top:0;margin-bottom:0}.bd-example-bg-classes p{padding:1rem}.bd-example>img+img,.bd-example>svg+svg{margin-left:.5rem}.bd-example>.btn,.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>[class*=list-group-horizontal]{max-width:100%}.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}.modal{z-index:1072}.modal .popover,.modal .tooltip{z-index:1073}.modal-backdrop{z-index:1071}.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-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}.scrollspy-example-2{position:relative;height:350px;overflow:auto}.bd-example-border-utils [class^=border]{display:inline-block;width:5rem;height:5rem;margin:.25rem;background-color:#f5f5f5}.bd-example-border-utils-0 [class^=border]{border:1px solid #dee2e6}.highlight{padding:1rem;margin-top:1rem;margin-bottom:1rem;background-color:#f8f9fa;-ms-overflow-style:-ms-autohiding-scrollbar}@media (min-width:576px){.highlight{padding:1.5rem}}.bd-content .highlight{margin-right:-15px;margin-left:-15px}@media (min-width:576px){.bd-content .highlight{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:#212529}.btn-bd-primary{font-weight:600;color:#7952b3;border-color:#7952b3}.btn-bd-primary:active,.btn-bd-primary:hover{color:#fff;background-color:#7952b3;border-color:#7952b3}.btn-bd-primary:focus{box-shadow:0 0 0 3px rgba(121,82,179,.25)}.btn-bd-download{font-weight:600;color:#ffe484;border-color:#ffe484}.btn-bd-download:active,.btn-bd-download:hover{color:#2a2730;background-color:#ffe484;border-color:#ffe484}.btn-bd-download:focus{box-shadow:0 0 0 3px rgba(255,228,132,.25)}.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-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-logos .inverse{color:#fff;background-color:#563d7c}.bd-brand-item{padding:4rem 0;text-align:center}.bd-brand-item+.bd-brand-item{border-top:1px solid #fff}.bd-brand-item h1,.bd-brand-item h3{margin-top:0;margin-bottom:0}@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}}@media (min-width:768px) and (max-width:1200px){.bd-brand-item h1{font-size:calc(1.525rem + 3.3vw)}}.color-swatches{margin:0 -5px;overflow:hidden}.color-swatches .bd-purple{background-color:#563d7c}.color-swatches .bd-purple-light{background-color:#cbbde2}.color-swatches .bd-purple-lighter{background-color:#e5e1ea}.color-swatches .bd-gray{background-color:#f9f9f9}.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}}.swatch-blue{color:#fff;background-color:#007bff}.swatch-indigo{color:#fff;background-color:#6610f2}.swatch-purple{color:#fff;background-color:#6f42c1}.swatch-pink{color:#fff;background-color:#e83e8c}.swatch-red{color:#fff;background-color:#dc3545}.swatch-orange{color:#212529;background-color:#fd7e14}.swatch-yellow{color:#212529;background-color:#ffc107}.swatch-green{color:#fff;background-color:#28a745}.swatch-teal{color:#fff;background-color:#20c997}.swatch-cyan{color:#fff;background-color:#17a2b8}.swatch-white{color:#212529;background-color:#fff}.swatch-gray{color:#fff;background-color:#6c757d}.swatch-gray-dark{color:#fff;background-color:#343a40}.swatch-primary{color:#fff;background-color:#007bff}.swatch-secondary{color:#fff;background-color:#6c757d}.swatch-success{color:#fff;background-color:#28a745}.swatch-info{color:#fff;background-color:#17a2b8}.swatch-warning{color:#212529;background-color:#ffc107}.swatch-danger{color:#fff;background-color:#dc3545}.swatch-light{color:#212529;background-color:#f8f9fa}.swatch-dark{color:#fff;background-color:#343a40}.swatch-100{color:#212529;background-color:#f8f9fa}.swatch-200{color:#212529;background-color:#e9ecef}.swatch-300{color:#212529;background-color:#dee2e6}.swatch-400{color:#212529;background-color:#ced4da}.swatch-500{color:#212529;background-color:#adb5bd}.swatch-600{color:#fff;background-color:#6c757d}.swatch-700{color:#fff;background-color:#495057}.swatch-800{color:#fff;background-color:#343a40}.swatch-900{color:#fff;background-color:#212529}.bd-clipboard{position:relative;display:none;float:right}.bd-clipboard+.highlight{margin-top:0}@media (min-width:768px){.bd-clipboard{display:block}}.btn-clipboard{position:absolute;top:.5rem;right:.5rem;z-index:10;display:block;padding:.25rem .5rem;font-size:75%;color:#818a91;background-color:transparent;border:0;border-radius:.25rem}.btn-clipboard:hover{color:#fff;background-color:#027de7}.bd-placeholder-img{font-size:1.125rem;text-anchor:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bd-placeholder-img-lg{font-size:3.5rem}@media (max-width:1200px){.bd-placeholder-img-lg{font-size:calc(1.475rem + 2.7vw)}}.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,.language-sh::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{font-weight:400;color:rgba(0,123,255,.5);transition:color .15s ease-in-out,opacity .15s ease-in-out}@media (prefers-reduced-motion:reduce){.anchorjs-link{transition:none}}.anchorjs-link:hover{color:#007bff;text-decoration:none}.algolia-autocomplete{display:block!important;-ms-flex:1;flex:1}.algolia-autocomplete .ds-dropdown-menu{width:100%;min-width:0!important;max-width:none!important;padding:.75rem 0!important;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.175)}@media (min-width:768px){.algolia-autocomplete .ds-dropdown-menu{width:175%}}.algolia-autocomplete .ds-dropdown-menu::before{display:none!important}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{padding:0!important;overflow:visible!important;background-color:transparent!important;border:0!important}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{margin-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion{padding:0!important;overflow:visible!important}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{padding:.125rem 1rem!important;margin-top:0!important;font-size:.875rem!important;font-weight:600!important;color:#7952b3!important;border-bottom:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{float:none!important;padding-top:0!important}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:none!important;width:auto!important;padding:0!important;text-align:left!important}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:block!important;font-size:.875rem;color:#495057}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline::after{padding:0 .25rem;content:"/"}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;float:none!important;width:100%!important;padding:.25rem 1rem!important}.algolia-autocomplete .algolia-docsearch-suggestion--content::before{display:none!important}.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header{padding-top:.75rem!important;margin-top:.75rem!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column{display:none!important}.algolia-autocomplete .algolia-docsearch-suggestion--title{display:block;margin-bottom:0!important;font-size:.875rem!important;font-weight:400!important}.algolia-autocomplete .algolia-docsearch-suggestion--text{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%;padding:.2rem 0;font-size:.8125rem!important;font-weight:400;line-height:1.25!important;color:#6c757d}.algolia-autocomplete .algolia-docsearch-footer{float:none!important;width:auto!important;height:auto!important;padding:.75rem 1rem 0;font-size:.75rem!important;line-height:1!important;color:#767676!important;border-top:1px solid rgba(0,0,0,.1)}.algolia-autocomplete .algolia-docsearch-footer--logo{display:inline!important;overflow:visible!important;color:inherit!important;text-indent:0!important;background:0 0!important}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#5f2dab;background-color:rgba(154,132,187,.12)}.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:inset 0 -2px 0 0 rgba(95,45,171,.5)!important}.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content{background-color:rgba(208,189,236,.15)!important}
+/*# sourceMappingURL=docs.min.css.map */ \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/css/docs.min.css.map b/vendor/twbs/bootstrap/site/docs/4.3/assets/css/docs.min.css.map
new file mode 100644
index 000000000..6fa620fe4
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/css/docs.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../scss/docs.scss","../scss/_nav.scss","../../../../../scss/mixins/_breakpoints.scss","../../../../../scss/vendor/_rfs.scss","../scss/_masthead.scss","../scss/_ads.scss","../../../../../scss/mixins/_border-radius.scss","../scss/_content.scss","site/docs/4.3/assets/css/docs.min.css","../scss/_skippy.scss","../../../../../scss/mixins/_hover.scss","../scss/_sidebar.scss","../scss/_footer.scss","../scss/_component-examples.scss","../../../../../scss/mixins/_grid.scss","../../../../../scss/mixins/_clearfix.scss","../scss/_buttons.scss","../scss/_callouts.scss","../scss/_browser-bugs.scss","../scss/_brand.scss","../scss/_colors.scss","../scss/_clipboard-js.scss","../scss/_placeholder-img.scss","../scss/_syntax.scss","../scss/_anchor.scss","../../../../../scss/mixins/_transition.scss","../scss/_algolia.scss"],"names":[],"mappings":"AAAA;;;;;;ACIA,WACE,WAAA,KACA,iBAAA,QACA,WAAA,EAAA,MAAA,KAAA,eAAA,CAAA,MAAA,EAAA,KAAA,EAAA,eCkEE,4BDrEJ,WAMI,cAAA,MACA,aAAA,MAPJ,8BAUM,UAAA,KACA,OAAA,OACA,WAAA,OACA,SAAA,OAbN,0CAgBQ,eAAA,KACA,WAAA,KACA,YAAA,OACA,2BAAA,OCqCJ,yBD/B4B,2DAzBhC,WA0BM,SAAA,eAAA,SAAA,OACA,IAAA,EACA,QAAA,OA5BN,iCAkCM,cAAA,MACA,aAAA,MACA,MAAA,QApCN,wCAAA,uCAwCQ,MAAA,KACA,iBAAA,YAzCR,wCA6CQ,YAAA,IA7CR,2BAmDI,QAAA,aACA,MAAA,KACA,OAAA,KACA,eAAA,SAtDJ,0BE2HM,UAAA,QF3HN,iCA8DI,YAAA,IACA,MAAA,QACA,iBAAA,YACA,iBAAA,2OACA,kBAAA,UACA,oBAAA,MAAA,MACA,gBAAA,OAAA,OGtEJ,aACE,SAAA,SACA,QAAA,KAAA,KAFF,gBDuJQ,UAAA,KChJJ,YAAA,EDsKI,0BC7KR,gBDqLY,UAAA,wBCrLZ,kBAWI,QAAA,MAAA,KACA,YAAA,IDiHE,UAAA,QC7HN,uBAiBI,WAAA,YACA,cAAA,gBFwCA,yBE1DJ,aAsBI,YAAA,KACA,eAAA,KAvBJ,uBA0BM,cAAA,aFgCF,yBE1DJ,uBAgCM,WAAA,gBAKN,WACE,MAAA,KACA,OAAA,OAAA,EAGF,iCACkB,QAAA,KADlB,8BAII,QAAA,MAAA,EACA,iBAAA,YC3CJ,WACE,SAAA,OACA,QAAA,MACA,UAAA,MACA,QAAA,KAAA,KAAA,KAAA,MACA,OAAA,KAAA,EACA,SAAA,OFmHI,UAAA,SEjHJ,YAAA,IACA,WAAA,KACA,iBAAA,gBAVF,aAaI,MAAA,KACA,gBAAA,KHwCA,yBGtDJ,WAkBI,UAAA,MCnBA,cAAA,KDwBJ,YACE,MAAA,KACA,YAAA,OAGF,kBACE,QAAA,MACA,MAAA,eE9BF,YACE,eAAA,EAAA,MAAA,EADF,mBC2KA,mBACA,mBDrKI,eAAA,KAPJ,2BCiLA,2BACA,2BDxKM,QAAA,MACA,OAAA,KACA,WAAA,MACA,QAAA,GAbN,kBAkBI,MAAA,KACA,UAAA,KACA,cAAA,KL+CA,4BKnEJ,kBAuBM,QAAA,MACA,WAAA,KAxBN,iCA2BQ,OAAA,GCiLR,8BADA,8BAGA,8BADA,8BAHA,8BD1MA,8BAsCU,QAAA,OACA,eAAA,IACA,OAAA,IAAA,MAAA,QC+KV,2CADA,2CAGA,2CADA,2CAHA,2CDrNA,2CA2CY,cAAA,EA3CZ,sCAmDM,YAAA,OAKN,kBACE,QAAA,MACA,eAAA,KAOF,eJkFQ,UAAA,KAsBA,0BIxGR,eJgHY,UAAA,uBIhHZ,eJkFQ,UAAA,QAsBA,0BIxGR,eJgHY,UAAA,qBIhHZ,eJkFQ,UAAA,OAsBA,0BIxGR,eJgHY,UAAA,uBIhHZ,iCAcI,WAAA,KAdJ,eAkBI,WAAA,OC0LJ,kBD5MA,kBAuBI,cAAA,OLlCA,yBM6NF,eACA,cDnNF,eA8BM,UAAA,KAKN,UACE,WAAA,KACA,cAAA,MACA,YAAA,IJ4CM,UAAA,KAsBA,0BIrER,UJ6EY,UAAA,wBItEZ,SJwCQ,UAAA,OItCN,YAAA,IJ4DM,0BI9DR,SJsEY,UAAA,uBD3HR,yBKqDJ,SAKI,UAAA,KAIJ,gBAAkB,MAAA,QAClB,uBAAyB,MAAA,QE3HzB,QACE,QAAA,MACA,QAAA,IACA,MAAA,KACA,WAAA,OACA,iBAAA,QACA,QAAA,ECMA,cDHE,MAAA,KAIJ,aACE,QAAA,KACA,QAAA,IAAA,OETF,QAOE,eAAA,EAAA,MAAA,EACA,YAAA,OACA,eAAA,ORgHI,UAAA,QQxHwB,2DAD9B,QAEI,SAAA,eAAA,SAAA,OACA,IAAA,KACA,OAAA,mBACA,WAAA,MAQJ,aACE,aAAA,EACA,YAAA,IAAA,MAAA,KAFF,gBAKI,aAAA,KAIJ,WACE,QAAA,MADF,aAII,QAAA,MACA,QAAA,QAAA,OACA,MAAA,QANJ,mBASM,MAAA,QACA,gBAAA,KASN,YACE,eAAA,EAAA,MAAA,EAEA,cAAA,IAAA,MAAA,eTUE,yBSbJ,YAYI,aAAA,IAAA,MAAA,eAN4B,2DANhC,YAOM,SAAA,eAAA,SAAA,OACA,IAAA,KACA,QAAA,KACA,OAAA,qBTGF,0BSbJ,YAgBI,SAAA,EAAA,EAAA,MAAA,KAAA,EAAA,EAAA,OAIJ,UACE,YAAA,KACA,eAAA,KACA,aAAA,MACA,YAAA,MTXE,yBSc4B,2DAPhC,UAQM,WAAA,mBACA,WAAA,OThBF,yBSOJ,UAeI,QAAA,iBAIJ,WACE,SAAA,SACA,QAAA,KAAA,KACA,aAAA,MACA,YAAA,MACA,cAAA,IAAA,MAAA,gBALF,+BAQI,aAAA,QACA,WAAA,EAAA,EAAA,EAAA,IAAA,qBAIJ,uBACE,YAAA,EACA,MAAA,QAGF,YACE,QAAA,KAGF,aACE,QAAA,MACA,QAAA,OAAA,OACA,YAAA,IACA,MAAA,gBAJF,mBAOI,MAAA,gBACA,gBAAA,KAIJ,oBAEI,cAAA,KAFJ,sCAKM,WAAA,KALN,iCASM,MAAA,gBATN,uCAYQ,iBAAA,YAZR,gCAiBM,QAAA,MAMN,sBACE,QAAA,MACA,QAAA,OAAA,ORzEE,UAAA,IQ2EF,MAAA,gBAGF,4BACE,MAAA,gBACA,gBAAA,KACA,iBAAA,YH8VF,iCG3VA,2BAEE,YAAA,IACA,MAAA,gBACA,iBAAA,YC5JF,WT2HM,UAAA,QSzHJ,WAAA,OACA,iBAAA,QAHF,aAMI,YAAA,IACA,MAAA,QAPJ,mBAAA,mBAWM,MAAA,QAXN,aAgBI,cAAA,EVwCA,yBUxDJ,WAoBI,WAAA,MAIJ,iBACE,aAAA,EACA,cAAA,KAFF,oBAKI,QAAA,aALJ,uBAQM,YAAA,KC9BN,0BL8hBA,mCK1hBM,YAAA,OACA,eAAA,OACA,iBAAA,oBACA,OAAA,IAAA,MAAA,mBAPN,0BAYI,WAAA,KL+hBJ,mCADA,mCK1iBA,gCAkBI,WAAA,KACA,iBAAA,iBAIJ,+BACE,WAAA,MACA,iBAAA,iBAGF,cACE,iBAAA,oBACA,OAAA,IAAA,MAAA,oBAIF,mBACE,MAAA,MCpCA,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KDoCF,aCtBE,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,aAAA,MACA,YAAA,MDuBF,sBCnBE,SAAA,SAIA,MAAA,KACA,cAAA,KACA,aAAA,KZwBE,yBWXJ,sBCTE,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,KZgBE,yBWXJ,sBCTE,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,YDiBF,2BC/BE,SAAA,SAIA,MAAA,KACA,cAAA,KACA,aAAA,KZwBE,yBWCJ,2BCrBE,SAAA,EAAA,EAAA,IAAA,KAAA,EAAA,EAAA,IAIA,UAAA,KZgBE,yBWCJ,2BCrBE,SAAA,EAAA,EAAA,WAAA,KAAA,EAAA,EAAA,WAIA,UAAA,YDkCF,sBACE,UAAA,MACA,UAAA,MACA,aAAA,KACA,YAAA,KAGF,6BACE,OAAA,KACA,cAAA,MACA,iBAAA,KPnFE,cAAA,OOuFJ,8BACE,MAAA,MACA,MAAA,KACA,OAAA,KACA,iBAAA,QP3FE,cAAA,OO+FJ,2BACE,OAAA,KACA,aAAA,OACA,iBAAA,QPlGE,cAAA,OOsGJ,4BACE,UAAA,KAQF,YACE,SAAA,SACA,QAAA,KACA,OAAA,KAAA,MAAA,EACA,OAAA,MAAA,QACA,aAAA,MAAA,EAAA,EExHA,mBACE,QAAA,MACA,MAAA,KACA,QAAA,GbwDA,yBWwDJ,YASI,QAAA,OACA,aAAA,EACA,YAAA,EACA,aAAA,OLyjBJ,kCKrkBA,uBAiBI,WAAA,EAjBJ,cAqBI,WAAA,KArBJ,qBAyBI,SAAA,SACA,OAAA,MXlFA,yBWwDJ,qBA6BM,OAAA,SA7BN,kEAkCI,QAAA,SAlCJ,wCAuCM,WAAA,ML0jBN,0BKjmBA,sBLkmBA,4BAEA,2BADA,gCKnjBI,WAAA,KAhDJ,uCAoDI,SAAA,OACA,QAAA,MArDJ,mCAyDI,cAAA,EAzDJ,mBA6DI,MAAA,KAKJ,2BAGM,QAAA,KAAA,EACA,aAAA,KAJN,0CAOM,WAAA,EAPN,oBL6jBA,oBACA,oBACA,oBACA,oBACA,oBKhjBI,WAAA,EACA,cAAA,EAKJ,yBACE,QAAA,KLmjBF,oBK/iBA,oBAGI,YAAA,MAKJ,iBL4iBA,uBKziBI,WAAA,OACA,cAAA,OAJJ,sCAOI,WAAA,ML+iBJ,6DK1iBA,kCAEE,WAAA,MAEF,8BACE,cAAA,MAEF,kCACE,OAAA,SAIF,wBACE,UAAA,MAEF,2CACE,UAAA,KAIF,uBL2iBA,wBKxiBI,SAAA,OACA,OAAA,MAAA,MAAA,KAJJ,0BAOI,SAAA,OACA,OAAA,KAAA,MAAA,MXtMA,yBW8LJ,uBLujBE,wBKziBI,OAAA,QAAA,QAAA,KAdN,0BAiBM,OAAA,KAAA,QAAA,SAMN,wBACE,WAAA,MACA,cAAA,MAIF,OACE,QAAA,KL2iBF,gBK5iBA,gBAKI,QAAA,KAIJ,gBACE,QAAA,KAGF,kBACE,iBAAA,QADF,yBAII,SAAA,SACA,IAAA,KACA,MAAA,KACA,OAAA,KACA,KAAA,KACA,QAAA,EACA,QAAA,MAVJ,gCAcI,KAAA,KACA,aAAA,KACA,YAAA,KAKJ,2BACE,cAAA,KAIF,2BACE,eAAA,OACA,iBAAA,QAFF,oCAKI,SAAA,SACA,QAAA,MACA,MAAA,KACA,MAAA,MACA,OAAA,QAKJ,gBACE,YAAA,OAGF,oCACE,SAAA,SACA,QAAA,aACA,OAAA,KAAA,KACA,QAAA,EAIF,mBACE,SAAA,SACA,OAAA,MACA,WAAA,MACA,SAAA,KAGF,qBACE,SAAA,SACA,OAAA,MACA,SAAA,KAGF,yCAEI,QAAA,aACA,MAAA,KACA,OAAA,KACA,OAAA,OACA,iBAAA,QAIJ,2CAEI,OAAA,IAAA,MAAA,QAQJ,WACE,QAAA,KACA,WAAA,KACA,cAAA,KACA,iBAAA,QACA,mBAAA,yBXlUE,yBW6TJ,WAQI,QAAA,QAIJ,uBACE,aAAA,MACA,YAAA,MX3UE,yBWyUJ,uBAKI,aAAA,EACA,YAAA,GAIJ,eAEI,QAAA,EACA,WAAA,EACA,cAAA,EACA,iBAAA,YACA,OAAA,EANJ,oBVvUI,UAAA,QUiVA,MAAA,QGrZJ,gBACE,YAAA,IACA,MAAA,QACA,aAAA,QAHF,uBAAA,sBAOI,MAAA,KACA,iBAAA,QACA,aAAA,QATJ,sBAaI,WAAA,EAAA,EAAA,EAAA,IAAA,qBAIJ,iBACE,YAAA,IACA,MAAA,QACA,aAAA,QAHF,wBAAA,uBAOI,MAAA,QACA,iBAAA,QACA,aAAA,QATJ,uBAaI,WAAA,EAAA,EAAA,EAAA,IAAA,sBC9BJ,YACE,QAAA,QACA,WAAA,QACA,cAAA,QACA,OAAA,IAAA,MAAA,KACA,kBAAA,OXJE,cAAA,OWDJ,eASI,WAAA,EACA,cAAA,OAVJ,yBAcI,cAAA,EAdJ,iBXCI,cAAA,OWDJ,wBAsBI,WAAA,QAWJ,iBALE,kBAAA,QAEA,oBAAK,MAAA,QAIP,oBANE,kBAAA,QAEA,uBAAK,MAAA,QAKP,mBAPE,kBAAA,QAEA,sBAAK,MAAA,QC9BP,sBAEI,cAAA,EAFJ,gCAKI,MAAA,ICJJ,gBACE,QAAA,MACA,MAAA,KACA,cAAA,KACA,SAAA,OACA,MAAA,QACA,iBAAA,QbNE,cAAA,OaAJ,yBAUI,MAAA,KACA,iBAAA,QAKJ,eACE,QAAA,KAAA,EACA,WAAA,OAFF,8BAKI,WAAA,IAAA,MAAA,KALJ,kBXyhCA,kBW9gCI,WAAA,EACA,cAAA,EjB2BA,yBiBvCJ,eAgBI,QAAA,WACA,MAAA,GAjBJ,8BAoBM,WAAA,EACA,YAAA,IAAA,MAAA,KArBN,kBhBoIQ,UAAA,MAsBA,gDgB1JR,kBhBkKY,UAAA,wBgB/HZ,gBACE,OAAA,EAAA,KACA,SAAA,OAFF,2BAMI,iBAAA,QANJ,iCASI,iBAAA,QATJ,mCAYI,iBAAA,QAZJ,yBAeI,iBAAA,QAIJ,cACE,MAAA,KACA,MAAA,KACA,OAAA,KACA,aAAA,OACA,YAAA,Ob3EE,cAAA,OJuDA,yBiBeJ,cASI,MAAA,KACA,OAAA,MChFF,aACE,MAAA,KACA,iBAAA,QAFF,eACE,MAAA,KACA,iBAAA,QAFF,eACE,MAAA,KACA,iBAAA,QAFF,aACE,MAAA,KACA,iBAAA,QAFF,YACE,MAAA,KACA,iBAAA,QAFF,eACE,MAAA,QACA,iBAAA,QAFF,eACE,MAAA,QACA,iBAAA,QAFF,cACE,MAAA,KACA,iBAAA,QAFF,aACE,MAAA,KACA,iBAAA,QAFF,aACE,MAAA,KACA,iBAAA,QAFF,cACE,MAAA,QACA,iBAAA,KAFF,aACE,MAAA,KACA,iBAAA,QAFF,kBACE,MAAA,KACA,iBAAA,QAKF,gBACE,MAAA,KACA,iBAAA,QAFF,kBACE,MAAA,KACA,iBAAA,QAFF,gBACE,MAAA,KACA,iBAAA,QAFF,aACE,MAAA,KACA,iBAAA,QAFF,gBACE,MAAA,QACA,iBAAA,QAFF,eACE,MAAA,KACA,iBAAA,QAFF,cACE,MAAA,QACA,iBAAA,QAFF,aACE,MAAA,KACA,iBAAA,QAKF,YACE,MAAA,QACA,iBAAA,QAFF,YACE,MAAA,QACA,iBAAA,QAFF,YACE,MAAA,QACA,iBAAA,QAFF,YACE,MAAA,QACA,iBAAA,QAFF,YACE,MAAA,QACA,iBAAA,QAFF,YACE,MAAA,KACA,iBAAA,QAFF,YACE,MAAA,KACA,iBAAA,QAFF,YACE,MAAA,KACA,iBAAA,QAFF,YACE,MAAA,KACA,iBAAA,QCjBJ,cACE,SAAA,SACA,QAAA,KACA,MAAA,MAHF,yBAMI,WAAA,EnBkDA,yBmBxDJ,cAUI,QAAA,OAIJ,eACE,SAAA,SACA,IAAA,MACA,MAAA,MACA,QAAA,GACA,QAAA,MACA,QAAA,OAAA,MlBgDE,UAAA,IkB9CF,MAAA,QACA,iBAAA,YACA,OAAA,EfvBE,cAAA,OeaJ,qBAcI,MAAA,KACA,iBAAA,QC3BJ,oBnByHM,UAAA,SmBvHJ,YAAA,OACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KAGF,uBnB6IQ,UAAA,OAsBA,0BmBnKR,uBnB2KY,UAAA,wBoBrLZ,KAAO,iBAAA,KACP,GAAK,MAAA,KACL,GAAK,MAAA,KACL,GAAK,MAAA,KACL,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,iBAAA,KAAwB,OAAA,IAAA,MAAA,KAC9B,IAAM,WAAA,OACN,IAAM,MAAA,IACN,IAAM,MAAA,KACN,IAAM,iBAAA,KAAwB,OAAA,IAAA,MAAA,KAC9B,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,GAAK,MAAA,KACL,GAAK,MAAA,QACL,IAAM,MAAA,QACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,QACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,GAAK,MAAA,KACL,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,WAAA,OAAoB,MAAA,KAC1B,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,KACN,IAAM,MAAA,Kf6+CN,ae3+CA,Qf0+CA,Yex+CiB,MAAA,KAEjB,uBf4+CA,qBe1+CE,MAAA,KACA,QAAA,KACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KAGF,6BACE,MAAA,KACA,QAAA,OACA,oBAAA,KAAA,iBAAA,KAAA,gBAAA,KAAA,YAAA,KC5EF,eACE,YAAA,IACA,MAAA,mBCII,WAAA,MAAA,KAAA,WAAA,CAAA,QAAA,KAAA,YAKF,uCDXJ,eCYM,WAAA,MDZN,qBAMI,MAAA,QACA,gBAAA,KEFJ,sBACE,QAAA,gBACA,SAAA,EAAA,KAAA,EAFF,wCAMI,MAAA,KACA,UAAA,YACA,UAAA,eACA,QAAA,OAAA,YACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,eACA,WAAA,EAAA,MAAA,KAAA,iBxB0CA,yBwBvDJ,wCAgBM,MAAA,MAhBN,gDAqBM,QAAA,eArBN,6DAyBM,QAAA,YACA,SAAA,kBACA,iBAAA,sBACA,OAAA,YA5BN,wDAgCM,WAAA,YAhCN,oDAqCI,QAAA,YACA,SAAA,kBAtCJ,qEA0CI,QAAA,QAAA,eACA,WAAA,YvB+EE,UAAA,kBuB7EF,YAAA,cACA,MAAA,kBACA,cAAA,YA/CJ,6DAmDI,MAAA,eACA,YAAA,YApDJ,wEAyDI,MAAA,eACA,MAAA,eACA,QAAA,YACA,WAAA,eA5DJ,wEAgEI,QAAA,gBvB0DE,UAAA,QuBxDF,MAAA,QAlEJ,+EAqEM,QAAA,EAAA,OACA,QAAA,IAtEN,6DA2EI,QAAA,YAAA,QAAA,KACA,cAAA,KAAA,UAAA,KACA,MAAA,eACA,MAAA,eACA,QAAA,OAAA,eA/EJ,qEAmFM,QAAA,eAnFN,sGA0FQ,YAAA,iBACA,WAAA,iBACA,WAAA,IAAA,MAAA,eA5FR,uFAiGM,QAAA,eAjGN,2DAsGI,QAAA,MACA,cAAA,YvBmBE,UAAA,kBuBjBF,YAAA,cAzGJ,0DA6GI,SAAA,EAAA,EAAA,KAAA,KAAA,EAAA,EAAA,KACA,UAAA,KACA,QAAA,MAAA,EvBWE,UAAA,mBuBTF,YAAA,IACA,YAAA,eACA,MAAA,QAnHJ,gDAuHI,MAAA,eACA,MAAA,eACA,OAAA,eACA,QAAA,OAAA,KAAA,EvBAE,UAAA,iBuBEF,YAAA,YACA,MAAA,kBACA,WAAA,IAAA,MAAA,eA9HJ,sDAkII,QAAA,iBACA,SAAA,kBACA,MAAA,kBACA,YAAA,YACA,WAAA,cAtIJ,+DA0II,MAAA,QACA,iBAAA,sBA3IJ,mGA+II,WAAA,MAAA,EAAA,KAAA,EAAA,EAAA,6BA/IJ,sFAmJI,iBAAA","sourcesContent":["/*!\n * Bootstrap Docs (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License.\n * For details, see https://creativecommons.org/licenses/by/3.0/.\n */\n\n// Dev notes\n//\n// Background information on nomenclature and architecture decisions here.\n//\n// - Bootstrap functions, variables, and mixins are included for easy reuse.\n// Doing so gives us access to the same core utilities provided by Bootstrap.\n// For example, consistent media queries through those mixins.\n//\n// - Bootstrap's **docs variables** are prefixed with `$bd-`.\n// These custom colors avoid collision with the components Bootstrap provides.\n//\n// - Classes are prefixed with `.bd-`.\n// These classes indicate custom-built or modified components for the design\n// and layout of the Bootstrap docs. They are not included in our builds.\n//\n// Happy Bootstrapping!\n\n// Load Bootstrap variables and mixins\n@import \"../../../../../scss/functions\";\n@import \"../../../../../scss/variables\";\n@import \"../../../../../scss/mixins\";\n\n// Load docs components\n@import \"variables\";\n@import \"nav\";\n@import \"masthead\";\n@import \"ads\";\n@import \"content\";\n@import \"skippy\";\n@import \"sidebar\";\n@import \"footer\";\n@import \"component-examples\";\n@import \"buttons\";\n@import \"callouts\";\n@import \"browser-bugs\";\n@import \"brand\";\n@import \"colors\";\n@import \"clipboard-js\";\n@import \"placeholder-img\";\n\n// Load docs dependencies\n@import \"syntax\";\n@import \"anchor\";\n@import \"algolia\";\n","//\n// Main navbar\n//\n\n.bd-navbar {\n min-height: 4rem;\n background-color: $bd-purple;\n box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .05), inset 0 -1px 0 rgba(0, 0, 0, .1);\n\n @include media-breakpoint-down(md) {\n padding-right: .5rem;\n padding-left: .5rem;\n\n .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n\n .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n }\n }\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 0;\n z-index: 1071; // over everything in bootstrap\n }\n }\n\n .navbar-nav {\n .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: $bd-purple-light;\n\n &.active,\n &:hover {\n color: $white;\n background-color: transparent;\n }\n\n &.active {\n font-weight: 600;\n }\n }\n }\n\n .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n }\n\n .dropdown-menu {\n @include font-size(.875rem);\n }\n\n .dropdown-item.active {\n font-weight: 600;\n color: $gray-900;\n background-color: transparent;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' 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 background-repeat: no-repeat;\n background-position: .4rem .6rem;\n background-size: .75rem .75rem;\n }\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $breakpoints) {\n @content;\n }\n }\n}\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n // Cache $fs unit\n $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n // Add !important suffix if needed\n $rfs-suffix: if($important, \" !important\", \"\");\n\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n font-size: #{$fs}#{$rfs-suffix};\n }\n @else {\n // Variables for storing static and fluid rescaling\n $rfs-static: null;\n $rfs-fluid: null;\n\n // Remove px-unit from $fs for calculations\n @if $fs-unit == \"px\" {\n $fs: $fs / ($fs * 0 + 1);\n }\n @else if $fs-unit == \"rem\" {\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n }\n\n // Set default font-size\n @if $rfs-font-size-unit == rem {\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n }\n @else if $rfs-font-size-unit == px {\n $rfs-static: #{$fs}px#{$rfs-suffix};\n }\n @else {\n @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n }\n\n // Only add media query if font-size is bigger as the minimum font-size\n // If $rfs-factor == 1, no rescaling will take place\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n $min-width: null;\n $variable-unit: null;\n\n // Calculate minimum font-size for given font-size\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n // Calculate difference between given font-size and minimum font-size for given font-size\n $fs-diff: $fs - $fs-min;\n\n // Base font-size formatting\n // No need to check if the unit is valid, because we did that before\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n // If two-dimensional, use smallest of screen width and height\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Set the calculated font-size.\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n }\n\n // Rendering\n @if $rfs-fluid == null {\n // Only render static font-size if no fluid font-size is available\n font-size: $rfs-static;\n }\n @else {\n $mq-value: null;\n\n // RFS breakpoint formatting\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n }\n @else if $rfs-breakpoint-unit == px {\n $mq-value: #{$rfs-breakpoint}px;\n }\n @else {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n }\n\n @if $rfs-class == \"disable\" {\n // Adding an extra class increases specificity,\n // which prevents the media query to override the font size\n &,\n .disable-responsive-font-size &,\n &.disable-responsive-font-size {\n font-size: $rfs-static;\n }\n }\n @else {\n font-size: $rfs-static;\n }\n\n @if $rfs-two-dimensional {\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n @else {\n @media (max-width: #{$mq-value}) {\n @if $rfs-class == \"enable\" {\n .enable-responsive-font-size &,\n &.enable-responsive-font-size {\n font-size: $rfs-fluid;\n }\n }\n @else {\n font-size: $rfs-fluid;\n }\n\n @if $rfs-safari-iframe-resize-bug-fix {\n // stylelint-disable-next-line length-zero-no-unit\n min-width: 0vw;\n }\n }\n }\n }\n }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n @include rfs($fs, $important);\n}\n","// stylelint-disable declaration-no-important\n\n.bd-masthead {\n position: relative;\n padding: 3rem ($grid-gutter-width / 2);\n // background-image: linear-gradient(45deg, #fafafa, #f5f5f5);\n\n h1 {\n @include font-size(4rem);\n line-height: 1;\n }\n\n .btn {\n padding: .8rem 2rem;\n font-weight: 600;\n @include font-size(1.25rem);\n }\n\n .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n }\n\n @include media-breakpoint-up(sm) {\n padding-top: 5rem;\n padding-bottom: 5rem;\n\n .carbonad {\n margin-bottom: 0 !important;\n }\n }\n\n @include media-breakpoint-up(md) {\n .carbonad {\n margin-top: 3rem !important;\n }\n }\n}\n\n.half-rule {\n width: 6rem;\n margin: 2.5rem 0;\n}\n\n.masthead-followup {\n .bd-clipboard { display: none; }\n\n .highlight {\n padding: .5rem 0;\n background-color: transparent;\n }\n}\n","// stylelint-disable declaration-no-important, selector-max-id\n\n//\n// Carbon ads\n//\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n @include font-size(.8125rem);\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0, 0, 0, .05);\n\n a {\n color: #333;\n text-decoration: none;\n }\n\n @include media-breakpoint-up(sm) {\n max-width: 330px;\n @include border-radius(4px);\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n color: #777 !important;\n}\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: $radius;\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n border-bottom-left-radius: $radius;\n }\n}\n\n@mixin border-top-left-radius($radius) {\n @if $enable-rounded {\n border-top-left-radius: $radius;\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: $radius;\n }\n}\n\n@mixin border-bottom-left-radius($radius) {\n @if $enable-rounded {\n border-bottom-left-radius: $radius;\n }\n}\n","// stylelint-disable no-duplicate-selectors, selector-max-combinators, selector-max-compound-selectors, selector-max-type, selector-no-qualifying-type\n\n//\n// Automatically style Markdown-based tables like a Bootstrap `.table`.\n//\n\n.bd-content {\n order: 1;\n\n // Hack the sticky header\n > h2[id],\n > h3[id],\n > h4[id] {\n pointer-events: none;\n\n &::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n content: \"\";\n }\n }\n\n > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n\n @include media-breakpoint-down(md) {\n display: block;\n overflow-x: auto;\n\n &.table-bordered {\n border: 0;\n }\n }\n\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: $table-cell-padding;\n vertical-align: top;\n border: 1px solid $table-border-color;\n\n > p:last-child {\n margin-bottom: 0;\n }\n }\n }\n }\n\n // Prevent breaking of code (e.g., Grunt tasks list)\n td:first-child > code {\n white-space: nowrap;\n }\n }\n}\n\n.bd-content-title {\n display: block;\n pointer-events: auto;\n}\n\n//\n// Docs sections\n//\n\n.bd-content {\n > h2 {\n @include font-size($h2-font-size);\n }\n\n > h3 {\n @include font-size($h3-font-size);\n }\n\n > h4 {\n @include font-size($h4-font-size);\n }\n\n > h2:not(:first-child) {\n margin-top: 3rem;\n }\n\n > h3 {\n margin-top: 1.5rem;\n }\n\n > ul li,\n > ol li {\n margin-bottom: .25rem;\n }\n\n @include media-breakpoint-up(lg) {\n > ul,\n > ol,\n > p {\n max-width: 80%;\n }\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n font-weight: 300;\n @include font-size(3rem);\n}\n\n.bd-lead {\n @include font-size(1.5rem);\n font-weight: 300;\n\n @include media-breakpoint-up(lg) {\n max-width: 80%;\n }\n}\n\n.bd-text-purple { color: $bd-purple; }\n.bd-text-purple-bright { color: $bd-purple-bright; }\n","/*!\n * Bootstrap Docs (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under the Creative Commons Attribution 3.0 Unported License.\n * For details, see https://creativecommons.org/licenses/by/3.0/.\n */\n.bd-navbar {\n min-height: 4rem;\n background-color: #563d7c;\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n}\n\n@media (max-width: 991.98px) {\n .bd-navbar {\n padding-right: .5rem;\n padding-left: .5rem;\n }\n .bd-navbar .navbar-nav-scroll {\n max-width: 100%;\n height: 2.5rem;\n margin-top: .25rem;\n overflow: hidden;\n }\n .bd-navbar .navbar-nav-scroll .navbar-nav {\n padding-bottom: 2rem;\n overflow-x: auto;\n white-space: nowrap;\n -webkit-overflow-scrolling: touch;\n }\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-navbar {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1071;\n }\n }\n}\n\n.bd-navbar .navbar-nav .nav-link {\n padding-right: .5rem;\n padding-left: .5rem;\n color: #cbbde2;\n}\n\n.bd-navbar .navbar-nav .nav-link.active, .bd-navbar .navbar-nav .nav-link:hover {\n color: #fff;\n background-color: transparent;\n}\n\n.bd-navbar .navbar-nav .nav-link.active {\n font-weight: 600;\n}\n\n.bd-navbar .navbar-nav-svg {\n display: inline-block;\n width: 1rem;\n height: 1rem;\n vertical-align: text-top;\n}\n\n.bd-navbar .dropdown-menu {\n font-size: 0.875rem;\n}\n\n.bd-navbar .dropdown-item.active {\n font-weight: 600;\n color: #212529;\n background-color: transparent;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' 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 background-repeat: no-repeat;\n background-position: .4rem .6rem;\n background-size: .75rem .75rem;\n}\n\n.bd-masthead {\n position: relative;\n padding: 3rem 15px;\n}\n\n.bd-masthead h1 {\n font-size: 4rem;\n line-height: 1;\n}\n\n@media (max-width: 1200px) {\n .bd-masthead h1 {\n font-size: calc(1.525rem + 3.3vw) ;\n }\n}\n\n.bd-masthead .btn {\n padding: .8rem 2rem;\n font-weight: 600;\n font-size: 1.25rem;\n}\n\n.bd-masthead .carbonad {\n margin-top: 0 !important;\n margin-bottom: -3rem !important;\n}\n\n@media (min-width: 576px) {\n .bd-masthead {\n padding-top: 5rem;\n padding-bottom: 5rem;\n }\n .bd-masthead .carbonad {\n margin-bottom: 0 !important;\n }\n}\n\n@media (min-width: 768px) {\n .bd-masthead .carbonad {\n margin-top: 3rem !important;\n }\n}\n\n.half-rule {\n width: 6rem;\n margin: 2.5rem 0;\n}\n\n.masthead-followup .bd-clipboard {\n display: none;\n}\n\n.masthead-followup .highlight {\n padding: .5rem 0;\n background-color: transparent;\n}\n\n#carbonads {\n position: static;\n display: block;\n max-width: 400px;\n padding: 15px 15px 15px 160px;\n margin: 2rem 0;\n overflow: hidden;\n font-size: 0.8125rem;\n line-height: 1.4;\n text-align: left;\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n#carbonads a {\n color: #333;\n text-decoration: none;\n}\n\n@media (min-width: 576px) {\n #carbonads {\n max-width: 330px;\n border-radius: 4px;\n }\n}\n\n.carbon-img {\n float: left;\n margin-left: -145px;\n}\n\n.carbon-poweredby {\n display: block;\n color: #777 !important;\n}\n\n.bd-content {\n -ms-flex-order: 1;\n order: 1;\n}\n\n.bd-content > h2[id],\n.bd-content > h3[id],\n.bd-content > h4[id] {\n pointer-events: none;\n}\n\n.bd-content > h2[id]::before,\n.bd-content > h3[id]::before,\n.bd-content > h4[id]::before {\n display: block;\n height: 6rem;\n margin-top: -6rem;\n content: \"\";\n}\n\n.bd-content > table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 1rem;\n}\n\n@media (max-width: 991.98px) {\n .bd-content > table {\n display: block;\n overflow-x: auto;\n }\n .bd-content > table.table-bordered {\n border: 0;\n }\n}\n\n.bd-content > table > thead > tr > th,\n.bd-content > table > thead > tr > td,\n.bd-content > table > tbody > tr > th,\n.bd-content > table > tbody > tr > td,\n.bd-content > table > tfoot > tr > th,\n.bd-content > table > tfoot > tr > td {\n padding: 0.75rem;\n vertical-align: top;\n border: 1px solid #dee2e6;\n}\n\n.bd-content > table > thead > tr > th > p:last-child,\n.bd-content > table > thead > tr > td > p:last-child,\n.bd-content > table > tbody > tr > th > p:last-child,\n.bd-content > table > tbody > tr > td > p:last-child,\n.bd-content > table > tfoot > tr > th > p:last-child,\n.bd-content > table > tfoot > tr > td > p:last-child {\n margin-bottom: 0;\n}\n\n.bd-content > table td:first-child > code {\n white-space: nowrap;\n}\n\n.bd-content-title {\n display: block;\n pointer-events: auto;\n}\n\n.bd-content > h2 {\n font-size: 2rem;\n}\n\n@media (max-width: 1200px) {\n .bd-content > h2 {\n font-size: calc(1.325rem + 0.9vw) ;\n }\n}\n\n.bd-content > h3 {\n font-size: 1.75rem;\n}\n\n@media (max-width: 1200px) {\n .bd-content > h3 {\n font-size: calc(1.3rem + 0.6vw) ;\n }\n}\n\n.bd-content > h4 {\n font-size: 1.5rem;\n}\n\n@media (max-width: 1200px) {\n .bd-content > h4 {\n font-size: calc(1.275rem + 0.3vw) ;\n }\n}\n\n.bd-content > h2:not(:first-child) {\n margin-top: 3rem;\n}\n\n.bd-content > h3 {\n margin-top: 1.5rem;\n}\n\n.bd-content > ul li,\n.bd-content > ol li {\n margin-bottom: .25rem;\n}\n\n@media (min-width: 992px) {\n .bd-content > ul,\n .bd-content > ol,\n .bd-content > p {\n max-width: 80%;\n }\n}\n\n.bd-title {\n margin-top: 1rem;\n margin-bottom: .5rem;\n font-weight: 300;\n font-size: 3rem;\n}\n\n@media (max-width: 1200px) {\n .bd-title {\n font-size: calc(1.425rem + 2.1vw) ;\n }\n}\n\n.bd-lead {\n font-size: 1.5rem;\n font-weight: 300;\n}\n\n@media (max-width: 1200px) {\n .bd-lead {\n font-size: calc(1.275rem + 0.3vw) ;\n }\n}\n\n@media (min-width: 992px) {\n .bd-lead {\n max-width: 80%;\n }\n}\n\n.bd-text-purple {\n color: #563d7c;\n}\n\n.bd-text-purple-bright {\n color: #7952b3;\n}\n\n.skippy {\n display: block;\n padding: 1em;\n color: #fff;\n text-align: center;\n background-color: #563d7c;\n outline: 0;\n}\n\n.skippy:hover {\n color: #fff;\n}\n\n.skippy-text {\n padding: .5em;\n outline: 1px dotted;\n}\n\n.bd-toc {\n -ms-flex-order: 2;\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n font-size: 0.875rem;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-toc {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n height: calc(100vh - 4rem);\n overflow-y: auto;\n }\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n}\n\n.section-nav ul {\n padding-left: 1rem;\n}\n\n.toc-entry {\n display: block;\n}\n\n.toc-entry a {\n display: block;\n padding: .125rem 1.5rem;\n color: #77757a;\n}\n\n.toc-entry a:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.bd-sidebar {\n -ms-flex-order: 0;\n order: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n@media (min-width: 768px) {\n .bd-sidebar {\n border-right: 1px solid rgba(0, 0, 0, 0.1);\n }\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-sidebar {\n position: -webkit-sticky;\n position: sticky;\n top: 4rem;\n z-index: 1000;\n height: calc(100vh - 4rem);\n }\n }\n}\n\n@media (min-width: 1200px) {\n .bd-sidebar {\n -ms-flex: 0 1 320px;\n flex: 0 1 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 768px) {\n @supports ((position: -webkit-sticky) or (position: sticky)) {\n .bd-links {\n max-height: calc(100vh - 9rem);\n overflow-y: auto;\n }\n }\n}\n\n@media (min-width: 768px) {\n .bd-links {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative;\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.bd-search .form-control:focus {\n border-color: #7952b3;\n box-shadow: 0 0 0 3px rgba(121, 82, 179, 0.25);\n}\n\n.bd-search-docs-toggle {\n line-height: 1;\n color: #212529;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 600;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-toc-link:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n}\n\n.bd-toc-item.active {\n margin-bottom: 1rem;\n}\n\n.bd-toc-item.active:not(:first-child) {\n margin-top: 1rem;\n}\n\n.bd-toc-item.active > .bd-toc-link {\n color: rgba(0, 0, 0, 0.85);\n}\n\n.bd-toc-item.active > .bd-toc-link:hover {\n background-color: transparent;\n}\n\n.bd-toc-item.active > .bd-sidenav {\n display: block;\n}\n\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n font-size: 90%;\n color: rgba(0, 0, 0, 0.65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0, 0, 0, 0.85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 600;\n color: rgba(0, 0, 0, 0.85);\n background-color: transparent;\n}\n\n.bd-footer {\n font-size: 0.875rem;\n text-align: center;\n background-color: #f7f7f7;\n}\n\n.bd-footer a {\n font-weight: 600;\n color: #495057;\n}\n\n.bd-footer a:hover, .bd-footer a:focus {\n color: #007bff;\n}\n\n.bd-footer p {\n margin-bottom: 0;\n}\n\n@media (min-width: 576px) {\n .bd-footer {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n}\n\n.bd-footer-links li {\n display: inline-block;\n}\n\n.bd-footer-links li + li {\n margin-left: 1rem;\n}\n\n.bd-example-row .row > .col,\n.bd-example-row .row > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.2);\n}\n\n.bd-example-row .row + .row {\n margin-top: 1rem;\n}\n\n.bd-example-row .flex-items-top,\n.bd-example-row .flex-items-middle,\n.bd-example-row .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255, 0, 0, 0.1);\n}\n\n.bd-highlight {\n background-color: rgba(86, 61, 124, 0.15);\n border: 1px solid rgba(86, 61, 124, 0.15);\n}\n\n.example-container {\n width: 800px;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n.example-row {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.example-content-main {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .example-content-main {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-main {\n -ms-flex: 0 0 66.666667%;\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n}\n\n.example-content-secondary {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n@media (min-width: 576px) {\n .example-content-secondary {\n -ms-flex: 0 0 50%;\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n@media (min-width: 992px) {\n .example-content-secondary {\n -ms-flex: 0 0 33.333333%;\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n}\n\n.bd-example-container {\n min-width: 16rem;\n max-width: 25rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-container-header {\n height: 3rem;\n margin-bottom: .5rem;\n background-color: white;\n border-radius: 0.25rem;\n}\n\n.bd-example-container-sidebar {\n float: right;\n width: 4rem;\n height: 8rem;\n background-color: #80bdff;\n border-radius: 0.25rem;\n}\n\n.bd-example-container-body {\n height: 8rem;\n margin-right: 4.5rem;\n background-color: #957bbe;\n border-radius: 0.25rem;\n}\n\n.bd-example-container-fluid {\n max-width: none;\n}\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem -15px 0;\n border: solid #f8f9fa;\n border-width: .2rem 0 0;\n}\n\n.bd-example::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n@media (min-width: 576px) {\n .bd-example {\n padding: 1.5rem;\n margin-right: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n}\n\n.bd-example + .highlight,\n.bd-example + .clipboard + .highlight {\n margin-top: 0;\n}\n\n.bd-example + p {\n margin-top: 2rem;\n}\n\n.bd-example .pos-f-t {\n position: relative;\n margin: -1rem;\n}\n\n@media (min-width: 576px) {\n .bd-example .pos-f-t {\n margin: -1.5rem;\n }\n}\n\n.bd-example .custom-file-input:lang(es) ~ .custom-file-label::after {\n content: \"Elegir\";\n}\n\n.bd-example > .form-control + .form-control {\n margin-top: .5rem;\n}\n\n.bd-example > .nav + .nav,\n.bd-example > .alert + .alert,\n.bd-example > .navbar + .navbar,\n.bd-example > .progress + .progress,\n.bd-example > .progress + .btn {\n margin-top: 1rem;\n}\n\n.bd-example > .dropdown-menu:first-child {\n position: static;\n display: block;\n}\n\n.bd-example > .form-group:last-child {\n margin-bottom: 0;\n}\n\n.bd-example > .close {\n float: none;\n}\n\n.bd-example-type .table td {\n padding: 1rem 0;\n border-color: #eee;\n}\n\n.bd-example-type .table tr:first-child td {\n border-top: 0;\n}\n\n.bd-example-type h1,\n.bd-example-type h2,\n.bd-example-type h3,\n.bd-example-type h4,\n.bd-example-type h5,\n.bd-example-type h6 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n.bd-example > svg + svg,\n.bd-example > img + img {\n margin-left: .5rem;\n}\n\n.bd-example > .btn,\n.bd-example > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n}\n\n.bd-example > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n}\n\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n.bd-example > .list-group {\n max-width: 400px;\n}\n\n.bd-example > [class*=\"list-group-horizontal\"] {\n max-width: 100%;\n}\n\n.bd-example .fixed-top,\n.bd-example .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n}\n\n.bd-example .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n}\n\n@media (min-width: 576px) {\n .bd-example .fixed-top,\n .bd-example .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .bd-example .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n}\n\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n.modal {\n z-index: 1072;\n}\n\n.modal .tooltip,\n.modal .popover {\n z-index: 1073;\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n.bd-example-modal {\n background-color: #fafafa;\n}\n\n.bd-example-modal .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n}\n\n.bd-example-modal .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n}\n\n.bd-example-popover-static .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n}\n\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n}\n\n.bd-example-border-utils-0 [class^=\"border\"] {\n border: 1px solid #dee2e6;\n}\n\n.highlight {\n padding: 1rem;\n margin-top: 1rem;\n margin-bottom: 1rem;\n background-color: #f8f9fa;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n@media (min-width: 576px) {\n .highlight {\n padding: 1.5rem;\n }\n}\n\n.bd-content .highlight {\n margin-right: -15px;\n margin-left: -15px;\n}\n\n@media (min-width: 576px) {\n .bd-content .highlight {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.highlight pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n}\n\n.highlight pre code {\n font-size: inherit;\n color: #212529;\n}\n\n.btn-bd-primary {\n font-weight: 600;\n color: #7952b3;\n border-color: #7952b3;\n}\n\n.btn-bd-primary:hover, .btn-bd-primary:active {\n color: #fff;\n background-color: #7952b3;\n border-color: #7952b3;\n}\n\n.btn-bd-primary:focus {\n box-shadow: 0 0 0 3px rgba(121, 82, 179, 0.25);\n}\n\n.btn-bd-download {\n font-weight: 600;\n color: #ffe484;\n border-color: #ffe484;\n}\n\n.btn-bd-download:hover, .btn-bd-download:active {\n color: #2a2730;\n background-color: #ffe484;\n border-color: #ffe484;\n}\n\n.btn-bd-download:focus {\n box-shadow: 0 0 0 3px rgba(255, 228, 132, 0.25);\n}\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n border-radius: 0.25rem;\n}\n\n.bd-callout h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n}\n\n.bd-callout p:last-child {\n margin-bottom: 0;\n}\n\n.bd-callout code {\n border-radius: 0.25rem;\n}\n\n.bd-callout + .bd-callout {\n margin-top: -.25rem;\n}\n\n.bd-callout-info {\n border-left-color: #5bc0de;\n}\n\n.bd-callout-info h4 {\n color: #5bc0de;\n}\n\n.bd-callout-warning {\n border-left-color: #f0ad4e;\n}\n\n.bd-callout-warning h4 {\n color: #f0ad4e;\n}\n\n.bd-callout-danger {\n border-left-color: #d9534f;\n}\n\n.bd-callout-danger h4 {\n color: #d9534f;\n}\n\n.bd-browser-bugs td p {\n margin-bottom: 0;\n}\n\n.bd-browser-bugs th:first-child {\n width: 18%;\n}\n\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: #563d7c;\n background-color: #f9f9f9;\n border-radius: 0.25rem;\n}\n\n.bd-brand-logos .inverse {\n color: #fff;\n background-color: #563d7c;\n}\n\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n}\n\n.bd-brand-item + .bd-brand-item {\n border-top: 1px solid #fff;\n}\n\n.bd-brand-item h1,\n.bd-brand-item h3 {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n@media (min-width: 768px) {\n .bd-brand-item {\n display: table-cell;\n width: 1%;\n }\n .bd-brand-item + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid #fff;\n }\n .bd-brand-item h1 {\n font-size: 4rem;\n }\n}\n\n@media (min-width: 768px) and (max-width: 1200px) {\n .bd-brand-item h1 {\n font-size: calc(1.525rem + 3.3vw) ;\n }\n}\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden;\n}\n\n.color-swatches .bd-purple {\n background-color: #563d7c;\n}\n\n.color-swatches .bd-purple-light {\n background-color: #cbbde2;\n}\n\n.color-swatches .bd-purple-lighter {\n background-color: #e5e1ea;\n}\n\n.color-swatches .bd-gray {\n background-color: #f9f9f9;\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n border-radius: 0.25rem;\n}\n\n@media (min-width: 768px) {\n .color-swatch {\n width: 6rem;\n height: 6rem;\n }\n}\n\n.swatch-blue {\n color: #fff;\n background-color: #007bff;\n}\n\n.swatch-indigo {\n color: #fff;\n background-color: #6610f2;\n}\n\n.swatch-purple {\n color: #fff;\n background-color: #6f42c1;\n}\n\n.swatch-pink {\n color: #fff;\n background-color: #e83e8c;\n}\n\n.swatch-red {\n color: #fff;\n background-color: #dc3545;\n}\n\n.swatch-orange {\n color: #212529;\n background-color: #fd7e14;\n}\n\n.swatch-yellow {\n color: #212529;\n background-color: #ffc107;\n}\n\n.swatch-green {\n color: #fff;\n background-color: #28a745;\n}\n\n.swatch-teal {\n color: #fff;\n background-color: #20c997;\n}\n\n.swatch-cyan {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.swatch-white {\n color: #212529;\n background-color: #fff;\n}\n\n.swatch-gray {\n color: #fff;\n background-color: #6c757d;\n}\n\n.swatch-gray-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-primary {\n color: #fff;\n background-color: #007bff;\n}\n\n.swatch-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\n.swatch-success {\n color: #fff;\n background-color: #28a745;\n}\n\n.swatch-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\n.swatch-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\n.swatch-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\n.swatch-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.swatch-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-100 {\n color: #212529;\n background-color: #f8f9fa;\n}\n\n.swatch-200 {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.swatch-300 {\n color: #212529;\n background-color: #dee2e6;\n}\n\n.swatch-400 {\n color: #212529;\n background-color: #ced4da;\n}\n\n.swatch-500 {\n color: #212529;\n background-color: #adb5bd;\n}\n\n.swatch-600 {\n color: #fff;\n background-color: #6c757d;\n}\n\n.swatch-700 {\n color: #fff;\n background-color: #495057;\n}\n\n.swatch-800 {\n color: #fff;\n background-color: #343a40;\n}\n\n.swatch-900 {\n color: #fff;\n background-color: #212529;\n}\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n}\n\n.bd-clipboard + .highlight {\n margin-top: 0;\n}\n\n@media (min-width: 768px) {\n .bd-clipboard {\n display: block;\n }\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n font-size: 75%;\n color: #818a91;\n background-color: transparent;\n border: 0;\n border-radius: 0.25rem;\n}\n\n.btn-clipboard:hover {\n color: #fff;\n background-color: #027de7;\n}\n\n.bd-placeholder-img {\n font-size: 1.125rem;\n text-anchor: middle;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.bd-placeholder-img-lg {\n font-size: 3.5rem;\n}\n\n@media (max-width: 1200px) {\n .bd-placeholder-img-lg {\n font-size: calc(1.475rem + 2.7vw) ;\n }\n}\n\n.hll {\n background-color: #ffc;\n}\n\n.c {\n color: #999;\n}\n\n.k {\n color: #069;\n}\n\n.o {\n color: #555;\n}\n\n.cm {\n color: #999;\n}\n\n.cp {\n color: #099;\n}\n\n.c1 {\n color: #999;\n}\n\n.cs {\n color: #999;\n}\n\n.gd {\n background-color: #fcc;\n border: 1px solid #c00;\n}\n\n.ge {\n font-style: italic;\n}\n\n.gr {\n color: #f00;\n}\n\n.gh {\n color: #030;\n}\n\n.gi {\n background-color: #cfc;\n border: 1px solid #0c0;\n}\n\n.go {\n color: #aaa;\n}\n\n.gp {\n color: #009;\n}\n\n.gu {\n color: #030;\n}\n\n.gt {\n color: #9c6;\n}\n\n.kc {\n color: #069;\n}\n\n.kd {\n color: #069;\n}\n\n.kn {\n color: #069;\n}\n\n.kp {\n color: #069;\n}\n\n.kr {\n color: #069;\n}\n\n.kt {\n color: #078;\n}\n\n.m {\n color: #f60;\n}\n\n.s {\n color: #d44950;\n}\n\n.na {\n color: #4f9fcf;\n}\n\n.nb {\n color: #366;\n}\n\n.nc {\n color: #0a8;\n}\n\n.no {\n color: #360;\n}\n\n.nd {\n color: #99f;\n}\n\n.ni {\n color: #999;\n}\n\n.ne {\n color: #c00;\n}\n\n.nf {\n color: #c0f;\n}\n\n.nl {\n color: #99f;\n}\n\n.nn {\n color: #0cf;\n}\n\n.nt {\n color: #2f6f9f;\n}\n\n.nv {\n color: #033;\n}\n\n.ow {\n color: #000;\n}\n\n.w {\n color: #bbb;\n}\n\n.mf {\n color: #f60;\n}\n\n.mh {\n color: #f60;\n}\n\n.mi {\n color: #f60;\n}\n\n.mo {\n color: #f60;\n}\n\n.sb {\n color: #c30;\n}\n\n.sc {\n color: #c30;\n}\n\n.sd {\n font-style: italic;\n color: #c30;\n}\n\n.s2 {\n color: #c30;\n}\n\n.se {\n color: #c30;\n}\n\n.sh {\n color: #c30;\n}\n\n.si {\n color: #a00;\n}\n\n.sx {\n color: #c30;\n}\n\n.sr {\n color: #3aa;\n}\n\n.s1 {\n color: #c30;\n}\n\n.ss {\n color: #fc3;\n}\n\n.bp {\n color: #366;\n}\n\n.vc {\n color: #033;\n}\n\n.vg {\n color: #033;\n}\n\n.vi {\n color: #033;\n}\n\n.il {\n color: #f60;\n}\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt {\n color: #999;\n}\n\n.language-bash::before,\n.language-sh::before {\n color: #009;\n content: \"$ \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.language-powershell::before {\n color: #009;\n content: \"PM> \";\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.anchorjs-link {\n font-weight: 400;\n color: rgba(0, 123, 255, 0.5);\n transition: color 0.15s ease-in-out, opacity 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .anchorjs-link {\n transition: none;\n }\n}\n\n.anchorjs-link:hover {\n color: #007bff;\n text-decoration: none;\n}\n\n.algolia-autocomplete {\n display: block !important;\n -ms-flex: 1;\n flex: 1;\n}\n\n.algolia-autocomplete .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175);\n}\n\n@media (min-width: 768px) {\n .algolia-autocomplete .ds-dropdown-menu {\n width: 175%;\n }\n}\n\n.algolia-autocomplete .ds-dropdown-menu::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu [class^=\"ds-dataset-\"] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n}\n\n.algolia-autocomplete .ds-dropdown-menu .ds-suggestions {\n margin-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n font-size: 0.875rem !important;\n font-weight: 600 !important;\n color: #7952b3 !important;\n border-bottom: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline {\n display: block !important;\n font-size: 0.875rem;\n color: #495057;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline::after {\n padding: 0 .25rem;\n content: \"/\";\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n float: none !important;\n width: 100% !important;\n padding: .25rem 1rem !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--content::before {\n display: none !important;\n}\n\n.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--title {\n display: block;\n margin-bottom: 0 !important;\n font-size: 0.875rem !important;\n font-weight: 400 !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text {\n -ms-flex: 0 0 100%;\n flex: 0 0 100%;\n max-width: 100%;\n padding: .2rem 0;\n font-size: 0.8125rem !important;\n font-weight: 400;\n line-height: 1.25 !important;\n color: #6c757d;\n}\n\n.algolia-autocomplete .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n font-size: 0.75rem !important;\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.algolia-autocomplete .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, 0.12);\n}\n\n.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95, 45, 171, 0.5) !important;\n}\n\n.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208, 189, 236, 0.15) !important;\n}\n/*# sourceMappingURL=docs.min.css.map */",".skippy {\n display: block;\n padding: 1em;\n color: $white;\n text-align: center;\n background-color: $bd-purple;\n outline: 0;\n\n @include hover {\n color: $white;\n }\n}\n\n.skippy-text {\n padding: .5em;\n outline: 1px dotted;\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover {\n &:hover { @content; }\n}\n\n@mixin hover-focus {\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin plain-hover-focus {\n &,\n &:hover,\n &:focus {\n @content;\n }\n}\n\n@mixin hover-focus-active {\n &:hover,\n &:focus,\n &:active {\n @content;\n }\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Right side table of contents\n//\n\n.bd-toc {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n height: calc(100vh - 4rem);\n overflow-y: auto;\n }\n order: 2;\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n @include font-size(.875rem);\n}\n\n.section-nav {\n padding-left: 0;\n border-left: 1px solid #eee;\n\n ul {\n padding-left: 1rem;\n }\n}\n\n.toc-entry {\n display: block;\n\n a {\n display: block;\n padding: .125rem 1.5rem;\n color: #77757a;\n\n &:hover {\n color: $blue;\n text-decoration: none;\n }\n }\n}\n\n//\n// Left side navigation\n//\n\n.bd-sidebar {\n order: 0;\n // background-color: #f5f2f9;\n border-bottom: 1px solid rgba(0, 0, 0, .1);\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n position: sticky;\n top: 4rem;\n z-index: 1000;\n height: calc(100vh - 4rem);\n }\n border-right: 1px solid rgba(0, 0, 0, .1);\n }\n\n @include media-breakpoint-up(xl) {\n flex: 0 1 320px;\n }\n}\n\n.bd-links {\n padding-top: 1rem;\n padding-bottom: 1rem;\n margin-right: -15px;\n margin-left: -15px;\n\n @include media-breakpoint-up(md) {\n @supports (position: sticky) {\n max-height: calc(100vh - 9rem);\n overflow-y: auto;\n }\n }\n\n // Override collapse behaviors\n @include media-breakpoint-up(md) {\n display: block !important;\n }\n}\n\n.bd-search {\n position: relative; // To contain the Algolia search\n padding: 1rem 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-bottom: 1px solid rgba(0, 0, 0, .05);\n\n .form-control:focus {\n border-color: $bd-purple-bright;\n box-shadow: 0 0 0 3px rgba($bd-purple-bright, .25);\n }\n}\n\n.bd-search-docs-toggle {\n line-height: 1;\n color: $gray-900;\n}\n\n.bd-sidenav {\n display: none;\n}\n\n.bd-toc-link {\n display: block;\n padding: .25rem 1.5rem;\n font-weight: 600;\n color: rgba(0, 0, 0, .65);\n\n &:hover {\n color: rgba(0, 0, 0, .85);\n text-decoration: none;\n }\n}\n\n.bd-toc-item {\n &.active {\n margin-bottom: 1rem;\n\n &:not(:first-child) {\n margin-top: 1rem;\n }\n\n > .bd-toc-link {\n color: rgba(0, 0, 0, .85);\n\n &:hover {\n background-color: transparent;\n }\n }\n\n > .bd-sidenav {\n display: block;\n }\n }\n}\n\n// All levels of nav\n.bd-sidebar .nav > li > a {\n display: block;\n padding: .25rem 1.5rem;\n @include font-size(90%);\n color: rgba(0, 0, 0, .65);\n}\n\n.bd-sidebar .nav > li > a:hover {\n color: rgba(0, 0, 0, .85);\n text-decoration: none;\n background-color: transparent;\n}\n\n.bd-sidebar .nav > .active > a,\n.bd-sidebar .nav > .active:hover > a {\n font-weight: 600;\n color: rgba(0, 0, 0, .85);\n background-color: transparent;\n}\n","//\n// Footer\n//\n\n.bd-footer {\n @include font-size(.875rem);\n text-align: center;\n background-color: #f7f7f7;\n\n a {\n font-weight: 600;\n color: $gray-700;\n\n &:hover,\n &:focus {\n color: $link-color;\n }\n }\n\n p {\n margin-bottom: 0;\n }\n\n @include media-breakpoint-up(sm) {\n text-align: left;\n }\n}\n\n.bd-footer-links {\n padding-left: 0;\n margin-bottom: 1rem;\n\n li {\n display: inline-block;\n\n + li {\n margin-left: 1rem;\n }\n }\n}\n","// stylelint-disable no-duplicate-selectors, selector-no-qualifying-type\n\n//\n// Grid examples\n//\n\n.bd-example-row {\n .row {\n > .col,\n > [class^=\"col-\"] {\n padding-top: .75rem;\n padding-bottom: .75rem;\n background-color: rgba(86, 61, 124, .15);\n border: 1px solid rgba(86, 61, 124, .2);\n }\n }\n\n .row + .row {\n margin-top: 1rem;\n }\n\n .flex-items-top,\n .flex-items-middle,\n .flex-items-bottom {\n min-height: 6rem;\n background-color: rgba(255, 0, 0, .1);\n }\n}\n\n.bd-example-row-flex-cols .row {\n min-height: 10rem;\n background-color: rgba(255, 0, 0, .1);\n}\n\n.bd-highlight {\n background-color: rgba($bd-purple, .15);\n border: 1px solid rgba($bd-purple, .15);\n}\n\n// Grid mixins\n.example-container {\n width: 800px;\n @include make-container();\n}\n\n.example-row {\n @include make-row();\n}\n\n.example-content-main {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(8);\n }\n}\n\n.example-content-secondary {\n @include make-col-ready();\n\n @include media-breakpoint-up(sm) {\n @include make-col(6);\n }\n\n @include media-breakpoint-up(lg) {\n @include make-col(4);\n }\n}\n\n\n//\n// Container illustrations\n//\n\n.bd-example-container {\n min-width: 16rem;\n max-width: 25rem;\n margin-right: auto;\n margin-left: auto;\n}\n\n.bd-example-container-header {\n height: 3rem;\n margin-bottom: .5rem;\n background-color: lighten($blue, 50%);\n @include border-radius;\n}\n\n.bd-example-container-sidebar {\n float: right;\n width: 4rem;\n height: 8rem;\n background-color: lighten($blue, 25%);\n @include border-radius;\n}\n\n.bd-example-container-body {\n height: 8rem;\n margin-right: 4.5rem;\n background-color: lighten($bd-purple, 25%);\n @include border-radius;\n}\n\n.bd-example-container-fluid {\n max-width: none;\n}\n\n\n//\n// Docs examples\n//\n\n.bd-example {\n position: relative;\n padding: 1rem;\n margin: 1rem (-$grid-gutter-width / 2) 0;\n border: solid $gray-100;\n border-width: .2rem 0 0;\n @include clearfix();\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n margin-right: 0;\n margin-left: 0;\n border-width: .2rem;\n }\n\n + .highlight,\n + .clipboard + .highlight {\n margin-top: 0;\n }\n\n + p {\n margin-top: 2rem;\n }\n\n .pos-f-t {\n position: relative;\n margin: -1rem;\n\n @include media-breakpoint-up(sm) {\n margin: -1.5rem;\n }\n }\n\n .custom-file-input:lang(es) ~ .custom-file-label::after {\n content: \"Elegir\";\n }\n\n > .form-control {\n + .form-control {\n margin-top: .5rem;\n }\n }\n\n > .nav + .nav,\n > .alert + .alert,\n > .navbar + .navbar,\n > .progress + .progress,\n > .progress + .btn {\n margin-top: 1rem;\n }\n\n > .dropdown-menu:first-child {\n position: static;\n display: block;\n }\n\n > .form-group:last-child {\n margin-bottom: 0;\n }\n\n > .close {\n float: none;\n }\n}\n\n// Typography\n.bd-example-type {\n .table {\n td {\n padding: 1rem 0;\n border-color: #eee;\n }\n tr:first-child td {\n border-top: 0;\n }\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n margin-bottom: 0;\n }\n}\n\n// Contextual background colors\n.bd-example-bg-classes p {\n padding: 1rem;\n}\n\n// Images\n.bd-example {\n > svg + svg,\n > img + img {\n margin-left: .5rem;\n }\n}\n\n// Buttons\n.bd-example {\n > .btn,\n > .btn-group {\n margin-top: .25rem;\n margin-bottom: .25rem;\n }\n > .btn-toolbar + .btn-toolbar {\n margin-top: .5rem;\n }\n}\n\n// Forms\n.bd-example-control-sizing select,\n.bd-example-control-sizing input[type=\"text\"] + input[type=\"text\"] {\n margin-top: .5rem;\n}\n.bd-example-form .input-group {\n margin-bottom: .5rem;\n}\n.bd-example > textarea.form-control {\n resize: vertical;\n}\n\n// List groups\n.bd-example > .list-group {\n max-width: 400px;\n}\n.bd-example > [class*=\"list-group-horizontal\"] {\n max-width: 100%;\n}\n\n// Navbars\n.bd-example {\n .fixed-top,\n .sticky-top {\n position: static;\n margin: -1rem -1rem 1rem;\n }\n .fixed-bottom {\n position: static;\n margin: 1rem -1rem -1rem;\n }\n\n @include media-breakpoint-up(sm) {\n .fixed-top,\n .sticky-top {\n margin: -1.5rem -1.5rem 1rem;\n }\n .fixed-bottom {\n margin: 1rem -1.5rem -1.5rem;\n }\n }\n}\n\n// Pagination\n.bd-example .pagination {\n margin-top: .5rem;\n margin-bottom: .5rem;\n}\n\n// Example modals\n.modal {\n z-index: 1072;\n\n .tooltip,\n .popover {\n z-index: 1073;\n }\n}\n\n.modal-backdrop {\n z-index: 1071;\n}\n\n.bd-example-modal {\n background-color: #fafafa;\n\n .modal {\n position: relative;\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n z-index: 1;\n display: block;\n }\n\n .modal-dialog {\n left: auto;\n margin-right: auto;\n margin-left: auto;\n }\n}\n\n// Example tabbable tabs\n.bd-example-tabs .nav-tabs {\n margin-bottom: 1rem;\n}\n\n// Popovers\n.bd-example-popover-static {\n padding-bottom: 1.5rem;\n background-color: #f9f9f9;\n\n .popover {\n position: relative;\n display: block;\n float: left;\n width: 260px;\n margin: 1.25rem;\n }\n}\n\n// Tooltips\n.tooltip-demo a {\n white-space: nowrap;\n}\n\n.bd-example-tooltip-static .tooltip {\n position: relative;\n display: inline-block;\n margin: 10px 20px;\n opacity: 1;\n}\n\n// Scrollspy demo on fixed height div\n.scrollspy-example {\n position: relative;\n height: 200px;\n margin-top: .5rem;\n overflow: auto;\n}\n\n.scrollspy-example-2 {\n position: relative;\n height: 350px;\n overflow: auto;\n}\n\n.bd-example-border-utils {\n [class^=\"border\"] {\n display: inline-block;\n width: 5rem;\n height: 5rem;\n margin: .25rem;\n background-color: #f5f5f5;\n }\n}\n\n.bd-example-border-utils-0 {\n [class^=\"border\"] {\n border: 1px solid $border-color;\n }\n}\n\n//\n// Code snippets\n//\n\n.highlight {\n padding: 1rem;\n margin-top: 1rem;\n margin-bottom: 1rem;\n background-color: $gray-100;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n\n @include media-breakpoint-up(sm) {\n padding: 1.5rem;\n }\n}\n\n.bd-content .highlight {\n margin-right: (-$grid-gutter-width / 2);\n margin-left: (-$grid-gutter-width / 2);\n\n @include media-breakpoint-up(sm) {\n margin-right: 0;\n margin-left: 0;\n }\n}\n\n.highlight {\n pre {\n padding: 0;\n margin-top: 0;\n margin-bottom: 0;\n background-color: transparent;\n border: 0;\n }\n pre code {\n @include font-size(inherit);\n color: $gray-900; // Effectively the base text color\n }\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-container($gutter: $grid-gutter-width) {\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n margin-right: auto;\n margin-left: auto;\n}\n\n\n// For each breakpoint, define the maximum width of the container in a media query\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\n @each $breakpoint, $container-max-width in $max-widths {\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n max-width: $container-max-width;\n }\n }\n}\n\n@mixin make-row($gutter: $grid-gutter-width) {\n display: flex;\n flex-wrap: wrap;\n margin-right: -$gutter / 2;\n margin-left: -$gutter / 2;\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n position: relative;\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we use `flex` values\n // later on to override this initial width.\n width: 100%;\n padding-right: $gutter / 2;\n padding-left: $gutter / 2;\n}\n\n@mixin make-col($size, $columns: $grid-columns) {\n flex: 0 0 percentage($size / $columns);\n // Add a `max-width` to ensure content within each column does not blow out\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\n // do not appear to require this.\n max-width: percentage($size / $columns);\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n","@mixin clearfix() {\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n}\n","// Buttons\n//\n// Custom buttons for the docs.\n\n.btn-bd-primary {\n font-weight: 600;\n color: $bd-purple-bright;\n border-color: $bd-purple-bright;\n\n &:hover,\n &:active {\n color: $white;\n background-color: $bd-purple-bright;\n border-color: $bd-purple-bright;\n }\n\n &:focus {\n box-shadow: 0 0 0 3px rgba($bd-purple-bright, .25);\n }\n}\n\n.btn-bd-download {\n font-weight: 600;\n color: $bd-download;\n border-color: $bd-download;\n\n &:hover,\n &:active {\n color: $bd-dark;\n background-color: $bd-download;\n border-color: $bd-download;\n }\n\n &:focus {\n box-shadow: 0 0 0 3px rgba($bd-download, .25);\n }\n}\n","//\n// Callouts\n//\n\n.bd-callout {\n padding: 1.25rem;\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n border: 1px solid #eee;\n border-left-width: .25rem;\n @include border-radius;\n\n h4 {\n margin-top: 0;\n margin-bottom: .25rem;\n }\n\n p:last-child {\n margin-bottom: 0;\n }\n\n code {\n @include border-radius;\n }\n\n + .bd-callout {\n margin-top: -.25rem;\n }\n}\n\n// Variations\n@mixin bs-callout-variant($color) {\n border-left-color: $color;\n\n h4 { color: $color; }\n}\n\n.bd-callout-info { @include bs-callout-variant($bd-info); }\n.bd-callout-warning { @include bs-callout-variant($bd-warning); }\n.bd-callout-danger { @include bs-callout-variant($bd-danger); }\n","// Wall of Browser Bugs\n//\n// Better display for the responsive table on the Wall of Browser Bugs.\n\n.bd-browser-bugs {\n td p {\n margin-bottom: 0;\n }\n th:first-child {\n width: 18%;\n }\n}\n","//\n// Brand guidelines\n//\n\n// Logo series wrapper\n.bd-brand-logos {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n overflow: hidden;\n color: $bd-purple;\n background-color: #f9f9f9;\n @include border-radius;\n\n .inverse {\n color: $white;\n background-color: $bd-purple;\n }\n}\n\n// Individual items\n.bd-brand-item {\n padding: 4rem 0;\n text-align: center;\n\n + .bd-brand-item {\n border-top: 1px solid $white;\n }\n\n // Heading content within\n h1,\n h3 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n @include media-breakpoint-up(md) {\n display: table-cell;\n width: 1%;\n\n + .bd-brand-item {\n border-top: 0;\n border-left: 1px solid $white;\n }\n\n h1 {\n @include font-size(4rem);\n }\n }\n}\n\n\n//\n// Color swatches\n//\n\n.color-swatches {\n margin: 0 -5px;\n overflow: hidden; // clearfix\n\n // Docs colors\n .bd-purple {\n background-color: $bd-purple;\n }\n .bd-purple-light {\n background-color: $bd-purple-light;\n }\n .bd-purple-lighter {\n background-color: #e5e1ea;\n }\n .bd-gray {\n background-color: #f9f9f9;\n }\n}\n\n.color-swatch {\n float: left;\n width: 4rem;\n height: 4rem;\n margin-right: .25rem;\n margin-left: .25rem;\n @include border-radius;\n\n @include media-breakpoint-up(md) {\n width: 6rem;\n height: 6rem;\n }\n}\n","//\n// Docs color palette classes\n//\n\n@each $color, $value in $colors {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n\n@each $color, $value in $theme-colors {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n\n@each $color, $value in $grays {\n .swatch-#{$color} {\n color: color-yiq($value);\n background-color: #{$value};\n }\n}\n","// clipboard.js\n//\n// JS-based `Copy` buttons for code snippets.\n\n.bd-clipboard {\n position: relative;\n display: none;\n float: right;\n\n + .highlight {\n margin-top: 0;\n }\n\n @include media-breakpoint-up(md) {\n display: block;\n }\n}\n\n.btn-clipboard {\n position: absolute;\n top: .5rem;\n right: .5rem;\n z-index: 10;\n display: block;\n padding: .25rem .5rem;\n @include font-size(75%);\n color: #818a91;\n background-color: transparent;\n border: 0;\n @include border-radius;\n\n &:hover {\n color: $white;\n background-color: #027de7;\n }\n}\n","//\n// Placeholder svg used in the docs.\n//\n\n// Remember to update `site/_layouts/examples.html` too if this changes!\n\n.bd-placeholder-img {\n @include font-size(1.125rem);\n text-anchor: middle;\n user-select: none;\n}\n\n.bd-placeholder-img-lg {\n @include font-size(3.5rem);\n}\n","// stylelint-disable declaration-block-single-line-max-declarations, selector-class-pattern\n\n.hll { background-color: #ffc; }\n.c { color: #999; }\n.k { color: #069; }\n.o { color: #555; }\n.cm { color: #999; }\n.cp { color: #099; }\n.c1 { color: #999; }\n.cs { color: #999; }\n.gd { background-color: #fcc; border: 1px solid #c00; }\n.ge { font-style: italic; }\n.gr { color: #f00; }\n.gh { color: #030; }\n.gi { background-color: #cfc; border: 1px solid #0c0; }\n.go { color: #aaa; }\n.gp { color: #009; }\n.gu { color: #030; }\n.gt { color: #9c6; }\n.kc { color: #069; }\n.kd { color: #069; }\n.kn { color: #069; }\n.kp { color: #069; }\n.kr { color: #069; }\n.kt { color: #078; }\n.m { color: #f60; }\n.s { color: #d44950; }\n.na { color: #4f9fcf; }\n.nb { color: #366; }\n.nc { color: #0a8; }\n.no { color: #360; }\n.nd { color: #99f; }\n.ni { color: #999; }\n.ne { color: #c00; }\n.nf { color: #c0f; }\n.nl { color: #99f; }\n.nn { color: #0cf; }\n.nt { color: #2f6f9f; }\n.nv { color: #033; }\n.ow { color: #000; }\n.w { color: #bbb; }\n.mf { color: #f60; }\n.mh { color: #f60; }\n.mi { color: #f60; }\n.mo { color: #f60; }\n.sb { color: #c30; }\n.sc { color: #c30; }\n.sd { font-style: italic; color: #c30; }\n.s2 { color: #c30; }\n.se { color: #c30; }\n.sh { color: #c30; }\n.si { color: #a00; }\n.sx { color: #c30; }\n.sr { color: #3aa; }\n.s1 { color: #c30; }\n.ss { color: #fc3; }\n.bp { color: #366; }\n.vc { color: #033; }\n.vg { color: #033; }\n.vi { color: #033; }\n.il { color: #f60; }\n\n.css .o,\n.css .o + .nt,\n.css .nt + .nt { color: #999; }\n\n.language-bash::before,\n.language-sh::before {\n color: #009;\n content: \"$ \";\n user-select: none;\n}\n\n.language-powershell::before {\n color: #009;\n content: \"PM> \";\n user-select: none;\n}\n",".anchorjs-link {\n font-weight: 400;\n color: rgba($link-color, .5);\n @include transition(color .15s ease-in-out, opacity .15s ease-in-out);\n\n &:hover {\n color: $link-color;\n text-decoration: none;\n }\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n @if $enable-transitions {\n @if length($transition) == 0 {\n transition: $transition-base;\n } @else {\n transition: $transition;\n }\n }\n\n @if $enable-prefers-reduced-motion-media-query {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n","// stylelint-disable declaration-no-important\n\n// Docsearch overrides\n//\n// `!important` indicates overridden properties.\n.algolia-autocomplete {\n display: block !important;\n flex: 1;\n\n // Menu container\n .ds-dropdown-menu {\n width: 100%;\n min-width: 0 !important;\n max-width: none !important;\n padding: .75rem 0 !important;\n background-color: $white;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, .1);\n box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175);\n\n @include media-breakpoint-up(md) {\n width: 175%;\n }\n\n // Caret\n &::before {\n display: none !important;\n }\n\n [class^=\"ds-dataset-\"] {\n padding: 0 !important;\n overflow: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n }\n\n .ds-suggestions {\n margin-top: 0 !important;\n }\n }\n\n .algolia-docsearch-suggestion {\n padding: 0 !important;\n overflow: visible !important;\n }\n\n .algolia-docsearch-suggestion--category-header {\n padding: .125rem 1rem !important;\n margin-top: 0 !important;\n @include font-size(.875rem, true);\n font-weight: 600 !important;\n color: $bd-purple-bright !important;\n border-bottom: 0 !important;\n }\n\n .algolia-docsearch-suggestion--wrapper {\n float: none !important;\n padding-top: 0 !important;\n }\n\n // Section header\n .algolia-docsearch-suggestion--subcategory-column {\n float: none !important;\n width: auto !important;\n padding: 0 !important;\n text-align: left !important;\n }\n\n .algolia-docsearch-suggestion--subcategory-inline {\n display: block !important;\n @include font-size(.875rem);\n color: $gray-700;\n\n &::after {\n padding: 0 .25rem;\n content: \"/\";\n }\n }\n\n .algolia-docsearch-suggestion--content {\n display: flex;\n flex-wrap: wrap;\n float: none !important;\n width: 100% !important;\n padding: .25rem 1rem !important;\n\n // Vertical divider between column header and content\n &::before {\n display: none !important;\n }\n }\n\n .ds-suggestion {\n &:not(:first-child) {\n .algolia-docsearch-suggestion--category-header {\n padding-top: .75rem !important;\n margin-top: .75rem !important;\n border-top: 1px solid rgba(0, 0, 0, .1);\n }\n }\n\n .algolia-docsearch-suggestion--subcategory-column {\n display: none !important;\n }\n }\n\n .algolia-docsearch-suggestion--title {\n display: block;\n margin-bottom: 0 !important;\n @include font-size(.875rem, true);\n font-weight: 400 !important;\n }\n\n .algolia-docsearch-suggestion--text {\n flex: 0 0 100%;\n max-width: 100%;\n padding: .2rem 0;\n @include font-size(.8125rem, true);\n font-weight: 400;\n line-height: 1.25 !important;\n color: $gray-600;\n }\n\n .algolia-docsearch-footer {\n float: none !important;\n width: auto !important;\n height: auto !important;\n padding: .75rem 1rem 0;\n @include font-size(.75rem, true);\n line-height: 1 !important;\n color: #767676 !important;\n border-top: 1px solid rgba(0, 0, 0, .1);\n }\n\n .algolia-docsearch-footer--logo {\n display: inline !important;\n overflow: visible !important;\n color: inherit !important;\n text-indent: 0 !important;\n background: none !important;\n }\n\n .algolia-docsearch-suggestion--highlight {\n color: #5f2dab;\n background-color: rgba(154, 132, 187, .12);\n }\n\n .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {\n box-shadow: inset 0 -2px 0 0 rgba(95, 45, 171, .5) !important;\n }\n\n .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {\n background-color: rgba(208, 189, 236, .15) !important;\n }\n}\n"]} \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/bootstrap-themes.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/bootstrap-themes.png
new file mode 100644
index 000000000..15f33f3f7
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/bootstrap-themes.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/bootstrap-themes.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/bootstrap-themes@2x.png
index 3876a18ee..3876a18ee 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/bootstrap-themes.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/bootstrap-themes@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/album.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/album.png
new file mode 100644
index 000000000..694b3b2d2
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/album.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/album.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/album@2x.png
index 162269c46..162269c46 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/album.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/album@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/blog.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/blog.png
new file mode 100644
index 000000000..6d6c8356b
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/blog.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/blog.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/blog@2x.png
index f5480314b..f5480314b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/blog.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/blog@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/carousel.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/carousel.png
new file mode 100644
index 000000000..abca5b3db
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/carousel.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/carousel.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/carousel@2x.png
index 39df35930..39df35930 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/carousel.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/carousel@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/checkout.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/checkout.png
new file mode 100644
index 000000000..7af2e2efa
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/checkout.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/checkout.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/checkout@2x.png
index 3e3c5af4b..3e3c5af4b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/checkout.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/checkout@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/cover.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/cover.png
new file mode 100644
index 000000000..5458ff11d
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/cover.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/cover.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/cover@2x.png
index 9d20fb2ed..9d20fb2ed 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/cover.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/cover@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/dashboard.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/dashboard.png
new file mode 100644
index 000000000..1ef0c3925
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/dashboard.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/dashboard.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/dashboard@2x.png
index 52b23dff6..52b23dff6 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/dashboard.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/dashboard@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/floating-labels.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/floating-labels.png
new file mode 100644
index 000000000..c836eadbb
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/floating-labels.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/floating-labels.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/floating-labels@2x.png
index 5d284bfe0..5d284bfe0 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/floating-labels.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/floating-labels@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/grid.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/grid.png
new file mode 100644
index 000000000..b3b5b3565
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/grid.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/grid@2x.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/grid@2x.png
new file mode 100644
index 000000000..e95c36365
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/grid@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/jumbotron.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/jumbotron.png
new file mode 100644
index 000000000..afca61a7c
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/jumbotron.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/jumbotron.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/jumbotron@2x.png
index 4d83dffa6..4d83dffa6 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/jumbotron.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/jumbotron@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-bottom.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-bottom.png
new file mode 100644
index 000000000..e9f0abc95
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-bottom.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbar-bottom.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-bottom@2x.png
index a62faa182..a62faa182 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbar-bottom.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-bottom@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-fixed.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-fixed.png
new file mode 100644
index 000000000..c839602a7
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-fixed.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbar-fixed.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-fixed@2x.png
index 1ce8ca576..1ce8ca576 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbar-fixed.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-fixed@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-static.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-static.png
new file mode 100644
index 000000000..faebe3451
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-static.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbar-static.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-static@2x.png
index 758aa61e8..758aa61e8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbar-static.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbar-static@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbars.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbars.png
new file mode 100644
index 000000000..874f6d752
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbars.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbars.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbars@2x.png
index ce11b8d2c..ce11b8d2c 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/navbars.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/navbars@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/offcanvas.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/offcanvas.png
new file mode 100644
index 000000000..b5073eba4
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/offcanvas.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/offcanvas.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/offcanvas@2x.png
index e5287dde8..e5287dde8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/offcanvas.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/offcanvas@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/pricing.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/pricing.png
new file mode 100644
index 000000000..3638c9ef3
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/pricing.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/pricing.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/pricing@2x.png
index 9ddac54ea..9ddac54ea 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/pricing.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/pricing@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/product.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/product.png
new file mode 100644
index 000000000..a8d3dcb8d
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/product.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/product.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/product@2x.png
index 1dfe45482..1dfe45482 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/product.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/product@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sign-in.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sign-in.png
new file mode 100644
index 000000000..53aed9724
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sign-in.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/sign-in.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sign-in@2x.png
index 8b3431de9..8b3431de9 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/sign-in.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sign-in@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/starter-template.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/starter-template.png
new file mode 100644
index 000000000..0cbcaa1eb
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/starter-template.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/starter-template.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/starter-template@2x.png
index 436c452de..436c452de 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/starter-template.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/starter-template@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer-navbar.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer-navbar.png
new file mode 100644
index 000000000..f64d66638
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer-navbar.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/sticky-footer-navbar.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer-navbar@2x.png
index 9478901f6..9478901f6 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/sticky-footer-navbar.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer-navbar@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer.png
new file mode 100644
index 000000000..203ed62f5
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/sticky-footer.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer@2x.png
index 5a008a0ac..5a008a0ac 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/screenshots/sticky-footer.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/examples/sticky-footer@2x.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/android-chrome-192x192.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/android-chrome-192x192.png
index 547386f37..547386f37 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/android-chrome-192x192.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/android-chrome-192x192.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/android-chrome-512x512.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/android-chrome-512x512.png
index eae76488d..eae76488d 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/android-chrome-512x512.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/android-chrome-512x512.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/apple-touch-icon.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/apple-touch-icon.png
index 447cec2c4..447cec2c4 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/apple-touch-icon.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/apple-touch-icon.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/browserconfig.xml b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/browserconfig.xml
new file mode 100644
index 000000000..0d17d11d4
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/browserconfig.xml
@@ -0,0 +1,11 @@
+---
+---
+<?xml version="1.0" encoding="utf-8"?>
+<browserconfig>
+ <msapplication>
+ <tile>
+ <square150x150logo src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/mstile-150x150.png"/>
+ <TileColor>#563d7c</TileColor>
+ </tile>
+ </msapplication>
+</browserconfig>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/favicon-16x16.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/favicon-16x16.png
index 5f7d11880..5f7d11880 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/favicon-16x16.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/favicon-16x16.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/favicon-32x32.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/favicon-32x32.png
index d752fd5d7..d752fd5d7 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/favicon-32x32.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/favicon-32x32.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/manifest.json b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/manifest.json
new file mode 100644
index 000000000..a92accba6
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/manifest.json
@@ -0,0 +1,22 @@
+---
+---
+{
+ "name": "Bootstrap",
+ "short_name": "Bootstrap",
+ "icons": [
+ {
+ "src": "{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "start_url": "/?utm_source=a2hs",
+ "theme_color": "#563d7c",
+ "background_color": "#563d7c",
+ "display": "standalone"
+}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-144x144.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-144x144.png
index 262a3c2e1..262a3c2e1 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-144x144.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-144x144.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-150x150.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-150x150.png
index bb87faf74..bb87faf74 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-150x150.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-150x150.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-310x150.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-310x150.png
index 2fc36a726..2fc36a726 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-310x150.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-310x150.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-310x310.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-310x310.png
index 7f00d0c66..7f00d0c66 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-310x310.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-310x310.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-70x70.png b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-70x70.png
index 4da2de9e3..4da2de9e3 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/mstile-70x70.png
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/mstile-70x70.png
Binary files differ
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/safari-pinned-tab.svg b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/safari-pinned-tab.svg
index ddeeb53c9..ddeeb53c9 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/img/favicons/safari-pinned-tab.svg
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/img/favicons/safari-pinned-tab.svg
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/js/docs.min.js b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/docs.min.js
new file mode 100644
index 000000000..8f0874459
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/docs.min.js
@@ -0,0 +1,22 @@
+!function(t,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(t.AnchorJS=e(),t.anchors=new t.AnchorJS)}(this,function(){"use strict";return function(t){function h(t){t.icon=t.hasOwnProperty("icon")?t.icon:"",t.visible=t.hasOwnProperty("visible")?t.visible:"hover",t.placement=t.hasOwnProperty("placement")?t.placement:"right",t.ariaLabel=t.hasOwnProperty("ariaLabel")?t.ariaLabel:"Anchor",t.class=t.hasOwnProperty("class")?t.class:"",t.truncate=t.hasOwnProperty("truncate")?Math.floor(t.truncate):64}function d(t){var e;if("string"==typeof t||t instanceof String)e=[].slice.call(document.querySelectorAll(t));else{if(!(Array.isArray(t)||t instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(t)}return e}this.options=t||{},this.elements=[],h(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(t){var e,n,o,i,r,A,a,l,c,s,u,f=[];if(h(this.options),"touch"===(u=this.options.visible)&&(u=this.isTouchDevice()?"always":"hover"),t||(t="h2, h3, h4, h5, h6"),0===(e=d(t)).length)return this;for(function(){if(null===document.head.querySelector("style.anchorjs")){var t,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(t=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,t),e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.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"); }',e.sheet.cssRules.length)}}(),n=document.querySelectorAll("[id]"),o=[].map.call(n,function(t){return t.id}),r=0;r<e.length;r++)if(this.hasAnchorJSLink(e[r]))f.push(r);else{if(e[r].hasAttribute("id"))i=e[r].getAttribute("id");else if(e[r].hasAttribute("data-anchor-id"))i=e[r].getAttribute("data-anchor-id");else{for(c=l=this.urlify(e[r].textContent),a=0;void 0!==A&&(c=l+"-"+a),a+=1,-1!==(A=o.indexOf(c)););A=void 0,o.push(c),e[r].setAttribute("id",c),i=c}i.replace(/-/g," "),(s=document.createElement("a")).className="anchorjs-link "+this.options.class,s.href="#"+i,s.setAttribute("aria-label",this.options.ariaLabel),s.setAttribute("data-anchorjs-icon",this.options.icon),"always"===u&&(s.style.opacity="1"),""===this.options.icon&&(s.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(s.style.lineHeight="inherit")),"left"===this.options.placement?(s.style.position="absolute",s.style.marginLeft="-1em",s.style.paddingRight="0.5em",e[r].insertBefore(s,e[r].firstChild)):(s.style.paddingLeft="0.375em",e[r].appendChild(s))}for(r=0;r<f.length;r++)e.splice(f[r]-r,1);return this.elements=this.elements.concat(e),this},this.remove=function(t){for(var e,n,o=d(t),i=0;i<o.length;i++)(n=o[i].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(o[i]))&&this.elements.splice(e,1),o[i].removeChild(n));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(t){return this.options.truncate||h(this.options),t.trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(t){var e=t.firstChild&&-1<(" "+t.firstChild.className+" ").indexOf(" anchorjs-link "),n=t.lastChild&&-1<(" "+t.lastChild.className+" ").indexOf(" anchorjs-link ");return e||n||!1}}});
+/*!
+ * clipboard.js v2.0.4
+ * https://zenorocha.github.io/clipboard.js
+ *
+ * Licensed MIT © Zeno Rocha
+ */
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function i(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}return i.m=n,i.c=o,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=0)}([function(t,e,n){"use strict";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},r=function(){function o(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(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),A=o(n(1)),a=o(n(3)),l=o(n(4));function o(t){return t&&t.__esModule?t:{default:t}}var c=function(t){function o(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o);var n=function(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}(this,(o.__proto__||Object.getPrototypeOf(o)).call(this));return n.resolveOptions(e),n.listenClick(t),n}return function(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)}(o,a.default),r(o,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&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,this.container="object"===i(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,l.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new A.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return s("action",t)}},{key:"defaultTarget",value:function(t){var e=s("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return s("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)}),n}}]),o}();function s(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}t.exports=c},function(t,e,n){"use strict";var o,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},r=function(){function o(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(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),A=n(2),a=(o=A)&&o.__esModule?o:{default:o};var l=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return r(e,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.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[e?"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,this.container.appendChild(this.fakeElem),this.selectedText=(0,a.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,a.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(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(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=0<arguments.length&&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(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":i(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(){return this._target}}]),e}();t.exports=l},function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),i=document.createRange();i.selectNodeContents(t),o.removeAllRanges(),o.addRange(i),e=o.toString()}return e}},function(t,e){function n(){}n.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){var o=this;function i(){o.off(t,i),e.apply(n,arguments)}return i._=e,this.on(t,i,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,i=n.length;o<i;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;r<A;r++)o[r].fn!==e&&o[r].fn._!==e&&i.push(o[r]);return i.length?n[t]=i:delete n[t],this}},t.exports=n},function(t,e,n){var f=n(5),h=n(6);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!f.string(e))throw new TypeError("Second argument must be a String");if(!f.fn(n))throw new TypeError("Third argument must be a Function");if(f.node(t))return s=e,u=n,(c=t).addEventListener(s,u),{destroy:function(){c.removeEventListener(s,u)}};if(f.nodeList(t))return A=t,a=e,l=n,Array.prototype.forEach.call(A,function(t){t.addEventListener(a,l)}),{destroy:function(){Array.prototype.forEach.call(A,function(t){t.removeEventListener(a,l)})}};if(f.string(t))return o=t,i=e,r=n,h(document.body,o,i,r);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,i,r,A,a,l,c,s,u}},function(t,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){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e,n){var A=n(7);function r(t,e,n,o,i){var r=function(e,n,t,o){return function(t){t.delegateTarget=A(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,r,i),{destroy:function(){t.removeEventListener(n,r,i)}}}t.exports=function(t,e,n,o,i){return"function"==typeof t.addEventListener?r.apply(null,arguments):"function"==typeof n?r.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return r(t,e,n,o,i)}))}},function(t,e){if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}}])});
+/*!
+ * bsCustomFileInput v1.3.1 (https://github.com/Johann-S/bs-custom-file-input)
+ * Copyright 2018 Johann-S <johann.servoire@gmail.com>
+ * Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE)
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.bsCustomFileInput=e()}(this,function(){"use strict";var f={CUSTOMFILE:'.custom-file input[type="file"]',CUSTOMFILELABEL:".custom-file-label",FORM:"form",INPUT:"input"},o=function(t){if(0<t.childNodes.length)for(var e=[].slice.call(t.childNodes),n=0;n<e.length;n++){var o=e[n];if(3!==o.nodeType)return o}return t},a=function(t){var e=t.bsCustomFileInput.defaultText,n=t.parentNode.querySelector(f.CUSTOMFILELABEL);n&&(o(n).innerHTML=e)},n=!!window.File,i=function(t){if(t.hasAttribute("multiple")&&n)return[].slice.call(t.files).map(function(t){return t.name}).join(", ");if(-1===t.value.indexOf("fakepath"))return t.value;var e=t.value.split("\\");return e[e.length-1]};function h(){var t=this.parentNode.querySelector(f.CUSTOMFILELABEL);if(t){var e=o(t),n=i(this);n.length?e.innerHTML=n:a(this)}}function d(){for(var t=[].slice.call(this.querySelectorAll(f.INPUT)).filter(function(t){return!!t.bsCustomFileInput}),e=0,n=t.length;e<n;e++)a(t[e])}var p="bsCustomFileInput",y="reset",m="change";return{init:function(t,e){void 0===t&&(t=f.CUSTOMFILE),void 0===e&&(e=f.FORM);for(var n,o,i,r=[].slice.call(document.querySelectorAll(t)),A=[].slice.call(document.querySelectorAll(e)),a=0,l=r.length;a<l;a++){var c=r[a];Object.defineProperty(c,p,{value:{defaultText:(n=c,o=void 0,void 0,o="",i=n.parentNode.querySelector(f.CUSTOMFILELABEL),i&&(o=i.innerHTML),o)},writable:!0}),c.addEventListener(m,h)}for(var s=0,u=A.length;s<u;s++)A[s].addEventListener(y,d),Object.defineProperty(A[s],p,{value:!0,writable:!0})},destroy:function(){for(var t=[].slice.call(document.querySelectorAll(f.FORM)).filter(function(t){return!!t.bsCustomFileInput}),e=[].slice.call(document.querySelectorAll(f.INPUT)).filter(function(t){return!!t.bsCustomFileInput}),n=0,o=e.length;n<o;n++){var i=e[n];a(i),i[p]=void 0,i.removeEventListener(m,h)}for(var r=0,A=t.length;r<A;r++)t[r].removeEventListener(y,d),t[r][p]=void 0}}});
+/*!
+ * JavaScript for Bootstrap's docs (https://getbootstrap.com/)
+ * Copyright 2011-2019 The Bootstrap Authors
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under the Creative Commons Attribution 3.0 Unported License.
+ * For details, see https://creativecommons.org/licenses/by/3.0/.
+ */
+(function(i){"use strict";i(function(){i(".tooltip-demo").tooltip({selector:'[data-toggle="tooltip"]',container:"body"});i('[data-toggle="popover"]').popover();i(".toast").toast({autohide:false}).toast("show");i(".tooltip-test").tooltip();i(".popover-test").popover();i('.bd-example-indeterminate [type="checkbox"]').prop("indeterminate",true);i('.bd-content [href="#"]').click(function(t){t.preventDefault()});i("#exampleModal").on("show.bs.modal",function(t){var e=i(t.relatedTarget);var n=e.data("whatever");var o=i(this);o.find(".modal-title").text("New message to "+n);o.find(".modal-body input").val(n)});i(".bd-toggle-animated-progress").on("click",function(){i(this).siblings(".progress").find(".progress-bar-striped").toggleClass("progress-bar-animated")});i("figure.highlight, div.highlight").each(function(){var t='<div class="bd-clipboard"><button type="button" class="btn-clipboard" title="Copy to clipboard">Copy</button></div>';i(this).before(t);i(".btn-clipboard").tooltip().on("mouseleave",function(){i(this).tooltip("hide")})});var t=new ClipboardJS(".btn-clipboard",{target:function(t){return t.parentNode.nextElementSibling}});t.on("success",function(t){i(t.trigger).attr("title","Copied!").tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle");t.clearSelection()});t.on("error",function(t){var e=/Mac/i.test(navigator.userAgent)?"⌘":"Ctrl-";var n="Press "+e+"C to copy";i(t.trigger).attr("title",n).tooltip("_fixTitle").tooltip("show").attr("title","Copy to clipboard").tooltip("_fixTitle")});anchors.options={icon:"#"};anchors.add(".bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5");i(".bd-content").children("h2, h3, h4, h5").wrapInner('<span class="bd-content-title"></span>');bsCustomFileInput.init()})})(jQuery);(function(){"use strict";function t(){var t=/MSIE ([0-9.]+)/.exec(window.navigator.userAgent);if(t===null){return null}var e=parseInt(t[1],10);var n=Math.floor(e);return n}function e(){var t=new Function("/*@cc_on return @_jscript_version; @*/")();if(typeof t==="undefined"){return 11}if(t<9){return 8}return t}var n=window.navigator.userAgent;if(n.indexOf("Opera")>-1||n.indexOf("Presto")>-1){return}var o=t();if(o===null){return}var i=e();if(o!==i){window.alert("WARNING: You appear to be using IE"+i+" in IE"+o+" 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!")}})();(function(){"use strict";if(!window.docsearch){return}var t=document.getElementById("search-input");var e=t.getAttribute("data-docs-version");function o(){var t=window.location;var e=t.origin;if(!e){var n=t.port?":"+t.port:"";e=t.protocol+"//"+t.hostname+n}return e}window.docsearch({apiKey:"5990ad008512000bba2cf951ccf0332f",indexName:"bootstrap",inputSelector:"#search-input",algoliaOptions:{facetFilters:["version:"+e]},transformData:function(t){return t.map(function(t){var e=o();var n=/^https?:\/\/getbootstrap\.com/;t.url=e.match(n)?t.url:t.url.replace(n,"");if(t.anchor==="content"){t.url=t.url.replace(/#content$/,"");t.anchor=null}return t})},debug:false})})(); \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/application.js b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/src/application.js
index 7666da065..863af6828 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/application.js
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/src/application.js
@@ -4,13 +4,13 @@
/*!
* JavaScript for Bootstrap's docs (https://getbootstrap.com/)
- * Copyright 2011-2018 The Bootstrap Authors
- * Copyright 2011-2018 Twitter, Inc.
- * Licensed under the Creative Commons Attribution 3.0 Unported License. For
- * details, see https://creativecommons.org/licenses/by/3.0/.
+ * Copyright 2011-2019 The Bootstrap Authors
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under the Creative Commons Attribution 3.0 Unported License.
+ * For details, see https://creativecommons.org/licenses/by/3.0/.
*/
-/* global ClipboardJS: false, anchors: false, Holder: false */
+/* global ClipboardJS: false, anchors: false, bsCustomFileInput: false */
(function ($) {
'use strict'
@@ -24,6 +24,12 @@
$('[data-toggle="popover"]').popover()
+ $('.toast')
+ .toast({
+ autohide: false
+ })
+ .toast('show')
+
// Demos within modals
$('.tooltip-test').tooltip()
$('.popover-test').popover()
@@ -54,7 +60,7 @@
// Insert copy to clipboard button before .highlight
$('figure.highlight, div.highlight').each(function () {
- var btnHtml = '<div class="bd-clipboard"><button class="btn-clipboard" title="Copy to clipboard">Copy</button></div>'
+ var btnHtml = '<div class="bd-clipboard"><button type="button" class="btn-clipboard" title="Copy to clipboard">Copy</button></div>'
$(this).before(btnHtml)
$('.btn-clipboard')
.tooltip()
@@ -99,14 +105,8 @@
icon: '#'
}
anchors.add('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5')
- $('.bd-content > h2, .bd-content > h3, .bd-content > h4, .bd-content > h5').wrapInner('<div></div>')
-
- // Holder
- Holder.addTheme('gray', {
- bg: '#777',
- fg: 'rgba(255,255,255,.75)',
- font: 'Helvetica',
- fontweight: 'normal'
- })
+ $('.bd-content').children('h2, h3, h4, h5').wrapInner('<span class="bd-content-title"></span>')
+
+ bsCustomFileInput.init()
})
}(jQuery))
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/ie-emulation-modes-warning.js b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/src/ie-emulation-modes-warning.js
index 610128e27..610128e27 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/ie-emulation-modes-warning.js
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/src/ie-emulation-modes-warning.js
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/search.js b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/src/search.js
index 2e91fcf21..459d412df 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/src/search.js
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/src/search.js
@@ -12,6 +12,19 @@
var inputElement = document.getElementById('search-input')
var siteDocsVersion = inputElement.getAttribute('data-docs-version')
+ function getOrigin() {
+ var location = window.location
+ var origin = location.origin
+
+ if (!origin) {
+ var port = location.port ? ':' + location.port : ''
+
+ origin = location.protocol + '//' + location.hostname + port
+ }
+
+ return origin
+ }
+
window.docsearch({
apiKey: '5990ad008512000bba2cf951ccf0332f',
indexName: 'bootstrap',
@@ -19,21 +32,21 @@
algoliaOptions: {
facetFilters: ['version:' + siteDocsVersion]
},
- handleSelected: function (input, event, suggestion) {
- var url = suggestion.url
- url = suggestion.isLvl1 ? url.split('#')[0] : url
- // If it's a title we remove the anchor so it does not jump.
- window.location.href = url
- },
transformData: function (hits) {
return hits.map(function (hit) {
- // When in production, return the result as is,
- // otherwise remove our url from it.
- var siteurl = inputElement.getAttribute('data-siteurl')
+ var siteurl = getOrigin()
var urlRE = /^https?:\/\/getbootstrap\.com/
+ // When in production, return the result as is,
+ // otherwise remove our url from it.
hit.url = siteurl.match(urlRE) ? hit.url : hit.url.replace(urlRE, '')
+ // Prevent jumping to first header
+ if (hit.anchor === 'content') {
+ hit.url = hit.url.replace(/#content$/, '')
+ hit.anchor = null
+ }
+
return hit
})
},
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/anchor.min.js b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/anchor.min.js
new file mode 100644
index 000000000..29a64acae
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/anchor.min.js
@@ -0,0 +1,6 @@
+/**
+ * AnchorJS - v4.1.1 - 2018-07-01
+ * https://github.com/bryanbraun/anchorjs
+ * Copyright (c) 2018 Bryan Braun; Licensed MIT
+ */
+!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function d(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64}function f(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],d(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,i,n,o,s,r,a,c,h,l,u=[];if(d(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),A||(A="h2, h3, h4, h5, h6"),0===(e=f(A)).length)return this;for(function(){if(null===document.head.querySelector("style.anchorjs")){var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.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"); }',e.sheet.cssRules.length)}}(),t=document.querySelectorAll("[id]"),i=[].map.call(t,function(A){return A.id}),o=0;o<e.length;o++)if(this.hasAnchorJSLink(e[o]))u.push(o);else{if(e[o].hasAttribute("id"))n=e[o].getAttribute("id");else if(e[o].hasAttribute("data-anchor-id"))n=e[o].getAttribute("data-anchor-id");else{for(c=a=this.urlify(e[o].textContent),r=0;void 0!==s&&(c=a+"-"+r),r+=1,-1!==(s=i.indexOf(c)););s=void 0,i.push(c),e[o].setAttribute("id",c),n=c}n.replace(/-/g," "),(h=document.createElement("a")).className="anchorjs-link "+this.options.class,h.href="#"+n,h.setAttribute("aria-label",this.options.ariaLabel),h.setAttribute("data-anchorjs-icon",this.options.icon),"always"===l&&(h.style.opacity="1"),""===this.options.icon&&(h.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(h.style.lineHeight="inherit")),"left"===this.options.placement?(h.style.position="absolute",h.style.marginLeft="-1em",h.style.paddingRight="0.5em",e[o].insertBefore(h,e[o].firstChild)):(h.style.paddingLeft="0.375em",e[o].appendChild(h))}for(o=0;o<u.length;o++)e.splice(u[o]-o,1);return this.elements=this.elements.concat(e),this},this.remove=function(A){for(var e,t,i=f(A),n=0;n<i.length;n++)(t=i[n].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(i[n]))&&this.elements.splice(e,1),i[n].removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){return this.options.truncate||d(this.options),A.trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),t=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||t||!1}}}); \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/bs-custom-file-input.min.js b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/bs-custom-file-input.min.js
new file mode 100644
index 000000000..bdf702491
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/bs-custom-file-input.min.js
@@ -0,0 +1,7 @@
+/*!
+ * bsCustomFileInput v1.3.1 (https://github.com/Johann-S/bs-custom-file-input)
+ * Copyright 2018 Johann-S <johann.servoire@gmail.com>
+ * Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE)
+ */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.bsCustomFileInput=t()}(this,function(){"use strict";var d={CUSTOMFILE:'.custom-file input[type="file"]',CUSTOMFILELABEL:".custom-file-label",FORM:"form",INPUT:"input"},r=function(e){if(0<e.childNodes.length)for(var t=[].slice.call(e.childNodes),n=0;n<t.length;n++){var r=t[n];if(3!==r.nodeType)return r}return e},u=function(e){var t=e.bsCustomFileInput.defaultText,n=e.parentNode.querySelector(d.CUSTOMFILELABEL);n&&(r(n).innerHTML=t)},n=!!window.File,l=function(e){if(e.hasAttribute("multiple")&&n)return[].slice.call(e.files).map(function(e){return e.name}).join(", ");if(-1===e.value.indexOf("fakepath"))return e.value;var t=e.value.split("\\");return t[t.length-1]};function v(){var e=this.parentNode.querySelector(d.CUSTOMFILELABEL);if(e){var t=r(e),n=l(this);n.length?t.innerHTML=n:u(this)}}function p(){for(var e=[].slice.call(this.querySelectorAll(d.INPUT)).filter(function(e){return!!e.bsCustomFileInput}),t=0,n=e.length;t<n;t++)u(e[t])}var m="bsCustomFileInput",L="reset",h="change";return{init:function(e,t){void 0===e&&(e=d.CUSTOMFILE),void 0===t&&(t=d.FORM);for(var n,r,l,i=[].slice.call(document.querySelectorAll(e)),o=[].slice.call(document.querySelectorAll(t)),u=0,c=i.length;u<c;u++){var f=i[u];Object.defineProperty(f,m,{value:{defaultText:(n=f,r=void 0,void 0,r="",l=n.parentNode.querySelector(d.CUSTOMFILELABEL),l&&(r=l.innerHTML),r)},writable:!0}),f.addEventListener(h,v)}for(var a=0,s=o.length;a<s;a++)o[a].addEventListener(L,p),Object.defineProperty(o[a],m,{value:!0,writable:!0})},destroy:function(){for(var e=[].slice.call(document.querySelectorAll(d.FORM)).filter(function(e){return!!e.bsCustomFileInput}),t=[].slice.call(document.querySelectorAll(d.INPUT)).filter(function(e){return!!e.bsCustomFileInput}),n=0,r=t.length;n<r;n++){var l=t[n];u(l),l[m]=void 0,l.removeEventListener(h,v)}for(var i=0,o=e.length;i<o;i++)e[i].removeEventListener(L,p),e[i][m]=void 0}}});
+//# sourceMappingURL=bs-custom-file-input.min.js.map
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/clipboard.min.js b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/clipboard.min.js
new file mode 100644
index 000000000..02c549e35
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/clipboard.min.js
@@ -0,0 +1,7 @@
+/*!
+ * clipboard.js v2.0.4
+ * https://zenorocha.github.io/clipboard.js
+ *
+ * Licensed MIT © Zeno Rocha
+ */
+!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="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},i=function(){function o(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(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=o(n(1)),c=o(n(3)),u=o(n(4));function o(t){return t&&t.__esModule?t:{default:t}}var l=function(t){function o(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o);var n=function(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}(this,(o.__proto__||Object.getPrototypeOf(o)).call(this));return n.resolveOptions(e),n.listenClick(t),n}return function(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)}(o,c.default),i(o,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&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,this.container="object"===r(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,u.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new a.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return s("action",t)}},{key:"defaultTarget",value:function(t){var e=s("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return s("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)}),n}}]),o}();function s(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}t.exports=l},function(t,e,n){"use strict";var o,r="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},i=function(){function o(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(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=n(2),c=(o=a)&&o.__esModule?o:{default:o};var u=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return i(e,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.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[e?"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,this.container.appendChild(this.fakeElem),this.selectedText=(0,c.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,c.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(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(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=0<arguments.length&&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(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===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(){return this._target}}]),e}();t.exports=u},function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},function(t,e){function n(){}n.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){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,a=o.length;i<a;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=n},function(t,e,n){var d=n(5),h=n(6);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!d.string(e))throw new TypeError("Second argument must be a String");if(!d.fn(n))throw new TypeError("Third argument must be a Function");if(d.node(t))return s=e,f=n,(l=t).addEventListener(s,f),{destroy:function(){l.removeEventListener(s,f)}};if(d.nodeList(t))return a=t,c=e,u=n,Array.prototype.forEach.call(a,function(t){t.addEventListener(c,u)}),{destroy:function(){Array.prototype.forEach.call(a,function(t){t.removeEventListener(c,u)})}};if(d.string(t))return o=t,r=e,i=n,h(document.body,o,r,i);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,a,c,u,l,s,f}},function(t,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){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e,n){var a=n(7);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},function(t,e){if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}}])}); \ No newline at end of file
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/jquery-slim.min.js b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/jquery-slim.min.js
index f4ca9b24b..f4ca9b24b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/js/vendor/jquery-slim.min.js
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/js/vendor/jquery-slim.min.js
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_ads.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_ads.scss
index 375a9e01f..0c08025c2 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_ads.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_ads.scss
@@ -11,7 +11,7 @@
padding: 15px 15px 15px 160px;
margin: 2rem 0;
overflow: hidden;
- font-size: 13px;
+ @include font-size(.8125rem);
line-height: 1.4;
text-align: left;
background-color: rgba(0, 0, 0, .05);
@@ -23,7 +23,7 @@
@include media-breakpoint-up(sm) {
max-width: 330px;
- border-radius: 4px;
+ @include border-radius(4px);
}
}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_algolia.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_algolia.scss
index 4014ab973..23781da12 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_algolia.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_algolia.scss
@@ -13,7 +13,7 @@
min-width: 0 !important;
max-width: none !important;
padding: .75rem 0 !important;
- background-color: #fff;
+ background-color: $white;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, .1);
box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175);
@@ -47,8 +47,8 @@
.algolia-docsearch-suggestion--category-header {
padding: .125rem 1rem !important;
margin-top: 0 !important;
- font-size: .875rem !important;
- font-weight: 500 !important;
+ @include font-size(.875rem, true);
+ font-weight: 600 !important;
color: $bd-purple-bright !important;
border-bottom: 0 !important;
}
@@ -66,10 +66,23 @@
text-align: left !important;
}
+ .algolia-docsearch-suggestion--subcategory-inline {
+ display: block !important;
+ @include font-size(.875rem);
+ color: $gray-700;
+
+ &::after {
+ padding: 0 .25rem;
+ content: "/";
+ }
+ }
+
.algolia-docsearch-suggestion--content {
+ display: flex;
+ flex-wrap: wrap;
float: none !important;
- width: auto !important;
- padding: 0 !important;
+ width: 100% !important;
+ padding: .25rem 1rem !important;
// Vertical divider between column header and content
&::before {
@@ -93,18 +106,19 @@
.algolia-docsearch-suggestion--title {
display: block;
- padding: .25rem 1rem !important;
margin-bottom: 0 !important;
- font-size: .875rem !important;
+ @include font-size(.875rem, true);
font-weight: 400 !important;
}
.algolia-docsearch-suggestion--text {
- padding: 0 1rem .5rem !important;
- margin-top: -.25rem;
- font-size: .875rem !important;
+ flex: 0 0 100%;
+ max-width: 100%;
+ padding: .2rem 0;
+ @include font-size(.8125rem, true);
font-weight: 400;
line-height: 1.25 !important;
+ color: $gray-600;
}
.algolia-docsearch-footer {
@@ -112,7 +126,7 @@
width: auto !important;
height: auto !important;
padding: .75rem 1rem 0;
- font-size: .75rem !important;
+ @include font-size(.75rem, true);
line-height: 1 !important;
color: #767676 !important;
border-top: 1px solid rgba(0, 0, 0, .1);
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_anchor.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_anchor.scss
index 2e02390ed..a712a78cd 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_anchor.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_anchor.scss
@@ -1,7 +1,7 @@
.anchorjs-link {
font-weight: 400;
color: rgba($link-color, .5);
- transition: color .16s linear;
+ @include transition(color .15s ease-in-out, opacity .15s ease-in-out);
&:hover {
color: $link-color;
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_brand.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_brand.scss
new file mode 100644
index 000000000..226d7db17
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_brand.scss
@@ -0,0 +1,88 @@
+//
+// Brand guidelines
+//
+
+// Logo series wrapper
+.bd-brand-logos {
+ display: table;
+ width: 100%;
+ margin-bottom: 1rem;
+ overflow: hidden;
+ color: $bd-purple;
+ background-color: #f9f9f9;
+ @include border-radius;
+
+ .inverse {
+ color: $white;
+ background-color: $bd-purple;
+ }
+}
+
+// Individual items
+.bd-brand-item {
+ padding: 4rem 0;
+ text-align: center;
+
+ + .bd-brand-item {
+ border-top: 1px solid $white;
+ }
+
+ // Heading content within
+ h1,
+ h3 {
+ margin-top: 0;
+ margin-bottom: 0;
+ }
+
+ @include media-breakpoint-up(md) {
+ display: table-cell;
+ width: 1%;
+
+ + .bd-brand-item {
+ border-top: 0;
+ border-left: 1px solid $white;
+ }
+
+ h1 {
+ @include font-size(4rem);
+ }
+ }
+}
+
+
+//
+// Color swatches
+//
+
+.color-swatches {
+ margin: 0 -5px;
+ overflow: hidden; // clearfix
+
+ // Docs colors
+ .bd-purple {
+ background-color: $bd-purple;
+ }
+ .bd-purple-light {
+ background-color: $bd-purple-light;
+ }
+ .bd-purple-lighter {
+ background-color: #e5e1ea;
+ }
+ .bd-gray {
+ background-color: #f9f9f9;
+ }
+}
+
+.color-swatch {
+ float: left;
+ width: 4rem;
+ height: 4rem;
+ margin-right: .25rem;
+ margin-left: .25rem;
+ @include border-radius;
+
+ @include media-breakpoint-up(md) {
+ width: 6rem;
+ height: 6rem;
+ }
+}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_browser-bugs.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_browser-bugs.scss
index f42158b37..f42158b37 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_browser-bugs.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_browser-bugs.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_buttons.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_buttons.scss
index 1e37857fd..25bcbbd4b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_buttons.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_buttons.scss
@@ -3,13 +3,13 @@
// Custom buttons for the docs.
.btn-bd-primary {
- font-weight: 500;
+ font-weight: 600;
color: $bd-purple-bright;
border-color: $bd-purple-bright;
&:hover,
&:active {
- color: #fff;
+ color: $white;
background-color: $bd-purple-bright;
border-color: $bd-purple-bright;
}
@@ -20,7 +20,7 @@
}
.btn-bd-download {
- font-weight: 500;
+ font-weight: 600;
color: $bd-download;
border-color: $bd-download;
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_callouts.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_callouts.scss
index 401bfd6f5..a10fc05b8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_callouts.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_callouts.scss
@@ -8,24 +8,24 @@
margin-bottom: 1.25rem;
border: 1px solid #eee;
border-left-width: .25rem;
- border-radius: .25rem;
-}
+ @include border-radius;
-.bd-callout h4 {
- margin-top: 0;
- margin-bottom: .25rem;
-}
+ h4 {
+ margin-top: 0;
+ margin-bottom: .25rem;
+ }
-.bd-callout p:last-child {
- margin-bottom: 0;
-}
+ p:last-child {
+ margin-bottom: 0;
+ }
-.bd-callout code {
- border-radius: .25rem;
-}
+ code {
+ @include border-radius;
+ }
-.bd-callout + .bd-callout {
- margin-top: -.25rem;
+ + .bd-callout {
+ margin-top: -.25rem;
+ }
}
// Variations
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_clipboard-js.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_clipboard-js.scss
index e27d1d4f8..6d4bfeea4 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_clipboard-js.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_clipboard-js.scss
@@ -10,6 +10,10 @@
+ .highlight {
margin-top: 0;
}
+
+ @include media-breakpoint-up(md) {
+ display: block;
+ }
}
.btn-clipboard {
@@ -19,21 +23,14 @@
z-index: 10;
display: block;
padding: .25rem .5rem;
- font-size: 75%;
+ @include font-size(75%);
color: #818a91;
- cursor: pointer;
background-color: transparent;
border: 0;
- border-radius: .25rem;
+ @include border-radius;
&:hover {
- color: #fff;
+ color: $white;
background-color: #027de7;
}
}
-
-@media (min-width: 768px) {
- .bd-clipboard {
- display: block;
- }
-}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_colors.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_colors.scss
index 8d2825c57..8d2825c57 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_colors.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_colors.scss
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_component-examples.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_component-examples.scss
index 5bafcc423..62ebf6953 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_component-examples.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_component-examples.scss
@@ -87,7 +87,7 @@
height: 3rem;
margin-bottom: .5rem;
background-color: lighten($blue, 50%);
- border-radius: .25rem;
+ @include border-radius;
}
.bd-example-container-sidebar {
@@ -95,14 +95,14 @@
width: 4rem;
height: 8rem;
background-color: lighten($blue, 25%);
- border-radius: .25rem;
+ @include border-radius;
}
.bd-example-container-body {
height: 8rem;
margin-right: 4.5rem;
background-color: lighten($bd-purple, 25%);
- border-radius: .25rem;
+ @include border-radius;
}
.bd-example-container-fluid {
@@ -182,10 +182,6 @@
// Typography
.bd-example-type {
.table {
- .type-info {
- color: #999;
- vertical-align: middle;
- }
td {
padding: 1rem 0;
border-color: #eee;
@@ -212,14 +208,16 @@
}
// Images
-.bd-example > img {
- + img {
+.bd-example {
+ > svg + svg,
+ > img + img {
margin-left: .5rem;
}
}
// Buttons
.bd-example {
+ > .btn,
> .btn-group {
margin-top: .25rem;
margin-bottom: .25rem;
@@ -245,6 +243,9 @@
.bd-example > .list-group {
max-width: 400px;
}
+.bd-example > [class*="list-group-horizontal"] {
+ max-width: 100%;
+}
// Navbars
.bd-example {
@@ -405,7 +406,7 @@
border: 0;
}
pre code {
- font-size: inherit;
+ @include font-size(inherit);
color: $gray-900; // Effectively the base text color
}
}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_content.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_content.scss
index decb6c4c3..439601d1e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_content.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_content.scss
@@ -13,16 +13,10 @@
> h4[id] {
pointer-events: none;
- > div,
- > a {
- pointer-events: auto;
- }
-
&::before {
display: block;
height: 6rem;
margin-top: -6rem;
- visibility: hidden;
content: "";
}
}
@@ -35,7 +29,6 @@
@include media-breakpoint-down(md) {
display: block;
overflow-x: auto;
- -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
&.table-bordered {
border: 0;
@@ -67,11 +60,28 @@
}
}
+.bd-content-title {
+ display: block;
+ pointer-events: auto;
+}
+
//
// Docs sections
//
.bd-content {
+ > h2 {
+ @include font-size($h2-font-size);
+ }
+
+ > h3 {
+ @include font-size($h3-font-size);
+ }
+
+ > h4 {
+ @include font-size($h4-font-size);
+ }
+
> h2:not(:first-child) {
margin-top: 3rem;
}
@@ -98,20 +108,15 @@
margin-top: 1rem;
margin-bottom: .5rem;
font-weight: 300;
-
- @include media-breakpoint-up(sm) {
- font-size: 3rem;
- }
+ @include font-size(3rem);
}
.bd-lead {
- font-size: 1.125rem;
+ @include font-size(1.5rem);
font-weight: 300;
- @include media-breakpoint-up(sm) {
+ @include media-breakpoint-up(lg) {
max-width: 80%;
- margin-bottom: 1rem;
- font-size: 1.5rem;
}
}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_footer.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_footer.scss
index ab605d285..29d31df3a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_footer.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_footer.scss
@@ -3,12 +3,12 @@
//
.bd-footer {
- font-size: 85%;
+ @include font-size(.875rem);
text-align: center;
background-color: #f7f7f7;
a {
- font-weight: 500;
+ font-weight: 600;
color: $gray-700;
&:hover,
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_masthead.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_masthead.scss
index 0e3cea069..f4e70a2cf 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_masthead.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_masthead.scss
@@ -6,14 +6,14 @@
// background-image: linear-gradient(45deg, #fafafa, #f5f5f5);
h1 {
+ @include font-size(4rem);
line-height: 1;
}
.btn {
- width: 100%;
padding: .8rem 2rem;
- font-size: 1.25rem;
- font-weight: 500;
+ font-weight: 600;
+ @include font-size(1.25rem);
}
.carbonad {
@@ -31,10 +31,6 @@
}
@include media-breakpoint-up(md) {
- h1 {
- font-size: 4rem;
- }
-
.carbonad {
margin-top: 3rem !important;
}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_nav.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_nav.scss
index 73c6bad64..c3fdc8e5f 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_nav.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_nav.scss
@@ -16,7 +16,6 @@
height: 2.5rem;
margin-top: .25rem;
overflow: hidden;
- font-size: .875rem;
.navbar-nav {
padding-bottom: 2rem;
@@ -43,12 +42,12 @@
&.active,
&:hover {
- color: #fff;
+ color: $white;
background-color: transparent;
}
&.active {
- font-weight: 500;
+ font-weight: 600;
}
}
}
@@ -61,14 +60,14 @@
}
.dropdown-menu {
- font-size: .875rem;
+ @include font-size(.875rem);
}
.dropdown-item.active {
- font-weight: 500;
+ font-weight: 600;
color: $gray-900;
background-color: transparent;
- 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='%23292b2c' 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");
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23292b2c' 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");
background-repeat: no-repeat;
background-position: .4rem .6rem;
background-size: .75rem .75rem;
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_placeholder-img.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_placeholder-img.scss
new file mode 100644
index 000000000..90a29544e
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_placeholder-img.scss
@@ -0,0 +1,15 @@
+//
+// Placeholder svg used in the docs.
+//
+
+// Remember to update `site/_layouts/examples.html` too if this changes!
+
+.bd-placeholder-img {
+ @include font-size(1.125rem);
+ text-anchor: middle;
+ user-select: none;
+}
+
+.bd-placeholder-img-lg {
+ @include font-size(3.5rem);
+}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_sidebar.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_sidebar.scss
index 0cfbd60d2..b302b22fe 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_sidebar.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_sidebar.scss
@@ -14,7 +14,7 @@
order: 2;
padding-top: 1.5rem;
padding-bottom: 1.5rem;
- font-size: .875rem;
+ @include font-size(.875rem);
}
.section-nav {
@@ -23,10 +23,6 @@
ul {
padding-left: 1rem;
-
- ul {
- display: none;
- }
}
}
@@ -36,7 +32,7 @@
a {
display: block;
padding: .125rem 1.5rem;
- color: #99979c;
+ color: #77757a;
&:hover {
color: $blue;
@@ -113,7 +109,7 @@
.bd-toc-link {
display: block;
padding: .25rem 1.5rem;
- font-weight: 500;
+ font-weight: 600;
color: rgba(0, 0, 0, .65);
&:hover {
@@ -148,7 +144,7 @@
.bd-sidebar .nav > li > a {
display: block;
padding: .25rem 1.5rem;
- font-size: 90%;
+ @include font-size(90%);
color: rgba(0, 0, 0, .65);
}
@@ -160,7 +156,7 @@
.bd-sidebar .nav > .active > a,
.bd-sidebar .nav > .active:hover > a {
- font-weight: 500;
+ font-weight: 600;
color: rgba(0, 0, 0, .85);
background-color: transparent;
}
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_skippy.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_skippy.scss
new file mode 100644
index 000000000..db971d114
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_skippy.scss
@@ -0,0 +1,17 @@
+.skippy {
+ display: block;
+ padding: 1em;
+ color: $white;
+ text-align: center;
+ background-color: $bd-purple;
+ outline: 0;
+
+ @include hover {
+ color: $white;
+ }
+}
+
+.skippy-text {
+ padding: .5em;
+ outline: 1px dotted;
+}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_syntax.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_syntax.scss
index e66c5da22..c03e800f8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_syntax.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_syntax.scss
@@ -1,4 +1,4 @@
-// stylelint-disable declaration-block-single-line-max-declarations
+// stylelint-disable declaration-block-single-line-max-declarations, selector-class-pattern
.hll { background-color: #ffc; }
.c { color: #999; }
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_variables.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_variables.scss
index b60a21368..e8bf3728d 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/_variables.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/_variables.scss
@@ -7,3 +7,9 @@ $bd-download: #ffe484 !default;
$bd-info: #5bc0de !default;
$bd-warning: #f0ad4e !default;
$bd-danger: #d9534f !default;
+
+// Enable responsive font sizes for font sizes defined in the docs
+// The weird if test is made as a workaround to prevent a false fusv error.
+//
+// stylelint-disable-next-line scss/dollar-variable-default
+$enable-responsive-font-sizes: if($enable-responsive-font-sizes, true, true);
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/docs.scss b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/docs.scss
index 706bde44e..6b1814dc8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/assets/scss/docs.scss
+++ b/vendor/twbs/bootstrap/site/docs/4.3/assets/scss/docs.scss
@@ -1,9 +1,9 @@
/*!
* Bootstrap Docs (https://getbootstrap.com/)
- * Copyright 2011-2018 The Bootstrap Authors
- * Copyright 2011-2018 Twitter, Inc.
- * Licensed under the Creative Commons Attribution 3.0 Unported License. For
- * details, see https://creativecommons.org/licenses/by/3.0/.
+ * Copyright 2011-2019 The Bootstrap Authors
+ * Copyright 2011-2019 Twitter, Inc.
+ * Licensed under the Creative Commons Attribution 3.0 Unported License.
+ * For details, see https://creativecommons.org/licenses/by/3.0/.
*/
// Dev notes
@@ -34,17 +34,17 @@
@import "masthead";
@import "ads";
@import "content";
-@import "skiplink";
+@import "skippy";
@import "sidebar";
@import "footer";
@import "component-examples";
@import "buttons";
@import "callouts";
-@import "examples";
@import "browser-bugs";
@import "brand";
@import "colors";
@import "clipboard-js";
+@import "placeholder-img";
// Load docs dependencies
@import "syntax";
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/browser-bugs.md b/vendor/twbs/bootstrap/site/docs/4.3/browser-bugs.md
index 2340f90c2..57818a910 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/browser-bugs.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/browser-bugs.md
@@ -2,6 +2,7 @@
layout: docs
title: Wall of browser bugs
group: browser-bugs
+redirect_from: "/browser-bugs/"
---
Bootstrap currently works around several outstanding browser bugs in major browsers to deliver the best cross-browser experience possible. Some bugs, like those listed below, cannot be solved by us.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/alerts.md b/vendor/twbs/bootstrap/site/docs/4.3/components/alerts.md
index 6c6cb9936..2a4bf1026 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/alerts.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/alerts.md
@@ -3,6 +3,9 @@ layout: docs
title: Alerts
description: Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages.
group: components
+redirect_from:
+ - "/components/"
+ - "/docs/4.3/components/"
toc: true
---
@@ -97,7 +100,7 @@ Note that closing an alert will remove it from the DOM.
| `$().alert('close')` | Closes an alert by removing it from the DOM. If the `.fade` and `.show` classes are present on the element, the alert will fade out before it is removed. |
| `$().alert('dispose')` | Destroys an element's alert. |
-{% highlight js %}$(".alert").alert('close'){% endhighlight %}
+{% highlight js %}$('.alert').alert('close'){% endhighlight %}
### Events
@@ -110,6 +113,6 @@ Bootstrap's alert plugin exposes a few events for hooking into alert functionali
{% highlight js %}
$('#myAlert').on('closed.bs.alert', function () {
- // do something…
+ // do something...
})
{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/badge.md b/vendor/twbs/bootstrap/site/docs/4.3/components/badge.md
index 0e97cbe76..8c1760045 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/badge.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/badge.md
@@ -10,23 +10,15 @@ toc: true
Badges scale to match the size of the immediate parent element by using relative font sizing and `em` units.
-<div class="bd-example">
-<div class="h1">Example heading <span class="badge badge-secondary">New</span></div>
-<div class="h2">Example heading <span class="badge badge-secondary">New</span></div>
-<div class="h3">Example heading <span class="badge badge-secondary">New</span></div>
-<div class="h4">Example heading <span class="badge badge-secondary">New</span></div>
-<div class="h5">Example heading <span class="badge badge-secondary">New</span></div>
-<div class="h6">Example heading <span class="badge badge-secondary">New</span></div>
-</div>
-
-{% highlight html %}
+{% capture example %}
<h1>Example heading <span class="badge badge-secondary">New</span></h1>
<h2>Example heading <span class="badge badge-secondary">New</span></h2>
<h3>Example heading <span class="badge badge-secondary">New</span></h3>
<h4>Example heading <span class="badge badge-secondary">New</span></h4>
<h5>Example heading <span class="badge badge-secondary">New</span></h5>
<h6>Example heading <span class="badge badge-secondary">New</span></h6>
-{% endhighlight %}
+{% endcapture %}
+{% include example.html content=example %}
Badges can be used as part of links or buttons to provide a counter.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/breadcrumb.md b/vendor/twbs/bootstrap/site/docs/4.3/components/breadcrumb.md
index 4cc7b3de9..0837e8363 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/breadcrumb.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/breadcrumb.md
@@ -33,7 +33,7 @@ group: components
## Changing the separator
-Separators are automatically added in CSS through [`::before`](https://developer.mozilla.org/en-US/docs/Web/CSS/::before) and [`content`](https://developer.mozilla.org/en-US/docs/Web/CSS/content). They can be changed by changing `$breadcrumb-divider`. The [quote](https://sass-lang.com/documentation/Sass/Script/Functions.html#quote-instance_method) function is needed to generate the quotes around a string, so if you want `>` as seperator, you can use this:
+Separators are automatically added in CSS through [`::before`](https://developer.mozilla.org/en-US/docs/Web/CSS/::before) and [`content`](https://developer.mozilla.org/en-US/docs/Web/CSS/content). They can be changed by changing `$breadcrumb-divider`. The [quote](https://sass-lang.com/documentation/Sass/Script/Functions.html#quote-instance_method) function is needed to generate the quotes around a string, so if you want `>` as separator, you can use this:
```scss
$breadcrumb-divider: quote(">");
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/button-group.md b/vendor/twbs/bootstrap/site/docs/4.3/components/button-group.md
index 2261a5e72..2261a5e72 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/button-group.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/button-group.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/buttons.md b/vendor/twbs/bootstrap/site/docs/4.3/components/buttons.md
index f999fd552..118679752 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/buttons.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/buttons.md
@@ -3,7 +3,6 @@ layout: docs
title: Buttons
description: Use Bootstrap's custom button styles for actions in forms, dialogs, and more with support for multiple sizes, states, and more.
group: components
-redirect_from: "/docs/4.1/components/"
toc: true
---
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/card.md b/vendor/twbs/bootstrap/site/docs/4.3/components/card.md
index 25e9ec2d0..fa9c6ffc1 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/card.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/card.md
@@ -18,7 +18,7 @@ Below is an example of a basic card with mixed content and a fixed width. Cards
{% capture example %}
<div class="card" style="width: 18rem;">
- <img class="card-img-top" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
@@ -70,7 +70,7 @@ Subtitles are used by adding a `.card-subtitle` to a `<h*>` tag. If the `.card-t
{% capture example %}
<div class="card" style="width: 18rem;">
- <img class="card-img-top" data-src="holder.js/100px180/?text=Image cap" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
@@ -113,7 +113,7 @@ Mix and match multiple content types to create the card you need, or throw every
{% capture example %}
<div class="card" style="width: 18rem;">
- <img class="card-img-top" data-src="holder.js/100px180/?text=Image cap" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
@@ -311,7 +311,7 @@ Add some navigation to a card's header (or block) with Bootstrap's [nav componen
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
</div>
@@ -335,7 +335,7 @@ Add some navigation to a card's header (or block) with Bootstrap's [nav componen
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
</div>
@@ -358,7 +358,7 @@ Similar to headers and footers, cards can include top and bottom "image caps"—
{% capture example %}
<div class="card mb-3">
- <img class="card-img-top" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<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>
@@ -371,7 +371,7 @@ Similar to headers and footers, cards can include top and bottom "image caps"—
<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>
</div>
- <img class="card-img-bottom" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-bottom" text="Image cap" %}
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -382,7 +382,7 @@ Turn an image into a card background and overlay your card's text. Depending on
{% capture example %}
<div class="card bg-dark text-white">
- <img class="card-img" data-src="holder.js/100px270/#55595c:#373a3c/text:Card image" alt="Card image">
+ {% include icons/placeholder.svg width="100%" height="270" class="bd-placeholder-img-lg card-img" text="Card image" %}
<div class="card-img-overlay">
<h5 class="card-title">Card title</h5>
<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>
@@ -392,6 +392,33 @@ Turn an image into a card background and overlay your card's text. Depending on
{% endcapture %}
{% include example.html content=example %}
+{% capture callout %}
+Note that content should not be larger than the height of the image. If content is larger than the image the content will be displayed outside the image.
+{% endcapture %}
+{% include callout.html content=callout type="info" %}
+
+## Horizontal
+
+Using a combination of grid and utility classes, cards can be made horizontal in a mobile-friendly and responsive way. In the example below, we remove the grid gutters with `.no-gutters` and use `.col-md-*` classes to make the card horizontal at the `md` breakpoint. Further adjustments may be needed depending on your card content.
+
+{% capture example %}
+<div class="card mb-3" style="max-width: 540px;">
+ <div class="row no-gutters">
+ <div class="col-md-4">
+ {% include icons/placeholder.svg width="100%" height="250" class="" text="Image" %}
+ </div>
+ <div class="col-md-8">
+ <div class="card-body">
+ <h5 class="card-title">Card title</h5>
+ <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>
+ </div>
+ </div>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
## Card styles
Cards include various options for customizing their backgrounds, borders, and color.
@@ -457,7 +484,7 @@ Use card groups to render cards as a single, attached element with equal width a
{% capture example %}
<div class="card-group">
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<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>
@@ -465,7 +492,7 @@ Use card groups to render cards as a single, attached element with equal width a
</div>
</div>
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
@@ -473,7 +500,7 @@ Use card groups to render cards as a single, attached element with equal width a
</div>
</div>
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p>
@@ -489,7 +516,7 @@ When using card groups with footers, their content will automatically line up.
{% capture example %}
<div class="card-group">
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<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>
@@ -499,7 +526,7 @@ When using card groups with footers, their content will automatically line up.
</div>
</div>
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
@@ -509,7 +536,7 @@ When using card groups with footers, their content will automatically line up.
</div>
</div>
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p>
@@ -529,7 +556,7 @@ Need a set of equal width and height cards that aren't attached to one another?
{% capture example %}
<div class="card-deck">
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px200/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="200" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<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>
@@ -537,7 +564,7 @@ Need a set of equal width and height cards that aren't attached to one another?
</div>
</div>
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px200/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="200" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
@@ -545,7 +572,7 @@ Need a set of equal width and height cards that aren't attached to one another?
</div>
</div>
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px200/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="200" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p>
@@ -561,7 +588,7 @@ Just like with card groups, card footers in decks will automatically line up.
{% capture example %}
<div class="card-deck">
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<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>
@@ -571,7 +598,7 @@ Just like with card groups, card footers in decks will automatically line up.
</div>
</div>
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
@@ -581,7 +608,7 @@ Just like with card groups, card footers in decks will automatically line up.
</div>
</div>
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px180/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p>
@@ -603,7 +630,7 @@ Cards can be organized into [Masonry](https://masonry.desandro.com/)-like column
{% capture example %}
<div class="card-columns">
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px160/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="160" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title that wraps to a new line</h5>
<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>
@@ -620,7 +647,7 @@ Cards can be organized into [Masonry](https://masonry.desandro.com/)-like column
</blockquote>
</div>
<div class="card">
- <img class="card-img-top" data-src="holder.js/100px160/" alt="Card image cap">
+ {% include icons/placeholder.svg width="100%" height="160" class="card-img-top" text="Image cap" %}
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
@@ -630,7 +657,7 @@ Cards can be organized into [Masonry](https://masonry.desandro.com/)-like column
<div class="card bg-primary text-white text-center p-3">
<blockquote class="blockquote mb-0">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat.</p>
- <footer class="blockquote-footer">
+ <footer class="blockquote-footer text-white">
<small>
Someone famous in <cite title="Source Title">Source Title</cite>
</small>
@@ -645,7 +672,7 @@ Cards can be organized into [Masonry](https://masonry.desandro.com/)-like column
</div>
</div>
<div class="card">
- <img class="card-img" data-src="holder.js/100px260/" alt="Card image">
+ {% include icons/placeholder.svg width="100%" height="260" class="card-img" text="Card image" %}
</div>
<div class="card p-3 text-right">
<blockquote class="blockquote mb-0">
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/carousel.md b/vendor/twbs/bootstrap/site/docs/4.3/components/carousel.md
index 7c4a0472e..455e2d9e5 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/carousel.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/carousel.md
@@ -12,6 +12,8 @@ The carousel is a slideshow for cycling through a series of content, built with
In browsers where the [Page Visibility API](https://www.w3.org/TR/page-visibility/) is supported, the carousel will avoid sliding when the webpage is not visible to the user (such as when the browser tab is inactive, the browser window is minimized, etc.).
+{% include callout-info-prefersreducedmotion.md %}
+
Please be aware that nested carousels are not supported, and carousels are generally not compliant with accessibility standards.
Lastly, if you're building our JavaScript from source, it [requires `util.js`]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/javascript/#util).
@@ -30,13 +32,13 @@ Here's a carousel with slides only. Note the presence of the `.d-block` and `.w-
<div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" %}
</div>
<div class="carousel-item">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" %}
</div>
<div class="carousel-item">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" %}
</div>
</div>
</div>
@@ -51,13 +53,13 @@ Adding in the previous and next controls:
<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" %}
</div>
<div class="carousel-item">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" %}
</div>
<div class="carousel-item">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" %}
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleControls" role="button" data-slide="prev">
@@ -85,13 +87,13 @@ You can also add the indicators to the carousel, alongside the controls, too.
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" %}
</div>
<div class="carousel-item">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" %}
</div>
<div class="carousel-item">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" %}
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
@@ -110,6 +112,7 @@ You can also add the indicators to the carousel, alongside the controls, too.
Add captions to your slides easily with the `.carousel-caption` element within any `.carousel-item`. They can be easily hidden on smaller viewports, as shown below, with optional [display utilities]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/display/). We hide them initially with `.d-none` and bring them back on medium-sized devices with `.d-md-block`.
+{% capture example %}
<div class="bd-example">
<div id="carouselExampleCaptions" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
@@ -119,21 +122,21 @@ Add captions to your slides easily with the `.carousel-caption` element within a
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" %}
<div class="carousel-caption d-none d-md-block">
<h5>First slide label</h5>
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
</div>
</div>
<div class="carousel-item">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" %}
<div class="carousel-caption d-none d-md-block">
<h5>Second slide label</h5>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
<div class="carousel-item">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" %}
<div class="carousel-caption d-none d-md-block">
<h5>Third slide label</h5>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
@@ -150,16 +153,8 @@ Add captions to your slides easily with the `.carousel-caption` element within a
</a>
</div>
</div>
-
-{% highlight html %}
-<div class="carousel-item">
- <img src="..." alt="...">
- <div class="carousel-caption d-none d-md-block">
- <h5>...</h5>
- <p>...</p>
- </div>
-</div>
-{% endhighlight %}
+{% endcapture %}
+{% include example.html content=example %}
### Crossfade
@@ -169,13 +164,13 @@ Add `.carousel-fade` to your carousel to animate slides with a fade transition i
<div id="carouselExampleFade" class="carousel slide carousel-fade" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=777&fg=555&text=First slide" alt="First slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" %}
</div>
<div class="carousel-item">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" %}
</div>
<div class="carousel-item">
- <img class="d-block w-100" data-src="holder.js/800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" %}
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleFade" role="button" data-slide="prev">
@@ -190,6 +185,35 @@ Add `.carousel-fade` to your carousel to animate slides with a fade transition i
{% endcapture %}
{% include example.html content=example %}
+### Individual `.carousel-item` interval
+
+Add `data-interval=""` to a `.carousel-item` to change the amount of time to delay between automatically cycling to the next item.
+
+{% capture example %}
+<div id="carouselExampleInterval" class="carousel slide" data-ride="carousel">
+ <div class="carousel-inner">
+ <div class="carousel-item active" data-interval="10000">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" %}
+ </div>
+ <div class="carousel-item" data-interval="2000">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" %}
+ </div>
+ <div class="carousel-item">
+ {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" %}
+ </div>
+ </div>
+ <a class="carousel-control-prev" href="#carouselExampleInterval" 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-next" href="#carouselExampleInterval" role="button" data-slide="next">
+ <span class="carousel-control-next-icon" aria-hidden="true"></span>
+ <span class="sr-only">Next</span>
+ </a>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
## Usage
@@ -197,7 +221,7 @@ Add `.carousel-fade` to your carousel to animate slides with a fade transition i
Use data attributes to easily control the position of the carousel. `data-slide` accepts the keywords `prev` or `next`, which alters the slide position relative to its current position. Alternatively, use `data-slide-to` to pass a raw slide index to the carousel `data-slide-to="2"`, which shifts the slide position to a particular index beginning with `0`.
-The `data-ride="carousel"` attribute is used to mark a carousel as animating starting at page load. **It cannot be used in combination with (redundant and unnecessary) explicit JavaScript initialization of the same carousel.**
+The `data-ride="carousel"` attribute is used to mark a carousel as animating starting at page load. If you don't use `data-ride="carousel"` to initialize your carousel, you have to initialize it yourself. **It cannot be used in combination with (redundant and unnecessary) explicit JavaScript initialization of the same carousel.**
### Via JavaScript
@@ -252,6 +276,12 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>true</td>
<td>Whether the carousel should cycle continuously or have hard stops.</td>
</tr>
+ <tr>
+ <td>touch</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Whether the carousel should support left/right swipe interactions on touchscreen devices.</td>
+ </tr>
</tbody>
</table>
@@ -325,7 +355,7 @@ All carousel events are fired at the carousel itself (i.e. at the `<div class="c
{% highlight js %}
$('#myCarousel').on('slide.bs.carousel', function () {
- // do something…
+ // do something...
})
{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/collapse.md b/vendor/twbs/bootstrap/site/docs/4.3/components/collapse.md
index 047423b91..893b8b664 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/collapse.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/collapse.md
@@ -8,7 +8,9 @@ toc: true
## How it works
-The collapse JavaScript plugin is used to show and hide content. Buttons or anchors are used as triggers that are mapped to specific elements you toggle. Collapsing an element will animate the `height` from it's current value to `0`. Given how CSS handles animations, you cannot use `padding` on a `.collapse` element. Instead, use the class as an independent wrapping element.
+The collapse JavaScript plugin is used to show and hide content. Buttons or anchors are used as triggers that are mapped to specific elements you toggle. Collapsing an element will animate the `height` from its current value to `0`. Given how CSS handles animations, you cannot use `padding` on a `.collapse` element. Instead, use the class as an independent wrapping element.
+
+{% include callout-info-prefersreducedmotion.md %}
## Example
@@ -69,17 +71,17 @@ Multiple `<button>` or `<a>` can show and hide an element if they each reference
## Accordion example
-Using the [card]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/card/) component, you can extend the default collapse behavior to create an accordion.
+Using the [card]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/card/) component, you can extend the default collapse behavior to create an accordion. To properly achieve the accordion style, be sure to use `.accordion` as a wrapper.
{% capture example %}
<div class="accordion" id="accordionExample">
<div class="card">
<div class="card-header" id="headingOne">
- <h5 class="mb-0">
+ <h2 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Collapsible Group Item #1
</button>
- </h5>
+ </h2>
</div>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
@@ -90,11 +92,11 @@ Using the [card]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/card
</div>
<div class="card">
<div class="card-header" id="headingTwo">
- <h5 class="mb-0">
+ <h2 class="mb-0">
<button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Collapsible Group Item #2
</button>
- </h5>
+ </h2>
</div>
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionExample">
<div class="card-body">
@@ -104,11 +106,11 @@ Using the [card]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/card
</div>
<div class="card">
<div class="card-header" id="headingThree">
- <h5 class="mb-0">
+ <h2 class="mb-0">
<button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Collapsible Group Item #3
</button>
- </h5>
+ </h2>
</div>
<div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordionExample">
<div class="card-body">
@@ -244,6 +246,6 @@ Bootstrap's collapse class exposes a few events for hooking into collapse functi
{% highlight js %}
$('#myCollapsible').on('hidden.bs.collapse', function () {
- // do something…
+ // do something...
})
{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/dropdowns.md b/vendor/twbs/bootstrap/site/docs/4.3/components/dropdowns.md
index 9adfa499b..417d9f5ea 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/dropdowns.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/dropdowns.md
@@ -8,7 +8,7 @@ toc: true
## Overview
-Dropdowns are toggleable, contextual overlays for displaying lists of links and more. They're made interactive with the included Bootstrap dropdown JavaScript plugin. They're toggled by clicking, not by hovering; this is [an intentional design decision.](http://markdotto.com/2012/02/27/bootstrap-explained-dropdowns/)
+Dropdowns are toggleable, contextual overlays for displaying lists of links and more. They're made interactive with the included Bootstrap dropdown JavaScript plugin. They're toggled by clicking, not by hovering; this is [an intentional design decision](http://markdotto.com/2012/02/27/bootstrap-explained-dropdowns/).
Dropdowns are built on a third party library, [Popper.js](https://popper.js.org/), which provides dynamic positioning and viewport detection. Be sure to include [popper.min.js]({{ site.cdn.popper }}) before Bootstrap's JavaScript or use `bootstrap.bundle.min.js` / `bootstrap.bundle.js` which contains Popper.js. Popper.js isn't used to position dropdowns in navbars though as dynamic positioning isn't required.
@@ -587,7 +587,7 @@ Add `.disabled` to items in the dropdown to **style them as disabled**.
{% capture example %}
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Regular link</a>
- <a class="dropdown-item disabled" href="#">Disabled link</a>
+ <a class="dropdown-item disabled" href="#" tabindex="-1" aria-disabled="true">Disabled link</a>
<a class="dropdown-item" href="#">Another link</a>
</div>
{% endcapture %}
@@ -616,6 +616,44 @@ By default, a dropdown menu is automatically positioned 100% from the top and al
{% endcapture %}
{% include example.html content=example %}
+### Responsive alignment
+
+If you want to use responsive alignment, disable dynamic positioning by adding the `data-display="static"` attribute and use the responsive variation classes.
+
+To align **right** the dropdown menu with the given breakpoint or larger, add `.dropdown-menu{-sm|-md|-lg|-xl}-right`.
+
+{% capture example %}
+<div class="btn-group">
+ <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" data-display="static" aria-haspopup="true" aria-expanded="false">
+ Left-aligned but right aligned when large screen
+ </button>
+ <div class="dropdown-menu dropdown-menu-lg-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>
+{% endcapture %}
+{% include example.html content=example %}
+
+To align **left** the dropdown menu with the given breakpoint or larger, add `.dropdown-menu-right` and `.dropdown-menu{-sm|-md|-lg|-xl}-left`.
+
+{% capture example %}
+<div class="btn-group">
+ <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" data-display="static" aria-haspopup="true" aria-expanded="false">
+ Right-aligned but left aligned when large screen
+ </button>
+ <div class="dropdown-menu dropdown-menu-right dropdown-menu-lg-left">
+ <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>
+{% endcapture %}
+{% include example.html content=example %}
+
+Note that you don't need to add a `data-display="static"` attribute to dropdown buttons in navbars, since Popper.js isn't used in navbars.
+
## Menu content
### Headers
@@ -677,11 +715,13 @@ Put a form within a dropdown menu, or make it into a dropdown menu, and use [mar
<label for="exampleDropdownFormPassword1">Password</label>
<input type="password" class="form-control" id="exampleDropdownFormPassword1" placeholder="Password">
</div>
- <div class="form-check">
- <input type="checkbox" class="form-check-input" id="dropdownCheck">
- <label class="form-check-label" for="dropdownCheck">
- Remember me
- </label>
+ <div class="form-group">
+ <div class="form-check">
+ <input type="checkbox" class="form-check-input" id="dropdownCheck">
+ <label class="form-check-label" for="dropdownCheck">
+ Remember me
+ </label>
+ </div>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
@@ -702,11 +742,13 @@ Put a form within a dropdown menu, or make it into a dropdown menu, and use [mar
<label for="exampleDropdownFormPassword2">Password</label>
<input type="password" class="form-control" id="exampleDropdownFormPassword2" placeholder="Password">
</div>
- <div class="form-check">
- <input type="checkbox" class="form-check-input" id="dropdownCheck2">
- <label class="form-check-label" for="dropdownCheck2">
- Remember me
- </label>
+ <div class="form-group">
+ <div class="form-check">
+ <input type="checkbox" class="form-check-input" id="dropdownCheck2">
+ <label class="form-check-label" for="dropdownCheck2">
+ Remember me
+ </label>
+ </div>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
@@ -803,7 +845,11 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>offset</td>
<td>number | string | function</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>
+ <td>
+ <p>Offset of the dropdown relative to its target.</p>
+ <p>When a function is used to determine the offset, it is called with an object containing the offset data as its first argument. The function must return an object with the same structure. The triggering element DOM node is passed as the second argument.</p>
+ <p>For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</p>
+ </td>
</tr>
<tr>
<td>flip</td>
@@ -839,6 +885,8 @@ Note when `boundary` is set to any value other than `'scrollParent'`, the style
| Method | Description |
| --- | --- |
| `$().dropdown('toggle')` | Toggles the dropdown menu of a given navbar or tabbed navigation. |
+| `$().dropdown('show')` | Shows the dropdown menu of a given navbar or tabbed navigation. |
+| `$().dropdown('hide')` | Hides the dropdown menu of a given navbar or tabbed navigation. |
| `$().dropdown('update')` | Updates the position of an element's dropdown. |
| `$().dropdown('dispose')` | Destroys an element's dropdown. |
@@ -856,6 +904,6 @@ All dropdown events are fired at the `.dropdown-menu`'s parent element and have
{% highlight js %}
$('#myDropdown').on('show.bs.dropdown', function () {
- // do something…
+ // do something...
})
{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/forms.md b/vendor/twbs/bootstrap/site/docs/4.3/components/forms.md
index 5d3a5d2b5..e655e2158 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/forms.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/forms.md
@@ -115,7 +115,7 @@ Set heights using classes like `.form-control-lg` and `.form-control-sm`.
Add the `readonly` boolean attribute on an input to prevent modification of the input's value. Read-only inputs appear lighter (just like disabled inputs), but retain the standard cursor.
{% capture example %}
-<input class="form-control" type="text" placeholder="Readonly input here…" readonly>
+<input class="form-control" type="text" placeholder="Readonly input here..." readonly>
{% endcapture %}
{% include example.html content=example %}
@@ -174,7 +174,7 @@ Set horizontally scrollable range inputs using `.form-control-range`.
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.
-Disabled checkboxes and radios are supported, but to provide a `not-allowed` cursor on hover of the parent `<label>`, you'll need to add the `disabled` attribute to the `.form-check-input`. The disabled attribute will apply a lighter color to help indicate the input's state.
+Disabled checkboxes and radios are supported. The `disabled` attribute will apply a lighter color to help indicate the input's state.
Checkboxes and radios use are built to support HTML-based form validation and provide concise, accessible labels. As such, our `<input>`s and `<label>`s are sibling elements as opposed to an `<input>` within a `<label>`. This is slightly more verbose as you must specify `id` and `for` attributes to relate the `<input>` and `<label>`.
@@ -715,11 +715,13 @@ Add the `disabled` attribute to a `<fieldset>` to disable all the controls withi
<option>Disabled select</option>
</select>
</div>
- <div class="form-check">
- <input class="form-check-input" type="checkbox" id="disabledFieldsetCheck" disabled>
- <label class="form-check-label" for="disabledFieldsetCheck">
- Can't check this
- </label>
+ <div class="form-group">
+ <div class="form-check">
+ <input class="form-check-input" type="checkbox" id="disabledFieldsetCheck" disabled>
+ <label class="form-check-label" for="disabledFieldsetCheck">
+ Can't check this
+ </label>
+ </div>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</fieldset>
@@ -767,9 +769,9 @@ With that in mind, consider the following demos for our custom form validation s
### Custom styles
-For custom Bootstrap form validation messages, you'll need to add the `novalidate` boolean attribute to your `<form>`. This disables the browser default feedback tooltips, but still provides access to the form validation APIs in JavaScript. Try to submit the form below; our JavaScript will intercept the submit button and relay feedback to you.
+For custom Bootstrap form validation messages, you'll need to add the `novalidate` boolean attribute to your `<form>`. This disables the browser default feedback tooltips, but still provides access to the form validation APIs in JavaScript. Try to submit the form below; our JavaScript will intercept the submit button and relay feedback to you. When attempting to submit, you'll see the `:invalid` and `:valid` styles applied to your form controls.
-When attempting to submit, you'll see the `:invalid` and `:valid` styles applied to your form controls.
+Custom feedback styles apply custom colors, borders, focus styles, and background icons to better communicate feedback. Background icons for `<select>`s are only available with `.custom-select`, and not `.form-control`.
{% capture example %}
<form class="needs-validation" novalidate>
@@ -917,7 +919,7 @@ While these feedback styles cannot be styled with CSS, you can still customize t
### Server side
-We recommend using client side validation, but in case you require server side, you can indicate invalid and valid form fields with `.is-invalid` and `.is-valid`. Note that `.invalid-feedback` is also supported with these classes.
+We recommend using client-side validation, but in case you require server-side validation, you can indicate invalid and valid form fields with `.is-invalid` and `.is-valid`. Note that `.invalid-feedback` is also supported with these classes.
{% capture example %}
<form>
@@ -990,10 +992,24 @@ We recommend using client side validation, but in case you require server side,
### Supported elements
-Our example forms show native textual `<input>`s above, but form validation styles are available for our custom form controls, too.
+Validation styles are available for the following form controls and components:
+
+- `<input>`s and `<textarea>`s with `.form-control` (including up to one `.form-control` in input groups)
+- `<select>`s with `.form-select` or `.custom-select`
+- `.form-check`s
+- `.custom-checkbox`s and `.custom-radio`s
+- `.custom-file`
{% capture example %}
<form class="was-validated">
+ <div class="mb-3">
+ <label for="validationTextarea">Textarea</label>
+ <textarea class="form-control is-invalid" id="validationTextarea" placeholder="Required example textarea" required></textarea>
+ <div class="invalid-feedback">
+ Please enter a message in the textarea.
+ </div>
+ </div>
+
<div class="custom-control custom-checkbox mb-3">
<input type="checkbox" class="custom-control-input" id="customControlValidation1" required>
<label class="custom-control-label" for="customControlValidation1">Check this custom checkbox</label>
@@ -1091,19 +1107,50 @@ If your form layout allows it, you can swap the `.{valid|invalid}-feedback` clas
{% endcapture %}
{% include example.html content=example %}
+### Customizing
+
+Validation states can be customized via Sass with the `$form-validation-states` map. Located in our `_variables.scss` file, this Sass map is looped over to generate the default `valid`/`invalid` validation states. Included is a nested map for customizing each state's color and icon. While no other states are supported by browsers, those using custom styles can easily add more complex form feedback.
+
+Please note that we do not recommend customizing these values without also modifying the `form-validation-state` mixin.
+
+{% highlight scss %}
+// Sass map from `_variables.scss`
+// Override this and recompile your Sass to generate different states
+$form-validation-states: map-merge(
+ (
+ "valid": (
+ "color": $form-feedback-valid-color,
+ "icon": $form-feedback-icon-valid
+ ),
+ "invalid": (
+ "color": $form-feedback-invalid-color,
+ "icon": $form-feedback-icon-invalid
+ )
+ ),
+ $form-validation-states
+);
+
+// Loop from `_forms.scss`
+// Any modifications to the above Sass map will be reflected in your compiled
+// CSS via this loop.
+@each $state, $data in $form-validation-states {
+ @include form-validation-state($state, map-get($data, color), map-get($data, icon));
+}
+{% endhighlight %}
+
## Custom forms
For even more customization and cross browser consistency, use our completely custom form elements to replace the browser defaults. They're built on top of semantic and accessible markup, so they're solid replacements for any default form control.
### Checkboxes and radios
-Each checkbox and radio is wrapped in a `<div>` with a sibling `<span>` to create our custom control and a `<label>` for the accompanying text. Structurally, this is the same approach as our default `.form-check`.
+Each checkbox and radio `<input>` and `<label>` pairing is wrapped in a `<div>` to create our custom control. Structurally, this is the same approach as our default `.form-check`.
We use the sibling selector (`~`) for all our `<input>` states—like `:checked`—to properly style our custom form indicator. When combined with the `.custom-control-label` class, we can also style the text for each item based on the `<input>`'s state.
We hide the default `<input>` with `opacity` and use the `.custom-control-label` to build a new custom form indicator in its place with `::before` and `::after`. Unfortunately we can't build a custom one from just the `<input>` because CSS's `content` doesn't work on that element.
-In the checked states, we use **base64 embedded SVG icons** from [Open Iconic](https://useiconic.com/open). This provides us the best control for styling and positioning across browsers and devices.
+In the checked states, we use **base64 embedded SVG icons** from [Open Iconic](https://github.com/iconic/open-iconic). This provides us the best control for styling and positioning across browsers and devices.
#### Checkboxes
@@ -1164,13 +1211,29 @@ Custom checkboxes and radios can also be disabled. Add the `disabled` boolean at
{% capture example %}
<div class="custom-control custom-checkbox">
- <input type="checkbox" class="custom-control-input" id="customCheckDisabled" disabled>
- <label class="custom-control-label" for="customCheckDisabled">Check this custom checkbox</label>
+ <input type="checkbox" class="custom-control-input" id="customCheckDisabled1" disabled>
+ <label class="custom-control-label" for="customCheckDisabled1">Check this custom checkbox</label>
</div>
<div class="custom-control custom-radio">
- <input type="radio" id="radio3" name="radioDisabled" id="customRadioDisabled" class="custom-control-input" disabled>
- <label class="custom-control-label" for="customRadioDisabled">Toggle this custom radio</label>
+ <input type="radio" name="radioDisabled" id="customRadioDisabled2" class="custom-control-input" disabled>
+ <label class="custom-control-label" for="customRadioDisabled2">Toggle this custom radio</label>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+### Switches
+
+A switch has the markup of a custom checkbox but uses the `.custom-switch` class to render a toggle switch. Switches also support the `disabled` attribute.
+
+{% capture example %}
+<div class="custom-control custom-switch">
+ <input type="checkbox" class="custom-control-input" id="customSwitch1">
+ <label class="custom-control-label" for="customSwitch1">Toggle this switch element</label>
+</div>
+<div class="custom-control custom-switch">
+ <input type="checkbox" class="custom-control-input" disabled id="customSwitch2">
+ <label class="custom-control-label" for="customSwitch2">Disabled switch element</label>
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -1260,6 +1323,11 @@ By default, range inputs "snap" to integer values. To change this, you can speci
### File browser
+{% capture callout %}
+The recommended plugin to animate custom file input: [bs-custom-file-input](https://www.npmjs.com/package/bs-custom-file-input), that's what we are using currently here in our docs.
+{% endcapture %}
+{% include callout.html content=callout type="info" %}
+
The file input is the most gnarly of the bunch and requires additional JavaScript if you'd like to hook them up with functional *Choose file...* and selected file name text.
{% capture example %}
@@ -1272,7 +1340,7 @@ The file input is the most gnarly of the bunch and requires additional JavaScrip
We hide the default file `<input>` via `opacity` and instead style the `<label>`. The button is generated and positioned with `::after`. Lastly, we declare a `width` and `height` on the `<input>` for proper spacing for surrounding content.
-#### Translating or customizing the strings
+#### Translating or customizing the strings with SCSS
The [`:lang()` pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:lang) is used to allow for translation of the "Browse" text into other languages. Override or add entries to the `$custom-file-text` Sass variable with the relevant [language tag](https://en.wikipedia.org/wiki/IETF_language_tag) and localized strings. The English strings can be customized the same way. For example, here's how one might add a Spanish translation (Spanish's language code is `es`):
@@ -1294,3 +1362,15 @@ Here's `lang(es)` in action on the custom file input for a Spanish translation:
{% include example.html content=example %}
You'll need to set the language of your document (or subtree thereof) correctly in order for the correct text to be shown. This can be done using [the `lang` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang) on the `<html>` element or the [`Content-Language` HTTP header](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.12), among other methods.
+
+#### Translating or customizing the strings with HTML
+
+Bootstrap also provides a way to translate the "Browse" text in HTML with the `data-browse` attribute which can be added to the custom input label (example in Dutch):
+
+{% capture example %}
+<div class="custom-file">
+ <input type="file" class="custom-file-input" id="customFileLangHTML">
+ <label class="custom-file-label" for="customFileLangHTML" data-browse="Bestand kiezen">Voeg je document toe</label>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/input-group.md b/vendor/twbs/bootstrap/site/docs/4.3/components/input-group.md
index 0e639acd6..cdbfa794a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/input-group.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/input-group.md
@@ -52,6 +52,20 @@ Place one add-on or button on either side of an input. You may also place one on
{% endcapture %}
{% include example.html content=example %}
+## Wrapping
+
+Input groups wrap by default via `flex-wrap: wrap` in order to accommodate custom form field validation within an input group. You may disable this with `.flex-nowrap`.
+
+{% capture example %}
+<div class="input-group flex-nowrap">
+ <div class="input-group-prepend">
+ <span class="input-group-text" id="addon-wrapping">@</span>
+ </div>
+ <input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="addon-wrapping">
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
## Sizing
Add the relative form sizing classes to the `.input-group` itself and contents within will automatically resize—no need for repeating the form control size classes on each element.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/jumbotron.md b/vendor/twbs/bootstrap/site/docs/4.3/components/jumbotron.md
index c14621565..c14621565 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/jumbotron.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/jumbotron.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/list-group.md b/vendor/twbs/bootstrap/site/docs/4.3/components/list-group.md
index 7ecb249b3..251dae672 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/list-group.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/list-group.md
@@ -42,7 +42,7 @@ Add `.disabled` to a `.list-group-item` to make it _appear_ disabled. Note that
{% capture example %}
<ul class="list-group">
- <li class="list-group-item disabled">Cras justo odio</li>
+ <li class="list-group-item disabled" aria-disabled="true">Cras justo odio</li>
<li class="list-group-item">Dapibus ac facilisis in</li>
<li class="list-group-item">Morbi leo risus</li>
<li class="list-group-item">Porta ac consectetur ac</li>
@@ -65,7 +65,7 @@ Be sure to **not use the standard `.btn` classes here**.
<a href="#" class="list-group-item list-group-item-action">Dapibus ac facilisis in</a>
<a href="#" class="list-group-item list-group-item-action">Morbi leo risus</a>
<a href="#" class="list-group-item list-group-item-action">Porta ac consectetur ac</a>
- <a href="#" class="list-group-item list-group-item-action disabled">Vestibulum at eros</a>
+ <a href="#" class="list-group-item list-group-item-action disabled" tabindex="-1" aria-disabled="true">Vestibulum at eros</a>
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -100,6 +100,22 @@ Add `.list-group-flush` to remove some borders and rounded corners to render lis
{% endcapture %}
{% include example.html content=example %}
+## Horizontal
+
+Add `.list-group-horizontal` to change the layout of list group items from vertical to horizontal across all breakpoints. Alternatively, choose a responsive variant `.list-group-horizontal-{sm|md|lg|xl}` to make a list group horizontal starting at that breakpoint's `min-width`. Currently **horizontal list groups cannot be combined with flush list groups.**
+
+**ProTip:** Want equal-width list group items when horizontal? Add `.flex-fill` to each list group item.
+
+{% for bp in site.data.breakpoints %}
+{% capture example %}
+<ul class="list-group list-group-horizontal{{ bp.abbr }}">
+ <li class="list-group-item">Cras justo odio</li>
+ <li class="list-group-item">Dapibus ac facilisis in</li>
+ <li class="list-group-item">Morbi leo risus</li>
+</ul>
+{% endcapture %}
+{% include example.html content=example %}{% endfor %}
+
## Contextual classes
Use contextual classes to style list items with a stateful background and color.
@@ -156,7 +172,7 @@ Add nearly any HTML within, even for linked list groups like the one below, with
{% capture example %}
<div class="list-group">
- <a href="#" class="list-group-item list-group-item-action flex-column align-items-start active">
+ <a href="#" class="list-group-item list-group-item-action active">
<div class="d-flex w-100 justify-content-between">
<h5 class="mb-1">List group item heading</h5>
<small>3 days ago</small>
@@ -164,7 +180,7 @@ Add nearly any HTML within, even for linked list groups like the one below, with
<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 flex-column align-items-start">
+ <a href="#" class="list-group-item list-group-item-action">
<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>
@@ -172,7 +188,7 @@ Add nearly any HTML within, even for linked list groups like the one below, with
<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 flex-column align-items-start">
+ <a href="#" class="list-group-item list-group-item-action">
<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>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/layout/media-object.md b/vendor/twbs/bootstrap/site/docs/4.3/components/media-object.md
index 500fa3e31..32628e723 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/layout/media-object.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/media-object.md
@@ -2,7 +2,7 @@
layout: docs
title: Media object
description: Documentation and examples for Bootstrap's media object to construct highly repetitive components like blog comments, tweets, and the like.
-group: layout
+group: components
toc: true
---
@@ -14,7 +14,7 @@ Below is an example of a single media object. Only two classes are required—th
{% capture example %}
<div class="media">
- <img class="mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ {% include icons/placeholder.svg width="64" height="64" class="mr-3" %}
<div class="media-body">
<h5 class="mt-0">Media heading</h5>
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.
@@ -38,14 +38,14 @@ Media objects can be infinitely nested, though we suggest you stop at some point
{% capture example %}
<div class="media">
- <img class="mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ {% include icons/placeholder.svg width="64" height="64" class="mr-3" %}
<div class="media-body">
<h5 class="mt-0">Media heading</h5>
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.
<div class="media mt-3">
- <a class="pr-3" href="#">
- <img data-src="holder.js/64x64" alt="Generic placeholder image">
+ <a class="mr-3" href="#">
+ {% include icons/placeholder.svg width="64" height="64" %}
</a>
<div class="media-body">
<h5 class="mt-0">Media heading</h5>
@@ -63,7 +63,7 @@ Media in a media object can be aligned with flexbox utilities to the top (defaul
{% capture example %}
<div class="media">
- <img class="align-self-start mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ {% include icons/placeholder.svg width="64" height="64" class="align-self-start mr-3" %}
<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
{% capture example %}
<div class="media">
- <img class="align-self-center mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ {% include icons/placeholder.svg width="64" height="64" class="align-self-center mr-3" %}
<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>
@@ -87,7 +87,7 @@ Media in a media object can be aligned with flexbox utilities to the top (defaul
{% capture example %}
<div class="media">
- <img class="align-self-end mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ {% include icons/placeholder.svg width="64" height="64" class="align-self-end mr-3" %}
<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>
@@ -107,7 +107,7 @@ Change the order of content in media objects by modifying the HTML itself, or by
<h5 class="mt-0 mb-1">Media object</h5>
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.
</div>
- <img class="ml-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ {% include icons/placeholder.svg width="64" height="64" class="ml-3" %}
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -119,21 +119,21 @@ Because the media object has so few structural requirements, you can also use th
{% capture example %}
<ul class="list-unstyled">
<li class="media">
- <img class="mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ {% include icons/placeholder.svg width="64" height="64" class="mr-3" %}
<div class="media-body">
<h5 class="mt-0 mb-1">List-based media object</h5>
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.
</div>
</li>
<li class="media my-4">
- <img class="mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ {% include icons/placeholder.svg width="64" height="64" class="mr-3" %}
<div class="media-body">
<h5 class="mt-0 mb-1">List-based media object</h5>
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.
</div>
</li>
<li class="media">
- <img class="mr-3" data-src="holder.js/64x64" alt="Generic placeholder image">
+ {% include icons/placeholder.svg width="64" height="64" class="mr-3" %}
<div class="media-body">
<h5 class="mt-0 mb-1">List-based media object</h5>
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.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/modal.md b/vendor/twbs/bootstrap/site/docs/4.3/components/modal.md
index 3ed09170e..d470bc7d4 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/modal.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/modal.md
@@ -23,6 +23,8 @@ $('#myModal').on('shown.bs.modal', function () {
})
{% endhighlight %}
+{% include callout-info-prefersreducedmotion.md %}
+
Keep reading for demos and usage guidelines.
## Examples
@@ -208,6 +210,79 @@ When modals become too long for the user's viewport or device, they scroll indep
</div>
{% endhighlight %}
+You can also create a scrollable modal that allows scroll the modal body by adding `.modal-dialog-scrollable` to `.modal-dialog`.
+
+<div id="exampleModalScrollable" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalScrollableTitle" aria-hidden="true">
+ <div class="modal-dialog modal-dialog-scrollable" role="document">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h5 class="modal-title" id="exampleModalScrollableTitle">Modal title</h5>
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="modal-body">
+ <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+ <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
+ <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
+ <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+ <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
+ <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
+ <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+ <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
+ <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
+ <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+ <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
+ <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
+ <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+ <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
+ <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
+ <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+ <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
+ <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
+ <button type="button" class="btn btn-primary">Save changes</button>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div class="bd-example">
+ <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalScrollable">
+ Launch demo modal
+ </button>
+</div>
+
+{% highlight html %}
+<!-- Button trigger modal -->
+<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalScrollable">
+ Launch demo modal
+</button>
+
+<!-- Modal -->
+<div class="modal fade" id="exampleModalScrollable" tabindex="-1" role="dialog" aria-labelledby="exampleModalScrollableTitle" aria-hidden="true">
+ <div class="modal-dialog modal-dialog-scrollable" role="document">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h5 class="modal-title" id="exampleModalScrollableTitle">Modal title</h5>
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="modal-body">
+ ...
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
+ <button type="button" class="btn btn-primary">Save changes</button>
+ </div>
+ </div>
+ </div>
+</div>
+{% endhighlight %}
+
### Vertically centered
Add `.modal-dialog-centered` to `.modal-dialog` to vertically center the modal.
@@ -232,9 +307,36 @@ Add `.modal-dialog-centered` to `.modal-dialog` to vertically center the modal.
</div>
</div>
+<div id="exampleModalCenteredScrollable" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenteredScrollableTitle" aria-hidden="true">
+ <div class="modal-dialog modal-dialog-scrollable modal-dialog-centered" role="document">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h5 class="modal-title" id="exampleModalCenteredScrollableTitle">Modal title</h5>
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="modal-body">
+ <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+ <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
+ <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
+ <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+ <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
+ <button type="button" class="btn btn-primary">Save changes</button>
+ </div>
+ </div>
+ </div>
+</div>
+
<div class="bd-example">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter">
- Launch demo modal
+ Vertically centered modal
+ </button>
+ <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenteredScrollable">
+ Vertically centered scrollable modal
</button>
</div>
@@ -448,6 +550,12 @@ $('#exampleModal').on('show.bs.modal', function (event) {
})
{% endhighlight %}
+### Change animation
+
+The `$modal-fade-transform` variable determines the transform state of `.modal-dialog` before the modal fade-in animation, the `$modal-show-transform` variable determines the transform of `.modal-dialog` at the end of the modal fade-in animation.
+
+If you want for example a zoom-in animation, you can set `$modal-fade-transform: scale(.8)`.
+
### Remove animation
For modals that simply appear rather than fade in to view, remove the `.fade` class from your modal markup.
@@ -472,14 +580,60 @@ Embedding YouTube videos in modals requires additional JavaScript not in Bootstr
## Optional sizes
-Modals have two optional sizes, available via modifier classes to be placed on a `.modal-dialog`. These sizes kick in at certain breakpoints to avoid horizontal scrollbars on narrower viewports.
+Modals have three optional sizes, available via modifier classes to be placed on a `.modal-dialog`. These sizes kick in at certain breakpoints to avoid horizontal scrollbars on narrower viewports.
+
+<table class="table table-bordered table-striped">
+ <thead>
+ <tr>
+ <th>Size</th>
+ <th>Class</th>
+ <th>Modal max-width</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Small</td>
+ <td><code>.modal-sm</code></td>
+ <td><code>300px</code></td>
+ </tr>
+ <tr>
+ <td>Default</td>
+ <td class="text-muted">None</td>
+ <td><code>500px</code></td>
+ </tr>
+ <tr>
+ <td>Large</td>
+ <td><code>.modal-lg</code></td>
+ <td><code>800px</code></td>
+ </tr>
+ <tr>
+ <td>Extra large</td>
+ <td><code>.modal-xl</code></td>
+ <td><code>1140px</code></td>
+ </tr>
+ </tbody>
+</table>
+
+Our default modal without modifier class constitutes the "medium" size modal.
<div class="bd-example">
+ <button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-xl">Extra large modal</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-lg">Large modal</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-sm">Small modal</button>
</div>
{% highlight html %}
+<!-- Extra large modal -->
+<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-xl">Extra large modal</button>
+
+<div class="modal fade bd-example-modal-xl" tabindex="-1" role="dialog" aria-labelledby="myExtraLargeModalLabel" aria-hidden="true">
+ <div class="modal-dialog modal-xl">
+ <div class="modal-content">
+ ...
+ </div>
+ </div>
+</div>
+
<!-- Large modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-lg">Large modal</button>
@@ -503,6 +657,23 @@ Modals have two optional sizes, available via modifier classes to be placed on a
</div>
{% endhighlight %}
+<div class="modal fade bd-example-modal-xl" tabindex="-1" role="dialog" aria-labelledby="myExtraLargeModalLabel" aria-hidden="true">
+ <div class="modal-dialog modal-xl">
+ <div class="modal-content">
+
+ <div class="modal-header">
+ <h5 class="modal-title h4" id="myExtraLargeModalLabel">Extra large modal</h5>
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="modal-body">
+ ...
+ </div>
+ </div>
+ </div>
+</div>
+
<div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/navbar.md b/vendor/twbs/bootstrap/site/docs/4.3/components/navbar.md
index d56843691..3405f8f67 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/navbar.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/navbar.md
@@ -17,6 +17,8 @@ Here's what you need to know before getting started with the navbar:
- Navbars are hidden by default when printing. Force them to be printed by adding `.d-print` to the `.navbar`. See the [display]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/display/) utility class.
- Ensure accessibility by using a `<nav>` element or, if using a more generic element such as a `<div>`, add a `role="navigation"` to every navbar to explicitly identify it as a landmark region for users of assistive technologies.
+{% include callout-info-prefersreducedmotion.md %}
+
Read on for an example and list of supported sub-components.
## Supported content
@@ -59,7 +61,7 @@ Here's an example of all the sub-components included in a responsive light-theme
</div>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
@@ -137,7 +139,7 @@ Active states—with `.active`—to indicate the current page can be applied dir
<a class="nav-link" href="#">Pricing</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
</div>
@@ -158,7 +160,7 @@ And because we use classes for our navs, you can avoid the list-based approach e
<a class="nav-item nav-link active" href="#">Home <span class="sr-only">(current)</span></a>
<a class="nav-item nav-link" href="#">Features</a>
<a class="nav-item nav-link" href="#">Pricing</a>
- <a class="nav-item nav-link disabled" href="#">Disabled</a>
+ <a class="nav-item nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</div>
</div>
</nav>
@@ -485,7 +487,7 @@ With no `.navbar-brand` shown in lowest breakpoint:
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
@@ -515,7 +517,7 @@ With a brand name shown on the left and toggler on the right:
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
@@ -545,7 +547,7 @@ With a toggler on the left and brand name on the right:
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/navs.md b/vendor/twbs/bootstrap/site/docs/4.3/components/navs.md
index 86173e9a2..21375f18c 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/navs.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/navs.md
@@ -29,20 +29,20 @@ The base `.nav` component does not include any `.active` state. The following ex
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
{% endcapture %}
{% include example.html content=example %}
-Classes are used throughout, so your markup can be super flexible. Use `<ul>`s like above, or roll your own with say a `<nav>` element. Because the `.nav` uses `display: flex`, the nav links behave the same as nav items would, but without the extra markup.
+Classes are used throughout, so your markup can be super flexible. Use `<ul>`s like above, `<ol>` if the order of your items is important, or roll your own with a `<nav>` element. Because the `.nav` uses `display: flex`, the nav links behave the same as nav items would, but without the extra markup.
{% capture example %}
<nav class="nav">
<a class="nav-link active" href="#">Active</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link" href="#">Link</a>
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
{% endcapture %}
{% include example.html content=example %}
@@ -69,7 +69,7 @@ Centered with `.justify-content-center`:
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
{% endcapture %}
@@ -89,7 +89,7 @@ Right-aligned with `.justify-content-end`:
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
{% endcapture %}
@@ -111,7 +111,7 @@ Stack your navigation by changing the flex item direction with the `.flex-column
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
{% endcapture %}
@@ -124,7 +124,7 @@ As always, vertical navigation is possible without `<ul>`s, too.
<a class="nav-link active" href="#">Active</a>
<a class="nav-link" href="#">Link</a>
<a class="nav-link" href="#">Link</a>
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
{% endcapture %}
{% include example.html content=example %}
@@ -145,7 +145,7 @@ Takes the basic nav from above and adds the `.nav-tabs` class to generate a tabb
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
{% endcapture %}
@@ -167,7 +167,7 @@ Take that same HTML, but use `.nav-pills` instead:
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
{% endcapture %}
@@ -183,13 +183,13 @@ Force your `.nav`'s contents to extend the full available width one of two modif
<a class="nav-link active" href="#">Active</a>
</li>
<li class="nav-item">
- <a class="nav-link" href="#">Longer nav link</a>
+ <a class="nav-link" href="#">Much 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>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
{% endcapture %}
@@ -200,9 +200,9 @@ When using a `<nav>`-based navigation, be sure to include `.nav-item` on the anc
{% capture example %}
<nav class="nav nav-pills nav-fill">
<a class="nav-item nav-link active" href="#">Active</a>
+ <a class="nav-item nav-link" href="#">Much longer nav link</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>
+ <a class="nav-item nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
{% endcapture %}
{% include example.html content=example %}
@@ -210,12 +210,20 @@ When using a `<nav>`-based navigation, be sure to include `.nav-item` on the anc
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.
{% capture example %}
-<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>
+<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="#">Much 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>
{% endcapture %}
{% include example.html content=example %}
@@ -224,9 +232,9 @@ Similar to the `.nav-fill` example using a `<nav>`-based navigation, be sure to
{% capture example %}
<nav class="nav nav-pills nav-justified">
<a class="nav-item nav-link active" href="#">Active</a>
+ <a class="nav-item nav-link" href="#">Much longer nav link</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>
+ <a class="nav-item nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
{% endcapture %}
@@ -238,9 +246,9 @@ If you need responsive nav variations, consider using a series of [flexbox utili
{% capture example %}
<nav class="nav nav-pills flex-column flex-sm-row">
<a class="flex-sm-fill text-sm-center nav-link active" href="#">Active</a>
+ <a class="flex-sm-fill text-sm-center nav-link" href="#">Longer nav link</a>
<a class="flex-sm-fill text-sm-center nav-link" href="#">Link</a>
- <a class="flex-sm-fill text-sm-center nav-link" href="#">Link</a>
- <a class="flex-sm-fill text-sm-center nav-link disabled" href="#">Disabled</a>
+ <a class="flex-sm-fill text-sm-center nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</nav>
{% endcapture %}
{% include example.html content=example %}
@@ -276,7 +284,7 @@ Add dropdown menus with a little extra HTML and the [dropdowns JavaScript plugin
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
{% endcapture %}
@@ -303,7 +311,7 @@ Add dropdown menus with a little extra HTML and the [dropdowns JavaScript plugin
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
- <a class="nav-link disabled" href="#">Disabled</a>
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li>
</ul>
{% endcapture %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/pagination.md b/vendor/twbs/bootstrap/site/docs/4.3/components/pagination.md
index b20b0624d..b1f8e58a2 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/pagination.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/pagination.md
@@ -27,7 +27,7 @@ In addition, as pages likely have more than one such navigation section, it's ad
## Working with icons
-Looking to use an icon or symbol in place of text for some pagination links? Be sure to provide proper screen reader support with `aria` attributes and the `.sr-only` utility.
+Looking to use an icon or symbol in place of text for some pagination links? Be sure to provide proper screen reader support with `aria` attributes.
{% capture example %}
<nav aria-label="Page navigation example">
@@ -35,7 +35,6 @@ Looking to use an icon or symbol in place of text for some pagination links? Be
<li class="page-item">
<a class="page-link" href="#" aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
- <span class="sr-only">Previous</span>
</a>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
@@ -44,7 +43,6 @@ Looking to use an icon or symbol in place of text for some pagination links? Be
<li class="page-item">
<a class="page-link" href="#" aria-label="Next">
<span aria-hidden="true">&raquo;</span>
- <span class="sr-only">Next</span>
</a>
</li>
</ul>
@@ -62,10 +60,10 @@ While the `.disabled` class uses `pointer-events: none` to _try_ to disable the
<nav aria-label="...">
<ul class="pagination">
<li class="page-item disabled">
- <a class="page-link" href="#" tabindex="-1">Previous</a>
+ <a class="page-link" href="#" tabindex="-1" aria-disabled="true">Previous</a>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
- <li class="page-item active">
+ <li class="page-item active" aria-current="page">
<a class="page-link" href="#">2 <span class="sr-only">(current)</span></a>
</li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
@@ -86,7 +84,7 @@ You can optionally swap out active or disabled anchors for `<span>`, or omit the
<span class="page-link">Previous</span>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
- <li class="page-item active">
+ <li class="page-item active" aria-current="page">
<span class="page-link">
2
<span class="sr-only">(current)</span>
@@ -108,8 +106,11 @@ Fancy larger or smaller pagination? Add `.pagination-lg` or `.pagination-sm` for
{% capture example %}
<nav aria-label="...">
<ul class="pagination pagination-lg">
- <li class="page-item disabled">
- <a class="page-link" href="#" tabindex="-1">1</a>
+ <li class="page-item active" aria-current="page">
+ <span class="page-link">
+ 1
+ <span class="sr-only">(current)</span>
+ </span>
</li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
@@ -121,8 +122,11 @@ Fancy larger or smaller pagination? Add `.pagination-lg` or `.pagination-sm` for
{% capture example %}
<nav aria-label="...">
<ul class="pagination pagination-sm">
- <li class="page-item disabled">
- <a class="page-link" href="#" tabindex="-1">1</a>
+ <li class="page-item active" aria-current="page">
+ <span class="page-link">
+ 1
+ <span class="sr-only">(current)</span>
+ </span>
</li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
@@ -139,7 +143,7 @@ Change the alignment of pagination components with [flexbox utilities]({{ site.b
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center">
<li class="page-item disabled">
- <a class="page-link" href="#" tabindex="-1">Previous</a>
+ <a class="page-link" href="#" tabindex="-1" aria-disabled="true">Previous</a>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
@@ -156,7 +160,7 @@ Change the alignment of pagination components with [flexbox utilities]({{ site.b
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-end">
<li class="page-item disabled">
- <a class="page-link" href="#" tabindex="-1">Previous</a>
+ <a class="page-link" href="#" tabindex="-1" aria-disabled="true">Previous</a>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/popovers.md b/vendor/twbs/bootstrap/site/docs/4.3/components/popovers.md
index 874509306..d648c6475 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/popovers.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/popovers.md
@@ -20,6 +20,9 @@ Things to know when using the popover plugin:
- Popovers for `.disabled` or `disabled` elements must be triggered on a wrapper element.
- When triggered from anchors that wrap across multiple lines, popovers will be centered between the anchors' overall width. Use `.text-nowrap` on your `<a>`s to avoid this behavior.
- Popovers must be hidden before their corresponding elements have been removed from the DOM.
+- Popovers can be triggered thanks to an element inside a shadow DOM.
+
+{% include callout-info-prefersreducedmotion.md %}
Keep reading to see how popovers work with some examples.
@@ -137,6 +140,11 @@ 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=""`.
+{% capture callout %}
+Note that for security reasons the `sanitize`, `sanitizeFn` and `whiteList` options cannot be supplied using data attributes.
+{% endcapture %}
+{% include callout.html content=callout type="warning" %}
+
<table class="table table-bordered table-striped">
<thead>
<tr>
@@ -199,7 +207,7 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>selector</td>
<td>string | false</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>
+ <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="{{ site.repo }}/issues/4215">this</a> and <a href="https://codepen.io/Johann-S/pen/djJYPb">an informative example</a>.</td>
</tr>
<tr>
<td>template</td>
@@ -247,6 +255,24 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>'scrollParent'</td>
<td>Overflow constraint boundary of the popover. Accepts the values of <code>'viewport'</code>, <code>'window'</code>, <code>'scrollParent'</code>, or an HTMLElement reference (JavaScript only). For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..preventOverflow.boundariesElement">preventOverflow docs</a>.</td>
</tr>
+ <tr>
+ <td>sanitize</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Enable or disable the sanitization. If activated <code>'template'</code>, <code>'content'</code> and <code>'title'</code> options will be sanitized.</td>
+ </tr>
+ <tr>
+ <td>whiteList</td>
+ <td>object</td>
+ <td><a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/javascript/#sanitizer">Default value</a></td>
+ <td>Object which contains allowed attributes and tags</td>
+ </tr>
+ <tr>
+ <td>sanitizeFn</td>
+ <td>null | function</td>
+ <td>null</td>
+ <td>Here you can supply your own sanitize function. This can be useful if you prefer to use a dedicated library to perform sanitization.</td>
+ </tr>
</tbody>
</table>
@@ -348,6 +374,6 @@ Updates the position of an element's popover.
{% highlight js %}
$('#myPopover').on('hidden.bs.popover', function () {
- // do something…
+ // do something...
})
{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/progress.md b/vendor/twbs/bootstrap/site/docs/4.3/components/progress.md
index e342b06d9..e342b06d9 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/progress.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/progress.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/scrollspy.md b/vendor/twbs/bootstrap/site/docs/4.3/components/scrollspy.md
index 6d8799d8a..a4b0980dc 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/scrollspy.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/scrollspy.md
@@ -124,7 +124,7 @@ Scrollspy also works with nested `.nav`s. If a nested `.nav` is `.active`, its p
<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>
+ <h5 id="item-1-2">Item 1-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>
@@ -162,7 +162,7 @@ Scrollspy also works with nested `.nav`s. If a nested `.nav` is `.active`, its p
<p>...</p>
<h5 id="item-1-1">Item 1-1</h5>
<p>...</p>
- <h5 id="item-1-2">Item 2-2</h5>
+ <h5 id="item-1-2">Item 1-2</h5>
<p>...</p>
<h4 id="item-2">Item 2</h4>
<p>...</p>
@@ -306,6 +306,18 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>10</td>
<td>Pixels to offset from top when calculating position of scroll.</td>
</tr>
+ <tr>
+ <td>method</td>
+ <td>string</td>
+ <td>auto</td>
+ <td>Finds which section the spied element is in. <code>auto</code> will choose the best method get scroll coordinates. <code>offset</code> will use jQuery offset method to get scroll coordinates. <code>position</code> will use jQuery position method to get scroll coordinates.</td>
+ </tr>
+ <tr>
+ <td>target</td>
+ <td>string</td>
+ <td></td>
+ <td>Specifies element to apply Scrollspy plugin.</td>
+ </tr>
</tbody>
</table>
@@ -328,6 +340,6 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
{% highlight js %}
$('[data-spy="scroll"]').on('activate.bs.scrollspy', function () {
- // do something…
+ // do something...
})
{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/components/spinners.md b/vendor/twbs/bootstrap/site/docs/4.3/components/spinners.md
new file mode 100644
index 000000000..c16594572
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/spinners.md
@@ -0,0 +1,185 @@
+---
+layout: docs
+title: Spinners
+description: Indicate the loading state of a component or page with Bootstrap spinners, built entirely with HTML, CSS, and no JavaScript.
+group: components
+toc: true
+---
+
+## About
+
+Bootstrap "spinners" can be used to show the loading state in your projects. They're built only with HTML and CSS, meaning you don't need any JavaScript to create them. You will, however, need some custom JavaScript to toggle their visibility. Their appearance, alignment, and sizing can be easily customized with our amazing utility classes.
+
+For accessibility purposes, each loader here includes `role="status"` and a nested `<span class="sr-only">Loading...</span>`.
+
+## Border spinner
+
+Use the border spinners for a lightweight loading indicator.
+
+{% capture example %}
+<div class="spinner-border" role="status">
+ <span class="sr-only">Loading...</span>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+### Colors
+
+The border spinner uses `currentColor` for its `border-color`, meaning you can customize the color with [text color utilities][color]. You can use any of our text color utilities on the standard spinner.
+
+{% capture example %}
+{% for color in site.data.theme-colors %}
+<div class="spinner-border text-{{ color.name }}" role="status">
+ <span class="sr-only">Loading...</span>
+</div>{% endfor %}
+{% endcapture %}
+{% include example.html content=example %}
+
+{% capture callout %}
+**Why not use `border-color` utilities?** Each border spinner specifies a `transparent` border for at least one side, so `.border-{color}` utilities would override that.
+{% endcapture %}
+{% include callout.html content=callout type="info" %}
+
+## Growing spinner
+
+If you don't fancy a border spinner, switch to the grow spinner. While it doesn't technically spin, it does repeatedly grow!
+
+{% capture example %}
+<div class="spinner-grow" role="status">
+ <span class="sr-only">Loading...</span>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+Once again, this spinner is built with `currentColor`, so you can easily change its appearance with [text color utilities][color]. Here it is in blue, along with the supported variants.
+
+{% capture example %}
+{% for color in site.data.theme-colors %}
+<div class="spinner-grow text-{{ color.name }}" role="status">
+ <span class="sr-only">Loading...</span>
+</div>{% endfor %}
+{% endcapture %}
+{% include example.html content=example %}
+
+## Alignment
+
+Spinners in Bootstrap are built with `rem`s, `currentColor`, and `display: inline-flex`. This means they can easily be resized, recolored, and quickly aligned.
+
+### Margin
+
+Use [margin utilities][margin] like `.m-5` for easy spacing.
+
+{% capture example %}
+<div class="spinner-border m-5" role="status">
+ <span class="sr-only">Loading...</span>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+### Placement
+
+Use [flexbox utilities][flex], [float utilities][float], or [text alignment][text] utilities to place spinners exactly where you need them in any situation.
+
+#### Flex
+
+{% capture example %}
+<div class="d-flex justify-content-center">
+ <div class="spinner-border" role="status">
+ <span class="sr-only">Loading...</span>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+{% capture example %}
+<div class="d-flex align-items-center">
+ <strong>Loading...</strong>
+ <div class="spinner-border ml-auto" role="status" aria-hidden="true"></div>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+#### Floats
+
+{% capture example %}
+<div class="clearfix">
+ <div class="spinner-border float-right" role="status">
+ <span class="sr-only">Loading...</span>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+#### Text align
+
+{% capture example %}
+<div class="text-center">
+ <div class="spinner-border" role="status">
+ <span class="sr-only">Loading...</span>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+## Size
+
+Add `.spinner-border-sm` and `.spinner-grow-sm` to make a smaller spinner that can quickly be used within other components.
+
+{% capture example %}
+<div class="spinner-border spinner-border-sm" role="status">
+ <span class="sr-only">Loading...</span>
+</div>
+<div class="spinner-grow spinner-grow-sm" role="status">
+ <span class="sr-only">Loading...</span>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+Or, use custom CSS or inline styles to change the dimensions as needed.
+
+{% capture example %}
+<div class="spinner-border" style="width: 3rem; height: 3rem;" role="status">
+ <span class="sr-only">Loading...</span>
+</div>
+<div class="spinner-grow" style="width: 3rem; height: 3rem;" role="status">
+ <span class="sr-only">Loading...</span>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+## Buttons
+
+Use spinners within buttons to indicate an action is currently processing or taking place. You may also swap the text out of the spinner element and utilize button text as needed.
+
+{% capture example %}
+<button class="btn btn-primary" type="button" disabled>
+ <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
+ <span class="sr-only">Loading...</span>
+</button>
+<button class="btn btn-primary" type="button" disabled>
+ <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
+ Loading...
+</button>
+{% endcapture %}
+{% include example.html content=example %}
+
+{% capture example %}
+<button class="btn btn-primary" type="button" disabled>
+ <span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
+ <span class="sr-only">Loading...</span>
+</button>
+<button class="btn btn-primary" type="button" disabled>
+ <span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
+ Loading...
+</button>
+{% endcapture %}
+{% include example.html content=example %}
+
+
+[color]: {{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/colors/
+[display]: {{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/display/
+[flex]: {{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/flex/
+[float]: {{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/float/
+[margin]: {{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/spacing/
+[sizing]: {{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/sizing/
+[text]: {{ site.baseurl }}/docs/{{ site.docs_version }}/content/typography/
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/components/toasts.md b/vendor/twbs/bootstrap/site/docs/4.3/components/toasts.md
new file mode 100644
index 000000000..56c6848e9
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/toasts.md
@@ -0,0 +1,330 @@
+---
+layout: docs
+title: Toasts
+description: Push notifications to your visitors with a toast, a lightweight and easily customizable alert message.
+group: components
+toc: true
+---
+
+Toasts are lightweight notifications designed to mimic the push notifications that have been popularized by mobile and desktop operating systems. They're built with flexbox, so they're easy to align and position.
+
+## Overview
+
+Things to know when using the toast plugin:
+
+- If you're building our JavaScript from source, it [requires `util.js`]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/javascript/#util).
+- Toasts are opt-in for performance reasons, so **you must initialize them yourself**.
+- **Please note that you are responsible for positioning toasts.**
+- Toasts will automatically hide if you do not specify `autohide: false`.
+
+## Examples
+
+### Basic
+
+To encourage extensible and predictable toasts, we recommend a header and body. Toast headers use `display: flex`, allowing easy alignment of content thanks to our margin and flexbox utilities.
+
+Toasts are as flexible as you need and have very little required markup. At a minimum, we require a single element to contain your "toasted" content and strongly encourage a dismiss button.
+
+{% capture example %}
+<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
+ <div class="toast-header">
+ {% include icons/placeholder.svg width="20" height="20" background="#007aff" class="rounded mr-2" text=" " title=" " %}
+ <strong class="mr-auto">Bootstrap</strong>
+ <small>11 mins ago</small>
+ <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="toast-body">
+ Hello, world! This is a toast message.
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example class="bg-light" %}
+
+### Translucent
+
+Toasts are slightly translucent, too, so they blend over whatever they might appear over. For browsers that support the `backdrop-filter` CSS property, we'll also attempt to blur the elements under a toast.
+
+{% capture example %}
+<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
+ <div class="toast-header">
+ {% include icons/placeholder.svg width="20" height="20" background="#007aff" class="rounded mr-2" text=" " title=" " %}
+ <strong class="mr-auto">Bootstrap</strong>
+ <small class="text-muted">11 mins ago</small>
+ <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="toast-body">
+ Hello, world! This is a toast message.
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example class="bg-dark" %}
+
+### Stacking
+
+When you have multiple toasts, we default to vertically stacking them in a readable manner.
+
+{% capture example %}
+<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
+ <div class="toast-header">
+ {% include icons/placeholder.svg width="20" height="20" background="#007aff" class="rounded mr-2" text=" " title=" " %}
+ <strong class="mr-auto">Bootstrap</strong>
+ <small class="text-muted">just now</small>
+ <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="toast-body">
+ See? Just like this.
+ </div>
+</div>
+
+<div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
+ <div class="toast-header">
+ {% include icons/placeholder.svg width="20" height="20" background="#007aff" class="rounded mr-2" text=" " title=" " %}
+ <strong class="mr-auto">Bootstrap</strong>
+ <small class="text-muted">2 seconds ago</small>
+ <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="toast-body">
+ Heads up, toasts will stack automatically
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example class="bg-light" %}
+
+## Placement
+
+Place toasts with custom CSS as you need them. The top right is often used for notifications, as is the top middle. If you're only ever going to show one toast at a time, put the positioning styles right on the `.toast`.
+
+{% capture example %}
+<div aria-live="polite" aria-atomic="true" style="position: relative; min-height: 200px;">
+ <div class="toast" style="position: absolute; top: 0; right: 0;">
+ <div class="toast-header">
+ {% include icons/placeholder.svg width="20" height="20" background="#007aff" class="rounded mr-2" text=" " title=" " %}
+ <strong class="mr-auto">Bootstrap</strong>
+ <small>11 mins ago</small>
+ <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="toast-body">
+ Hello, world! This is a toast message.
+ </div>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example class="bg-dark" %}
+
+For systems that generate more notifications, consider using a wrapping element so they can easily stack.
+
+{% capture example %}
+<div aria-live="polite" aria-atomic="true" style="position: relative; min-height: 200px;">
+ <!-- Position it -->
+ <div style="position: absolute; top: 0; right: 0;">
+
+ <!-- Then put toasts within -->
+ <div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
+ <div class="toast-header">
+ {% include icons/placeholder.svg width="20" height="20" background="#007aff" class="rounded mr-2" text=" " title=" " %}
+ <strong class="mr-auto">Bootstrap</strong>
+ <small class="text-muted">just now</small>
+ <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="toast-body">
+ See? Just like this.
+ </div>
+ </div>
+
+ <div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
+ <div class="toast-header">
+ {% include icons/placeholder.svg width="20" height="20" background="#007aff" class="rounded mr-2" text=" " title=" " %}
+ <strong class="mr-auto">Bootstrap</strong>
+ <small class="text-muted">2 seconds ago</small>
+ <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="toast-body">
+ Heads up, toasts will stack automatically
+ </div>
+ </div>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example class="bg-dark" %}
+
+You can also get fancy with flexbox utilities to align toasts horizontally and/or vertically.
+
+{% capture example %}
+<!-- Flexbox container for aligning the toasts -->
+<div aria-live="polite" aria-atomic="true" class="d-flex justify-content-center align-items-center" style="min-height: 200px;">
+
+ <!-- Then put toasts within -->
+ <div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
+ <div class="toast-header">
+ {% include icons/placeholder.svg width="20" height="20" background="#007aff" class="rounded mr-2" text=" " title=" " %}
+ <strong class="mr-auto">Bootstrap</strong>
+ <small>11 mins ago</small>
+ <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="toast-body">
+ Hello, world! This is a toast message.
+ </div>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example class="bg-dark" %}
+
+## Accessibility
+
+Toasts are intended to be small interruptions to your visitors or users, so to help those with screen readers and similar assistive technologies, you should wrap your toasts in an [`aria-live` region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions). Changes to live regions (such as injecting/updating a toast component) are automatically announced by screen readers without needing to move the user's focus or otherwise interrupt the user. Additionally, include `aria-atomic="true"` to ensure that the entire toast is always announced as a single (atomic) unit, rather than announcing what was changed (which could lead to problems if you only update part of the toast's content, or if displaying the same toast content at a later point in time). If the information needed is important for the process, e.g. for a list of errors in a form, then use the [alert component]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/alerts/) instead of toast.
+
+Note that the live region needs to be present in the markup *before* the toast is generated or updated. If you dynamically generate both at the same time and inject them into the page, they will generally not be announced by assistive technologies.
+
+You also need to adapt the `role` and `aria-live` level depending on the content. If it's an important message like an error, use `role="alert" aria-live="assertive"`, otherwise use `role="status" aria-live="polite"` attributes.
+
+As the content you're displaying changes, be sure to update the [`delay` timeout](#options) to ensure people have enough time to read the toast.
+
+{% highlight html %}
+<div class="toast" role="alert" aria-live="polite" aria-atomic="true" data-delay="10000">
+ <div role="alert" aria-live="assertive" aria-atomic="true">...</div>
+</div>
+{% endhighlight %}
+
+When using `autohide: false`, you must add a close button to allow users to dismiss the toast.
+
+{% capture example %}
+<div role="alert" aria-live="assertive" aria-atomic="true" class="toast" data-autohide="false">
+ <div class="toast-header">
+ {% include icons/placeholder.svg width="20" height="20" background="#007aff" class="rounded mr-2" text=" " title=" " %}
+ <strong class="mr-auto">Bootstrap</strong>
+ <small>11 mins ago</small>
+ <button type="button" class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="toast-body">
+ Hello, world! This is a toast message.
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example class="bg-light" %}
+
+## JavaScript behavior
+
+### Usage
+
+Initialize toasts via JavaScript:
+
+{% highlight js %}
+$('.toast').toast(option)
+{% endhighlight %}
+
+### Options
+
+Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-animation=""`.
+
+<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 toast</td>
+ </tr>
+ <tr>
+ <td>autohide</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Auto hide the toast</td>
+ </tr>
+ <tr>
+ <td>delay</td>
+ <td>number</td>
+ <td>
+ <code>500</code>
+ </td>
+ <td>Delay hiding the toast (ms)</td>
+ </tr>
+ </tbody>
+</table>
+
+### Methods
+
+{% include callout-danger-async-methods.md %}
+
+#### `$().toast(options)`
+
+Attaches a toast handler to an element collection.
+
+#### `.toast('show')`
+
+Reveals an element's toast. **Returns to the caller before the toast has actually been shown** (i.e. before the `shown.bs.toast` event occurs).
+You have to manually call this method, instead your toast won't show.
+
+{% highlight js %}$('#element').toast('show'){% endhighlight %}
+
+#### `.toast('hide')`
+
+Hides an element's toast. **Returns to the caller before the toast has actually been hidden** (i.e. before the `hidden.bs.toast` event occurs). You have to manually call this method if you made `autohide` to `false`.
+
+{% highlight js %}$('#element').toast('hide'){% endhighlight %}
+
+#### `.toast('dispose')`
+
+Hides an element's toast. Your toast will remain on the DOM but won't show anymore.
+
+{% highlight js %}$('#element').toast('dispose'){% endhighlight %}
+
+### Events
+
+<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.toast</td>
+ <td>This event fires immediately when the <code>show</code> instance method is called.</td>
+ </tr>
+ <tr>
+ <td>shown.bs.toast</td>
+ <td>This event is fired when the toast has been made visible to the user.</td>
+ </tr>
+ <tr>
+ <td>hide.bs.toast</td>
+ <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
+ </tr>
+ <tr>
+ <td>hidden.bs.toast</td>
+ <td>This event is fired when the toast has finished being hidden from the user.</td>
+ </tr>
+ </tbody>
+</table>
+
+{% highlight js %}
+$('#myToast').on('hidden.bs.toast', function () {
+ // do something...
+})
+{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/components/tooltips.md b/vendor/twbs/bootstrap/site/docs/4.3/components/tooltips.md
index 05e63f3cf..2fe90a671 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/components/tooltips.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/components/tooltips.md
@@ -19,6 +19,9 @@ Things to know when using the tooltip plugin:
- 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.
+- Tooltips can be triggered thanks to an element inside a shadow DOM.
+
+{% include callout-info-prefersreducedmotion.md %}
Got all that? Great, let's see how they work with some examples.
@@ -140,6 +143,11 @@ Elements with the `disabled` attribute aren't interactive, meaning users cannot
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-animation=""`.
+{% capture callout %}
+Note that for security reasons the `sanitize`, `sanitizeFn` and `whiteList` options cannot be supplied using data attributes.
+{% endcapture %}
+{% include callout.html content=callout type="warning" %}
+
<table class="table table-bordered table-striped">
<thead>
<tr>
@@ -197,7 +205,7 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>selector</td>
<td>string | false</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>
+ <td>If a selector is provided, tooltip objects will be delegated to the specified targets. In practice, this is used to also apply tooltips to dynamically added DOM elements (<code>jQuery.on</code> support). See <a href="{{ site.repo }}/issues/4215">this</a> and <a href="https://codepen.io/Johann-S/pen/djJYPb">an informative example</a>.</td>
</tr>
<tr>
<td>template</td>
@@ -231,9 +239,13 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
</tr>
<tr>
<td>offset</td>
- <td>number | string</td>
+ <td>number | string | function</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>
+ <td>
+ <p>Offset of the tooltip relative to its target.</p>
+ <p>When a function is used to determine the offset, it is called with an object containing the offset data as its first argument. The function must return an object with the same structure. The triggering element DOM node is passed as the second argument.</p>
+ <p>For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..offset.offset">offset docs</a>.</p>
+ </td>
</tr>
<tr>
<td>fallbackPlacement</td>
@@ -248,6 +260,24 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>'scrollParent'</td>
<td>Overflow constraint boundary of the tooltip. Accepts the values of <code>'viewport'</code>, <code>'window'</code>, <code>'scrollParent'</code>, or an HTMLElement reference (JavaScript only). For more information refer to Popper.js's <a href="https://popper.js.org/popper-documentation.html#modifiers..preventOverflow.boundariesElement">preventOverflow docs</a>.</td>
</tr>
+ <tr>
+ <td>sanitize</td>
+ <td>boolean</td>
+ <td>true</td>
+ <td>Enable or disable the sanitization. If activated <code>'template'</code> and <code>'title'</code> options will be sanitized.</td>
+ </tr>
+ <tr>
+ <td>whiteList</td>
+ <td>object</td>
+ <td><a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/javascript/#sanitizer">Default value</a></td>
+ <td>Object which contains allowed attributes and tags</td>
+ </tr>
+ <tr>
+ <td>sanitizeFn</td>
+ <td>null | function</td>
+ <td>null</td>
+ <td>Here you can supply your own sanitize function. This can be useful if you prefer to use a dedicated library to perform sanitization.</td>
+ </tr>
</tbody>
</table>
@@ -349,6 +379,6 @@ Updates the position of an element's tooltip.
{% highlight js %}
$('#myTooltip').on('hidden.bs.tooltip', function () {
- // do something…
+ // do something...
})
{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/content/code.md b/vendor/twbs/bootstrap/site/docs/4.3/content/code.md
index d1ce12ccd..d1ce12ccd 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/content/code.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/content/code.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/content/figures.md b/vendor/twbs/bootstrap/site/docs/4.3/content/figures.md
index 7041997ba..a647fc1d0 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/content/figures.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/content/figures.md
@@ -11,7 +11,7 @@ Use the included `.figure` , `.figure-img` and `.figure-caption` classes to prov
{% capture example %}
<figure class="figure">
- <img data-src="holder.js/400x300" class="figure-img img-fluid rounded" alt="A generic square placeholder image with rounded corners in a figure.">
+ {% include icons/placeholder.svg width="400" height="300" class="figure-img img-fluid rounded" %}
<figcaption class="figure-caption">A caption for the above image.</figcaption>
</figure>
{% endcapture %}
@@ -21,7 +21,7 @@ Aligning the figure's caption is easy with our [text utilities]({{ site.baseurl
{% capture example %}
<figure class="figure">
- <img data-src="holder.js/400x300" class="figure-img img-fluid rounded" alt="A generic square placeholder image with rounded corners in a figure.">
+ {% include icons/placeholder.svg width="400" height="300" class="figure-img img-fluid rounded" %}
<figcaption class="figure-caption text-right">A caption for the above image.</figcaption>
</figure>
{% endcapture %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/content/images.md b/vendor/twbs/bootstrap/site/docs/4.3/content/images.md
index 49576da9d..3ff822bed 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/content/images.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/content/images.md
@@ -11,7 +11,7 @@ toc: true
Images in Bootstrap are made responsive with `.img-fluid`. `max-width: 100%;` and `height: auto;` are applied to the image so that it scales with the parent element.
<div class="bd-example">
- <img data-src="holder.js/100px250" class="img-fluid" alt="Generic responsive image">
+ {% include icons/placeholder.svg width="100%" height="250" class="bd-placeholder-img-lg img-fluid" text="Responsive image" %}
</div>
{% highlight html %}
@@ -30,7 +30,7 @@ In Internet Explorer 10, SVG images with `.img-fluid` are disproportionately siz
In addition to our [border-radius utilities]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/borders/), you can use `.img-thumbnail` to give an image a rounded 1px border appearance.
<div class="bd-example bd-example-images">
- <img data-src="holder.js/200x200" class="img-thumbnail" alt="A generic square placeholder image with a white border around it, making it resemble a photograph taken with an old instant camera">
+ {% include icons/placeholder.svg width="200" height="200" class="img-thumbnail" title="A generic square placeholder image with a white border around it, making it resemble a photograph taken with an old instant camera" %}
</div>
{% highlight html %}
@@ -39,11 +39,11 @@ In addition to our [border-radius utilities]({{ site.baseurl }}/docs/{{ site.doc
## Aligning images
-Align images with the [helper float classes]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/float) or [text alignment classes]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/text/#text-alignment). `block`-level images can be centered using [the `.mx-auto` margin utility class]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/spacing/#horizontal-centering).
+Align images with the [helper float classes]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/float/) or [text alignment classes]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/text/#text-alignment). `block`-level images can be centered using [the `.mx-auto` margin utility class]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/spacing/#horizontal-centering).
<div class="bd-example bd-example-images">
- <img data-src="holder.js/200x200" class="rounded float-left" alt="A generic square placeholder image with rounded corners">
- <img data-src="holder.js/200x200" class="rounded float-right" alt="A generic square placeholder image with rounded corners">
+ {% include icons/placeholder.svg width="200" height="200" class="rounded float-left" %}
+ {% include icons/placeholder.svg width="200" height="200" class="rounded float-right" %}
</div>
{% highlight html %}
@@ -52,7 +52,7 @@ Align images with the [helper float classes]({{ site.baseurl }}/docs/{{ site.doc
{% endhighlight %}
<div class="bd-example bd-example-images">
- <img data-src="holder.js/200x200" class="rounded mx-auto d-block" alt="A generic square placeholder image with rounded corners">
+ {% include icons/placeholder.svg width="200" height="200" class="rounded mx-auto d-block" %}
</div>
{% highlight html %}
@@ -61,7 +61,7 @@ Align images with the [helper float classes]({{ site.baseurl }}/docs/{{ site.doc
<div class="bd-example bd-example-images">
<div class="text-center">
- <img data-src="holder.js/200x200" class="rounded" alt="A generic square placeholder image with rounded corners">
+ {% include icons/placeholder.svg width="200" height="200" class="rounded" %}
</div>
</div>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/content/reboot.md b/vendor/twbs/bootstrap/site/docs/4.3/content/reboot.md
index 0b9375d0a..bd8070f63 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/content/reboot.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/content/reboot.md
@@ -3,7 +3,7 @@ layout: docs
title: Reboot
description: Reboot, a collection of element-specific CSS changes in a single file, kickstart Bootstrap to provide an elegant, consistent, and simple baseline to build upon.
group: content
-redirect_from: "/docs/4.1/content/"
+redirect_from: "/docs/4.3/content/"
toc: true
---
@@ -33,9 +33,9 @@ The default web fonts (Helvetica Neue, Helvetica, and Arial) have been dropped i
{% highlight sass %}
$font-family-sans-serif:
- // Safari for OS X and iOS (San Francisco)
+ // Safari for macOS and iOS (San Francisco)
-apple-system,
- // Chrome < 56 for OS X (San Francisco)
+ // Chrome < 56 for macOS (San Francisco)
BlinkMacSystemFont,
// Windows
"Segoe UI",
@@ -206,6 +206,7 @@ Various form elements have been rebooted for simpler base styles. Here are some
- `<label>`s are set to `display: inline-block` to allow `margin` to be applied.
- `<input>`s, `<select>`s, `<textarea>`s, and `<button>`s are mostly addressed by Normalize, but Reboot removes their `margin` and sets `line-height: inherit`, too.
- `<textarea>`s are modified to only be resizable vertically as horizontal resizing often "breaks" page layout.
+- `<button>`s and `<input>` button elements have `cursor: pointer` when `:not(:disabled)`.
These changes, and more, are demonstrated below.
@@ -280,12 +281,14 @@ These changes, and more, are demonstrated below.
<p>
<button type="submit">Button submit</button>
<input type="submit" value="Input submit button">
+ <input type="reset" value="Input reset button">
<input type="button" value="Input button">
</p>
<p>
<button type="submit" disabled>Button submit</button>
<input type="submit" value="Input submit button" disabled>
+ <input type="reset" value="Input reset button" disabled>
<input type="button" value="Input button" disabled>
</p>
</fieldset>
@@ -307,7 +310,7 @@ The `<address>` element is updated to reset the browser default `font-style` fro
<address>
<strong>Full Name</strong><br>
- <a href="mailto:#">first.last@example.com</a>
+ <a href="mailto:first.last@example.com">first.last@example.com</a>
</address>
</div>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/content/tables.md b/vendor/twbs/bootstrap/site/docs/4.3/content/tables.md
index 8799d47f2..8799d47f2 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/content/tables.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/content/tables.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/content/typography.md b/vendor/twbs/bootstrap/site/docs/4.3/content/typography.md
index 795f807b6..19a783d8e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/content/typography.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/content/typography.md
@@ -94,23 +94,17 @@ All HTML headings, `<h1>` through `<h6>`, are available.
Use the included utility classes to recreate the small secondary heading text from Bootstrap 3.
-<div class="bd-example">
- <span class="h3">
- Fancy display heading
- <small class="text-muted">With faded secondary text</small>
- </span>
-</div>
-
-{% highlight html %}
+{% capture example %}
<h3>
Fancy display heading
<small class="text-muted">With faded secondary text</small>
</h3>
-{% endhighlight %}
+{% endcapture %}
+{% include example.html content=example %}
## Display headings
-Traditional heading elements are designed to work best in the meat of your page content. When you need a heading to stand out, consider using a **display heading**—a larger, slightly more opinionated heading style.
+Traditional heading elements are designed to work best in the meat of your page content. When you need a heading to stand out, consider using a **display heading**—a larger, slightly more opinionated heading style. Keep in mind these headings are not responsive by default, but it's possible to enable [responsive font sizes](#responsive-font-sizes).
<div class="bd-example bd-example-type">
<table class="table">
@@ -300,32 +294,8 @@ Align terms and descriptions horizontally by using our grid system's predefined
{% endcapture %}
{% include example.html content=example %}
-## Responsive typography
-
-*Responsive typography* refers to scaling text and components by simply adjusting the root element's `font-size` within a series of media queries. Bootstrap doesn't do this for you, but it's fairly easy to add if you need it.
-
-Here's an example of it in practice. Choose whatever `font-size`s and media queries you wish.
+## Responsive font sizes
-{% highlight scss %}
-html {
- font-size: 1rem;
-}
+Bootstrap v4.3 ships with the option to enable responsive font sizes, allowing text to scale more naturally across device and viewport sizes. <abbr title="Responsive font sizes">RFS</abbr> can be enabled by changing the `$enable-responsive-font-sizes` Sass variable to `true` and recompiling Bootstrap.
-@include media-breakpoint-up(sm) {
- html {
- font-size: 1.2rem;
- }
-}
-
-@include media-breakpoint-up(md) {
- html {
- font-size: 1.4rem;
- }
-}
-
-@include media-breakpoint-up(lg) {
- html {
- font-size: 1.6rem;
- }
-}
-{% endhighlight %}
+To support <abbr title="Responsive font sizes">RFS</abbr>, we use a Sass mixin to replace our normal `font-size` properties. Responsive font sizes will be compiled into `calc()` functions with a mix of `rem` and viewport units to enable the responsive scaling behavior. More about <abbr title="Responsive font sizes">RFS</abbr> and its configuration can be found on its [GitHub repository](https://github.com/twbs/rfs).
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/.stylelintrc b/vendor/twbs/bootstrap/site/docs/4.3/examples/.stylelintrc
index 6a77dcedb..dc76dedbd 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/.stylelintrc
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/.stylelintrc
@@ -1,9 +1,12 @@
{
- "extends": "../../../.stylelintrc",
+ "extends": [
+ "stylelint-config-twbs-bootstrap/css"
+ ],
"rules": {
"at-rule-no-vendor-prefix": null,
"comment-empty-line-before": null,
"media-feature-name-no-vendor-prefix": null,
+ "property-blacklist": null,
"property-no-vendor-prefix": null,
"selector-no-qualifying-type": null,
"selector-no-vendor-prefix": null,
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/album/album.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/album/album.css
index f9d1518d3..bfc270d52 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/album/album.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/album/album.css
@@ -1,17 +1,13 @@
-:root {
- --jumbotron-padding-y: 3rem;
-}
-
.jumbotron {
- padding-top: var(--jumbotron-padding-y);
- padding-bottom: var(--jumbotron-padding-y);
+ padding-top: 3rem;
+ padding-bottom: 3rem;
margin-bottom: 0;
background-color: #fff;
}
@media (min-width: 768px) {
.jumbotron {
- padding-top: calc(var(--jumbotron-padding-y) * 2);
- padding-bottom: calc(var(--jumbotron-padding-y) * 2);
+ padding-top: 6rem;
+ padding-bottom: 6rem;
}
}
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/album/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/album/index.html
new file mode 100644
index 000000000..5d5c3f46e
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/album/index.html
@@ -0,0 +1,207 @@
+---
+layout: examples
+title: Album example
+extra_css: "album.css"
+---
+
+<header>
+ <div class="collapse bg-dark" id="navbarHeader">
+ <div class="container">
+ <div class="row">
+ <div class="col-sm-8 col-md-7 py-4">
+ <h4 class="text-white">About</h4>
+ <p class="text-muted">Add some information about the album below, the author, or any other background context. Make it a few sentences long so folks can pick up some informative tidbits. Then, link them off to some social networking sites or contact information.</p>
+ </div>
+ <div class="col-sm-4 offset-md-1 py-4">
+ <h4 class="text-white">Contact</h4>
+ <ul class="list-unstyled">
+ <li><a href="#" class="text-white">Follow on Twitter</a></li>
+ <li><a href="#" class="text-white">Like on Facebook</a></li>
+ <li><a href="#" class="text-white">Email me</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="navbar navbar-dark bg-dark shadow-sm">
+ <div class="container d-flex justify-content-between">
+ <a href="#" class="navbar-brand d-flex align-items-center">
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" aria-hidden="true" class="mr-2" viewBox="0 0 24 24" focusable="false"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg>
+ <strong>Album</strong>
+ </a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarHeader" aria-controls="navbarHeader" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ </div>
+ </div>
+</header>
+
+<main role="main">
+
+ <section class="jumbotron text-center">
+ <div class="container">
+ <h1 class="jumbotron-heading">Album example</h1>
+ <p class="lead text-muted">Something short and leading about the collection below—its contents, the creator, etc. Make it short and sweet, but not too short so folks don’t simply skip over it entirely.</p>
+ <p>
+ <a href="#" class="btn btn-primary my-2">Main call to action</a>
+ <a href="#" class="btn btn-secondary my-2">Secondary action</a>
+ </p>
+ </div>
+ </section>
+
+ <div class="album py-5 bg-light">
+ <div class="container">
+
+ <div class="row">
+ <div class="col-md-4">
+ <div class="card mb-4 shadow-sm">
+ {% include icons/placeholder.svg width="100%" height="225" background="#55595c" color="#eceeef" class="card-img-top" text="Thumbnail" %}
+ <div class="card-body">
+ <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>
+ <div class="d-flex justify-content-between align-items-center">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
+ <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
+ </div>
+ <small class="text-muted">9 mins</small>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="card mb-4 shadow-sm">
+ {% include icons/placeholder.svg width="100%" height="225" background="#55595c" color="#eceeef" class="card-img-top" text="Thumbnail" %}
+ <div class="card-body">
+ <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>
+ <div class="d-flex justify-content-between align-items-center">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
+ <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
+ </div>
+ <small class="text-muted">9 mins</small>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="card mb-4 shadow-sm">
+ {% include icons/placeholder.svg width="100%" height="225" background="#55595c" color="#eceeef" class="card-img-top" text="Thumbnail" %}
+ <div class="card-body">
+ <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>
+ <div class="d-flex justify-content-between align-items-center">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
+ <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
+ </div>
+ <small class="text-muted">9 mins</small>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="col-md-4">
+ <div class="card mb-4 shadow-sm">
+ {% include icons/placeholder.svg width="100%" height="225" background="#55595c" color="#eceeef" class="card-img-top" text="Thumbnail" %}
+ <div class="card-body">
+ <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>
+ <div class="d-flex justify-content-between align-items-center">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
+ <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
+ </div>
+ <small class="text-muted">9 mins</small>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="card mb-4 shadow-sm">
+ {% include icons/placeholder.svg width="100%" height="225" background="#55595c" color="#eceeef" class="card-img-top" text="Thumbnail" %}
+ <div class="card-body">
+ <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>
+ <div class="d-flex justify-content-between align-items-center">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
+ <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
+ </div>
+ <small class="text-muted">9 mins</small>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="card mb-4 shadow-sm">
+ {% include icons/placeholder.svg width="100%" height="225" background="#55595c" color="#eceeef" class="card-img-top" text="Thumbnail" %}
+ <div class="card-body">
+ <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>
+ <div class="d-flex justify-content-between align-items-center">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
+ <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
+ </div>
+ <small class="text-muted">9 mins</small>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="col-md-4">
+ <div class="card mb-4 shadow-sm">
+ {% include icons/placeholder.svg width="100%" height="225" background="#55595c" color="#eceeef" class="card-img-top" text="Thumbnail" %}
+ <div class="card-body">
+ <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>
+ <div class="d-flex justify-content-between align-items-center">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
+ <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
+ </div>
+ <small class="text-muted">9 mins</small>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="card mb-4 shadow-sm">
+ {% include icons/placeholder.svg width="100%" height="225" background="#55595c" color="#eceeef" class="card-img-top" text="Thumbnail" %}
+ <div class="card-body">
+ <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>
+ <div class="d-flex justify-content-between align-items-center">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
+ <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
+ </div>
+ <small class="text-muted">9 mins</small>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <div class="card mb-4 shadow-sm">
+ {% include icons/placeholder.svg width="100%" height="225" background="#55595c" color="#eceeef" class="card-img-top" text="Thumbnail" %}
+ <div class="card-body">
+ <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>
+ <div class="d-flex justify-content-between align-items-center">
+ <div class="btn-group">
+ <button type="button" class="btn btn-sm btn-outline-secondary">View</button>
+ <button type="button" class="btn btn-sm btn-outline-secondary">Edit</button>
+ </div>
+ <small class="text-muted">9 mins</small>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+</main>
+
+<footer class="text-muted">
+ <div class="container">
+ <p class="float-right">
+ <a href="#">Back to top</a>
+ </p>
+ <p>Album example is &copy; Bootstrap, but please download and customize it for yourself!</p>
+ <p>New to Bootstrap? <a href="{{ site.url }}/">Visit the homepage</a> or read our <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/introduction/">getting started guide</a>.</p>
+ </div>
+</footer>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/blog/blog.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/blog/blog.css
index b60d0d2e9..b60d0d2e9 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/blog/blog.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/blog/blog.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/blog/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/blog/index.html
new file mode 100644
index 000000000..1276f3781
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/blog/index.html
@@ -0,0 +1,201 @@
+---
+layout: examples
+title: Blog Template
+extra_css:
+ - "https://fonts.googleapis.com/css?family=Playfair+Display:700,900"
+ - "blog.css"
+include_js: false
+---
+
+<div class="container">
+ <header class="blog-header py-3">
+ <div class="row flex-nowrap justify-content-between align-items-center">
+ <div class="col-4 pt-1">
+ <a class="text-muted" href="#">Subscribe</a>
+ </div>
+ <div class="col-4 text-center">
+ <a class="blog-header-logo text-dark" href="#">Large</a>
+ </div>
+ <div class="col-4 d-flex justify-content-end align-items-center">
+ <a class="text-muted" href="#">
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="mx-3" role="img" viewBox="0 0 24 24" focusable="false"><title>Search</title><circle cx="10.5" cy="10.5" r="7.5"/><path d="M21 21l-5.2-5.2"/></svg>
+ </a>
+ <a class="btn btn-sm btn-outline-secondary" href="#">Sign up</a>
+ </div>
+ </div>
+ </header>
+
+ <div class="nav-scroller py-1 mb-2">
+ <nav class="nav d-flex justify-content-between">
+ <a class="p-2 text-muted" href="#">World</a>
+ <a class="p-2 text-muted" href="#">U.S.</a>
+ <a class="p-2 text-muted" href="#">Technology</a>
+ <a class="p-2 text-muted" href="#">Design</a>
+ <a class="p-2 text-muted" href="#">Culture</a>
+ <a class="p-2 text-muted" href="#">Business</a>
+ <a class="p-2 text-muted" href="#">Politics</a>
+ <a class="p-2 text-muted" href="#">Opinion</a>
+ <a class="p-2 text-muted" href="#">Science</a>
+ <a class="p-2 text-muted" href="#">Health</a>
+ <a class="p-2 text-muted" href="#">Style</a>
+ <a class="p-2 text-muted" href="#">Travel</a>
+ </nav>
+ </div>
+
+ <div class="jumbotron p-4 p-md-5 text-white rounded bg-dark">
+ <div class="col-md-6 px-0">
+ <h1 class="display-4 font-italic">Title of a longer featured blog post</h1>
+ <p class="lead my-3">Multiple lines of text that form the lede, informing new readers quickly and efficiently about what’s most interesting in this post’s contents.</p>
+ <p class="lead mb-0"><a href="#" class="text-white font-weight-bold">Continue reading...</a></p>
+ </div>
+ </div>
+
+ <div class="row mb-2">
+ <div class="col-md-6">
+ <div class="row no-gutters border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-250 position-relative">
+ <div class="col p-4 d-flex flex-column position-static">
+ <strong class="d-inline-block mb-2 text-primary">World</strong>
+ <h3 class="mb-0">Featured post</h3>
+ <div class="mb-1 text-muted">Nov 12</div>
+ <p class="card-text mb-auto">This is a wider card with supporting text below as a natural lead-in to additional content.</p>
+ <a href="#" class="stretched-link">Continue reading</a>
+ </div>
+ <div class="col-auto d-none d-lg-block">
+ {% include icons/placeholder.svg width="200" height="250" background="#55595c" color="#eceeef" text="Thumbnail" %}
+ </div>
+ </div>
+ </div>
+ <div class="col-md-6">
+ <div class="row no-gutters border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-250 position-relative">
+ <div class="col p-4 d-flex flex-column position-static">
+ <strong class="d-inline-block mb-2 text-success">Design</strong>
+ <h3 class="mb-0">Post title</h3>
+ <div class="mb-1 text-muted">Nov 11</div>
+ <p class="mb-auto">This is a wider card with supporting text below as a natural lead-in to additional content.</p>
+ <a href="#" class="stretched-link">Continue reading</a>
+ </div>
+ <div class="col-auto d-none d-lg-block">
+ {% include icons/placeholder.svg width="200" height="250" background="#55595c" color="#eceeef" text="Thumbnail" %}
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+
+<main role="main" class="container">
+ <div class="row">
+ <div class="col-md-8 blog-main">
+ <h3 class="pb-4 mb-4 font-italic border-bottom">
+ From the Firehose
+ </h3>
+
+ <div class="blog-post">
+ <h2 class="blog-post-title">Sample blog post</h2>
+ <p class="blog-post-meta">January 1, 2014 by <a href="#">Mark</a></p>
+
+ <p>This blog post shows a few different types of content that’s supported and styled with Bootstrap. Basic typography, images, and code are all supported.</p>
+ <hr>
+ <p>Cum sociis natoque penatibus et magnis <a href="#">dis parturient montes</a>, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.</p>
+ <blockquote>
+ <p>Curabitur blandit tempus porttitor. <strong>Nullam quis risus eget urna mollis</strong> ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+ </blockquote>
+ <p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
+ <h2>Heading</h2>
+ <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+ <h3>Sub-heading</h3>
+ <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
+ <pre><code>Example code block</code></pre>
+ <p>Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.</p>
+ <h3>Sub-heading</h3>
+ <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
+ <ul>
+ <li>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</li>
+ <li>Donec id elit non mi porta gravida at eget metus.</li>
+ <li>Nulla vitae elit libero, a pharetra augue.</li>
+ </ul>
+ <p>Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.</p>
+ <ol>
+ <li>Vestibulum id ligula porta felis euismod semper.</li>
+ <li>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</li>
+ <li>Maecenas sed diam eget risus varius blandit sit amet non magna.</li>
+ </ol>
+ <p>Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis.</p>
+ </div><!-- /.blog-post -->
+
+ <div class="blog-post">
+ <h2 class="blog-post-title">Another blog post</h2>
+ <p class="blog-post-meta">December 23, 2013 by <a href="#">Jacob</a></p>
+
+ <p>Cum sociis natoque penatibus et magnis <a href="#">dis parturient montes</a>, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Sed posuere consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.</p>
+ <blockquote>
+ <p>Curabitur blandit tempus porttitor. <strong>Nullam quis risus eget urna mollis</strong> ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+ </blockquote>
+ <p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
+ <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+ </div><!-- /.blog-post -->
+
+ <div class="blog-post">
+ <h2 class="blog-post-title">New feature</h2>
+ <p class="blog-post-meta">December 14, 2013 by <a href="#">Chris</a></p>
+
+ <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean lacinia bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
+ <ul>
+ <li>Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</li>
+ <li>Donec id elit non mi porta gravida at eget metus.</li>
+ <li>Nulla vitae elit libero, a pharetra augue.</li>
+ </ul>
+ <p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
+ <p>Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue.</p>
+ </div><!-- /.blog-post -->
+
+ <nav class="blog-pagination">
+ <a class="btn btn-outline-primary" href="#">Older</a>
+ <a class="btn btn-outline-secondary disabled" href="#" tabindex="-1" aria-disabled="true">Newer</a>
+ </nav>
+
+ </div><!-- /.blog-main -->
+
+ <aside class="col-md-4 blog-sidebar">
+ <div class="p-4 mb-3 bg-light rounded">
+ <h4 class="font-italic">About</h4>
+ <p class="mb-0">Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p>
+ </div>
+
+ <div class="p-4">
+ <h4 class="font-italic">Archives</h4>
+ <ol class="list-unstyled mb-0">
+ <li><a href="#">March 2014</a></li>
+ <li><a href="#">February 2014</a></li>
+ <li><a href="#">January 2014</a></li>
+ <li><a href="#">December 2013</a></li>
+ <li><a href="#">November 2013</a></li>
+ <li><a href="#">October 2013</a></li>
+ <li><a href="#">September 2013</a></li>
+ <li><a href="#">August 2013</a></li>
+ <li><a href="#">July 2013</a></li>
+ <li><a href="#">June 2013</a></li>
+ <li><a href="#">May 2013</a></li>
+ <li><a href="#">April 2013</a></li>
+ </ol>
+ </div>
+
+ <div class="p-4">
+ <h4 class="font-italic">Elsewhere</h4>
+ <ol class="list-unstyled">
+ <li><a href="#">GitHub</a></li>
+ <li><a href="#">Twitter</a></li>
+ <li><a href="#">Facebook</a></li>
+ </ol>
+ </div>
+ </aside><!-- /.blog-sidebar -->
+
+ </div><!-- /.row -->
+
+</main><!-- /.container -->
+
+<footer class="blog-footer">
+ <p>Blog template built for <a href="https://getbootstrap.com/">Bootstrap</a> by <a href="https://twitter.com/mdo">@mdo</a>.</p>
+ <p>
+ <a href="#">Back to top</a>
+ </p>
+</footer>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/carousel/carousel.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/carousel/carousel.css
index f9b5a7e49..20300e90c 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/carousel/carousel.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/carousel/carousel.css
@@ -25,7 +25,6 @@ body {
/* Declare heights because of positioning of img element */
.carousel-item {
height: 32rem;
- background-color: #777;
}
.carousel-item > img {
position: absolute;
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/carousel/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/carousel/index.html
new file mode 100644
index 000000000..7c5fb6677
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/carousel/index.html
@@ -0,0 +1,163 @@
+---
+layout: examples
+title: Carousel Template
+extra_css: "carousel.css"
+---
+
+<header>
+ <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
+ <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>
+ <div class="collapse navbar-collapse" id="navbarCollapse">
+ <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>
+ </ul>
+ <form class="form-inline mt-2 mt-md-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>
+</header>
+
+<main role="main">
+
+ <div id="myCarousel" class="carousel slide" data-ride="carousel">
+ <ol class="carousel-indicators">
+ <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
+ <li data-target="#myCarousel" data-slide-to="1"></li>
+ <li data-target="#myCarousel" data-slide-to="2"></li>
+ </ol>
+ <div class="carousel-inner">
+ <div class="carousel-item active">
+ {% include icons/placeholder.svg width="100%" height="100%" background="#777" color="#777" text=" " title=" " %}
+ <div class="container">
+ <div class="carousel-caption text-left">
+ <h1>Example headline.</h1>
+ <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+ <p><a class="btn btn-lg btn-primary" href="#" role="button">Sign up today</a></p>
+ </div>
+ </div>
+ </div>
+ <div class="carousel-item">
+ {% include icons/placeholder.svg width="100%" height="100%" background="#777" color="#777" text=" " title=" " %}
+ <div class="container">
+ <div class="carousel-caption">
+ <h1>Another example headline.</h1>
+ <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+ <p><a class="btn btn-lg btn-primary" href="#" role="button">Learn more</a></p>
+ </div>
+ </div>
+ </div>
+ <div class="carousel-item">
+ {% include icons/placeholder.svg width="100%" height="100%" background="#777" color="#777" text=" " title=" " %}
+ <div class="container">
+ <div class="carousel-caption text-right">
+ <h1>One more for good measure.</h1>
+ <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
+ <p><a class="btn btn-lg btn-primary" href="#" role="button">Browse gallery</a></p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <a class="carousel-control-prev" href="#myCarousel" 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-next" href="#myCarousel" role="button" data-slide="next">
+ <span class="carousel-control-next-icon" aria-hidden="true"></span>
+ <span class="sr-only">Next</span>
+ </a>
+ </div>
+
+
+ <!-- Marketing messaging and featurettes
+ ================================================== -->
+ <!-- Wrap the rest of the page in another container to center all the content. -->
+
+ <div class="container marketing">
+
+ <!-- Three columns of text below the carousel -->
+ <div class="row">
+ <div class="col-lg-4">
+ {% include icons/placeholder.svg width="140" height="140" background="#777" color="#777" class="rounded-circle" %}
+ <h2>Heading</h2>
+ <p>Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna.</p>
+ <p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
+ </div><!-- /.col-lg-4 -->
+ <div class="col-lg-4">
+ {% include icons/placeholder.svg width="140" height="140" background="#777" color="#777" class="rounded-circle" %}
+ <h2>Heading</h2>
+ <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.</p>
+ <p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
+ </div><!-- /.col-lg-4 -->
+ <div class="col-lg-4">
+ {% include icons/placeholder.svg width="140" height="140" background="#777" color="#777" class="rounded-circle" %}
+ <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>
+ <p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
+ </div><!-- /.col-lg-4 -->
+ </div><!-- /.row -->
+
+
+ <!-- START THE FEATURETTES -->
+
+ <hr class="featurette-divider">
+
+ <div class="row featurette">
+ <div class="col-md-7">
+ <h2 class="featurette-heading">First featurette heading. <span class="text-muted">It’ll blow your mind.</span></h2>
+ <p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
+ </div>
+ <div class="col-md-5">
+ {% include icons/placeholder.svg width="500" height="500" background="#eee" color="#aaa" class="bd-placeholder-img-lg featurette-image img-fluid mx-auto" %}
+ </div>
+ </div>
+
+ <hr class="featurette-divider">
+
+ <div class="row featurette">
+ <div class="col-md-7 order-md-2">
+ <h2 class="featurette-heading">Oh yeah, it’s that good. <span class="text-muted">See for yourself.</span></h2>
+ <p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
+ </div>
+ <div class="col-md-5 order-md-1">
+ {% include icons/placeholder.svg width="500" height="500" background="#eee" color="#aaa" class="bd-placeholder-img-lg featurette-image img-fluid mx-auto" %}
+ </div>
+ </div>
+
+ <hr class="featurette-divider">
+
+ <div class="row featurette">
+ <div class="col-md-7">
+ <h2 class="featurette-heading">And lastly, this one. <span class="text-muted">Checkmate.</span></h2>
+ <p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
+ </div>
+ <div class="col-md-5">
+ {% include icons/placeholder.svg width="500" height="500" background="#eee" color="#aaa" class="bd-placeholder-img-lg featurette-image img-fluid mx-auto" %}
+ </div>
+ </div>
+
+ <hr class="featurette-divider">
+
+ <!-- /END THE FEATURETTES -->
+
+ </div><!-- /.container -->
+
+
+ <!-- FOOTER -->
+ <footer class="container">
+ <p class="float-right"><a href="#">Back to top</a></p>
+ <p>&copy; 2017-{{ site.time | date: "%Y" }} Company, Inc. &middot; <a href="#">Privacy</a> &middot; <a href="#">Terms</a></p>
+ </footer>
+</main>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/checkout/form-validation.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/checkout/form-validation.css
index 7a6246fae..7a6246fae 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/checkout/form-validation.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/checkout/form-validation.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/checkout/form-validation.js b/vendor/twbs/bootstrap/site/docs/4.3/examples/checkout/form-validation.js
new file mode 100644
index 000000000..280849408
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/checkout/form-validation.js
@@ -0,0 +1,20 @@
+// Example starter JavaScript for disabling form submissions if there are invalid fields
+(function () {
+ 'use strict'
+
+ window.addEventListener('load', function () {
+ // Fetch all the forms we want to apply custom Bootstrap validation styles to
+ var forms = document.getElementsByClassName('needs-validation')
+
+ // Loop over them and prevent submission
+ Array.prototype.filter.call(forms, function (form) {
+ form.addEventListener('submit', function (event) {
+ if (form.checkValidity() === false) {
+ event.preventDefault()
+ event.stopPropagation()
+ }
+ form.classList.add('was-validated')
+ }, false)
+ })
+ }, false)
+}())
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/checkout/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/checkout/index.html
new file mode 100644
index 000000000..396270e74
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/checkout/index.html
@@ -0,0 +1,223 @@
+---
+layout: examples
+title: Checkout example
+extra_css: "form-validation.css"
+extra_js: "form-validation.js"
+body_class: "bg-light"
+---
+
+<div class="container">
+ <div class="py-5 text-center">
+ <img class="d-block mx-auto mb-4" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">
+ <h2>Checkout form</h2>
+ <p class="lead">Below is an example form built entirely with Bootstrap’s form controls. Each required form group has a validation state that can be triggered by attempting to submit the form without completing it.</p>
+ </div>
+
+ <div class="row">
+ <div class="col-md-4 order-md-2 mb-4">
+ <h4 class="d-flex justify-content-between align-items-center mb-3">
+ <span class="text-muted">Your cart</span>
+ <span class="badge badge-secondary badge-pill">3</span>
+ </h4>
+ <ul class="list-group mb-3">
+ <li class="list-group-item d-flex justify-content-between lh-condensed">
+ <div>
+ <h6 class="my-0">Product name</h6>
+ <small class="text-muted">Brief description</small>
+ </div>
+ <span class="text-muted">$12</span>
+ </li>
+ <li class="list-group-item d-flex justify-content-between lh-condensed">
+ <div>
+ <h6 class="my-0">Second product</h6>
+ <small class="text-muted">Brief description</small>
+ </div>
+ <span class="text-muted">$8</span>
+ </li>
+ <li class="list-group-item d-flex justify-content-between lh-condensed">
+ <div>
+ <h6 class="my-0">Third item</h6>
+ <small class="text-muted">Brief description</small>
+ </div>
+ <span class="text-muted">$5</span>
+ </li>
+ <li class="list-group-item d-flex justify-content-between bg-light">
+ <div class="text-success">
+ <h6 class="my-0">Promo code</h6>
+ <small>EXAMPLECODE</small>
+ </div>
+ <span class="text-success">-$5</span>
+ </li>
+ <li class="list-group-item d-flex justify-content-between">
+ <span>Total (USD)</span>
+ <strong>$20</strong>
+ </li>
+ </ul>
+
+ <form class="card p-2">
+ <div class="input-group">
+ <input type="text" class="form-control" placeholder="Promo code">
+ <div class="input-group-append">
+ <button type="submit" class="btn btn-secondary">Redeem</button>
+ </div>
+ </div>
+ </form>
+ </div>
+ <div class="col-md-8 order-md-1">
+ <h4 class="mb-3">Billing address</h4>
+ <form class="needs-validation" novalidate>
+ <div class="row">
+ <div class="col-md-6 mb-3">
+ <label for="firstName">First name</label>
+ <input type="text" class="form-control" id="firstName" placeholder="" value="" required>
+ <div class="invalid-feedback">
+ Valid first name is required.
+ </div>
+ </div>
+ <div class="col-md-6 mb-3">
+ <label for="lastName">Last name</label>
+ <input type="text" class="form-control" id="lastName" placeholder="" value="" required>
+ <div class="invalid-feedback">
+ Valid last name is required.
+ </div>
+ </div>
+ </div>
+
+ <div class="mb-3">
+ <label for="username">Username</label>
+ <div class="input-group">
+ <div class="input-group-prepend">
+ <span class="input-group-text">@</span>
+ </div>
+ <input type="text" class="form-control" id="username" placeholder="Username" required>
+ <div class="invalid-feedback" style="width: 100%;">
+ Your username is required.
+ </div>
+ </div>
+ </div>
+
+ <div class="mb-3">
+ <label for="email">Email <span class="text-muted">(Optional)</span></label>
+ <input type="email" class="form-control" id="email" placeholder="you@example.com">
+ <div class="invalid-feedback">
+ Please enter a valid email address for shipping updates.
+ </div>
+ </div>
+
+ <div class="mb-3">
+ <label for="address">Address</label>
+ <input type="text" class="form-control" id="address" placeholder="1234 Main St" required>
+ <div class="invalid-feedback">
+ Please enter your shipping address.
+ </div>
+ </div>
+
+ <div class="mb-3">
+ <label for="address2">Address 2 <span class="text-muted">(Optional)</span></label>
+ <input type="text" class="form-control" id="address2" placeholder="Apartment or suite">
+ </div>
+
+ <div class="row">
+ <div class="col-md-5 mb-3">
+ <label for="country">Country</label>
+ <select class="custom-select d-block w-100" id="country" required>
+ <option value="">Choose...</option>
+ <option>United States</option>
+ </select>
+ <div class="invalid-feedback">
+ Please select a valid country.
+ </div>
+ </div>
+ <div class="col-md-4 mb-3">
+ <label for="state">State</label>
+ <select class="custom-select d-block w-100" id="state" required>
+ <option value="">Choose...</option>
+ <option>California</option>
+ </select>
+ <div class="invalid-feedback">
+ Please provide a valid state.
+ </div>
+ </div>
+ <div class="col-md-3 mb-3">
+ <label for="zip">Zip</label>
+ <input type="text" class="form-control" id="zip" placeholder="" required>
+ <div class="invalid-feedback">
+ Zip code required.
+ </div>
+ </div>
+ </div>
+ <hr class="mb-4">
+ <div class="custom-control custom-checkbox">
+ <input type="checkbox" class="custom-control-input" id="same-address">
+ <label class="custom-control-label" for="same-address">Shipping address is the same as my billing address</label>
+ </div>
+ <div class="custom-control custom-checkbox">
+ <input type="checkbox" class="custom-control-input" id="save-info">
+ <label class="custom-control-label" for="save-info">Save this information for next time</label>
+ </div>
+ <hr class="mb-4">
+
+ <h4 class="mb-3">Payment</h4>
+
+ <div class="d-block my-3">
+ <div class="custom-control custom-radio">
+ <input id="credit" name="paymentMethod" type="radio" class="custom-control-input" checked required>
+ <label class="custom-control-label" for="credit">Credit card</label>
+ </div>
+ <div class="custom-control custom-radio">
+ <input id="debit" name="paymentMethod" type="radio" class="custom-control-input" required>
+ <label class="custom-control-label" for="debit">Debit card</label>
+ </div>
+ <div class="custom-control custom-radio">
+ <input id="paypal" name="paymentMethod" type="radio" class="custom-control-input" required>
+ <label class="custom-control-label" for="paypal">PayPal</label>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-6 mb-3">
+ <label for="cc-name">Name on card</label>
+ <input type="text" class="form-control" id="cc-name" placeholder="" required>
+ <small class="text-muted">Full name as displayed on card</small>
+ <div class="invalid-feedback">
+ Name on card is required
+ </div>
+ </div>
+ <div class="col-md-6 mb-3">
+ <label for="cc-number">Credit card number</label>
+ <input type="text" class="form-control" id="cc-number" placeholder="" required>
+ <div class="invalid-feedback">
+ Credit card number is required
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-md-3 mb-3">
+ <label for="cc-expiration">Expiration</label>
+ <input type="text" class="form-control" id="cc-expiration" placeholder="" required>
+ <div class="invalid-feedback">
+ Expiration date required
+ </div>
+ </div>
+ <div class="col-md-3 mb-3">
+ <label for="cc-cvv">CVV</label>
+ <input type="text" class="form-control" id="cc-cvv" placeholder="" required>
+ <div class="invalid-feedback">
+ Security code required
+ </div>
+ </div>
+ </div>
+ <hr class="mb-4">
+ <button class="btn btn-primary btn-lg btn-block" type="submit">Continue to checkout</button>
+ </form>
+ </div>
+ </div>
+
+ <footer class="my-5 pt-5 text-muted text-center text-small">
+ <p class="mb-1">&copy; 2017-{{ site.time | date: "%Y" }} Company Name</p>
+ <ul class="list-inline">
+ <li class="list-inline-item"><a href="#">Privacy</a></li>
+ <li class="list-inline-item"><a href="#">Terms</a></li>
+ <li class="list-inline-item"><a href="#">Support</a></li>
+ </ul>
+ </footer>
+</div>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/cover/cover.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/cover/cover.css
index 7c6d33cdd..7c6d33cdd 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/cover/cover.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/cover/cover.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/cover/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/cover/index.html
new file mode 100644
index 000000000..0b74e4fae
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/cover/index.html
@@ -0,0 +1,34 @@
+---
+layout: examples
+title: Cover Template
+extra_css: "cover.css"
+body_class: "text-center"
+include_js: false
+---
+
+<div class="cover-container d-flex w-100 h-100 p-3 mx-auto flex-column">
+ <header class="masthead mb-auto">
+ <div class="inner">
+ <h3 class="masthead-brand">Cover</h3>
+ <nav class="nav nav-masthead justify-content-center">
+ <a class="nav-link active" href="#">Home</a>
+ <a class="nav-link" href="#">Features</a>
+ <a class="nav-link" href="#">Contact</a>
+ </nav>
+ </div>
+ </header>
+
+ <main role="main" class="inner cover">
+ <h1 class="cover-heading">Cover your page.</h1>
+ <p class="lead">Cover is a one-page template for building simple and beautiful home pages. Download, edit the text, and add your own fullscreen background photo to make it your own.</p>
+ <p class="lead">
+ <a href="#" class="btn btn-lg btn-secondary">Learn more</a>
+ </p>
+ </main>
+
+ <footer class="mastfoot mt-auto">
+ <div class="inner">
+ <p>Cover template for <a href="https://getbootstrap.com/">Bootstrap</a>, by <a href="https://twitter.com/mdo">@mdo</a>.</p>
+ </div>
+ </footer>
+</div>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/dashboard/dashboard.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/dashboard/dashboard.css
index eb3bb8540..6b5d7b5a5 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/dashboard/dashboard.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/dashboard/dashboard.css
@@ -67,7 +67,13 @@ body {
*/
[role="main"] {
- padding-top: 48px; /* Space for fixed navbar */
+ padding-top: 133px; /* Space for fixed navbar */
+}
+
+@media (min-width: 768px) {
+ [role="main"] {
+ padding-top: 48px; /* Space for fixed navbar */
+ }
}
/*
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/dashboard/dashboard.js b/vendor/twbs/bootstrap/site/docs/4.3/examples/dashboard/dashboard.js
new file mode 100644
index 000000000..de4a6347a
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/dashboard/dashboard.js
@@ -0,0 +1,53 @@
+/* globals Chart:false, feather:false */
+
+(function () {
+ 'use strict'
+
+ feather.replace()
+
+ // Graphs
+ var ctx = document.getElementById('myChart')
+ // eslint-disable-next-line no-unused-vars
+ var myChart = new Chart(ctx, {
+ type: 'line',
+ data: {
+ labels: [
+ 'Sunday',
+ 'Monday',
+ 'Tuesday',
+ 'Wednesday',
+ 'Thursday',
+ 'Friday',
+ 'Saturday'
+ ],
+ datasets: [{
+ data: [
+ 15339,
+ 21345,
+ 18483,
+ 24003,
+ 23489,
+ 24092,
+ 12034
+ ],
+ lineTension: 0,
+ backgroundColor: 'transparent',
+ borderColor: '#007bff',
+ borderWidth: 4,
+ pointBackgroundColor: '#007bff'
+ }]
+ },
+ options: {
+ scales: {
+ yAxes: [{
+ ticks: {
+ beginAtZero: false
+ }
+ }]
+ },
+ legend: {
+ display: false
+ }
+ }
+ })
+}())
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/dashboard/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/dashboard/index.html
new file mode 100644
index 000000000..1b641b620
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/dashboard/index.html
@@ -0,0 +1,246 @@
+---
+layout: examples
+title: Dashboard Template
+extra_css: "dashboard.css"
+extra_js:
+ - "https://cdnjs.cloudflare.com/ajax/libs/feather-icons/4.9.0/feather.min.js"
+ - "https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.min.js"
+ - "dashboard.js"
+---
+
+<nav class="navbar navbar-dark fixed-top bg-dark flex-md-nowrap p-0 shadow">
+ <a class="navbar-brand col-sm-3 col-md-2 mr-0" href="#">Company name</a>
+ <input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
+ <ul class="navbar-nav px-3">
+ <li class="nav-item text-nowrap">
+ <a class="nav-link" href="#">Sign out</a>
+ </li>
+ </ul>
+</nav>
+
+<div class="container-fluid">
+ <div class="row">
+ <nav class="col-md-2 d-none d-md-block bg-light sidebar">
+ <div class="sidebar-sticky">
+ <ul class="nav flex-column">
+ <li class="nav-item">
+ <a class="nav-link active" href="#">
+ <span data-feather="home"></span>
+ Dashboard <span class="sr-only">(current)</span>
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">
+ <span data-feather="file"></span>
+ Orders
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">
+ <span data-feather="shopping-cart"></span>
+ Products
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">
+ <span data-feather="users"></span>
+ Customers
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">
+ <span data-feather="bar-chart-2"></span>
+ Reports
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">
+ <span data-feather="layers"></span>
+ Integrations
+ </a>
+ </li>
+ </ul>
+
+ <h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
+ <span>Saved reports</span>
+ <a class="d-flex align-items-center text-muted" href="#">
+ <span data-feather="plus-circle"></span>
+ </a>
+ </h6>
+ <ul class="nav flex-column mb-2">
+ <li class="nav-item">
+ <a class="nav-link" href="#">
+ <span data-feather="file-text"></span>
+ Current month
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">
+ <span data-feather="file-text"></span>
+ Last quarter
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">
+ <span data-feather="file-text"></span>
+ Social engagement
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">
+ <span data-feather="file-text"></span>
+ Year-end sale
+ </a>
+ </li>
+ </ul>
+ </div>
+ </nav>
+
+ <main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-4">
+ <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
+ <h1 class="h2">Dashboard</h1>
+ <div class="btn-toolbar mb-2 mb-md-0">
+ <div class="btn-group mr-2">
+ <button type="button" class="btn btn-sm btn-outline-secondary">Share</button>
+ <button type="button" class="btn btn-sm btn-outline-secondary">Export</button>
+ </div>
+ <button type="button" class="btn btn-sm btn-outline-secondary dropdown-toggle">
+ <span data-feather="calendar"></span>
+ This week
+ </button>
+ </div>
+ </div>
+
+ <canvas class="my-4 w-100" id="myChart" width="900" height="380"></canvas>
+
+ <h2>Section title</h2>
+ <div class="table-responsive">
+ <table class="table table-striped table-sm">
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>Header</th>
+ <th>Header</th>
+ <th>Header</th>
+ <th>Header</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>1,001</td>
+ <td>Lorem</td>
+ <td>ipsum</td>
+ <td>dolor</td>
+ <td>sit</td>
+ </tr>
+ <tr>
+ <td>1,002</td>
+ <td>amet</td>
+ <td>consectetur</td>
+ <td>adipiscing</td>
+ <td>elit</td>
+ </tr>
+ <tr>
+ <td>1,003</td>
+ <td>Integer</td>
+ <td>nec</td>
+ <td>odio</td>
+ <td>Praesent</td>
+ </tr>
+ <tr>
+ <td>1,003</td>
+ <td>libero</td>
+ <td>Sed</td>
+ <td>cursus</td>
+ <td>ante</td>
+ </tr>
+ <tr>
+ <td>1,004</td>
+ <td>dapibus</td>
+ <td>diam</td>
+ <td>Sed</td>
+ <td>nisi</td>
+ </tr>
+ <tr>
+ <td>1,005</td>
+ <td>Nulla</td>
+ <td>quis</td>
+ <td>sem</td>
+ <td>at</td>
+ </tr>
+ <tr>
+ <td>1,006</td>
+ <td>nibh</td>
+ <td>elementum</td>
+ <td>imperdiet</td>
+ <td>Duis</td>
+ </tr>
+ <tr>
+ <td>1,007</td>
+ <td>sagittis</td>
+ <td>ipsum</td>
+ <td>Praesent</td>
+ <td>mauris</td>
+ </tr>
+ <tr>
+ <td>1,008</td>
+ <td>Fusce</td>
+ <td>nec</td>
+ <td>tellus</td>
+ <td>sed</td>
+ </tr>
+ <tr>
+ <td>1,009</td>
+ <td>augue</td>
+ <td>semper</td>
+ <td>porta</td>
+ <td>Mauris</td>
+ </tr>
+ <tr>
+ <td>1,010</td>
+ <td>massa</td>
+ <td>Vestibulum</td>
+ <td>lacinia</td>
+ <td>arcu</td>
+ </tr>
+ <tr>
+ <td>1,011</td>
+ <td>eget</td>
+ <td>nulla</td>
+ <td>Class</td>
+ <td>aptent</td>
+ </tr>
+ <tr>
+ <td>1,012</td>
+ <td>taciti</td>
+ <td>sociosqu</td>
+ <td>ad</td>
+ <td>litora</td>
+ </tr>
+ <tr>
+ <td>1,013</td>
+ <td>torquent</td>
+ <td>per</td>
+ <td>conubia</td>
+ <td>nostra</td>
+ </tr>
+ <tr>
+ <td>1,014</td>
+ <td>per</td>
+ <td>inceptos</td>
+ <td>himenaeos</td>
+ <td>Curabitur</td>
+ </tr>
+ <tr>
+ <td>1,015</td>
+ <td>sodales</td>
+ <td>ligula</td>
+ <td>in</td>
+ <td>libero</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </main>
+ </div>
+</div>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/floating-labels/floating-labels.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/floating-labels/floating-labels.css
index 7b5a7d2e3..d8ad2f3c1 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/floating-labels/floating-labels.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/floating-labels/floating-labels.css
@@ -1,8 +1,3 @@
-:root {
- --input-padding-x: .75rem;
- --input-padding-y: .75rem;
-}
-
html,
body {
height: 100%;
@@ -32,7 +27,8 @@ body {
.form-label-group > input,
.form-label-group > label {
- padding: var(--input-padding-y) var(--input-padding-x);
+ height: 3.125rem;
+ padding: .75rem;
}
.form-label-group > label {
@@ -44,6 +40,7 @@ body {
margin-bottom: 0; /* Override default `<label>` margin */
line-height: 1.5;
color: #495057;
+ pointer-events: none;
cursor: text; /* Match the input under the label */
border: 1px solid transparent;
border-radius: .25rem;
@@ -71,13 +68,13 @@ body {
}
.form-label-group input:not(:placeholder-shown) {
- padding-top: calc(var(--input-padding-y) + var(--input-padding-y) * (2 / 3));
- padding-bottom: calc(var(--input-padding-y) / 3);
+ padding-top: 1.25rem;
+ padding-bottom: .25rem;
}
.form-label-group input:not(:placeholder-shown) ~ label {
- padding-top: calc(var(--input-padding-y) / 3);
- padding-bottom: calc(var(--input-padding-y) / 3);
+ padding-top: .25rem;
+ padding-bottom: .25rem;
font-size: 12px;
color: #777;
}
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/floating-labels/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/floating-labels/index.html
new file mode 100644
index 000000000..d837ccaf1
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/floating-labels/index.html
@@ -0,0 +1,32 @@
+---
+layout: examples
+title: Floating labels example
+extra_css: "floating-labels.css"
+include_js: false
+---
+
+<form class="form-signin">
+ <div class="text-center mb-4">
+ <img class="mb-4" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">
+ <h1 class="h3 mb-3 font-weight-normal">Floating labels</h1>
+ <p>Build form controls with floating labels via the <code>:placeholder-shown</code> pseudo-element. <a href="https://caniuse.com/#feat=css-placeholder-shown">Works in latest Chrome, Safari, and Firefox.</a></p>
+ </div>
+
+ <div class="form-label-group">
+ <input type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
+ <label for="inputEmail">Email address</label>
+ </div>
+
+ <div class="form-label-group">
+ <input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
+ <label for="inputPassword">Password</label>
+ </div>
+
+ <div class="checkbox mb-3">
+ <label>
+ <input type="checkbox" value="remember-me"> Remember me
+ </label>
+ </div>
+ <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
+ <p class="mt-5 mb-3 text-muted text-center">&copy; 2017-{{ site.time | date: "%Y" }}</p>
+</form>
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/grid/grid.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/grid/grid.css
new file mode 100644
index 000000000..e726996d3
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/grid/grid.css
@@ -0,0 +1,6 @@
+.themed-grid-col {
+ padding-top: 15px;
+ padding-bottom: 15px;
+ background-color: rgba(86, 61, 124, .15);
+ border: 1px solid rgba(86, 61, 124, .2);
+}
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/grid/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/grid/index.html
new file mode 100644
index 000000000..b41090438
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/grid/index.html
@@ -0,0 +1,126 @@
+---
+layout: examples
+title: Grid Template
+extra_css: "grid.css"
+body_class: "py-4"
+include_js: false
+---
+
+<div class="container">
+
+ <h1>Bootstrap grid examples</h1>
+ <p class="lead">Basic grid layouts to get you familiar with building within the Bootstrap grid system.</p>
+ <p>In these examples the <code>.themed-grid-col</code> class is added to the columns to add some theming. This is not a class that is available in Bootstrap by default.</p>
+
+ <h2 class="mt-4">Five grid tiers</h2>
+ <p>There are five tiers to the Bootstrap grid system, one for each range of devices we support. Each tier starts at a minimum viewport size and automatically applies to the larger devices unless overridden.</p>
+
+ <div class="row mb-3">
+ <div class="col-4 themed-grid-col">.col-4</div>
+ <div class="col-4 themed-grid-col">.col-4</div>
+ <div class="col-4 themed-grid-col">.col-4</div>
+ </div>
+
+ <div class="row mb-3">
+ <div class="col-sm-4 themed-grid-col">.col-sm-4</div>
+ <div class="col-sm-4 themed-grid-col">.col-sm-4</div>
+ <div class="col-sm-4 themed-grid-col">.col-sm-4</div>
+ </div>
+
+ <div class="row mb-3">
+ <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ </div>
+
+ <div class="row mb-3">
+ <div class="col-lg-4 themed-grid-col">.col-lg-4</div>
+ <div class="col-lg-4 themed-grid-col">.col-lg-4</div>
+ <div class="col-lg-4 themed-grid-col">.col-lg-4</div>
+ </div>
+
+ <div class="row mb-3">
+ <div class="col-xl-4 themed-grid-col">.col-xl-4</div>
+ <div class="col-xl-4 themed-grid-col">.col-xl-4</div>
+ <div class="col-xl-4 themed-grid-col">.col-xl-4</div>
+ </div>
+
+ <h2 class="mt-4">Three equal columns</h2>
+ <p>Get three equal-width columns <strong>starting at desktops and scaling to large desktops</strong>. On mobile devices, tablets and below, the columns will automatically stack.</p>
+ <div class="row mb-3">
+ <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ </div>
+
+ <h2 class="mt-4">Three unequal columns</h2>
+ <p>Get three columns <strong>starting at desktops and scaling to large desktops</strong> of various widths. Remember, grid columns should add up to twelve for a single horizontal block. More than that, and columns start stacking no matter the viewport.</p>
+ <div class="row mb-3">
+ <div class="col-md-3 themed-grid-col">.col-md-3</div>
+ <div class="col-md-6 themed-grid-col">.col-md-6</div>
+ <div class="col-md-3 themed-grid-col">.col-md-3</div>
+ </div>
+
+ <h2 class="mt-4">Two columns</h2>
+ <p>Get two columns <strong>starting at desktops and scaling to large desktops</strong>.</p>
+ <div class="row mb-3">
+ <div class="col-md-8 themed-grid-col">.col-md-8</div>
+ <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ </div>
+
+ <h2 class="mt-4">Full width, single column</h2>
+ <p class="text-warning">
+ No grid classes are necessary for full-width elements.
+ </p>
+
+ <hr class="my-4">
+
+ <h2 class="mt-4">Two columns with two nested columns</h2>
+ <p>Per the documentation, nesting is easy—just put a row of columns within an existing column. This gives you two columns <strong>starting at desktops and scaling to large desktops</strong>, with another two (equal widths) within the larger column.</p>
+ <p>At mobile device sizes, tablets and down, these columns and their nested columns will stack.</p>
+ <div class="row mb-3">
+ <div class="col-md-8 themed-grid-col">
+ <div class="pb-3">
+ .col-md-8
+ </div>
+ <div class="row">
+ <div class="col-md-6 themed-grid-col">.col-md-6</div>
+ <div class="col-md-6 themed-grid-col">.col-md-6</div>
+ </div>
+ </div>
+ <div class="col-md-4 themed-grid-col">.col-md-4</div>
+ </div>
+
+ <hr class="my-4">
+
+ <h2 class="mt-4">Mixed: mobile and desktop</h2>
+ <p>The Bootstrap v4 grid system has five tiers of classes: xs (extra small), sm (small), md (medium), lg (large), and xl (extra large). You can use nearly any combination of these classes to create more dynamic and flexible layouts.</p>
+ <p>Each tier of classes scales up, meaning if you plan on setting the same widths for xs and sm, you only need to specify xs.</p>
+ <div class="row mb-3">
+ <div class="col-12 col-md-8 themed-grid-col">.col-12 .col-md-8</div>
+ <div class="col-6 col-md-4 themed-grid-col">.col-6 .col-md-4</div>
+ </div>
+ <div class="row mb-3">
+ <div class="col-6 col-md-4 themed-grid-col">.col-6 .col-md-4</div>
+ <div class="col-6 col-md-4 themed-grid-col">.col-6 .col-md-4</div>
+ <div class="col-6 col-md-4 themed-grid-col">.col-6 .col-md-4</div>
+ </div>
+ <div class="row mb-3">
+ <div class="col-6 themed-grid-col">.col-6</div>
+ <div class="col-6 themed-grid-col">.col-6</div>
+ </div>
+
+ <hr class="my-4">
+
+ <h2 class="mt-4">Mixed: mobile, tablet, and desktop</h2>
+ <div class="row mb-3">
+ <div class="col-12 col-sm-6 col-lg-8 themed-grid-col">.col-12 .col-sm-6 .col-lg-8</div>
+ <div class="col-6 col-lg-4 themed-grid-col">.col-6 .col-lg-4</div>
+ </div>
+ <div class="row mb-3">
+ <div class="col-6 col-sm-4 themed-grid-col">.col-6 .col-sm-4</div>
+ <div class="col-6 col-sm-4 themed-grid-col">.col-6 .col-sm-4</div>
+ <div class="col-6 col-sm-4 themed-grid-col">.col-6 .col-sm-4</div>
+ </div>
+
+</div> <!-- /container -->
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/index.html
index 3bb984382..965c27564 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/index.html
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/index.html
@@ -1,5 +1,5 @@
---
-layout: examples
+layout: simple
title: Examples
description: Quickly get a project started with any of our examples ranging from using parts of the framework to custom components and layouts.
redirect_from: "/examples/"
@@ -12,7 +12,9 @@ redirect_from: "/examples/"
{% if forloop.first %}<div class="row">{% endif %}
<div class="col-sm-6 col-md-4 col-xl-3 mb-3">
<a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/{{ example.name | slugify }}/">
- <img class="img-thumbnail mb-3" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/screenshots/{{ example.name | slugify }}.png" alt="{{ example.name }} screenshot" width="960" height="600">
+ <img class="img-thumbnail mb-3" srcset="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/examples/{{ example.name | slugify }}.png,
+ {{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/examples/{{ example.name | slugify }}@2x.png 2x"
+ src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/examples/{{ example.name | slugify }}.png" alt="{{ example.name }} screenshot" width="480" height="300">
<h5 class="mb-1">{{ example.name }}</h5>
</a>
<p class="text-muted">{{ example.description }}</p>
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/jumbotron/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/jumbotron/index.html
new file mode 100644
index 000000000..376e75e41
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/jumbotron/index.html
@@ -0,0 +1,79 @@
+---
+layout: examples
+title: Jumbotron Template
+extra_css: "jumbotron.css"
+---
+
+<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
+ <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>
+
+ <div class="collapse navbar-collapse" id="navbarsExampleDefault">
+ <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="#" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown01">
+ <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-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>
+
+<main role="main">
+
+ <!-- Main jumbotron for a primary marketing message or call to action -->
+ <div class="jumbotron">
+ <div class="container">
+ <h1 class="display-3">Hello, world!</h1>
+ <p>This is a template for a simple marketing or informational website. It includes a large callout called a jumbotron and three supporting pieces of content. Use it as a starting point to create something more unique.</p>
+ <p><a class="btn btn-primary btn-lg" href="#" role="button">Learn more &raquo;</a></p>
+ </div>
+ </div>
+
+ <div class="container">
+ <!-- Example row of columns -->
+ <div class="row">
+ <div class="col-md-4">
+ <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 class="col-md-4">
+ <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 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>
+ <p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
+ </div>
+ </div>
+
+ <hr>
+
+ </div> <!-- /container -->
+
+</main>
+
+<footer class="container">
+ <p>&copy; Company 2017-{{ site.time | date: "%Y" }}</p>
+</footer>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/jumbotron/jumbotron.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/jumbotron/jumbotron.css
index d751264ef..d751264ef 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/jumbotron/jumbotron.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/jumbotron/jumbotron.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-bottom/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-bottom/index.html
new file mode 100644
index 000000000..97f7e0b5d
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-bottom/index.html
@@ -0,0 +1,39 @@
+---
+layout: examples
+title: Bottom navbar example
+---
+
+<div class="container">
+ <div class="jumbotron mt-3">
+ <h1>Bottom Navbar example</h1>
+ <p class="lead">This example is a quick exercise to illustrate how the bottom navbar works.</p>
+ <a class="btn btn-lg btn-primary" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/components/navbar/" role="button">View navbar docs &raquo;</a>
+ </div>
+</div>
+<nav class="navbar fixed-bottom navbar-expand-sm navbar-dark bg-dark">
+ <a class="navbar-brand" href="#">Bottom 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>
+ <div class="collapse navbar-collapse" id="navbarCollapse">
+ <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 dropup">
+ <a class="nav-link dropdown-toggle" href="#" id="dropdown10" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropup</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>
+ </div>
+ </li>
+ </ul>
+ </div>
+</nav>
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-fixed/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-fixed/index.html
new file mode 100644
index 000000000..2a76f15ec
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-fixed/index.html
@@ -0,0 +1,37 @@
+---
+layout: examples
+title: Fixed top navbar example
+extra_css: "navbar-top-fixed.css"
+---
+
+<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
+ <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>
+ <div class="collapse navbar-collapse" id="navbarCollapse">
+ <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>
+ </ul>
+ <form class="form-inline mt-2 mt-md-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>
+
+<main role="main" class="container">
+ <div class="jumbotron">
+ <h1>Navbar example</h1>
+ <p class="lead">This example is a quick exercise to illustrate how fixed to top navbar works. As you scroll, it will remain fixed to the top of your browser’s viewport.</p>
+ <a class="btn btn-lg btn-primary" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/components/navbar/" role="button">View navbar docs &raquo;</a>
+ </div>
+</main>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-fixed/navbar-top-fixed.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-fixed/navbar-top-fixed.css
index c77c0c147..c77c0c147 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-fixed/navbar-top-fixed.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-fixed/navbar-top-fixed.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-static/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-static/index.html
new file mode 100644
index 000000000..2f887c345
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-static/index.html
@@ -0,0 +1,37 @@
+---
+layout: examples
+title: Top navbar example
+extra_css: "navbar-top.css"
+---
+
+<nav class="navbar navbar-expand-md navbar-dark bg-dark 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>
+ <div class="collapse navbar-collapse" id="navbarCollapse">
+ <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="#" tabindex="-1" aria-disabled="true">Disabled</a>
+ </li>
+ </ul>
+ <form class="form-inline mt-2 mt-md-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>
+
+<main role="main" class="container">
+ <div class="jumbotron">
+ <h1>Navbar example</h1>
+ <p class="lead">This example is a quick exercise to illustrate how the top-aligned navbar works. As you scroll, this navbar remains in its original position and moves with the rest of the page.</p>
+ <a class="btn btn-lg btn-primary" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/components/navbar/" role="button">View navbar docs &raquo;</a>
+ </div>
+</main>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-static/navbar-top.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-static/navbar-top.css
index 25bbdde09..25bbdde09 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbar-static/navbar-top.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbar-static/navbar-top.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/navbars/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbars/index.html
new file mode 100644
index 000000000..a5e687bf5
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbars/index.html
@@ -0,0 +1,323 @@
+---
+layout: examples
+title: Navbar Template
+extra_css: "navbar.css"
+---
+
+<nav class="navbar navbar-dark bg-dark">
+ <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>
+
+ <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>
+ </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="#" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown01">
+ <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" aria-label="Search">
+ </form>
+ </div>
+</nav>
+
+<nav class="navbar navbar-expand navbar-dark bg-dark">
+ <a class="navbar-brand" href="#">Always 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>
+ </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-dark bg-dark">
+ <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="#" 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-dark bg-dark">
+ <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="#" 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-dark bg-dark">
+ <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="#" 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-dark bg-dark">
+ <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="#" 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-dark bg-dark">
+ <div class="container">
+ <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>
+
+ <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>
+ </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="#" 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>
+ </div>
+ </li>
+ </ul>
+ <form class="form-inline my-2 my-md-0">
+ <input class="form-control" type="text" placeholder="Search" aria-label="Search">
+ </form>
+ </div>
+ </div>
+</nav>
+
+<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
+ <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="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>
+ </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="#" 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>
+ </div>
+ </li>
+ </ul>
+ </div>
+</nav>
+
+<div class="container">
+ <nav class="navbar navbar-expand-lg navbar-light bg-light 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>
+
+ <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>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">Link</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" 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>
+ </div>
+ </li>
+ </ul>
+ <form class="form-inline my-2 my-md-0">
+ <input class="form-control" type="text" placeholder="Search" aria-label="Search">
+ </form>
+ </div>
+ </nav>
+
+ <nav class="navbar navbar-expand-lg navbar-light bg-light 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="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>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">Link</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" 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>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </nav>
+
+ <main role="main">
+ <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 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="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/navbar-static/">top</a> and <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/navbar-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="{{ site.baseurl }}/docs/{{ site.docs_version }}/components/navbar/" role="button">View navbar docs &raquo;</a>
+ </p>
+ </div>
+ </div>
+ </main>
+</div>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbars/navbar.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbars/navbar.css
index 70d209409..70d209409 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/navbars/navbar.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/navbars/navbar.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/offcanvas/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/offcanvas/index.html
new file mode 100644
index 000000000..015d1df32
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/offcanvas/index.html
@@ -0,0 +1,135 @@
+---
+layout: examples
+title: Offcanvas template
+extra_css: "offcanvas.css"
+extra_js: "offcanvas.js"
+body_class: "bg-light"
+---
+
+<nav class="navbar navbar-expand-lg fixed-top navbar-dark bg-dark">
+ <a class="navbar-brand mr-auto mr-lg-0" href="#">Offcanvas navbar</a>
+ <button class="navbar-toggler p-0 border-0" type="button" data-toggle="offcanvas">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <div class="navbar-collapse offcanvas-collapse" id="navbarsExampleDefault">
+ <ul class="navbar-nav mr-auto">
+ <li class="nav-item active">
+ <a class="nav-link" href="#">Dashboard <span class="sr-only">(current)</span></a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">Notifications</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">Profile</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#">Switch account</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Settings</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown01">
+ <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-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>
+
+<div class="nav-scroller bg-white shadow-sm">
+ <nav class="nav nav-underline">
+ <a class="nav-link active" href="#">Dashboard</a>
+ <a class="nav-link" href="#">
+ Friends
+ <span class="badge badge-pill bg-light align-text-bottom">27</span>
+ </a>
+ <a class="nav-link" href="#">Explore</a>
+ <a class="nav-link" href="#">Suggestions</a>
+ <a class="nav-link" href="#">Link</a>
+ <a class="nav-link" href="#">Link</a>
+ <a class="nav-link" href="#">Link</a>
+ <a class="nav-link" href="#">Link</a>
+ <a class="nav-link" href="#">Link</a>
+ </nav>
+</div>
+
+<main role="main" class="container">
+ <div class="d-flex align-items-center p-3 my-3 text-white-50 bg-purple rounded shadow-sm">
+ <img class="mr-3" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-outline.svg" alt="" width="48" height="48">
+ <div class="lh-100">
+ <h6 class="mb-0 text-white lh-100">Bootstrap</h6>
+ <small>Since 2011</small>
+ </div>
+ </div>
+
+ <div class="my-3 p-3 bg-white rounded shadow-sm">
+ <h6 class="border-bottom border-gray pb-2 mb-0">Recent updates</h6>
+ <div class="media text-muted pt-3">
+ {% include icons/placeholder.svg width="32" height="32" background="#007bff" color="#007bff" class="mr-2 rounded" %}
+ <p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
+ <strong class="d-block text-gray-dark">@username</strong>
+ 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.
+ </p>
+ </div>
+ <div class="media text-muted pt-3">
+ {% include icons/placeholder.svg width="32" height="32" background="#e83e8c" color="#e83e8c" class="mr-2 rounded" %}
+ <p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
+ <strong class="d-block text-gray-dark">@username</strong>
+ 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.
+ </p>
+ </div>
+ <div class="media text-muted pt-3">
+ {% include icons/placeholder.svg width="32" height="32" background="#6f42c1" color="#6f42c1" class="mr-2 rounded" %}
+ <p class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
+ <strong class="d-block text-gray-dark">@username</strong>
+ 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.
+ </p>
+ </div>
+ <small class="d-block text-right mt-3">
+ <a href="#">All updates</a>
+ </small>
+ </div>
+
+ <div class="my-3 p-3 bg-white rounded shadow-sm">
+ <h6 class="border-bottom border-gray pb-2 mb-0">Suggestions</h6>
+ <div class="media text-muted pt-3">
+ {% include icons/placeholder.svg width="32" height="32" background="#007bff" color="#007bff" class="mr-2 rounded" %}
+ <div class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
+ <div class="d-flex justify-content-between align-items-center w-100">
+ <strong class="text-gray-dark">Full Name</strong>
+ <a href="#">Follow</a>
+ </div>
+ <span class="d-block">@username</span>
+ </div>
+ </div>
+ <div class="media text-muted pt-3">
+ {% include icons/placeholder.svg width="32" height="32" background="#007bff" color="#007bff" class="mr-2 rounded" %}
+ <div class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
+ <div class="d-flex justify-content-between align-items-center w-100">
+ <strong class="text-gray-dark">Full Name</strong>
+ <a href="#">Follow</a>
+ </div>
+ <span class="d-block">@username</span>
+ </div>
+ </div>
+ <div class="media text-muted pt-3">
+ {% include icons/placeholder.svg width="32" height="32" background="#007bff" color="#007bff" class="mr-2 rounded" %}
+ <div class="media-body pb-3 mb-0 small lh-125 border-bottom border-gray">
+ <div class="d-flex justify-content-between align-items-center w-100">
+ <strong class="text-gray-dark">Full Name</strong>
+ <a href="#">Follow</a>
+ </div>
+ <span class="d-block">@username</span>
+ </div>
+ </div>
+ <small class="d-block text-right mt-3">
+ <a href="#">All suggestions</a>
+ </small>
+ </div>
+</main>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/offcanvas/offcanvas.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/offcanvas/offcanvas.css
index 22de95a41..9c78f02e5 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/offcanvas/offcanvas.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/offcanvas/offcanvas.css
@@ -19,13 +19,14 @@ body {
overflow-y: auto;
visibility: hidden;
background-color: #343a40;
- transition-timing-function: ease-in-out;
- transition-duration: .3s;
- transition-property: left, visibility;
+ transition: visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
+ transition: transform .3s ease-in-out, visibility .3s ease-in-out;
+ transition: transform .3s ease-in-out, visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
}
.offcanvas-collapse.open {
- left: 0;
visibility: visible;
+ -webkit-transform: translateX(-100%);
+ transform: translateX(-100%);
}
}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/offcanvas/offcanvas.js b/vendor/twbs/bootstrap/site/docs/4.3/examples/offcanvas/offcanvas.js
index bc3e46711..bc3e46711 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/offcanvas/offcanvas.js
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/offcanvas/offcanvas.js
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/pricing/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/pricing/index.html
new file mode 100644
index 000000000..395242d6b
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/pricing/index.html
@@ -0,0 +1,110 @@
+---
+layout: examples
+title: Pricing example
+extra_css: "pricing.css"
+include_js: false
+---
+
+<div class="d-flex flex-column flex-md-row align-items-center p-3 px-md-4 mb-3 bg-white border-bottom shadow-sm">
+ <h5 class="my-0 mr-md-auto font-weight-normal">Company name</h5>
+ <nav class="my-2 my-md-0 mr-md-3">
+ <a class="p-2 text-dark" href="#">Features</a>
+ <a class="p-2 text-dark" href="#">Enterprise</a>
+ <a class="p-2 text-dark" href="#">Support</a>
+ <a class="p-2 text-dark" href="#">Pricing</a>
+ </nav>
+ <a class="btn btn-outline-primary" href="#">Sign up</a>
+</div>
+
+<div class="pricing-header px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
+ <h1 class="display-4">Pricing</h1>
+ <p class="lead">Quickly build an effective pricing table for your potential customers with this Bootstrap example. It’s built with default Bootstrap components and utilities with little customization.</p>
+</div>
+
+<div class="container">
+ <div class="card-deck mb-3 text-center">
+ <div class="card mb-4 shadow-sm">
+ <div class="card-header">
+ <h4 class="my-0 font-weight-normal">Free</h4>
+ </div>
+ <div class="card-body">
+ <h1 class="card-title pricing-card-title">$0 <small class="text-muted">/ mo</small></h1>
+ <ul class="list-unstyled mt-3 mb-4">
+ <li>10 users included</li>
+ <li>2 GB of storage</li>
+ <li>Email support</li>
+ <li>Help center access</li>
+ </ul>
+ <button type="button" class="btn btn-lg btn-block btn-outline-primary">Sign up for free</button>
+ </div>
+ </div>
+ <div class="card mb-4 shadow-sm">
+ <div class="card-header">
+ <h4 class="my-0 font-weight-normal">Pro</h4>
+ </div>
+ <div class="card-body">
+ <h1 class="card-title pricing-card-title">$15 <small class="text-muted">/ mo</small></h1>
+ <ul class="list-unstyled mt-3 mb-4">
+ <li>20 users included</li>
+ <li>10 GB of storage</li>
+ <li>Priority email support</li>
+ <li>Help center access</li>
+ </ul>
+ <button type="button" class="btn btn-lg btn-block btn-primary">Get started</button>
+ </div>
+ </div>
+ <div class="card mb-4 shadow-sm">
+ <div class="card-header">
+ <h4 class="my-0 font-weight-normal">Enterprise</h4>
+ </div>
+ <div class="card-body">
+ <h1 class="card-title pricing-card-title">$29 <small class="text-muted">/ mo</small></h1>
+ <ul class="list-unstyled mt-3 mb-4">
+ <li>30 users included</li>
+ <li>15 GB of storage</li>
+ <li>Phone and email support</li>
+ <li>Help center access</li>
+ </ul>
+ <button type="button" class="btn btn-lg btn-block btn-primary">Contact us</button>
+ </div>
+ </div>
+ </div>
+
+ <footer class="pt-4 my-md-5 pt-md-5 border-top">
+ <div class="row">
+ <div class="col-12 col-md">
+ <img class="mb-2" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" alt="" width="24" height="24">
+ <small class="d-block mb-3 text-muted">&copy; 2017-{{ site.time | date: "%Y" }}</small>
+ </div>
+ <div class="col-6 col-md">
+ <h5>Features</h5>
+ <ul class="list-unstyled text-small">
+ <li><a class="text-muted" href="#">Cool stuff</a></li>
+ <li><a class="text-muted" href="#">Random feature</a></li>
+ <li><a class="text-muted" href="#">Team feature</a></li>
+ <li><a class="text-muted" href="#">Stuff for developers</a></li>
+ <li><a class="text-muted" href="#">Another one</a></li>
+ <li><a class="text-muted" href="#">Last time</a></li>
+ </ul>
+ </div>
+ <div class="col-6 col-md">
+ <h5>Resources</h5>
+ <ul class="list-unstyled text-small">
+ <li><a class="text-muted" href="#">Resource</a></li>
+ <li><a class="text-muted" href="#">Resource name</a></li>
+ <li><a class="text-muted" href="#">Another resource</a></li>
+ <li><a class="text-muted" href="#">Final resource</a></li>
+ </ul>
+ </div>
+ <div class="col-6 col-md">
+ <h5>About</h5>
+ <ul class="list-unstyled text-small">
+ <li><a class="text-muted" href="#">Team</a></li>
+ <li><a class="text-muted" href="#">Locations</a></li>
+ <li><a class="text-muted" href="#">Privacy</a></li>
+ <li><a class="text-muted" href="#">Terms</a></li>
+ </ul>
+ </div>
+ </div>
+ </footer>
+</div>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/pricing/pricing.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/pricing/pricing.css
index cbf0ec013..cbf0ec013 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/pricing/pricing.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/pricing/pricing.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/product/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/product/index.html
new file mode 100644
index 000000000..aa69d572b
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/product/index.html
@@ -0,0 +1,145 @@
+---
+layout: examples
+title: Product example
+extra_css: "product.css"
+---
+
+<nav class="site-header sticky-top py-1">
+ <div class="container d-flex flex-column flex-md-row justify-content-between">
+ <a class="py-2" href="#">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="d-block mx-auto" role="img" viewBox="0 0 24 24" focusable="false"><title>Product</title><circle cx="12" cy="12" r="10"/><path d="M14.31 8l5.74 9.94M9.69 8h11.48M7.38 12l5.74-9.94M9.69 16L3.95 6.06M14.31 16H2.83m13.79-4l-5.74 9.94"/></svg>
+ </a>
+ <a class="py-2 d-none d-md-inline-block" href="#">Tour</a>
+ <a class="py-2 d-none d-md-inline-block" href="#">Product</a>
+ <a class="py-2 d-none d-md-inline-block" href="#">Features</a>
+ <a class="py-2 d-none d-md-inline-block" href="#">Enterprise</a>
+ <a class="py-2 d-none d-md-inline-block" href="#">Support</a>
+ <a class="py-2 d-none d-md-inline-block" href="#">Pricing</a>
+ <a class="py-2 d-none d-md-inline-block" href="#">Cart</a>
+ </div>
+</nav>
+
+<div class="position-relative overflow-hidden p-3 p-md-5 m-md-3 text-center bg-light">
+ <div class="col-md-5 p-lg-5 mx-auto my-5">
+ <h1 class="display-4 font-weight-normal">Punny headline</h1>
+ <p class="lead font-weight-normal">And an even wittier subheading to boot. Jumpstart your marketing efforts with this example based on Apple’s marketing pages.</p>
+ <a class="btn btn-outline-secondary" href="#">Coming soon</a>
+ </div>
+ <div class="product-device shadow-sm d-none d-md-block"></div>
+ <div class="product-device product-device-2 shadow-sm d-none d-md-block"></div>
+</div>
+
+<div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
+ <div class="bg-dark mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center text-white overflow-hidden">
+ <div class="my-3 py-3">
+ <h2 class="display-5">Another headline</h2>
+ <p class="lead">And an even wittier subheading.</p>
+ </div>
+ <div class="bg-light shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
+ </div>
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="my-3 p-3">
+ <h2 class="display-5">Another headline</h2>
+ <p class="lead">And an even wittier subheading.</p>
+ </div>
+ <div class="bg-dark shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
+ </div>
+</div>
+
+<div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="my-3 p-3">
+ <h2 class="display-5">Another headline</h2>
+ <p class="lead">And an even wittier subheading.</p>
+ </div>
+ <div class="bg-dark shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
+ </div>
+ <div class="bg-primary mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center text-white overflow-hidden">
+ <div class="my-3 py-3">
+ <h2 class="display-5">Another headline</h2>
+ <p class="lead">And an even wittier subheading.</p>
+ </div>
+ <div class="bg-light shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
+ </div>
+</div>
+
+<div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="my-3 p-3">
+ <h2 class="display-5">Another headline</h2>
+ <p class="lead">And an even wittier subheading.</p>
+ </div>
+ <div class="bg-white shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
+ </div>
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="my-3 py-3">
+ <h2 class="display-5">Another headline</h2>
+ <p class="lead">And an even wittier subheading.</p>
+ </div>
+ <div class="bg-white shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
+ </div>
+</div>
+
+<div class="d-md-flex flex-md-equal w-100 my-md-3 pl-md-3">
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="my-3 p-3">
+ <h2 class="display-5">Another headline</h2>
+ <p class="lead">And an even wittier subheading.</p>
+ </div>
+ <div class="bg-white shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
+ </div>
+ <div class="bg-light mr-md-3 pt-3 px-3 pt-md-5 px-md-5 text-center overflow-hidden">
+ <div class="my-3 py-3">
+ <h2 class="display-5">Another headline</h2>
+ <p class="lead">And an even wittier subheading.</p>
+ </div>
+ <div class="bg-white shadow-sm mx-auto" style="width: 80%; height: 300px; border-radius: 21px 21px 0 0;"></div>
+ </div>
+</div>
+
+<footer class="container py-5">
+ <div class="row">
+ <div class="col-12 col-md">
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="d-block mb-2" role="img" viewBox="0 0 24 24" focusable="false"><title>Product</title><circle cx="12" cy="12" r="10"/><path d="M14.31 8l5.74 9.94M9.69 8h11.48M7.38 12l5.74-9.94M9.69 16L3.95 6.06M14.31 16H2.83m13.79-4l-5.74 9.94"/></svg>
+ <small class="d-block mb-3 text-muted">&copy; 2017-{{ site.time | date: "%Y" }}</small>
+ </div>
+ <div class="col-6 col-md">
+ <h5>Features</h5>
+ <ul class="list-unstyled text-small">
+ <li><a class="text-muted" href="#">Cool stuff</a></li>
+ <li><a class="text-muted" href="#">Random feature</a></li>
+ <li><a class="text-muted" href="#">Team feature</a></li>
+ <li><a class="text-muted" href="#">Stuff for developers</a></li>
+ <li><a class="text-muted" href="#">Another one</a></li>
+ <li><a class="text-muted" href="#">Last time</a></li>
+ </ul>
+ </div>
+ <div class="col-6 col-md">
+ <h5>Resources</h5>
+ <ul class="list-unstyled text-small">
+ <li><a class="text-muted" href="#">Resource</a></li>
+ <li><a class="text-muted" href="#">Resource name</a></li>
+ <li><a class="text-muted" href="#">Another resource</a></li>
+ <li><a class="text-muted" href="#">Final resource</a></li>
+ </ul>
+ </div>
+ <div class="col-6 col-md">
+ <h5>Resources</h5>
+ <ul class="list-unstyled text-small">
+ <li><a class="text-muted" href="#">Business</a></li>
+ <li><a class="text-muted" href="#">Education</a></li>
+ <li><a class="text-muted" href="#">Government</a></li>
+ <li><a class="text-muted" href="#">Gaming</a></li>
+ </ul>
+ </div>
+ <div class="col-6 col-md">
+ <h5>About</h5>
+ <ul class="list-unstyled text-small">
+ <li><a class="text-muted" href="#">Team</a></li>
+ <li><a class="text-muted" href="#">Locations</a></li>
+ <li><a class="text-muted" href="#">Privacy</a></li>
+ <li><a class="text-muted" href="#">Terms</a></li>
+ </ul>
+ </div>
+ </div>
+</footer>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/product/product.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/product/product.css
index 4db2864fc..4db2864fc 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/product/product.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/product/product.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/sign-in/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/sign-in/index.html
new file mode 100644
index 000000000..ac480c817
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/sign-in/index.html
@@ -0,0 +1,23 @@
+---
+layout: examples
+title: Signin Template
+extra_css: "signin.css"
+body_class: "text-center"
+include_js: false
+---
+
+<form class="form-signin">
+ <img class="mb-4" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">
+ <h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>
+ <label for="inputEmail" class="sr-only">Email address</label>
+ <input type="email" id="inputEmail" class="form-control" placeholder="Email address" required autofocus>
+ <label for="inputPassword" class="sr-only">Password</label>
+ <input type="password" id="inputPassword" class="form-control" placeholder="Password" required>
+ <div class="checkbox mb-3">
+ <label>
+ <input type="checkbox" value="remember-me"> Remember me
+ </label>
+ </div>
+ <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
+ <p class="mt-5 mb-3 text-muted">&copy; 2017-{{ site.time | date: "%Y" }}</p>
+</form>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/sign-in/signin.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/sign-in/signin.css
index 90cc93e5b..90cc93e5b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/sign-in/signin.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/sign-in/signin.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/starter-template/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/starter-template/index.html
new file mode 100644
index 000000000..d90f50b85
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/starter-template/index.html
@@ -0,0 +1,47 @@
+---
+layout: examples
+title: Starter Template
+extra_css: "starter-template.css"
+---
+
+<nav class="navbar navbar-expand-md navbar-dark bg-dark 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>
+
+ <div class="collapse navbar-collapse" id="navbarsExampleDefault">
+ <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="#" tabindex="-1" aria-disabled="true">Disabled</a>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" id="dropdown01" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
+ <div class="dropdown-menu" aria-labelledby="dropdown01">
+ <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-lg-0">
+ <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
+ <button class="btn btn-secondary my-2 my-sm-0" type="submit">Search</button>
+ </form>
+ </div>
+</nav>
+
+<main role="main" class="container">
+
+ <div class="starter-template">
+ <h1>Bootstrap starter template</h1>
+ <p class="lead">Use this document as a way to quickly start any new project.<br> All you get is this text and a mostly barebones HTML document.</p>
+ </div>
+
+</main><!-- /.container -->
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/examples/starter-template/starter-template.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/starter-template/starter-template.css
index 5f64cd294..5f64cd294 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/examples/starter-template/starter-template.css
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/starter-template/starter-template.css
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer-navbar/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer-navbar/index.html
new file mode 100644
index 000000000..cd01e0bbd
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer-navbar/index.html
@@ -0,0 +1,49 @@
+---
+layout: examples
+title: Sticky Footer Navbar Template
+extra_css: "sticky-footer-navbar.css"
+html_class: "h-100"
+body_class: "d-flex flex-column h-100"
+---
+
+<header>
+ <!-- Fixed navbar -->
+ <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
+ <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>
+ <div class="collapse navbar-collapse" id="navbarCollapse">
+ <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="#" tabindex="-1" aria-disabled="true">Disabled</a>
+ </li>
+ </ul>
+ <form class="form-inline mt-2 mt-md-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>
+</header>
+
+<!-- Begin page content -->
+<main role="main" class="flex-shrink-0">
+ <div class="container">
+ <h1 class="mt-5">Sticky footer with fixed navbar</h1>
+ <p class="lead">Pin a footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added with <code>padding-top: 60px;</code> on the <code>main &gt; .container</code>.</p>
+ <p>Back to <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/sticky-footer/">the default sticky footer</a> minus the navbar.</p>
+ </div>
+</main>
+
+<footer class="footer mt-auto py-3">
+ <div class="container">
+ <span class="text-muted">Place sticky footer content here.</span>
+ </div>
+</footer>
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer-navbar/sticky-footer-navbar.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer-navbar/sticky-footer-navbar.css
new file mode 100644
index 000000000..b4696dab6
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer-navbar/sticky-footer-navbar.css
@@ -0,0 +1,20 @@
+/* Custom page CSS
+-------------------------------------------------- */
+/* Not required for template or sticky footer method. */
+
+main > .container {
+ padding: 60px 15px 0;
+}
+
+.footer {
+ background-color: #f5f5f5;
+}
+
+.footer > .container {
+ padding-right: 15px;
+ padding-left: 15px;
+}
+
+code {
+ font-size: 80%;
+}
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer/index.html b/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer/index.html
new file mode 100644
index 000000000..0d684ce92
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer/index.html
@@ -0,0 +1,23 @@
+---
+layout: examples
+title: Sticky Footer Template
+extra_css: "sticky-footer.css"
+html_class: "h-100"
+body_class: "d-flex flex-column h-100"
+include_js: false
+---
+
+<!-- Begin page content -->
+<main role="main" class="flex-shrink-0">
+ <div class="container">
+ <h1 class="mt-5">Sticky footer</h1>
+ <p class="lead">Pin a footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p>
+ <p>Use <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/examples/sticky-footer-navbar/">the sticky footer with a fixed navbar</a> if need be, too.</p>
+ </div>
+</main>
+
+<footer class="footer mt-auto py-3">
+ <div class="container">
+ <span class="text-muted">Place sticky footer content here.</span>
+ </div>
+</footer>
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer/sticky-footer.css b/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer/sticky-footer.css
new file mode 100644
index 000000000..7e85cdd2a
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/examples/sticky-footer/sticky-footer.css
@@ -0,0 +1,13 @@
+/* Custom page CSS
+-------------------------------------------------- */
+/* Not required for template or sticky footer method. */
+
+.container {
+ width: auto;
+ max-width: 680px;
+ padding: 0 15px;
+}
+
+.footer {
+ background-color: #f5f5f5;
+}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/accessibility.md b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/accessibility.md
index 5a0c0b0eb..edfe914df 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/accessibility.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/accessibility.md
@@ -18,7 +18,7 @@ Bootstrap's styling and layout can be applied to a wide range of markup structur
### Interactive components
-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).
+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/standards-guidelines/aria/) roles and attributes, these components should also be understandable and operable using assistive technologies (such as screen readers).
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.
@@ -45,7 +45,7 @@ For visually hidden interactive controls, such as traditional "skip" links, `.sr
### Reduced motion
-Bootstrap includes support for the [`prefers-reduced-motion` media feature](https://drafts.csswg.org/mediaqueries-5/#prefers-reduced-motion). In browsers/environments that allow the user to specify their preference for reduced motion, most CSS transition effects in Bootstrap (for instance, when a modal dialog is opened or closed) will be disabled. Currently, support is limited to Safari on macOS and iOS.
+Bootstrap includes support for the [`prefers-reduced-motion` media feature](https://drafts.csswg.org/mediaqueries-5/#prefers-reduced-motion). In browsers/environments that allow the user to specify their preference for reduced motion, most CSS transition effects in Bootstrap (for instance, when a modal dialog is opened or closed, or the sliding animation in carousels) will be disabled.
## Additional resources
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/best-practices.md b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/best-practices.md
index 1e7af39ee..1e7af39ee 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/best-practices.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/best-practices.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/browsers-devices.md b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/browsers-devices.md
index 8a4b0c8d7..078d9912d 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/browsers-devices.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/browsers-devices.md
@@ -12,21 +12,22 @@ Bootstrap supports the **latest, stable releases** of all major browsers and pla
Alternative browsers which use the latest version of WebKit, Blink, or Gecko, whether directly or via the platform's web view API, are not explicitly supported. However, Bootstrap should (in most cases) display and function correctly in these browsers as well. More specific support information is provided below.
-You can find our supported range of browsers and their versions [in our `package.json`]({{ site.repo }}/blob/v4-dev/package.json):
-
-```json
-"browserslist": [
- "last 1 major version",
- ">= 1%",
- "Chrome >= 45",
- "Firefox >= 38",
- "Edge >= 12",
- "Explorer >= 10",
- "iOS >= 9",
- "Safari >= 9",
- "Android >= 4.4",
- "Opera >= 30"
-]
+You can find our supported range of browsers and their versions [in our `.browserslistrc file`]({{ site.repo }}/blob/v{{ site.current_version }}/.browserslistrc):
+
+```
+# https://github.com/browserslist/browserslist#readme
+
+>= 1%
+last 1 major version
+not dead
+Chrome >= 45
+Firefox >= 38
+Edge >= 12
+Explorer >= 10
+iOS >= 9
+Safari >= 9
+Android >= 4.4
+Opera >= 30
```
We use [Autoprefixer](https://github.com/postcss/autoprefixer) to handle intended browser support via CSS prefixes, which uses [Browserslist](https://github.com/browserslist/browserslist) to manage these browser versions. Consult their documentation for how to integrate these tools into your projects.
@@ -120,9 +121,7 @@ For a list of some of the browser bugs that Bootstrap has to grapple with, see o
## Internet Explorer
-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...](https://caniuse.com/) for details on browser support of CSS3 and HTML5 features.
-
-**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+ 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...](https://caniuse.com/) for details on browser support of CSS3 and HTML5 features. **If you require IE8-9 support, use Bootstrap 3.**
## Modals and dropdowns on mobile
@@ -182,7 +181,7 @@ $(function () {
</script>
{% endhighlight %}
-Want to see an example? [Check out this JS Bin demo.](http://jsbin.com/OyaqoDO/2)
+Want to see an example? [Check out this JS Bin demo](http://jsbin.com/OyaqoDO/2).
## Validators
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/build-tools.md b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/build-tools.md
index c26d9bdd0..186686de0 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/build-tools.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/build-tools.md
@@ -8,7 +8,7 @@ toc: true
## Tooling setup
-Bootstrap uses [NPM scripts](https://docs.npmjs.com/misc/scripts) for its build system. Our [package.json]({{ site.repo }}/blob/v{{ site.current_version }}/package.json) 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]({{ site.repo }}/blob/v{{ site.current_version }}/package.json) includes convenient methods for working with the framework, including compiling code, running tests, and more.
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:
@@ -22,13 +22,13 @@ When completed, you'll be able to run the various commands provided from the com
[install-ruby]: https://www.ruby-lang.org/en/documentation/installation/
[gembundler]: https://bundler.io/
-## Using NPM scripts
+## Using npm scripts
Our [package.json]({{ site.repo }}/blob/v{{ site.current_version }}/package.json) includes the following commands and tasks:
| Task | Description |
| --- | --- |
-| `npm run dist` | `npm run dist` creates the `/dist` directory with compiled files. **Uses [Sass](https://sass-lang.com/), [Autoprefixer][autoprefixer], and [UglifyJS](https://github.com/mishoo/UglifyJS2).** |
+| `npm run dist` | `npm run dist` creates the `/dist/` directory with compiled files. **Uses [Sass](https://sass-lang.com/), [Autoprefixer][autoprefixer], and [UglifyJS](https://github.com/mishoo/UglifyJS2).** |
| `npm test` | Same as `npm run dist` plus it runs tests locally |
| `npm run docs` | Builds and lints CSS and JavaScript for docs. You can then run the documentation locally via `npm run docs-serve`. |
@@ -38,7 +38,7 @@ Run `npm run` to see all the npm scripts.
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 [/package.json]({{ site.repo }}/blob/v{{ site.current_version }}/package.json) for details.
+We maintain the list of browsers supported through Autoprefixer in a separate file within our GitHub repository. See [.browserslistrc]({{ site.repo }}/blob/v{{ site.current_version }}/.browserslistrc) for details.
## Local documentation
@@ -48,7 +48,7 @@ Running our documentation locally requires the use of Jekyll, a decently flexibl
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/).
+Learn more about using Jekyll by reading its [documentation](https://jekyllrb.com/docs/).
## Troubleshooting
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/contents.md b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/contents.md
index fd38e2fba..3b5d3777e 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/contents.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/contents.md
@@ -129,10 +129,12 @@ bootstrap/
├── dist/
│ ├── css/
│ └── js/
-├── docs/
-│ └── examples/
+├── site/
+│ └──docs/
+│ └── 4.3/
+│ └── examples/
├── js/
└── scss/
{% endhighlight %}
-The `scss/` and `js/` are the source code for our CSS and JavaScript. The `dist/` folder includes everything listed in the precompiled download section above. The `docs/` folder includes the source code for our documentation, and `examples/` of Bootstrap usage. Beyond that, any other included file provides support for packages, license information, and development.
+The `scss/` and `js/` are the source code for our CSS and JavaScript. The `dist/` folder includes everything listed in the precompiled download section above. The `site/docs/` folder includes the source code for our documentation, and `examples/` of Bootstrap usage. Beyond that, any other included file provides support for packages, license information, and development.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/download.md b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/download.md
index e0845564c..d618c5d13 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/download.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/download.md
@@ -63,6 +63,14 @@ Bootstrap's `package.json` contains some additional metadata under the following
- `sass` - path to Bootstrap's main [Sass](https://sass-lang.com/) source file
- `style` - path to Bootstrap's non-minified CSS that's been precompiled using the default settings (no customization)
+### yarn
+
+Install Bootstrap in your Node.js powered apps with [the yarn package](https://yarnpkg.com/en/package/yarn):
+
+{% highlight sh %}
+yarn add bootstrap
+{% endhighlight %}
+
### RubyGems
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):
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/introduction.md b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/introduction.md
index 77a9a6fdf..427d4ea7d 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/introduction.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/introduction.md
@@ -4,16 +4,17 @@ title: Introduction
description: Get started with Bootstrap, the world's most popular framework for building responsive, mobile-first sites, with BootstrapCDN and a template starter page.
group: getting-started
redirect_from:
- - /docs/
- - /docs/4.1/
- - /docs/4.1/getting-started/
- - /docs/getting-started/
+ - "/docs/"
+ - "/docs/4.3/"
+ - "/docs/4.3/getting-started/"
+ - "/docs/getting-started/"
+ - "/getting-started/"
toc: true
---
## Quick start
-Looking to quickly add Bootstrap to your project? Use BootstrapCDN, provided for free by the folks at StackPath. Using a package manager or need to download the source files? [Head to the downloads page.]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/download/)
+Looking to quickly add Bootstrap to your project? Use BootstrapCDN, provided for free by the folks at StackPath. Using a package manager or need to download the source files? [Head to the downloads page]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/download/).
### CSS
@@ -25,7 +26,7 @@ Copy-paste the stylesheet `<link>` into your `<head>` before all other styleshee
### JS
-Many of our components require the use of JavaScript to function. Specifically, they require [jQuery](https://jquery.com), [Popper.js](https://popper.js.org/), and our own JavaScript plugins. Place the following `<script>`s near the end of your pages, right before the closing `</body>` tag, to enable them. jQuery must come first, then Popper.js, and then our JavaScript plugins.
+Many of our components require the use of JavaScript to function. Specifically, they require [jQuery](https://jquery.com/), [Popper.js](https://popper.js.org/), and our own JavaScript plugins. Place the following `<script>`s near the end of your pages, right before the closing `</body>` tag, to enable them. jQuery must come first, then Popper.js, and then our JavaScript plugins.
We use [jQuery's slim build](https://blog.jquery.com/2016/06/09/jquery-3-0-final-released/), but the full version is also supported.
@@ -135,11 +136,11 @@ For improved cross-browser rendering, we use [Reboot]({{ site.baseurl }}/docs/{{
Stay up to date on the development of Bootstrap and reach out to the community with these helpful resources.
-- Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap).
-- Read and subscribe to [The Official Bootstrap Blog]({{ site.blog }}).
-- Join [the official Slack room]({{ site.slack }}).
+- Follow [@getbootstrap on Twitter](https://twitter.com/{{ site.twitter }}).
+- Read and subscribe to [The Official Bootstrap Blog]({{ site.blog }}/).
+- Join [the official Slack room]({{ site.slack }}/).
- Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel.
- Implementation help may be found at Stack Overflow (tagged [`bootstrap-4`](https://stackoverflow.com/questions/tagged/bootstrap-4)).
-- Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability.
+- Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/search?q=keywords:bootstrap) or similar delivery mechanisms for maximum discoverability.
-You can also follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap) for the latest gossip and awesome music videos.
+You can also follow [@getbootstrap on Twitter](https://twitter.com/{{ site.twitter }}) for the latest gossip and awesome music videos.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/javascript.md b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/javascript.md
index 20500c2af..a509bd482 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/javascript.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/javascript.md
@@ -35,8 +35,10 @@ $(document).off('.alert.data-api')
{% endhighlight %}
{% capture callout %}
-##### Escaping selectors
-If you use special selectors, for example: `collapse:Example`, be sure to escape them, because they'll be passed through jQuery.
+## Selectors
+
+Currently to query DOM elements we use the native methods `querySelector` and `querySelectorAll` for performance reasons, so you have to use [valid selectors](https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier).
+If you use special selectors, for example: `collapse:Example` be sure to escape them.
{% endcapture %}
{% include callout.html content=callout type="warning" %}
@@ -48,7 +50,9 @@ All infinitive events provide [`preventDefault()`](https://developer.mozilla.org
{% highlight js %}
$('#myModal').on('show.bs.modal', function (e) {
- if (!data) return e.preventDefault() // stops modal from being shown
+ if (!data) {
+ return e.preventDefault() // stops modal from being shown
+ }
})
{% endhighlight %}
@@ -63,16 +67,16 @@ $('.btn.danger').button('toggle').addClass('fat')
All methods should accept an optional options object, a string which targets a particular method, or nothing (which initiates a plugin with default behavior):
{% highlight js %}
-$('#myModal').modal() // initialized with defaults
-$('#myModal').modal({ keyboard: false }) // initialized with no keyboard
-$('#myModal').modal('show') // initializes and invokes show immediately
+$('#myModal').modal() // initialized with defaults
+$('#myModal').modal({ keyboard: false }) // initialized with no keyboard
+$('#myModal').modal('show') // initializes and invokes show immediately
{% endhighlight %}
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')`.
### Asynchronous functions and transitions
-All programmatic API methods are **asynchronous** and returns to the caller once the transition is started but **before it ends**.
+All programmatic API methods are **asynchronous** and return 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.
@@ -98,7 +102,8 @@ $('#myCarousel').carousel('2') // !! Will be ignored, as the transition to the s
You can change the default settings for a plugin by modifying the plugin's `Constructor.Default` object:
{% highlight js %}
-$.fn.modal.Constructor.Default.keyboard = false // changes default for the modal plugin's `keyboard` option to false
+// changes default for the modal plugin's `keyboard` option to false
+$.fn.modal.Constructor.Default.keyboard = false
{% endhighlight %}
## No conflict
@@ -107,7 +112,7 @@ Sometimes it is necessary to use Bootstrap plugins with other UI frameworks. In
{% highlight js %}
var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
-$.fn.bootstrapBtn = bootstrapButton // give $().bootstrapBtn the Bootstrap functionality
+$.fn.bootstrapBtn = bootstrapButton // give $().bootstrapBtn the Bootstrap functionality
{% endhighlight %}
## Version numbers
@@ -134,3 +139,73 @@ Bootstrap's plugins don't fall back particularly gracefully when JavaScript is d
All Bootstrap's JavaScript files depend on `util.js` and it has to be included alongside the other JavaScript files. If you're using the compiled (or minified) `bootstrap.js`, there is no need to include this—it's already there.
`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.
+
+## Sanitizer
+
+Tooltips and Popovers use our built-in sanitizer to sanitize options which accept HTML.
+
+The default `whiteList` value is the following:
+
+{% highlight js %}
+var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i
+var DefaultWhitelist = {
+ // Global attributes allowed on any supplied element below.
+ '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
+ a: ['target', 'href', 'title', 'rel'],
+ area: [],
+ b: [],
+ br: [],
+ col: [],
+ code: [],
+ div: [],
+ em: [],
+ hr: [],
+ h1: [],
+ h2: [],
+ h3: [],
+ h4: [],
+ h5: [],
+ h6: [],
+ i: [],
+ img: ['src', 'alt', 'title', 'width', 'height'],
+ li: [],
+ ol: [],
+ p: [],
+ pre: [],
+ s: [],
+ small: [],
+ span: [],
+ sub: [],
+ sup: [],
+ strong: [],
+ u: [],
+ ul: []
+}
+{% endhighlight %}
+
+If you want to add new values to this default `whiteList` you can do the following:
+
+{% highlight js %}
+var myDefaultWhiteList = $.fn.tooltip.Constructor.Default.whiteList
+
+// To allow table elements
+myDefaultWhiteList.table = []
+
+// To allow td elements and data-option attributes on td elements
+myDefaultWhiteList.td = ['data-option']
+
+// You can push your custom regex to validate your attributes.
+// Be careful about your regular expressions being too lax
+var myCustomRegex = /^data-my-app-[\w-]+/
+myDefaultWhiteList['*'].push(myCustomRegex)
+{% endhighlight %}
+
+If you want to bypass our sanitizer because you prefer to use a dedicated library, for example [DOMPurify](https://www.npmjs.com/package/dompurify), you should do the following:
+
+{% highlight js %}
+$('#yourTooltip').tooltip({
+ sanitizeFn: function (content) {
+ return DOMPurify.sanitize(content)
+ }
+})
+{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/theming.md b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/theming.md
index 192e819bc..8e3339c15 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/theming.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/theming.md
@@ -4,7 +4,6 @@ title: Theming Bootstrap
description: Customize Bootstrap 4 with our new built-in Sass variables for global style preferences for easy theming and component changes.
group: getting-started
toc: true
-redirect_from: "/docs/4.1/getting-started/options/"
---
## Introduction
@@ -15,7 +14,7 @@ Now, theming is accomplished by Sass variables, Sass maps, and custom CSS. There
## Sass
-Utilize our source Sass files to take advantage of variables, maps, mixins, and more.
+Utilize our source Sass files to take advantage of variables, maps, mixins, and more. In our build we've increased the Sass rounding precision to 6 (by default it's 5) to prevent issues with browser rounding.
### File structure
@@ -76,7 +75,7 @@ With that setup in place, you can begin to modify any of the Sass variables and
Every Sass variable in Bootstrap 4 includes the `!default` flag allowing you to override the variable's default value in your own Sass without modifying Bootstrap's source code. Copy and paste variables as needed, modify their values, and remove the `!default` flag. If a variable has already been assigned, then it won't be re-assigned by the default values in Bootstrap.
-You will find the complete list of Bootstrap's variables in `scss/_variables.scss`.
+You will find the complete list of Bootstrap's variables in `scss/_variables.scss`. Some variables are set to `null`, these variables don't output the property unless they are overridden in your configuration.
Variable overrides within the same Sass file can come before or after the default variables. However, when overriding across Sass files, your overrides must come before you import Bootstrap's Sass files.
@@ -230,17 +229,22 @@ Customize Bootstrap 4 with our built-in custom variables file and easily toggle
You can find and customize these variables for key global options in Bootstrap's `scss/_variables.scss` file.
-| Variable | Values | Description |
-| --------------------------- | ---------------------------------- | -------------------------------------------------------------------------------------- |
-| `$spacer` | `1rem` (default), or any value > 0 | Specifies the default spacer value to programmatically generate our [spacer utilities]({{ site.baseurl }}/docs/{{ site.docs_version }}/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) | **Deprecated** |
-| `$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-caret` | `true` (default) or `false` | Enables pseudo element caret on `.dropdown-toggle`. |
-| `$enable-print-styles` | `true` (default) or `false` | Enables styles for optimizing printing. |
+| Variable | Values | Description |
+| -------------------------------------------- | ---------------------------------- | -------------------------------------------------------------------------------------- |
+| `$spacer` | `1rem` (default), or any value > 0 | Specifies the default spacer value to programmatically generate our [spacer utilities]({{ site.baseurl }}/docs/{{ site.docs_version }}/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-prefers-reduced-motion-media-query` | `true` (default) or `false` | Enables the [`prefers-reduced-motion` media query]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/accessibility/#reduced-motion), which suppresses certain animations/transitions based on the users' browser/operating system preferences. |
+| `$enable-hover-media-query` | `true` or `false` (default) | **Deprecated** |
+| `$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-caret` | `true` (default) or `false` | Enables pseudo element caret on `.dropdown-toggle`. |
+| `$enable-pointer-cursor-for-buttons` | `true` (default) or `false` | Add "hand" cursor to non-disabled button elements. |
+| `$enable-print-styles` | `true` (default) or `false` | Enables styles for optimizing printing. |
+| `$enable-responsive-font-sizes` | `true` or `false` (default) | Enables [responsive font sizes]({{ site.baseurl }}/docs/{{ site.docs_version }}/content/typography/#responsive-font-sizes). |
+| `$enable-validation-icons` | `true` (default) or `false` | Enables `background-image` icons within textual inputs and some custom forms for validation states. |
+| `$enable-deprecation-messages` | `true` or `false` (default) | Set to `true` to show warnings when using any of the deprecated mixins and functions that are planned to be removed in `v5`. |
## Color
@@ -291,7 +295,7 @@ We use a subset of all colors to create a smaller color palette for generating c
### Grays
-An expansive set of gray variables and a Sass map in `scss/_variables.scss` for consistent shades of gray across your project.
+An expansive set of gray variables and a Sass map in `scss/_variables.scss` for consistent shades of gray across your project. Note that these are "cool grays", which tend towards a subtle blue tone, rather than neutral grays.
<div class="row mb-3">
<div class="col-md-4">
@@ -421,7 +425,7 @@ a {
### Breakpoint variables
-While we originally included breakpoints in our CSS variables (e.g., `--breakpoint-md`), **these are not supported in media queries**, but they can still be used _within_ rulesets in media queries. These breakpoint variables remain in the compiled CSS for backward compatibility given they can be utilized by JavaScript. [Learn more in the spec.](https://www.w3.org/TR/css-variables-1/#using-variables)
+While we originally included breakpoints in our CSS variables (e.g., `--breakpoint-md`), **these are not supported in media queries**, but they can still be used _within_ rulesets in media queries. These breakpoint variables remain in the compiled CSS for backward compatibility given they can be utilized by JavaScript. [Learn more in the spec](https://www.w3.org/TR/css-variables-1/#using-variables).
Here's an example of **what's not supported:**
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/webpack.md b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/webpack.md
index 59211b075..ad4fa2f3a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/getting-started/webpack.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/getting-started/webpack.md
@@ -1,7 +1,7 @@
---
layout: docs
title: Webpack
-description: Learn how to include Bootstrap in your project using Webpack 3.
+description: Learn how to include Bootstrap in your project using Webpack.
group: getting-started
toc: true
---
@@ -36,7 +36,7 @@ to your `package.json` using `npm install --save jquery popper.js`.
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]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/options/). Then, use your main Sass file to import your custom variables, followed by Bootstrap:
+First, create your own `_custom.scss` and use it to override the [built-in custom variables]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/theming/). Then, use your main Sass file to import your custom variables, followed by Bootstrap:
{% highlight scss %}
@import "custom";
@@ -46,28 +46,27 @@ First, create your own `_custom.scss` and use it to override the [built-in custo
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). 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')
- ];
- }
+...
+{
+ test: /\.(scss)$/,
+ use: [{
+ loader: 'style-loader', // inject CSS to page
+ }, {
+ loader: 'css-loader', // translates CSS into CommonJS modules
+ }, {
+ loader: 'postcss-loader', // Run postcss actions
+ options: {
+ plugins: function () { // postcss plugins, can be exported to postcss.config.js
+ return [
+ require('autoprefixer')
+ ];
}
- }, {
- loader: 'sass-loader' // compiles Sass to CSS
- }]
- },
- ...
+ }
+ }, {
+ loader: 'sass-loader' // compiles Sass to CSS
+ }]
+},
+...
{% endhighlight %}
### Importing Compiled CSS
@@ -81,14 +80,14 @@ import 'bootstrap/dist/css/bootstrap.min.css';
In this case you may use your existing rule for `css` without any special modifications to webpack config, except you don't need `sass-loader` just [style-loader](https://github.com/webpack-contrib/style-loader) and [css-loader](https://github.com/webpack-contrib/css-loader).
{% highlight js %}
- ...
- module: {
- rules: [
- {
- test: /\.css$/,
- use: ['style-loader', 'css-loader']
- }
- ]
- }
- ...
+...
+module: {
+ rules: [
+ {
+ test: /\.css$/,
+ use: ['style-loader', 'css-loader']
+ }
+ ]
+}
+...
{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/layout/grid.md b/vendor/twbs/bootstrap/site/docs/4.3/layout/grid.md
index e697517d7..a6f4ac5ab 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/layout/grid.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/layout/grid.md
@@ -242,12 +242,14 @@ Create equal-width columns that span multiple rows by inserting a `.w-100` where
<div class="bd-example-row">
{% capture example %}
-<div class="row">
- <div class="col">col</div>
- <div class="col">col</div>
- <div class="w-100"></div>
- <div class="col">col</div>
- <div class="col">col</div>
+<div class="container">
+ <div class="row">
+ <div class="col">col</div>
+ <div class="col">col</div>
+ <div class="w-100"></div>
+ <div class="col">col</div>
+ <div class="col">col</div>
+ </div>
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -263,15 +265,17 @@ For grids that are the same from the smallest of devices to the largest, use the
<div class="bd-example-row">
{% capture example %}
-<div class="row">
- <div class="col">col</div>
- <div class="col">col</div>
- <div class="col">col</div>
- <div class="col">col</div>
-</div>
-<div class="row">
- <div class="col-8">col-8</div>
- <div class="col-4">col-4</div>
+<div class="container">
+ <div class="row">
+ <div class="col">col</div>
+ <div class="col">col</div>
+ <div class="col">col</div>
+ <div class="col">col</div>
+ </div>
+ <div class="row">
+ <div class="col-8">col-8</div>
+ <div class="col-4">col-4</div>
+ </div>
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -283,14 +287,16 @@ Using a single set of `.col-sm-*` classes, you can create a basic grid system th
<div class="bd-example-row">
{% capture example %}
-<div class="row">
- <div class="col-sm-8">col-sm-8</div>
- <div class="col-sm-4">col-sm-4</div>
-</div>
-<div class="row">
- <div class="col-sm">col-sm</div>
- <div class="col-sm">col-sm</div>
- <div class="col-sm">col-sm</div>
+<div class="container">
+ <div class="row">
+ <div class="col-sm-8">col-sm-8</div>
+ <div class="col-sm-4">col-sm-4</div>
+ </div>
+ <div class="row">
+ <div class="col-sm">col-sm</div>
+ <div class="col-sm">col-sm</div>
+ <div class="col-sm">col-sm</div>
+ </div>
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -302,31 +308,49 @@ Don't want your columns to simply stack in some grid tiers? Use a combination of
<div class="bd-example-row">
{% capture example %}
-<!-- Stack the columns on mobile by making one full-width and the other half-width -->
-<div class="row">
- <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>
+<div class="container">
+ <!-- Stack the columns on mobile by making one full-width and the other half-width -->
+ <div class="row">
+ <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>
-<!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
-<div class="row">
- <div class="col-6 col-md-4">.col-6 .col-md-4</div>
- <div class="col-6 col-md-4">.col-6 .col-md-4</div>
- <div class="col-6 col-md-4">.col-6 .col-md-4</div>
-</div>
+ <!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
+ <div class="row">
+ <div class="col-6 col-md-4">.col-6 .col-md-4</div>
+ <div class="col-6 col-md-4">.col-6 .col-md-4</div>
+ <div class="col-6 col-md-4">.col-6 .col-md-4</div>
+ </div>
-<!-- Columns are always 50% wide, on mobile and desktop -->
-<div class="row">
- <div class="col-6">.col-6</div>
- <div class="col-6">.col-6</div>
+ <!-- Columns are always 50% wide, on mobile and desktop -->
+ <div class="row">
+ <div class="col-6">.col-6</div>
+ <div class="col-6">.col-6</div>
+ </div>
</div>
{% endcapture %}
{% include example.html content=example %}
</div>
+### Gutters
+
+Gutters can be responsively adjusted by breakpoint-specific padding and negative margin utility classes. To change the gutters in a given row, pair a negative margin utility on the `.row` and matching padding utilities on the `.col`s. The `.container` or `.container-fluid` parent may need to be adjusted too to avoid unwanted overflow, using again matching padding utility.
+
+Here's an example of customizing the Bootstrap grid at the large (`lg`) breakpoint and above. We've increased the `.col` padding with `.px-lg-5`, counteracted that with `.mx-lg-n5` on the parent `.row` and then adjusted the `.container` wrapper with `.px-lg-5`.
+
+{% capture example %}
+<div class="container px-lg-5">
+ <div class="row mx-lg-n5">
+ <div class="col py-3 px-lg-5 border bg-light">Custom column padding</div>
+ <div class="col py-3 px-lg-5 border bg-light">Custom column padding</div>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
## Alignment
-Use flexbox alignment utilities to vertically and horizontally align columns.
+Use flexbox alignment utilities to vertically and horizontally align columns. **Internet Explorer 10-11 do not support vertical alignment of flex items when the flex container has a `min-height` as shown below.** [See Flexbugs #3 for more details.](https://github.com/philipwalton/flexbugs#flexbug-3)
### Vertical alignment
@@ -479,10 +503,12 @@ If more than 12 columns are placed within a single row, each group of extra colu
<div class="bd-example-row">
{% capture example %}
-<div class="row">
- <div class="col-9">.col-9</div>
- <div class="col-4">.col-4<br>Since 9 + 4 = 13 &gt; 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>
- <div class="col-6">.col-6<br>Subsequent columns continue along the new line.</div>
+<div class="container">
+ <div class="row">
+ <div class="col-9">.col-9</div>
+ <div class="col-4">.col-4<br>Since 9 + 4 = 13 &gt; 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>
+ <div class="col-6">.col-6<br>Subsequent columns continue along the new line.</div>
+ </div>
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -494,15 +520,17 @@ Breaking columns to a new line in flexbox requires a small hack: add an element
<div class="bd-example-row">
{% capture example %}
-<div class="row">
- <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>
+<div class="container">
+ <div class="row">
+ <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>
- <!-- Force next columns to break to new line -->
- <div class="w-100"></div>
+ <!-- Force next columns to break to new line -->
+ <div class="w-100"></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>
+ <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>
+ </div>
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -512,15 +540,17 @@ You may also apply this break at specific breakpoints with our [responsive displ
<div class="bd-example-row">
{% capture example %}
-<div class="row">
- <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
- <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
+<div class="container">
+ <div class="row">
+ <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
+ <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
- <!-- Force next columns to break to new line at md breakpoint and up -->
- <div class="w-100 d-none d-md-block"></div>
+ <!-- Force next columns to break to new line at md breakpoint and up -->
+ <div class="w-100 d-none d-md-block"></div>
- <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
- <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
+ <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
+ <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
+ </div>
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -582,16 +612,18 @@ Move columns to the right using `.offset-md-*` classes. These classes increase t
<div class="bd-example-row">
{% capture example %}
-<div class="row">
- <div class="col-md-4">.col-md-4</div>
- <div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div>
-</div>
-<div class="row">
- <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
- <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
-</div>
-<div class="row">
- <div class="col-md-6 offset-md-3">.col-md-6 .offset-md-3</div>
+<div class="container">
+ <div class="row">
+ <div class="col-md-4">.col-md-4</div>
+ <div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div>
+ </div>
+ <div class="row">
+ <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
+ <div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
+ </div>
+ <div class="row">
+ <div class="col-md-6 offset-md-3">.col-md-6 .offset-md-3</div>
+ </div>
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -601,14 +633,15 @@ In addition to column clearing at responsive breakpoints, you may need to reset
<div class="bd-example-row">
{% capture example %}
-<div class="row">
- <div class="col-sm-5 col-md-6">.col-sm-5 .col-md-6</div>
- <div class="col-sm-5 offset-sm-2 col-md-6 offset-md-0">.col-sm-5 .offset-sm-2 .col-md-6 .offset-md-0</div>
-</div>
-
-<div class="row">
- <div class="col-sm-6 col-md-5 col-lg-6">.col-sm-6 .col-md-5 .col-lg-6</div>
- <div class="col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0">.col-sm-6 .col-md-5 .offset-md-2 .col-lg-6 .offset-lg-0</div>
+<div class="container">
+ <div class="row">
+ <div class="col-sm-5 col-md-6">.col-sm-5 .col-md-6</div>
+ <div class="col-sm-5 offset-sm-2 col-md-6 offset-md-0">.col-sm-5 .offset-sm-2 .col-md-6 .offset-md-0</div>
+ </div>
+ <div class="row">
+ <div class="col-sm-6 col-md-5 col-lg-6">.col-sm-6 .col-md-5 .col-lg-6</div>
+ <div class="col-sm-6 col-md-5 offset-md-2 col-lg-6 offset-lg-0">.col-sm-6 .col-md-5 .offset-md-2 .col-lg-6 .offset-lg-0</div>
+ </div>
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -620,17 +653,19 @@ With the move to flexbox in v4, you can use margin utilities like `.mr-auto` to
<div class="bd-example-row">
{% capture example %}
-<div class="row">
- <div class="col-md-4">.col-md-4</div>
- <div class="col-md-4 ml-auto">.col-md-4 .ml-auto</div>
-</div>
-<div class="row">
- <div class="col-md-3 ml-md-auto">.col-md-3 .ml-md-auto</div>
- <div class="col-md-3 ml-md-auto">.col-md-3 .ml-md-auto</div>
-</div>
-<div class="row">
- <div class="col-auto mr-auto">.col-auto .mr-auto</div>
- <div class="col-auto">.col-auto</div>
+<div class="container">
+ <div class="row">
+ <div class="col-md-4">.col-md-4</div>
+ <div class="col-md-4 ml-auto">.col-md-4 .ml-auto</div>
+ </div>
+ <div class="row">
+ <div class="col-md-3 ml-md-auto">.col-md-3 .ml-md-auto</div>
+ <div class="col-md-3 ml-md-auto">.col-md-3 .ml-md-auto</div>
+ </div>
+ <div class="row">
+ <div class="col-auto mr-auto">.col-auto .mr-auto</div>
+ <div class="col-auto">.col-auto</div>
+ </div>
</div>
{% endcapture %}
{% include example.html content=example %}
@@ -642,15 +677,17 @@ To nest your content with the default grid, add a new `.row` and set of `.col-sm
<div class="bd-example-row">
{% capture example %}
-<div class="row">
- <div class="col-sm-9">
- Level 1: .col-sm-9
- <div class="row">
- <div class="col-8 col-sm-6">
- Level 2: .col-8 .col-sm-6
- </div>
- <div class="col-4 col-sm-6">
- Level 2: .col-4 .col-sm-6
+<div class="container">
+ <div class="row">
+ <div class="col-sm-9">
+ Level 1: .col-sm-9
+ <div class="row">
+ <div class="col-8 col-sm-6">
+ Level 2: .col-8 .col-sm-6
+ </div>
+ <div class="col-4 col-sm-6">
+ Level 2: .col-4 .col-sm-6
+ </div>
</div>
</div>
</div>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/layout/overview.md b/vendor/twbs/bootstrap/site/docs/4.3/layout/overview.md
index 102e25727..ff21f2cba 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/layout/overview.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/layout/overview.md
@@ -3,7 +3,7 @@ layout: docs
title: Overview
description: Components and options for laying out your Bootstrap project, including wrapping containers, a powerful grid system, a flexible media object, and responsive utility classes.
group: layout
-redirect_from: "/docs/4.1/layout/"
+redirect_from: "/docs/4.3/layout/"
toc: true
---
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/layout/utilities-for-layout.md b/vendor/twbs/bootstrap/site/docs/4.3/layout/utilities-for-layout.md
index a62a5abe0..a62a5abe0 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/layout/utilities-for-layout.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/layout/utilities-for-layout.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/migration.md b/vendor/twbs/bootstrap/site/docs/4.3/migration.md
index 6798d8729..af76b022c 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/migration.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/migration.md
@@ -3,12 +3,13 @@ layout: docs
title: Migrating to v4
description: Bootstrap 4 is a major rewrite of the entire project. The most notable changes are summarized below, followed by more specific changes to relevant components.
group: migration
+redirect_from: "/migration/"
toc: true
---
## Stable changes
-Moving from Beta 3 to our stable v4.0 release, there are no breaking changes, but there are some notable changes.
+Moving from Beta 3 to our stable v4.x release, there are no breaking changes, but there are some notable changes.
### Printing
- Fixed broken print utilities. Previously, using a `.d-print-*` class would unexpectedly overrule any other `.d-*` class. Now, they match our other display utilities and only apply to that media (`@media print`).
@@ -109,12 +110,12 @@ Here are the big ticket items you'll want to be aware of when moving from v3 to
- **Dropped panels, thumbnails, and wells** for a new all-encompassing component, [cards]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/card/).
- **Dropped the Glyphicons icon font.** If you need icons, some options are:
- - the upstream version of [Glyphicons](https://glyphicons.com/)
+ - the upstream version of [Glyphicons](https://www.glyphicons.com/)
- [Octicons](https://octicons.github.com/)
- [Font Awesome](https://fontawesome.com/)
- See the [Extend page]({{ site.baseurl }}/docs/{{ site.docs_version }}/extend/icons/) for a list of alternatives. Have additional suggestions? Please open an issue or PR.
- **Dropped the Affix jQuery plugin.**
- - We recommend using `position: sticky` instead. [See the HTML5 Please entry](http://html5please.com/#sticky) for details and specific polyfill recommendations. One suggestion is to use an `@supports` rule for implementing it (e.g., `@supports (position: sticky) { ... }`)/
+ - We recommend using `position: sticky` instead. [See the HTML5 Please entry](https://html5please.com/#sticky) for details and specific polyfill recommendations. One suggestion is to use an `@supports` rule for implementing it (e.g., `@supports (position: sticky) { ... }`)
- 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.
- **Refactored nearly all components** to use more un-nested class selectors instead of over-specific children selectors.
@@ -209,7 +210,7 @@ New to Bootstrap 4 is the [Reboot]({{ site.baseurl }}/docs/{{ site.docs_version
### Modal
- Rewrote component with flexbox.
-- Given move to flexbox, alignment of dismiss icons in the header is likely broken as we're no longer using floats. Floated content comes first, but with flexbox that's no longer the case. Update your dismiss icons to come after modal titles to fix.
+- Given the move to flexbox, alignment of dismiss icons in the header is likely broken as we're no longer using floats. Floated content comes first, but with flexbox that's no longer the case. Update your dismiss icons to come after modal titles to fix.
- The `remote` option (which could be used to automatically load and inject external content into a modal) and the corresponding `loaded.bs.modal` event were removed. We recommend instead using client-side templating or a data binding framework, or calling [jQuery.load](https://api.jquery.com/load/) yourself.
### Navs
@@ -288,7 +289,7 @@ Dropped entirely for the new card component.
- **Display, hidden, and more:**
- Made display utilities responsive (e.g., `.d-none` and `d-{sm,md,lg,xl}-none`).
- - Dropped the bulk of `.hidden-*` utilities for new [display utilities]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/display/). For example, instead of `.hidden-sm-up`, use `.d-sm-none`. Renamed the `.hidden-print` utilities to use the display utility naming scheme. [More info under the Responsive utilities section of this page.](#responsive-utilities)
+ - Dropped the bulk of `.hidden-*` utilities for new [display utilities]({{ site.baseurl }}/docs/{{ site.docs_version }}/utilities/display/). For example, instead of `.hidden-sm-up`, use `.d-sm-none`. Renamed the `.hidden-print` utilities to use the display utility naming scheme. More info under the [Responsive utilities](#responsive-utilities) section of this page.
- Added `.float-{sm,md,lg,xl}-{left,right,none}` classes for responsive floats and removed `.pull-left` and `.pull-right` since they're redundant to `.float-left` and `.float-right`.
- **Type:**
- Added responsive variations to our text alignment classes `.text-{sm,md,lg,xl}-{left,center,right}`.
@@ -300,7 +301,7 @@ Dropped entirely for the new card component.
### Vendor prefix mixins
-Bootstrap 3's [vendor prefix](https://www.thoughtco.com/css-vendor-prefixes-3466867) mixins, which were deprecated in v3.2.0, have been removed in Bootstrap 4. Since we use [Autoprefixer](https://github.com/postcss/autoprefixer), they're no longer necessary.
+Bootstrap 3's [vendor prefix](https://www.lifewire.com/css-vendor-prefixes-3466867) mixins, which were deprecated in v3.2.0, have been removed in Bootstrap 4. Since we use [Autoprefixer](https://github.com/postcss/autoprefixer), they're no longer necessary.
Removed the following mixins: `animation`, `animation-delay`, `animation-direction`, `animation-duration`, `animation-fill-mode`, `animation-iteration-count`, `animation-name`, `animation-timing-function`, `backface-visibility`, `box-sizing`, `content-columns`, `hyphens`, `opacity`, `perspective`, `perspective-origin`, `rotate`, `rotateX`, `rotateY`, `scale`, `scaleX`, `scaleY`, `skew`, `transform-origin`, `transition-delay`, `transition-duration`, `transition-property`, `transition-timing-function`, `transition-transform`, `translate`, `translate3d`, `user-select`
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/borders.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/borders.md
index e67cc41c9..c9855776d 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/borders.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/borders.md
@@ -3,7 +3,7 @@ layout: docs
title: Borders
description: Use border utilities to quickly style the border and border-radius of an element. Great for images, buttons, or any other element.
group: utilities
-redirect_from: "/docs/4.1/utilities/"
+redirect_from: "/docs/4.3/utilities/"
toc: true
---
@@ -55,13 +55,14 @@ Change the border color using utilities built on our theme colors.
Add classes to an element to easily round its corners.
<div class="bd-example bd-example-images">
- <img data-src="holder.js/75x75" class="rounded" alt="Example rounded image">
- <img data-src="holder.js/75x75" class="rounded-top" alt="Example top rounded image">
- <img data-src="holder.js/75x75" class="rounded-right" alt="Example right rounded image">
- <img data-src="holder.js/75x75" class="rounded-bottom" alt="Example bottom rounded image">
- <img data-src="holder.js/75x75" class="rounded-left" alt="Example left rounded image">
- <img data-src="holder.js/75x75" class="rounded-circle" alt="Completely round image">
- <img data-src="holder.js/75x75" class="rounded-0" alt="Example non-rounded image (overrides rounding applied elsewhere)">
+ {%- include icons/placeholder.svg width="75" height="75" class="rounded" title="Example rounded image" -%}
+ {%- include icons/placeholder.svg width="75" height="75" class="rounded-top" title="Example top rounded image" -%}
+ {%- include icons/placeholder.svg width="75" height="75" class="rounded-right" title="Example right rounded image" -%}
+ {%- include icons/placeholder.svg width="75" height="75" class="rounded-bottom" title="Example bottom rounded image" -%}
+ {%- include icons/placeholder.svg width="75" height="75" class="rounded-left" title="Example left rounded image" -%}
+ {%- include icons/placeholder.svg width="75" height="75" class="rounded-circle" title="Completely round image" -%}
+ {%- include icons/placeholder.svg width="150" height="75" class="rounded-pill" title="Rounded pill image" -%}
+ {%- include icons/placeholder.svg width="75" height="75" class="rounded-0" title="Example non-rounded image (overrides rounding applied elsewhere)" -%}
</div>
{% highlight html %}
@@ -71,5 +72,20 @@ Add classes to an element to easily round its corners.
<img src="..." alt="..." class="rounded-bottom">
<img src="..." alt="..." class="rounded-left">
<img src="..." alt="..." class="rounded-circle">
+<img src="..." alt="..." class="rounded-pill">
<img src="..." alt="..." class="rounded-0">
{% endhighlight %}
+
+## Sizes
+
+Use `.rounded-lg` or `.rounded-sm` for larger or smaller border-radius.
+
+<div class="bd-example bd-example-images">
+ {%- include icons/placeholder.svg width="75" height="75" class="rounded-sm" title="Example small rounded image" -%}
+ {%- include icons/placeholder.svg width="75" height="75" class="rounded-lg" title="Example large rounded image" -%}
+</div>
+
+{% highlight html %}
+<img src="..." alt="..." class="rounded-sm">
+<img src="..." alt="..." class="rounded-lg">
+{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/clearfix.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/clearfix.md
index f4cb084bf..dcf93e9bb 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/clearfix.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/clearfix.md
@@ -3,7 +3,6 @@ layout: docs
title: Clearfix
description: Quickly and easily clear floated content within a container by adding a clearfix utility.
group: utilities
-toc: true
---
Easily clear `float`s by adding `.clearfix` **to the parent element**. Can also be used as a mixin.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/close-icon.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/close-icon.md
index a848c012e..3a8cb3c44 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/close-icon.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/close-icon.md
@@ -3,7 +3,6 @@ layout: docs
title: Close icon
description: Use a generic close icon for dismissing content like modals and alerts.
group: utilities
-toc: true
---
**Be sure to include text for screen readers**, as we've done with `aria-label`.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/colors.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/colors.md
index 573782644..55699adb8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/colors.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/colors.md
@@ -43,13 +43,10 @@ Similar to the contextual text color classes, easily set the background of an el
## Background gradient
-When `$enable-gradients` is set to true, you'll be able to use `.bg-gradient-` utility classes. **By default, `$enable-gradients` is disabled and the example below is intentionally broken.** This is done for easier customization from the moment you start using Bootstrap. [Learn about our Sass options]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/theming/#sass-options) to enable these classes and more.
+When `$enable-gradients` is set to `true` (default is `false`), you can use `.bg-gradient-` utility classes. [Learn about our Sass options]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/theming/#sass-options) to enable these classes and more.
-{% capture example %}
{% for color in site.data.theme-colors %}
-<div class="p-3 mb-2 bg-gradient-{{ color.name }} {% if color.name == "light" or color.name == "warning" %}text-dark{% else %}text-white{% endif %}">.bg-gradient-{{ color.name }}</div>{% endfor %}
-{% endcapture %}
-{% include example.html content=example %}
+- `.bg-gradient-{{ color.name }}`{% endfor %}
{% capture callout %}
#### Dealing with specificity
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/display.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/display.md
index dd77a876c..8dafce2d8 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/display.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/display.md
@@ -31,6 +31,8 @@ Where *value* is one of:
* `flex`
* `inline-flex`
+The display values can be altered by changing the `$displays` variable and recompiling the SCSS.
+
The media queries effect screen widths with the given breakpoint *or larger*. For example, `.d-lg-none` sets `display: none;` on both `lg` and `xl` screens.
## Examples
@@ -49,7 +51,7 @@ The media queries effect screen widths with the given breakpoint *or larger*. Fo
## Hiding elements
-For faster mobile-friendly development, use responsive display classes for showing and hiding elements by device. Avoid creating entirely different versions of the same site, instead hide element responsively for each screen size.
+For faster mobile-friendly development, use responsive display classes for showing and hiding elements by device. Avoid creating entirely different versions of the same site, instead hide elements responsively for each screen size.
To hide elements simply use the `.d-none` class or one of the `.d-{sm,md,lg,xl}-none` classes for any responsive screen variation.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/embed.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/embed.md
index 4713c598c..1f6868074 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/embed.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/embed.md
@@ -25,7 +25,7 @@ Wrap any embed like an `<iframe>` in a parent element with `.embed-responsive` a
## Aspect ratios
-Aspect ratios can be customized with modifier classes.
+Aspect ratios can be customized with modifier classes. By default the following ratio classes are provided:
{% highlight html %}
<!-- 21:9 aspect ratio -->
@@ -48,3 +48,14 @@ Aspect ratios can be customized with modifier classes.
<iframe class="embed-responsive-item" src="..."></iframe>
</div>
{% endhighlight %}
+
+Within `_variables.scss`, you can change the aspect ratios you want to use. Here's an example of the `$embed-responsive-aspect-ratios` list:
+
+{% highlight scss %}
+$embed-responsive-aspect-ratios: (
+ (21 9),
+ (16 9),
+ (4 3),
+ (1 1)
+) !default;
+{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/flex.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/flex.md
index 83e950cf7..acaa2a51b 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/flex.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/flex.md
@@ -219,11 +219,11 @@ Responsive variations also exist for `align-self`.
## Fill
-Use the `.flex-fill` class on a series of sibling elements to force them into equal widths while taking up all available horizontal space. [Especially useful for equal-width, or justified, navigation.]({{ site.baseurl }}/docs/{{ site.docs_version }}/components/navs/#working-with-flex-utilities)
+Use the `.flex-fill` class on a series of sibling elements to force them into widths equal to their content (or equal widths if their content does not surpass their border-boxes) while taking up all available horizontal space.
{% capture example %}
<div class="d-flex bd-highlight">
- <div class="p-2 flex-fill bd-highlight">Flex item</div>
+ <div class="p-2 flex-fill bd-highlight">Flex item with a lot of content</div>
<div class="p-2 flex-fill bd-highlight">Flex item</div>
<div class="p-2 flex-fill bd-highlight">Flex item</div>
</div>
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/float.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/float.md
index ec05d3ec7..ec05d3ec7 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/float.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/float.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/image-replacement.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/image-replacement.md
index 0d5a4d30c..4c7decac5 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/image-replacement.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/image-replacement.md
@@ -3,11 +3,11 @@ layout: docs
title: Image replacement
description: Swap text for background images with the image replacement class.
group: utilities
-toc: true
---
{% capture callout %}
##### Warning
+
The `text-hide()` class and mixin has been deprecated as of v4.1. It will be removed entirely in v5.
{% endcapture %}
{% include callout.html content=callout type="warning" %}
@@ -27,7 +27,10 @@ Utilize the `.text-hide` class or mixin to help replace an element's text conten
Use the `.text-hide` class to maintain the accessibility and SEO benefits of heading tags, but want to utilize a `background-image` instead of text.
-{% capture example %}
-<h1 class="text-hide" style="background-image: url('/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg'); width: 50px; height: 50px;">Bootstrap</h1>
-{% endcapture %}
-{% include example.html content=example %}
+<div class="bd-example">
+ <h1 class="text-hide" style="background-image: url('{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/brand/bootstrap-solid.svg'); width: 50px; height: 50px;">Bootstrap</h1>
+</div>
+
+{% highlight html %}
+<h1 class="text-hide" style="background-image: url('...');">Bootstrap</h1>
+{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/utilities/overflow.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/overflow.md
new file mode 100644
index 000000000..2877c85b7
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/overflow.md
@@ -0,0 +1,24 @@
+---
+layout: docs
+title: Overflow
+description: Use these shorthand utilities for quickly configuring how content overflows an element.
+group: utilities
+---
+
+Barebones `overflow` functionality is provided for two values by default, and they are not responsive.
+
+<div class="bd-example d-md-flex">
+ <div class="overflow-auto p-3 mb-3 mb-md-0 mr-md-3 bg-light" style="max-width: 260px; max-height: 100px;">
+ This is an example of using <code>.overflow-auto</code> on an element with set width and height dimensions. By design, this content will vertically scroll.
+ </div>
+ <div class="overflow-hidden p-3 bg-light" style="max-width: 260px; max-height: 100px;">
+ This is an example of using <code>.overflow-hidden</code> on an element with set width and height dimensions.
+ </div>
+</div>
+
+{% highlight html %}
+<div class="overflow-auto">...</div>
+<div class="overflow-hidden">...</div>
+{% endhighlight %}
+
+Using Sass variables, you may customize the overflow utilities by changing the `$overflows` variable in `_variables.scss`.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/position.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/position.md
index c819df080..c819df080 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/position.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/position.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/screenreaders.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/screen-readers.md
index 311102c6a..c38ba3e65 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/screenreaders.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/screen-readers.md
@@ -1,9 +1,8 @@
---
layout: docs
-title: Screenreaders
-description: Use screenreader utilities to hide elements on all devices except screen readers.
+title: Screen readers
+description: Use screen reader utilities to hide elements on all devices except screen readers.
group: utilities
-toc: true
---
Hide an element to all devices **except screen readers** with `.sr-only`. Combine `.sr-only` with `.sr-only-focusable` to show the element again when it's focused (e.g. by a keyboard-only user). Can also be used as mixins.
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/shadows.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/shadows.md
index 5e8f5a890..9c3e58044 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/shadows.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/shadows.md
@@ -3,7 +3,6 @@ layout: docs
title: Shadows
description: Add or remove shadows to elements with box-shadow utilities.
group: utilities
-toc: false
---
## Examples
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/sizing.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/sizing.md
index e7e578a64..1b0acf07a 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/sizing.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/sizing.md
@@ -1,11 +1,13 @@
---
layout: docs
title: Sizing
-description: Easily make an element as wide or as tall (relative to its parent) with our width and height utilities.
+description: Easily make an element as wide or as tall with our width and height utilities.
group: utilities
toc: true
---
+## Relative to the parent
+
Width and height utilities are generated from the `$sizes` Sass map in `_variables.scss`. Includes support for `25%`, `50%`, `75%`, `100%`, and `auto` by default. Modify those values as you need to generate different utilities here.
{% capture example %}
@@ -31,7 +33,7 @@ Width and height utilities are generated from the `$sizes` Sass map in `_variabl
You can also use `max-width: 100%;` and `max-height: 100%;` utilities as needed.
{% capture example %}
-<img class="mw-100" data-src="holder.js/1000px100?text=Max-width%20%3D%20100%25" alt="Max-width 100%">
+{% include icons/placeholder.svg width="100%" height="100" class="mw-100" text="Max-width 100%" %}
{% endcapture %}
{% include example.html content=example %}
@@ -41,3 +43,14 @@ You can also use `max-width: 100%;` and `max-height: 100%;` utilities as needed.
</div>
{% endcapture %}
{% include example.html content=example %}
+
+## Relative to the viewport
+
+You can also use utilities to set the width and height relative to the viewport.
+
+{% highlight html %}
+<div class="min-vw-100">Min-width 100vw</div>
+<div class="min-vh-100">Min-height 100vh</div>
+<div class="vw-100">Width 100vw</div>
+<div class="vh-100">Height 100vh</div>
+{% endhighlight %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/spacing.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/spacing.md
index b374748e0..09e17e044 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/spacing.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/spacing.md
@@ -81,3 +81,25 @@ Additionally, Bootstrap also includes an `.mx-auto` class for horizontally cente
Centered element
</div>
{% endhighlight %}
+
+### Negative margin
+
+In CSS, `margin` properties can utilize negative values (`padding` cannot). As of 4.2, we've added negative margin utilities for every non-zero integer size listed above (e.g., `1`, `2`, `3`, `4`, `5`). These utilities are ideal for customizing grid column gutters across breakpoints.
+
+The syntax is nearly the same as the default, positive margin utilities, but with the addition of `n` before the requested size. Here's an example class that's the opposite of `.mt-1`:
+
+{% highlight scss %}
+.mt-n1 {
+ margin-top: -0.25rem !important;
+}
+{% endhighlight %}
+
+Here's an example of customizing the Bootstrap grid at the medium (`md`) breakpoint and above. We've increased the `.col` padding with `.px-md-5` and then counteracted that with `.mx-md-n5` on the parent `.row`.
+
+{% capture example %}
+<div class="row mx-md-n5">
+ <div class="col px-md-5"><div class="p-3 border bg-light">Custom column padding</div></div>
+ <div class="col px-md-5"><div class="p-3 border bg-light">Custom column padding</div></div>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.3/utilities/stretched-link.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/stretched-link.md
new file mode 100644
index 000000000..1d4d2ad31
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/stretched-link.md
@@ -0,0 +1,80 @@
+---
+layout: docs
+title: Stretched link
+description: Make any HTML element or Bootstrap component clickable by "stretching" a nested link via CSS.
+group: utilities
+---
+
+Add `.stretched-link` to a link to make its [containing block](https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block) clickable via a `::after` pseudo element. In most cases, this means that an element with `position: relative;` that contains a link with the `.stretched-link` class is clickable.
+
+Cards have `position: relative` by default in Bootstrap, so in this case you can safely add the `.stretched-link` class to a link in the card without any other HTML changes.
+
+Multiple links and tap targets are not recommended with stretched links. However, some `position` and `z-index` styles can help should this be required.
+
+{% capture example %}
+<div class="card" style="width: 18rem;">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text=" " title="Card image cap" %}
+ <div class="card-body">
+ <h5 class="card-title">Card with stretched link</h5>
+ <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
+ <a href="#" class="btn btn-primary stretched-link">Go somewhere</a>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+Media objects do not have `position: relative` by default, so we need to add the `.position-relative` here to prevent the link from stretching outside the media object.
+
+{% capture example %}
+<div class="media position-relative">
+ {% include icons/placeholder.svg width="144" height="144" class="mr-3" text=" " title="Generic placeholder image" %}
+ <div class="media-body">
+ <h5 class="mt-0">Media with stretched link</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>
+ <a href="#" class="stretched-link">Go somewhere</a>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+Columns are `position: relative` by default, so clickable columns only require the `.stretched-link` class on a link. However, stretching a link over an entire `.row` requires `.position-static` on the column and `.position-relative` on the row.
+
+{% capture example %}
+<div class="row no-gutters bg-light position-relative">
+ <div class="col-md-6 mb-md-0 p-md-4">
+ {% include icons/placeholder.svg width="100%" height="200" class="w-100" text=" " title="Generic placeholder image" %}
+ </div>
+ <div class="col-md-6 position-static p-4 pl-md-0">
+ <h5 class="mt-0">Columns with stretched link</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>
+ <a href="#" class="stretched-link">Go somewhere</a>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
+## Identifying the containing block
+
+If the stretched link doesn't seem to work, the [containing block](https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#Identifying_the_containing_block) will probably be the cause. The following CSS properties will make an element the containing block:
+
+- A `position` value other than `static`
+- A `transform` or `perspective` value other than `none`
+- A `will-change` value of `transform` or `perspective`
+- A `filter` value other than `none` or a `will-change` value of `filter` (only works on Firefox)
+
+{% capture example %}
+<div class="card" style="width: 18rem;">
+ {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text=" " title="Card image cap" %}
+ <div class="card-body">
+ <h5 class="card-title">Card with stretched links</h5>
+ <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
+ <p class="card-text">
+ <a href="#" class="stretched-link text-danger" style="position: relative;">Stretched link will not work here, because <code>position: relative</code> is added to the link</a>
+ </p>
+ <p class="card-text bg-light" style="transform: rotate(0);">
+ This <a href="#" class="text-warning stretched-link">stretched link</a> will only be spread over the <code>p</code>-tag, because a transform is applied to it.
+ </p>
+ </div>
+</div>
+{% endcapture %}
+{% include example.html content=example %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/text.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/text.md
index ab42dc90b..d25564a18 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/text.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/text.md
@@ -31,6 +31,15 @@ For left, right, and center alignment, responsive classes are available that use
## Text wrapping and overflow
+Wrap text with a `.text-wrap` class.
+
+{% capture example %}
+<div class="badge badge-primary text-wrap" style="width: 6rem;">
+ This text should wrap.
+</div>
+{% endcapture %}
+{% include example.html content=example %}
+
Prevent text from wrapping with a `.text-nowrap` class.
{% capture example %}
@@ -57,6 +66,15 @@ For longer content, you can add a `.text-truncate` class to truncate the text wi
{% endcapture %}
{% include example.html content=example %}
+## Word break
+
+Prevent long strings of text from breaking your components' layout by using `.text-break` to set `overflow-wrap: break-word` (and `word-break: break-word` for IE & Edge compatibility).
+
+{% capture example %}
+<p class="text-break">mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm</p>
+{% endcapture %}
+{% include example.html content=example %}
+
## Text transform
Transform text in components with text capitalization classes.
@@ -68,7 +86,7 @@ Transform text in components with text capitalization classes.
{% endcapture %}
{% include example.html content=example %}
-Note how `text-capitalize` only changes the first letter of each word, leaving the case of any other letters unaffected.
+Note how `.text-capitalize` only changes the first letter of each word, leaving the case of any other letters unaffected.
## Font weight and italics
@@ -76,8 +94,10 @@ Quickly change the weight (boldness) of text or italicize text.
{% capture example %}
<p class="font-weight-bold">Bold text.</p>
+<p class="font-weight-bolder">Bolder weight text (relative to the parent element).</p>
<p class="font-weight-normal">Normal weight text.</p>
<p class="font-weight-light">Light weight text.</p>
+<p class="font-weight-lighter">Lighter weight text (relative to the parent element).</p>
<p class="font-italic">Italic text.</p>
{% endcapture %}
{% include example.html content=example %}
@@ -90,3 +110,23 @@ Change a selection to our monospace font stack with `.text-monospace`.
<p class="text-monospace">This is in monospace</p>
{% endcapture %}
{% include example.html content=example %}
+
+## Reset color
+
+Reset a text or link's color with `.text-reset`, so that it inherits the color from its parent.
+
+{% capture example %}
+<p class="text-muted">
+ Muted text with a <a href="#" class="text-reset">reset link</a>.
+</p>
+{% endcapture %}
+{% include example.html content=example %}
+
+## Text decoration
+
+Remove a text decoration with a `.text-decoration-none` class.
+
+{% capture example %}
+<a href="#" class="text-decoration-none">Non-underlined link</a>
+{% endcapture %}
+{% include example.html content=example %}
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/vertical-align.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/vertical-align.md
index bc4f0b950..bc4f0b950 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/vertical-align.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/vertical-align.md
diff --git a/vendor/twbs/bootstrap/site/docs/4.1/utilities/visibility.md b/vendor/twbs/bootstrap/site/docs/4.3/utilities/visibility.md
index cb02e1b88..bbfc0cbbc 100644
--- a/vendor/twbs/bootstrap/site/docs/4.1/utilities/visibility.md
+++ b/vendor/twbs/bootstrap/site/docs/4.3/utilities/visibility.md
@@ -17,13 +17,14 @@ Apply `.visible` or `.invisible` as needed.
{% highlight scss %}
// Class
.visible {
- visibility: visible;
+ visibility: visible !important;
}
.invisible {
- visibility: hidden;
+ visibility: hidden !important;
}
// Usage as a mixin
+// Warning: The `invisible()` mixin has been deprecated as of v4.3.0. It will be removed entirely in v5.
.element {
@include invisible(visible);
}
diff --git a/vendor/twbs/bootstrap/site/docs/versions.html b/vendor/twbs/bootstrap/site/docs/versions.html
new file mode 100644
index 000000000..4f8f4ea3a
--- /dev/null
+++ b/vendor/twbs/bootstrap/site/docs/versions.html
@@ -0,0 +1,29 @@
+---
+layout: simple
+title: Versions
+description: An appendix of hosted documentation for nearly every release of Bootstrap, from v1 through v4.
+---
+
+<div class="row">
+{% for release in site.data.docs-versions %}
+ <div class="col-md">
+ <h2>{{ release.group }}</h2>
+ <p>{{ release.description }}</p>
+ {% assign versions = release.versions | reverse %}
+ {% for version in versions %}
+ {% if forloop.first %}<div class="list-group">{% endif %}
+ {% if version.v == site.docs_version %}
+ <a class="list-group-item list-group-item-action py-2 text-primary d-flex justify-content-between align-items-center" href="{{ release.baseurl }}/{{ version.v }}/">
+ {{ version.v }}
+ <span class="badge badge-primary">Latest</span>
+ </a>
+ {% else %}
+ <a class="list-group-item list-group-item-action py-2 text-primary" href="{{ release.baseurl }}/{{ version.v }}/">
+ {{ version.v }}
+ </a>
+ {% endif %}
+ {% if forloop.last %}</div>{% endif %}
+ {% endfor %}
+ </div>
+{% endfor %}
+</div>
diff --git a/vendor/twbs/bootstrap/site/index.html b/vendor/twbs/bootstrap/site/index.html
index 2c5dda44b..df50c7291 100644
--- a/vendor/twbs/bootstrap/site/index.html
+++ b/vendor/twbs/bootstrap/site/index.html
@@ -6,19 +6,23 @@ layout: home
<div class="container">
<div class="row align-items-center">
<div class="col-6 mx-auto col-md-6 order-md-2">
- <img class="img-fluid mb-3 mb-md-0" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-stack.png" alt="" width="1024" height="860">
+ {% include icons/bootstrap-stack.svg width="512" height="430" class="img-fluid mb-3 mb-md-0" %}
</div>
<div class="col-md-6 order-md-1 text-center text-md-left pr-md-5">
<h1 class="mb-3 bd-text-purple-bright">Bootstrap</h1>
<p class="lead">
- Build responsive, mobile-first projects on the web with the world's most popular front-end component library.
+ Build responsive, mobile-first projects on the web with the world’s most popular front-end component library.
</p>
<p class="lead mb-4">
Bootstrap is an open source toolkit for developing with HTML, CSS, and JS. Quickly prototype your ideas or build your entire app with our Sass variables and mixins, responsive grid system, extensive prebuilt components, and powerful plugins built on jQuery.
</p>
- <div class="d-flex flex-column flex-md-row lead mb-3">
- <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/introduction/" class="btn btn-lg btn-bd-primary mb-3 mb-md-0 mr-md-3" onclick="ga('send', 'event', 'Jumbotron actions', 'Get started', 'Get started');">Get started</a>
- <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/download/" class="btn btn-lg btn-outline-secondary" onclick="ga('send', 'event', 'Jumbotron actions', 'Download', 'Download {{ site.current_version }}');">Download</a>
+ <div class="row mx-n2">
+ <div class="col-md px-2">
+ <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/introduction/" class="btn btn-lg btn-bd-primary w-100 mb-3" onclick="ga('send', 'event', 'Jumbotron actions', 'Get started', 'Get started');">Get started</a>
+ </div>
+ <div class="col-md px-2">
+ <a href="{{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/download/" class="btn btn-lg btn-outline-secondary w-100 mb-3" onclick="ga('send', 'event', 'Jumbotron actions', 'Download', 'Download {{ site.current_version }}');">Download</a>
+ </div>
</div>
<p class="text-muted mb-0">
Currently v{{ site.current_version }}
@@ -34,7 +38,7 @@ layout: home
<!-- Icon by Bytesize https://github.com/danklammer/bytesize-icons -->
{% include icons/import.svg width="32" height="32" class="text-primary mb-2" %}
<h3>Installation</h3>
- <p>Include Bootstrap's source Sass and JavaScript files via npm, Composer or Meteor. Package managed installs don't include documentation, but do include our build system and readme.</p>
+ <p>Include Bootstrap’s source Sass and JavaScript files via npm, Composer or Meteor. Package managed installs don’t include documentation, but do include our build system and readme.</p>
{% highlight sh %}
npm install bootstrap
@@ -52,7 +56,7 @@ gem install bootstrap -v {{ site.current_ruby_version }}
<!-- Icon by Bytesize https://github.com/danklammer/bytesize-icons -->
{% include icons/download.svg width="32" height="32" class="text-primary mb-2" %}
<h3>BootstrapCDN</h3>
- <p>When you only need to include Bootstrap's compiled CSS or JS, you can use <a href="https://www.bootstrapcdn.com/">BootstrapCDN</a>.</p>
+ <p>When you only need to include Bootstrap’s compiled CSS or JS, you can use <a href="https://www.bootstrapcdn.com/">BootstrapCDN</a>.</p>
<h5>CSS only</h5>
{% highlight html %}
@@ -76,8 +80,10 @@ gem install bootstrap -v {{ site.current_ruby_version }}
<p>
Take Bootstrap 4 to the next level with official premium themes—toolkits built on Bootstrap with new components and plugins, docs, and build tools.
</p>
- <img class="img-fluid mt-3 mx-auto" src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes.png" alt="Bootstrap Themes" width="1024" height="388">
+ <img class="img-fluid mt-3 mx-auto" srcset="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes.png,
+ {{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes@2x.png 2x"
+ src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/bootstrap-themes.png" alt="Bootstrap Themes" width="500" height="200">
<hr class="half-rule">
- <a href="{{ site.themes }}" class="btn btn-outline-primary">Browse themes</a>
+ <a href="{{ site.themes }}/" class="btn btn-outline-primary">Browse themes</a>
</div>
</div>
diff --git a/vendor/twbs/bootstrap/site/robots.txt b/vendor/twbs/bootstrap/site/robots.txt
index aef3fa1f6..d3ac12c64 100644
--- a/vendor/twbs/bootstrap/site/robots.txt
+++ b/vendor/twbs/bootstrap/site/robots.txt
@@ -5,5 +5,5 @@
# Allow crawling of all content
User-agent: *
-Disallow:
+Disallow:{% if jekyll.environment != "production" %} /{% endif %}
Sitemap: {{ site.url }}/sitemap.xml
diff --git a/vendor/twbs/bootstrap/site/sw.js b/vendor/twbs/bootstrap/site/sw.js
index bc67fee25..db9229cf0 100644
--- a/vendor/twbs/bootstrap/site/sw.js
+++ b/vendor/twbs/bootstrap/site/sw.js
@@ -1,5 +1,27 @@
-/* global workbox:false */
+// NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT
+// IT'S ALL JUST JUNK FOR OUR DOCS!
+// ++++++++++++++++++++++++++++++++++++++++++
-self.importScripts('docs/4.1/assets/js/vendor/{fileName}')
+(function () {
+ 'use strict'
-workbox.precaching.precacheAndRoute([])
+ if ('serviceWorker' in navigator) {
+ window.addEventListener('load', function () {
+ navigator.serviceWorker.getRegistrations().then(function (registrations) {
+ for (var registration of registrations) {
+ registration.unregister()
+ .then(function () {
+ return self.clients.matchAll()
+ })
+ .then(function (clients) {
+ clients.forEach(function (client) {
+ if (client.url && 'navigate' in client) {
+ client.navigate(client.url)
+ }
+ })
+ })
+ }
+ })
+ })
+ }
+}())