]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Merge branch 'master' into v4
authorMark Otto <markdotto@gmail.com>
Mon, 1 Dec 2014 04:17:45 +0000 (20:17 -0800)
committerMark Otto <markdotto@gmail.com>
Mon, 1 Dec 2014 04:17:45 +0000 (20:17 -0800)
Conflicts:
Gruntfile.js
_config.yml
dist/css/bootstrap-theme.css
dist/css/bootstrap-theme.min.css
dist/css/bootstrap.css
dist/css/bootstrap.css.map
dist/css/bootstrap.min.css
dist/fonts/glyphicons-halflings-regular.eot
dist/fonts/glyphicons-halflings-regular.svg
dist/fonts/glyphicons-halflings-regular.ttf
dist/fonts/glyphicons-halflings-regular.woff
docs/_data/glyphicons.yml
docs/_includes/components/alerts.html
docs/_includes/components/badges.html
docs/_includes/components/button-dropdowns.html
docs/_includes/components/button-groups.html
docs/_includes/components/dropdowns.html
docs/_includes/components/glyphicons.html
docs/_includes/components/input-groups.html
docs/_includes/components/labels.html
docs/_includes/components/media.html
docs/_includes/components/navbar.html
docs/_includes/components/navs.html
docs/_includes/components/pagination.html
docs/_includes/components/panels.html
docs/_includes/components/progress-bars.html
docs/_includes/css/buttons.html
docs/_includes/css/forms.html
docs/_includes/css/grid.html
docs/_includes/css/helpers.html
docs/_includes/css/images.html
docs/_includes/css/less.html
docs/_includes/css/responsive-utilities.html
docs/_includes/css/sass.html
docs/_includes/css/tables.html
docs/_includes/css/type.html
docs/_includes/getting-started/accessibility.html
docs/_includes/getting-started/browser-device-support.html
docs/_includes/getting-started/community.html
docs/_includes/getting-started/download.html
docs/_includes/getting-started/examples.html
docs/_includes/getting-started/whats-included.html
docs/_includes/js/affix.html
docs/_includes/js/alerts.html
docs/_includes/js/buttons.html
docs/_includes/js/carousel.html
docs/_includes/js/collapse.html
docs/_includes/js/dropdowns.html
docs/_includes/js/modal.html
docs/_includes/js/overview.html
docs/_includes/js/tabs.html
docs/_includes/nav/components.html
docs/_includes/nav/css.html
docs/_includes/nav/javascript.html
docs/_includes/nav/main.html
docs/about.html
docs/assets/css/docs.min.css
docs/assets/js/customize.min.js
docs/assets/js/raw-files.min.js
docs/dist/css/bootstrap-theme.css
docs/dist/css/bootstrap-theme.min.css
docs/dist/css/bootstrap.css
docs/dist/css/bootstrap.css.map
docs/dist/css/bootstrap.min.css
docs/dist/fonts/glyphicons-halflings-regular.eot
docs/dist/fonts/glyphicons-halflings-regular.svg
docs/dist/fonts/glyphicons-halflings-regular.ttf
docs/dist/fonts/glyphicons-halflings-regular.woff
docs/examples/carousel/index.html
docs/examples/navbar-fixed-top/index.html
docs/examples/navbar-static-top/index.html
docs/examples/navbar/index.html
docs/examples/non-responsive/index.html
docs/examples/non-responsive/non-responsive.css
docs/examples/sticky-footer-navbar/index.html
docs/examples/theme/index.html
fonts/glyphicons-halflings-regular.eot
fonts/glyphicons-halflings-regular.svg
fonts/glyphicons-halflings-regular.ttf
fonts/glyphicons-halflings-regular.woff
less/_carousel.less
less/_forms.less
less/glyphicons.less

46 files changed:
1  2 
_config.yml
bower.json
docs/_includes/footer.html
docs/about/brand.md
docs/assets/css/src/docs.css
docs/assets/js/src/customizer.js
docs/components/button-dropdown.md
docs/components/button-group.md
docs/components/buttons.md
docs/components/forms.md
docs/components/helpers.md
docs/components/input-group.md
docs/components/navbar.md
docs/components/navs.md
docs/components/pagination.md
docs/components/tables.md
docs/customize.html
docs/examples/carousel/index.html
docs/examples/cover/index.html
docs/examples/dashboard/index.html
docs/examples/jumbotron-narrow/index.html
docs/examples/jumbotron/index.html
docs/examples/justified-nav/index.html
docs/examples/offcanvas/index.html
docs/examples/signin/index.html
docs/examples/starter-template/index.html
docs/examples/sticky-footer-navbar/index.html
docs/getting-started/community.md
docs/getting-started/contents.md
docs/getting-started/download.md
docs/getting-started/support.md
docs/javascript/alerts.md
docs/javascript/carousel.md
docs/javascript/collapse.md
docs/javascript/dropdowns.md
docs/javascript/modal.md
docs/javascript/overview.md
docs/javascript/tabs.md
docs/layout/grid.md
docs/layout/media.md
docs/layout/responsive-utilities.md
less/_button-group.less
less/_carousel.less
less/_dropdown.less
less/_forms.less
less/_media.less

diff --cc _config.yml
index 1a8327268d279428b44d5813712a384fd29f09bb,1be38fc140927e41877f208485aad24b81f61839..6fe14e2ad9b32367f57e87e1bcd836f61d796562
@@@ -32,12 -27,6 +32,12 @@@ blog:             http://blog.getbootst
  expo:             http://expo.getbootstrap.com
  
  cdn:
-   css:            https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css
-   js:             https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js
+   css:            https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css
 -  css_theme:      https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css
+   js:             https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js
 +  jquery:         //code.jquery.com/jquery-2.1.1.min.js
 +
 +bug:
 +  firefox:        https://bugzilla.mozilla.org/show_bug.cgi?id=
 +  webkit:         https://bugs.webkit.org/show_bug.cgi?id=
 +  chrome:         https://code.google.com/p/chromium/issues/detail?id=
 +  github:         https://github.com/twbs/bootstrap/issues/
diff --cc bower.json
Simple merge
Simple merge
index b753452af159cf70500a272e855a9fac70c4f3f0,0000000000000000000000000000000000000000..e4468d9d7732f338286bab81d2adc06f37346689
mode 100644,000000..100644
--- /dev/null
@@@ -1,75 -1,0 +1,75 @@@
-     <span class="glyphicon glyphicon-ok"></span>
 +---
 +layout: page
 +title: Brand guidelines
 +---
 +
 +Have a need for Bootstrap's brand resources? Great! We have only a few guidelines we follow, and in turn ask you to follow as well. These guidelines were inspired by MailChimp's [Brand Assets](http://mailchimp.com/about/brand-assets/).
 +
 +## Mark and logo
 +
 +Use either the Bootstrap mark (a capital **B**) or the standard logo (just **Bootstrap**). It should always appear in Helvetica Neue Bold. **Do not use the Twitter bird** in association with Bootstrap.
 +
 +<div class="bs-brand-logos">
 +  <div class="bs-brand-item">
 +    <div class="bs-docs-booticon bs-docs-booticon-lg">B</div>
 +  </div>
 +  <div class="bs-brand-item inverse">
 +    <div class="bs-docs-booticon bs-docs-booticon-lg bs-docs-booticon-inverse">B</div>
 +  </div>
 +</div>
 +<div class="bs-brand-logos">
 +  <div class="bs-brand-item">
 +    <h1>Bootstrap</h1>
 +  </div>
 +  <div class="bs-brand-item inverse">
 +    <h1>Bootstrap</h1>
 +  </div>
 +</div>
 +
 +## Download mark
 +
 +Download the Bootstrap mark in one of three styles, each available as an SVG file. Right click, Save as.
 +
 +<div class="bs-brand-logos">
 +  <div class="bs-brand-item">
 +    <img class="svg" src="{{ site.baseurl }}assets/brand/bootstrap-solid.svg" alt="Bootstrap">
 +  </div>
 +  <div class="bs-brand-item inverse">
 +    <img class="svg" src="{{ site.baseurl }}assets/brand/bootstrap-outline.svg" alt="Bootstrap">
 +  </div>
 +  <div class="bs-brand-item inverse">
 +    <img class="svg" src="{{ site.baseurl }}assets/brand/bootstrap-punchout.svg" alt="Bootstrap">
 +  </div>
 +</div>
 +
 +## Name
 +
 +The project and framework should always be referred to as **Bootstrap**. No Twitter before it, no capital _s_, and no abbreviations except for one, a capital **B**.
 +
 +<div class="bs-brand-logos">
 +  <div class="bs-brand-item">
 +    <h3>Bootstrap</h3>
-     <span class="glyphicon glyphicon-remove"></span>
++    <strong class="text-success">Right</strong>
 +  </div>
 +  <div class="bs-brand-item">
 +    <h3 class="text-muted">BootStrap</h3>
-     <span class="glyphicon glyphicon-remove"></span>
++    <strong class="text-warning">Wrong</strong>
 +  </div>
 +  <div class="bs-brand-item">
 +    <h3 class="text-muted">Twitter Bootstrap</h3>
++    <strong class="text-warning">Wrong</strong>
 +  </div>
 +</div>
 +
 +## Colors
 +
 +Our docs and branding use a handful of primary colors to differentiate what *is* Bootstrap from what *is in* Bootstrap. In other words, if it's purple, it's representative of Bootstrap.
 +
 +<div class="bs-brand">
 +  <div class="color-swatches">
 +    <div class="color-swatch bs-purple"></div>
 +    <div class="color-swatch bs-purple-light"></div>
 +    <div class="color-swatch bs-purple-lighter"></div>
 +    <div class="color-swatch bs-gray"></div>
 +  </div>
 +</div>
Simple merge
Simple merge
index c7e9a37bf4b0c1095990dffd00a248ee23e926f7,0000000000000000000000000000000000000000..1a6c0961fd4dfa5bc9518c27d92a40463d739442
mode 100644,000000..100644
--- /dev/null
@@@ -1,324 -1,0 +1,324 @@@
-     <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">Default</button>
 +---
 +layout: page
 +title: Button dropdown
 +---
 +
 +Use any button to trigger a dropdown menu by placing it within a `.btn-group` and providing the proper menu markup.
 +
 +<div class="bs-callout bs-callout-danger">
 +  <h4>Plugin dependency</h4>
 +  <p>Button dropdowns require the <a href="../javascript/#dropdowns">dropdown plugin</a> to be included in your version of Bootstrap.</p>
 +</div>
 +
 +### Single button dropdowns
 +
 +Turn a button into a dropdown toggle with some basic markup changes.
 +
 +<div class="bs-example">
 +  <div class="btn-group">
-     <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">Primary</button>
++    <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Default</button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +  <div class="btn-group">
-     <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">Success</button>
++    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Primary</button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +  <div class="btn-group">
-     <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown">Info</button>
++    <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Success</button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +  <div class="btn-group">
-     <button type="button" class="btn btn-warning dropdown-toggle" data-toggle="dropdown">Warning</button>
++    <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Info</button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +  <div class="btn-group">
-     <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown">Danger</button>
++    <button type="button" class="btn btn-warning dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Warning</button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +  <div class="btn-group">
-   <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">
++    <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Danger</button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +</div>
 +
 +{% highlight html %}
 +<!-- Single button -->
 +<div class="btn-group">
-     <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">
++  <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +    Action
 +  </button>
 +  <ul class="dropdown-menu" role="menu">
 +    <li><a href="#">Action</a></li>
 +    <li><a href="#">Another action</a></li>
 +    <li><a href="#">Something else here</a></li>
 +    <li class="divider"></li>
 +    <li><a href="#">Separated link</a></li>
 +  </ul>
 +</div>
 +{% endhighlight %}
 +
 +### Split button dropdowns
 +
 +<Similarly, create split button dropdowns with the same markup changes, only with a separate button.
 +
 +<div class="bs-example">
 +  <div class="btn-group">
 +    <button type="button" class="btn btn-secondary">Default</button>
-     <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
++    <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +      <span class="sr-only">Toggle Dropdown</span>
 +    </button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +  <div class="btn-group">
 +    <button type="button" class="btn btn-primary">Primary</button>
-     <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown">
++    <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +      <span class="sr-only">Toggle Dropdown</span>
 +    </button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +  <div class="btn-group">
 +    <button type="button" class="btn btn-success">Success</button>
-     <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown">
++    <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +      <span class="sr-only">Toggle Dropdown</span>
 +    </button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +  <div class="btn-group">
 +    <button type="button" class="btn btn-info">Info</button>
-     <button type="button" class="btn btn-warning dropdown-toggle" data-toggle="dropdown">
++    <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +      <span class="sr-only">Toggle Dropdown</span>
 +    </button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +  <div class="btn-group">
 +    <button type="button" class="btn btn-warning">Warning</button>
-     <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown">
++    <button type="button" class="btn btn-warning dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +      <span class="sr-only">Toggle Dropdown</span>
 +    </button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +  <div class="btn-group">
 +    <button type="button" class="btn btn-danger">Danger</button>
-   <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown">
++    <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +      <span class="sr-only">Toggle Dropdown</span>
 +    </button>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </div><!-- /btn-group -->
 +</div>
 +
 +{% highlight html %}
 +<!-- Split button -->
 +<div class="btn-group">
 +  <button type="button" class="btn btn-danger">Action</button>
-       <button class="btn btn-secondary btn-lg dropdown-toggle" type="button" data-toggle="dropdown">
++  <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +    <span class="sr-only">Toggle Dropdown</span>
 +  </button>
 +  <ul class="dropdown-menu" role="menu">
 +    <li><a href="#">Action</a></li>
 +    <li><a href="#">Another action</a></li>
 +    <li><a href="#">Something else here</a></li>
 +    <li class="divider"></li>
 +    <li><a href="#">Separated link</a></li>
 +  </ul>
 +</div>
 +{% endhighlight %}
 +
 +### Sizing
 +
 +Button dropdowns work with buttons of all sizes.
 +
 +<div class="bs-example">
 +  <div class="btn-toolbar" role="toolbar">
 +    <div class="btn-group">
-       <button class="btn btn-secondary btn-sm dropdown-toggle" type="button" data-toggle="dropdown">
++      <button class="btn btn-secondary btn-lg dropdown-toggle" type="button" data-toggle="dropdown" aria-expanded="false">
 +        Large button
 +      </button>
 +      <ul class="dropdown-menu" role="menu">
 +        <li><a href="#">Action</a></li>
 +        <li><a href="#">Another action</a></li>
 +        <li><a href="#">Something else here</a></li>
 +        <li class="divider"></li>
 +        <li><a href="#">Separated link</a></li>
 +      </ul>
 +    </div><!-- /btn-group -->
 +  </div><!-- /btn-toolbar -->
 +  <div class="btn-toolbar" role="toolbar">
 +    <div class="btn-group">
-       <button class="btn btn-secondary btn-xs dropdown-toggle" type="button" data-toggle="dropdown">
++      <button class="btn btn-secondary btn-sm dropdown-toggle" type="button" data-toggle="dropdown" aria-expanded="false">
 +        Small button
 +      </button>
 +      <ul class="dropdown-menu" role="menu">
 +        <li><a href="#">Action</a></li>
 +        <li><a href="#">Another action</a></li>
 +        <li><a href="#">Something else here</a></li>
 +        <li class="divider"></li>
 +        <li><a href="#">Separated link</a></li>
 +      </ul>
 +    </div><!-- /btn-group -->
 +  </div><!-- /btn-toolbar -->
 +  <div class="btn-toolbar" role="toolbar">
 +    <div class="btn-group">
-   <button class="btn btn-secondary btn-lg dropdown-toggle" type="button" data-toggle="dropdown">
++      <button class="btn btn-secondary btn-xs dropdown-toggle" type="button" data-toggle="dropdown" aria-expanded="false">
 +        Extra small button
 +      </button>
 +      <ul class="dropdown-menu" role="menu">
 +        <li><a href="#">Action</a></li>
 +        <li><a href="#">Another action</a></li>
 +        <li><a href="#">Something else here</a></li>
 +        <li class="divider"></li>
 +        <li><a href="#">Separated link</a></li>
 +      </ul>
 +    </div><!-- /btn-group -->
 +  </div><!-- /btn-toolbar -->
 +</div><!-- /example -->
 +
 +{% highlight html %}
 +<!-- Large button group -->
 +<div class="btn-group">
-   <button class="btn btn-secondary btn-sm dropdown-toggle" type="button" data-toggle="dropdown">
++  <button class="btn btn-secondary btn-lg dropdown-toggle" type="button" data-toggle="dropdown" aria-expanded="false">
 +    Large button
 +  </button>
 +  <ul class="dropdown-menu" role="menu">
 +    ...
 +  </ul>
 +</div>
 +
 +<!-- Small button group -->
 +<div class="btn-group">
-   <button class="btn btn-secondary btn-xs dropdown-toggle" type="button" data-toggle="dropdown">
++  <button class="btn btn-secondary btn-sm dropdown-toggle" type="button" data-toggle="dropdown" aria-expanded="false">
 +    Small button
 +  </button>
 +  <ul class="dropdown-menu" role="menu">
 +    ...
 +  </ul>
 +</div>
 +
 +<!-- Extra small button group -->
 +<div class="btn-group">
-       <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">
++  <button class="btn btn-secondary btn-xs dropdown-toggle" type="button" data-toggle="dropdown" aria-expanded="false">
 +    Extra small button
 +  </button>
 +  <ul class="dropdown-menu" role="menu">
 +    ...
 +  </ul>
 +</div>
 +{% endhighlight %}
 +
 +### Dropup variation
 +
 +Trigger dropdown menus above elements by adding `.dropup` to the parent.
 +
 +<div class="bs-example">
 +  <div class="btn-toolbar" role="toolbar">
 +    <div class="btn-group dropup">
 +      <button type="button" class="btn btn-secondary">Dropup</button>
-       <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
++      <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +        <span class="sr-only">Toggle Dropdown</span>
 +      </button>
 +      <ul class="dropdown-menu" role="menu">
 +        <li><a href="#">Action</a></li>
 +        <li><a href="#">Another action</a></li>
 +        <li><a href="#">Something else here</a></li>
 +        <li class="divider"></li>
 +        <li><a href="#">Separated link</a></li>
 +      </ul>
 +    </div><!-- /btn-group -->
 +    <div class="btn-group dropup">
 +      <button type="button" class="btn btn-primary">Right dropup</button>
-   <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">
++      <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +        <span class="sr-only">Toggle Dropdown</span>
 +      </button>
 +      <ul class="dropdown-menu dropdown-menu-right" role="menu">
 +        <li><a href="#">Action</a></li>
 +        <li><a href="#">Another action</a></li>
 +        <li><a href="#">Something else here</a></li>
 +        <li class="divider"></li>
 +        <li><a href="#">Separated link</a></li>
 +      </ul>
 +    </div><!-- /btn-group -->
 +  </div>
 +</div>
 +
 +{% highlight html %}
 +<div class="btn-group dropup">
 +  <button type="button" class="btn btn-secondary">Dropup</button>
++  <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +    <span class="sr-only">Toggle Dropdown</span>
 +  </button>
 +  <ul class="dropdown-menu" role="menu">
 +    <!-- Dropdown menu links -->
 +  </ul>
 +</div>
 +{% endhighlight %}
index 370f4afcc5cb52547e63095c4a51bdb6aafd002d,0000000000000000000000000000000000000000..80c69b5b988c0a3dbacc83c4cf777512963661cc
mode 100644,000000..100644
--- /dev/null
@@@ -1,240 -1,0 +1,231 @@@
- <div class="btn-group">
 +---
 +layout: page
 +title: Button group
 +---
 +
 +Group a series of buttons together on a single line with the button group. Add on optional JavaScript radio and checkbox style behavior with [our buttons plugin](../javascript/#buttons).
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Tooltips &amp; popovers in button groups require special setting</h4>
 +  <p>When using tooltips or popovers on elements within a <code>.btn-group</code>, you'll have to specify the option <code>container: 'body'</code> to avoid unwanted side effects (such as the element growing wider and/or losing its rounded corners when the tooltip or popover is triggered).</p>
 +</div>
 +
++<div class="bs-callout bs-callout-warning">
++  <h4>Ensure correct <code>role</code> and provide a label</h4>
++  <p>In order for assistive technologies â€“ such as screen readers â€“ to convey that a series of buttons is grouped, an appropriate <code>role</code> attribute needs to be provided. For button groups, this would be <code>role="group"</code>, while toolbars should have a <code>role="toolbar"</code>.</p>
++  <p>One exception are groups which only contain a single control (for instance the <a href="#btn-groups-justified">justified button groups</a> with <code>&lt;button&gt;</code> elements) or a dropdown.</p>
++  <p>In addition, groups and toolbars should be given an explicit label, as most assistive technologies will otherwise not announce them, despite the presence of the correct <code>role</code> attribute. In the examples provided here, we use <code>aria-label</code>, but alternatives such as <code>aria-labelledby</code> can also be used.</p>
++</div>
++
 +### Basic example
 +
 +Wrap a series of buttons with `.btn` in `.btn-group`.
 +
 +{% example html %}
- <div class="btn-toolbar" role="toolbar">
-   <div class="btn-group">
++<div class="btn-group" role="group" aria-label="Basic example">
 +  <button type="button" class="btn btn-secondary">Left</button>
 +  <button type="button" class="btn btn-secondary">Middle</button>
 +  <button type="button" class="btn btn-secondary">Right</button>
 +</div>
 +{% endexample %}
 +
 +### Button toolbar
 +
 +Combine sets of button groups into button toolbars for more complex components.
 +
 +{% example html %}
-   <div class="btn-group">
++<div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups">
++  <div class="btn-group" role="group" aria-label="First group">
 +    <button type="button" class="btn btn-secondary">1</button>
 +    <button type="button" class="btn btn-secondary">2</button>
 +    <button type="button" class="btn btn-secondary">3</button>
 +    <button type="button" class="btn btn-secondary">4</button>
 +  </div>
-   <div class="btn-group">
++  <div class="btn-group" role="group" aria-label="Second group">
 +    <button type="button" class="btn btn-secondary">5</button>
 +    <button type="button" class="btn btn-secondary">6</button>
 +    <button type="button" class="btn btn-secondary">7</button>
 +  </div>
-   <div class="btn-toolbar" role="toolbar">
-     <div class="btn-group btn-group-lg">
-       <button type="button" class="btn btn-secondary">Left</button>
-       <button type="button" class="btn btn-secondary">Middle</button>
-       <button type="button" class="btn btn-secondary">Right</button>
-     </div>
++  <div class="btn-group" role="group" aria-label="Third group">
 +    <button type="button" class="btn btn-secondary">8</button>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +### Sizing
 +
 +Instead of applying button sizing classes to every button in a group, just add `.btn-group-*` to the `.btn-group`.
 +
 +<div class="bs-example">
-   <div class="btn-toolbar" role="toolbar">
-     <div class="btn-group">
-       <button type="button" class="btn btn-secondary">Left</button>
-       <button type="button" class="btn btn-secondary">Middle</button>
-       <button type="button" class="btn btn-secondary">Right</button>
-     </div>
++  <div class="btn-group btn-group-lg" role="group" aria-label="Large button group">
++    <button type="button" class="btn btn-secondary">Left</button>
++    <button type="button" class="btn btn-secondary">Middle</button>
++    <button type="button" class="btn btn-secondary">Right</button>
 +  </div>
-   <div class="btn-toolbar" role="toolbar">
-     <div class="btn-group btn-group-sm">
-       <button type="button" class="btn btn-secondary">Left</button>
-       <button type="button" class="btn btn-secondary">Middle</button>
-       <button type="button" class="btn btn-secondary">Right</button>
-     </div>
++  <br>
++  <div class="btn-group" role="group" aria-label="Default button group">
++    <button type="button" class="btn btn-secondary">Left</button>
++    <button type="button" class="btn btn-secondary">Middle</button>
++    <button type="button" class="btn btn-secondary">Right</button>
 +  </div>
-   <div class="btn-toolbar" role="toolbar">
-     <div class="btn-group btn-group-xs">
-       <button type="button" class="btn btn-secondary">Left</button>
-       <button type="button" class="btn btn-secondary">Middle</button>
-       <button type="button" class="btn btn-secondary">Right</button>
-     </div>
++  <br>
++  <div class="btn-group btn-group-sm" role="group" aria-label="Small button group">
++    <button type="button" class="btn btn-secondary">Left</button>
++    <button type="button" class="btn btn-secondary">Middle</button>
++    <button type="button" class="btn btn-secondary">Right</button>
 +  </div>
- <div class="btn-group btn-group-lg">...</div>
- <div class="btn-group">...</div>
- <div class="btn-group btn-group-sm">...</div>
- <div class="btn-group btn-group-xs">...</div>
++  <br>
++  <div class="btn-group btn-group-xs" role="group" aria-label="Extra small button group">
++    <button type="button" class="btn btn-secondary">Left</button>
++    <button type="button" class="btn btn-secondary">Middle</button>
++    <button type="button" class="btn btn-secondary">Right</button>
 +  </div>
 +</div>
 +
 +{% highlight html %}
- <div class="btn-group">
++<div class="btn-group btn-group-lg" role="group" aria-label="...">...</div>
++<div class="btn-group" role="group" aria-label="...">...</div>
++<div class="btn-group btn-group-sm" role="group" aria-label="...">...</div>
++<div class="btn-group btn-group-xs" role="group" aria-label="...">...</div>
 +{% endhighlight %}
 +
 +### Nesting
 +
 +Place a `.btn-group` within another `.btn-group` when you want dropdown menus mixed with a series of buttons.
 +
 +{% example html %}
-   <div class="btn-group">
-     <button id="btnGroupDrop1" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">
++<div class="btn-group" role="group" aria-label="Button group with nested dropdown">
 +  <button type="button" class="btn btn-secondary">1</button>
 +  <button type="button" class="btn btn-secondary">2</button>
 +
-   <div class="btn-group-vertical">
++  <div class="btn-group" role="group">
++    <button id="btnGroupDrop1" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +      Dropdown
 +    </button>
 +    <ul class="dropdown-menu" role="menu" aria-labelledby="btnGroupDrop1">
 +      <li><a href="#">Dropdown link</a></li>
 +      <li><a href="#">Dropdown link</a></li>
 +    </ul>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +### Vertical variation
 +
 +Make a set of buttons appear vertically stacked rather than horizontally. **Split button dropdowns are not supported here.**
 +
 +<div class="bs-example">
-     <div class="btn-group">
-       <button id="btnGroupVerticalDrop1" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">
++  <div class="btn-group-vertical" role="group" aria-label="Vertical button group">
 +    <button type="button" class="btn btn-secondary">Button</button>
 +    <button type="button" class="btn btn-secondary">Button</button>
-     <div class="btn-group">
-       <button id="btnGroupVerticalDrop2" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">
++    <div class="btn-group" role="group">
++      <button id="btnGroupVerticalDrop1" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +        Dropdown
 +      </button>
 +      <ul class="dropdown-menu" role="menu" aria-labelledby="btnGroupVerticalDrop1">
 +        <li><a href="#">Dropdown link</a></li>
 +        <li><a href="#">Dropdown link</a></li>
 +      </ul>
 +    </div>
 +    <button type="button" class="btn btn-secondary">Button</button>
 +    <button type="button" class="btn btn-secondary">Button</button>
-     <div class="btn-group">
-       <button id="btnGroupVerticalDrop3" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">
++    <div class="btn-group" role="group">
++      <button id="btnGroupVerticalDrop2" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +        Dropdown
 +      </button>
 +      <ul class="dropdown-menu" role="menu" aria-labelledby="btnGroupVerticalDrop2">
 +        <li><a href="#">Dropdown link</a></li>
 +        <li><a href="#">Dropdown link</a></li>
 +      </ul>
 +    </div>
-     <div class="btn-group">
-       <button id="btnGroupVerticalDrop4" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">
++    <div class="btn-group" role="group">
++      <button id="btnGroupVerticalDrop3" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +        Dropdown
 +      </button>
 +      <ul class="dropdown-menu" role="menu" aria-labelledby="btnGroupVerticalDrop3">
 +        <li><a href="#">Dropdown link</a></li>
 +        <li><a href="#">Dropdown link</a></li>
 +      </ul>
 +    </div>
-   <div class="btn-group btn-group-justified">
++    <div class="btn-group" role="group">
++      <button id="btnGroupVerticalDrop4" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
 +        Dropdown
 +      </button>
 +      <ul class="dropdown-menu" role="menu" aria-labelledby="btnGroupVerticalDrop4">
 +        <li><a href="#">Dropdown link</a></li>
 +        <li><a href="#">Dropdown link</a></li>
 +      </ul>
 +    </div>
 +  </div>
 +</div>
 +
 +{% highlight html %}
 +<div class="btn-group-vertical">
 +  ...
 +</div>
 +{% endhighlight %}
 +
 +### Justified button groups
 +
 +Make a group of buttons stretch at equal sizes to span the entire width of its parent. Also works with button dropdowns within the button group.
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Handling borders</h4>
 +  <p>Due to the specific HTML and CSS used to justify buttons (namely <code>display: table-cell</code>), the borders between them are doubled. In regular button groups, <code>margin-left: -1px</code> is used to stack the borders instead of removing them. However, <code>margin</code> doesn't work with <code>display: table-cell</code>. As a result, depending on your customizations to Bootstrap, you may wish to remove or re-color the borders.</p>
 +</div>
 +
 +#### With `<a>` elements
 +
 +Just wrap a series of `.btn`s in `.btn-group.btn-group-justified`.
 +
++{% example html %}
 +<div class="bs-example">
-   <div class="btn-group btn-group-justified">
++  <div class="btn-group btn-group-justified" role="group" aria-label="Justified button group">
 +    <a class="btn btn-secondary" href="#" role="button">Left</a>
 +    <a class="btn btn-secondary" href="#" role="button">Middle</a>
 +    <a class="btn btn-secondary" href="#" role="button">Right</a>
 +  </div>
 +  <br>
-     <div class="btn-group">
-       <a class="btn btn-secondary dropdown-toggle" href="#" data-toggle="dropdown">
++  <div class="btn-group btn-group-justified" role="group" aria-label="Justified button group with nested dropdown">
 +    <a class="btn btn-secondary" href="#" role="button">Left</a>
 +    <a class="btn btn-secondary" href="#" role="button">Middle</a>
- {% highlight html %}
- <div class="btn-group btn-group-justified">
-   ...
++    <div class="btn-group" role="group">
++      <a class="btn btn-secondary dropdown-toggle" href="#" data-toggle="dropdown"role="button" aria-expanded="false">
 +        Dropdown
 +      </a>
 +      <ul class="dropdown-menu" role="menu">
 +        <li><a href="#">Action</a></li>
 +        <li><a href="#">Another action</a></li>
 +        <li><a href="#">Something else here</a></li>
 +        <li class="divider"></li>
 +        <li><a href="#">Separated link</a></li>
 +      </ul>
 +    </div>
 +  </div>
 +</div>
++{% endexample %}
 +
- {% endhighlight %}
++<div class="bs-callout bs-callout-warning">
++  <h4>Links acting as buttons</h4>
++  <p>If the <code>&lt;a&gt;</code> elements are used to act as buttons â€“ triggering in-page functionality, rather than navigating to another document or section within the current page â€“ they should also be given an appropriate <code>role="button"</code>.</p>
 +</div>
- To use justified button groups with `<button>` elements, **you must wrap each button in a button group**. Most browsers don't properly apply our CSS for justification to `<button>` elements, but since we support button dropdowns, we can workaround that.
 +
 +#### With `<button>` elements
 +
-   <div class="btn-group btn-group-justified">
-     <div class="btn-group">
++To use justified button groups with `<button>` elements, **you must wrap each button in a button group**. Most browsers don't properly apply our CSS for justification to `<button>` elements, but since we support button dropdowns, we can work around that.
 +
++{% example html %}
 +<div class="bs-example">
-     <div class="btn-group">
++  <div class="btn-group btn-group-justified" role="group" aria-label="Justified button group">
++    <div class="btn-group" role="group">
 +      <button type="button" class="btn btn-secondary">Left</button>
 +    </div>
-     <div class="btn-group">
++    <div class="btn-group" role="group">
 +      <button type="button" class="btn btn-secondary">Middle</button>
 +    </div>
- {% highlight html %}
- <div class="btn-group btn-group-justified">
-   <div class="btn-group">
-     <button type="button" class="btn btn-secondary">Left</button>
-   </div>
-   <div class="btn-group">
-     <button type="button" class="btn btn-secondary">Middle</button>
-   </div>
-   <div class="btn-group">
-     <button type="button" class="btn btn-secondary">Right</button>
-   </div>
- </div>
- {% endhighlight %}
++    <div class="btn-group" role="group">
 +      <button type="button" class="btn btn-secondary">Right</button>
 +    </div>
 +  </div>
 +</div>
++{% endexample %}
index d97b8811238cb50d8936a9fcfb6b4422ada75d19,0000000000000000000000000000000000000000..c32cadcd631b32257d5a6f0bb391d7afc133c3cb
mode 100644,000000..100644
--- /dev/null
@@@ -1,109 -1,0 +1,119 @@@
- Buttons will appear pressed (with a darker background, darker border, and inset shadow) when active. **There's no need to add a class to `<button>`s as they use a pseudo-class**. However, you can still force the same active appearance with `.active` should you need to replicate the state programmatically.
 +---
 +layout: page
 +title: Buttons
 +---
 +
 +Use any of the available button classes to quickly create a styled button.
 +
 +{% example html %}
 +<!-- Provides extra visual weight and identifies the primary action in a set of buttons -->
 +<button type="button" class="btn btn-primary">Primary</button>
 +
 +<!-- Secondary, outline button -->
 +<button type="button" class="btn btn-secondary">Secondary</button>
 +
 +<!-- Indicates a successful or positive action -->
 +<button type="button" class="btn btn-success">Success</button>
 +
 +<!-- Indicates caution should be taken with this action -->
 +<button type="button" class="btn btn-warning">Warning</button>
 +
 +<!-- Indicates a dangerous or potentially negative action -->
 +<button type="button" class="btn btn-danger">Danger</button>
 +
 +<!-- Deemphasize a button by making it look like a link while maintaining button behavior -->
 +<button type="button" class="btn btn-link">Link</button>
 +{% endexample %}
 +
++<div class="bs-callout bs-callout-warning">
++  <h4>Conveying meaning to assistive technologies</h4>
++  <p>Using color to add meaning to a button only provides a visual indication, which will not be conveyed to users of assistive technologies â€“ such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (the visible text of the button), or is included through alternative means, such as additional text hidden with the <code>.sr-only</code> class.</p>
++</div>
++
++## Button tags
++
++Use the button classes on an `<a>`, `<button>`, or `<input>` element.
++
++{% example html %}
++<a class="btn btn-secondary" href="#" role="button">Link</a>
++<button class="btn btn-secondary" type="submit">Button</button>
++<input class="btn btn-secondary" type="button" value="Input">
++<input class="btn btn-secondary" type="submit" value="Submit">
++{% endexample %}
++
++<div class="bs-callout bs-callout-warning">
++  <h4>Links acting as buttons</h4>
++  <p>If the <code>&lt;a&gt;</code> elements are used to act as buttons â€“ triggering in-page functionality, rather than navigating to another document or section within the current page â€“ they should also be given an appropriate <code>role="button"</code>.</p>
++</div>
++
++<div class="bs-callout bs-callout-warning">
++  <h4>Cross-browser rendering</h4>
++  <p>As a best practice, <strong>we highly recommend using the <code>&lt;button&gt;</code> element whenever possible</strong> to ensure matching cross-browser rendering.</p>
++  <p>Among other things, there's <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=697451">a bug in Firefox &lt;30</a> that prevents us from setting the <code>line-height</code> of <code>&lt;input&gt;</code>-based buttons, causing them to not exactly match the height of other buttons on Firefox.</p>
++</div>
++
 +## Sizes
 +
 +Fancy larger or smaller buttons? Add `.btn-lg`, `.btn-sm`, or `.btn-xs` for additional sizes.
 +
 +{% example html %}
 +<button type="button" class="btn btn-primary btn-lg">Large button</button>
 +<button type="button" class="btn btn-secondary btn-lg">Large button</button>
 +{% endexample %}
 +
 +{% example html %}
 +<button type="button" class="btn btn-primary btn-sm">Small button</button>
 +<button type="button" class="btn btn-secondary btn-sm">Small button</button>
 +{% endexample %}
 +
 +{% example html %}
 +<button type="button" class="btn btn-primary btn-xs">Extra small button</button>
 +<button type="button" class="btn btn-secondary btn-xs">Extra small button</button>
 +{% endexample %}
 +
 +Create block level buttons—those that span the full width of a parent—by adding `.btn-block`.
 +
 +{% example html %}
 +<button type="button" class="btn btn-primary btn-lg btn-block">Block level button</button>
 +<button type="button" class="btn btn-secondary btn-lg btn-block">Block level button</button>
 +{% endexample %}
 +
 +## Active state
 +
-   <p>This class uses <code>pointer-events: none</code> to try to disable the link functionality of <code>&lt;a&gt;</code>s, but that CSS property is not yet standardized and isn't fully supported in Opera 18 and below, or in Internet Explorer 11. So to be safe, use custom JavaScript to disable such links.</p>
++Buttons will appear pressed (with a darker background, darker border, and inset shadow) when active. **There's no need to add a class to `<button>`s as they use a pseudo-class**. However, you can still force the same active appearance with `.active` (and include the <code>aria-pressed="true"</code> attribute) should you need to replicate the state programmatically.
 +
 +{% example html %}
 +<a href="#" class="btn btn-primary btn-lg active" role="button">Primary link</a>
 +<a href="#" class="btn btn-secondary btn-lg active" role="button">Link</a>
 +{% endexample %}
 +
 +## Disabled state
 +
 +Make buttons look unclickable by adding the `disabled` boolean attribute to any `<button>` element.
 +
 +{% example html %}
 +<button type="button" class="btn btn-lg btn-primary" disabled>Primary button</button>
 +<button type="button" class="btn btn-secondary btn-lg" disabled>Button</button>
 +{% endexample %}
 +
 +As `<a>` elements don't support the `disabled` attribute, you must add the `.disabled` class to fake it.
 +
 +{% example html %}
 +<a href="#" class="btn btn-primary btn-lg disabled" role="button">Primary link</a>
 +<a href="#" class="btn btn-secondary btn-lg disabled" role="button">Link</a>
 +{% endexample %}
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Cross-browser compatibility</h4>
 +  <p>If you add the <code>disabled</code> attribute to a <code>&lt;button&gt;</code>, Internet Explorer 9 and below will render text gray with a nasty text-shadow that we cannot fix.</p>
 +</div>
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Link functionality caveat</h4>
- ## Button tags
- Use the button classes on an `<a>`, `<button>`, or `<input>` element.
- {% example html %}
- <a class="btn btn-secondary" href="#" role="button">Link</a>
- <button class="btn btn-secondary" type="submit">Button</button>
- <input class="btn btn-secondary" type="button" value="Input">
- <input class="btn btn-secondary" type="submit" value="Submit">
- {% endexample %}
- <div class="bs-callout bs-callout-warning">
-   <h4>Cross-browser rendering</h4>
-   <p>As a best practice, <strong>we highly recommend using the <code>&lt;button&gt;</code> element whenever possible</strong> to ensure matching cross-browser rendering.</p>
-   <p>Among other things, there's <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=697451">a bug in Firefox &lt;30</a> that prevents us from setting the <code>line-height</code> of <code>&lt;input&gt;</code>-based buttons, causing them to not exactly match the height of other buttons on Firefox.</p>
- </div>
++  <p>This class uses <code>pointer-events: none</code> to try to disable the link functionality of <code>&lt;a&gt;</code>s, but that CSS property is not yet standardized and isn't fully supported in Opera 18 and below, or in Internet Explorer 11. In addition, even in browsers that do support <code>pointer-events: none</code>, keyboard navigation remains unaffected, meaning that sighted keyboard users and users of assistive technologies will still be able to activate these links. So to be safe, use custom JavaScript to disable such links.</p>
 +</div>
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Context-specific usage</h4>
 +  <p>While button classes can be used on <code>&lt;a&gt;</code> and <code>&lt;button&gt;</code> elements, only <code>&lt;button&gt;</code> elements are supported within our nav and navbar components.</p>
 +</div>
index 71061dc853faffa4f674dc68b4d699dd5c7c5f54,0000000000000000000000000000000000000000..7d274c2a0054cc57dd56d7bc60fb139589c1acba
mode 100644,000000..100644
--- /dev/null
@@@ -1,509 -1,0 +1,517 @@@
- <form role="form">
 +---
 +layout: page
 +title: Forms
 +---
 +
 +Bootstrap normalizes common HTML5 form elements and adds a number of layout options for building forms of all sizes.
 +
 +## Example form
 +
 +Individual form controls automatically receive some global styling. All textual `<input>`, `<textarea>`, and `<select>` elements with `.form-control` are set to `width: 100%;` by default. Wrap labels and controls in `.form-group` for optimum spacing.
 +
 +{% example html %}
- <form class="form-inline" role="form">
++<form>
 +  <div class="form-group">
 +    <label for="exampleInputEmail1">Email address</label>
 +    <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email">
 +  </div>
 +  <div class="form-group">
 +    <label for="exampleInputPassword1">Password</label>
 +    <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
 +  </div>
 +  <div class="form-group">
 +    <label for="exampleInputFile">File input</label>
 +    <input type="file" id="exampleInputFile">
 +    <p class="help-block">Example block-level help text here.</p>
 +  </div>
 +  <div class="checkbox">
 +    <label>
 +      <input type="checkbox"> Check me out
 +    </label>
 +  </div>
 +  <button type="submit" class="btn btn-secondary">Submit</button>
 +</form>
 +{% endexample %}
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Don't mix form groups with input groups</h4>
 +  <p>Do not mix form groups directly with <a href="/components/#input-groups">input groups</a>. Instead, nest the input group inside of the form group.</p>
 +</div>
 +
 +## Inline forms
 +
 +Add `.form-inline` to your `<form>` for left-aligned and inline-block controls. **This only applies to forms within viewports that are at least 768px wide.**
 +
 +<div class="bs-callout bs-callout-danger">
 +  <h4>Requires custom widths</h4>
 +  <p>Inputs and selects have `width: 100%;` applied by default in Bootstrap. Within inline forms, we reset that to `width: auto;` so multiple controls can reside on the same line. Depending on your layout, additional custom widths may be required.</p>
 +</div>
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Always add labels</h4>
 +  <p>Screen readers will have trouble with your forms if you don't include a label for every input. For these inline forms, you can hide the labels using the `.sr-only` class.</p>
 +</div>
 +
 +{% example html %}
-   <div class="form-group">
-     <div class="input-group">
-       <div class="input-group-addon">@</div>
-       <input class="form-control" type="email" placeholder="Enter email">
-     </div>
-   </div>
++<form class="form-inline">
 +  <div class="form-group">
 +    <label class="sr-only" for="exampleInputEmail2">Email address</label>
 +    <input type="email" class="form-control" id="exampleInputEmail2" placeholder="Enter email">
 +  </div>
-   <button type="submit" class="btn btn-secondary">Sign in</button>
 +  <div class="form-group">
 +    <label class="sr-only" for="exampleInputPassword2">Password</label>
 +    <input type="password" class="form-control" id="exampleInputPassword2" placeholder="Password">
 +  </div>
 +  <div class="checkbox">
 +    <label>
 +      <input type="checkbox"> Remember me
 +    </label>
 +  </div>
- <form class="form-horizontal" role="form">
++  <button type="submit" class="btn btn-default">Sign in</button>
++</form>
++{% endexample %}
++
++{% example html %}
++<form class="form-inline">
++  <div class="form-group">
++    <label class="sr-only" for="exampleInputAmount">Amount (in dollars)</label>
++    <div class="input-group">
++      <div class="input-group-addon">$</div>
++      <input type="text" class="form-control" id="exampleInputAmount" placeholder="Amount">
++      <div class="input-group-addon">.00</div>
++    </div>
++  </div>
++  <button type="submit" class="btn btn-primary">Transfer cash</button>
 +</form>
 +{% endexample %}
 +
 +## Horizontal forms
 +
 +Use Bootstrap's predefined grid classes to align labels and groups of form controls in a horizontal layout by adding `.form-horizontal` to the form. Doing so changes `.form-group`s to behave as grid rows, so no need for `.row`.
 +
 +{% example html %}
- <form class="form-horizontal" role="form">
++<form class="form-horizontal">
 +  <div class="form-group">
 +    <label for="inputEmail3" class="col-sm-2 control-label">Email</label>
 +    <div class="col-sm-10">
 +      <input type="email" class="form-control" id="inputEmail3" placeholder="Email">
 +    </div>
 +  </div>
 +  <div class="form-group">
 +    <label for="inputPassword3" class="col-sm-2 control-label">Password</label>
 +    <div class="col-sm-10">
 +      <input type="password" class="form-control" id="inputPassword3" placeholder="Password">
 +    </div>
 +  </div>
 +  <div class="form-group">
 +    <div class="col-sm-offset-2 col-sm-10">
 +      <div class="checkbox">
 +        <label>
 +          <input type="checkbox"> Remember me
 +        </label>
 +      </div>
 +    </div>
 +  </div>
 +  <div class="form-group">
 +    <div class="col-sm-offset-2 col-sm-10">
 +      <button type="submit" class="btn btn-secondary">Sign in</button>
 +    </div>
 +  </div>
 +</form>
 +{% endexample %}
 +
 +## Supported controls
 +
 +Examples of standard form controls supported in an example form layout.
 +
 +### Inputs
 +
 +Most common form control, text-based input fields. Includes support for all HTML5 types: `text`, `password`, `datetime`, `datetime-local`, `date`, `month`, `time`, `week`, `number`, `email`, `url`, `search`, `tel`, and `color`.
 +
 +<div class="bs-callout bs-callout-danger">
 +  <h4>Type declaration required</h4>
 +  <p>Inputs will only be fully styled if their `type` is properly declared.</p>
 +</div>
 +
 +{% example html %}
 +<input type="text" class="form-control" placeholder="Text input">
 +{% endexample %}
 +
 +<div class="bs-callout bs-callout-info">
 +  <h4>Input groups</h4>
 +  <p>To add integrated text or buttons before and/or after any text-based `&lt;input&gt;`, <a href="../components/#input-groups">check out the input group component</a>.</p>
 +</div>
 +
 +### Textarea
 +
 +Form control which supports multiple lines of text. Change `rows` attribute as necessary.
 +
 +{% example html %}
 +<textarea class="form-control" rows="3"></textarea>
 +{% endexample %}
 +
 +### Checkboxes and radios
 +
 +Checkboxes are for selecting one or several options in a list, while radios are for selecting one option from many.
 +
 +A checkbox or radio with the `disabled` attribute will be styled appropriately. To have the `<label>` for the checkbox or radio also display a "not-allowed" cursor when the user hovers over the label, add the `.disabled` class to your `.radio`, `.radio-inline`, `.checkbox`, `.checkbox-inline`, or `<fieldset>`.
 +
 +#### Default (stacked)
 +
 +{% example html %}
 +<div class="checkbox">
 +  <label>
 +    <input type="checkbox" value="">
 +    Option one is this and that&mdash;be sure to include why it's great
 +  </label>
 +</div>
 +<div class="checkbox disabled">
 +  <label>
 +    <input type="checkbox" value="" disabled>
 +    Option two is disabled
 +  </label>
 +</div>
 +
 +<div class="radio">
 +  <label>
 +    <input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked>
 +    Option one is this and that&mdash;be sure to include why it's great
 +  </label>
 +</div>
 +<div class="radio">
 +  <label>
 +    <input type="radio" name="optionsRadios" id="optionsRadios2" value="option2">
 +    Option two can be something else and selecting it will deselect option one
 +  </label>
 +</div>
 +<div class="radio disabled">
 +  <label>
 +    <input type="radio" name="optionsRadios" id="optionsRadios3" value="option3" disabled>
 +    Option three is disabled
 +  </label>
 +</div>
 +{% endexample %}
 +
 +#### Inline
 +
 +Use the `.checkbox-inline` or `.radio-inline` classes on a series of checkboxes or radios for controls that appear on the same line.
 +
 +{% example html %}
 +<label class="checkbox-inline">
 +  <input type="checkbox" id="inlineCheckbox1" value="option1"> 1
 +</label>
 +<label class="checkbox-inline">
 +  <input type="checkbox" id="inlineCheckbox2" value="option2"> 2
 +</label>
 +<label class="checkbox-inline">
 +  <input type="checkbox" id="inlineCheckbox3" value="option3"> 3
 +</label>
 +
 +<label class="radio-inline">
 +  <input type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1"> 1
 +</label>
 +<label class="radio-inline">
 +  <input type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2"> 2
 +</label>
 +<label class="radio-inline">
 +  <input type="radio" name="inlineRadioOptions" id="inlineRadio3" value="option3"> 3
 +</label>
 +{% endexample %}
 +
 +#### Without labels
 +
 +Should you have no text within the `<label>`, the input is positioned as you'd expect. **Currently only works on non-inline checkboxes and radios.**
 +
 +{% example html %}
 +<div class="checkbox">
 +  <label>
 +    <input type="checkbox" id="blankCheckbox" value="option1">
 +  </label>
 +</div>
 +<div class="radio">
 +  <label>
 +    <input type="radio" name="blankRadio" id="blankRadio1" value="option1">
 +  </label>
 +</div>
 +{% endexample %}
 +
 +### Selects
 +
 +Use the default option, or add `multiple` to show multiple options at once.
 +
 +{% example html %}
 +<select class="form-control">
 +  <option>1</option>
 +  <option>2</option>
 +  <option>3</option>
 +  <option>4</option>
 +  <option>5</option>
 +</select>
 +
 +<select multiple class="form-control">
 +  <option>1</option>
 +  <option>2</option>
 +  <option>3</option>
 +  <option>4</option>
 +  <option>5</option>
 +</select>
 +{% endexample %}
 +
 +## Static controls
 +
 +When you need to place plain text next to a form label within a form, use the `.form-control-static` class on a `<p>`.
 +
 +{% example html %}
- <form class="form-inline" role="form">
++<form class="form-horizontal">
 +  <div class="form-group">
 +    <label class="col-sm-2 control-label">Email</label>
 +    <div class="col-sm-10">
 +      <p class="form-control-static">email@example.com</p>
 +    </div>
 +  </div>
 +  <div class="form-group">
 +    <label for="inputPassword" class="col-sm-2 control-label">Password</label>
 +    <div class="col-sm-10">
 +      <input type="password" class="form-control" id="inputPassword" placeholder="Password">
 +    </div>
 +  </div>
 +</form>
 +{% endexample %}
 +
 +{% example html %}
-   <form role="form">
++<form class="form-inline">
 +  <div class="form-group">
 +    <label class="sr-only">Email</label>
 +    <p class="form-control-static">email@example.com</p>
 +  </div>
 +  <div class="form-group">
 +    <label for="inputPassword2" class="sr-only">Password</label>
 +    <input type="password" class="form-control" id="inputPassword2" placeholder="Password">
 +  </div>
 +  <button type="submit" class="btn btn-default">Confirm identity</button>
 +</form>
 +{% endexample %}
 +
 +## Focus state
 +
 +We remove the default `outline` styles on some form controls and apply a `box-shadow` in its place for `:focus`.
 +
 +<div class="bs-example">
- <form role="form">
++  <form>
 +    <input class="form-control" id="focusedInput" type="text" value="Demonstrative focus state">
 +  </form>
 +</div>
 +
 +<div class="bs-callout bs-callout-info">
 +  <h4>Demo `:focus` state</h4>
 +  <p>The above example input uses custom styles in our documentation to demonstrate the `:focus` state on a `.form-control`.</p>
 +</div>
 +
 +## Disabled states
 +
 +Add the `disabled` boolean attribute on an `<input>`, `<select>`, or `<textarea>` to prevent user input and trigger a slightly different look.
 +
 +{% highlight html %}
 +<input class="form-control" id="disabledInput" type="text" placeholder="Disabled input here..." disabled>
 +{% endhighlight %}
 +
 +Add the `disabled` attribute to a `<fieldset>` to disable all the controls within.
 +
 +{% example html %}
-   <p>Our styles use `pointer-events: none` to try to disable the link functionality of <code>&lt;a class="btn btn-*"&gt;</code> buttons in this case, but that CSS property is not yet standardized and isn't fully supported in Opera 18 and below, or in Internet Explorer 11. So to be safe, use custom JavaScript to disable such links.</p>
++<form>
 +  <fieldset disabled>
 +    <div class="form-group">
 +      <label for="disabledTextInput">Disabled input</label>
 +      <input type="text" id="disabledTextInput" class="form-control" placeholder="Disabled input">
 +    </div>
 +    <div class="form-group">
 +      <label for="disabledSelect">Disabled select menu</label>
 +      <select id="disabledSelect" class="form-control">
 +        <option>Disabled select</option>
 +      </select>
 +    </div>
 +    <div class="checkbox">
 +      <label>
 +        <input type="checkbox"> Can't check this
 +      </label>
 +    </div>
 +    <button type="submit" class="btn btn-primary">Submit</button>
 +  </fieldset>
 +</form>
 +{% endexample %}
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Caveat about link functionality of `&lt;a&gt;`</h4>
- <form class="form-horizontal" role="form">
++  <p>By default, browsers will treat all native form controls (<code>&lt;input&gt;</code>, <code>&lt;select&gt;</code> and <code>&lt;button&gt;</code> elements) inside a <code>&lt;fieldset disabled&gt;</code> as disabled, preventing both keyboard and mouse interactions on them. However, if your form also includes <code>&lt;a ... class="btn btn-*"&gt;</code> elements, these will only be given a style of <code>pointer-events: none</code>. As noted in the section about <a href="#buttons-disabled">disabled state for buttons</a> (and specifically in the sub-section for anchor elements), this CSS property is not yet standardized and isn't fully supported in Opera 18 and below, or in Internet Explorer 11, and won't prevent keyboard users from being able to focus or activate these links. So to be safe, use custom JavaScript to disable such links.</p>
 +</div>
 +
 +<div class="bs-callout bs-callout-danger">
 +  <h4>Cross-browser compatibility</h4>
 +  <p>While Bootstrap will apply these styles in all browsers, Internet Explorer 11 and below don't fully support the <code>disabled</code> attribute on a <code>&lt;fieldset&gt;</code>. Use custom JavaScript to disable the fieldset in these browsers.</p>
 +</div>
 +
 +## Readonly inputs
 +
 +Add the `readonly` boolean attribute on an input to prevent user input and style the input as disabled.
 +
 +{% example html %}
 +<input class="form-control" type="text" placeholder="Readonly input here…" readonly>
 +{% endexample %}
 +
 +## Validation
 +
 +Bootstrap includes validation styles for error, warning, and success states on form controls. To use, add `.has-warning`, `.has-error`, or `.has-success` to the parent element. Any `.control-label`, `.form-control`, and `.help-block` within that element will receive the validation styles.
 +
 +{% example html %}
 +<div class="form-group has-success">
 +  <label class="control-label" for="inputSuccess1">Input with success</label>
 +  <input type="text" class="form-control" id="inputSuccess1">
 +</div>
 +<div class="form-group has-warning">
 +  <label class="control-label" for="inputWarning1">Input with warning</label>
 +  <input type="text" class="form-control" id="inputWarning1">
 +</div>
 +<div class="form-group has-error">
 +  <label class="control-label" for="inputError1">Input with error</label>
 +  <input type="text" class="form-control" id="inputError1">
 +</div>
 +<div class="has-success">
 +  <div class="checkbox">
 +    <label>
 +      <input type="checkbox" id="checkboxSuccess" value="option1">
 +      Checkbox with success
 +    </label>
 +  </div>
 +</div>
 +<div class="has-warning">
 +  <div class="checkbox">
 +    <label>
 +      <input type="checkbox" id="checkboxWarning" value="option1">
 +      Checkbox with warning
 +    </label>
 +  </div>
 +</div>
 +<div class="has-error">
 +  <div class="checkbox">
 +    <label>
 +      <input type="checkbox" id="checkboxError" value="option1">
 +      Checkbox with error
 +    </label>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +You can also add optional feedback icons with the addition of `.has-feedback` and the right icon.
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Icons, labels, and input groups</h4>
 +  <p>Manual positioning of feedback icons is required for inputs without a label and for <a href="../components#input-groups">input groups</a> with an add-on on the right. You are strongly encouraged to provide labels for all inputs for accessibility reasons. If you wish to prevent labels from being displayed, hide them with the `sr-only` class. If you must do without labels, adjust the `top` value of the feedback icon. For input groups, adjust the `right` value to an appropriate pixel value depending on the width of your addon.</p>
 +</div>
 +
 +{% example html %}
 +<div class="form-group has-success has-feedback">
 +  <label class="control-label" for="inputSuccess2">Input with success</label>
 +  <input type="text" class="form-control" id="inputSuccess2">
 +  <span class="glyphicon glyphicon-ok form-control-feedback"></span>
 +</div>
 +<div class="form-group has-warning has-feedback">
 +  <label class="control-label" for="inputWarning2">Input with warning</label>
 +  <input type="text" class="form-control" id="inputWarning2">
 +  <span class="glyphicon glyphicon-warning-sign form-control-feedback"></span>
 +</div>
 +<div class="form-group has-error has-feedback">
 +  <label class="control-label" for="inputError2">Input with error</label>
 +  <input type="text" class="form-control" id="inputError2">
 +  <span class="glyphicon glyphicon-remove form-control-feedback"></span>
 +</div>
 +{% endexample %}
 +
 +{% example html %}
- <form class="form-inline" role="form">
++<form class="form-horizontal">
 +  <div class="form-group has-success has-feedback">
 +    <label class="control-label col-sm-3" for="inputSuccess3">Input with success</label>
 +    <div class="col-sm-9">
 +      <input type="text" class="form-control" id="inputSuccess3">
 +      <span class="glyphicon glyphicon-ok form-control-feedback"></span>
 +    </div>
 +  </div>
 +</form>
 +{% endexample %}
 +
 +{% example html %}
- <form class="form-horizontal" role="form">
++<form class="form-inline">
 +  <div class="form-group has-success has-feedback">
 +    <label class="control-label" for="inputSuccess4">Input with success</label>
 +    <input type="text" class="form-control" id="inputSuccess4">
 +    <span class="glyphicon glyphicon-ok form-control-feedback"></span>
 +  </div>
 +</form>
 +{% endexample %}
 +
 +For form controls with no visible label, add the `.sr-only` class on the label. Bootstrap will automatically adjust the position of the icon once it's been added.
 +
 +{% example html %}
 +<div class="form-group has-success has-feedback">
 +  <label class="control-label sr-only" for="inputSuccess5">Hidden label</label>
 +  <input type="text" class="form-control" id="inputSuccess5">
 +  <span class="glyphicon glyphicon-ok form-control-feedback"></span>
 +</div>
 +{% endexample %}
 +
 +## Control sizing
 +
 +Set heights using classes like `.input-lg`, and set widths using grid column classes like `.col-lg-*`.
 +
 +{% example html %}
 +<input class="form-control input-lg" type="text" placeholder=".input-lg">
 +<input class="form-control" type="text" placeholder="Default input">
 +<input class="form-control input-sm" type="text" placeholder=".input-sm">
 +
 +<select class="form-control input-lg"></select>
 +<select class="form-control"></select>
 +<select class="form-control input-sm"></select>
 +{% endexample %}
 +
 +Quickly size labels and form controls within `.form-horizontal` by adding `.form-group-lg` or `.form-group-sm` to existing `.form-group`s.
 +
 +{% example html %}
++<form class="form-horizontal">
 +  <div class="form-group form-group-lg">
 +    <label class="col-sm-2 control-label" for="formGroupInputLarge">Large label</label>
 +    <div class="col-sm-10">
 +      <input class="form-control" type="text" id="formGroupInputLarge" placeholder="Large input">
 +    </div>
 +  </div>
 +  <div class="form-group form-group-sm">
 +    <label class="col-sm-2 control-label" for="formGroupInputSmall">Small label</label>
 +    <div class="col-sm-10">
 +      <input class="form-control" type="text" id="formGroupInputSmall" placeholder="Small input">
 +    </div>
 +  </div>
 +</form>
 +{% endexample %}
 +
 +## Column sizing
 +
 +Wrap inputs in grid columns, or any custom parent element, to easily enforce desired widths.
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-xs-2">
 +    <input type="text" class="form-control" placeholder=".col-xs-2">
 +  </div>
 +  <div class="col-xs-3">
 +    <input type="text" class="form-control" placeholder=".col-xs-3">
 +  </div>
 +  <div class="col-xs-4">
 +    <input type="text" class="form-control" placeholder=".col-xs-4">
 +  </div>
 +</div>
 +{% endexample %}
 +
 +## Help text
 +
 +Block level help text for form controls.
 +
 +{% example html %}
 +<p class="help-block">A block of help text that breaks onto a new line and may extend beyond one line.</p>
 +{% endexample %}
index 96324e9fc5dfff8eafa72f76df92f705b33d2f85,0000000000000000000000000000000000000000..fea487860f013b061e3733f734e4d885e001bf99
mode 100644,000000..100644
--- /dev/null
@@@ -1,193 -1,0 +1,202 @@@
 +---
 +layout: page
 +title: Helper classes
 +---
 +
 +### Contextual colors
 +
 +Convey meaning through color with a handful of emphasis utility classes. These may also be applied to links and will darken on hover just like our default link styles.
 +
 +{% example html %}
 +<p class="text-muted">Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.</p>
 +<p class="text-primary">Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
 +<p class="text-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p>
 +<p class="text-info">Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
 +<p class="text-warning">Etiam porta sem malesuada magna mollis euismod.</p>
 +<p class="text-danger">Donec ullamcorper nulla non metus auctor fringilla.</p>
 +{% endexample %}
 +
 +<div class="bs-callout bs-callout-info">
 +  <h4>Dealing with specificity</h4>
 +  <p>Sometimes emphasis classes cannot be applied due to the specificity of another selector. In most cases, a sufficient workaround is to wrap your text in a <code>&lt;span&gt;</code> with the class.</p>
 +</div>
++<div class="bs-callout bs-callout-warning">
++  <h4>Conveying meaning to assistive technologies</h4>
++  <p>Using color to add meaning only provides a visual indication, which will not be conveyed to users of assistive technologies â€“ such as screen readers. Ensure that information denoted by the color is either obvious from the content itself (the contextual colors are only used to reinforce meaning that is already present in the text/markup), or is included through alternative means, such as additional text hidden with the <code>.sr-only</code> class.</p>
++</div>
 +
 +### Contextual backgrounds
 +
 +Similar to the contextual text color classes, easily set the background of an element to any contextual class. Anchor components will darken on hover, just like the text classes.
 +
 +{% example html %}
 +<div class="bg-primary">Nullam id dolor id nibh ultricies vehicula ut id elit.</div>
 +<div class="bg-success">Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</div>
 +<div class="bg-info">Maecenas sed diam eget risus varius blandit sit amet non magna.</div>
 +<div class="bg-warning">Etiam porta sem malesuada magna mollis euismod.</div>
 +<div class="bg-danger">Donec ullamcorper nulla non metus auctor fringilla.</div>
 +{% endexample %}
 +
 +<div class="bs-callout bs-callout-info">
 +  <h4>Dealing with specificity</h4>
 +  <p>Sometimes contextual background classes cannot be applied due to the specificity of another selector. In some cases, a sufficient workaround is to wrap your element's content in a <code>&lt;div&gt;</code> with the class.</p>
 +</div>
 +
++<div class="bs-callout bs-callout-warning">
++  <h4>Conveying meaning to assistive technologies</h4>
++  <p>As with <a href="#helper-classes-colors">contextual colors</a>, ensure that any meaning conveyed through color is also conveyed in a format that is not purely presentational.</p>
++</div>
++
 +### Close icon
 +
 +Use a generic close icon for dismissing content like modals and alerts. **Be sure to include screen reader text when you can** as we've done with `.sr-only`.
 +
 +{% example html %}
 +<button type="button" class="close">
 +  <span aria-hidden="true">&times;</span>
 +  <span class="sr-only">Close</span>
 +</button>
 +{% endexample %}
 +
 +### Quick floats
 +
 +Float an element to the left or right with a class. `!important` is included to avoid specificity issues. Classes can also be used as mixins.
 +
 +{% example html %}
 +<div class="pull-left">...</div>
 +<div class="pull-right">...</div>
 +{% endexample %}
 +
 +{% highlight scss %}
 +// Classes
 +.pull-left {
 +  float: left !important;
 +}
 +.pull-right {
 +  float: right !important;
 +}
 +
 +// Usage as mixins
 +.element {
 +  .pull-left();
 +}
 +.another-element {
 +  .pull-right();
 +}
 +{% endhighlight %}
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Not for use in navbars</h4>
 +  <p>To align components in navbars with utility classes, use <code>.navbar-left</code> or <code>.navbar-right</code> instead. <a href="../components/#navbar-component-alignment">See the navbar docs</a> for details.</p>
 +</div>
 +
 +### Center content blocks
 +
 +Set an element to `display: block;` and center via `margin`. Available as a mixin and class.
 +
 +{% example html %}
 +<div class="center-block">...</div>
 +{% endexample %}
 +
 +{% highlight scss %}
 +// Classes
 +.center-block {
 +  display: block;
 +  margin-left: auto;
 +  margin-right: auto;
 +}
 +
 +// Usage as mixins
 +.element {
 +  .center-block();
 +}
 +{% endhighlight %}
 +
 +Easily clear `float`s by adding `.clearfix` **to the parent element**. Utilizes [the micro clearfix](http://nicolasgallagher.com/micro-clearfix-hack/) as popularized by Nicolas Gallagher. Can also be used as a mixin.
 +
 +{% highlight html %}
 +<div class="clearfix">...</div>
 +{% endhighlight %}
 +
 +{% highlight scss %}
 +// Mixin itself
 +.clearfix() {
 +  &:before,
 +  &:after {
 +    content: " ";
 +    display: table;
 +  }
 +  &:after {
 +    clear: both;
 +  }
 +}
 +
 +// Usage as a Mixin
 +.element {
 +  .clearfix();
 +}
 +{% endhighlight %}
 +
 +### Showing and hiding content
 +
 +Force an element to be shown or hidden (**including for screen readers**) with the use of `.show` and `.hidden` classes. These classes use `!important` to avoid specificity conflicts, just like the [quick floats](#helper-floats). They are only available for block level toggling. They can also be used as mixins.
 +
 +Furthermore, `.invisible` can be used to toggle only the visibility of an element, meaning its `display` is not modified and the element can still affect the flow of the document.
 +
 +{% highlight html %}
 +<div class="show">...</div>
 +<div class="hidden">...</div>
 +{% endhighlight %}
 +
 +{% highlight scss %}
 +// Classes
 +.show {
 +  display: block !important;
 +}
 +.hidden {
 +  display: none !important;
 +  visibility: hidden !important;
 +}
 +.invisible {
 +  visibility: hidden;
 +}
 +
 +// Usage as mixins
 +.element {
 +  .show();
 +}
 +.another-element {
 +  .hidden();
 +}
 +{% endhighlight %}
 +
 +### Screen readers and keyboard navigation
 +
 +Hide an element to all devices **except screen readers** with `.sr-only`. Combine `.sr-only` with `.sr-only-focusable` to show the element again when it's focused (e.g. by a keyboard-only user). Necessary for following [accessibility best practices](../getting-started/#accessibility). Can also be used as mixins.
 +
 +{% highlight html %}
 +<a class="sr-only sr-only-focusable" href="#content">Skip to main content</a>
 +{% endhighlight %}
 +
 +{% highlight scss %}
 +// Usage as a Mixin
 +.skip-navigation {
 +  .sr-only();
 +  .sr-only-focusable();
 +}
 +{% endhighlight %}
 +
 +### Image replacement
 +
 +Utilize the `.text-hide` class or mixin to help replace an element's text content with a background image.
 +
 +{% example html %}
 +<h1 class="text-hide">Custom heading</h1>
 +{% endexample %}
 +
 +{% highlight scss %}
 +// Usage as a Mixin
 +.heading {
 +  .text-hide();
 +}
 +{% endhighlight %}
index f53eb9a174025af008829c3a48f649370fda1cf9,0000000000000000000000000000000000000000..7da1432c7736f4725360f2bd62f09ca479f4b82a
mode 100644,000000..100644
--- /dev/null
@@@ -1,196 -1,0 +1,196 @@@
-         <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">Action</button>
 +---
 +layout: page
 +title: Input group
 +---
 +
 +Extend form controls by adding text or buttons before, after, or on both sides of any text-based `<input>`. Use `.input-group` with an `.input-group-addon` to prepend or append elements to a single `.form-control`.
 +
 +<div class="bs-callout bs-callout-danger">
 +  <h4>Textual <code>&lt;input&gt;</code>s only</h4>
 +  <p>Avoid using <code>&lt;textarea&gt;</code> elements here as their <code>rows</code> attribute will not be respected in some cases.</p>
 +</div>
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Tooltips &amp; popovers in input groups require special setting</h4>
 +  <p>When using tooltips or popovers on elements within an <code>.input-group</code>, you'll have to specify the option <code>container: 'body'</code> to avoid unwanted side effects (such as the element growing wider and/or losing its rounded corners when the tooltip or popover is triggered).</p>
 +</div>
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Don't mix with other components</h4>
 +  <p>Do not mix form groups or grid column classes directly with input groups. Instead, nest the input group inside of the form group or grid-related element.</p>
 +</div>
 +
 +## Basic example
 +
 +Place one add-on or button on either side of an input. You may also place one on both sides of an input.
 +
 +**We do not support multiple add-ons on a single side.**
 +
 +**We do not support multiple form-controls in a single input group.**
 +
 +{% example html %}
 +<div class="input-group">
 +  <span class="input-group-addon">@</span>
 +  <input type="text" class="form-control" placeholder="Username">
 +</div>
 +<br>
 +<div class="input-group">
 +  <input type="text" class="form-control">
 +  <span class="input-group-addon">.00</span>
 +</div>
 +<br>
 +<div class="input-group">
 +  <span class="input-group-addon">$</span>
 +  <input type="text" class="form-control">
 +  <span class="input-group-addon">.00</span>
 +</div>
 +{% endexample %}
 +
 +## Sizing
 +
 +Add the relative form sizing classes to the `.input-group` itself and contents within will automatically resize—no need for repeating the form control size classes on each element.
 +
 +{% example html %}
 +<div class="input-group input-group-lg">
 +  <span class="input-group-addon">@</span>
 +  <input type="text" class="form-control" placeholder="Username">
 +</div>
 +<br>
 +<div class="input-group">
 +  <span class="input-group-addon">@</span>
 +  <input type="text" class="form-control" placeholder="Username">
 +</div>
 +<br>
 +<div class="input-group input-group-sm">
 +  <span class="input-group-addon">@</span>
 +  <input type="text" class="form-control" placeholder="Username">
 +</div>
 +{% endexample %}
 +
 +## Checkboxes and radio addons
 +
 +Place any checkbox or radio option within an input group's addon instead of text.
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-lg-6">
 +    <div class="input-group">
 +      <span class="input-group-addon">
 +        <input type="checkbox">
 +      </span>
 +      <input type="text" class="form-control">
 +    </div>
 +  </div>
 +  <div class="col-lg-6">
 +    <div class="input-group">
 +      <span class="input-group-addon">
 +        <input type="radio">
 +      </span>
 +      <input type="text" class="form-control">
 +    </div>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +## Button addons
 +
 +Buttons in input groups are a bit different and require one extra level of nesting. Instead of `.input-group-addon`, you'll need to use `.input-group-btn` to wrap the buttons. This is required due to default browser styles that cannot be overridden.
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-lg-6">
 +    <div class="input-group">
 +      <span class="input-group-btn">
 +        <button class="btn btn-secondary" type="button">Go!</button>
 +      </span>
 +      <input type="text" class="form-control">
 +    </div>
 +  </div>
 +  <div class="col-lg-6">
 +    <div class="input-group">
 +      <input type="text" class="form-control">
 +      <span class="input-group-btn">
 +        <button class="btn btn-secondary" type="button">Go!</button>
 +      </span>
 +    </div>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +## Buttons with dropdowns
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-lg-6">
 +    <div class="input-group">
 +      <div class="input-group-btn">
-         <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown">Action</button>
++        <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Action</button>
 +        <ul class="dropdown-menu" role="menu">
 +          <li><a href="#">Action</a></li>
 +          <li><a href="#">Another action</a></li>
 +          <li><a href="#">Something else here</a></li>
 +          <li class="divider"></li>
 +          <li><a href="#">Separated link</a></li>
 +        </ul>
 +      </div>
 +      <input type="text" class="form-control">
 +    </div>
 +  </div>
 +  <div class="col-lg-6">
 +    <div class="input-group">
 +      <input type="text" class="form-control">
 +      <div class="input-group-btn">
-         <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" tabindex="-1">
++        <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Action</button>
 +        <ul class="dropdown-menu dropdown-menu-right" role="menu">
 +          <li><a href="#">Action</a></li>
 +          <li><a href="#">Another action</a></li>
 +          <li><a href="#">Something else here</a></li>
 +          <li class="divider"></li>
 +          <li><a href="#">Separated link</a></li>
 +        </ul>
 +      </div>
 +    </div>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +## Segmented buttons
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-lg-6">
 +    <div class="input-group">
 +      <div class="input-group-btn">
 +        <button type="button" class="btn btn-secondary" tabindex="-1">Action</button>
-         <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" tabindex="-1">
++        <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" tabindex="-1" aria-expanded="false">
 +          <span class="sr-only">Toggle Dropdown</span>
 +        </button>
 +        <ul class="dropdown-menu" role="menu">
 +          <li><a href="#">Action</a></li>
 +          <li><a href="#">Another action</a></li>
 +          <li><a href="#">Something else here</a></li>
 +          <li class="divider"></li>
 +          <li><a href="#">Separated link</a></li>
 +        </ul>
 +      </div>
 +      <input type="text" class="form-control">
 +    </div>
 +  </div>
 +  <div class="col-lg-6">
 +    <div class="input-group">
 +      <input type="text" class="form-control">
 +      <div class="input-group-btn">
 +        <button type="button" class="btn btn-secondary" tabindex="-1">Action</button>
++        <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" tabindex="-1" aria-expanded="false">
 +          <span class="sr-only">Toggle Dropdown</span>
 +        </button>
 +        <ul class="dropdown-menu dropdown-menu-right" role="menu">
 +          <li><a href="#">Action</a></li>
 +          <li><a href="#">Another action</a></li>
 +          <li><a href="#">Something else here</a></li>
 +          <li class="divider"></li>
 +          <li><a href="#">Separated link</a></li>
 +        </ul>
 +      </div>
 +    </div>
 +  </div>
 +</div>
 +{% endexample %}
index 672d7ffe409c923366ac314077f649b998fc3e9e,0000000000000000000000000000000000000000..c3a86335ccb549df05eb02b64084c76d13f26191
mode 100644,000000..100644
--- /dev/null
@@@ -1,168 -1,0 +1,169 @@@
- <div class="navbar navbar-default">
 +---
 +layout: page
 +title: Navbar
 +---
 +
 +The navbar is a simple wrapper for positioning branding, navigation, and other elements. It's easily extensible and with the help of our collapse plugin it can easily integrate offscreen content.
 +
 +### Basics
 +
 +Here's what you need to know before getting started with the navbar:
 +
 +- Navbars require a wrapping `.navbar` and either a color scheme class or custom styles.
 +- When using multiple components in a navbar, some [alignment classes](#alignment) are required.
 +- Navbars and their contents are fluid by default. Use [optional containers](#containers) to limit their horizontal width.
++- Ensure accessibility by using a `<nav>` element or, if using a more generic element such as a `<div>`, add a `role="navigation"` to every navbar to explicitly identify it as a landmark region for users of assistive technologies.
 +
 +### Branding
 +
 +Name your company, product, or project with `.navbar-brand`.
 +
 +{% example html %}
- </div>
++<nav class="navbar navbar-default">
 +  <h3 class="navbar-brand">
 +    <a href="#">Navbar</a>
 +  </h3>
- <div class="navbar navbar-default">
++</nav>
 +{% endexample %}
 +
 +### Navigation
 +
 +Use `.nav-pills` within a navbar for basic navigation.
 +
 +{% example html %}
-       <a class="nav-link" href="#">Home</a>
++<nav class="navbar navbar-default">
 +  <ul class="nav nav-pills">
 +    <li class="nav-item active">
- </div>
++      <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
 +    </li>
 +    <li class="nav-item">
 +      <a class="nav-link" href="#">Features</a>
 +    </li>
 +    <li class="nav-item">
 +      <a class="nav-link" href="#">Pricing</a>
 +    </li>
 +    <li class="nav-item">
 +      <a class="nav-link" href="#">About</a>
 +    </li>
 +  </ul>
- <div class="navbar navbar-default">
++</nav>
 +{% endexample %}
 +
 +### Inline forms
 +
 +Add an `.inline-form` within the navbar with nearly any combination of form controls and buttons.
 +
 +{% example html %}
- </div>
++<nav class="navbar navbar-default">
 +  <form class="form-inline">
 +    <input class="form-control" type="text" placeholder="Search">
 +    <button class="btn btn-primary" type="submit">Search</button>
 +  </form>
- <div class="navbar navbar-default">
++</nav>
 +{% endexample %}
 +
 +### Containers
 +
 +Although it's not required, you can wrap a navbar in a `.container` or add one within for basic horizontal control.
 +
 +{% example html %}
- </div>
++<nav class="navbar navbar-default">
 +  <div class="container">
 +    <h3 class="navbar-brand">
 +      <a href="#">Navbar</a>
 +    </h3>
 +  </div>
-   <div class="navbar navbar-default">
++</nav>
 +{% endexample %}
 +
 +{% example html %}
 +<div class="container">
-   </div>
++  <nav class="navbar navbar-default">
 +    <h3 class="navbar-brand">
 +      <a href="#">Navbar</a>
 +    </h3>
- <div class="navbar navbar-default">
++  </nav>
 +</div>
 +{% endexample %}
 +
 +### Alignment
 +
 +Use `.pull-left` or `.pull-right` to align multiple elements within the navbar.
 +
 +{% example html %}
-       <a class="nav-link" href="#">Home</a>
++<nav class="navbar navbar-default">
 +  <h3 class="navbar-brand pull-left">
 +    <a href="#">Navbar</a>
 +  </h3>
 +  <ul class="nav nav-pills pull-left">
 +    <li class="nav-item active">
- </div>
++      <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
 +    </li>
 +    <li class="nav-item">
 +      <a class="nav-link" href="#">Features</a>
 +    </li>
 +    <li class="nav-item">
 +      <a class="nav-link" href="#">Pricing</a>
 +    </li>
 +    <li class="nav-item">
 +      <a class="nav-link" href="#">About</a>
 +    </li>
 +  </ul>
 +  <ul class="nav nav-pills pull-right">
 +    <li class="nav-item">
 +      <a class="nav-link" href="#">Help</a>
 +    </li>
 +    <li class="nav-item">
 +      <a class="nav-link" href="#">Sign out</a>
 +    </li>
 +  </ul>
- <div class="navbar navbar-inverse">
++</nav>
 +{% endexample %}
 +
 +### Inverse color scheme
 +
 +Replace `.navbar-default` with `.navbar-inverse` for a darker background color and white text.
 +
 +{% example html %}
-       <a class="nav-link" href="#">Home</a>
++<nav class="navbar navbar-inverse">
 +  <h3 class="navbar-brand pull-left">
 +    <a href="#">Navbar</a>
 +  </h3>
 +  <ul class="nav nav-pills pull-left">
 +    <li class="nav-item active">
- </div>
++      <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
 +    </li>
 +    <li class="nav-item">
 +      <a class="nav-link" href="#">Features</a>
 +    </li>
 +    <li class="nav-item">
 +      <a class="nav-link" href="#">Pricing</a>
 +    </li>
 +    <li class="nav-item">
 +      <a class="nav-link" href="#">About</a>
 +    </li>
 +  </ul>
 +  <form class="form-inline pull-right">
 +    <input class="form-control" type="text" placeholder="Search">
 +    <button class="btn btn-primary" type="submit">Search</button>
 +  </form>
- Our collapse plugin allows you to use a `<button>` to toggle hidden content.
++</nav>
 +{% endexample %}
 +
 +### Collapsible content
 +
- <div class="navbar navbar-default">
++Our collapse plugin allows you to use a `<button>` or `<a>` to toggle hidden content.
 +
 +{% example html %}
 +<div class="collapse" id="navbar-header">
 +  <div class="inverse p-a">
 +    <h3>Collapsed content</h3>
 +    <p>Toggleable via the navbar brand.</p>
 +  </div>
 +</div>
- </div>
++<nav class="navbar navbar-default">
 +  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-header">
 +    &#9776;
 +  </button>
++</nav>
 +{% endexample %}
index 1f08612f77eacedb361563095412deda3c3f3cf5,0000000000000000000000000000000000000000..1f5907e32eb8d7704041dbfcd51030774d74e039
mode 100644,000000..100644
--- /dev/null
@@@ -1,162 -1,0 +1,161 @@@
- <ul class="nav" role="tablist">
 +---
 +layout: page
 +title: Navs
 +---
 +
 +Navigation available in Bootstrap share general markup and styles, from the base `.nav` class to the active and disabled states. Swap modifier classes to switch between each style.
 +
++## Regarding accessibility
++
++If you are using navs to provide a navigation bar, be sure to add a `role="navigation"` to the most logical parent container of the `<ul>`, or wrap a `<nav>` element around the whole navigation. Do not add the role to the `<ul>` itself, as this would prevent it from being announced as an actual list by assistive technologies.
++
 +## Base nav
 +
 +Roll your own navigation style by extending the base `.nav` component. All Bootstrap's nav components are built on top of this. Includes styles for the disabled state, but **not the active state**.
 +
 +{% example html %}
- <nav class="nav" role="tablist">
++<ul class="nav">
 +  <li class="nav-item">
 +    <a class="nav-link" href="#">Link</a>
 +  </li>
 +  <li class="nav-item">
 +    <a class="nav-link" href="#">Link</a>
 +  </li>
 +  <li class="nav-item">
 +    <a class="nav-link" href="#">Another link</a>
 +  </li>
 +  <li class="nav-item disabled">
 +    <a class="nav-link" href="#">Disabled</a>
 +  </li>
 +</ul>
 +{% endexample %}
 +
 +Classes are used throughout, so your markup can be super flexible. Use `<ul>`s like above, or roll your own with say a `<nav>` element.
 +
 +{% example html %}
- Takes the basic nav from above and adds the `.nav-tabs` class to generate a tabbed interface.
++<nav class="nav">
 +  <a class="nav-link active" href="#">Active</a>
 +  <a class="nav-link" href="#">Link</a>
 +  <a class="nav-link" href="#">Another link</a>
 +  <a class="nav-link disabled" href="#">Disabled</a>
 +</nav>
 +{% endexample %}
 +
 +## Tabs
 +
- <ul class="nav nav-tabs" role="tablist">
++Takes the basic nav from above and adds the `.nav-tabs` class to generate a tabbed interface. Use them to create tabbable regions with our [tab JavaScript plugin](../javascript/tabs).
 +
 +{% example html %}
- <div class="bs-callout bs-callout-info">
-   <h4>Requires JavaScript tabs plugin</h4>
-   <p>For tabs with tabbable areas, you must use the <a href="../javascript/#tabs">tabs JavaScript plugin</a>.</p>
- </div>
++<ul class="nav nav-tabs">
 +  <li class="nav-item active" role="presentation">
 +    <a href="#" class="nav-link">Active</a>
 +  </li>
 +  <li class="nav-item" role="presentation">
 +    <a href="#" class="nav-link">Link</a>
 +  </li>
 +  <li class="nav-item" role="presentation">
 +    <a href="#" class="nav-link">Another link</a>
 +  </li>
 +  <li class="nav-item disabled" role="presentation">
 +    <a href="#" class="nav-link">Disabled</a>
 +  </li>
 +</ul>
 +{% endexample %}
 +
- <ul class="nav nav-pills" role="tablist">
 +## Pills
 +
 +Take that same HTML, but use `.nav-pills` instead:
 +
 +{% example html %}
- <ul class="nav nav-pills nav-stacked" role="tablist">
++<ul class="nav nav-pills">
 +  <li class="nav-item active" role="presentation">
 +    <a href="#" class="nav-link">Active</a>
 +  </li>
 +  <li class="nav-item" role="presentation">
 +    <a href="#" class="nav-link">Link</a>
 +  </li>
 +  <li class="nav-item" role="presentation">
 +    <a href="#" class="nav-link">Another link</a>
 +  </li>
 +  <li class="nav-item disabled" role="presentation">
 +    <a href="#" class="nav-link">Disabled</a>
 +  </li>
 +</ul>
 +{% endexample %}
 +
 +## Stacked pills
 +
 +Just add `.nav-stacked` to the `.nav.nav-pills`.
 +
 +{% example html %}
- <ul class="nav nav-tabs" role="tablist">
++<ul class="nav nav-pills nav-stacked">
 +  <li class="nav-item active" role="presentation">
 +    <a href="#" class="nav-link">Active</a>
 +  </li>
 +  <li class="nav-item" role="presentation">
 +    <a href="#" class="nav-link">Link</a>
 +  </li>
 +  <li class="nav-item" role="presentation">
 +    <a href="#" class="nav-link">Another link</a>
 +  </li>
 +  <li class="nav-item disabled" role="presentation">
 +    <a href="#" class="nav-link">Disabled</a>
 +  </li>
 +</ul>
 +{% endexample %}
 +
 +## Using dropdowns
 +
 +Add dropdown menus with a little extra HTML and the [dropdowns JavaScript plugin]({{ site.baseurl }}javascript/#dropdowns).
 +
 +### Tabs with dropdowns
 +
 +{% example html %}
-     <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#">Dropdown</a>
++<ul class="nav nav-tabs">
 +  <li class="nav-item active" role="presentation">
 +    <a href="#" class="nav-link">Active</a>
 +  </li>
 +  <li class="nav-item" role="presentation">
- <ul class="nav nav-pills" role="tablist">
++    <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </li>
 +  <li class="nav-item" role="presentation">
 +    <a href="#" class="nav-link">Another link</a>
 +  </li>
 +  <li class="nav-item disabled" role="presentation">
 +    <a href="#" class="nav-link">Disabled</a>
 +  </li>
 +</ul>
 +{% endexample %}
 +
 +### Pills with dropdowns
 +
 +{% example html %}
-     <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#">Dropdown</a>
++<ul class="nav nav-pills">
 +  <li class="nav-item active" role="presentation">
 +    <a href="#" class="nav-link">Active</a>
 +  </li>
 +  <li class="nav-item" role="presentation">
++    <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
 +    <ul class="dropdown-menu" role="menu">
 +      <li><a href="#">Action</a></li>
 +      <li><a href="#">Another action</a></li>
 +      <li><a href="#">Something else here</a></li>
 +      <li class="divider"></li>
 +      <li><a href="#">Separated link</a></li>
 +    </ul>
 +  </li>
 +  <li class="nav-item" role="presentation">
 +    <a href="#" class="nav-link">Another link</a>
 +  </li>
 +  <li class="nav-item disabled" role="presentation">
 +    <a href="#" class="nav-link">Disabled</a>
 +  </li>
 +</ul>
 +{% endexample %}
index 7b6aaa5c56f3a6c891573b0e229c8a28bffb1fcb,0000000000000000000000000000000000000000..c16f97cb6c981ec7c1d34072a15bc14042346aba
mode 100644,000000..100644
--- /dev/null
@@@ -1,127 -1,0 +1,173 @@@
-     <li><a href="#">&laquo;</a></li>
 +---
 +layout: page
 +title: Pagination
 +---
 +
 +Provide pagination links for your site or app with the multi-page pagination component, or the simpler [pager alternative](#pagination-pager).
 +
 +## Default pagination
 +
 +Simple pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.
 +
 +{% example html %}
 +<nav>
 +  <ul class="pagination">
-     <li><a href="#">&raquo;</a></li>
++    <li>
++      <a href="#">
++        <span aria-hidden="true">&laquo;</span>
++        <span class="sr-only">Previous</span>
++      </a>
++    </li>
 +    <li><a href="#">1</a></li>
 +    <li><a href="#">2</a></li>
 +    <li><a href="#">3</a></li>
 +    <li><a href="#">4</a></li>
 +    <li><a href="#">5</a></li>
-     <li class="disabled"><a href="#">&laquo;</a></li>
-     <li class="active"><a href="#">1 <span class="sr-only">(current)</span></a></li>
++    <li>
++      <a href="#">
++        <span aria-hidden="true">&raquo;</span>
++        <span class="sr-only">Next</span>
++      </a>
++    </li>
 +  </ul>
 +</nav>
 +{% endexample %}
 +
 +### Disabled and active states
 +
 +Links are customizable for different circumstances. Use `.disabled` for unclickable links and `.active` to indicate the current page.
 +
 +{% example html %}
 +<nav>
 +  <ul class="pagination">
-     <li><a href="#">&raquo;</a></li>
++    <li class="disabled">
++      <a href="#">
++        <span aria-hidden="true">&laquo;</span>
++        <span class="sr-only">Previous</span>
++      </a>
++    </li>
++    <li class="active">
++      <a href="#">1 <span class="sr-only">(current)</span></a>
++    </li>
 +    <li><a href="#">2</a></li>
 +    <li><a href="#">3</a></li>
 +    <li><a href="#">4</a></li>
 +    <li><a href="#">5</a></li>
- You can optionally swap out active or disabled anchors for `<span>` to remove click functionality while retaining intended styles.
++    <li>
++      <a href="#">
++        <span aria-hidden="true">&raquo;</span>
++        <span class="sr-only">Next</span>
++      </a>
++    </li>
 +  </ul>
 +</nav>
 +{% endexample %}
 +
-     <li class="disabled"><span>&laquo;</span></li>
++You can optionally swap out active or disabled anchors for `<span>`, or omit the anchor in the case of the previous/next arrows, to remove click functionality while retaining intended styles.
 +
 +{% highlight html %}
 +<nav>
 +  <ul class="pagination">
-     ...
++    <li class="disabled">
++      <span>
++        <span aria-hidden="true">&laquo;</span>
++        <span class="sr-only">Previous</span>
++      </span>
++    </li>
 +    <li class="active"><span>1 <span class="sr-only">(current)</span></span></li>
-     <li><a href="#">&laquo;</a></li>
 +  </ul>
 +</nav>
 +{% endhighlight %}
 +
 +
 +### Sizing
 +
 +Fancy larger or smaller pagination? Add `.pagination-lg` or `.pagination-sm` for additional sizes.
 +
 +{% example html %}
 +<nav>
 +  <ul class="pagination pagination-lg">
-     <li><a href="#">&raquo;</a></li>
++    <li>
++      <a href="#">
++        <span aria-hidden="true">&laquo;</span>
++        <span class="sr-only">Previous</span>
++      </a>
++    </li>
 +    <li><a href="#">1</a></li>
 +    <li><a href="#">2</a></li>
 +    <li><a href="#">3</a></li>
-     <li><a href="#">&laquo;</a></li>
++    <li>
++      <a href="#">
++        <span aria-hidden="true">&raquo;</span>
++        <span class="sr-only">Next</span>
++      </a>
++    </li>
 +  </ul>
 +</nav>
 +{% endexample %}
 +
 +{% example html %}
 +<nav>
 +  <ul class="pagination pagination-sm">
-     <li><a href="#">&raquo;</a></li>
++    <li>
++      <a href="#">
++        <span aria-hidden="true">&laquo;</span>
++        <span class="sr-only">Previous</span>
++      </a>
++    </li>
 +    <li><a href="#">1</a></li>
 +    <li><a href="#">2</a></li>
 +    <li><a href="#">3</a></li>
-     <li class="previous"><a href="#">&larr; Older</a></li>
-     <li class="next"><a href="#">Newer &rarr;</a></li>
++    <li>
++      <a href="#">
++        <span aria-hidden="true">&raquo;</span>
++        <span class="sr-only">Next</span>
++      </a>
++    </li>
 +  </ul>
 +</nav>
 +{% endexample %}
 +
 +## Pager
 +
 +Quick previous and next links for simple pagination implementations with light markup and styles. It's great for simple sites like blogs or magazines.
 +
 +### Default example
 +
 +By default, the pager centers links.
 +
 +{% example html %}
 +<nav>
 +  <ul class="pager">
 +    <li><a href="#">Previous</a></li>
 +    <li><a href="#">Next</a></li>
 +  </ul>
 +</nav>
 +{% endexample %}
 +
 +### Aligned links
 +
 +Alternatively, you can align each link to the sides:
 +
 +{% example html %}
 +<nav>
 +  <ul class="pager">
-     <li class="previous disabled"><a href="#">&larr; Older</a></li>
-     <li class="next"><a href="#">Newer &rarr;</a></li>
++    <li class="previous"><a href="#">Older</a></li>
++    <li class="next"><a href="#">Newer</a></li>
 +  </ul>
 +</nav>
 +{% endexample %}
 +
 +
 +### Optional disabled state
 +
 +Pager links also use the `.disabled` class.
 +
 +{% highlight html %}
 +<nav>
 +  <ul class="pager">
++    <li class="previous disabled"><a href="#">Older</a></li>
++    <li class="next"><a href="#">Newer</a></li>
 +  </ul>
 +</nav>
 +{% endhighlight %}
index 12f9cf4503f0c69cf84758840018ba5effcde827,0000000000000000000000000000000000000000..e925384b97aeeb4326e79ae4d3e8061639a4d0db
mode 100644,000000..100644
--- /dev/null
@@@ -1,592 -1,0 +1,592 @@@
-       <td>1</td>
 +---
 +layout: page
 +title: Tables
 +---
 +
 +Due to the widespread use of tables across plugins like calendars and date pickers, we've designed our tables to be **opt-in**. Just add the base class `.table` to any `<table>`.
 +
 +## Basic example
 +
 +{% example html %}
 +<table class="table">
 +  <thead>
 +    <tr>
 +      <th>#</th>
 +      <th>First Name</th>
 +      <th>Last Name</th>
 +      <th>Username</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
-       <td>2</td>
++      <th scope="rowspan">1</th>
 +      <td>Mark</td>
 +      <td>Otto</td>
 +      <td>@mdo</td>
 +    </tr>
 +    <tr>
-       <td>3</td>
++      <th scope="rowspan">2</th>
 +      <td>Jacob</td>
 +      <td>Thornton</td>
 +      <td>@fat</td>
 +    </tr>
 +    <tr>
-       <td>1</td>
++      <th scope="rowspan">3</th>
 +      <td>Larry</td>
 +      <td>the Bird</td>
 +      <td>@twitter</td>
 +    </tr>
 +  </tbody>
 +</table>
 +{% endexample %}
 +
 +## Inverse table
 +
 +{% example html %}
 +<table class="table table-inverse">
 +  <thead>
 +    <tr>
 +      <th>#</th>
 +      <th>First Name</th>
 +      <th>Last Name</th>
 +      <th>Username</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
-       <td>2</td>
++      <th scope="rowspan">1</th>
 +      <td>Mark</td>
 +      <td>Otto</td>
 +      <td>@mdo</td>
 +    </tr>
 +    <tr>
-       <td>3</td>
++      <th scope="rowspan">2</th>
 +      <td>Jacob</td>
 +      <td>Thornton</td>
 +      <td>@fat</td>
 +    </tr>
 +    <tr>
-       <td>1</td>
++      <th scope="rowspan">3</th>
 +      <td>Larry</td>
 +      <td>the Bird</td>
 +      <td>@twitter</td>
 +    </tr>
 +  </tbody>
 +</table>
 +{% endexample %}
 +
 +## Table head options
 +
 +Use one of two modifier classes to make `<thead>`s appear light or dark gray.
 +
 +{% example html %}
 +<table class="table">
 +  <thead class="thead-inverse">
 +    <tr>
 +      <th>#</th>
 +      <th>First Name</th>
 +      <th>Last Name</th>
 +      <th>Username</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
-       <td>2</td>
++      <th scope="rowspan">1</th>
 +      <td>Mark</td>
 +      <td>Otto</td>
 +      <td>@mdo</td>
 +    </tr>
 +    <tr>
-       <td>3</td>
++      <th scope="rowspan">2</th>
 +      <td>Jacob</td>
 +      <td>Thornton</td>
 +      <td>@fat</td>
 +    </tr>
 +    <tr>
-       <td>1</td>
++      <th scope="rowspan">3</th>
 +      <td>Larry</td>
 +      <td>the Bird</td>
 +      <td>@twitter</td>
 +    </tr>
 +  </tbody>
 +  <thead class="thead-default">
 +    <tr>
 +      <th>#</th>
 +      <th>First Name</th>
 +      <th>Last Name</th>
 +      <th>Username</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
-       <td>2</td>
++      <th scope="rowspan">1</th>
 +      <td>Mark</td>
 +      <td>Otto</td>
 +      <td>@mdo</td>
 +    </tr>
 +    <tr>
-       <td>3</td>
++      <th scope="rowspan">2</th>
 +      <td>Jacob</td>
 +      <td>Thornton</td>
 +      <td>@fat</td>
 +    </tr>
 +    <tr>
-       <td>1</td>
++      <th scope="rowspan">3</th>
 +      <td>Larry</td>
 +      <td>the Bird</td>
 +      <td>@twitter</td>
 +    </tr>
 +  </tbody>
 +</table>
 +{% endexample %}
 +
 +## Striped rows
 +
 +Use `.table-striped` to add zebra-striping to any table row within the `<tbody>`.
 +
 +{% example html %}
 +<table class="table table-striped">
 +  <thead>
 +    <tr>
 +      <th>#</th>
 +      <th>First Name</th>
 +      <th>Last Name</th>
 +      <th>Username</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
-       <td>2</td>
++      <th scope="rowspan">1</th>
 +      <td>Mark</td>
 +      <td>Otto</td>
 +      <td>@mdo</td>
 +    </tr>
 +    <tr>
-       <td>3</td>
++      <th scope="rowspan">2</th>
 +      <td>Jacob</td>
 +      <td>Thornton</td>
 +      <td>@fat</td>
 +    </tr>
 +    <tr>
-       <td rowspan="2">1</td>
++      <th scope="rowspan">3</th>
 +      <td>Larry</td>
 +      <td>the Bird</td>
 +      <td>@twitter</td>
 +    </tr>
 +  </tbody>
 +</table>
 +{% endexample %}
 +
 +## Bordered table
 +
 +Add `.table-bordered` for borders on all sides of the table and cells.
 +
 +{% example html %}
 +<table class="table table-bordered">
 +  <thead>
 +    <tr>
 +      <th>#</th>
 +      <th>First Name</th>
 +      <th>Last Name</th>
 +      <th>Username</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
-       <td>2</td>
++      <th scope="rowspan" rowspan="2">1</tg>
 +      <td>Mark</td>
 +      <td>Otto</td>
 +      <td>@mdo</td>
 +    </tr>
 +    <tr>
 +      <td>Mark</td>
 +      <td>Otto</td>
 +      <td>@TwBootstrap</td>
 +    </tr>
 +    <tr>
-       <td>3</td>
++      <th scope="rowspan">2</th>
 +      <td>Jacob</td>
 +      <td>Thornton</td>
 +      <td>@fat</td>
 +    </tr>
 +    <tr>
-       <td>1</td>
++      <th scope="rowspan">3</th>
 +      <td colspan="2">Larry the Bird</td>
 +      <td>@twitter</td>
 +    </tr>
 +  </tbody>
 +</table>
 +{% endexample %}
 +
 +## Hoverable rows
 +
 +Add `.table-hover` to enable a hover state on table rows within a `<tbody>`.
 +
 +{% example html %}
 +<table class="table table-hover">
 +  <thead>
 +    <tr>
 +      <th>#</th>
 +      <th>First Name</th>
 +      <th>Last Name</th>
 +      <th>Username</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
-       <td>2</td>
++      <th scope="rowspan">1</th>
 +      <td>Mark</td>
 +      <td>Otto</td>
 +      <td>@mdo</td>
 +    </tr>
 +    <tr>
-       <td>3</td>
++      <th scope="rowspan">2</th>
 +      <td>Jacob</td>
 +      <td>Thornton</td>
 +      <td>@fat</td>
 +    </tr>
 +    <tr>
-       <td>1</td>
++      <th scope="rowspan">3</th>
 +      <td colspan="2">Larry the Bird</td>
 +      <td>@twitter</td>
 +    </tr>
 +  </tbody>
 +</table>
 +{% endexample %}
 +
 +## Small table
 +
 +Add `.table-sm` to make tables more compact by cutting cell padding in half.
 +
 +{% example html %}
 +<table class="table table-sm">
 +  <thead>
 +    <tr>
 +      <th>#</th>
 +      <th>First Name</th>
 +      <th>Last Name</th>
 +      <th>Username</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
-       <td>2</td>
++      <th scope="rowspan">1</th>
 +      <td>Mark</td>
 +      <td>Otto</td>
 +      <td>@mdo</td>
 +    </tr>
 +    <tr>
-       <td>3</td>
++      <th scope="rowspan">2</th>
 +      <td>Jacob</td>
 +      <td>Thornton</td>
 +      <td>@fat</td>
 +    </tr>
 +    <tr>
-         <td>
++      <th scope="rowspan">3</th>
 +      <td colspan="2">Larry the Bird</td>
 +      <td>@twitter</td>
 +    </tr>
 +  </tbody>
 +</table>
 +{% endexample %}
 +
 +## Contextual classes
 +
 +Use contextual classes to color table rows or individual cells.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <colgroup>
 +      <col class="col-xs-1">
 +      <col class="col-xs-7">
 +    </colgroup>
 +    <thead>
 +      <tr>
 +        <th>Class</th>
 +        <th>Description</th>
 +      </tr>
 +    </thead>
 +    <tbody>
 +      <tr>
-         </td>
++        <th scope="rowspan">
 +          <code>.active</code>
-         <td>
++        </th>
 +        <td>Applies the hover color to a particular row or cell</td>
 +      </tr>
 +      <tr>
-         </td>
++        <th scope="rowspan">
 +          <code>.success</code>
-         <td>
++        </th>
 +        <td>Indicates a successful or positive action</td>
 +      </tr>
 +      <tr>
-         </td>
++        <th scope="rowspan">
 +          <code>.info</code>
-         <td>
++        </th>
 +        <td>Indicates a neutral informative change or action</td>
 +      </tr>
 +      <tr>
-         </td>
++        <th scope="rowspan">
 +          <code>.warning</code>
-         <td>
++        </th>
 +        <td>Indicates a warning that might need attention</td>
 +      </tr>
 +      <tr>
-         </td>
++        <th scope="rowspan">
 +          <code>.danger</code>
-         <td>1</td>
++        </th>
 +        <td>Indicates a dangerous or potentially negative action</td>
 +      </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +<div class="bs-example">
 +  <table class="table">
 +    <thead>
 +      <tr>
 +        <th>#</th>
 +        <th>Column heading</th>
 +        <th>Column heading</th>
 +        <th>Column heading</th>
 +      </tr>
 +    </thead>
 +    <tbody>
 +      <tr class="active">
-         <td>2</td>
++        <th scope="rowspan">1</th>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +      </tr>
 +      <tr>
-         <td>3</td>
++        <th scope="rowspan">2</th>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +      </tr>
 +      <tr class="success">
-         <td>4</td>
++        <th scope="rowspan">3</th>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +      </tr>
 +      <tr>
-         <td>5</td>
++        <th scope="rowspan">4</th>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +      </tr>
 +      <tr class="info">
-         <td>6</td>
++        <th scope="rowspan">5</th>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +      </tr>
 +      <tr>
-         <td>7</td>
++        <th scope="rowspan">6</th>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +      </tr>
 +      <tr class="warning">
-         <td>8</td>
++        <th scope="rowspan">7</th>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +      </tr>
 +      <tr>
-         <td>9</td>
++        <th scope="rowspan">8</th>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +      </tr>
 +      <tr class="danger">
-           <td>1</td>
++        <th scope="rowspan">9</th>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +        <td>Column content</td>
 +      </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +{% highlight html %}
 +<!-- On rows -->
 +<tr class="active">...</tr>
 +<tr class="success">...</tr>
 +<tr class="warning">...</tr>
 +<tr class="danger">...</tr>
 +<tr class="info">...</tr>
 +
 +<!-- On cells (`td` or `th`) -->
 +<tr>
 +  <td class="active">...</td>
 +  <td class="success">...</td>
 +  <td class="warning">...</td>
 +  <td class="danger">...</td>
 +  <td class="info">...</td>
 +</tr>
 +{% endhighlight %}
 +
 +## Responsive tables
 +
 +Create responsive tables by wrapping any `.table` in `.table-responsive` to make them scroll horizontally on small devices (under 768px). When viewing on anything larger than 768px wide, you will not see any difference in these tables.
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Firefox and fieldsets</h4>
 +  <p>Firefox has some awkward fieldset styling involving <code>width</code> that interferes with the responsive table. This cannot be overriden without a Firefox-specific hack that we <strong>don't</strong> provide in Bootstrap:</p>
 +{% highlight css %}
 +@-moz-document url-prefix() {
 +  fieldset { display: table-cell; }
 +}
 +{% endhighlight %}
 +  <p>For more information, read <a href="http://stackoverflow.com/questions/17408815/fieldset-resizes-wrong-appears-to-have-unremovable-min-width-min-content/17863685#17863685">this Stack Overflow answer</a>.</p>
 +</div>
 +
 +<div class="bs-example">
 +  <div class="table-responsive">
 +    <table class="table">
 +      <thead>
 +        <tr>
 +          <th>#</th>
 +          <th>Table heading</th>
 +          <th>Table heading</th>
 +          <th>Table heading</th>
 +          <th>Table heading</th>
 +          <th>Table heading</th>
 +          <th>Table heading</th>
 +        </tr>
 +      </thead>
 +      <tbody>
 +        <tr>
-           <td>2</td>
++          <th scope="rowspan">1</th>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +        </tr>
 +        <tr>
-           <td>3</td>
++          <th scope="rowspan">2</th>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +        </tr>
 +        <tr>
-           <td>1</td>
++          <th scope="rowspan">3</th>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +        </tr>
 +      </tbody>
 +    </table>
 +  </div>
 +
 +  <div class="table-responsive">
 +    <table class="table table-bordered">
 +      <thead>
 +        <tr>
 +          <th>#</th>
 +          <th>Table heading</th>
 +          <th>Table heading</th>
 +          <th>Table heading</th>
 +          <th>Table heading</th>
 +          <th>Table heading</th>
 +          <th>Table heading</th>
 +        </tr>
 +      </thead>
 +      <tbody>
 +        <tr>
-           <td>2</td>
++          <th scope="rowspan">1</th>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +        </tr>
 +        <tr>
-           <td>3</td>
++          <th scope="rowspan">2</th>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +        </tr>
 +        <tr>
-       <td>1</td>
++          <th scope="rowspan">3</th>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +          <td>Table cell</td>
 +        </tr>
 +      </tbody>
 +    </table>
 +  </div>
 +</div>
 +
 +{% highlight html %}
 +<div class="table-responsive">
 +  <table class="table">
 +    ...
 +  </table>
 +</div>
 +{% endhighlight %}
 +
 +
 +### Reflow
 +
 +{% example html %}
 +<table class="table table-reflow">
 +  <thead>
 +    <tr>
 +      <th>#</th>
 +      <th>Table heading</th>
 +      <th>Table heading</th>
 +      <th>Table heading</th>
 +      <th>Table heading</th>
 +      <th>Table heading</th>
 +      <th>Table heading</th>
 +    </tr>
 +  </thead>
 +  <tbody>
 +    <tr>
-       <td>2</td>
++      <th scope="rowspan">1</th>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +    </tr>
 +    <tr>
-       <td>3</td>
++      <th scope="rowspan">2</th>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +    </tr>
 +    <tr>
++      <th scope="rowspan">3</th>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +      <td>Table cell</td>
 +    </tr>
 +  </tbody>
 +</table>
 +{% endexample %}
index 3aa18fb2ba202a6d777abe40d64a193c01f1abc0,7ba9eb8e03d6476a5ea70541f769695bb4f3ce84..6507695ff8b18eb78ab63ae5f65f849b55df6e44
@@@ -35,9 -35,9 +35,9 @@@ lead: Customize Bootstrap's components
    </div>
  </div><!-- /import -->
  
- <form class="bs-customizer" role="form">
+ <form class="bs-customizer">
    <div class="bs-docs-section" id="less-section">
 -    <button class="btn btn-default toggle" type="button">Toggle all</button>
 +    <button class="btn btn-secondary toggle" type="button">Toggle all</button>
      <h1 id="less" class="page-header">Less files</h1>
  
      <p class="lead">Choose which Less files to compile into your custom build of Bootstrap. Not sure which files to use? Read through the <a href="../css/">CSS</a> and <a href="../components/">Components</a> pages in the docs.</p>
index 5668bab8ba6c51dc423d29240e98012485958312,2c8d1178494e6a218af8d046746b0d9140dbe0be..f7d119d0611c720e9b2cc231ee7b4803d66e6d67
@@@ -42,7 -49,7 +42,7 @@@
                  <li><a href="#about">About</a></li>
                  <li><a href="#contact">Contact</a></li>
                  <li class="dropdown">
-                   <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
 -                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span></a>
++                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown</a>
                    <ul class="dropdown-menu" role="menu">
                      <li><a href="#">Action</a></li>
                      <li><a href="#">Another action</a></li>
Simple merge
Simple merge
Simple merge
index 81de02d715b222de6dff171aeae0657c4ea09e65,5db233d7416c54ead0109253ff55c6ecfc43724e..a74b62790404005c1ccf651edfca25091dbf66f4
              <div class="col-xs-6 col-lg-4">
                <h2>Heading</h2>
                <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
 -              <p><a class="btn btn-default" href="#" role="button">View details &raquo;</a></p>
 -            </div><!--/.col-xs-6.col-lg-4-->
 +              <p><a class="btn btn-secondary" href="#" role="button">View details &raquo;</a></p>
 +            </div><!--/span-->
            </div><!--/row-->
 -        </div><!--/.col-xs-12.col-sm-9-->
 +        </div><!--/span-->
  
-         <div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar" role="navigation">
+         <div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar">
            <div class="list-group">
              <a href="#" class="list-group-item active">Link</a>
              <a href="#" class="list-group-item">Link</a>
Simple merge
index b7fd75d3d07fdf5b4ab7ffca5f451ffebdcfeea2,a6a728b8f21c853941503a8af8f05e4c27912c6e..f1d5090df8a8f2f8271c1a7f134a6f4b526f13a6
@@@ -40,7 -47,7 +40,7 @@@
              <li><a href="#about">About</a></li>
              <li><a href="#contact">Contact</a></li>
              <li class="dropdown">
-               <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>
 -              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span></a>
++              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown</a>
                <ul class="dropdown-menu" role="menu">
                  <li><a href="#">Action</a></li>
                  <li><a href="#">Another action</a></li>
index d14d1360d985002bef1a64ff631645926d7e80e9,0000000000000000000000000000000000000000..d6270c38147177188af6d7176930194855b2908b
mode 100644,000000..100644
--- /dev/null
@@@ -1,14 -1,0 +1,14 @@@
- - Chat with fellow Bootstrappers using IRC in the `irc.freenode.net` server, in the [##twitter-bootstrap channel](irc://irc.freenode.net/#twitter-bootstrap).
 +---
 +layout: page
 +title: Community
 +---
 +
 +Stay up to date on the development of Bootstrap and reach out to the community with these helpful resources.
 +
 +- Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com/).
++- Chat with fellow Bootstrappers using IRC in the `irc.freenode.net` server, in the [##twitter-bootstrap channel](irc://irc.freenode.net/%23twitter-bootstrap).
 +- For help using Bootstrap, ask on [StackOverflow using the tag `twitter-bootstrap-3`](http://stackoverflow.com/questions/tagged/twitter-bootstrap-3).
 +- Find inspiring examples of people building with Bootstrap at the [Bootstrap Expo](http://expo.getbootstrap.com).
 +
 +You can also follow [@twbootstrap on Twitter](https://twitter.com/twbootstrap) for the latest gossip and awesome music videos.
 +
index 6e267470f6084cfbe0c8cd0bbed5205cc34b3434,0000000000000000000000000000000000000000..450b247513b11712af419dcce27e6c7b71fda550
mode 100644,000000..100644
--- /dev/null
@@@ -1,46 -1,0 +1,47 @@@
- This is the most basic form of Bootstrap: precompiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (1bootstrap.min.*1).
 +---
 +layout: page
 +title: Contents
 +---
 +
 +Bootstrap is downloadable in two forms, within which you'll find the following directories and files, logically grouping common resources and providing both compiled and minified variations.
 +
 +<div class="bs-callout bs-callout-warning" id="jquery-required">
 +  <h4>jQuery required</h4>
 +  <p>Please note that <strong>all JavaScript plugins require jQuery</strong> to be included, as shown in the <a href="#template">starter template</a>. <a href="{{ site.repo }}/blob/v{{ site.current_version }}/bower.json">Consult our <code>bower.json</code></a> to see which versions of jQuery are supported.</p>
 +</div>
 +
 +### Precompiled Bootstrap
 +
 +Once downloaded, unzip the compressed folder to see the structure of (the compiled) Bootstrap. You'll see something like this:
 +
 +<!-- NOTE: This info is intentionally duplicated in the README. Copy any changes made here over to the README too. -->
 +
 +{% highlight bash %}
 +bootstrap/
 +├── css/
 +│   â”œâ”€â”€ bootstrap.css
++│   â”œâ”€â”€ bootstrap.css.map
 +│   â”œâ”€â”€ bootstrap.min.css
 +└── js/
 +    â”œâ”€â”€ bootstrap.js
 +    â””── bootstrap.min.js
 +{% endhighlight %}
 +
++This is the most basic form of Bootstrap: precompiled files for quick drop-in usage in nearly any web project. We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developers.google.com/chrome-developer-tools/docs/css-preprocessors) (`bootstrap.*.map`) are available for use with certain browsers' developer tools.
 +
 +### Bootstrap source code
 +
 +The Bootstrap source code download includes the precompiled CSS and JavaScript assets, along with source Less, JavaScript, and documentation. More specifically, it includes the following and more:
 +
 +{% highlight bash %}
 +bootstrap/
 +├── dist/
 +│   â”œâ”€â”€ css/
 +│   â””── js/
 +├── docs/
 +│   â””── examples/
 +├── js/
 +└── less/
 +{% endhighlight %}
 +
 +The `less/` and `js/` are the source code for our CSS and JavaScript. The `dist/` folder includes everything listed in the precompiled download section above. The `docs/` folder includes the source code for our documentation, and `examples/` of Bootstrap usage. Beyond that, any other included file provides support for packages, license information, and development.
index 39b2381ce590949ea4c57b2d8a204efe0e69bdc3,0000000000000000000000000000000000000000..cdcb770ba538e2d7f470b9657d812af70e6e7a0d
mode 100644,000000..100644
--- /dev/null
@@@ -1,30 -1,0 +1,30 @@@
- Install and manage Bootstrap's Less, CSS, and JavaScript using [Bower](http://bower.io).
 +---
 +layout: page
 +title: Download
 +---
 +
 +Bootstrap is available for download via ZIP file in two flavors: precompiled CSS and Javascript, and the complete source code with documentation.
 +
 +### Precompiled
 +
 +Compiled and minified CSS and JavaScript. No docs or original source files are included.
 +
 +<a href="{{ site.download.dist }}" class="btn btn-lg btn-outline" role="button" onclick="ga('send', 'event', 'Getting started', 'Download', 'Download compiled');">Download Bootstrap</a>
 +
 +### Download source and docs
 +
 +Source Less, JavaScript, and documentation. **Requires a Less compiler and [some setup](#grunt).**
 +
 +<a href="{{ site.download.source }}" class="btn btn-lg btn-outline" role="button" onclick="ga('send', 'event', 'Getting started', 'Download', 'Download source');">Download source</a>
 +
 +### Bower
 +
++You can also install and manage Bootstrap's Less, CSS, and JavaScript using [Bower](http://bower.io).
 +
 +{% highlight bash %}$ bower install bootstrap{% endhighlight %}
 +
 +### npm
 +
 +Bootstrap is available as [an npm package](https://www.npmjs.org/package/bootstrap). Install it into your Node powered apps with:
 +
 +{% highlight bash %}$ npm install bootstrap{% endhighlight %}
index 0fd1b39825a2ae4cbd626935b7cfd17f405bb988,0000000000000000000000000000000000000000..7fff752f93fcc0c27e67b8b3455410d232c6df85
mode 100644,000000..100644
--- /dev/null
@@@ -1,231 -1,0 +1,229 @@@
-         <th>Android</th>
 +---
 +layout: page
 +title: Browser and device support
 +---
 +
 +Bootstrap is built to work best in the latest desktop and mobile browsers, meaning older browsers might display differently styled, though fully functional, renderings of certain components.
 +
 +### Supported browsers
 +
 +Bootstrap supports the **latest, stable releases** of all major browsers and platforms. On Windows, **we support Internet Explorer 9-11**. More specific support information is provided below.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +      <tr>
 +        <td></td>
 +        <th>Chrome</th>
 +        <th>Firefox</th>
 +        <th>Internet Explorer</th>
 +        <th>Opera</th>
 +        <th>Safari</th>
 +      </tr>
 +    </thead>
 +    <tbody>
 +      <tr>
-         <th>iOS</th>
++        <th scope="row">Android</th>
 +        <td class="text-success">Supported</td>
 +        <td class="text-success">Supported</td>
 +        <td class="text-muted" rowspan="3" style="vertical-align: middle;">N/A</td>
 +        <td class="text-danger">Not supported</td>
 +        <td class="text-muted">N/A</td>
 +      </tr>
 +      <tr>
-         <th>Mac OS X</th>
++        <th scope="row">iOS</th>
 +        <td class="text-success">Supported</td>
 +        <td class="text-muted">N/A</td>
 +        <td class="text-danger">Not supported</td>
 +        <td class="text-success">Supported</td>
 +      </tr>
 +      <tr>
-         <th>Windows</th>
++        <th scope="row">Mac OS X</th>
 +        <td class="text-success">Supported</td>
 +        <td class="text-success">Supported</td>
 +        <td class="text-success">Supported</td>
 +        <td class="text-success">Supported</td>
 +      </tr>
 +      <tr>
- We'll keep an eye on this though and update our code if we have an easy solution.
++        <th scope="row">Windows</th>
 +        <td class="text-success">Supported</td>
 +        <td class="text-success">Supported</td>
 +        <td class="text-success">Supported</td>
 +        <td class="text-success">Supported</td>
 +        <td class="text-danger">Not supported</td>
 +      </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +Unofficially, Bootstrap should look and behave well enough in Chromium and Chrome for Linux, Firefox for Linux, and Internet Explorer 7, though they are not officially supported.
 +
 +For a list of some of the browser bugs that Bootstrap has to grapple with, see our [Wall of browser bugs](../browser-bugs/).
 +
 +### Internet Explorer 9
 +
 +Internet Explorer 9 is also supported, however, please be aware that some CSS3 properties and HTML5 elements are not fully supported.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +      <tr>
 +        <th scope="col">Feature</th>
 +        <th scope="col">Status</th>
 +      </tr>
 +    </thead>
 +    <tbody>
 +      <tr>
 +        <th scope="row"><code>border-radius</code></th>
 +        <td class="text-success">Supported</td>
 +      </tr>
 +      <tr>
 +        <th scope="row"><code>box-shadow</code></th>
 +        <td class="text-success">Supported</td>
 +      </tr>
 +      <tr>
 +        <th scope="row"><code>transform</code></th>
 +        <td class="text-success">Supported, with <code>-ms</code> prefix</td>
 +      </tr>
 +      <tr>
 +        <th scope="row"><code>transition</code></th>
 +        <td class="text-danger">Not supported</td>
 +      </tr>
 +      <tr>
 +        <th scope="row"><code>placeholder</code></th>
 +        <td class="text-danger">Not supported</td>
 +      </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +Visit [Can I use...](http://caniuse.com/) for details on browser support of CSS3 and HTML5 features.
 +
 +### Supporting Internet Explorer 8
 +
 +As of v4, Bootstrap no longer supports IE8. **If you require IE8 support, we recommend you use Bootstrap 3.** It's still supported by our team for bugfixes and documentation changes, but no new features will be added to it.
 +
 +Alternatively, you can add the some third party JavaScript to backfill support for the browser. You'll need the following:
 +
 +* [The HTML5 shiv](http://en.wikipedia.org/wiki/HTML5_Shiv)
 +* [Respond.js](https://github.com/scottjehl/Respond)
 +* [Rem unit polyfill](https://github.com/chuckcarpenter/REM-unit-polyfill)
 +
 +### IE Compatibility modes
 +
 +Bootstrap is not supported in the old Internet Explorer compatibility modes. To be sure you're using the latest rendering mode for IE, consider including the appropriate `<meta>` tag in your pages:
 +
 +{% highlight html %}
 +<meta http-equiv="X-UA-Compatible" content="IE=edge">
 +{% endhighlight %}
 +
 +Confirm the document mode by opening the debugging tools: press <kbd>F12</kbd> and check the "Document Mode".
 +
 +This tag is included in all of Bootstrap's documentation and examples to ensure the best rendering possible in each supported version of Internet Explorer.
 +
 +See [this StackOverflow question](http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge) for more information.
 +
 +### Internet Explorer 10 in Windows 8 and Windows Phone 8
 +
 +Internet Explorer 10 doesn't differentiate **device width** from **viewport width**, and thus doesn't properly apply the media queries in Bootstrap's CSS. Normally you'd just add a quick snippet of CSS to fix this:
 +
 +{% highlight scss %}
 +@-ms-viewport { width: device-width; }
 +{% endhighlight %}
 +
 +However, this doesn't work for devices running Windows Phone 8 versions older than [Update 3 (a.k.a. GDR3)](http://blogs.windows.com/windows_phone/b/wpdev/archive/2013/10/14/introducing-windows-phone-preview-for-developers.aspx), as it causes such devices to show a mostly desktop view instead of narrow "phone" view. To address this, you'll need to **include the following CSS and JavaScript to work around the bug**.
 +
 +{% highlight scss %}
 +@-webkit-viewport   { width: device-width; }
 +@-moz-viewport      { width: device-width; }
 +@-ms-viewport       { width: device-width; }
 +@-o-viewport        { width: device-width; }
 +@viewport           { width: device-width; }
 +{% endhighlight %}
 +
 +{% highlight js %}
 +if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
 +  var msViewportStyle = document.createElement('style')
 +  msViewportStyle.appendChild(
 +    document.createTextNode(
 +      '@-ms-viewport{width:auto!important}'
 +    )
 +  )
 +  document.querySelector('head').appendChild(msViewportStyle)
 +}
 +{% endhighlight %}
 +
 +For more information and usage guidelines, read [Windows Phone 8 and Device-Width](http://timkadlec.com/2013/01/windows-phone-8-and-device-width/).
 +
 +As a heads up, we include this in all of Bootstrap's documentation and examples as a demonstration.
 +
 +### Safari percent rounding
 +
 +The rendering engine of versions of Safari prior to v7.1 for OS X and Safari for iOS v8.0 had some trouble with the number of decimal places used in our `.col-*-1` grid classes. So if you had 12 individual grid columns, you'd notice that they came up short compared to other rows of columns. Besides upgrading Safari/iOS, you have some options for workarounds:
 +
 +- Add `.pull-right` to your last grid column to get the hard-right alignment
 +- Tweak your percentages manually to get the perfect rounding for Safari (more difficult than the first option)
 +
- The `.dropdown-backdrop` element isn't used on iOS in the nav because of the complexity of z-indexing. Thus, to close dropdowns in navbars, you must directly click the dropdown element (or any other element which will fire a click event in iOS).
 +### Modals, navbars, and virtual keyboards
 +
 +#### Overflow and scrolling
 +
 +Support for `overflow: hidden;` on the `<body>` element is quite limited in iOS and Android. To that end, when you scroll past the top or bottom of a modal in either of those devices' browsers, the `<body>` content will begin to scroll.
 +
 +#### Virtual keyboards
 +
 +Also, note that if you're using a fixed navbar or using inputs within a modal, iOS has a rendering bug that doesn't update the position of fixed elements when the virtual keyboard is triggered. A few workarounds for this include transforming your elements to `position: absolute;` or invoking a timer on focus to try to correct the positioning manually. This is not handled by Bootstrap, so it is up to you to decide which solution is best for your application.
 +
 +#### Navbar Dropdowns
 +
- Our HTML docs likewise have some trivial and inconsequential HTML validation warnings due to our inclusion of [X-UA-Compatible `<meta>` tags](#ie-compatibility-modes) to avoid Internet Explorer issues and our inclusion of a workaround for [a certain Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=654072).
++The `.dropdown-backdrop` element isn't used on iOS in the nav because of the complexity of z-indexing. Thus, to close dropdowns in navbars, you must directly click the dropdown element (or [any other element which will fire a click event in iOS](https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile)).
 +
 +### Browser zooming
 +
 +Page zooming inevitably presents rendering artifacts in some components, both in Bootstrap and the rest of the web. Depending on the issue, we may be able to fix it (search first and then open an issue if need be). However, we tend to ignore these as they often have no direct solution other than hacky workarounds.
 +
 +### Printing
 +
 +Even in some modern browsers, printing can be quirky.
 +
 +In particular, as of Chrome v32 and regardless of margin settings, Chrome uses a viewport width significantly narrower than the physical paper size when resolving media queries while printing a webpage. This can result in Bootstrap's extra-small grid being unexpectedly activated when printing. [See #12078 for some details.](https://github.com/twbs/bootstrap/issues/12078) Suggested workarounds:
 +
 +Also, as of Safari v8.0, fixed-width <code>.container</code>s can cause Safari to use an unusually small font size when printing. See <a href="https://github.com/twbs/bootstrap/issues/14868">#14868</a> for more details. One potential workaround for this is adding the following CSS:</p>
 +
 +{% highlight css %}
 +@media print {
 +  .container {
 +    width: auto;
 +  }
 +}
 +{% endhighlight %}
 +
 +### Android stock browser
 +
 +Out of the box, Android 4.1 (and even some newer releases apparently) ship with the Browser app as the default web browser of choice (as opposed to Chrome). Unfortunately, the Browser app has lots of bugs and inconsistencies with CSS in general.
 +
 +#### Select menu
 +
 +On `<select>` elements, the Android stock browser will not display the side controls if there is a `border-radius` and/or `border` applied. (See [this StackOverflow question](http://stackoverflow.com/questions/14744437/html-select-box-not-showing-drop-down-arrow-on-android-version-4-0-when-set-with) for details.) Use the snippet of code below to remove the offending CSS and render the `<select>` as an unstyled element on the Android stock browser. The user agent sniffing avoids interference with Chrome, Safari, and Mozilla browsers.
 +
 +{% highlight html %}
 +<script>
 +$(function () {
 +  var nua = navigator.userAgent
 +  var isAndroid = (nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1 && nua.indexOf('Chrome') === -1)
 +  if (isAndroid) {
 +    $('select.form-control').removeClass('form-control').css('width', '100%')
 +  }
 +})
 +</script>
 +{% endhighlight %}
 +
 +Want to see an example? [Check out this JS Bin demo.](http://jsbin.com/OyaqoDO/2)
 +
 +### Validators
 +
 +In order to provide the best possible experience to old and buggy browsers, Bootstrap uses [CSS browser hacks](http://browserhacks.com) in several places to target special CSS to certain browser versions in order to work around bugs in the browsers themselves. These hacks understandably cause CSS validators to complain that they are invalid. In a couple places, we also use bleeding-edge CSS features that aren't yet fully standardized, but these are used purely for progressive enhancement.
 +
 +These validation warnings don't matter in practice since the non-hacky portion of our CSS does fully validate and the hacky portions don't interfere with the proper functioning of the non-hacky portion, hence why we deliberately ignore these particular warnings.
 +
++Our HTML docs likewise have some trivial and inconsequential HTML validation warnings due to our inclusion of a workaround for [a certain Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=654072).
index 4ab4abb80d15f3cf99ead106c1441ccbcf873292,0000000000000000000000000000000000000000..bbe2eeab426eab6b700582a4bfdc8c28759779ca
mode 100644,000000..100644
--- /dev/null
@@@ -1,94 -1,0 +1,96 @@@
 +---
 +layout: page
 +title: Alerts
 +---
 +
 +Add dismiss functionality to all alert messages with this plugin.
 +
 +## Examples
 +
 +{% example html %}
 +<div class="alert alert-warning alert-dismissible fade in" role="alert">
 +  <button type="button" class="close" data-dismiss="alert">
 +    <span aria-hidden="true">&times;</span>
 +    <span class="sr-only">Close</span>
 +  </button>
 +  <strong>Holy guacamole!</strong> Best check yo self, you're not looking too good.
 +</div>
 +{% endexample %}
 +
++When using a `.close` button, it must be the first child of the `.alert-dismissible` and no text content may come before it in the markup.
++
 +{% example html %}
 +<div class="alert alert-danger alert-dismissible fade in" role="alert">
 +  <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
 +  <h4>Oh snap! You got an error!</h4>
 +  <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
 +  <p>
 +    <button type="button" class="btn btn-danger">Take this action</button>
 +    <button type="button" class="btn btn-secondary">Or do this</button>
 +  </p>
 +</div>
 +{% endexample %}
 +
 +## Usage
 +
 +Enable dismissal of an alert via JavaScript:
 +
 +{% highlight js %}
 +$(".alert").alert()
 +{% endhighlight %}
 +
 +### Markup
 +
 +Just add `data-dismiss="alert"` to your close button to automatically give an alert close functionality. Closing an alert removes it from the DOM.
 +
 +{% highlight html %}
 +<button type="button" class="close" data-dismiss="alert">
 +  <span aria-hidden="true">&times;</span>
 +  <span class="sr-only">Close</span>
 +</button>
 +{% endhighlight %}
 +
 +To have your alerts use animation when closing, make sure they have the `.fade` and `.in` classes already applied to them.
 +
 +### Methods
 +
 +#### $().alert()
 +
 +Makes an alert listen for click events on descendant elements which have the `data-dismiss="alert"` attribute. (Not necessary when using the data-api's auto-initialization.)
 +
 +#### $().alert('close')
 +
 +Closes an alert by removing it from the DOM. If the `.fade` and `.in` classes are present on the element, the alert will fade out before it is removed.
 +
 +{% highlight js %}$(".alert").alert('close'){% endhighlight %}
 +
 +### Events
 +
 +Bootstrap's alert plugin exposes a few events for hooking into alert functionality.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +      <tr>
 +        <th style="width: 150px;">Event Type</th>
 +        <th>Description</th>
 +      </tr>
 +    </thead>
 +    <tbody>
 +      <tr>
 +        <td>close.bs.alert</td>
 +        <td>This event fires immediately when the <code>close</code> instance method is called.</td>
 +      </tr>
 +      <tr>
 +        <td>closed.bs.alert</td>
 +        <td>This event is fired when the alert has been closed (will wait for CSS transitions to complete).</td>
 +      </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +{% highlight js %}
 +$('#myAlert').on('closed.bs.alert', function () {
 +  // do something…
 +})
 +{% endhighlight %}
index 2b4386ebaaf7cd66834a67b5126fd523af59b8ad,0000000000000000000000000000000000000000..ee96f5924b1b8a9e6fd1767304b95dda329932e9
mode 100644,000000..100644
--- /dev/null
@@@ -1,232 -1,0 +1,237 @@@
-     <span class="glyphicon glyphicon-chevron-left"></span>
 +---
 +layout: page
 +title: Carousel
 +---
 +
 +A slideshow component for cycling through elements—images or slides of text—like a carousel. **Nested carousels are not supported.**
 +
 +## Example
 +
 +{% example html %}
 +<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
 +  <ol class="carousel-indicators">
 +    <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
 +    <li data-target="#carousel-example-generic" data-slide-to="1"></li>
 +    <li data-target="#carousel-example-generic" data-slide-to="2"></li>
 +  </ol>
 +  <div class="carousel-inner" role="listbox">
 +    <div class="item active">
 +      <img data-src="holder.js/900x500/auto/#777:#555/text:First slide" alt="First slide">
 +    </div>
 +    <div class="item">
 +      <img data-src="holder.js/900x500/auto/#666:#444/text:Second slide" alt="Second slide">
 +    </div>
 +    <div class="item">
 +      <img data-src="holder.js/900x500/auto/#555:#333/text:Third slide" alt="Third slide">
 +    </div>
 +  </div>
 +  <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
-     <span class="glyphicon glyphicon-chevron-right"></span>
++    <span class="icon-prev" aria-hidden="true"></span>
 +    <span class="sr-only">Previous</span>
 +  </a>
 +  <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
-       <span class="glyphicon glyphicon-chevron-left"></span>
++    <span class="icon-next" aria-hidden="true"></span>
 +    <span class="sr-only">Next</span>
 +  </a>
 +</div>
 +{% endexample %}
 +
 +<div class="bs-callout bs-callout-warning" id="callout-carousel-transitions">
 +  <h4>Transition animations not supported in Internet Explorer 8 &amp; 9</h4>
 +  <p>Bootstrap exclusively uses CSS3 for its animations, but Internet Explorer 8 &amp; 9 don't support the necessary CSS properties. Thus, there are no slide transition animations when using these browsers. We have intentionally decided not to include jQuery-based fallbacks for the transitions.</p>
 +</div>
 +
++<div class="bs-callout bs-callout-warning" id="callout-carousel-active">
++  <h4>Initial active element required</h4>
++  <p>The <code>.active</code> class needs to be added to one of the slides. Otherwise, the carousel will not be visible.</p>
++</div>
++
 +### Optional captions
 +
 +Add captions to your slides easily with the `.carousel-caption` element within any `.item`. Place just about any optional HTML within there and it will be automatically aligned and formatted.
 +
 +<div class="bs-example">
 +  <div id="carousel-example-captions" class="carousel slide" data-ride="carousel">
 +    <ol class="carousel-indicators">
 +      <li data-target="#carousel-example-captions" data-slide-to="0" class="active"></li>
 +      <li data-target="#carousel-example-captions" data-slide-to="1"></li>
 +      <li data-target="#carousel-example-captions" data-slide-to="2"></li>
 +    </ol>
 +    <div class="carousel-inner" role="listbox">
 +      <div class="item active">
 +        <img data-src="holder.js/900x500/auto/#777:#777" alt="First slide image">
 +        <div class="carousel-caption">
 +          <h3>First slide label</h3>
 +          <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
 +        </div>
 +      </div>
 +      <div class="item">
 +        <img data-src="holder.js/900x500/auto/#666:#666" alt="Second slide image">
 +        <div class="carousel-caption">
 +          <h3>Second slide label</h3>
 +          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
 +        </div>
 +      </div>
 +      <div class="item">
 +        <img data-src="holder.js/900x500/auto/#555:#5555" alt="Third slide image">
 +        <div class="carousel-caption">
 +          <h3>Third slide label</h3>
 +          <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
 +        </div>
 +      </div>
 +    </div>
 +    <a class="left carousel-control" href="#carousel-example-captions" role="button" data-slide="prev">
-       <span class="glyphicon glyphicon-chevron-right"></span>
++      <span class="icon-prev" aria-hidden="true"></span>
 +      <span class="sr-only">Previous</span>
 +    </a>
 +    <a class="right carousel-control" href="#carousel-example-captions" role="button" data-slide="next">
++      <span class="icon-next" aria-hidden="true"></span>
 +      <span class="sr-only">Next</span>
 +    </a>
 +  </div>
 +</div>
 +
 +{% highlight html %}
 +<div class="item">
 +  <img src="..." alt="...">
 +  <div class="carousel-caption">
 +    <h3>...</h3>
 +    <p>...</p>
 +  </div>
 +</div>
 +{% endhighlight %}
 +
 +<div class="bs-callout bs-callout-danger">
 +  <h4>Accessibility issue</h4>
 +  <p>The carousel component is generally not compliant with accessibility standards. If you need to be compliant, please consider other options for presenting your content.</p>
 +</div>
 +
 +## Usage
 +
 +### Multiple carousels</h3>
 +
 +Carousels require the use of an `id` on the outermost container (the `.carousel`) for carousel controls to function properly. When adding multiple carousels, or when changing a carousel's `id`, be sure to update the relevant controls.
 +
 +### Via data attributes
 +
 +Use data attributes to easily control the position of the carousel. `data-slide` accepts the keywords `prev` or `next`, which alters the slide position relative to its current position. Alternatively, use `data-slide-to` to pass a raw slide index to the carousel `data-slide-to="2"`, which shifts the slide position to a particular index beginning with `0`.
 +
 +The `data-ride="carousel"` attribute is used to mark a carousel as animating starting at page load. **It cannot be used in combination with (redundant and unnecessary) explicit JavaScript initialization of the same carousel.**
 +
 +### Via JavaScript
 +
 +Call carousel manually with:
 +
 +{% highlight js %}
 +$('.carousel').carousel()
 +{% endhighlight %}
 +
 +### Options
 +
 +Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-interval=""`.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +     <tr>
 +       <th style="width: 100px;">Name</th>
 +       <th style="width: 50px;">type</th>
 +       <th style="width: 50px;">default</th>
 +       <th>description</th>
 +     </tr>
 +    </thead>
 +    <tbody>
 +     <tr>
 +       <td>interval</td>
 +       <td>number</td>
 +       <td>5000</td>
 +       <td>The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.</td>
 +     </tr>
 +     <tr>
 +       <td>pause</td>
 +       <td>string</td>
 +       <td>"hover"</td>
 +       <td>Pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave.</td>
 +     </tr>
 +     <tr>
 +       <td>wrap</td>
 +       <td>boolean</td>
 +       <td>true</td>
 +       <td>Whether the carousel should cycle continuously or have hard stops.</td>
 +     </tr>
 +     <tr>
 +       <td>keyboard</td>
 +       <td>boolean</td>
 +       <td>true</td>
 +       <td>Whether the carousel should react to keyboard events.</td>
 +     </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +### Methods
 +
 +#### .carousel(options)
 +
 +Initializes the carousel with an optional options `object` and starts cycling through items.
 +
 +{% highlight js %}
 +$('.carousel').carousel({
 +  interval: 2000
 +})
 +{% endhighlight %}
 +
 +#### .carousel('cycle')
 +
 +Cycles through the carousel items from left to right.
 +
 +#### .carousel('pause')
 +
 +Stops the carousel from cycling through items.
 +
 +#### .carousel(number)
 +
 +Cycles the carousel to a particular frame (0 based, similar to an array).
 +
 +#### .carousel('prev')
 +
 +Cycles to the previous item.
 +
 +#### .carousel('next')
 +
 +Cycles to the next item.
 +
 +### Events
 +
 +Bootstrap's carousel class exposes two events for hooking into carousel functionality. Both events have the following additional properties:
 +
 +- `direction`: The direction in which the carousel is sliding (either `"left"` or `"right"`).
 +- `relatedTarget`: The DOM element that is being slid into place as the active item.
 +
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +     <tr>
 +       <th style="width: 150px;">Event Type</th>
 +       <th>Description</th>
 +     </tr>
 +    </thead>
 +    <tbody>
 +     <tr>
 +       <td>slide.bs.carousel</td>
 +       <td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
 +     </tr>
 +     <tr>
 +       <td>slid.bs.carousel</td>
 +       <td>This event is fired when the carousel has completed its slide transition.</td>
 +     </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +{% highlight js %}
 +$('#myCarousel').on('slide.bs.carousel', function () {
 +  // do something…
 +})
 +{% endhighlight %}
index cf764b0178f57fa362370cee52c70bbc2f17ad91,0000000000000000000000000000000000000000..3a25b6b947f08266d26799d91b7c6fa5b3739992
mode 100644,000000..100644
--- /dev/null
@@@ -1,199 -1,0 +1,225 @@@
- Get base styles and flexible support for collapsible components like accordions and navigation.
 +---
 +layout: page
 +title: Collapse
 +---
 +
- ## Example accordion
++Flexible plugin that utilizes a handful of classes for easy toggle behavior.
 +
 +<div class="bs-callout bs-callout-danger">
 +  <h4>Plugin dependency</h4>
 +  <p>Collapse requires the <a href="#transitions">transitions plugin</a> to be included in your version of Bootstrap.</p>
 +</div>
 +
- Using the collapse plugin, we built a simple accordion by extending the panel component.
++## Example
 +
++Click the buttons below to show and hide another element via class changes:
++
++- `.collapse` hides content
++- `.collapsing` is applied during transitions
++- `.collapse.in` shows content
++
++You can use a link with the `href` attribute, or a button with the `data-target` attribute. In both cases, the `data-toggle="collapse"` is required.
++
++{% example html %}
++  <p>
++    <a class="btn btn-primary" data-toggle="collapse" href="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
++      Link with href
++    </a>
++    <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
++      Button with data-target
++    </button>
++  </p>
++  <div class="collapse" id="collapseExample">
++    <div class="well">
++      Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
++    </div>
++  </div>
++{% endexample %}
++
++## Accoridion example
++
++Extend the default collapse behavior to create an accordion with the panel component.
 +
 +{% example html %}
 +<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
 +  <div class="panel panel-default">
 +    <div class="panel-heading" role="tab" id="headingOne">
 +      <h4 class="panel-title">
 +        <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
 +          Collapsible Group Item #1
 +        </a>
 +      </h4>
 +    </div>
 +    <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
 +      <div class="panel-body">
 +        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
 +      </div>
 +    </div>
 +  </div>
 +  <div class="panel panel-default">
 +    <div class="panel-heading" role="tab" id="headingTwo">
 +      <h4 class="panel-title">
 +        <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
 +          Collapsible Group Item #2
 +        </a>
 +      </h4>
 +    </div>
 +    <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
 +      <div class="panel-body">
 +        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
 +      </div>
 +    </div>
 +  </div>
 +  <div class="panel panel-default">
 +    <div class="panel-heading" role="tab" id="headingThree">
 +      <h4 class="panel-title">
 +        <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
 +          Collapsible Group Item #3
 +        </a>
 +      </h4>
 +    </div>
 +    <div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
 +      <div class="panel-body">
 +        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
 +      </div>
 +    </div>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +You can also use the plugin without the accordion markup. Make a button toggle the expanding and collapsing of another element.
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Make expand/collapse controls accessible</h4>
 +  <p>Be sure to add <code>aria-expanded</code> to the control element. This attribute explicitly defines the current state of the collapsible element to screen readers and similar assistive technologies. If the collapsible element is closed by default, it should have a value of <code>aria-expanded="false"</code>. If you've set the collapsible element to be open by default using the <code>in</code> class, set <code>aria-expanded="true"</code> on the control instead. The plugin will automatically toggle this attribute based on whether or not the collapsible element has been opened or closed.</p>
 +  <p>Additionally, if your control element is targetting a single collapsible element â€“ i.e. the <code>data-target</code> attribute is pointing to an <code>id</code> selector â€“ you may add an additional <code>aria-controls</code> attribute to the control element, containing the <code>id</code> of the collapsible element. Modern screen readers and similar assistive technologies make use of this attribute to provide users with additional shortcuts to navigate directly to the collapsible element itself.</p>
 +</div>
 +
 +{% highlight html %}
 +<button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo">
 +  simple collapsible
 +</button>
 +
 +<div id="demo" class="collapse in">...</div>
 +{% endhighlight %}
 +
 +
 +## Usage
 +
 +The collapse plugin utilizes a few classes to handle the heavy lifting:
 +
 +- `.collapse` hides the content
 +- `.collapse.in` shows the content
 +- `.collapsing` is added when the transition starts, and removed when it finishes
 +
 +These classes can be found in `component-animations.less`.
 +
 +### Via data attributes
 +
 +Just add `data-toggle="collapse"` and a `data-target` to the element to automatically assign control of a collapsible element. The `data-target` attribute accepts a CSS selector to apply the collapse to. Be sure to add the class `collapse` to the collapsible element. If you'd like it to default open, add the additional class `in`.
 +
 +To add accordion-like group management to a collapsible control, add the data attribute `data-parent="#selector"`. Refer to the demo to see this in action.
 +
 +### Via JavaScript
 +
 +Enable manually with:
 +
 +{% highlight js %}
 +$('.collapse').collapse()
 +{% endhighlight %}
 +
 +### Options
 +
 +Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-parent=""`.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +     <tr>
 +       <th style="width: 100px;">Name</th>
 +       <th style="width: 50px;">type</th>
 +       <th style="width: 50px;">default</th>
 +       <th>description</th>
 +     </tr>
 +    </thead>
 +    <tbody>
 +     <tr>
 +       <td>parent</td>
 +       <td>selector</td>
 +       <td>false</td>
 +       <td>If a selector is provided, then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior - this is dependent on the <code>panel</code> class)</td>
 +     </tr>
 +     <tr>
 +       <td>toggle</td>
 +       <td>boolean</td>
 +       <td>true</td>
 +       <td>Toggles the collapsible element on invocation</td>
 +     </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +### Methods
 +
 +#### .collapse(options)
 +
 +Activates your content as a collapsible element. Accepts an optional options `object`.
 +
 +{% highlight js %}
 +$('#myCollapsible').collapse({
 +  toggle: false
 +})
 +{% endhighlight %}
 +
 +#### .collapse('toggle')
 +
 +Toggles a collapsible element to shown or hidden.
 +
 +#### .collapse('show')
 +
 +Shows a collapsible element.
 +
 +#### .collapse('hide')
 +
 +Hides a collapsible element.
 +
 +### Events
 +
 +Bootstrap's collapse class exposes a few events for hooking into collapse functionality.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +     <tr>
 +       <th style="width: 150px;">Event Type</th>
 +       <th>Description</th>
 +     </tr>
 +    </thead>
 +    <tbody>
 +     <tr>
 +       <td>show.bs.collapse</td>
 +       <td>This event fires immediately when the <code>show</code> instance method is called.</td>
 +     </tr>
 +     <tr>
 +       <td>shown.bs.collapse</td>
 +       <td>This event is fired when a collapse element has been made visible to the user (will wait for CSS transitions to complete).</td>
 +     </tr>
 +     <tr>
 +       <td>hide.bs.collapse</td>
 +       <td>
 +        This event is fired immediately when the <code>hide</code> method has been called.
 +       </td>
 +     </tr>
 +     <tr>
 +       <td>hidden.bs.collapse</td>
 +       <td>This event is fired when a collapse element has been hidden from the user (will wait for CSS transitions to complete).</td>
 +     </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +{% highlight js %}
 +$('#myCollapsible').on('hidden.bs.collapse', function () {
 +  // do something…
 +})
 +{% endhighlight %}
index 3e389e2c9afbf88d21fd8e9eab736d5bfc61e1ea,0000000000000000000000000000000000000000..b1bda334a9ea0c38db68e49bd83e106b8f82aa1d
mode 100644,000000..100644
--- /dev/null
@@@ -1,211 -1,0 +1,211 @@@
-   <nav id="navbar-example" class="navbar navbar-default navbar-static" role="navigation">
 +---
 +layout: page
 +title: Dropdowns
 +---
 +
 +Add dropdown menus to nearly anything with this simple plugin, including the navbar, tabs, and pills.
 +
 +### Within navbars
 +
 +<div class="bs-example">
- All dropdown events are fired at the `.dropdown-menu`'s parent element.
++  <nav id="navbar-example" class="navbar navbar-default navbar-static">
 +    <div class="container-fluid">
 +      <div class="navbar-header">
 +        <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target=".bs-example-js-navbar-collapse">
 +          <span class="sr-only">Toggle navigation</span>
 +          <span class="icon-bar"></span>
 +          <span class="icon-bar"></span>
 +          <span class="icon-bar"></span>
 +        </button>
 +        <a class="navbar-brand" href="#">Project Name</a>
 +      </div>
 +      <div class="collapse navbar-collapse bs-example-js-navbar-collapse">
 +        <ul class="nav navbar-nav">
 +          <li class="dropdown">
 +            <button id="drop1" type="button" class="dropdown-toggle" data-toggle="dropdown">
 +              Dropdown
 +            </button>
 +            <ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Action</a></li>
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Another action</a></li>
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Something else here</a></li>
 +              <li role="presentation" class="divider"></li>
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Separated link</a></li>
 +            </ul>
 +          </li>
 +          <li class="dropdown">
 +            <button id="drop2" type="button" class="dropdown-toggle" data-toggle="dropdown">
 +              Dropdown 2
 +            </button>
 +            <ul class="dropdown-menu" role="menu" aria-labelledby="drop2">
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Action</a></li>
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Another action</a></li>
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Something else here</a></li>
 +              <li role="presentation" class="divider"></li>
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Separated link</a></li>
 +            </ul>
 +          </li>
 +        </ul>
 +        <ul class="nav navbar-nav navbar-right">
 +          <li id="fat-menu" class="dropdown">
 +            <button id="drop3" type="button" class="dropdown-toggle" data-toggle="dropdown">
 +              Dropdown 3
 +            </button>
 +            <ul class="dropdown-menu" role="menu" aria-labelledby="drop3">
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Action</a></li>
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Another action</a></li>
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Something else here</a></li>
 +              <li role="presentation" class="divider"></li>
 +              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Separated link</a></li>
 +            </ul>
 +          </li>
 +        </ul>
 +      </div><!-- /.nav-collapse -->
 +    </div><!-- /.container-fluid -->
 +  </nav> <!-- /navbar-example -->
 +</div> <!-- /example -->
 +
 +### Within pills
 +
 +<div class="bs-example">
 +  <ul class="nav nav-pills" role="tablist">
 +    <li role="presentation" class="active"><a href="#">Regular link</a></li>
 +    <li role="presentation" class="dropdown">
 +      <button id="drop4" type="button" data-toggle="dropdown">
 +        Dropdown
 +      </button>
 +      <ul id="menu1" class="dropdown-menu" role="menu" aria-labelledby="drop4">
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Action</a></li>
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Another action</a></li>
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Something else here</a></li>
 +        <li role="presentation" class="divider"></li>
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Separated link</a></li>
 +      </ul>
 +    </li>
 +    <li role="presentation" class="dropdown">
 +      <button id="drop5" type="button" data-toggle="dropdown">
 +        Dropdown 2
 +      </button>
 +      <ul id="menu2" class="dropdown-menu" role="menu" aria-labelledby="drop5">
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Action</a></li>
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Another action</a></li>
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Something else here</a></li>
 +        <li role="presentation" class="divider"></li>
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Separated link</a></li>
 +      </ul>
 +    </li>
 +    <li role="presentation" class="dropdown">
 +      <button id="drop6" type="button" data-toggle="dropdown">
 +        Dropdown 3
 +      </button>
 +      <ul id="menu3" class="dropdown-menu" role="menu" aria-labelledby="drop6">
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Action</a></li>
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Another action</a></li>
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Something else here</a></li>
 +        <li role="presentation" class="divider"></li>
 +        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Separated link</a></li>
 +      </ul>
 +    </li>
 +  </ul>
 +</div>
 +
 +## Usage
 +
 +Via data attributes or JavaScript, the dropdown plugin toggles hidden content (dropdown menus) by toggling the `.open` class on the parent list item.
 +
 +On mobile devices, opening a dropdown adds a `.dropdown-backdrop` as a tap area for closing dropdown menus when tapping outside the menu, a requirement for proper iOS support. **This means that switching from an open dropdown menu to a different dropdown menu requires an extra tap on mobile.**
 +
 +Note: The `data-toggle="dropdown"` attribute is relied on for closing dropdown menus at an application level, so it's a good idea to always use it.
 +
 +### Via data attributes
 +
 +Add `data-toggle="dropdown"` to a link or button to toggle a dropdown.
 +
 +{% highlight html %}
 +<div class="dropdown">
 +  <button id="dLabel" type="button" data-toggle="dropdown">
 +    Dropdown trigger
 +    <span class="caret"></span>
 +  </button>
 +  <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
 +    ...
 +  </ul>
 +</div>
 +{% endhighlight %}
 +
 +To keep URLs intact with link buttons, use the `data-target` attribute instead of `href="#"`.
 +
 +{% highlight html %}
 +<div class="dropdown">
 +  <a id="dLabel" data-target="#" href="http://example.com" data-toggle="dropdown">
 +    Dropdown trigger
 +    <span class="caret"></span>
 +  </a>
 +
 +  <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
 +    ...
 +  </ul>
 +</div>
 +{% endhighlight %}
 +
 +### Via JavaScript
 +
 +Call the dropdowns via JavaScript:
 +
 +{% highlight js %}
 +$('.dropdown-toggle').dropdown()
 +{% endhighlight %}
 +
 +<div class="bs-callout bs-callout-info">
 +  <h4><code>data-toggle="dropdown"</code> still required</h4>
 +  <p>Regardless of whether you call your dropdown via JavaScript or instead use the data-api, <code>data-toggle="dropdown"</code> is always required to be present on the dropdown's trigger element.</p>
 +</div>
 +
 +### Options
 +
 +*None.*
 +
 +### Methods
 +
 +#### $().dropdown('toggle')
 +
 +Toggles the dropdown menu of a given navbar or tabbed navigation.
 +
 +### Events
 +
-         <td>This event fires immediately when the show instance method is called. The toggling anchor element is available as the <code>relatedTarget</code> property of the event.</td>
++All dropdown events are fired at the `.dropdown-menu`'s parent element and have a `relatedTarget` property, whose value is the toggling anchor element.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +      <tr>
 +        <th style="width: 150px;">Event Type</th>
 +        <th>Description</th>
 +      </tr>
 +    </thead>
 +    <tbody>
 +      <tr>
 +        <td>show.bs.dropdown</td>
-         <td>This event is fired when the dropdown has been made visible to the user (will wait for CSS transitions, to complete).  The toggling anchor element is available as the <code>relatedTarget</code> property of the event.</td>
++        <td>This event fires immediately when the show instance method is called.</td>
 +      </tr>
 +      <tr>
 +        <td>shown.bs.dropdown</td>
-         <td>This event is fired immediately when the hide instance method has been called. The toggling anchor element is available as the <code>relatedTarget</code> property of the event.</td>
++        <td>This event is fired when the dropdown has been made visible to the user (will wait for CSS transitions, to complete).</td>
 +      </tr>
 +      <tr>
 +        <td>hide.bs.dropdown</td>
-         <td>This event is fired when the dropdown has finished being hidden from the user (will wait for CSS transitions, to complete). The toggling anchor element is available as the <code>relatedTarget</code> property of the event.</td>
++        <td>This event is fired immediately when the hide instance method has been called.</td>
 +      </tr>
 +      <tr>
 +        <td>hidden.bs.dropdown</td>
++        <td>This event is fired when the dropdown has finished being hidden from the user (will wait for CSS transitions, to complete).</td>
 +      </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +{% highlight js %}
 +$('#myDropdown').on('show.bs.dropdown', function () {
 +  // do something…
 +})
 +{% endhighlight %}
index 1d018c80c7a9a637c0e225ab201bb56b5cbc60b8,0000000000000000000000000000000000000000..6cc34fdab3a575821a1ef88075cd0968cfe1342d
mode 100644,000000..100644
--- /dev/null
@@@ -1,435 -1,0 +1,441 @@@
- **Due to how HTML5 defines its semantics, the `autofocus` HTML attribute has no effect in Bootstrap modals.**
 +---
 +layout: page
 +title: Modal
 +---
 +
 +Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults.
 +
-           <form role="form">
++**Due to how HTML5 defines its semantics, the `autofocus` HTML attribute has no effect in Bootstrap modals.** To achieve the same effect, use some custom JavaScript:
++
++{% highlight js %}
++$('#myModal').on('shown.bs.modal', function () {
++  $('#myInput').focus()
++})
++{% endhighlight %}
 +
 +<div class="bs-callout bs-callout-warning" id="callout-stacked-modals">
 +  <h4>Overlapping modals not supported</h4>
 +  <p>Be sure not to open a modal while another is still visible. Showing more than one modal at a time requires custom code.</p>
 +</div>
 +<div class="bs-callout bs-callout-warning" id="callout-modal-markup-placement">
 +  <h4>Modal markup placement</h4>
 +  <p>Always try to place a modal's HTML code in a top-level position in your document to avoid other components affecting the modal's appearance and/or functionality.</p>
 +</div>
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Mobile device caveats</h4>
 +  <p>There are some caveats regarding using modals on mobile devices. <a href="../getting-started/#support-fixed-position-keyboards">See our browser support docs</a> for details.</p>
 +</div>
 +
 +### Static example
 +
 +A rendered modal with header, body, and set of actions in the footer.</p>
 +
 +<div class="bs-example bs-example-modal">
 +  <div class="modal">
 +    <div class="modal-dialog">
 +      <div class="modal-content">
 +        <div class="modal-header">
 +          <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
 +          <h4 class="modal-title">Modal title</h4>
 +        </div>
 +        <div class="modal-body">
 +          <p>One fine body&hellip;</p>
 +        </div>
 +        <div class="modal-footer">
 +          <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
 +          <button type="button" class="btn btn-primary">Save changes</button>
 +        </div>
 +      </div><!-- /.modal-content -->
 +    </div><!-- /.modal-dialog -->
 +  </div><!-- /.modal -->
 +</div>
 +
 +{% highlight html %}
 +<div class="modal fade">
 +  <div class="modal-dialog">
 +    <div class="modal-content">
 +      <div class="modal-header">
 +        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
 +        <h4 class="modal-title">Modal title</h4>
 +      </div>
 +      <div class="modal-body">
 +        <p>One fine body&hellip;</p>
 +      </div>
 +      <div class="modal-footer">
 +        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
 +        <button type="button" class="btn btn-primary">Save changes</button>
 +      </div>
 +    </div><!-- /.modal-content -->
 +  </div><!-- /.modal-dialog -->
 +</div><!-- /.modal -->
 +{% endhighlight %}
 +
 +### Live demo
 +
 +Toggle a modal via JavaScript by clicking the button below. It will slide down and fade in from the top of the page.
 +
 +<div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
 +  <div class="modal-dialog">
 +    <div class="modal-content">
 +
 +      <div class="modal-header">
 +        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
 +        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
 +      </div>
 +      <div class="modal-body">
 +        <h4>Text in a modal</h4>
 +        <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p>
 +
 +        <h4>Popover in a modal</h4>
 +        <p>This <a href="#" role="button" class="btn btn-secondary popover-test" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on click.</p>
 +
 +        <h4>Tooltips in a modal</h4>
 +        <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
 +
 +        <hr>
 +
 +        <h4>Overflowing text to show scroll behavior</h4>
 +        <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
 +        <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
 +        <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
 +        <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
 +        <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
 +        <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
 +        <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
 +        <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
 +        <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
 +      </div>
 +      <div class="modal-footer">
 +        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
 +        <button type="button" class="btn btn-primary">Save changes</button>
 +      </div>
 +
 +    </div><!-- /.modal-content -->
 +  </div><!-- /.modal-dialog -->
 +</div>
 +
 +<div class="bs-example" style="padding-bottom: 24px;">
 +  <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
 +    Launch demo modal
 +  </button>
 +</div>
 +
 +{% highlight html %}
 +<!-- Button trigger modal -->
 +<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
 +  Launch demo modal
 +</button>
 +
 +<!-- Modal -->
 +<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
 +  <div class="modal-dialog">
 +    <div class="modal-content">
 +      <div class="modal-header">
 +        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
 +        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
 +      </div>
 +      <div class="modal-body">
 +        ...
 +      </div>
 +      <div class="modal-footer">
 +        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
 +        <button type="button" class="btn btn-primary">Save changes</button>
 +      </div>
 +    </div>
 +  </div>
 +</div>
 +{% endhighlight %}
 +
 +<div class="bs-callout bs-callout-warning">
 +  <h4>Make modals accessible</h4>
 +  <p>Be sure to add <code>role="dialog"</code> to <code>.modal</code>, <code>aria-labelledby="myModalLabel"</code> attribute to reference the modal title, and <code>aria-hidden="true"</code> to tell assistive technologies to skip the modal's DOM elements.</p>
 +  <p>Additionally, you may give a description of your modal dialog with <code>aria-describedby</code> on <code>.modal</code>.</p>
 +</div>
 +
 +<div class="bs-callout bs-callout-info">
 +  <h4>Embedding YouTube videos</h4>
 +  <p>Embedding YouTube videos in modals requires additional JavaScript not in Bootstrap to automatically stop playback and more. <a href="http://stackoverflow.com/questions/18622508/bootstrap-3-and-youtube-in-modal">See this helpful Stack Overflow post</a> for more information.</p>
 +</div>
 +
 +## Optional sizes
 +
 +Modals have two optional sizes, available via modifier classes to be placed on a `.modal-dialog`.
 +
 +<div class="bs-example">
 +  <button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-lg">Large modal</button>
 +  <button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-sm">Small modal</button>
 +</div>
 +
 +{% highlight html %}
 +<!-- Large modal -->
 +<button class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-lg">Large modal</button>
 +
 +<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
 +  <div class="modal-dialog modal-lg">
 +    <div class="modal-content">
 +      ...
 +    </div>
 +  </div>
 +</div>
 +
 +<!-- Small modal -->
 +<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-sm">Small modal</button>
 +
 +<div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
 +  <div class="modal-dialog modal-sm">
 +    <div class="modal-content">
 +      ...
 +    </div>
 +  </div>
 +</div>
 +{% endhighlight %}
 +
 +<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
 +  <div class="modal-dialog modal-lg">
 +    <div class="modal-content">
 +
 +      <div class="modal-header">
 +        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
 +        <h4 class="modal-title" id="myLargeModalLabel">Large modal</h4>
 +      </div>
 +      <div class="modal-body">
 +        ...
 +      </div>
 +    </div>
 +  </div>
 +</div>
 +
 +<div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
 +  <div class="modal-dialog modal-sm">
 +    <div class="modal-content">
 +
 +      <div class="modal-header">
 +        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
 +        <h4 class="modal-title" id="mySmallModalLabel">Small modal</h4>
 +      </div>
 +      <div class="modal-body">
 +        ...
 +      </div>
 +    </div>
 +  </div>
 +</div>
 +
 +## Remove animation
 +
 +For modals that simply appear rather than fade in to view, remove the `.fade` class from your modal markup.
 +
 +{% highlight html %}
 +<div class="modal" tabindex="-1" role="dialog" aria-labelledby="" aria-hidden="true">
 +  ...
 +</div>
 +{% endhighlight %}
 +
 +## Varying modal content based on trigger button
 +
 +Have a bunch of buttons that all trigger the same modal, just with slightly different contents? Use `event.relatedTarget` and [HTML `data-*` attributes](https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes) (possibly [via jQuery](http://api.jquery.com/data/)) to vary the contents of the modal depending on which button was clicked. See the Modal Events docs for details on `relatedTarget`.
 +
 +<div class="bs-example" style="padding-bottom: 24px;">
 +  <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">Open modal for @mdo</button>
 +  <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@fat">Open modal for @fat</button>
 +  <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@twbootstrap">Open modal for @twbootstrap</button>
 +
 +  <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
 +    <div class="modal-dialog">
 +      <div class="modal-content">
 +        <div class="modal-header">
 +          <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
 +          <h4 class="modal-title" id="exampleModalLabel">New message</h4>
 +        </div>
 +        <div class="modal-body">
-         <form role="form">
++          <form>
 +            <div class="form-group">
 +              <label for="recipient-name" class="control-label">Recipient:</label>
 +              <input type="text" class="form-control" id="recipient-name">
 +            </div>
 +            <div class="form-group">
 +              <label for="message-text" class="control-label">Message:</label>
 +              <textarea class="form-control" id="message-text"></textarea>
 +            </div>
 +          </form>
 +        </div>
 +        <div class="modal-footer">
 +          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
 +          <button type="button" class="btn btn-primary">Send message</button>
 +        </div>
 +      </div>
 +    </div>
 +  </div>
 +</div>
 +
 +{% highlight html %}
 +<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">Open modal for @mdo</button>
 +<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@fat">Open modal for @fat</button>
 +<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@twbootstrap">Open modal for @twbootstrap</button>
 +
 +<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
 +  <div class="modal-dialog">
 +    <div class="modal-content">
 +      <div class="modal-header">
 +        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
 +        <h4 class="modal-title" id="exampleModalLabel">New message</h4>
 +      </div>
 +      <div class="modal-body">
++        <form>
 +          <div class="form-group">
 +            <label for="recipient-name" class="control-label">Recipient:</label>
 +            <input type="text" class="form-control" id="recipient-name">
 +          </div>
 +          <div class="form-group">
 +            <label for="message-text" class="control-label">Message:</label>
 +            <textarea class="form-control" id="message-text"></textarea>
 +          </div>
 +        </form>
 +      </div>
 +      <div class="modal-footer">
 +        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
 +        <button type="button" class="btn btn-primary">Send message</button>
 +      </div>
 +    </div>
 +  </div>
 +</div>
 +{% endhighlight %}
 +
 +{% highlight js %}
 +$('#exampleModal').on('show.bs.modal', function (event) {
 +  var button = $(event.relatedTarget) // Button that triggered the modal
 +  var recipient = button.data('whatever') // Extract info from data-* attributes
 +  // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
 +  // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
 +  var modal = $(this)
 +  modal.find('.modal-title').text('New message to ' + recipient)
 +  modal.find('.modal-body input').val(recipient)
 +})
 +{% endhighlight %}
 +
 +## Usage
 +
 +The modal plugin toggles your hidden content on demand, via data attributes or JavaScript. It also adds `.modal-open` to the `<body>` to override default scrolling behavior and generates a `.modal-backdrop` to provide a click area for dismissing shown modals when clicking outside the modal.
 +
 +### Via data attributes
 +
 +Activate a modal without writing JavaScript. Set `data-toggle="modal"` on a controller element, like a button, along with a `data-target="#foo"` or `href="#foo"` to target a specific modal to toggle.
 +
 +{% highlight html %}
 +<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>
 +{% endhighlight %}
 +
 +### Via JavaScript
 +
 +Call a modal with id `myModal` with a single line of JavaScript:
 +
 +{% highlight js %}$('#myModal').modal(options){% endhighlight %}
 +
 +### Options
 +
 +Options can be passed via data attributes or JavaScript. For data attributes, append the option name to `data-`, as in `data-backdrop=""`.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +     <tr>
 +       <th style="width: 100px;">Name</th>
 +       <th style="width: 50px;">type</th>
 +       <th style="width: 50px;">default</th>
 +       <th>description</th>
 +     </tr>
 +    </thead>
 +    <tbody>
 +     <tr>
 +       <td>backdrop</td>
 +       <td>boolean or the string <code>'static'</code></td>
 +       <td>true</td>
 +       <td>Includes a modal-backdrop element. Alternatively, specify <code>static</code> for a backdrop which doesn't close the modal on click.</td>
 +     </tr>
 +     <tr>
 +       <td>keyboard</td>
 +       <td>boolean</td>
 +       <td>true</td>
 +       <td>Closes the modal when escape key is pressed</td>
 +     </tr>
 +     <tr>
 +       <td>show</td>
 +       <td>boolean</td>
 +       <td>true</td>
 +       <td>Shows the modal when initialized.</td>
 +     </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +### Methods
 +
 +#### .modal(options)
 +
 +Activates your content as a modal. Accepts an optional options `object`.
 +
 +{% highlight js %}
 +$('#myModal').modal({
 +  keyboard: false
 +})
 +{% endhighlight %}
 +
 +#### .modal('toggle')
 +
 +Manually toggles a modal. **Returns to the caller before the modal has actually been shown or hidden** (i.e. before the `shown.bs.modal` or `hidden.bs.modal` event occurs).
 +
 +{% highlight js %}$('#myModal').modal('toggle'){% endhighlight %}
 +
 +#### .modal('show')
 +
 +Manually opens a modal. **Returns to the caller before the modal has actually been shown** (i.e. before the `shown.bs.modal` event occurs).
 +
 +{% highlight js %}$('#myModal').modal('show'){% endhighlight %}
 +
 +#### .modal('hide')
 +
 +Manually hides a modal. **Returns to the caller before the modal has actually been hidden** (i.e. before the `hidden.bs.modal` event occurs).
 +
 +{% highlight js %}$('#myModal').modal('hide'){% endhighlight %}
 +
 +### Events
 +
 +Bootstrap's modal class exposes a few events for hooking into modal functionality.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +     <tr>
 +       <th style="width: 150px;">Event Type</th>
 +       <th>Description</th>
 +     </tr>
 +    </thead>
 +    <tbody>
 +     <tr>
 +       <td>show.bs.modal</td>
 +       <td>This event fires immediately when the <code>show</code> instance method is called. If caused by a click, the clicked element is available as the <code>relatedTarget</code> property of the event.</td>
 +     </tr>
 +     <tr>
 +       <td>shown.bs.modal</td>
 +       <td>This event is fired when the modal has been made visible to the user (will wait for CSS transitions to complete). If caused by a click, the clicked element is available as the <code>relatedTarget</code> property of the event.</td>
 +     </tr>
 +     <tr>
 +       <td>hide.bs.modal</td>
 +       <td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
 +     </tr>
 +     <tr>
 +       <td>hidden.bs.modal</td>
 +       <td>This event is fired when the modal has finished being hidden from the user (will wait for CSS transitions to complete).</td>
 +     </tr>
 +     <tr>
 +       <td>loaded.bs.modal</td>
 +       <td>This event is fired when the modal has loaded content using the <code>remote</code> option.</td>
 +     </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +{% highlight js %}
 +$('#myModal').on('hidden.bs.modal', function (e) {
 +  // do something...
 +})
 +{% endhighlight %}
index e7a137ddd111b4417178e0dfaf67abedd347ab33,0000000000000000000000000000000000000000..8d22d402026bdbdf00940887f274e9082369c71e
mode 100644,000000..100644
--- /dev/null
@@@ -1,96 -1,0 +1,101 @@@
 +---
 +layout: page
 +title: Overview
 +---
 +
 +### Individual or compiled
 +
 +Plugins can be included individually (using Bootstrap's individual `*.js` files), or all at once (using `bootstrap.js` or the minified `bootstrap.min.js`).
 +
 +<div class="bs-callout bs-callout-danger">
 +  <h4>Using the compiled JavaScript</h4>
 +  <p>Both <code>bootstrap.js</code> and <code>bootstrap.min.js</code> contain all plugins in a single file. Include only one.</p>
 +</div>
 +
 +<div class="bs-callout bs-callout-danger">
 +  <h4>Component data attributes</h4>
 +  <p>Don't use data attributes from multiple plugins on the same element. For example, a button cannot both have a tooltip and toggle a modal. To accomplish this, use a wrapping element.</p>
 +</div>
 +
 +<div class="bs-callout bs-callout-danger">
 +  <h4>Plugin dependencies</h4>
 +  <p>Some plugins and CSS components depend on other plugins. If you include plugins individually, make sure to check for these dependencies in the docs. Also note that all plugins depend on jQuery (this means jQuery must be included <strong>before</strong> the plugin files). <a href="{{ site.repo }}/blob/v{{ site.current_version }}/bower.json">Consult our <code>bower.json</code></a> to see which versions of jQuery are supported.</p>
 +</div>
 +
 +### Data attributes
 +
 +You can use all Bootstrap plugins purely through the markup API without writing a single line of JavaScript. This is Bootstrap's first-class API and should be your first consideration when using a plugin.
 +
 +That said, in some situations it may be desirable to turn this functionality off. Therefore, we also provide the ability to disable the data attribute API by unbinding all events on the document namespaced with `data-api`. This looks like this:
 +
 +{% highlight js %}
 +$(document).off('.data-api')
 +{% endhighlight %}
 +
 +Alternatively, to target a specific plugin, just include the plugin's name as a namespace along with the data-api namespace like this:
 +
 +{% highlight js %}
 +$(document).off('.alert.data-api')
 +{% endhighlight %}
 +
++<div class="bs-callout bs-callout-danger">
++  <h4>Only one plugin per element via data attributes</h4>
++  <p>Don't use data attributes from multiple plugins on the same element. For example, a button cannot both have a tooltip and toggle a modal. To accomplish this, use a wrapping element.</p>
++</div>
++
 +### Programmatic API
 +
 +We also believe you should be able to use all Bootstrap plugins purely through the JavaScript API. All public APIs are single, chainable methods, and return the collection acted upon.
 +
 +{% highlight js %}
 +$('.btn.danger').button('toggle').addClass('fat')
 +{% endhighlight %}
 +
 +All methods should accept an optional options object, a string which targets a particular method, or nothing (which initiates a plugin with default behavior):
 +
 +{% highlight js %}
 +$('#myModal').modal()                      // initialized with defaults
 +$('#myModal').modal({ keyboard: false })   // initialized with no keyboard
 +$('#myModal').modal('show')                // initializes and invokes show immediately
 +{% endhighlight %}
 +
 +Each plugin also exposes its raw constructor on a `Constructor` property: `$.fn.popover.Constructor`. If you'd like to get a particular plugin instance, retrieve it directly from an element: `$('[rel="popover"]').data('popover')`.
 +
 +#### Default settings
 +You can change the default settings for a plugin by modifying the plugin's `Constructor.DEFAULTS` object:
 +
 +{% highlight js %}
 +$.fn.modal.Constructor.DEFAULTS.keyboard = false // changes default for the modal plugin's `keyboard` option to false
 +{% endhighlight %}
 +
 +### No conflict
 +
 +Sometimes it is necessary to use Bootstrap plugins with other UI frameworks. In these circumstances, namespace collisions can occasionally occur. If this happens, you may call `.noConflict` on the plugin you wish to revert the value of.
 +
 +{% highlight js %}
 +var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
 +$.fn.bootstrapBtn = bootstrapButton            // give $().bootstrapBtn the Bootstrap functionality
 +{% endhighlight %}
 +
 +### Events
 +
 +Bootstrap provides custom events for most plugins' unique actions. Generally, these come in an infinitive and past participle form - where the infinitive (ex. `show`) is triggered at the start of an event, and its past participle form (ex. `shown`) is triggered on the completion of an action.
 +
 +As of 3.0.0, all Bootstrap events are namespaced.
 +
 +All infinitive events provide `preventDefault` functionality. This provides the ability to stop the execution of an action before it starts.
 +
 +{% highlight js %}
 +$('#myModal').on('show.bs.modal', function (e) {
 +  if (!data) return e.preventDefault() // stops modal from being shown
 +})
 +{% endhighlight %}
 +
 +### No special fallbacks when JavaScript is disabled
 +
 +Bootstrap's plugins don't fall back particularly gracefully when JavaScript is disabled. If you care about the user experience in this case, use [`<noscript>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/noscript) to explain the situation (and how to re-enable JavaScript) to your users, and/or add your own custom fallbacks.
 +
 +<div class="bs-callout bs-callout-warning" id="callout-third-party-libs">
 +  <h4>Third-party libraries</h4>
 +  <p><strong>Bootstrap does not officially support third-party JavaScript libraries</strong> like Prototype or jQuery UI. Despite <code>.noConflict</code> and namespaced events, there may be compatibility problems that you need to fix on your own.</p>
 +</div>
index 476346d95f1f3d992f6e67b627b4114ec0cf0faa,0000000000000000000000000000000000000000..c5c2a012ee1fb02716775f4e9141558f08e6a338
mode 100644,000000..100644
--- /dev/null
@@@ -1,178 -1,0 +1,188 @@@
-   <ul id="myTab" class="nav nav-tabs" role="tablist">
 +---
 +layout: page
 +title: Tabs
 +---
 +
 +## Example
 +
 +Add quick, dynamic tab functionality to transition through panes of local content, even via dropdown menus.
 +
 +<div class="bs-example bs-example-tabs">
-   <li role="presentation" class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>
-   <li role="presentation"><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>
-   <li role="presentation"><a href="#messages" role="tab" data-toggle="tab">Messages</a></li>
-   <li role="presentation"><a href="#settings" role="tab" data-toggle="tab">Settings</a></li>
++  <ul id="myTab" class="nav nav-tabs" role="tabpanel">
 +    <li role="presentation" class="active">
 +      <a href="#home" id="home-tab" role="tab" data-toggle="tab" aria-controls="home" aria-expanded="true">Home</a>
 +    </li>
 +    <li role="presentation">
 +      <a href="#profile" role="tab" id="profile-tab" data-toggle="tab" aria-controls="profile">Profile</a>
 +    </li>
 +    <li role="presentation" class="dropdown">
 +      <a href="#" id="myTabDrop1" class="dropdown-toggle" data-toggle="dropdown" aria-controls="myTabDrop1-contents">
 +        Dropdown
 +        <span class="caret"></span>
 +      </a>
 +      <ul class="dropdown-menu" role="menu" aria-labelledby="myTabDrop1" id="myTabDrop1-contents">
 +        <li><a href="#dropdown1" tabindex="-1" role="tab" id="dropdown1-tab" data-toggle="tab" aria-controls="dropdown1">@fat</a></li>
 +        <li><a href="#dropdown2" tabindex="-1" role="tab" id="dropdown2-tab" data-toggle="tab" aria-controls="dropdown2">@mdo</a></li>
 +      </ul>
 +    </li>
 +  </ul>
 +  <div id="myTabContent" class="tab-content">
 +    <div role="tabpanel" class="tab-pane fade in active" id="home" aria-labelledBy="home-tab">
 +      <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
 +    </div>
 +    <div role="tabpanel" class="tab-pane fade" id="profile" aria-labelledBy="profile-tab">
 +      <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
 +    </div>
 +    <div role="tabpanel" class="tab-pane fade" id="dropdown1" aria-labelledBy="dropdown1-tab">
 +      <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
 +    </div>
 +    <div role="tabpanel" class="tab-pane fade" id="dropdown2" aria-labelledBy="dropdown2-tab">
 +      <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
 +    </div>
 +  </div>
 +</div>
 +
 +<div class="bs-callout bs-callout-info">
 +  <h4>Extends tabbed navigation</h4>
 +  <p>This plugin extends the <a href="../components/#nav-tabs">tabbed navigation component</a> to add tabbable areas.</p>
 +</div>
 +
 +## Usage
 +
 +Enable tabbable tabs via JavaScript (each tab needs to be activated individually):
 +
 +{% highlight js %}
 +$('#myTab a').click(function (e) {
 +  e.preventDefault()
 +  $(this).tab('show')
 +})
 +{% endhighlight %}
 +
 +You can activate individual tabs in several ways:
 +
 +{% highlight js %}
 +$('#myTab a[href="#profile"]').tab('show') // Select tab by name
 +$('#myTab a:first').tab('show') // Select first tab
 +$('#myTab a:last').tab('show') // Select last tab
 +$('#myTab li:eq(2) a').tab('show') // Select third tab (0-indexed)
 +{% endhighlight %}
 +
 +### Markup
 +
 +You can activate a tab or pill navigation without writing any JavaScript by simply specifying `data-toggle="tab"` or `data-toggle="pill"` on an element. Adding the `.nav` and `.nav-tabs` classes to the tab `<ul>` will apply the Bootstrap <a href="../components/#nav-tabs">tab styling</a>, while adding the `.nav` and `.nav-pills` classes will apply <a href="../components/#nav-pills">pill styling</a>.
 +
++<div role="tabpanel">
 +{% highlight html %}
 +<!-- Nav tabs -->
 +<ul class="nav nav-tabs" role="tablist">
 +  <li role="presentation" class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>
 +  <li role="presentation"><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>
 +  <li role="presentation"><a href="#messages" role="tab" data-toggle="tab">Messages</a></li>
 +  <li role="presentation"><a href="#settings" role="tab" data-toggle="tab">Settings</a></li>
 +</ul>
 +
 +<!-- Tab panes -->
 +<div class="tab-content">
 +  <div role="tabpanel" class="tab-pane active" id="home">...</div>
 +  <div role="tabpanel" class="tab-pane" id="profile">...</div>
 +  <div role="tabpanel" class="tab-pane" id="messages">...</div>
 +  <div role="tabpanel" class="tab-pane" id="settings">...</div>
 +</div>
 +{% endhighlight %}
++</div>
 +
 +### Fade effect
 +
 +To make tabs fade in, add `.fade` to each `.tab-pane`. The first tab pane must also have `.in to properly fade in initial content.
 +
 +{% highlight html %}
 +<div class="tab-content">
 +  <div role="tabpanel" class="tab-pane fade in active" id="home">...</div>
 +  <div role="tabpanel" class="tab-pane fade" id="profile">...</div>
 +  <div role="tabpanel" class="tab-pane fade" id="messages">...</div>
 +  <div role="tabpanel" class="tab-pane fade" id="settings">...</div>
 +</div>
 +{% endhighlight %}
 +
 +### Methods
 +
 +#### $().tab
 +
 +Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the DOM.
 +
 +{% highlight html %}
 +<ul class="nav nav-tabs" role="tablist" id="myTab">
++  <li role="presentation" class="active">
++    <a href="#home" role="tab" data-toggle="tab" aria-controls="home">Home</a>
++  </li>
++  <li role="presentation">
++    <a href="#profile" role="tab" data-toggle="tab" aria-controls="profile">Profile</a>
++  </li>
++  <li role="presentation">
++    <a href="#messages" role="tab" data-toggle="tab" aria-controls="messages">Messages</a>
++  </li>
++  <li role="presentation">
++    <a href="#settings" role="tab" data-toggle="tab" aria-controls="settings">Settings</a>
++  </li>
 +</ul>
 +
 +<div class="tab-content">
 +  <div role="tabpanel" class="tab-pane active" id="home">...</div>
 +  <div role="tabpanel" class="tab-pane" id="profile">...</div>
 +  <div role="tabpanel" class="tab-pane" id="messages">...</div>
 +  <div role="tabpanel" class="tab-pane" id="settings">...</div>
 +</div>
 +
 +<script>
 +  $(function () {
 +    $('#myTab a:last').tab('show')
 +  })
 +</script>
 +{% endhighlight %}
 +
 +### Events
 +
 +When showing a new tab, the events fire in the following order:
 +
 +1. `hide.bs.tab` (on the current active tab)
 +2. `show.bs.tab` (on the to-be-shown tab)
 +3. `hidden.bs.tab` (on the previous active tab, the same one as for the `hide.bs.tab` event)
 +4. `shown.bs.tab` (on the newly-active just-shown tab, the same one as for the `show.bs.tab` event)
 +
 +If no tab was already active, then the `hide.bs.tab` and `hidden.bs.tab` events will not be fired.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +     <tr>
 +       <th style="width: 150px;">Event Type</th>
 +       <th>Description</th>
 +     </tr>
 +    </thead>
 +    <tbody>
 +      <tr>
 +        <td>show.bs.tab</td>
 +        <td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
 +     </tr>
 +     <tr>
 +        <td>shown.bs.tab</td>
 +        <td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
 +      </tr>
 +      <tr>
 +        <td>hide.bs.tab</td>
 +        <td>This event fires when a new tab is to be shown (and thus the previous active tab is to be hidden). Use <code>event.target</code> and <code>event.relatedTarget</code> to target the current active tab and the new soon-to-be-active tab, respectively.</td>
 +      </tr>
 +      <tr>
 +        <td>hidden.bs.tab</td>
 +        <td>This event fires after a new tab is shown (and thus the previous active tab is hidden). Use <code>event.target</code> and <code>event.relatedTarget</code> to target the previous active tab and the new active tab, respectively.</td>
 +      </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +{% highlight js %}
 +$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
 +  e.target // newly activated tab
 +  e.relatedTarget // previous active tab
 +})
 +{% endhighlight %}
index c2dc24d94c36a52a9092bd32bb79de78a6dc8c14,0000000000000000000000000000000000000000..2ea8a42e8cb480e50fb88a60322cb49dbf4e09af
mode 100644,000000..100644
--- /dev/null
@@@ -1,404 -1,0 +1,404 @@@
-         <th class="text-nowrap">Grid behavior</th>
 +---
 +layout: page
 +title: Grid system
 +---
 +
 +Bootstrap includes a responsive, mobile first fluid grid system that appropriately scales up to 12 columns as the device or viewport size increases. It includes [predefined classes](#grid-example-basic) for easy layout options, as well as powerful [mixins for generating more semantic layouts](#grid-semantic).
 +
 +### Introduction
 +
 +Grid systems are used for creating page layouts through a series of rows and columns that house your content. Here's how the Bootstrap grid system works:
 +
 +- Rows must be placed within a `.container` (fixed-width) or `.container-fluid` (full-width) for proper alignment and padding.
 +- Use rows to create horizontal groups of columns.
 +- Content should be placed within columns, and only columns may be immediate children of rows.
 +- Predefined grid classes like `.row` and `.col-xs-4` are available for quickly making grid layouts. Less mixins can also be used for more semantic layouts.
 +- Columns create gutters (gaps between column content) via `padding`. That padding is offset in rows for the first and last column via negative margin on `.row`s.
 +- The negative margin is why the examples below are outdented. It's so that content within grid columns is lined up with non-grid content.
 +- Grid columns are created by specifying the number of twelve available columns you wish to span. For example, three equal columns would use three `.col-xs-4`.
 +- If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.
 +- Grid classes apply to devices with screen widths greater than or equal to the breakpoint sizes, and override grid classes targeted at smaller devices. Therefore, applying any `.col-md-` class to an element will not only affect its styling on medium devices but also on large devices if a `.col-lg-` class is not present.
 +
 +Look to the examples for applying these principles to your code.
 +
 +### Media queries
 +
 +We use the following media queries in our Less files to create the key breakpoints in our grid system.
 +
 +{% highlight scss %}
 +/* Extra small devices (phones, less than 768px) */
 +/* No media query since this is the default in Bootstrap */
 +
 +/* Small devices (tablets, 768px and up) */
 +@media (min-width: @screen-sm-min) { ... }
 +
 +/* Medium devices (desktops, 992px and up) */
 +@media (min-width: @screen-md-min) { ... }
 +
 +/* Large devices (large desktops, 1200px and up) */
 +@media (min-width: @screen-lg-min) { ... }
 +{% endhighlight %}
 +
 +We occasionally expand on these media queries to include a <code>max-width</code> to limit CSS to a narrower set of devices.
 +
 +{% highlight scss %}
 +@media (max-width: @screen-xs-max) { ... }
 +@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
 +@media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... }
 +@media (min-width: @screen-lg-min) { ... }
 +{% endhighlight %}
 +
 +### Grid options
 +
 +See how aspects of the Bootstrap grid system work across multiple devices with a handy table.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +      <tr>
 +        <th></th>
 +        <th>
 +          Extra small devices
 +          <small>Phones (&lt;768px)</small>
 +        </th>
 +        <th>
 +          Small devices
 +          <small>Tablets (&ge;768px)</small>
 +        </th>
 +        <th>
 +          Medium devices
 +          <small>Desktops (&ge;992px)</small>
 +        </th>
 +        <th>
 +          Large devices
 +          <small>Desktops (&ge;1200px)</small>
 +        </th>
 +      </tr>
 +    </thead>
 +    <tbody>
 +      <tr>
-         <th class="text-nowrap">Container width</th>
++        <th class="text-nowrap" scope="row">Grid behavior</th>
 +        <td>Horizontal at all times</td>
 +        <td colspan="3">Collapsed to start, horizontal above breakpoints</td>
 +      </tr>
 +      <tr>
-         <th class="text-nowrap">Class prefix</th>
++        <th class="text-nowrap" scope="row">Container width</th>
 +        <td>None (auto)</td>
 +        <td>750px</td>
 +        <td>970px</td>
 +        <td>1170px</td>
 +      </tr>
 +      <tr>
-         <th class="text-nowrap"># of columns</th>
++        <th class="text-nowrap" scope="row">Class prefix</th>
 +        <td><code>.col-xs-</code></td>
 +        <td><code>.col-sm-</code></td>
 +        <td><code>.col-md-</code></td>
 +        <td><code>.col-lg-</code></td>
 +      </tr>
 +      <tr>
-         <th class="text-nowrap">Column width</th>
++        <th class="text-nowrap" scope="row"># of columns</th>
 +        <td colspan="4">12</td>
 +      </tr>
 +      <tr>
-         <th class="text-nowrap">Gutter width</th>
++        <th class="text-nowrap" scope="row">Column width</th>
 +        <td class="text-muted">Auto</td>
 +        <td>~62px</td>
 +        <td>~81px</td>
 +        <td>~97px</td>
 +      </tr>
 +      <tr>
-         <th class="text-nowrap">Nestable</th>
++        <th class="text-nowrap" scope="row">Gutter width</th>
 +        <td colspan="4">30px (15px on each side of a column)</td>
 +      </tr>
 +      <tr>
-         <th class="text-nowrap">Offsets</th>
++        <th class="text-nowrap" scope="row">Nestable</th>
 +        <td colspan="4">Yes</td>
 +      </tr>
 +      <tr>
-         <th class="text-nowrap">Column ordering</th>
++        <th class="text-nowrap" scope="row">Offsets</th>
 +        <td colspan="4">Yes</td>
 +      </tr>
 +      <tr>
- ### Example: Mobile, tablet, desktops
++        <th class="text-nowrap" scope="row">Column ordering</th>
 +        <td colspan="4">Yes</td>
 +      </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +### Example: Semantic grid mixins
 +
 +In addition to [prebuilt grid classes](#grid-example-basic) for fast layouts, Bootstrap includes Less variables and mixins for quickly generating your own simple, semantic layouts.
 +
 +#### Variables
 +
 +Variables determine the number of columns, the gutter width, and the media query point at which to begin floating columns. We use these to generate the predefined grid classes documented above, as well as for the custom mixins listed below.
 +
 +{% highlight scss %}
 +@grid-columns:      12;
 +@grid-gutter-width: 1.5rem;
 +{% endhighlight %}
 +
 +#### Mixins
 +
 +Mixins are used in conjunction with the grid variables to generate semantic CSS for individual grid columns.
 +
 +{% highlight scss %}
 +// Creates a wrapper for a series of columns
 +.make-row(@gutter: @grid-gutter-width) {
 +  margin-left:  (@gutter / -2);
 +  margin-right: (@gutter / -2);
 +  &:extend(.clearfix all);
 +}
 +
 +// Make the element grid-ready (applying everything but the width)
 +.make-col(@gutter: @grid-gutter-width) {
 +  position: relative;
 +  float: left;
 +  min-height: 1px;
 +  padding-left:  (@gutter / 2);
 +  padding-right: (@gutter / 2);
 +}
 +
 +// Set a width (to be used in or out of media queries)
 +.make-col-span(@columns) {
 +  width: percentage((@columns / @grid-columns));
 +}
 +
 +// Get fancy by offsetting, or changing the sort order
 +.make-col-offset(@columns) {
 +  margin-left: percentage((@columns / @grid-columns));
 +}
 +.make-col-push(@columns) {
 +  left: percentage((@columns / @grid-columns));
 +}
 +.make-col-pull(@columns) {
 +  right: percentage((@columns / @grid-columns));
 +}
 +{% endhighlight %}
 +
 +#### Example usage
 +
 +You can modify the variables to your own custom values, or just use the mixins with their default values. Here's an example of using the default settings to create a two-column layout with a gap between.
 +
 +See it in action in <a href="http://jsbin.com/qiqet/3/edit">this rendered example</a>.
 +
 +{% highlight scss %}
 +.container {
 +  max-width: 60em;
 +  .make-container();
 +}
 +.row {
 +  .make-row();
 +}
 +.content-main {
 +  .make-col();
 +
 +  @media (max-width: 32em) {
 +    .make-col-span(6);
 +  }
 +  @media (min-width: 32.1em) {
 +    .make-col-span(8);
 +  }
 +}
 +.content-secondary {
 +  .make-col();
 +
 +  @media (max-width: 32em) {
 +    .make-col-span(6);
 +  }
 +  @media (min-width: 32.1em) {
 +    .make-col-span(4);
 +  }
 +}
 +{% endhighlight %}
 +
 +{% highlight html %}
 +<div class="container">
 +  <div class="row">
 +    <div class="content-main">...</div>
 +    <div class="content-secondary">...</div>
 +  </div>
 +</div>
 +{% endhighlight %}
 +
 +### Example: Stacked-to-horizontal
 +
 +Using a single set of `.col-md-*` grid classes, you can create a basic grid system that starts out stacked on mobile devices and tablet devices (the extra small to small range) before becoming horizontal on desktop (medium) devices. Place grid columns in any `.row`.
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-md-1">.col-md-1</div>
 +  <div class="col-md-1">.col-md-1</div>
 +  <div class="col-md-1">.col-md-1</div>
 +  <div class="col-md-1">.col-md-1</div>
 +  <div class="col-md-1">.col-md-1</div>
 +  <div class="col-md-1">.col-md-1</div>
 +  <div class="col-md-1">.col-md-1</div>
 +  <div class="col-md-1">.col-md-1</div>
 +  <div class="col-md-1">.col-md-1</div>
 +  <div class="col-md-1">.col-md-1</div>
 +  <div class="col-md-1">.col-md-1</div>
 +  <div class="col-md-1">.col-md-1</div>
 +</div>
 +<div class="row">
 +  <div class="col-md-8">.col-md-8</div>
 +  <div class="col-md-4">.col-md-4</div>
 +</div>
 +<div class="row">
 +  <div class="col-md-4">.col-md-4</div>
 +  <div class="col-md-4">.col-md-4</div>
 +  <div class="col-md-4">.col-md-4</div>
 +</div>
 +<div class="row">
 +  <div class="col-md-6">.col-md-6</div>
 +  <div class="col-md-6">.col-md-6</div>
 +</div>
 +{% endexample %}
 +
 +### Example: Fluid container
 +
 +Turn any fixed-width grid layout into a full-width layout by changing your outermost `.container` to `.container-fluid`.
 +
 +{% highlight html %}
 +<div class="container-fluid">
 +  <div class="row">
 +    ...
 +  </div>
 +</div>
 +{% endhighlight %}
 +
 +### Example: Mobile and desktop
 +
 +Don't want your columns to simply stack in smaller devices? Use the extra small and medium device grid classes by adding `.col-xs-*` and `.col-md-*` to your columns. See the example below for a better idea of how it all works.
 +
 +{% example html %}
 +<!-- Stack the columns on mobile by making one full-width and the other half-width -->
 +<div class="row">
 +  <div class="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div>
 +  <div class="col-xs-6 col-md-4">.col-xs-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-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
 +  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
 +  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
 +</div>
 +
 +<!-- Columns are always 50% wide, on mobile and desktop -->
 +<div class="row">
 +  <div class="col-xs-6">.col-xs-6</div>
 +  <div class="col-xs-6">.col-xs-6</div>
 +</div>
 +{% endexample %}
 +
++### Example: Mobile, tablet, desktop
 +
 +Build on the previous example by creating even more dynamic and powerful layouts with tablet `.col-sm-*` classes.
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-xs-12 col-sm-6 col-md-8">.col-xs-12 .col-sm-6 .col-md-8</div>
 +  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
 +</div>
 +<div class="row">
 +  <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
 +  <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
 +  <!-- Optional: clear the XS cols if their content doesn't match in height -->
 +  <div class="clearfix visible-xs-block"></div>
 +  <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
 +</div>
 +{% endexample %}
 +
 +### Example: Column wrapping
 +
 +If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-xs-9">.col-xs-9</div>
 +  <div class="col-xs-4">.col-xs-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-xs-6">.col-xs-6<br>Subsequent columns continue along the new line.</div>
 +</div>
 +{% endexample %}
 +
 +### Example: Responsive column resets
 +
 +With the four tiers of grids available you're bound to run into issues where, at certain breakpoints, your columns don't clear quite right as one is taller than the other. To fix that, use a combination of a `.clearfix` and our [responsive utility classes](#responsive-utilities).
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
 +  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
 +
 +  <!-- Add the extra clearfix for only the required viewport -->
 +  <div class="clearfix visible-xs-block"></div>
 +
 +  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
 +  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
 +</div>
 +{% endexample %}
 +
 +In addition to column clearing at responsive breakpoints, you may need to **reset offsets, pushes, or pulls**. See this in action in [the grid example](../examples/grid/).
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-sm-5 col-md-6">.col-sm-5 .col-md-6</div>
 +  <div class="col-sm-5 col-sm-offset-2 col-md-6 col-md-offset-0">.col-sm-5 .col-sm-offset-2 .col-md-6 .col-md-offset-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 col-md-offset-2 col-lg-6 col-lg-offset-0">.col-sm-6 .col-md-5 .col-md-offset-2 .col-lg-6 .col-lg-offset-0</div>
 +</div>
 +{% endexample %}
 +
 +### Example: Offsetting columns
 +
 +Move columns to the right using `.col-md-offset-*` classes. These classes increase the left margin of a column by `*` columns. For example, `.col-md-offset-4` moves `.col-md-4` over four columns.
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-md-4">.col-md-4</div>
 +  <div class="col-md-4 col-md-offset-4">.col-md-4 .col-md-offset-4</div>
 +</div>
 +<div class="row">
 +  <div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
 +  <div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
 +</div>
 +<div class="row">
 +  <div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div>
 +</div>
 +{% endexample %}
 +
 +### Example: Nesting columns
 +
 +To nest your content with the default grid, add a new `.row` and set of `.col-sm-*` columns within an existing `.col-sm-*` column. Nested rows should include a set of columns that add up to 12 or less (it is not required that you use all 12 available columns).
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-sm-9">
 +    Level 1: .col-sm-9
 +    <div class="row">
 +      <div class="col-xs-8 col-sm-6">
 +        Level 2: .col-xs-8 .col-sm-6
 +      </div>
 +      <div class="col-xs-4 col-sm-6">
 +        Level 2: .col-xs-4 .col-sm-6
 +      </div>
 +    </div>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +### Example: Column ordering
 +
 +Easily change the order of our built-in grid columns with `.col-md-push-*` and `.col-md-pull-*` modifier classes.
 +
 +{% example html %}
 +<div class="row">
 +  <div class="col-md-9 col-md-push-3">.col-md-9 .col-md-push-3</div>
 +  <div class="col-md-3 col-md-pull-9">.col-md-3 .col-md-pull-9</div>
 +</div>
 +{% endexample %}
index 431805c9e20ebf7bc4de916fbe2e782997804d68,0000000000000000000000000000000000000000..4fc78088423946043d316091a5dbec0fcc0abe84
mode 100644,000000..100644
--- /dev/null
@@@ -1,147 -1,0 +1,163 @@@
-   <a class="media-left" href="#">
-     <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
-   </a>
 +---
 +layout: page
 +title: Media
 +---
 +
 +Abstract object styles for building various types of components (like blog comments, Tweets, etc) that feature a left- or right-aligned image alongside textual content.
 +
 +### Default media
 +
 +The default media allow to float a media object (images, video, audio) to the left or right of a content block.
 +
 +{% example html %}
 +<div class="media">
 +  <a class="media-left" href="#">
 +    <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
 +  </a>
 +  <div class="media-body">
 +    <h4 class="media-heading">Media heading</h4>
 +    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
 +  </div>
 +</div>
 +{% endexample %}
 +
 +### Nesting
 +
 +Media components can also be nested.
 +
 +{% example html %}
 +<div class="media">
-   <a class="media-left" href="#">
-     <img data-src="holder.js/64x64" alt="Generic placeholder image">
-   </a>
++  <div class="media-left">
++    <a href="#">
++      <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
++    </a>
++  </div>
 +  <div class="media-body">
 +    <h4 class="media-heading">Media heading</h4>
 +    Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
 +    <div class="media">
 +      <a class="media-left" href="#">
 +        <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
 +      </a>
 +      <div class="media-body">
 +        <h4 class="media-heading">Nested media heading</h4>
 +        Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.
 +      </div>
 +    </div>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +### Alignment
 +
 +The images or other media can be aligned top, middle, or bottom. The default is top aligned.
 +
 +{% example html %}
 +<div class="media">
-   <a class="media-left media-middle" href="#">
-     <img data-src="holder.js/64x64" alt="Generic placeholder image">
-   </a>
++  <div class="media-left">
++    <a href="#">
++      <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
++    </a>
++  </div>
 +  <div class="media-body">
 +    <h4 class="media-heading">Top aligned media</h4>
 +    <p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
 +    <p>Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +{% example html %}
 +<div class="media">
-   <a class="media-left media-bottom" href="#">
-     <img data-src="holder.js/64x64" alt="Generic placeholder image">
-   </a>
++  <div class="media-left media-middle">
++    <a href="#">
++      <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
++    </a>
++  </div>
 +  <div class="media-body">
 +    <h4 class="media-heading">Middle aligned media</h4>
 +    <p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
 +    <p>Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +{% example html %}
 +<div class="media">
-     <a class="media-left" href="#">
-       <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
-     </a>
++  <div class="media-left media-bottom">
++    <a href="#">
++      <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
++    </a>
++  </div>
 +  <div class="media-body">
 +    <h4 class="media-heading">Bottom aligned media</h4>
 +    <p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis. Fusce condimentum nunc ac nisi vulputate fringilla. Donec lacinia congue felis in faucibus.</p>
 +    <p>Donec sed odio dui. Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
 +  </div>
 +</div>
 +{% endexample %}
 +
 +### Media list
 +
 +With a bit of extra markup, you can use media inside list (useful for comment threads or articles lists).
 +
 +{% example html %}
 +<ul class="media-list">
 +  <li class="media">
-             <a class="media-left" href="#">
-               <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
-             </a>
++    <div class="media-left">
++      <a href="#">
++        <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
++      </a>
++    </div>
 +    <div class="media-body">
 +      <h4 class="media-heading">Media heading</h4>
 +      <p>Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.</p>
 +      <!-- Nested media object -->
 +      <div class="media">
 +        <a class="media-left" href="#">
 +          <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
 +        </a>
 +        <div class="media-body">
 +          <h4 class="media-heading">Nested media heading</h4>
 +          Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.
 +          <!-- Nested media object -->
 +          <div class="media">
-         <a class="media-left" href="#">
-           <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
-         </a>
++            <div class="media-left">
++              <a href="#">
++                <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
++              </a>
++            </div>
 +            <div class="media-body">
 +              <h4 class="media-heading">Nested media heading</h4>
 +              Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.
 +            </div>
 +          </div>
 +        </div>
 +      </div>
 +      <!-- Nested media object -->
 +      <div class="media">
-     <a class="media-right" href="#">
-       <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
-     </a>
++        <div class="media-left">
++          <a href="#">
++            <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
++          </a>
++        </div>
 +        <div class="media-body">
 +          <h4 class="media-heading">Nested media heading</h4>
 +          Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.
 +        </div>
 +      </div>
 +    </div>
 +  </li>
 +  <li class="media">
++    <div class="media-right">
++      <a href="#">
++        <img class="media-object" data-src="holder.js/64x64" alt="Generic placeholder image">
++      </a>
++    </div>
 +    <div class="media-body">
 +      <h4 class="media-heading">Media heading</h4>
 +      Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.
 +    </div>
 +  </li>
 +</ul>
 +{% endexample %}
index 5191ce6ece54358586675492214e424231b2ed3c,0000000000000000000000000000000000000000..69d4ad604c9a27a52ae9ea2ecce570a8df73cf6c
mode 100644,000000..100644
--- /dev/null
@@@ -1,264 -1,0 +1,264 @@@
-         <th><code>.visible-xs-*</code></th>
 +---
 +layout: page
 +title: Responsive utilities
 +---
 +
 +For faster mobile-friendly development, use these utility classes for showing and hiding content by device via media query. Also included are utility classes for toggling content when printed.
 +
 +Try to use these on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.
 +
 +##  Available classes
 +
 +Use a single or combination of the available classes for toggling content across viewport breakpoints.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped responsive-utilities">
 +    <thead>
 +      <tr>
 +        <th></th>
 +        <th>
 +          Extra small devices
 +          <small>Phones (&lt;768px)</small>
 +        </th>
 +        <th>
 +          Small devices
 +          <small>Tablets (&ge;768px)</small>
 +        </th>
 +        <th>
 +          Medium devices
 +          <small>Desktops (&ge;992px)</small>
 +        </th>
 +        <th>
 +          Large devices
 +          <small>Desktops (&ge;1200px)</small>
 +        </th>
 +      </tr>
 +    </thead>
 +    <tbody>
 +      <tr>
-         <th><code>.visible-sm-*</code></th>
++        <th scope="rowspan"><code>.visible-xs-*</code></th>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-hidden">Hidden</td>
 +      </tr>
 +      <tr>
-         <th><code>.visible-md-*</code></th>
++        <th scope="rowspan"><code>.visible-sm-*</code></th>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-hidden">Hidden</td>
 +      </tr>
 +      <tr>
-         <th><code>.visible-lg-*</code></th>
++        <th scope="rowspan"><code>.visible-md-*</code></th>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-hidden">Hidden</td>
 +      </tr>
 +      <tr>
-         <th><code>.hidden-xs</code></th>
++        <th scope="rowspan"><code>.visible-lg-*</code></th>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-visible">Visible</td>
 +      </tr>
 +    </tbody>
 +    <tbody>
 +      <tr>
-         <th><code>.hidden-sm</code></th>
++        <th scope="rowspan"><code>.hidden-xs</code></th>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-visible">Visible</td>
 +      </tr>
 +      <tr>
-         <th><code>.hidden-md</code></th>
++        <th scope="rowspan"><code>.hidden-sm</code></th>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-visible">Visible</td>
 +      </tr>
 +      <tr>
-         <th><code>.hidden-lg</code></th>
++        <th scope="rowspan"><code>.hidden-md</code></th>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-visible">Visible</td>
 +      </tr>
 +      <tr>
++        <th scope="rowspan"><code>.hidden-lg</code></th>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-hidden">Hidden</td>
 +      </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +As of v3.2.0, the `.visible-*-*` classes for each breakpoint come in three variations, one for each CSS `display` property value listed below.
 +
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped">
 +    <thead>
 +      <tr>
 +        <th>Group of classes</th>
 +        <th>CSS <code>display</code></th>
 +      </tr>
 +    </thead>
 +    <tbody>
 +      <tr>
 +        <td><code>.visible-*-block</code></td>
 +        <td><code>display: block;</code></td>
 +      </tr>
 +      <tr>
 +        <td><code>.visible-*-inline</code></td>
 +        <td><code>display: inline;</code></td>
 +      </tr>
 +      <tr>
 +        <td><code>.visible-*-inline-block</code></td>
 +        <td><code>display: inline-block;</code></td>
 +      </tr>
 +    </tbody>
 +  </table>
 +</div>
 +<p>So, for extra small (<code>xs</code>) screens for example, the available <code>.visible-*-*</code> classes are: <code>.visible-xs-block</code>, <code>.visible-xs-inline</code>, and <code>.visible-xs-inline-block</code>.</p>
 +
 +<h2 id="responsive-utilities-print">Print classes</h2>
 +<p>Similar to the regular responsive classes, use these for toggling content for print.</p>
 +<div class="table-responsive">
 +  <table class="table table-bordered table-striped responsive-utilities">
 +    <thead>
 +      <tr>
 +        <th>Classes</th>
 +        <th>Browser</th>
 +        <th>Print</th>
 +      </tr>
 +    </thead>
 +    <tbody>
 +      <tr>
 +        <th>
 +          <code>.visible-print-block</code><br>
 +          <code>.visible-print-inline</code><br>
 +          <code>.visible-print-inline-block</code>
 +        </th>
 +        <td class="is-hidden">Hidden</td>
 +        <td class="is-visible">Visible</td>
 +      </tr>
 +      <tr>
 +        <th><code>.hidden-print</code></th>
 +        <td class="is-visible">Visible</td>
 +        <td class="is-hidden">Hidden</td>
 +      </tr>
 +    </tbody>
 +  </table>
 +</div>
 +
 +## Test cases
 +
 +Resize your browser or load on different devices to test the responsive utility classes.
 +
 +### Visible on...
 +
 +Green checkmarks indicate the element **is visible** in your current viewport.
 +
 +<div class="row responsive-utilities-test visible-on">
 +  <div class="col-xs-6 col-sm-3">
 +    <span class="hidden-xs">Extra small</span>
 +    <span class="visible-xs-block">&#10004; Visible on x-small</span>
 +  </div>
 +  <div class="col-xs-6 col-sm-3">
 +    <span class="hidden-sm">Small</span>
 +    <span class="visible-sm-block">&#10004; Visible on small</span>
 +  </div>
 +  <div class="clearfix visible-xs-block"></div>
 +  <div class="col-xs-6 col-sm-3">
 +    <span class="hidden-md">Medium</span>
 +    <span class="visible-md-block">&#10004; Visible on medium</span>
 +  </div>
 +  <div class="col-xs-6 col-sm-3">
 +    <span class="hidden-lg">Large</span>
 +    <span class="visible-lg-block">&#10004; Visible on large</span>
 +  </div>
 +</div>
 +<div class="row responsive-utilities-test visible-on">
 +  <div class="col-xs-6">
 +    <span class="hidden-xs hidden-sm">Extra small and small</span>
 +    <span class="visible-xs-block visible-sm-block">&#10004; Visible on x-small and small</span>
 +  </div>
 +  <div class="col-xs-6">
 +    <span class="hidden-md hidden-lg">Medium and large</span>
 +    <span class="visible-md-block visible-lg-block">&#10004; Visible on medium and large</span>
 +  </div>
 +  <div class="clearfix visible-xs-block"></div>
 +  <div class="col-xs-6">
 +    <span class="hidden-xs hidden-md">Extra small and medium</span>
 +    <span class="visible-xs-block visible-md-block">&#10004; Visible on x-small and medium</span>
 +  </div>
 +  <div class="col-xs-6">
 +    <span class="hidden-sm hidden-lg">Small and large</span>
 +    <span class="visible-sm-block visible-lg-block">&#10004; Visible on small and large</span>
 +  </div>
 +  <div class="clearfix visible-xs-block"></div>
 +  <div class="col-xs-6">
 +    <span class="hidden-xs hidden-lg">Extra small and large</span>
 +    <span class="visible-xs-block visible-lg-block">&#10004; Visible on x-small and large</span>
 +  </div>
 +  <div class="col-xs-6">
 +    <span class="hidden-sm hidden-md">Small and medium</span>
 +    <span class="visible-sm-block visible-md-block">&#10004; Visible on small and medium</span>
 +  </div>
 +</div>
 +
 +### Hidden on...
 +
 +Here, green checkmarks also indicate the element **is hidden** in your current viewport.
 +
 +<div class="row responsive-utilities-test hidden-on">
 +  <div class="col-xs-6 col-sm-3">
 +    <span class="hidden-xs">Extra small</span>
 +    <span class="visible-xs-block">&#10004; Hidden on x-small</span>
 +  </div>
 +  <div class="col-xs-6 col-sm-3">
 +    <span class="hidden-sm">Small</span>
 +    <span class="visible-sm-block">&#10004; Hidden on small</span>
 +  </div>
 +  <div class="clearfix visible-xs-block"></div>
 +  <div class="col-xs-6 col-sm-3">
 +    <span class="hidden-md">Medium</span>
 +    <span class="visible-md-block">&#10004; Hidden on medium</span>
 +  </div>
 +  <div class="col-xs-6 col-sm-3">
 +    <span class="hidden-lg">Large</span>
 +    <span class="visible-lg-block">&#10004; Hidden on large</span>
 +  </div>
 +</div>
 +<div class="row responsive-utilities-test hidden-on">
 +  <div class="col-xs-6">
 +    <span class="hidden-xs hidden-sm">Extra small and small</span>
 +    <span class="visible-xs-block visible-sm-block">&#10004; Hidden on x-small and small</span>
 +  </div>
 +  <div class="col-xs-6">
 +    <span class="hidden-md hidden-lg">Medium and large</span>
 +    <span class="visible-md-block visible-lg-block">&#10004; Hidden on medium and large</span>
 +  </div>
 +  <div class="clearfix visible-xs-block"></div>
 +  <div class="col-xs-6">
 +    <span class="hidden-xs hidden-md">Extra small and medium</span>
 +    <span class="visible-xs-block visible-md-block">&#10004; Hidden on x-small and medium</span>
 +  </div>
 +  <div class="col-xs-6">
 +    <span class="hidden-sm hidden-lg">Small and large</span>
 +    <span class="visible-sm-block visible-lg-block">&#10004; Hidden on small and large</span>
 +  </div>
 +  <div class="clearfix visible-xs-block"></div>
 +  <div class="col-xs-6">
 +    <span class="hidden-xs hidden-lg">Extra small and large</span>
 +    <span class="visible-xs-block visible-lg-block">&#10004; Hidden on x-small and large</span>
 +  </div>
 +  <div class="col-xs-6">
 +    <span class="hidden-sm hidden-md">Small and medium</span>
 +    <span class="visible-sm-block visible-md-block">&#10004; Hidden on small and medium</span>
 +  </div>
 +</div>
Simple merge
index a00d289df610108541ffc66d8fc06f7bd0da5d42,a28e397a551d8569fd9fc1f3e86d75ded2e27b56..d40fec82636802d5e8de3cfdbcd4aa318efeecda
      top: 50%;
      z-index: 5;
      display: inline-block;
 +    width:  20px;
 +    height: 20px;
 +    margin-top: -10px;
 +    font-family: serif;
++    line-height: 1;
    }
 -  .icon-prev,
 -  .glyphicon-chevron-left {
 +  .icon-prev {
      left: 50%;
      margin-left: -10px;
    }
      right: 50%;
      margin-right: -10px;
    }
 -  .icon-prev,
 -  .icon-next {
 -    width:  20px;
 -    height: 20px;
 -    margin-top: -10px;
 -    line-height: 1;
 -    font-family: serif;
 -  }
--
--
    .icon-prev {
      &:before {
        content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
Simple merge
index ef4bebac23f56ca08606b4f28f5e1fa9d15a23a7,085d9d47ce1e05b27cfd95a9eb6847de3fe7c083..5a347aa57a85b18e77c9471809da01666f2dbb7a
@@@ -312,16 -309,27 +312,27 @@@ input[type="checkbox"] 
  //
  // Build on `.form-control` with modifier classes to decrease or increase the
  // height and font-size of form controls.
+ //
+ // The `.form-group-* form-control` variations are sadly duplicated to avoid the
+ // issue documented in https://github.com/twbs/bootstrap/issues/15074.
  
- .input-sm,
- .form-group-sm .form-control {
+ .input-sm {
 -  .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);
 +  .input-size(@input-height-sm; @padding-sm-vertical; @padding-smhorizontal; @font-size-sm; @line-height-sm; @input-border-radius-sm);
  }
 -    .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);
+ .form-group-sm {
+   .form-control {
++    .input-size(@input-height-sm; @padding-sm-vertical; @padding-smhorizontal; @font-size-sm; @line-height-sm; @input-border-radius-sm);
+   }
+ }
  
- .input-lg,
- .form-group-lg .form-control {
+ .input-lg {
 -  .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);
 +  .input-size(@input-height-lg; @padding-lg-vertical; @padding-lg-horizontal; @font-size-lg; @line-height-lg; @input-border-radius-lg);
  }
 -    .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);
+ .form-group-lg {
+   .form-control {
++    .input-size(@input-height-lg; @padding-lg-vertical; @padding-lg-horizontal; @font-size-lg; @line-height-lg; @input-border-radius-lg);
+   }
+ }
  
  
  // Form control feedback states
Simple merge