Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/site
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@gmail.com>2018-12-22 19:32:28 +0300
committerGitHub <noreply@github.com>2018-12-22 19:32:28 +0300
commit74a2d93517553cfd394526d789f6e23e99ace597 (patch)
treed012dc1591ad0903695c88da9a9e5d8eb4993b52 /site
parentf0e5cc3f417191f5823f426b1ae071c78f427475 (diff)
parentdee3ab427cb9b73639e38a60e1cbb59dc99fedf4 (diff)
Merge branch 'v4-dev' into stretched-link
Diffstat (limited to 'site')
-rw-r--r--site/_data/browser-bugs.yml10
-rw-r--r--site/_data/docs-versions.yml6
-rw-r--r--site/_data/translations.yml5
-rw-r--r--site/_includes/docs-navbar.html4
-rw-r--r--site/_includes/example.html8
-rw-r--r--site/_includes/icons/bootstrap-stack.svg2
-rw-r--r--site/_includes/icons/bootstrap.svg2
-rw-r--r--site/_includes/icons/download.svg2
-rw-r--r--site/_includes/icons/github.svg2
-rw-r--r--site/_includes/icons/import.svg2
-rw-r--r--site/_includes/icons/lightning.svg2
-rw-r--r--site/_includes/icons/menu.svg2
-rw-r--r--site/_includes/icons/placeholder.svg4
-rw-r--r--site/_includes/icons/slack.svg2
-rw-r--r--site/_includes/icons/twitter.svg2
-rw-r--r--site/docs/4.1/assets/js/docs.min.js22
-rw-r--r--site/docs/4.1/assets/js/vendor/bs-custom-file-input.min.js7
-rw-r--r--site/docs/4.1/assets/js/vendor/clipboard.min.js7
-rw-r--r--site/docs/4.2/about/brand.md (renamed from site/docs/4.1/about/brand.md)0
-rw-r--r--site/docs/4.2/about/license.md (renamed from site/docs/4.1/about/license.md)0
-rw-r--r--site/docs/4.2/about/overview.md (renamed from site/docs/4.1/about/overview.md)3
-rw-r--r--site/docs/4.2/about/team.md (renamed from site/docs/4.1/about/team.md)0
-rw-r--r--site/docs/4.2/about/translations.md (renamed from site/docs/4.1/about/translations.md)0
-rw-r--r--site/docs/4.2/assets/brand/bootstrap-outline.svg (renamed from site/docs/4.1/assets/brand/bootstrap-outline.svg)3
-rw-r--r--site/docs/4.2/assets/brand/bootstrap-punchout.svg (renamed from site/docs/4.1/assets/brand/bootstrap-punchout.svg)3
-rw-r--r--site/docs/4.2/assets/brand/bootstrap-social-logo.png (renamed from site/docs/4.1/assets/brand/bootstrap-social-logo.png)bin23959 -> 23959 bytes
-rw-r--r--site/docs/4.2/assets/brand/bootstrap-social.png (renamed from site/docs/4.1/assets/brand/bootstrap-social.png)bin231733 -> 231733 bytes
-rw-r--r--site/docs/4.2/assets/brand/bootstrap-solid.svg (renamed from site/docs/4.1/assets/brand/bootstrap-solid.svg)3
-rw-r--r--site/docs/4.2/assets/css/docs.min.css (renamed from site/docs/4.1/assets/css/docs.min.css)0
-rw-r--r--site/docs/4.2/assets/css/docs.min.css.map (renamed from site/docs/4.1/assets/css/docs.min.css.map)2
-rw-r--r--site/docs/4.2/assets/img/bootstrap-themes.png (renamed from site/docs/4.1/assets/img/bootstrap-themes.png)bin28187 -> 28187 bytes
-rw-r--r--site/docs/4.2/assets/img/bootstrap-themes@2x.png (renamed from site/docs/4.1/assets/img/bootstrap-themes@2x.png)bin80588 -> 80588 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/album.png (renamed from site/docs/4.1/assets/img/examples/album.png)bin21740 -> 21740 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/album@2x.png (renamed from site/docs/4.1/assets/img/examples/album@2x.png)bin26370 -> 26370 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/blog.png (renamed from site/docs/4.1/assets/img/examples/blog.png)bin32843 -> 32843 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/blog@2x.png (renamed from site/docs/4.1/assets/img/examples/blog@2x.png)bin36944 -> 36944 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/carousel.png (renamed from site/docs/4.1/assets/img/examples/carousel.png)bin21450 -> 21450 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/carousel@2x.png (renamed from site/docs/4.1/assets/img/examples/carousel@2x.png)bin31465 -> 31465 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/checkout.png (renamed from site/docs/4.1/assets/img/examples/checkout.png)bin25151 -> 25151 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/checkout@2x.png (renamed from site/docs/4.1/assets/img/examples/checkout@2x.png)bin28180 -> 28180 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/cover.png (renamed from site/docs/4.1/assets/img/examples/cover.png)bin7240 -> 7240 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/cover@2x.png (renamed from site/docs/4.1/assets/img/examples/cover@2x.png)bin17953 -> 17953 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/dashboard.png (renamed from site/docs/4.1/assets/img/examples/dashboard.png)bin24376 -> 24376 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/dashboard@2x.png (renamed from site/docs/4.1/assets/img/examples/dashboard@2x.png)bin26556 -> 26556 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/floating-labels.png (renamed from site/docs/4.1/assets/img/examples/floating-labels.png)bin10516 -> 10516 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/floating-labels@2x.png (renamed from site/docs/4.1/assets/img/examples/floating-labels@2x.png)bin11053 -> 11053 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/grid.png (renamed from site/docs/4.1/assets/img/examples/grid.png)bin37960 -> 37960 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/grid@2x.png (renamed from site/docs/4.1/assets/img/examples/grid@2x.png)bin34834 -> 34834 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/jumbotron.png (renamed from site/docs/4.1/assets/img/examples/jumbotron.png)bin31403 -> 31403 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/jumbotron@2x.png (renamed from site/docs/4.1/assets/img/examples/jumbotron@2x.png)bin38408 -> 38408 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/navbar-bottom.png (renamed from site/docs/4.1/assets/img/examples/navbar-bottom.png)bin9774 -> 9774 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/navbar-bottom@2x.png (renamed from site/docs/4.1/assets/img/examples/navbar-bottom@2x.png)bin11316 -> 11316 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/navbar-fixed.png (renamed from site/docs/4.1/assets/img/examples/navbar-fixed.png)bin11569 -> 11569 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/navbar-fixed@2x.png (renamed from site/docs/4.1/assets/img/examples/navbar-fixed@2x.png)bin13616 -> 13616 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/navbar-static.png (renamed from site/docs/4.1/assets/img/examples/navbar-static.png)bin12523 -> 12523 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/navbar-static@2x.png (renamed from site/docs/4.1/assets/img/examples/navbar-static@2x.png)bin14893 -> 14893 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/navbars.png (renamed from site/docs/4.1/assets/img/examples/navbars.png)bin24748 -> 24748 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/navbars@2x.png (renamed from site/docs/4.1/assets/img/examples/navbars@2x.png)bin27187 -> 27187 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/offcanvas.png (renamed from site/docs/4.1/assets/img/examples/offcanvas.png)bin20148 -> 20148 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/offcanvas@2x.png (renamed from site/docs/4.1/assets/img/examples/offcanvas@2x.png)bin23975 -> 23975 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/pricing.png (renamed from site/docs/4.1/assets/img/examples/pricing.png)bin25033 -> 25033 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/pricing@2x.png (renamed from site/docs/4.1/assets/img/examples/pricing@2x.png)bin29128 -> 29128 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/product.png (renamed from site/docs/4.1/assets/img/examples/product.png)bin24977 -> 24977 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/product@2x.png (renamed from site/docs/4.1/assets/img/examples/product@2x.png)bin27953 -> 27953 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/sign-in.png (renamed from site/docs/4.1/assets/img/examples/sign-in.png)bin5704 -> 5704 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/sign-in@2x.png (renamed from site/docs/4.1/assets/img/examples/sign-in@2x.png)bin5680 -> 5680 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/starter-template.png (renamed from site/docs/4.1/assets/img/examples/starter-template.png)bin9761 -> 9761 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/starter-template@2x.png (renamed from site/docs/4.1/assets/img/examples/starter-template@2x.png)bin11334 -> 11334 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/sticky-footer-navbar.png (renamed from site/docs/4.1/assets/img/examples/sticky-footer-navbar.png)bin14167 -> 14167 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/sticky-footer-navbar@2x.png (renamed from site/docs/4.1/assets/img/examples/sticky-footer-navbar@2x.png)bin15836 -> 15836 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/sticky-footer.png (renamed from site/docs/4.1/assets/img/examples/sticky-footer.png)bin8170 -> 8170 bytes
-rw-r--r--site/docs/4.2/assets/img/examples/sticky-footer@2x.png (renamed from site/docs/4.1/assets/img/examples/sticky-footer@2x.png)bin9665 -> 9665 bytes
-rw-r--r--site/docs/4.2/assets/img/favicons/android-chrome-192x192.png (renamed from site/docs/4.1/assets/img/favicons/android-chrome-192x192.png)bin1935 -> 1935 bytes
-rw-r--r--site/docs/4.2/assets/img/favicons/android-chrome-512x512.png (renamed from site/docs/4.1/assets/img/favicons/android-chrome-512x512.png)bin4269 -> 4269 bytes
-rw-r--r--site/docs/4.2/assets/img/favicons/apple-touch-icon.png (renamed from site/docs/4.1/assets/img/favicons/apple-touch-icon.png)bin1738 -> 1738 bytes
-rw-r--r--site/docs/4.2/assets/img/favicons/browserconfig.xml (renamed from site/docs/4.1/assets/img/favicons/browserconfig.xml)0
-rw-r--r--site/docs/4.2/assets/img/favicons/favicon-16x16.png (renamed from site/docs/4.1/assets/img/favicons/favicon-16x16.png)bin310 -> 310 bytes
-rw-r--r--site/docs/4.2/assets/img/favicons/favicon-32x32.png (renamed from site/docs/4.1/assets/img/favicons/favicon-32x32.png)bin491 -> 491 bytes
-rw-r--r--site/docs/4.2/assets/img/favicons/manifest.json (renamed from site/docs/4.1/assets/img/favicons/manifest.json)0
-rw-r--r--site/docs/4.2/assets/img/favicons/mstile-144x144.png (renamed from site/docs/4.1/assets/img/favicons/mstile-144x144.png)bin1479 -> 1479 bytes
-rw-r--r--site/docs/4.2/assets/img/favicons/mstile-150x150.png (renamed from site/docs/4.1/assets/img/favicons/mstile-150x150.png)bin1428 -> 1428 bytes
-rw-r--r--site/docs/4.2/assets/img/favicons/mstile-310x150.png (renamed from site/docs/4.1/assets/img/favicons/mstile-310x150.png)bin1746 -> 1746 bytes
-rw-r--r--site/docs/4.2/assets/img/favicons/mstile-310x310.png (renamed from site/docs/4.1/assets/img/favicons/mstile-310x310.png)bin3085 -> 3085 bytes
-rw-r--r--site/docs/4.2/assets/img/favicons/mstile-70x70.png (renamed from site/docs/4.1/assets/img/favicons/mstile-70x70.png)bin1104 -> 1104 bytes
-rw-r--r--site/docs/4.2/assets/img/favicons/safari-pinned-tab.svg (renamed from site/docs/4.1/assets/img/favicons/safari-pinned-tab.svg)0
-rw-r--r--site/docs/4.2/assets/js/docs.min.js22
-rw-r--r--site/docs/4.2/assets/js/src/application.js (renamed from site/docs/4.1/assets/js/src/application.js)0
-rw-r--r--site/docs/4.2/assets/js/src/ie-emulation-modes-warning.js (renamed from site/docs/4.1/assets/js/src/ie-emulation-modes-warning.js)0
-rw-r--r--site/docs/4.2/assets/js/src/search.js (renamed from site/docs/4.1/assets/js/src/search.js)0
-rw-r--r--site/docs/4.2/assets/js/vendor/anchor.min.js (renamed from site/docs/4.1/assets/js/vendor/anchor.min.js)0
-rw-r--r--site/docs/4.2/assets/js/vendor/bs-custom-file-input.min.js7
-rw-r--r--site/docs/4.2/assets/js/vendor/clipboard.min.js7
-rw-r--r--site/docs/4.2/assets/js/vendor/jquery-slim.min.js (renamed from site/docs/4.1/assets/js/vendor/jquery-slim.min.js)0
-rw-r--r--site/docs/4.2/assets/scss/_ads.scss (renamed from site/docs/4.1/assets/scss/_ads.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_algolia.scss (renamed from site/docs/4.1/assets/scss/_algolia.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_anchor.scss (renamed from site/docs/4.1/assets/scss/_anchor.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_brand.scss (renamed from site/docs/4.1/assets/scss/_brand.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_browser-bugs.scss (renamed from site/docs/4.1/assets/scss/_browser-bugs.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_buttons.scss (renamed from site/docs/4.1/assets/scss/_buttons.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_callouts.scss (renamed from site/docs/4.1/assets/scss/_callouts.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_clipboard-js.scss (renamed from site/docs/4.1/assets/scss/_clipboard-js.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_colors.scss (renamed from site/docs/4.1/assets/scss/_colors.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_component-examples.scss (renamed from site/docs/4.1/assets/scss/_component-examples.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_content.scss (renamed from site/docs/4.1/assets/scss/_content.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_footer.scss (renamed from site/docs/4.1/assets/scss/_footer.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_masthead.scss (renamed from site/docs/4.1/assets/scss/_masthead.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_nav.scss (renamed from site/docs/4.1/assets/scss/_nav.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_placeholder-img.scss (renamed from site/docs/4.1/assets/scss/_placeholder-img.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_sidebar.scss (renamed from site/docs/4.1/assets/scss/_sidebar.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_skippy.scss (renamed from site/docs/4.1/assets/scss/_skippy.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_syntax.scss (renamed from site/docs/4.1/assets/scss/_syntax.scss)0
-rw-r--r--site/docs/4.2/assets/scss/_variables.scss (renamed from site/docs/4.1/assets/scss/_variables.scss)0
-rw-r--r--site/docs/4.2/assets/scss/docs.scss (renamed from site/docs/4.1/assets/scss/docs.scss)0
-rw-r--r--site/docs/4.2/browser-bugs.md (renamed from site/docs/4.1/browser-bugs.md)0
-rw-r--r--site/docs/4.2/components/alerts.md (renamed from site/docs/4.1/components/alerts.md)0
-rw-r--r--site/docs/4.2/components/badge.md (renamed from site/docs/4.1/components/badge.md)0
-rw-r--r--site/docs/4.2/components/breadcrumb.md (renamed from site/docs/4.1/components/breadcrumb.md)0
-rw-r--r--site/docs/4.2/components/button-group.md (renamed from site/docs/4.1/components/button-group.md)0
-rw-r--r--site/docs/4.2/components/buttons.md (renamed from site/docs/4.1/components/buttons.md)2
-rw-r--r--site/docs/4.2/components/card.md (renamed from site/docs/4.1/components/card.md)46
-rw-r--r--site/docs/4.2/components/carousel.md (renamed from site/docs/4.1/components/carousel.md)36
-rw-r--r--site/docs/4.2/components/collapse.md (renamed from site/docs/4.1/components/collapse.md)0
-rw-r--r--site/docs/4.2/components/dropdowns.md (renamed from site/docs/4.1/components/dropdowns.md)0
-rw-r--r--site/docs/4.2/components/forms.md (renamed from site/docs/4.1/components/forms.md)24
-rw-r--r--site/docs/4.2/components/input-group.md (renamed from site/docs/4.1/components/input-group.md)0
-rw-r--r--site/docs/4.2/components/jumbotron.md (renamed from site/docs/4.1/components/jumbotron.md)0
-rw-r--r--site/docs/4.2/components/list-group.md (renamed from site/docs/4.1/components/list-group.md)0
-rw-r--r--site/docs/4.2/components/media-object.md (renamed from site/docs/4.1/components/media-object.md)20
-rw-r--r--site/docs/4.2/components/modal.md (renamed from site/docs/4.1/components/modal.md)0
-rw-r--r--site/docs/4.2/components/navbar.md (renamed from site/docs/4.1/components/navbar.md)0
-rw-r--r--site/docs/4.2/components/navs.md (renamed from site/docs/4.1/components/navs.md)0
-rw-r--r--site/docs/4.2/components/pagination.md (renamed from site/docs/4.1/components/pagination.md)0
-rw-r--r--site/docs/4.2/components/popovers.md (renamed from site/docs/4.1/components/popovers.md)1
-rw-r--r--site/docs/4.2/components/progress.md (renamed from site/docs/4.1/components/progress.md)0
-rw-r--r--site/docs/4.2/components/scrollspy.md (renamed from site/docs/4.1/components/scrollspy.md)12
-rw-r--r--site/docs/4.2/components/spinners.md (renamed from site/docs/4.1/components/spinners.md)0
-rw-r--r--site/docs/4.2/components/toasts.md (renamed from site/docs/4.1/components/toasts.md)0
-rw-r--r--site/docs/4.2/components/tooltips.md (renamed from site/docs/4.1/components/tooltips.md)1
-rw-r--r--site/docs/4.2/content/code.md (renamed from site/docs/4.1/content/code.md)0
-rw-r--r--site/docs/4.2/content/figures.md (renamed from site/docs/4.1/content/figures.md)4
-rw-r--r--site/docs/4.2/content/images.md (renamed from site/docs/4.1/content/images.md)10
-rw-r--r--site/docs/4.2/content/reboot.md (renamed from site/docs/4.1/content/reboot.md)2
-rw-r--r--site/docs/4.2/content/tables.md (renamed from site/docs/4.1/content/tables.md)0
-rw-r--r--site/docs/4.2/content/typography.md (renamed from site/docs/4.1/content/typography.md)0
-rw-r--r--site/docs/4.2/examples/.stylelintrc (renamed from site/docs/4.1/examples/.stylelintrc)0
-rw-r--r--site/docs/4.2/examples/album/album.css (renamed from site/docs/4.1/examples/album/album.css)0
-rw-r--r--site/docs/4.2/examples/album/index.html (renamed from site/docs/4.1/examples/album/index.html)2
-rw-r--r--site/docs/4.2/examples/blog/blog.css (renamed from site/docs/4.1/examples/blog/blog.css)0
-rw-r--r--site/docs/4.2/examples/blog/index.html (renamed from site/docs/4.1/examples/blog/index.html)6
-rw-r--r--site/docs/4.2/examples/carousel/carousel.css (renamed from site/docs/4.1/examples/carousel/carousel.css)0
-rw-r--r--site/docs/4.2/examples/carousel/index.html (renamed from site/docs/4.1/examples/carousel/index.html)12
-rw-r--r--site/docs/4.2/examples/checkout/form-validation.css (renamed from site/docs/4.1/examples/checkout/form-validation.css)0
-rw-r--r--site/docs/4.2/examples/checkout/form-validation.js (renamed from site/docs/4.1/examples/checkout/form-validation.js)0
-rw-r--r--site/docs/4.2/examples/checkout/index.html (renamed from site/docs/4.1/examples/checkout/index.html)0
-rw-r--r--site/docs/4.2/examples/cover/cover.css (renamed from site/docs/4.1/examples/cover/cover.css)0
-rw-r--r--site/docs/4.2/examples/cover/index.html (renamed from site/docs/4.1/examples/cover/index.html)0
-rw-r--r--site/docs/4.2/examples/dashboard/dashboard.css (renamed from site/docs/4.1/examples/dashboard/dashboard.css)0
-rw-r--r--site/docs/4.2/examples/dashboard/dashboard.js (renamed from site/docs/4.1/examples/dashboard/dashboard.js)0
-rw-r--r--site/docs/4.2/examples/dashboard/index.html (renamed from site/docs/4.1/examples/dashboard/index.html)0
-rw-r--r--site/docs/4.2/examples/floating-labels/floating-labels.css (renamed from site/docs/4.1/examples/floating-labels/floating-labels.css)0
-rw-r--r--site/docs/4.2/examples/floating-labels/index.html (renamed from site/docs/4.1/examples/floating-labels/index.html)0
-rw-r--r--site/docs/4.2/examples/grid/grid.css (renamed from site/docs/4.1/examples/grid/grid.css)0
-rw-r--r--site/docs/4.2/examples/grid/index.html (renamed from site/docs/4.1/examples/grid/index.html)0
-rw-r--r--site/docs/4.2/examples/index.html (renamed from site/docs/4.1/examples/index.html)0
-rw-r--r--site/docs/4.2/examples/jumbotron/index.html (renamed from site/docs/4.1/examples/jumbotron/index.html)0
-rw-r--r--site/docs/4.2/examples/jumbotron/jumbotron.css (renamed from site/docs/4.1/examples/jumbotron/jumbotron.css)0
-rw-r--r--site/docs/4.2/examples/navbar-bottom/index.html (renamed from site/docs/4.1/examples/navbar-bottom/index.html)0
-rw-r--r--site/docs/4.2/examples/navbar-fixed/index.html (renamed from site/docs/4.1/examples/navbar-fixed/index.html)0
-rw-r--r--site/docs/4.2/examples/navbar-fixed/navbar-top-fixed.css (renamed from site/docs/4.1/examples/navbar-fixed/navbar-top-fixed.css)0
-rw-r--r--site/docs/4.2/examples/navbar-static/index.html (renamed from site/docs/4.1/examples/navbar-static/index.html)0
-rw-r--r--site/docs/4.2/examples/navbar-static/navbar-top.css (renamed from site/docs/4.1/examples/navbar-static/navbar-top.css)0
-rw-r--r--site/docs/4.2/examples/navbars/index.html (renamed from site/docs/4.1/examples/navbars/index.html)0
-rw-r--r--site/docs/4.2/examples/navbars/navbar.css (renamed from site/docs/4.1/examples/navbars/navbar.css)0
-rw-r--r--site/docs/4.2/examples/offcanvas/index.html (renamed from site/docs/4.1/examples/offcanvas/index.html)0
-rw-r--r--site/docs/4.2/examples/offcanvas/offcanvas.css (renamed from site/docs/4.1/examples/offcanvas/offcanvas.css)0
-rw-r--r--site/docs/4.2/examples/offcanvas/offcanvas.js (renamed from site/docs/4.1/examples/offcanvas/offcanvas.js)0
-rw-r--r--site/docs/4.2/examples/pricing/index.html (renamed from site/docs/4.1/examples/pricing/index.html)0
-rw-r--r--site/docs/4.2/examples/pricing/pricing.css (renamed from site/docs/4.1/examples/pricing/pricing.css)0
-rw-r--r--site/docs/4.2/examples/product/index.html (renamed from site/docs/4.1/examples/product/index.html)4
-rw-r--r--site/docs/4.2/examples/product/product.css (renamed from site/docs/4.1/examples/product/product.css)0
-rw-r--r--site/docs/4.2/examples/sign-in/index.html (renamed from site/docs/4.1/examples/sign-in/index.html)0
-rw-r--r--site/docs/4.2/examples/sign-in/signin.css (renamed from site/docs/4.1/examples/sign-in/signin.css)0
-rw-r--r--site/docs/4.2/examples/starter-template/index.html (renamed from site/docs/4.1/examples/starter-template/index.html)0
-rw-r--r--site/docs/4.2/examples/starter-template/starter-template.css (renamed from site/docs/4.1/examples/starter-template/starter-template.css)0
-rw-r--r--site/docs/4.2/examples/sticky-footer-navbar/index.html (renamed from site/docs/4.1/examples/sticky-footer-navbar/index.html)0
-rw-r--r--site/docs/4.2/examples/sticky-footer-navbar/sticky-footer-navbar.css (renamed from site/docs/4.1/examples/sticky-footer-navbar/sticky-footer-navbar.css)0
-rw-r--r--site/docs/4.2/examples/sticky-footer/index.html (renamed from site/docs/4.1/examples/sticky-footer/index.html)0
-rw-r--r--site/docs/4.2/examples/sticky-footer/sticky-footer.css (renamed from site/docs/4.1/examples/sticky-footer/sticky-footer.css)0
-rw-r--r--site/docs/4.2/extend/approach.md (renamed from site/docs/4.1/extend/approach.md)0
-rw-r--r--site/docs/4.2/extend/icons.md (renamed from site/docs/4.1/extend/icons.md)0
-rw-r--r--site/docs/4.2/extend/index.md (renamed from site/docs/4.1/extend/index.md)0
-rw-r--r--site/docs/4.2/getting-started/accessibility.md (renamed from site/docs/4.1/getting-started/accessibility.md)0
-rw-r--r--site/docs/4.2/getting-started/best-practices.md (renamed from site/docs/4.1/getting-started/best-practices.md)0
-rw-r--r--site/docs/4.2/getting-started/browsers-devices.md (renamed from site/docs/4.1/getting-started/browsers-devices.md)0
-rw-r--r--site/docs/4.2/getting-started/build-tools.md (renamed from site/docs/4.1/getting-started/build-tools.md)0
-rw-r--r--site/docs/4.2/getting-started/contents.md (renamed from site/docs/4.1/getting-started/contents.md)2
-rw-r--r--site/docs/4.2/getting-started/download.md (renamed from site/docs/4.1/getting-started/download.md)0
-rw-r--r--site/docs/4.2/getting-started/introduction.md (renamed from site/docs/4.1/getting-started/introduction.md)4
-rw-r--r--site/docs/4.2/getting-started/javascript.md (renamed from site/docs/4.1/getting-started/javascript.md)0
-rw-r--r--site/docs/4.2/getting-started/theming.md (renamed from site/docs/4.1/getting-started/theming.md)3
-rw-r--r--site/docs/4.2/getting-started/webpack.md (renamed from site/docs/4.1/getting-started/webpack.md)2
-rw-r--r--site/docs/4.2/layout/grid.md (renamed from site/docs/4.1/layout/grid.md)223
-rw-r--r--site/docs/4.2/layout/overview.md (renamed from site/docs/4.1/layout/overview.md)2
-rw-r--r--site/docs/4.2/layout/utilities-for-layout.md (renamed from site/docs/4.1/layout/utilities-for-layout.md)0
-rw-r--r--site/docs/4.2/migration.md (renamed from site/docs/4.1/migration.md)2
-rw-r--r--site/docs/4.2/utilities/borders.md (renamed from site/docs/4.1/utilities/borders.md)2
-rw-r--r--site/docs/4.2/utilities/clearfix.md (renamed from site/docs/4.1/utilities/clearfix.md)0
-rw-r--r--site/docs/4.2/utilities/close-icon.md (renamed from site/docs/4.1/utilities/close-icon.md)0
-rw-r--r--site/docs/4.2/utilities/colors.md (renamed from site/docs/4.1/utilities/colors.md)0
-rw-r--r--site/docs/4.2/utilities/display.md (renamed from site/docs/4.1/utilities/display.md)2
-rw-r--r--site/docs/4.2/utilities/embed.md (renamed from site/docs/4.1/utilities/embed.md)0
-rw-r--r--site/docs/4.2/utilities/flex.md (renamed from site/docs/4.1/utilities/flex.md)0
-rw-r--r--site/docs/4.2/utilities/float.md (renamed from site/docs/4.1/utilities/float.md)0
-rw-r--r--site/docs/4.2/utilities/image-replacement.md (renamed from site/docs/4.1/utilities/image-replacement.md)0
-rw-r--r--site/docs/4.2/utilities/overflow.md (renamed from site/docs/4.1/utilities/overflow.md)0
-rw-r--r--site/docs/4.2/utilities/position.md (renamed from site/docs/4.1/utilities/position.md)0
-rw-r--r--site/docs/4.2/utilities/screenreaders.md (renamed from site/docs/4.1/utilities/screenreaders.md)0
-rw-r--r--site/docs/4.2/utilities/shadows.md (renamed from site/docs/4.1/utilities/shadows.md)0
-rw-r--r--site/docs/4.2/utilities/sizing.md (renamed from site/docs/4.1/utilities/sizing.md)2
-rw-r--r--site/docs/4.2/utilities/spacing.md (renamed from site/docs/4.1/utilities/spacing.md)0
-rw-r--r--site/docs/4.2/utilities/text.md (renamed from site/docs/4.1/utilities/text.md)9
-rw-r--r--site/docs/4.2/utilities/vertical-align.md (renamed from site/docs/4.1/utilities/vertical-align.md)0
-rw-r--r--site/docs/4.2/utilities/visibility.md (renamed from site/docs/4.1/utilities/visibility.md)0
223 files changed, 313 insertions, 263 deletions
diff --git a/site/_data/browser-bugs.yml b/site/_data/browser-bugs.yml
index 509bf960ca..7138c75b42 100644
--- a/site/_data/browser-bugs.yml
+++ b/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
diff --git a/site/_data/docs-versions.yml b/site/_data/docs-versions.yml
index e5078145f7..8687fa0905 100644
--- a/site/_data/docs-versions.yml
+++ b/site/_data/docs-versions.yml
@@ -29,13 +29,15 @@
- group: v3.x
baseurl: https://getbootstrap.com/docs
- description: Single docs site for our previous major release. Last update was v3.3.7.
+ 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.1.3.
+ description: Current major release with two minor releases. Last update was v4.2.1.
versions:
- v: 4.0
- v: 4.1
+ - v: 4.2
diff --git a/site/_data/translations.yml b/site/_data/translations.yml
index 2fe459491d..030fa771ba 100644
--- a/site/_data/translations.yml
+++ b/site/_data/translations.yml
@@ -8,11 +8,6 @@
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/
-
- name: Brazilian Portuguese
code: pt-BR
description: Bootstrap 4 Português do Brasil
diff --git a/site/_includes/docs-navbar.html b/site/_includes/docs-navbar.html
index a6154a8b37..5589ef8b59 100644
--- a/site/_includes/docs-navbar.html
+++ b/site/_includes/docs-navbar.html
@@ -32,10 +32,12 @@
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.2.x)</a>
+ <a class="dropdown-item" href="https://getbootstrap.com/docs/4.1/">v4.1.3</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>
diff --git a/site/_includes/example.html b/site/_includes/example.html
index dd1cc63823..dcd148b02a 100644
--- a/site/_includes/example.html
+++ b/site/_includes/example.html
@@ -34,16 +34,10 @@
{%- assign image_class = image_class[1] | replace: 'bd-placeholder-img-lg', '' | strip -%}
{%- endif -%}
- {%- assign image_alt = include.content
- | replace: '<title>', '<title>✂️'
- | replace: '</title>', '✂️</title>'
- | split: '✂️' -%}
- {%- assign image_alt = image_alt[1] -%}
-
{%- 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="{{ image_alt }}">
+ <img src="..." {% if image_class %}class="{{ image_class }}" {% endif %}alt="...">
{%- endcapture -%}
{{- img_placeholder -}}
{%- else -%}
diff --git a/site/_includes/icons/bootstrap-stack.svg b/site/_includes/icons/bootstrap-stack.svg
index 2ced27898f..6b35354490 100644
--- a/site/_includes/icons/bootstrap-stack.svg
+++ b/site/_includes/icons/bootstrap-stack.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" {% if include.class %} class="{{ include.class }}"{% endif %}{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} viewBox="0 0 1024 860"><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
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" {% if include.class %} class="{{ include.class }}"{% endif %}{% if include.width %} width="{{ include.width }}"{% endif %}{% if include.height %} height="{{ include.height }}"{% endif %} viewBox="0 0 1024 860" focusable="false" role="img"><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/site/_includes/icons/bootstrap.svg b/site/_includes/icons/bootstrap.svg
index 816028bd8e..a60e29f33b 100644
--- a/site/_includes/icons/bootstrap.svg
+++ b/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{% 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" role="img"><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>
diff --git a/site/_includes/icons/download.svg b/site/_includes/icons/download.svg
index aa5f3f1bee..d0c1fd2cc3 100644
--- a/site/_includes/icons/download.svg
+++ b/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" 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" aria-hidden="true"><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>
diff --git a/site/_includes/icons/github.svg b/site/_includes/icons/github.svg
index 5d6ad18040..4fcd9ed374 100644
--- a/site/_includes/icons/github.svg
+++ b/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{% 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" role="img"><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>
diff --git a/site/_includes/icons/import.svg b/site/_includes/icons/import.svg
index 0a9dbb2696..5db5bf8d82 100644
--- a/site/_includes/icons/import.svg
+++ b/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" 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" aria-hidden="true"><title>Import</title><path d="M28 22v8H4v-8M16 4v20m-8-8l8 8 8-8"/></svg>
diff --git a/site/_includes/icons/lightning.svg b/site/_includes/icons/lightning.svg
index be6f475ef4..bfc14b0e6a 100644
--- a/site/_includes/icons/lightning.svg
+++ b/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" 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" aria-hidden="true"><title>Lightning</title><path d="M18 13l8-11L8 13l6 6-8 11 18-11z"/></svg>
diff --git a/site/_includes/icons/menu.svg b/site/_includes/icons/menu.svg
index 03e15dc492..779870a541 100644
--- a/site/_includes/icons/menu.svg
+++ b/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{% 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" role="img"><title>Menu</title><path stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-miterlimit="10" d="M4 7h22M4 15h22M4 23h22"/></svg>
diff --git a/site/_includes/icons/placeholder.svg b/site/_includes/icons/placeholder.svg
index 159c2a335c..415d55c479 100644
--- a/site/_includes/icons/placeholder.svg
+++ b/site/_includes/icons/placeholder.svg
@@ -11,7 +11,7 @@
height: default: 180px
{%- endcomment -%}
-{%- assign title = include.title | default: 'Generic Placeholder Image' -%}
+{%- 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 -%}
@@ -25,7 +25,7 @@
{%- 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">
+<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 fill="{{ background }}" width="100%" height="100%"/>
{% if text != ' ' %}<text fill="{{ color }}" dy=".3em" x="50%" y="50%">{{ text }}</text>{% endif %}
diff --git a/site/_includes/icons/slack.svg b/site/_includes/icons/slack.svg
index 3927fa458b..93a4a29432 100644
--- a/site/_includes/icons/slack.svg
+++ b/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{% 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" role="img"><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>
diff --git a/site/_includes/icons/twitter.svg b/site/_includes/icons/twitter.svg
index 450c393b92..9b978a8784 100644
--- a/site/_includes/icons/twitter.svg
+++ b/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{% 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" role="img"><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>
diff --git a/site/docs/4.1/assets/js/docs.min.js b/site/docs/4.1/assets/js/docs.min.js
deleted file mode 100644
index 33a025eeb0..0000000000
--- a/site/docs/4.1/assets/js/docs.min.js
+++ /dev/null
@@ -1,22 +0,0 @@
-!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.3
- * 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()}(window,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.2.0 (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)},e=!!window.File,n=function(t){return t.hasAttribute("multiple")&&e?[].slice.call(t.files).map(function(t){return t.name}).join(", "):t.value};function h(){var t=this.parentNode.querySelector(f.CUSTOMFILELABEL);t&&(o(t).innerHTML=n(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-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(".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/site/docs/4.1/assets/js/vendor/bs-custom-file-input.min.js b/site/docs/4.1/assets/js/vendor/bs-custom-file-input.min.js
deleted file mode 100644
index e7c99e20aa..0000000000
--- a/site/docs/4.1/assets/js/vendor/bs-custom-file-input.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * bsCustomFileInput v1.2.0 (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)},t=!!window.File,n=function(e){return e.hasAttribute("multiple")&&t?[].slice.call(e.files).map(function(e){return e.name}).join(", "):e.value};function v(){var e=this.parentNode.querySelector(d.CUSTOMFILELABEL);e&&(r(e).innerHTML=n(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",y="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(y,v)}for(var s=0,a=o.length;s<a;s++)o[s].addEventListener(L,p),Object.defineProperty(o[s],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(y,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/site/docs/4.1/assets/js/vendor/clipboard.min.js b/site/docs/4.1/assets/js/vendor/clipboard.min.js
deleted file mode 100644
index d3fe2aee57..0000000000
--- a/site/docs/4.1/assets/js/vendor/clipboard.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * clipboard.js v2.0.3
- * 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()}(window,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}}}])});
diff --git a/site/docs/4.1/about/brand.md b/site/docs/4.2/about/brand.md
index 084c36bd88..084c36bd88 100644
--- a/site/docs/4.1/about/brand.md
+++ b/site/docs/4.2/about/brand.md
diff --git a/site/docs/4.1/about/license.md b/site/docs/4.2/about/license.md
index 39720029d7..39720029d7 100644
--- a/site/docs/4.1/about/license.md
+++ b/site/docs/4.2/about/license.md
diff --git a/site/docs/4.1/about/overview.md b/site/docs/4.2/about/overview.md
index 82d0bd6ef1..2d2e33aaf7 100644
--- a/site/docs/4.1/about/overview.md
+++ b/site/docs/4.2/about/overview.md
@@ -2,9 +2,6 @@
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/"
group: about
---
diff --git a/site/docs/4.1/about/team.md b/site/docs/4.2/about/team.md
index 93aecf882f..93aecf882f 100644
--- a/site/docs/4.1/about/team.md
+++ b/site/docs/4.2/about/team.md
diff --git a/site/docs/4.1/about/translations.md b/site/docs/4.2/about/translations.md
index 576259d356..576259d356 100644
--- a/site/docs/4.1/about/translations.md
+++ b/site/docs/4.2/about/translations.md
diff --git a/site/docs/4.1/assets/brand/bootstrap-outline.svg b/site/docs/4.2/assets/brand/bootstrap-outline.svg
index f331db63f3..6e136ca87b 100644
--- a/site/docs/4.1/assets/brand/bootstrap-outline.svg
+++ b/site/docs/4.2/assets/brand/bootstrap-outline.svg
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" fill="#FFF" viewBox="0 180 612 612">
+<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/site/docs/4.1/assets/brand/bootstrap-punchout.svg b/site/docs/4.2/assets/brand/bootstrap-punchout.svg
index 8538ee95c8..81c20b0d8f 100644
--- a/site/docs/4.1/assets/brand/bootstrap-punchout.svg
+++ b/site/docs/4.2/assets/brand/bootstrap-punchout.svg
@@ -1,4 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" fill="#FFF" viewBox="0 180 612 612">
+<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/site/docs/4.1/assets/brand/bootstrap-social-logo.png b/site/docs/4.2/assets/brand/bootstrap-social-logo.png
index fdd35e5d47..fdd35e5d47 100644
--- a/site/docs/4.1/assets/brand/bootstrap-social-logo.png
+++ b/site/docs/4.2/assets/brand/bootstrap-social-logo.png
Binary files differ
diff --git a/site/docs/4.1/assets/brand/bootstrap-social.png b/site/docs/4.2/assets/brand/bootstrap-social.png
index 468ab5b595..468ab5b595 100644
--- a/site/docs/4.1/assets/brand/bootstrap-social.png
+++ b/site/docs/4.2/assets/brand/bootstrap-social.png
Binary files differ
diff --git a/site/docs/4.1/assets/brand/bootstrap-solid.svg b/site/docs/4.2/assets/brand/bootstrap-solid.svg
index 5d860a70e4..4eed29bb72 100644
--- a/site/docs/4.1/assets/brand/bootstrap-solid.svg
+++ b/site/docs/4.2/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/site/docs/4.1/assets/css/docs.min.css b/site/docs/4.2/assets/css/docs.min.css
index 588ca1d10d..588ca1d10d 100644
--- a/site/docs/4.1/assets/css/docs.min.css
+++ b/site/docs/4.2/assets/css/docs.min.css
diff --git a/site/docs/4.1/assets/css/docs.min.css.map b/site/docs/4.2/assets/css/docs.min.css.map
index adf5093fc6..c9f91873cd 100644
--- a/site/docs/4.1/assets/css/docs.min.css.map
+++ b/site/docs/4.2/assets/css/docs.min.css.map
@@ -1 +1 @@
-{"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/_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":"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","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 \"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 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: $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 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 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 padding: .8rem 2rem;\n font-weight: 600;\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 &::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 -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.bd-content-title {\n display: block;\n pointer-events: auto;\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: 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: .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 line-height: 1;\n}\n\n.bd-masthead .btn {\n padding: .8rem 2rem;\n font-weight: 600;\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]::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 -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-title {\n display: block;\n pointer-events: auto;\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 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: .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: #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: 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: 85%;\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: .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 > svg + svg,\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: 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: .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-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-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.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: .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 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.bd-placeholder-img {\n font-size: 1.125rem;\n text-anchor: middle;\n}\n\n@media (min-width: 768px) {\n .bd-placeholder-img-lg {\n font-size: 3.5rem;\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 screen and (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: .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: .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: .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: .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: .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 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: #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: 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 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 font-size: 85%;\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 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 {\n > svg + svg,\n > img + 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 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: 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 border-radius: .25rem;\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 border-radius: .25rem;\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 border-radius: .25rem;\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 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 border-radius: .25rem;\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 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: $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 font-size: 1.125rem;\n text-anchor: middle;\n}\n\n.bd-placeholder-img-lg {\n @include media-breakpoint-up(md) {\n font-size: 3.5rem;\n }\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 screen and (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 font-size: .875rem !important;\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 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 font-size: .875rem !important;\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 font-size: .8125rem !important;\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 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
+{"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.2/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":"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","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 \"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 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: $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 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 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 padding: .8rem 2rem;\n font-weight: 600;\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 &::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 -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.bd-content-title {\n display: block;\n pointer-events: auto;\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: 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: .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 line-height: 1;\n}\n\n.bd-masthead .btn {\n padding: .8rem 2rem;\n font-weight: 600;\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]::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 -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-title {\n display: block;\n pointer-events: auto;\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 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: .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: #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: 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: 85%;\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: .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 > svg + svg,\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: 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: .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-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-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.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: .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 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.bd-placeholder-img {\n font-size: 1.125rem;\n text-anchor: middle;\n}\n\n@media (min-width: 768px) {\n .bd-placeholder-img-lg {\n font-size: 3.5rem;\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 screen and (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: .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: .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: .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: .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: .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 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: #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: 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 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 font-size: 85%;\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 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 {\n > svg + svg,\n > img + 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($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 border-radius: .25rem;\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 border-radius: .25rem;\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 border-radius: .25rem;\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 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 border-radius: .25rem;\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 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: $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 font-size: 1.125rem;\n text-anchor: middle;\n}\n\n.bd-placeholder-img-lg {\n @include media-breakpoint-up(md) {\n font-size: 3.5rem;\n }\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 screen and (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 font-size: .875rem !important;\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 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 font-size: .875rem !important;\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 font-size: .8125rem !important;\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 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/site/docs/4.1/assets/img/bootstrap-themes.png b/site/docs/4.2/assets/img/bootstrap-themes.png
index 15f33f3f7b..15f33f3f7b 100644
--- a/site/docs/4.1/assets/img/bootstrap-themes.png
+++ b/site/docs/4.2/assets/img/bootstrap-themes.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/bootstrap-themes@2x.png b/site/docs/4.2/assets/img/bootstrap-themes@2x.png
index 3876a18ee3..3876a18ee3 100644
--- a/site/docs/4.1/assets/img/bootstrap-themes@2x.png
+++ b/site/docs/4.2/assets/img/bootstrap-themes@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/album.png b/site/docs/4.2/assets/img/examples/album.png
index 694b3b2d20..694b3b2d20 100644
--- a/site/docs/4.1/assets/img/examples/album.png
+++ b/site/docs/4.2/assets/img/examples/album.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/album@2x.png b/site/docs/4.2/assets/img/examples/album@2x.png
index 162269c461..162269c461 100644
--- a/site/docs/4.1/assets/img/examples/album@2x.png
+++ b/site/docs/4.2/assets/img/examples/album@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/blog.png b/site/docs/4.2/assets/img/examples/blog.png
index 6d6c8356bc..6d6c8356bc 100644
--- a/site/docs/4.1/assets/img/examples/blog.png
+++ b/site/docs/4.2/assets/img/examples/blog.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/blog@2x.png b/site/docs/4.2/assets/img/examples/blog@2x.png
index f5480314b4..f5480314b4 100644
--- a/site/docs/4.1/assets/img/examples/blog@2x.png
+++ b/site/docs/4.2/assets/img/examples/blog@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/carousel.png b/site/docs/4.2/assets/img/examples/carousel.png
index abca5b3db6..abca5b3db6 100644
--- a/site/docs/4.1/assets/img/examples/carousel.png
+++ b/site/docs/4.2/assets/img/examples/carousel.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/carousel@2x.png b/site/docs/4.2/assets/img/examples/carousel@2x.png
index 39df35930c..39df35930c 100644
--- a/site/docs/4.1/assets/img/examples/carousel@2x.png
+++ b/site/docs/4.2/assets/img/examples/carousel@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/checkout.png b/site/docs/4.2/assets/img/examples/checkout.png
index 7af2e2efa8..7af2e2efa8 100644
--- a/site/docs/4.1/assets/img/examples/checkout.png
+++ b/site/docs/4.2/assets/img/examples/checkout.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/checkout@2x.png b/site/docs/4.2/assets/img/examples/checkout@2x.png
index 3e3c5af4b0..3e3c5af4b0 100644
--- a/site/docs/4.1/assets/img/examples/checkout@2x.png
+++ b/site/docs/4.2/assets/img/examples/checkout@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/cover.png b/site/docs/4.2/assets/img/examples/cover.png
index 5458ff11d3..5458ff11d3 100644
--- a/site/docs/4.1/assets/img/examples/cover.png
+++ b/site/docs/4.2/assets/img/examples/cover.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/cover@2x.png b/site/docs/4.2/assets/img/examples/cover@2x.png
index 9d20fb2ed6..9d20fb2ed6 100644
--- a/site/docs/4.1/assets/img/examples/cover@2x.png
+++ b/site/docs/4.2/assets/img/examples/cover@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/dashboard.png b/site/docs/4.2/assets/img/examples/dashboard.png
index 1ef0c39250..1ef0c39250 100644
--- a/site/docs/4.1/assets/img/examples/dashboard.png
+++ b/site/docs/4.2/assets/img/examples/dashboard.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/dashboard@2x.png b/site/docs/4.2/assets/img/examples/dashboard@2x.png
index 52b23dff69..52b23dff69 100644
--- a/site/docs/4.1/assets/img/examples/dashboard@2x.png
+++ b/site/docs/4.2/assets/img/examples/dashboard@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/floating-labels.png b/site/docs/4.2/assets/img/examples/floating-labels.png
index c836eadbb8..c836eadbb8 100644
--- a/site/docs/4.1/assets/img/examples/floating-labels.png
+++ b/site/docs/4.2/assets/img/examples/floating-labels.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/floating-labels@2x.png b/site/docs/4.2/assets/img/examples/floating-labels@2x.png
index 5d284bfe04..5d284bfe04 100644
--- a/site/docs/4.1/assets/img/examples/floating-labels@2x.png
+++ b/site/docs/4.2/assets/img/examples/floating-labels@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/grid.png b/site/docs/4.2/assets/img/examples/grid.png
index b3b5b35650..b3b5b35650 100644
--- a/site/docs/4.1/assets/img/examples/grid.png
+++ b/site/docs/4.2/assets/img/examples/grid.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/grid@2x.png b/site/docs/4.2/assets/img/examples/grid@2x.png
index e95c363658..e95c363658 100644
--- a/site/docs/4.1/assets/img/examples/grid@2x.png
+++ b/site/docs/4.2/assets/img/examples/grid@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/jumbotron.png b/site/docs/4.2/assets/img/examples/jumbotron.png
index afca61a7c5..afca61a7c5 100644
--- a/site/docs/4.1/assets/img/examples/jumbotron.png
+++ b/site/docs/4.2/assets/img/examples/jumbotron.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/jumbotron@2x.png b/site/docs/4.2/assets/img/examples/jumbotron@2x.png
index 4d83dffa6f..4d83dffa6f 100644
--- a/site/docs/4.1/assets/img/examples/jumbotron@2x.png
+++ b/site/docs/4.2/assets/img/examples/jumbotron@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/navbar-bottom.png b/site/docs/4.2/assets/img/examples/navbar-bottom.png
index e9f0abc952..e9f0abc952 100644
--- a/site/docs/4.1/assets/img/examples/navbar-bottom.png
+++ b/site/docs/4.2/assets/img/examples/navbar-bottom.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/navbar-bottom@2x.png b/site/docs/4.2/assets/img/examples/navbar-bottom@2x.png
index a62faa182e..a62faa182e 100644
--- a/site/docs/4.1/assets/img/examples/navbar-bottom@2x.png
+++ b/site/docs/4.2/assets/img/examples/navbar-bottom@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/navbar-fixed.png b/site/docs/4.2/assets/img/examples/navbar-fixed.png
index c839602a7f..c839602a7f 100644
--- a/site/docs/4.1/assets/img/examples/navbar-fixed.png
+++ b/site/docs/4.2/assets/img/examples/navbar-fixed.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/navbar-fixed@2x.png b/site/docs/4.2/assets/img/examples/navbar-fixed@2x.png
index 1ce8ca576c..1ce8ca576c 100644
--- a/site/docs/4.1/assets/img/examples/navbar-fixed@2x.png
+++ b/site/docs/4.2/assets/img/examples/navbar-fixed@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/navbar-static.png b/site/docs/4.2/assets/img/examples/navbar-static.png
index faebe34511..faebe34511 100644
--- a/site/docs/4.1/assets/img/examples/navbar-static.png
+++ b/site/docs/4.2/assets/img/examples/navbar-static.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/navbar-static@2x.png b/site/docs/4.2/assets/img/examples/navbar-static@2x.png
index 758aa61e8a..758aa61e8a 100644
--- a/site/docs/4.1/assets/img/examples/navbar-static@2x.png
+++ b/site/docs/4.2/assets/img/examples/navbar-static@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/navbars.png b/site/docs/4.2/assets/img/examples/navbars.png
index 874f6d7525..874f6d7525 100644
--- a/site/docs/4.1/assets/img/examples/navbars.png
+++ b/site/docs/4.2/assets/img/examples/navbars.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/navbars@2x.png b/site/docs/4.2/assets/img/examples/navbars@2x.png
index ce11b8d2cd..ce11b8d2cd 100644
--- a/site/docs/4.1/assets/img/examples/navbars@2x.png
+++ b/site/docs/4.2/assets/img/examples/navbars@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/offcanvas.png b/site/docs/4.2/assets/img/examples/offcanvas.png
index b5073eba40..b5073eba40 100644
--- a/site/docs/4.1/assets/img/examples/offcanvas.png
+++ b/site/docs/4.2/assets/img/examples/offcanvas.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/offcanvas@2x.png b/site/docs/4.2/assets/img/examples/offcanvas@2x.png
index e5287dde88..e5287dde88 100644
--- a/site/docs/4.1/assets/img/examples/offcanvas@2x.png
+++ b/site/docs/4.2/assets/img/examples/offcanvas@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/pricing.png b/site/docs/4.2/assets/img/examples/pricing.png
index 3638c9ef3d..3638c9ef3d 100644
--- a/site/docs/4.1/assets/img/examples/pricing.png
+++ b/site/docs/4.2/assets/img/examples/pricing.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/pricing@2x.png b/site/docs/4.2/assets/img/examples/pricing@2x.png
index 9ddac54ea8..9ddac54ea8 100644
--- a/site/docs/4.1/assets/img/examples/pricing@2x.png
+++ b/site/docs/4.2/assets/img/examples/pricing@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/product.png b/site/docs/4.2/assets/img/examples/product.png
index a8d3dcb8d4..a8d3dcb8d4 100644
--- a/site/docs/4.1/assets/img/examples/product.png
+++ b/site/docs/4.2/assets/img/examples/product.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/product@2x.png b/site/docs/4.2/assets/img/examples/product@2x.png
index 1dfe454821..1dfe454821 100644
--- a/site/docs/4.1/assets/img/examples/product@2x.png
+++ b/site/docs/4.2/assets/img/examples/product@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/sign-in.png b/site/docs/4.2/assets/img/examples/sign-in.png
index 53aed97247..53aed97247 100644
--- a/site/docs/4.1/assets/img/examples/sign-in.png
+++ b/site/docs/4.2/assets/img/examples/sign-in.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/sign-in@2x.png b/site/docs/4.2/assets/img/examples/sign-in@2x.png
index 8b3431de9c..8b3431de9c 100644
--- a/site/docs/4.1/assets/img/examples/sign-in@2x.png
+++ b/site/docs/4.2/assets/img/examples/sign-in@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/starter-template.png b/site/docs/4.2/assets/img/examples/starter-template.png
index 0cbcaa1eb0..0cbcaa1eb0 100644
--- a/site/docs/4.1/assets/img/examples/starter-template.png
+++ b/site/docs/4.2/assets/img/examples/starter-template.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/starter-template@2x.png b/site/docs/4.2/assets/img/examples/starter-template@2x.png
index 436c452de1..436c452de1 100644
--- a/site/docs/4.1/assets/img/examples/starter-template@2x.png
+++ b/site/docs/4.2/assets/img/examples/starter-template@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/sticky-footer-navbar.png b/site/docs/4.2/assets/img/examples/sticky-footer-navbar.png
index f64d666387..f64d666387 100644
--- a/site/docs/4.1/assets/img/examples/sticky-footer-navbar.png
+++ b/site/docs/4.2/assets/img/examples/sticky-footer-navbar.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/sticky-footer-navbar@2x.png b/site/docs/4.2/assets/img/examples/sticky-footer-navbar@2x.png
index 9478901f6f..9478901f6f 100644
--- a/site/docs/4.1/assets/img/examples/sticky-footer-navbar@2x.png
+++ b/site/docs/4.2/assets/img/examples/sticky-footer-navbar@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/sticky-footer.png b/site/docs/4.2/assets/img/examples/sticky-footer.png
index 203ed62f50..203ed62f50 100644
--- a/site/docs/4.1/assets/img/examples/sticky-footer.png
+++ b/site/docs/4.2/assets/img/examples/sticky-footer.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/examples/sticky-footer@2x.png b/site/docs/4.2/assets/img/examples/sticky-footer@2x.png
index 5a008a0ac3..5a008a0ac3 100644
--- a/site/docs/4.1/assets/img/examples/sticky-footer@2x.png
+++ b/site/docs/4.2/assets/img/examples/sticky-footer@2x.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/favicons/android-chrome-192x192.png b/site/docs/4.2/assets/img/favicons/android-chrome-192x192.png
index 547386f371..547386f371 100644
--- a/site/docs/4.1/assets/img/favicons/android-chrome-192x192.png
+++ b/site/docs/4.2/assets/img/favicons/android-chrome-192x192.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/favicons/android-chrome-512x512.png b/site/docs/4.2/assets/img/favicons/android-chrome-512x512.png
index eae76488dc..eae76488dc 100644
--- a/site/docs/4.1/assets/img/favicons/android-chrome-512x512.png
+++ b/site/docs/4.2/assets/img/favicons/android-chrome-512x512.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/favicons/apple-touch-icon.png b/site/docs/4.2/assets/img/favicons/apple-touch-icon.png
index 447cec2c47..447cec2c47 100644
--- a/site/docs/4.1/assets/img/favicons/apple-touch-icon.png
+++ b/site/docs/4.2/assets/img/favicons/apple-touch-icon.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/favicons/browserconfig.xml b/site/docs/4.2/assets/img/favicons/browserconfig.xml
index 0d17d11d49..0d17d11d49 100644
--- a/site/docs/4.1/assets/img/favicons/browserconfig.xml
+++ b/site/docs/4.2/assets/img/favicons/browserconfig.xml
diff --git a/site/docs/4.1/assets/img/favicons/favicon-16x16.png b/site/docs/4.2/assets/img/favicons/favicon-16x16.png
index 5f7d11880f..5f7d11880f 100644
--- a/site/docs/4.1/assets/img/favicons/favicon-16x16.png
+++ b/site/docs/4.2/assets/img/favicons/favicon-16x16.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/favicons/favicon-32x32.png b/site/docs/4.2/assets/img/favicons/favicon-32x32.png
index d752fd5d71..d752fd5d71 100644
--- a/site/docs/4.1/assets/img/favicons/favicon-32x32.png
+++ b/site/docs/4.2/assets/img/favicons/favicon-32x32.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/favicons/manifest.json b/site/docs/4.2/assets/img/favicons/manifest.json
index a92accba64..a92accba64 100644
--- a/site/docs/4.1/assets/img/favicons/manifest.json
+++ b/site/docs/4.2/assets/img/favicons/manifest.json
diff --git a/site/docs/4.1/assets/img/favicons/mstile-144x144.png b/site/docs/4.2/assets/img/favicons/mstile-144x144.png
index 262a3c2e14..262a3c2e14 100644
--- a/site/docs/4.1/assets/img/favicons/mstile-144x144.png
+++ b/site/docs/4.2/assets/img/favicons/mstile-144x144.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/favicons/mstile-150x150.png b/site/docs/4.2/assets/img/favicons/mstile-150x150.png
index bb87faf74f..bb87faf74f 100644
--- a/site/docs/4.1/assets/img/favicons/mstile-150x150.png
+++ b/site/docs/4.2/assets/img/favicons/mstile-150x150.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/favicons/mstile-310x150.png b/site/docs/4.2/assets/img/favicons/mstile-310x150.png
index 2fc36a7268..2fc36a7268 100644
--- a/site/docs/4.1/assets/img/favicons/mstile-310x150.png
+++ b/site/docs/4.2/assets/img/favicons/mstile-310x150.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/favicons/mstile-310x310.png b/site/docs/4.2/assets/img/favicons/mstile-310x310.png
index 7f00d0c66a..7f00d0c66a 100644
--- a/site/docs/4.1/assets/img/favicons/mstile-310x310.png
+++ b/site/docs/4.2/assets/img/favicons/mstile-310x310.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/favicons/mstile-70x70.png b/site/docs/4.2/assets/img/favicons/mstile-70x70.png
index 4da2de9e36..4da2de9e36 100644
--- a/site/docs/4.1/assets/img/favicons/mstile-70x70.png
+++ b/site/docs/4.2/assets/img/favicons/mstile-70x70.png
Binary files differ
diff --git a/site/docs/4.1/assets/img/favicons/safari-pinned-tab.svg b/site/docs/4.2/assets/img/favicons/safari-pinned-tab.svg
index ddeeb53c91..ddeeb53c91 100644
--- a/site/docs/4.1/assets/img/favicons/safari-pinned-tab.svg
+++ b/site/docs/4.2/assets/img/favicons/safari-pinned-tab.svg
diff --git a/site/docs/4.2/assets/js/docs.min.js b/site/docs/4.2/assets/js/docs.min.js
new file mode 100644
index 0000000000..3ee7863a3a
--- /dev/null
+++ b/site/docs/4.2/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-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(".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/site/docs/4.1/assets/js/src/application.js b/site/docs/4.2/assets/js/src/application.js
index 8bd9e78771..8bd9e78771 100644
--- a/site/docs/4.1/assets/js/src/application.js
+++ b/site/docs/4.2/assets/js/src/application.js
diff --git a/site/docs/4.1/assets/js/src/ie-emulation-modes-warning.js b/site/docs/4.2/assets/js/src/ie-emulation-modes-warning.js
index 610128e273..610128e273 100644
--- a/site/docs/4.1/assets/js/src/ie-emulation-modes-warning.js
+++ b/site/docs/4.2/assets/js/src/ie-emulation-modes-warning.js
diff --git a/site/docs/4.1/assets/js/src/search.js b/site/docs/4.2/assets/js/src/search.js
index 459d412df9..459d412df9 100644
--- a/site/docs/4.1/assets/js/src/search.js
+++ b/site/docs/4.2/assets/js/src/search.js
diff --git a/site/docs/4.1/assets/js/vendor/anchor.min.js b/site/docs/4.2/assets/js/vendor/anchor.min.js
index 29a64acae6..29a64acae6 100644
--- a/site/docs/4.1/assets/js/vendor/anchor.min.js
+++ b/site/docs/4.2/assets/js/vendor/anchor.min.js
diff --git a/site/docs/4.2/assets/js/vendor/bs-custom-file-input.min.js b/site/docs/4.2/assets/js/vendor/bs-custom-file-input.min.js
new file mode 100644
index 0000000000..bdf7024911
--- /dev/null
+++ b/site/docs/4.2/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/site/docs/4.2/assets/js/vendor/clipboard.min.js b/site/docs/4.2/assets/js/vendor/clipboard.min.js
new file mode 100644
index 0000000000..02c549e35c
--- /dev/null
+++ b/site/docs/4.2/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/site/docs/4.1/assets/js/vendor/jquery-slim.min.js b/site/docs/4.2/assets/js/vendor/jquery-slim.min.js
index f4ca9b24ba..f4ca9b24ba 100644
--- a/site/docs/4.1/assets/js/vendor/jquery-slim.min.js
+++ b/site/docs/4.2/assets/js/vendor/jquery-slim.min.js
diff --git a/site/docs/4.1/assets/scss/_ads.scss b/site/docs/4.2/assets/scss/_ads.scss
index 375a9e01fa..375a9e01fa 100644
--- a/site/docs/4.1/assets/scss/_ads.scss
+++ b/site/docs/4.2/assets/scss/_ads.scss
diff --git a/site/docs/4.1/assets/scss/_algolia.scss b/site/docs/4.2/assets/scss/_algolia.scss
index e523dec8ef..e523dec8ef 100644
--- a/site/docs/4.1/assets/scss/_algolia.scss
+++ b/site/docs/4.2/assets/scss/_algolia.scss
diff --git a/site/docs/4.1/assets/scss/_anchor.scss b/site/docs/4.2/assets/scss/_anchor.scss
index a712a78cdc..a712a78cdc 100644
--- a/site/docs/4.1/assets/scss/_anchor.scss
+++ b/site/docs/4.2/assets/scss/_anchor.scss
diff --git a/site/docs/4.1/assets/scss/_brand.scss b/site/docs/4.2/assets/scss/_brand.scss
index c8c5c2d566..c8c5c2d566 100644
--- a/site/docs/4.1/assets/scss/_brand.scss
+++ b/site/docs/4.2/assets/scss/_brand.scss
diff --git a/site/docs/4.1/assets/scss/_browser-bugs.scss b/site/docs/4.2/assets/scss/_browser-bugs.scss
index f42158b379..f42158b379 100644
--- a/site/docs/4.1/assets/scss/_browser-bugs.scss
+++ b/site/docs/4.2/assets/scss/_browser-bugs.scss
diff --git a/site/docs/4.1/assets/scss/_buttons.scss b/site/docs/4.2/assets/scss/_buttons.scss
index 25bcbbd4b0..25bcbbd4b0 100644
--- a/site/docs/4.1/assets/scss/_buttons.scss
+++ b/site/docs/4.2/assets/scss/_buttons.scss
diff --git a/site/docs/4.1/assets/scss/_callouts.scss b/site/docs/4.2/assets/scss/_callouts.scss
index b11e370c64..b11e370c64 100644
--- a/site/docs/4.1/assets/scss/_callouts.scss
+++ b/site/docs/4.2/assets/scss/_callouts.scss
diff --git a/site/docs/4.1/assets/scss/_clipboard-js.scss b/site/docs/4.2/assets/scss/_clipboard-js.scss
index 001a6b01e2..001a6b01e2 100644
--- a/site/docs/4.1/assets/scss/_clipboard-js.scss
+++ b/site/docs/4.2/assets/scss/_clipboard-js.scss
diff --git a/site/docs/4.1/assets/scss/_colors.scss b/site/docs/4.2/assets/scss/_colors.scss
index 8d2825c570..8d2825c570 100644
--- a/site/docs/4.1/assets/scss/_colors.scss
+++ b/site/docs/4.2/assets/scss/_colors.scss
diff --git a/site/docs/4.1/assets/scss/_component-examples.scss b/site/docs/4.2/assets/scss/_component-examples.scss
index 1235695b2c..1235695b2c 100644
--- a/site/docs/4.1/assets/scss/_component-examples.scss
+++ b/site/docs/4.2/assets/scss/_component-examples.scss
diff --git a/site/docs/4.1/assets/scss/_content.scss b/site/docs/4.2/assets/scss/_content.scss
index ecd952bd87..ecd952bd87 100644
--- a/site/docs/4.1/assets/scss/_content.scss
+++ b/site/docs/4.2/assets/scss/_content.scss
diff --git a/site/docs/4.1/assets/scss/_footer.scss b/site/docs/4.2/assets/scss/_footer.scss
index c9a8e70e4f..c9a8e70e4f 100644
--- a/site/docs/4.1/assets/scss/_footer.scss
+++ b/site/docs/4.2/assets/scss/_footer.scss
diff --git a/site/docs/4.1/assets/scss/_masthead.scss b/site/docs/4.2/assets/scss/_masthead.scss
index e8007fc3c4..e8007fc3c4 100644
--- a/site/docs/4.1/assets/scss/_masthead.scss
+++ b/site/docs/4.2/assets/scss/_masthead.scss
diff --git a/site/docs/4.1/assets/scss/_nav.scss b/site/docs/4.2/assets/scss/_nav.scss
index 5ca226f7b5..5ca226f7b5 100644
--- a/site/docs/4.1/assets/scss/_nav.scss
+++ b/site/docs/4.2/assets/scss/_nav.scss
diff --git a/site/docs/4.1/assets/scss/_placeholder-img.scss b/site/docs/4.2/assets/scss/_placeholder-img.scss
index a9f8a41cb5..a9f8a41cb5 100644
--- a/site/docs/4.1/assets/scss/_placeholder-img.scss
+++ b/site/docs/4.2/assets/scss/_placeholder-img.scss
diff --git a/site/docs/4.1/assets/scss/_sidebar.scss b/site/docs/4.2/assets/scss/_sidebar.scss
index 6e5ec8a418..6e5ec8a418 100644
--- a/site/docs/4.1/assets/scss/_sidebar.scss
+++ b/site/docs/4.2/assets/scss/_sidebar.scss
diff --git a/site/docs/4.1/assets/scss/_skippy.scss b/site/docs/4.2/assets/scss/_skippy.scss
index db971d114c..db971d114c 100644
--- a/site/docs/4.1/assets/scss/_skippy.scss
+++ b/site/docs/4.2/assets/scss/_skippy.scss
diff --git a/site/docs/4.1/assets/scss/_syntax.scss b/site/docs/4.2/assets/scss/_syntax.scss
index c03e800f8a..c03e800f8a 100644
--- a/site/docs/4.1/assets/scss/_syntax.scss
+++ b/site/docs/4.2/assets/scss/_syntax.scss
diff --git a/site/docs/4.1/assets/scss/_variables.scss b/site/docs/4.2/assets/scss/_variables.scss
index b60a21368b..b60a21368b 100644
--- a/site/docs/4.1/assets/scss/_variables.scss
+++ b/site/docs/4.2/assets/scss/_variables.scss
diff --git a/site/docs/4.1/assets/scss/docs.scss b/site/docs/4.2/assets/scss/docs.scss
index 4b6674ad02..4b6674ad02 100644
--- a/site/docs/4.1/assets/scss/docs.scss
+++ b/site/docs/4.2/assets/scss/docs.scss
diff --git a/site/docs/4.1/browser-bugs.md b/site/docs/4.2/browser-bugs.md
index 2340f90c29..2340f90c29 100644
--- a/site/docs/4.1/browser-bugs.md
+++ b/site/docs/4.2/browser-bugs.md
diff --git a/site/docs/4.1/components/alerts.md b/site/docs/4.2/components/alerts.md
index 6c6cb99366..6c6cb99366 100644
--- a/site/docs/4.1/components/alerts.md
+++ b/site/docs/4.2/components/alerts.md
diff --git a/site/docs/4.1/components/badge.md b/site/docs/4.2/components/badge.md
index 8c17600459..8c17600459 100644
--- a/site/docs/4.1/components/badge.md
+++ b/site/docs/4.2/components/badge.md
diff --git a/site/docs/4.1/components/breadcrumb.md b/site/docs/4.2/components/breadcrumb.md
index 0837e83633..0837e83633 100644
--- a/site/docs/4.1/components/breadcrumb.md
+++ b/site/docs/4.2/components/breadcrumb.md
diff --git a/site/docs/4.1/components/button-group.md b/site/docs/4.2/components/button-group.md
index 2261a5e729..2261a5e729 100644
--- a/site/docs/4.1/components/button-group.md
+++ b/site/docs/4.2/components/button-group.md
diff --git a/site/docs/4.1/components/buttons.md b/site/docs/4.2/components/buttons.md
index f999fd552e..df4dcf2c2c 100644
--- a/site/docs/4.1/components/buttons.md
+++ b/site/docs/4.2/components/buttons.md
@@ -3,7 +3,7 @@ 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/"
+redirect_from: "/docs/4.2/components/"
toc: true
---
diff --git a/site/docs/4.1/components/card.md b/site/docs/4.2/components/card.md
index 3a090c6578..221c9da54a 100644
--- a/site/docs/4.1/components/card.md
+++ b/site/docs/4.2/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;">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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;">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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;">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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>
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-bottom" text="Image cap" title="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">
- {% include icons/placeholder.svg width="100%" height="270" class="bd-placeholder-img-lg card-img" text="Card image" title="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>
@@ -462,7 +462,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">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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>
@@ -470,7 +470,7 @@ Use card groups to render cards as a single, attached element with equal width a
</div>
</div>
<div class="card">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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>
@@ -478,7 +478,7 @@ Use card groups to render cards as a single, attached element with equal width a
</div>
</div>
<div class="card">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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>
@@ -494,7 +494,7 @@ When using card groups with footers, their content will automatically line up.
{% capture example %}
<div class="card-group">
<div class="card">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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>
@@ -504,7 +504,7 @@ When using card groups with footers, their content will automatically line up.
</div>
</div>
<div class="card">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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>
@@ -514,7 +514,7 @@ When using card groups with footers, their content will automatically line up.
</div>
</div>
<div class="card">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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>
@@ -534,7 +534,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">
- {% include icons/placeholder.svg width="100%" height="200" class="card-img-top" text="Image cap" title="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>
@@ -542,7 +542,7 @@ Need a set of equal width and height cards that aren't attached to one another?
</div>
</div>
<div class="card">
- {% include icons/placeholder.svg width="100%" height="200" class="card-img-top" text="Image cap" title="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>
@@ -550,7 +550,7 @@ Need a set of equal width and height cards that aren't attached to one another?
</div>
</div>
<div class="card">
- {% include icons/placeholder.svg width="100%" height="200" class="card-img-top" text="Image cap" title="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>
@@ -566,7 +566,7 @@ Just like with card groups, card footers in decks will automatically line up.
{% capture example %}
<div class="card-deck">
<div class="card">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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>
@@ -576,7 +576,7 @@ Just like with card groups, card footers in decks will automatically line up.
</div>
</div>
<div class="card">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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>
@@ -586,7 +586,7 @@ Just like with card groups, card footers in decks will automatically line up.
</div>
</div>
<div class="card">
- {% include icons/placeholder.svg width="100%" height="180" class="card-img-top" text="Image cap" title="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>
@@ -608,7 +608,7 @@ Cards can be organized into [Masonry](https://masonry.desandro.com/)-like column
{% capture example %}
<div class="card-columns">
<div class="card">
- {% include icons/placeholder.svg width="100%" height="160" class="card-img-top" text="Image cap" title="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>
@@ -625,7 +625,7 @@ Cards can be organized into [Masonry](https://masonry.desandro.com/)-like column
</blockquote>
</div>
<div class="card">
- {% include icons/placeholder.svg width="100%" height="160" class="card-img-top" text="Image cap" title="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>
@@ -650,7 +650,7 @@ Cards can be organized into [Masonry](https://masonry.desandro.com/)-like column
</div>
</div>
<div class="card">
- {% include icons/placeholder.svg width="100%" height="260" class="card-img" text="Card image" title="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/site/docs/4.1/components/carousel.md b/site/docs/4.2/components/carousel.md
index bf8f5c250f..a0ff8c34f9 100644
--- a/site/docs/4.1/components/carousel.md
+++ b/site/docs/4.2/components/carousel.md
@@ -32,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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" title="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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" title="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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" title="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>
@@ -53,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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" title="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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" title="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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" title="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">
@@ -87,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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" title="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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" title="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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" title="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">
@@ -121,21 +121,21 @@ Add captions to your slides easily with the `.carousel-caption` element within a
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" title="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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" title="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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" title="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>
@@ -171,13 +171,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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#555" background="#777" text="First slide" title="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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#444" background="#666" text="Second slide" title="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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" title="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">
@@ -200,13 +200,13 @@ Add `data-interval=""` to a `.carousel-item` to change the amount of time to del
<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" title="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" 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" title="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">
- {% include icons/placeholder.svg width="800" height="400" class="bd-placeholder-img-lg d-block w-100" color="#333" background="#555" text="Third slide" title="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="#carouselExampleInterval" role="button" data-slide="prev">
diff --git a/site/docs/4.1/components/collapse.md b/site/docs/4.2/components/collapse.md
index 6ca6f43de0..6ca6f43de0 100644
--- a/site/docs/4.1/components/collapse.md
+++ b/site/docs/4.2/components/collapse.md
diff --git a/site/docs/4.1/components/dropdowns.md b/site/docs/4.2/components/dropdowns.md
index 6011bd9896..6011bd9896 100644
--- a/site/docs/4.1/components/dropdowns.md
+++ b/site/docs/4.2/components/dropdowns.md
diff --git a/site/docs/4.1/components/forms.md b/site/docs/4.2/components/forms.md
index 29f7fc10bc..0026d33263 100644
--- a/site/docs/4.1/components/forms.md
+++ b/site/docs/4.2/components/forms.md
@@ -992,7 +992,13 @@ We recommend using client-side validation, but in case you require server-side v
### Supported elements
-Our example forms show native textual `<input>`s above, but form validation styles are also available for `<textarea>`s and custom form controls.
+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">
@@ -1185,6 +1191,22 @@ Custom checkboxes and radios can also be disabled. Add the `disabled` boolean at
{% 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 %}
+
### Select menu
Custom `<select>` menus need only a custom class, `.custom-select` to trigger the custom styles. Custom styles are limited to the `<select>`'s initial appearance and cannot modify the `<option>`s due to browser limitations.
diff --git a/site/docs/4.1/components/input-group.md b/site/docs/4.2/components/input-group.md
index cdbfa794a6..cdbfa794a6 100644
--- a/site/docs/4.1/components/input-group.md
+++ b/site/docs/4.2/components/input-group.md
diff --git a/site/docs/4.1/components/jumbotron.md b/site/docs/4.2/components/jumbotron.md
index c146215653..c146215653 100644
--- a/site/docs/4.1/components/jumbotron.md
+++ b/site/docs/4.2/components/jumbotron.md
diff --git a/site/docs/4.1/components/list-group.md b/site/docs/4.2/components/list-group.md
index d3becaefbd..d3becaefbd 100644
--- a/site/docs/4.1/components/list-group.md
+++ b/site/docs/4.2/components/list-group.md
diff --git a/site/docs/4.1/components/media-object.md b/site/docs/4.2/components/media-object.md
index eb22911faf..32628e723f 100644
--- a/site/docs/4.1/components/media-object.md
+++ b/site/docs/4.2/components/media-object.md
@@ -14,7 +14,7 @@ Below is an example of a single media object. Only two classes are required—th
{% capture example %}
<div class="media">
- {% include icons/placeholder.svg width="64" height="64" class="mr-3" title="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">
- {% include icons/placeholder.svg width="64" height="64" class="mr-3" title="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="mr-3" href="#">
- {% include icons/placeholder.svg width="64" height="64" title="Generic placeholder image" %}
+ {% 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">
- {% include icons/placeholder.svg width="64" height="64" class="align-self-start mr-3" title="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">
- {% include icons/placeholder.svg width="64" height="64" class="align-self-center mr-3" title="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">
- {% include icons/placeholder.svg width="64" height="64" class="align-self-end mr-3" title="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>
- {% include icons/placeholder.svg width="64" height="64" class="ml-3" title="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">
- {% include icons/placeholder.svg width="64" height="64" class="mr-3" title="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">
- {% include icons/placeholder.svg width="64" height="64" class="mr-3" title="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">
- {% include icons/placeholder.svg width="64" height="64" class="mr-3" title="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/site/docs/4.1/components/modal.md b/site/docs/4.2/components/modal.md
index 86996ecda4..86996ecda4 100644
--- a/site/docs/4.1/components/modal.md
+++ b/site/docs/4.2/components/modal.md
diff --git a/site/docs/4.1/components/navbar.md b/site/docs/4.2/components/navbar.md
index 3405f8f67a..3405f8f67a 100644
--- a/site/docs/4.1/components/navbar.md
+++ b/site/docs/4.2/components/navbar.md
diff --git a/site/docs/4.1/components/navs.md b/site/docs/4.2/components/navs.md
index 7b22464555..7b22464555 100644
--- a/site/docs/4.1/components/navs.md
+++ b/site/docs/4.2/components/navs.md
diff --git a/site/docs/4.1/components/pagination.md b/site/docs/4.2/components/pagination.md
index b1f8e58a23..b1f8e58a23 100644
--- a/site/docs/4.1/components/pagination.md
+++ b/site/docs/4.2/components/pagination.md
diff --git a/site/docs/4.1/components/popovers.md b/site/docs/4.2/components/popovers.md
index f55826d7ca..1d407a9014 100644
--- a/site/docs/4.1/components/popovers.md
+++ b/site/docs/4.2/components/popovers.md
@@ -20,6 +20,7 @@ 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 %}
diff --git a/site/docs/4.1/components/progress.md b/site/docs/4.2/components/progress.md
index e342b06d93..e342b06d93 100644
--- a/site/docs/4.1/components/progress.md
+++ b/site/docs/4.2/components/progress.md
diff --git a/site/docs/4.1/components/scrollspy.md b/site/docs/4.2/components/scrollspy.md
index 3c52f82510..b8d9119491 100644
--- a/site/docs/4.1/components/scrollspy.md
+++ b/site/docs/4.2/components/scrollspy.md
@@ -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>
diff --git a/site/docs/4.1/components/spinners.md b/site/docs/4.2/components/spinners.md
index c165945727..c165945727 100644
--- a/site/docs/4.1/components/spinners.md
+++ b/site/docs/4.2/components/spinners.md
diff --git a/site/docs/4.1/components/toasts.md b/site/docs/4.2/components/toasts.md
index f9d0d7e4ce..f9d0d7e4ce 100644
--- a/site/docs/4.1/components/toasts.md
+++ b/site/docs/4.2/components/toasts.md
diff --git a/site/docs/4.1/components/tooltips.md b/site/docs/4.2/components/tooltips.md
index aa3ebe077c..e49db56347 100644
--- a/site/docs/4.1/components/tooltips.md
+++ b/site/docs/4.2/components/tooltips.md
@@ -19,6 +19,7 @@ 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 %}
diff --git a/site/docs/4.1/content/code.md b/site/docs/4.2/content/code.md
index d1ce12ccdc..d1ce12ccdc 100644
--- a/site/docs/4.1/content/code.md
+++ b/site/docs/4.2/content/code.md
diff --git a/site/docs/4.1/content/figures.md b/site/docs/4.2/content/figures.md
index a574a7693b..a647fc1d0b 100644
--- a/site/docs/4.1/content/figures.md
+++ b/site/docs/4.2/content/figures.md
@@ -11,7 +11,7 @@ Use the included `.figure` , `.figure-img` and `.figure-caption` classes to prov
{% capture example %}
<figure class="figure">
- {% include icons/placeholder.svg width="400" height="300" class="figure-img img-fluid rounded" title="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">
- {% include icons/placeholder.svg width="400" height="300" class="figure-img img-fluid rounded" title="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/site/docs/4.1/content/images.md b/site/docs/4.2/content/images.md
index b86f4f5f34..3ff822bed5 100644
--- a/site/docs/4.1/content/images.md
+++ b/site/docs/4.2/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">
- {% include icons/placeholder.svg width="100%" height="250" class="bd-placeholder-img-lg img-fluid" text="Responsive image" title="Generic responsive image" %}
+ {% include icons/placeholder.svg width="100%" height="250" class="bd-placeholder-img-lg img-fluid" text="Responsive image" %}
</div>
{% highlight html %}
@@ -42,8 +42,8 @@ In addition to our [border-radius utilities]({{ site.baseurl }}/docs/{{ site.doc
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">
- {% include icons/placeholder.svg width="200" height="200" class="rounded float-left" title="A generic square placeholder image with rounded corners" %}
- {% include icons/placeholder.svg width="200" height="200" class="rounded float-right" title="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">
- {% include icons/placeholder.svg width="200" height="200" class="rounded mx-auto d-block" title="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">
- {% include icons/placeholder.svg width="200" height="200" class="rounded" title="A generic square placeholder image with rounded corners" %}
+ {% include icons/placeholder.svg width="200" height="200" class="rounded" %}
</div>
</div>
diff --git a/site/docs/4.1/content/reboot.md b/site/docs/4.2/content/reboot.md
index c8d4ab672c..7801e346e6 100644
--- a/site/docs/4.1/content/reboot.md
+++ b/site/docs/4.2/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.2/content/"
toc: true
---
diff --git a/site/docs/4.1/content/tables.md b/site/docs/4.2/content/tables.md
index 8799d47f25..8799d47f25 100644
--- a/site/docs/4.1/content/tables.md
+++ b/site/docs/4.2/content/tables.md
diff --git a/site/docs/4.1/content/typography.md b/site/docs/4.2/content/typography.md
index 2451367e0c..2451367e0c 100644
--- a/site/docs/4.1/content/typography.md
+++ b/site/docs/4.2/content/typography.md
diff --git a/site/docs/4.1/examples/.stylelintrc b/site/docs/4.2/examples/.stylelintrc
index 5c3be6d59d..5c3be6d59d 100644
--- a/site/docs/4.1/examples/.stylelintrc
+++ b/site/docs/4.2/examples/.stylelintrc
diff --git a/site/docs/4.1/examples/album/album.css b/site/docs/4.2/examples/album/album.css
index bfc270d52e..bfc270d52e 100644
--- a/site/docs/4.1/examples/album/album.css
+++ b/site/docs/4.2/examples/album/album.css
diff --git a/site/docs/4.1/examples/album/index.html b/site/docs/4.2/examples/album/index.html
index 1e41de0f23..2f143e26d4 100644
--- a/site/docs/4.1/examples/album/index.html
+++ b/site/docs/4.2/examples/album/index.html
@@ -26,7 +26,7 @@ extra_css: "album.css"
<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>
+ <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" focusable="false" aria-hidden="true"><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">
diff --git a/site/docs/4.1/examples/blog/blog.css b/site/docs/4.2/examples/blog/blog.css
index b60d0d2e90..b60d0d2e90 100644
--- a/site/docs/4.1/examples/blog/blog.css
+++ b/site/docs/4.2/examples/blog/blog.css
diff --git a/site/docs/4.1/examples/blog/index.html b/site/docs/4.2/examples/blog/index.html
index 8c8417aca9..c2e1395acb 100644
--- a/site/docs/4.1/examples/blog/index.html
+++ b/site/docs/4.2/examples/blog/index.html
@@ -17,7 +17,7 @@ extra_css:
</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>
+ <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" focusable="false" role="img"><title>Search</title><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>
@@ -61,7 +61,7 @@ extra_css:
<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>
- {% include icons/placeholder.svg width="200" height="250" background="#55595c" color="#eceeef" class="card-img-right flex-auto d-none d-lg-block" text="Thumbnail" title="Card image cap" %}
+ {% include icons/placeholder.svg width="200" height="250" background="#55595c" color="#eceeef" class="card-img-right flex-auto d-none d-lg-block" text="Thumbnail" %}
</div>
</div>
<div class="col-md-6">
@@ -75,7 +75,7 @@ extra_css:
<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>
- {% include icons/placeholder.svg width="200" height="250" background="#55595c" color="#eceeef" class="card-img-right flex-auto d-none d-lg-block" text="Thumbnail" title="Card image cap" %}
+ {% include icons/placeholder.svg width="200" height="250" background="#55595c" color="#eceeef" class="card-img-right flex-auto d-none d-lg-block" text="Thumbnail" %}
</div>
</div>
</div>
diff --git a/site/docs/4.1/examples/carousel/carousel.css b/site/docs/4.2/examples/carousel/carousel.css
index 20300e90c6..20300e90c6 100644
--- a/site/docs/4.1/examples/carousel/carousel.css
+++ b/site/docs/4.2/examples/carousel/carousel.css
diff --git a/site/docs/4.1/examples/carousel/index.html b/site/docs/4.2/examples/carousel/index.html
index 3c0379b2a7..2cbf929ac1 100644
--- a/site/docs/4.1/examples/carousel/index.html
+++ b/site/docs/4.2/examples/carousel/index.html
@@ -90,19 +90,19 @@ extra_css: "carousel.css"
<!-- 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" text=" " title="Generic placeholder image" %}
+ {% 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" text=" " title="Generic placeholder image" %}
+ {% 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" text=" " title="Generic placeholder image" %}
+ {% 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>
@@ -120,7 +120,7 @@ extra_css: "carousel.css"
<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" title="Generic placeholder image" %}
+ {% 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>
@@ -132,7 +132,7 @@ extra_css: "carousel.css"
<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" title="Generic placeholder image" %}
+ {% 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>
@@ -144,7 +144,7 @@ extra_css: "carousel.css"
<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" title="Generic placeholder image" %}
+ {% 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>
diff --git a/site/docs/4.1/examples/checkout/form-validation.css b/site/docs/4.2/examples/checkout/form-validation.css
index 7a6246faec..7a6246faec 100644
--- a/site/docs/4.1/examples/checkout/form-validation.css
+++ b/site/docs/4.2/examples/checkout/form-validation.css
diff --git a/site/docs/4.1/examples/checkout/form-validation.js b/site/docs/4.2/examples/checkout/form-validation.js
index 280849408b..280849408b 100644
--- a/site/docs/4.1/examples/checkout/form-validation.js
+++ b/site/docs/4.2/examples/checkout/form-validation.js
diff --git a/site/docs/4.1/examples/checkout/index.html b/site/docs/4.2/examples/checkout/index.html
index 0af951214f..0af951214f 100644
--- a/site/docs/4.1/examples/checkout/index.html
+++ b/site/docs/4.2/examples/checkout/index.html
diff --git a/site/docs/4.1/examples/cover/cover.css b/site/docs/4.2/examples/cover/cover.css
index 7c6d33cdd5..7c6d33cdd5 100644
--- a/site/docs/4.1/examples/cover/cover.css
+++ b/site/docs/4.2/examples/cover/cover.css
diff --git a/site/docs/4.1/examples/cover/index.html b/site/docs/4.2/examples/cover/index.html
index 0b74e4fae9..0b74e4fae9 100644
--- a/site/docs/4.1/examples/cover/index.html
+++ b/site/docs/4.2/examples/cover/index.html
diff --git a/site/docs/4.1/examples/dashboard/dashboard.css b/site/docs/4.2/examples/dashboard/dashboard.css
index 6b5d7b5a5a..6b5d7b5a5a 100644
--- a/site/docs/4.1/examples/dashboard/dashboard.css
+++ b/site/docs/4.2/examples/dashboard/dashboard.css
diff --git a/site/docs/4.1/examples/dashboard/dashboard.js b/site/docs/4.2/examples/dashboard/dashboard.js
index de4a6347a3..de4a6347a3 100644
--- a/site/docs/4.1/examples/dashboard/dashboard.js
+++ b/site/docs/4.2/examples/dashboard/dashboard.js
diff --git a/site/docs/4.1/examples/dashboard/index.html b/site/docs/4.2/examples/dashboard/index.html
index 1b641b6209..1b641b6209 100644
--- a/site/docs/4.1/examples/dashboard/index.html
+++ b/site/docs/4.2/examples/dashboard/index.html
diff --git a/site/docs/4.1/examples/floating-labels/floating-labels.css b/site/docs/4.2/examples/floating-labels/floating-labels.css
index d8ad2f3c15..d8ad2f3c15 100644
--- a/site/docs/4.1/examples/floating-labels/floating-labels.css
+++ b/site/docs/4.2/examples/floating-labels/floating-labels.css
diff --git a/site/docs/4.1/examples/floating-labels/index.html b/site/docs/4.2/examples/floating-labels/index.html
index 9f1d8131d4..9f1d8131d4 100644
--- a/site/docs/4.1/examples/floating-labels/index.html
+++ b/site/docs/4.2/examples/floating-labels/index.html
diff --git a/site/docs/4.1/examples/grid/grid.css b/site/docs/4.2/examples/grid/grid.css
index e726996d31..e726996d31 100644
--- a/site/docs/4.1/examples/grid/grid.css
+++ b/site/docs/4.2/examples/grid/grid.css
diff --git a/site/docs/4.1/examples/grid/index.html b/site/docs/4.2/examples/grid/index.html
index b41090438d..b41090438d 100644
--- a/site/docs/4.1/examples/grid/index.html
+++ b/site/docs/4.2/examples/grid/index.html
diff --git a/site/docs/4.1/examples/index.html b/site/docs/4.2/examples/index.html
index d471512524..d471512524 100644
--- a/site/docs/4.1/examples/index.html
+++ b/site/docs/4.2/examples/index.html
diff --git a/site/docs/4.1/examples/jumbotron/index.html b/site/docs/4.2/examples/jumbotron/index.html
index 7d5c496db3..7d5c496db3 100644
--- a/site/docs/4.1/examples/jumbotron/index.html
+++ b/site/docs/4.2/examples/jumbotron/index.html
diff --git a/site/docs/4.1/examples/jumbotron/jumbotron.css b/site/docs/4.2/examples/jumbotron/jumbotron.css
index d751264eff..d751264eff 100644
--- a/site/docs/4.1/examples/jumbotron/jumbotron.css
+++ b/site/docs/4.2/examples/jumbotron/jumbotron.css
diff --git a/site/docs/4.1/examples/navbar-bottom/index.html b/site/docs/4.2/examples/navbar-bottom/index.html
index 97f7e0b5d5..97f7e0b5d5 100644
--- a/site/docs/4.1/examples/navbar-bottom/index.html
+++ b/site/docs/4.2/examples/navbar-bottom/index.html
diff --git a/site/docs/4.1/examples/navbar-fixed/index.html b/site/docs/4.2/examples/navbar-fixed/index.html
index 2a76f15ece..2a76f15ece 100644
--- a/site/docs/4.1/examples/navbar-fixed/index.html
+++ b/site/docs/4.2/examples/navbar-fixed/index.html
diff --git a/site/docs/4.1/examples/navbar-fixed/navbar-top-fixed.css b/site/docs/4.2/examples/navbar-fixed/navbar-top-fixed.css
index c77c0c1475..c77c0c1475 100644
--- a/site/docs/4.1/examples/navbar-fixed/navbar-top-fixed.css
+++ b/site/docs/4.2/examples/navbar-fixed/navbar-top-fixed.css
diff --git a/site/docs/4.1/examples/navbar-static/index.html b/site/docs/4.2/examples/navbar-static/index.html
index 4744271b0e..4744271b0e 100644
--- a/site/docs/4.1/examples/navbar-static/index.html
+++ b/site/docs/4.2/examples/navbar-static/index.html
diff --git a/site/docs/4.1/examples/navbar-static/navbar-top.css b/site/docs/4.2/examples/navbar-static/navbar-top.css
index 25bbdde094..25bbdde094 100644
--- a/site/docs/4.1/examples/navbar-static/navbar-top.css
+++ b/site/docs/4.2/examples/navbar-static/navbar-top.css
diff --git a/site/docs/4.1/examples/navbars/index.html b/site/docs/4.2/examples/navbars/index.html
index 0da4831410..0da4831410 100644
--- a/site/docs/4.1/examples/navbars/index.html
+++ b/site/docs/4.2/examples/navbars/index.html
diff --git a/site/docs/4.1/examples/navbars/navbar.css b/site/docs/4.2/examples/navbars/navbar.css
index 70d209409d..70d209409d 100644
--- a/site/docs/4.1/examples/navbars/navbar.css
+++ b/site/docs/4.2/examples/navbars/navbar.css
diff --git a/site/docs/4.1/examples/offcanvas/index.html b/site/docs/4.2/examples/offcanvas/index.html
index 015d1df321..015d1df321 100644
--- a/site/docs/4.1/examples/offcanvas/index.html
+++ b/site/docs/4.2/examples/offcanvas/index.html
diff --git a/site/docs/4.1/examples/offcanvas/offcanvas.css b/site/docs/4.2/examples/offcanvas/offcanvas.css
index 22de95a411..22de95a411 100644
--- a/site/docs/4.1/examples/offcanvas/offcanvas.css
+++ b/site/docs/4.2/examples/offcanvas/offcanvas.css
diff --git a/site/docs/4.1/examples/offcanvas/offcanvas.js b/site/docs/4.2/examples/offcanvas/offcanvas.js
index bc3e467118..bc3e467118 100644
--- a/site/docs/4.1/examples/offcanvas/offcanvas.js
+++ b/site/docs/4.2/examples/offcanvas/offcanvas.js
diff --git a/site/docs/4.1/examples/pricing/index.html b/site/docs/4.2/examples/pricing/index.html
index 64660972b4..64660972b4 100644
--- a/site/docs/4.1/examples/pricing/index.html
+++ b/site/docs/4.2/examples/pricing/index.html
diff --git a/site/docs/4.1/examples/pricing/pricing.css b/site/docs/4.2/examples/pricing/pricing.css
index cbf0ec013a..cbf0ec013a 100644
--- a/site/docs/4.1/examples/pricing/pricing.css
+++ b/site/docs/4.2/examples/pricing/pricing.css
diff --git a/site/docs/4.1/examples/product/index.html b/site/docs/4.2/examples/product/index.html
index 3b4e178736..1961304f11 100644
--- a/site/docs/4.1/examples/product/index.html
+++ b/site/docs/4.2/examples/product/index.html
@@ -7,7 +7,7 @@ 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" 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>
+ <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" focusable="false" role="img"><title>Product</title><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>
@@ -100,7 +100,7 @@ extra_css: "product.css"
<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>
+ <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" focusable="false" role="img"><title>Product</title><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">
diff --git a/site/docs/4.1/examples/product/product.css b/site/docs/4.2/examples/product/product.css
index 4db2864fc5..4db2864fc5 100644
--- a/site/docs/4.1/examples/product/product.css
+++ b/site/docs/4.2/examples/product/product.css
diff --git a/site/docs/4.1/examples/sign-in/index.html b/site/docs/4.2/examples/sign-in/index.html
index be03ad7054..be03ad7054 100644
--- a/site/docs/4.1/examples/sign-in/index.html
+++ b/site/docs/4.2/examples/sign-in/index.html
diff --git a/site/docs/4.1/examples/sign-in/signin.css b/site/docs/4.2/examples/sign-in/signin.css
index 90cc93e5b9..90cc93e5b9 100644
--- a/site/docs/4.1/examples/sign-in/signin.css
+++ b/site/docs/4.2/examples/sign-in/signin.css
diff --git a/site/docs/4.1/examples/starter-template/index.html b/site/docs/4.2/examples/starter-template/index.html
index 299637fc67..299637fc67 100644
--- a/site/docs/4.1/examples/starter-template/index.html
+++ b/site/docs/4.2/examples/starter-template/index.html
diff --git a/site/docs/4.1/examples/starter-template/starter-template.css b/site/docs/4.2/examples/starter-template/starter-template.css
index 5f64cd294e..5f64cd294e 100644
--- a/site/docs/4.1/examples/starter-template/starter-template.css
+++ b/site/docs/4.2/examples/starter-template/starter-template.css
diff --git a/site/docs/4.1/examples/sticky-footer-navbar/index.html b/site/docs/4.2/examples/sticky-footer-navbar/index.html
index 034a7552b8..034a7552b8 100644
--- a/site/docs/4.1/examples/sticky-footer-navbar/index.html
+++ b/site/docs/4.2/examples/sticky-footer-navbar/index.html
diff --git a/site/docs/4.1/examples/sticky-footer-navbar/sticky-footer-navbar.css b/site/docs/4.2/examples/sticky-footer-navbar/sticky-footer-navbar.css
index b4696dab6e..b4696dab6e 100644
--- a/site/docs/4.1/examples/sticky-footer-navbar/sticky-footer-navbar.css
+++ b/site/docs/4.2/examples/sticky-footer-navbar/sticky-footer-navbar.css
diff --git a/site/docs/4.1/examples/sticky-footer/index.html b/site/docs/4.2/examples/sticky-footer/index.html
index 828f7a5217..828f7a5217 100644
--- a/site/docs/4.1/examples/sticky-footer/index.html
+++ b/site/docs/4.2/examples/sticky-footer/index.html
diff --git a/site/docs/4.1/examples/sticky-footer/sticky-footer.css b/site/docs/4.2/examples/sticky-footer/sticky-footer.css
index 7e85cdd2aa..7e85cdd2aa 100644
--- a/site/docs/4.1/examples/sticky-footer/sticky-footer.css
+++ b/site/docs/4.2/examples/sticky-footer/sticky-footer.css
diff --git a/site/docs/4.1/extend/approach.md b/site/docs/4.2/extend/approach.md
index 62031981f6..62031981f6 100644
--- a/site/docs/4.1/extend/approach.md
+++ b/site/docs/4.2/extend/approach.md
diff --git a/site/docs/4.1/extend/icons.md b/site/docs/4.2/extend/icons.md
index 9acdbeb866..9acdbeb866 100644
--- a/site/docs/4.1/extend/icons.md
+++ b/site/docs/4.2/extend/icons.md
diff --git a/site/docs/4.1/extend/index.md b/site/docs/4.2/extend/index.md
index 2061df3e3e..2061df3e3e 100644
--- a/site/docs/4.1/extend/index.md
+++ b/site/docs/4.2/extend/index.md
diff --git a/site/docs/4.1/getting-started/accessibility.md b/site/docs/4.2/getting-started/accessibility.md
index edfe914dff..edfe914dff 100644
--- a/site/docs/4.1/getting-started/accessibility.md
+++ b/site/docs/4.2/getting-started/accessibility.md
diff --git a/site/docs/4.1/getting-started/best-practices.md b/site/docs/4.2/getting-started/best-practices.md
index 1e7af39ee9..1e7af39ee9 100644
--- a/site/docs/4.1/getting-started/best-practices.md
+++ b/site/docs/4.2/getting-started/best-practices.md
diff --git a/site/docs/4.1/getting-started/browsers-devices.md b/site/docs/4.2/getting-started/browsers-devices.md
index 078d9912d9..078d9912d9 100644
--- a/site/docs/4.1/getting-started/browsers-devices.md
+++ b/site/docs/4.2/getting-started/browsers-devices.md
diff --git a/site/docs/4.1/getting-started/build-tools.md b/site/docs/4.2/getting-started/build-tools.md
index f461169d19..f461169d19 100644
--- a/site/docs/4.1/getting-started/build-tools.md
+++ b/site/docs/4.2/getting-started/build-tools.md
diff --git a/site/docs/4.1/getting-started/contents.md b/site/docs/4.2/getting-started/contents.md
index 1276dcd3fb..c03cf70501 100644
--- a/site/docs/4.1/getting-started/contents.md
+++ b/site/docs/4.2/getting-started/contents.md
@@ -131,7 +131,7 @@ bootstrap/
│ └── js/
├── site/
│ └──docs/
-│ └── 4.1/
+│ └── 4.2/
│ └── examples/
├── js/
└── scss/
diff --git a/site/docs/4.1/getting-started/download.md b/site/docs/4.2/getting-started/download.md
index d618c5d130..d618c5d130 100644
--- a/site/docs/4.1/getting-started/download.md
+++ b/site/docs/4.2/getting-started/download.md
diff --git a/site/docs/4.1/getting-started/introduction.md b/site/docs/4.2/getting-started/introduction.md
index 55ced2f9c3..31b8a7d059 100644
--- a/site/docs/4.1/getting-started/introduction.md
+++ b/site/docs/4.2/getting-started/introduction.md
@@ -5,8 +5,8 @@ description: Get started with Bootstrap, the world's most popular framework for
group: getting-started
redirect_from:
- /docs/
- - /docs/4.1/
- - /docs/4.1/getting-started/
+ - /docs/4.2/
+ - /docs/4.2/getting-started/
- /docs/getting-started/
toc: true
---
diff --git a/site/docs/4.1/getting-started/javascript.md b/site/docs/4.2/getting-started/javascript.md
index 7f59ac213a..7f59ac213a 100644
--- a/site/docs/4.1/getting-started/javascript.md
+++ b/site/docs/4.2/getting-started/javascript.md
diff --git a/site/docs/4.1/getting-started/theming.md b/site/docs/4.2/getting-started/theming.md
index 9ab2a9bf8f..8c931c8642 100644
--- a/site/docs/4.1/getting-started/theming.md
+++ b/site/docs/4.2/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
@@ -293,7 +292,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">
diff --git a/site/docs/4.1/getting-started/webpack.md b/site/docs/4.2/getting-started/webpack.md
index b35bf3d2a9..ad4fa2f3ab 100644
--- a/site/docs/4.1/getting-started/webpack.md
+++ b/site/docs/4.2/getting-started/webpack.md
@@ -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";
diff --git a/site/docs/4.1/layout/grid.md b/site/docs/4.2/layout/grid.md
index 1ee0893818..a6f4ac5ab4 100644
--- a/site/docs/4.1/layout/grid.md
+++ b/site/docs/4.2/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,23 +308,25 @@ 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 %}
@@ -326,21 +334,23 @@ Don't want your columns to simply stack in some grid tiers? Use a combination of
### 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.
+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` and then counteracted that with `.mx-lg-n5` on the parent `.row`.
+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="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 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
@@ -493,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 %}
@@ -508,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 %}
@@ -526,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 %}
@@ -596,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 %}
@@ -615,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 %}
@@ -634,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 %}
@@ -656,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/site/docs/4.1/layout/overview.md b/site/docs/4.2/layout/overview.md
index 102e25727d..012b4cb3fb 100644
--- a/site/docs/4.1/layout/overview.md
+++ b/site/docs/4.2/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.2/layout/"
toc: true
---
diff --git a/site/docs/4.1/layout/utilities-for-layout.md b/site/docs/4.2/layout/utilities-for-layout.md
index a62a5abe04..a62a5abe04 100644
--- a/site/docs/4.1/layout/utilities-for-layout.md
+++ b/site/docs/4.2/layout/utilities-for-layout.md
diff --git a/site/docs/4.1/migration.md b/site/docs/4.2/migration.md
index 16c1362a05..54ca918560 100644
--- a/site/docs/4.1/migration.md
+++ b/site/docs/4.2/migration.md
@@ -109,7 +109,7 @@ 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.
diff --git a/site/docs/4.1/utilities/borders.md b/site/docs/4.2/utilities/borders.md
index 83d4e64305..0cf2f9c3c1 100644
--- a/site/docs/4.1/utilities/borders.md
+++ b/site/docs/4.2/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.2/utilities/"
toc: true
---
diff --git a/site/docs/4.1/utilities/clearfix.md b/site/docs/4.2/utilities/clearfix.md
index f4cb084bf8..f4cb084bf8 100644
--- a/site/docs/4.1/utilities/clearfix.md
+++ b/site/docs/4.2/utilities/clearfix.md
diff --git a/site/docs/4.1/utilities/close-icon.md b/site/docs/4.2/utilities/close-icon.md
index a848c012e7..a848c012e7 100644
--- a/site/docs/4.1/utilities/close-icon.md
+++ b/site/docs/4.2/utilities/close-icon.md
diff --git a/site/docs/4.1/utilities/colors.md b/site/docs/4.2/utilities/colors.md
index 55699adb8c..55699adb8c 100644
--- a/site/docs/4.1/utilities/colors.md
+++ b/site/docs/4.2/utilities/colors.md
diff --git a/site/docs/4.1/utilities/display.md b/site/docs/4.2/utilities/display.md
index dd77a876cb..ab77ddc912 100644
--- a/site/docs/4.1/utilities/display.md
+++ b/site/docs/4.2/utilities/display.md
@@ -49,7 +49,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/site/docs/4.1/utilities/embed.md b/site/docs/4.2/utilities/embed.md
index de4105fb82..de4105fb82 100644
--- a/site/docs/4.1/utilities/embed.md
+++ b/site/docs/4.2/utilities/embed.md
diff --git a/site/docs/4.1/utilities/flex.md b/site/docs/4.2/utilities/flex.md
index acaa2a51b8..acaa2a51b8 100644
--- a/site/docs/4.1/utilities/flex.md
+++ b/site/docs/4.2/utilities/flex.md
diff --git a/site/docs/4.1/utilities/float.md b/site/docs/4.2/utilities/float.md
index ec05d3ec75..ec05d3ec75 100644
--- a/site/docs/4.1/utilities/float.md
+++ b/site/docs/4.2/utilities/float.md
diff --git a/site/docs/4.1/utilities/image-replacement.md b/site/docs/4.2/utilities/image-replacement.md
index ab092d67f7..ab092d67f7 100644
--- a/site/docs/4.1/utilities/image-replacement.md
+++ b/site/docs/4.2/utilities/image-replacement.md
diff --git a/site/docs/4.1/utilities/overflow.md b/site/docs/4.2/utilities/overflow.md
index 33f6d757f1..33f6d757f1 100644
--- a/site/docs/4.1/utilities/overflow.md
+++ b/site/docs/4.2/utilities/overflow.md
diff --git a/site/docs/4.1/utilities/position.md b/site/docs/4.2/utilities/position.md
index c819df080d..c819df080d 100644
--- a/site/docs/4.1/utilities/position.md
+++ b/site/docs/4.2/utilities/position.md
diff --git a/site/docs/4.1/utilities/screenreaders.md b/site/docs/4.2/utilities/screenreaders.md
index 311102c6ad..311102c6ad 100644
--- a/site/docs/4.1/utilities/screenreaders.md
+++ b/site/docs/4.2/utilities/screenreaders.md
diff --git a/site/docs/4.1/utilities/shadows.md b/site/docs/4.2/utilities/shadows.md
index 5e8f5a8901..5e8f5a8901 100644
--- a/site/docs/4.1/utilities/shadows.md
+++ b/site/docs/4.2/utilities/shadows.md
diff --git a/site/docs/4.1/utilities/sizing.md b/site/docs/4.2/utilities/sizing.md
index d95b13516d..1b0acf07ac 100644
--- a/site/docs/4.1/utilities/sizing.md
+++ b/site/docs/4.2/utilities/sizing.md
@@ -33,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 %}
-{% include icons/placeholder.svg width="100%" height="100" class="mw-100" text="Max-width 100%" title="Max-width 100%" %}
+{% include icons/placeholder.svg width="100%" height="100" class="mw-100" text="Max-width 100%" %}
{% endcapture %}
{% include example.html content=example %}
diff --git a/site/docs/4.1/utilities/spacing.md b/site/docs/4.2/utilities/spacing.md
index dad1c00852..dad1c00852 100644
--- a/site/docs/4.1/utilities/spacing.md
+++ b/site/docs/4.2/utilities/spacing.md
diff --git a/site/docs/4.1/utilities/text.md b/site/docs/4.2/utilities/text.md
index 0b493d5623..04f564c335 100644
--- a/site/docs/4.1/utilities/text.md
+++ b/site/docs/4.2/utilities/text.md
@@ -66,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 `word-break: break-word`.
+
+{% capture example %}
+<p class="text-break">mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm</p>
+{% endcapture %}
+{% include example.html content=example %}
+
## Text transform
Transform text in components with text capitalization classes.
diff --git a/site/docs/4.1/utilities/vertical-align.md b/site/docs/4.2/utilities/vertical-align.md
index bc4f0b950a..bc4f0b950a 100644
--- a/site/docs/4.1/utilities/vertical-align.md
+++ b/site/docs/4.2/utilities/vertical-align.md
diff --git a/site/docs/4.1/utilities/visibility.md b/site/docs/4.2/utilities/visibility.md
index cb02e1b88c..cb02e1b88c 100644
--- a/site/docs/4.1/utilities/visibility.md
+++ b/site/docs/4.2/utilities/visibility.md