<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.web.zope.plone.cvs">
    <title>gmane.comp.web.zope.plone.cvs</title>
    <link>http://blog.gmane.org/gmane.comp.web.zope.plone.cvs</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53723"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53722"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53721"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53720"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53719"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53718"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53717"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53716"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53715"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53714"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53713"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53712"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53711"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53710"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53709"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53708"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53707"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53706"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53705"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53704"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53723">
    <title>plone.app.toolbar/master: updating bootstrap to 2.0.3</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53723</link>
    <description>&lt;pre&gt;Repository: plone.app.toolbar
Branch: refs/heads/master
Date: 2012-05-24T18:08:49-07:00
Author: Rok Garbas (garbas) &amp;lt;rok&amp;lt; at &amp;gt;garbas.si&amp;gt;
Commit: https://github.com/plone/plone.app.toolbar/commit/5e554e870fdb6051fc3eb5524360f79cc6740eb5

updating bootstrap to 2.0.3

Files changed:
A plone/app/toolbar/resources/lib/bootstrap/.travis.yml
A plone/app/toolbar/resources/lib/bootstrap/docs/assets/ico/apple-touch-icon-144-precomposed.png
A plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap.js
A plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap.min.js
A plone/app/toolbar/resources/lib/bootstrap/docs/build/index.js
A plone/app/toolbar/resources/lib/bootstrap/docs/build/package.json
A plone/app/toolbar/resources/lib/bootstrap/js/.jshintrc
A plone/app/toolbar/resources/lib/bootstrap/js/tests/phantom.js
A plone/app/toolbar/resources/lib/bootstrap/js/tests/server.js
A plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-carousel.js
A plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-phantom.js
A plone/app/toolbar/resources/lib/bootstrap/less/labels-badges.less
A plone/app/toolbar/resources/lib/bootstrap/less/responsive-1200px-min.less
A plone/app/toolbar/resources/lib/bootstrap/less/responsive-767px-max.less
A plone/app/toolbar/resources/lib/bootstrap/less/responsive-768px-979px.less
A plone/app/toolbar/resources/lib/bootstrap/less/responsive-navbar.less
A plone/app/toolbar/resources/lib/bootstrap/less/responsive-utilities.less
A plone/app/toolbar/resources/lib/bootstrap/less/tests/css-tests.css
A plone/app/toolbar/resources/lib/bootstrap/less/tests/css-tests.html
A plone/app/toolbar/resources/lib/bootstrap/package.json
M plone/app/toolbar/resources/lib/bootstrap/.gitignore
M plone/app/toolbar/resources/lib/bootstrap/LICENSE
M plone/app/toolbar/resources/lib/bootstrap/Makefile
M plone/app/toolbar/resources/lib/bootstrap/README.md
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/bootstrap-responsive.css
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/bootstrap.css
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/docs.css
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/ico/apple-touch-icon-72-precomposed.png
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/example-sites/kippt.png
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/glyphicons-halflings-white.png
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/glyphicons-halflings.png
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/application.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-alert.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-button.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-carousel.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-collapse.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-dropdown.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-modal.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-popover.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-scrollspy.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-tab.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-tooltip.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-transition.js
M plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-typeahead.js
M plone/app/toolbar/resources/lib/bootstrap/docs/base-css.html
M plone/app/toolbar/resources/lib/bootstrap/docs/components.html
M plone/app/toolbar/resources/lib/bootstrap/docs/download.html
M plone/app/toolbar/resources/lib/bootstrap/docs/examples.html
M plone/app/toolbar/resources/lib/bootstrap/docs/examples/fluid.html
M plone/app/toolbar/resources/lib/bootstrap/docs/examples/hero.html
M plone/app/toolbar/resources/lib/bootstrap/docs/examples/starter-template.html
M plone/app/toolbar/resources/lib/bootstrap/docs/index.html
M plone/app/toolbar/resources/lib/bootstrap/docs/javascript.html
M plone/app/toolbar/resources/lib/bootstrap/docs/less.html
M plone/app/toolbar/resources/lib/bootstrap/docs/scaffolding.html
M plone/app/toolbar/resources/lib/bootstrap/docs/templates/layout.mustache
M plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/base-css.mustache
M plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/components.mustache
M plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/download.mustache
M plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/index.mustache
M plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/javascript.mustache
M plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/less.mustache
M plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/scaffolding.mustache
M plone/app/toolbar/resources/lib/bootstrap/docs/upgrading.html
M plone/app/toolbar/resources/lib/bootstrap/img/glyphicons-halflings-white.png
M plone/app/toolbar/resources/lib/bootstrap/img/glyphicons-halflings.png
M plone/app/toolbar/resources/lib/bootstrap/js/README.md
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-alert.js
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-button.js
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-carousel.js
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-collapse.js
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-dropdown.js
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-modal.js
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-popover.js
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-scrollspy.js
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-tab.js
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-tooltip.js
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-transition.js
M plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-typeahead.js
M plone/app/toolbar/resources/lib/bootstrap/js/tests/index.html
M plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-alert.js
M plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-collapse.js
M plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-dropdown.js
M plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-modal.js
M plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-tab.js
M plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-tooltip.js
M plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-transition.js
M plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-typeahead.js
M plone/app/toolbar/resources/lib/bootstrap/less/accordion.less
M plone/app/toolbar/resources/lib/bootstrap/less/bootstrap.less
M plone/app/toolbar/resources/lib/bootstrap/less/button-groups.less
M plone/app/toolbar/resources/lib/bootstrap/less/buttons.less
M plone/app/toolbar/resources/lib/bootstrap/less/close.less
M plone/app/toolbar/resources/lib/bootstrap/less/code.less
M plone/app/toolbar/resources/lib/bootstrap/less/component-animations.less
M plone/app/toolbar/resources/lib/bootstrap/less/dropdowns.less
M plone/app/toolbar/resources/lib/bootstrap/less/forms.less
M plone/app/toolbar/resources/lib/bootstrap/less/layouts.less
M plone/app/toolbar/resources/lib/bootstrap/less/mixins.less
M plone/app/toolbar/resources/lib/bootstrap/less/modals.less
M plone/app/toolbar/resources/lib/bootstrap/less/navbar.less
M plone/app/toolbar/resources/lib/bootstrap/less/navs.less
M plone/app/toolbar/resources/lib/bootstrap/less/progress-bars.less
M plone/app/toolbar/resources/lib/bootstrap/less/reset.less
M plone/app/toolbar/resources/lib/bootstrap/less/responsive.less
M plone/app/toolbar/resources/lib/bootstrap/less/sprites.less
M plone/app/toolbar/resources/lib/bootstrap/less/tables.less
M plone/app/toolbar/resources/lib/bootstrap/less/thumbnails.less
M plone/app/toolbar/resources/lib/bootstrap/less/type.less
M plone/app/toolbar/resources/lib/bootstrap/less/variables.less
D plone/app/toolbar/resources/lib/bootstrap/docs/assets/bootstrap.zip
D plone/app/toolbar/resources/lib/bootstrap/less/badges.less
D plone/app/toolbar/resources/lib/bootstrap/less/labels.less

diff --git a/plone/app/toolbar/resources/lib/bootstrap/.gitignore b/plone/app/toolbar/resources/lib/bootstrap/.gitignore
index 5e8b7ab..2b1ffbf 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/.gitignore
+++ b/plone/app/toolbar/resources/lib/bootstrap/.gitignore
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,6 +6,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 *.rej
 *.swo
 *.swp
+*.zip
 *.vi
 *~
 *.sass-cache
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,4 +32,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; nbproject
 .hg
 .svn
 .CVS
-.idea
\ No newline at end of file
+.idea
+node_modules
diff --git a/plone/app/toolbar/resources/lib/bootstrap/.travis.yml b/plone/app/toolbar/resources/lib/bootstrap/.travis.yml
new file mode 100644
index 0000000..b8e1f17
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/.travis.yml
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,3 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+language: node_js
+node_js:
+  - 0.6
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/LICENSE b/plone/app/toolbar/resources/lib/bootstrap/LICENSE
index 1ec0d70..2bb9ad2 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/LICENSE
+++ b/plone/app/toolbar/resources/lib/bootstrap/LICENSE
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,13 +1,176 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-Copyright 2012 Twitter, Inc.
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
 
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
-http://www.apache.org/licenses/LICENSE-2.0
+   1. Definitions.
 
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
\ No newline at end of file
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/Makefile b/plone/app/toolbar/resources/lib/bootstrap/Makefile
index 768d59e..827b692 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/Makefile
+++ b/plone/app/toolbar/resources/lib/bootstrap/Makefile
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2,27 +2,57 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; BOOTSTRAP = ./docs/assets/css/bootstrap.css
 BOOTSTRAP_LESS = ./less/bootstrap.less
 BOOTSTRAP_RESPONSIVE = ./docs/assets/css/bootstrap-responsive.css
 BOOTSTRAP_RESPONSIVE_LESS = ./less/responsive.less
-LESS_COMPRESSOR ?= `which lessc`
-WATCHR ?= `which watchr`
+DATE=$(shell date +%I:%M%p)
+CHECK=\033[32m✔\033[39m
+HR=\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#
+
 
 #
 # BUILD DOCS
 #
 
-docs: bootstrap
-rm docs/assets/bootstrap.zip
-zip -r docs/assets/bootstrap.zip bootstrap
-rm -r bootstrap
-lessc ${BOOTSTRAP_LESS} &amp;gt; ${BOOTSTRAP}
-lessc ${BOOTSTRAP_RESPONSIVE_LESS} &amp;gt; ${BOOTSTRAP_RESPONSIVE}
-node docs/build
-cp img/* docs/assets/img/
-cp js/*.js docs/assets/js/
-cp js/tests/vendor/jquery.js docs/assets/js/
+build:
+&amp;lt; at &amp;gt;echo "\n${HR}"
+&amp;lt; at &amp;gt;echo "Building Bootstrap..."
+&amp;lt; at &amp;gt;echo "${HR}\n"
+&amp;lt; at &amp;gt;jshint js/*.js --config js/.jshintrc
+&amp;lt; at &amp;gt;jshint js/tests/unit/*.js --config js/.jshintrc
+&amp;lt; at &amp;gt;echo "Running JSHint on javascript...             ${CHECK} Done"
+&amp;lt; at &amp;gt;recess --compile ${BOOTSTRAP_LESS} &amp;gt; ${BOOTSTRAP}
+&amp;lt; at &amp;gt;recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} &amp;gt; ${BOOTSTRAP_RESPONSIVE}
+&amp;lt; at &amp;gt;echo "Compiling LESS with Recess...               ${CHECK} Done"
+&amp;lt; at &amp;gt;node docs/build
+&amp;lt; at &amp;gt;cp img/* docs/assets/img/
+&amp;lt; at &amp;gt;cp js/*.js docs/assets/js/
+&amp;lt; at &amp;gt;cp js/tests/vendor/jquery.js docs/assets/js/
+&amp;lt; at &amp;gt;echo "Compiling documentation...                  ${CHECK} Done"
+&amp;lt; at &amp;gt;cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js &amp;gt; docs/assets/js/bootstrap.js
+&amp;lt; at &amp;gt;uglifyjs -nc docs/assets/js/bootstrap.js &amp;gt; docs/assets/js/bootstrap.min.tmp.js
+&amp;lt; at &amp;gt;echo "/**\n* Bootstrap.js by &amp;lt; at &amp;gt;fat &amp;amp; &amp;lt; at &amp;gt;mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" &amp;gt; docs/assets/js/copyright.js
+&amp;lt; at &amp;gt;cat docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js &amp;gt; docs/assets/js/bootstrap.min.js
+&amp;lt; at &amp;gt;rm docs/assets/js/copyright.js docs/assets/js/bootstrap.min.tmp.js
+&amp;lt; at &amp;gt;echo "Compiling and minifying javascript...       ${CHECK} Done"
+&amp;lt; at &amp;gt;echo "\n${HR}"
+&amp;lt; at &amp;gt;echo "Bootstrap successfully built at ${DATE}."
+&amp;lt; at &amp;gt;echo "${HR}\n"
+&amp;lt; at &amp;gt;echo "Thanks for using Bootstrap,"
+&amp;lt; at &amp;gt;echo "&amp;lt;3 &amp;lt; at &amp;gt;mdo and &amp;lt; at &amp;gt;fat\n"
+
+#
+# RUN JSHINT &amp;amp; QUNIT TESTS IN PHANTOMJS
+#
+
+test:
+jshint js/*.js --config js/.jshintrc
+jshint js/tests/unit/*.js --config js/.jshintrc
+node js/tests/server.js &amp;amp;
+phantomjs js/tests/phantom.js "http://localhost:3000/js/tests"
+kill -9 `cat js/tests/pid.txt`
+rm js/tests/pid.txt
 
 #
 # BUILD SIMPLE BOOTSTRAP DIRECTORY
-# lessc &amp;amp; uglifyjs are required
+# recess &amp;amp; uglifyjs are required
 #
 
 bootstrap:
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -30,13 +60,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bootstrap:
 mkdir -p bootstrap/css
 mkdir -p bootstrap/js
 cp img/* bootstrap/img/
-lessc ${BOOTSTRAP_LESS} &amp;gt; bootstrap/css/bootstrap.css
-lessc --compress ${BOOTSTRAP_LESS} &amp;gt; bootstrap/css/bootstrap.min.css
-lessc ${BOOTSTRAP_RESPONSIVE_LESS} &amp;gt; bootstrap/css/bootstrap-responsive.css
-lessc --compress ${BOOTSTRAP_RESPONSIVE_LESS} &amp;gt; bootstrap/css/bootstrap-responsive.min.css
+recess --compile ${BOOTSTRAP_LESS} &amp;gt; bootstrap/css/bootstrap.css
+recess --compress ${BOOTSTRAP_LESS} &amp;gt; bootstrap/css/bootstrap.min.css
+recess --compile ${BOOTSTRAP_RESPONSIVE_LESS} &amp;gt; bootstrap/css/bootstrap-responsive.css
+recess --compress ${BOOTSTRAP_RESPONSIVE_LESS} &amp;gt; bootstrap/css/bootstrap-responsive.min.css
 cat js/bootstrap-transition.js js/bootstrap-alert.js js/bootstrap-button.js js/bootstrap-carousel.js js/bootstrap-collapse.js js/bootstrap-dropdown.js js/bootstrap-modal.js js/bootstrap-tooltip.js js/bootstrap-popover.js js/bootstrap-scrollspy.js js/bootstrap-tab.js js/bootstrap-typeahead.js &amp;gt; bootstrap/js/bootstrap.js
 uglifyjs -nc bootstrap/js/bootstrap.js &amp;gt; bootstrap/js/bootstrap.min.tmp.js
-echo "/**\n* Bootstrap.js by &amp;lt; at &amp;gt;fat &amp;amp; &amp;lt; at &amp;gt;mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" &amp;gt; bootstrap/js/copyright.js
+echo "/*!\n* Bootstrap.js by &amp;lt; at &amp;gt;fat &amp;amp; &amp;lt; at &amp;gt;mdo\n* Copyright 2012 Twitter, Inc.\n* http://www.apache.org/licenses/LICENSE-2.0.txt\n*/" &amp;gt; bootstrap/js/copyright.js
 cat bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js &amp;gt; bootstrap/js/bootstrap.min.js
 rm bootstrap/js/copyright.js bootstrap/js/bootstrap.min.tmp.js
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -44,7 +74,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; bootstrap:
 # MAKE FOR GH-PAGES 4 FAT &amp;amp; MDO ONLY (O_O  )
 #
 
-gh-pages: docs
+gh-pages: bootstrap docs
+rm -f docs/assets/bootstrap.zip
+zip -r docs/assets/bootstrap.zip bootstrap
+rm -r bootstrap
 rm -f ../bootstrap-gh-pages/assets/bootstrap.zip
 node docs/build production
 cp -r docs/* ../bootstrap-gh-pages
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -58,4 +91,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; watch:
 watchr -e "watch('less/.*\.less') { system 'make' }"
 
 
-.PHONY: docs watch gh-pages
+.PHONY: docs watch gh-pages
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/README.md b/plone/app/toolbar/resources/lib/bootstrap/README.md
index 47a4aa7..54ea405 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/README.md
+++ b/plone/app/toolbar/resources/lib/bootstrap/README.md
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,4 +1,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-[Twitter Bootstrap](http://twitter.github.com/bootstrap)
+[Twitter Bootstrap](http://twitter.github.com/bootstrap) [![Build Status](https://secure.travis-ci.org/twitter/bootstrap.png)](http://travis-ci.org/twitter/bootstrap)
 =================
 
 Bootstrap provides simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions. In other words, it's a front-end toolkit for faster, more beautiful web development. It's created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat) at Twitter.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -25,9 +25,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Releases will be numbered with the follow format:
 
 And constructed with the following guidelines:
 
-* Breaking backward compatibility bumps the major
-* New additions without breaking backward compatibility bumps the minor
-* Bug fixes and misc changes bump the patch
+* Breaking backward compatibility bumps the major (and resets the minor and patch)
+* New additions without breaking backward compatibility bumps the minor (and resets the patch)
+* Bug fixes and misc changes bumps the patch
 
 For more information on SemVer, please visit http://semver.org/.
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -49,6 +49,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Keep up to date on announcements and more by following Bootstrap on Twitter, [&amp;lt; at &amp;gt;T
 
 
 
+Blog
+----
+
+Read more detailed announcements, discussions, and more on [The Official Twitter Bootstrap Blog](http://blog.getbootstrap.com).
+
+
+
 Mailing list
 ------------
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -74,8 +81,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Developers
 
 We have included a makefile with convenience methods for working with the Bootstrap library.
 
++ **dependencies**
+Our makefile depends on you having recess, uglify.js, and jshint installed. To install, just run the following command in npm:
+
+```
+$ npm install recess uglify-js jshint -g
+```
+
 + **build** - `make`
-Runs the LESS compiler to rebuild the `/less` files and compiles the docs pages. Requires lessc and uglify-js. &amp;lt;a href="http://twitter.github.com/bootstrap/less.html#compiling"&amp;gt;Read more in our docs &amp;amp;raquo;&amp;lt;/a&amp;gt;
+Runs the recess compiler to rebuild the `/less` files and compiles the docs pages. Requires recess and uglify-js. &amp;lt;a href="http://twitter.github.com/bootstrap/less.html#compiling"&amp;gt;Read more in our docs &amp;amp;raquo;&amp;lt;/a&amp;gt;
+
++ **test** - `make test`
+Runs jshint and qunit tests headlessly in phantom js (used for ci). Depends on having phatomjs installed.
 
 + **watch** - `make watch`
 This is a convenience method for watching just Less files and automatically building them whenever you save. Requires the Watchr gem.
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/bootstrap.zip b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/bootstrap.zip
deleted file mode 100644
index d6ecc58..0000000
Binary files a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/bootstrap.zip and /dev/null differ
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/bootstrap-responsive.css b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/bootstrap-responsive.css
index d9fa91d..7f669d5 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/bootstrap-responsive.css
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/bootstrap-responsive.css
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /*!
- * Bootstrap Responsive v2.0.2
+ * Bootstrap Responsive v2.0.3
  *
  * Copyright 2012 Twitter, Inc
  * Licensed under the Apache License v2.0
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -7,85 +7,86 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  *
  * Designed and built with all the love in the world &amp;lt; at &amp;gt;twitter by &amp;lt; at &amp;gt;mdo and &amp;lt; at &amp;gt;fat.
  */
+
 .clearfix {
   *zoom: 1;
 }
+
 .clearfix:before,
 .clearfix:after {
   display: table;
   content: "";
 }
+
 .clearfix:after {
   clear: both;
 }
+
 .hide-text {
-  overflow: hidden;
-  text-indent: 100%;
-  white-space: nowrap;
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0;
 }
+
 .input-block-level {
   display: block;
   width: 100%;
   min-height: 28px;
-  /* Make inputs at least the height of their button counterpart */
-
-  /* Makes inputs behave like true block-level elements */
-
   -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  -ms-box-sizing: border-box;
-  box-sizing: border-box;
+     -moz-box-sizing: border-box;
+      -ms-box-sizing: border-box;
+          box-sizing: border-box;
 }
+
 .hidden {
   display: none;
   visibility: hidden;
 }
+
 .visible-phone {
-  display: none;
+  display: none !important;
 }
+
 .visible-tablet {
-  display: none;
-}
-.visible-desktop {
-  display: block;
-}
-.hidden-phone {
-  display: block;
-}
-.hidden-tablet {
-  display: block;
+  display: none !important;
 }
+
 .hidden-desktop {
-  display: none;
+  display: none !important;
 }
+
 &amp;lt; at &amp;gt;media (max-width: 767px) {
   .visible-phone {
-    display: block;
+    display: inherit !important;
   }
   .hidden-phone {
-    display: none;
+    display: none !important;
   }
   .hidden-desktop {
-    display: block;
+    display: inherit !important;
   }
   .visible-desktop {
-    display: none;
+    display: none !important;
   }
 }
+
 &amp;lt; at &amp;gt;media (min-width: 768px) and (max-width: 979px) {
   .visible-tablet {
-    display: block;
+    display: inherit !important;
   }
   .hidden-tablet {
-    display: none;
+    display: none !important;
   }
   .hidden-desktop {
-    display: block;
+    display: inherit !important;
   }
   .visible-desktop {
-    display: none;
+    display: none !important ;
   }
 }
+
 &amp;lt; at &amp;gt;media (max-width: 480px) {
   .nav-collapse {
     -webkit-transform: translate3d(0, 0, 0);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -111,14 +112,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     padding-top: 0;
   }
   .form-horizontal .form-actions {
-    padding-left: 10px;
     padding-right: 10px;
+    padding-left: 10px;
   }
   .modal {
     position: absolute;
     top: 10px;
-    left: 10px;
     right: 10px;
+    left: 10px;
     width: auto;
     margin: 0;
   }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -133,14 +134,28 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     position: static;
   }
 }
+
 &amp;lt; at &amp;gt;media (max-width: 767px) {
   body {
-    padding-left: 20px;
     padding-right: 20px;
+    padding-left: 20px;
   }
-  .navbar-fixed-top {
-    margin-left: -20px;
+  .navbar-fixed-top,
+  .navbar-fixed-bottom {
     margin-right: -20px;
+    margin-left: -20px;
+  }
+  .container-fluid {
+    padding: 0;
+  }
+  .dl-horizontal dt {
+    float: none;
+    width: auto;
+    clear: none;
+    text-align: left;
+  }
+  .dl-horizontal dd {
+    margin-left: 0;
   }
   .container {
     width: auto;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -148,19 +163,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   .row-fluid {
     width: 100%;
   }
-  .row {
+  .row,
+  .thumbnails {
     margin-left: 0;
   }
-  .row &amp;gt; [class*="span"],
-  .row-fluid &amp;gt; [class*="span"] {
-    float: none;
+  [class*="span"],
+  .row-fluid [class*="span"] {
     display: block;
+    float: none;
     width: auto;
-    margin: 0;
-  }
-  .thumbnails [class*="span"] {
-    width: auto;
+    margin-left: 0;
   }
+  .input-large,
+  .input-xlarge,
+  .input-xxlarge,
   input[class*="span"],
   select[class*="span"],
   textarea[class*="span"],
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -168,20 +184,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     display: block;
     width: 100%;
     min-height: 28px;
-    /* Make inputs at least the height of their button counterpart */
-
-    /* Makes inputs behave like true block-level elements */
-
     -webkit-box-sizing: border-box;
-    -moz-box-sizing: border-box;
-    -ms-box-sizing: border-box;
-    box-sizing: border-box;
+       -moz-box-sizing: border-box;
+        -ms-box-sizing: border-box;
+            box-sizing: border-box;
   }
+  .input-prepend input,
+  .input-append input,
   .input-prepend input[class*="span"],
   .input-append input[class*="span"] {
+    display: inline-block;
     width: auto;
   }
 }
+
 &amp;lt; at &amp;gt;media (min-width: 768px) and (max-width: 979px) {
   .row {
     margin-left: -20px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -288,205 +304,136 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   .row-fluid:after {
     clear: both;
   }
-  .row-fluid &amp;gt; [class*="span"] {
+  .row-fluid [class*="span"] {
+    display: block;
     float: left;
+    width: 100%;
+    min-height: 28px;
     margin-left: 2.762430939%;
+    *margin-left: 2.709239449638298%;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+        -ms-box-sizing: border-box;
+            box-sizing: border-box;
   }
-  .row-fluid &amp;gt; [class*="span"]:first-child {
+  .row-fluid [class*="span"]:first-child {
     margin-left: 0;
   }
-  .row-fluid &amp;gt; .span12 {
+  .row-fluid .span12 {
     width: 99.999999993%;
+    *width: 99.9468085036383%;
   }
-  .row-fluid &amp;gt; .span11 {
+  .row-fluid .span11 {
     width: 91.436464082%;
+    *width: 91.38327259263829%;
   }
-  .row-fluid &amp;gt; .span10 {
+  .row-fluid .span10 {
     width: 82.87292817100001%;
+    *width: 82.8197366816383%;
   }
-  .row-fluid &amp;gt; .span9 {
+  .row-fluid .span9 {
     width: 74.30939226%;
+    *width: 74.25620077063829%;
   }
-  .row-fluid &amp;gt; .span8 {
+  .row-fluid .span8 {
     width: 65.74585634900001%;
+    *width: 65.6926648596383%;
   }
-  .row-fluid &amp;gt; .span7 {
+  .row-fluid .span7 {
     width: 57.182320438000005%;
+    *width: 57.129128948638304%;
   }
-  .row-fluid &amp;gt; .span6 {
+  .row-fluid .span6 {
     width: 48.618784527%;
+    *width: 48.5655930376383%;
   }
-  .row-fluid &amp;gt; .span5 {
+  .row-fluid .span5 {
     width: 40.055248616%;
+    *width: 40.0020571266383%;
   }
-  .row-fluid &amp;gt; .span4 {
+  .row-fluid .span4 {
     width: 31.491712705%;
+    *width: 31.4385212156383%;
   }
-  .row-fluid &amp;gt; .span3 {
+  .row-fluid .span3 {
     width: 22.928176794%;
+    *width: 22.874985304638297%;
   }
-  .row-fluid &amp;gt; .span2 {
+  .row-fluid .span2 {
     width: 14.364640883%;
+    *width: 14.311449393638298%;
   }
-  .row-fluid &amp;gt; .span1 {
+  .row-fluid .span1 {
     width: 5.801104972%;
+    *width: 5.747913482638298%;
   }
   input,
   textarea,
   .uneditable-input {
     margin-left: 0;
   }
-  input.span12, textarea.span12, .uneditable-input.span12 {
+  input.span12,
+  textarea.span12,
+  .uneditable-input.span12 {
     width: 714px;
   }
-  input.span11, textarea.span11, .uneditable-input.span11 {
+  input.span11,
+  textarea.span11,
+  .uneditable-input.span11 {
     width: 652px;
   }
-  input.span10, textarea.span10, .uneditable-input.span10 {
+  input.span10,
+  textarea.span10,
+  .uneditable-input.span10 {
     width: 590px;
   }
-  input.span9, textarea.span9, .uneditable-input.span9 {
+  input.span9,
+  textarea.span9,
+  .uneditable-input.span9 {
     width: 528px;
   }
-  input.span8, textarea.span8, .uneditable-input.span8 {
+  input.span8,
+  textarea.span8,
+  .uneditable-input.span8 {
     width: 466px;
   }
-  input.span7, textarea.span7, .uneditable-input.span7 {
+  input.span7,
+  textarea.span7,
+  .uneditable-input.span7 {
     width: 404px;
   }
-  input.span6, textarea.span6, .uneditable-input.span6 {
+  input.span6,
+  textarea.span6,
+  .uneditable-input.span6 {
     width: 342px;
   }
-  input.span5, textarea.span5, .uneditable-input.span5 {
+  input.span5,
+  textarea.span5,
+  .uneditable-input.span5 {
     width: 280px;
   }
-  input.span4, textarea.span4, .uneditable-input.span4 {
+  input.span4,
+  textarea.span4,
+  .uneditable-input.span4 {
     width: 218px;
   }
-  input.span3, textarea.span3, .uneditable-input.span3 {
+  input.span3,
+  textarea.span3,
+  .uneditable-input.span3 {
     width: 156px;
   }
-  input.span2, textarea.span2, .uneditable-input.span2 {
+  input.span2,
+  textarea.span2,
+  .uneditable-input.span2 {
     width: 94px;
   }
-  input.span1, textarea.span1, .uneditable-input.span1 {
+  input.span1,
+  textarea.span1,
+  .uneditable-input.span1 {
     width: 32px;
   }
 }
-&amp;lt; at &amp;gt;media (max-width: 979px) {
-  body {
-    padding-top: 0;
-  }
-  .navbar-fixed-top {
-    position: static;
-    margin-bottom: 18px;
-  }
-  .navbar-fixed-top .navbar-inner {
-    padding: 5px;
-  }
-  .navbar .container {
-    width: auto;
-    padding: 0;
-  }
-  .navbar .brand {
-    padding-left: 10px;
-    padding-right: 10px;
-    margin: 0 0 0 -5px;
-  }
-  .navbar .nav-collapse {
-    clear: left;
-  }
-  .navbar .nav {
-    float: none;
-    margin: 0 0 9px;
-  }
-  .navbar .nav &amp;gt; li {
-    float: none;
-  }
-  .navbar .nav &amp;gt; li &amp;gt; a {
-    margin-bottom: 2px;
-  }
-  .navbar .nav &amp;gt; .divider-vertical {
-    display: none;
-  }
-  .navbar .nav .nav-header {
-    color: #999999;
-    text-shadow: none;
-  }
-  .navbar .nav &amp;gt; li &amp;gt; a,
-  .navbar .dropdown-menu a {
-    padding: 6px 15px;
-    font-weight: bold;
-    color: #999999;
-    -webkit-border-radius: 3px;
-    -moz-border-radius: 3px;
-    border-radius: 3px;
-  }
-  .navbar .dropdown-menu li + li a {
-    margin-bottom: 2px;
-  }
-  .navbar .nav &amp;gt; li &amp;gt; a:hover,
-  .navbar .dropdown-menu a:hover {
-    background-color: #222222;
-  }
-  .navbar .dropdown-menu {
-    position: static;
-    top: auto;
-    left: auto;
-    float: none;
-    display: block;
-    max-width: none;
-    margin: 0 15px;
-    padding: 0;
-    background-color: transparent;
-    border: none;
-    -webkit-border-radius: 0;
-    -moz-border-radius: 0;
-    border-radius: 0;
-    -webkit-box-shadow: none;
-    -moz-box-shadow: none;
-    box-shadow: none;
-  }
-  .navbar .dropdown-menu:before,
-  .navbar .dropdown-menu:after {
-    display: none;
-  }
-  .navbar .dropdown-menu .divider {
-    display: none;
-  }
-  .navbar-form,
-  .navbar-search {
-    float: none;
-    padding: 9px 15px;
-    margin: 9px 0;
-    border-top: 1px solid #222222;
-    border-bottom: 1px solid #222222;
-    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
-  }
-  .navbar .nav.pull-right {
-    float: none;
-    margin-left: 0;
-  }
-  .navbar-static .navbar-inner {
-    padding-left: 10px;
-    padding-right: 10px;
-  }
-  .btn-navbar {
-    display: block;
-  }
-  .nav-collapse {
-    overflow: hidden;
-    height: 0;
-  }
-}
-&amp;lt; at &amp;gt;media (min-width: 980px) {
-  .nav-collapse.collapse {
-    height: auto !important;
-    overflow: visible !important;
-  }
-}
+
 &amp;lt; at &amp;gt;media (min-width: 1200px) {
   .row {
     margin-left: -30px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -593,88 +540,132 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   .row-fluid:after {
     clear: both;
   }
-  .row-fluid &amp;gt; [class*="span"] {
+  .row-fluid [class*="span"] {
+    display: block;
     float: left;
+    width: 100%;
+    min-height: 28px;
     margin-left: 2.564102564%;
+    *margin-left: 2.510911074638298%;
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+        -ms-box-sizing: border-box;
+            box-sizing: border-box;
   }
-  .row-fluid &amp;gt; [class*="span"]:first-child {
+  .row-fluid [class*="span"]:first-child {
     margin-left: 0;
   }
-  .row-fluid &amp;gt; .span12 {
+  .row-fluid .span12 {
     width: 100%;
+    *width: 99.94680851063829%;
   }
-  .row-fluid &amp;gt; .span11 {
+  .row-fluid .span11 {
     width: 91.45299145300001%;
+    *width: 91.3997999636383%;
   }
-  .row-fluid &amp;gt; .span10 {
+  .row-fluid .span10 {
     width: 82.905982906%;
+    *width: 82.8527914166383%;
   }
-  .row-fluid &amp;gt; .span9 {
+  .row-fluid .span9 {
     width: 74.358974359%;
+    *width: 74.30578286963829%;
   }
-  .row-fluid &amp;gt; .span8 {
+  .row-fluid .span8 {
     width: 65.81196581200001%;
+    *width: 65.7587743226383%;
   }
-  .row-fluid &amp;gt; .span7 {
+  .row-fluid .span7 {
     width: 57.264957265%;
+    *width: 57.2117657756383%;
   }
-  .row-fluid &amp;gt; .span6 {
+  .row-fluid .span6 {
     width: 48.717948718%;
+    *width: 48.6647572286383%;
   }
-  .row-fluid &amp;gt; .span5 {
+  .row-fluid .span5 {
     width: 40.170940171000005%;
+    *width: 40.117748681638304%;
   }
-  .row-fluid &amp;gt; .span4 {
+  .row-fluid .span4 {
     width: 31.623931624%;
+    *width: 31.5707401346383%;
   }
-  .row-fluid &amp;gt; .span3 {
+  .row-fluid .span3 {
     width: 23.076923077%;
+    *width: 23.0237315876383%;
   }
-  .row-fluid &amp;gt; .span2 {
+  .row-fluid .span2 {
     width: 14.529914530000001%;
+    *width: 14.4767230406383%;
   }
-  .row-fluid &amp;gt; .span1 {
+  .row-fluid .span1 {
     width: 5.982905983%;
+    *width: 5.929714493638298%;
   }
   input,
   textarea,
   .uneditable-input {
     margin-left: 0;
   }
-  input.span12, textarea.span12, .uneditable-input.span12 {
+  input.span12,
+  textarea.span12,
+  .uneditable-input.span12 {
     width: 1160px;
   }
-  input.span11, textarea.span11, .uneditable-input.span11 {
+  input.span11,
+  textarea.span11,
+  .uneditable-input.span11 {
     width: 1060px;
   }
-  input.span10, textarea.span10, .uneditable-input.span10 {
+  input.span10,
+  textarea.span10,
+  .uneditable-input.span10 {
     width: 960px;
   }
-  input.span9, textarea.span9, .uneditable-input.span9 {
+  input.span9,
+  textarea.span9,
+  .uneditable-input.span9 {
     width: 860px;
   }
-  input.span8, textarea.span8, .uneditable-input.span8 {
+  input.span8,
+  textarea.span8,
+  .uneditable-input.span8 {
     width: 760px;
   }
-  input.span7, textarea.span7, .uneditable-input.span7 {
+  input.span7,
+  textarea.span7,
+  .uneditable-input.span7 {
     width: 660px;
   }
-  input.span6, textarea.span6, .uneditable-input.span6 {
+  input.span6,
+  textarea.span6,
+  .uneditable-input.span6 {
     width: 560px;
   }
-  input.span5, textarea.span5, .uneditable-input.span5 {
+  input.span5,
+  textarea.span5,
+  .uneditable-input.span5 {
     width: 460px;
   }
-  input.span4, textarea.span4, .uneditable-input.span4 {
+  input.span4,
+  textarea.span4,
+  .uneditable-input.span4 {
     width: 360px;
   }
-  input.span3, textarea.span3, .uneditable-input.span3 {
+  input.span3,
+  textarea.span3,
+  .uneditable-input.span3 {
     width: 260px;
   }
-  input.span2, textarea.span2, .uneditable-input.span2 {
+  input.span2,
+  textarea.span2,
+  .uneditable-input.span2 {
     width: 160px;
   }
-  input.span1, textarea.span1, .uneditable-input.span1 {
+  input.span1,
+  textarea.span1,
+  .uneditable-input.span1 {
     width: 60px;
   }
   .thumbnails {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -683,4 +674,135 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   .thumbnails &amp;gt; li {
     margin-left: 30px;
   }
+  .row-fluid .thumbnails {
+    margin-left: 0;
+  }
+}
+
+&amp;lt; at &amp;gt;media (max-width: 979px) {
+  body {
+    padding-top: 0;
+  }
+  .navbar-fixed-top {
+    position: static;
+    margin-bottom: 18px;
+  }
+  .navbar-fixed-top .navbar-inner {
+    padding: 5px;
+  }
+  .navbar .container {
+    width: auto;
+    padding: 0;
+  }
+  .navbar .brand {
+    padding-right: 10px;
+    padding-left: 10px;
+    margin: 0 0 0 -5px;
+  }
+  .nav-collapse {
+    clear: both;
+  }
+  .nav-collapse .nav {
+    float: none;
+    margin: 0 0 9px;
+  }
+  .nav-collapse .nav &amp;gt; li {
+    float: none;
+  }
+  .nav-collapse .nav &amp;gt; li &amp;gt; a {
+    margin-bottom: 2px;
+  }
+  .nav-collapse .nav &amp;gt; .divider-vertical {
+    display: none;
+  }
+  .nav-collapse .nav .nav-header {
+    color: #999999;
+    text-shadow: none;
+  }
+  .nav-collapse .nav &amp;gt; li &amp;gt; a,
+  .nav-collapse .dropdown-menu a {
+    padding: 6px 15px;
+    font-weight: bold;
+    color: #999999;
+    -webkit-border-radius: 3px;
+       -moz-border-radius: 3px;
+            border-radius: 3px;
+  }
+  .nav-collapse .btn {
+    padding: 4px 10px 4px;
+    font-weight: normal;
+    -webkit-border-radius: 4px;
+       -moz-border-radius: 4px;
+            border-radius: 4px;
+  }
+  .nav-collapse .dropdown-menu li + li a {
+    margin-bottom: 2px;
+  }
+  .nav-collapse .nav &amp;gt; li &amp;gt; a:hover,
+  .nav-collapse .dropdown-menu a:hover {
+    background-color: #222222;
+  }
+  .nav-collapse.in .btn-group {
+    padding: 0;
+    margin-top: 5px;
+  }
+  .nav-collapse .dropdown-menu {
+    position: static;
+    top: auto;
+    left: auto;
+    display: block;
+    float: none;
+    max-width: none;
+    padding: 0;
+    margin: 0 15px;
+    background-color: transparent;
+    border: none;
+    -webkit-border-radius: 0;
+       -moz-border-radius: 0;
+            border-radius: 0;
+    -webkit-box-shadow: none;
+       -moz-box-shadow: none;
+            box-shadow: none;
+  }
+  .nav-collapse .dropdown-menu:before,
+  .nav-collapse .dropdown-menu:after {
+    display: none;
+  }
+  .nav-collapse .dropdown-menu .divider {
+    display: none;
+  }
+  .nav-collapse .navbar-form,
+  .nav-collapse .navbar-search {
+    float: none;
+    padding: 9px 15px;
+    margin: 9px 0;
+    border-top: 1px solid #222222;
+    border-bottom: 1px solid #222222;
+    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+       -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+  }
+  .navbar .nav-collapse .nav.pull-right {
+    float: none;
+    margin-left: 0;
+  }
+  .nav-collapse,
+  .nav-collapse.collapse {
+    height: 0;
+    overflow: hidden;
+  }
+  .navbar .btn-navbar {
+    display: block;
+  }
+  .navbar-static .navbar-inner {
+    padding-right: 10px;
+    padding-left: 10px;
+  }
+}
+
+&amp;lt; at &amp;gt;media (min-width: 980px) {
+  .nav-collapse.collapse {
+    height: auto !important;
+    overflow: visible !important;
+  }
 }
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/bootstrap.css b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/bootstrap.css
index 495188a..09e2833 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/bootstrap.css
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/bootstrap.css
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /*!
- * Bootstrap v2.0.2
+ * Bootstrap v2.0.3
  *
  * Copyright 2012 Twitter, Inc
  * Licensed under the Apache License v2.0
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -7,6 +7,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  *
  * Designed and built with all the love in the world &amp;lt; at &amp;gt;twitter by &amp;lt; at &amp;gt;mdo and &amp;lt; at &amp;gt;fat.
  */
+
 article,
 aside,
 details,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -19,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; nav,
 section {
   display: block;
 }
+
 audio,
 canvas,
 video {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -26,23 +28,28 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; video {
   *display: inline;
   *zoom: 1;
 }
+
 audio:not([controls]) {
   display: none;
 }
+
 html {
   font-size: 100%;
   -webkit-text-size-adjust: 100%;
-  -ms-text-size-adjust: 100%;
+      -ms-text-size-adjust: 100%;
 }
+
 a:focus {
   outline: thin dotted #333;
   outline: 5px auto -webkit-focus-ring-color;
   outline-offset: -2px;
 }
+
 a:hover,
 a:active {
   outline: 0;
 }
+
 sub,
 sup {
   position: relative;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -50,18 +57,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; sup {
   line-height: 0;
   vertical-align: baseline;
 }
+
 sup {
   top: -0.5em;
 }
+
 sub {
   bottom: -0.25em;
 }
+
 img {
-  height: auto;
+  max-width: 100%;
+  vertical-align: middle;
   border: 0;
   -ms-interpolation-mode: bicubic;
-  vertical-align: middle;
 }
+
 button,
 input,
 select,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -70,16 +81,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; textarea {
   font-size: 100%;
   vertical-align: middle;
 }
+
 button,
 input {
   *overflow: visible;
   line-height: normal;
 }
+
 button::-moz-focus-inner,
 input::-moz-focus-inner {
   padding: 0;
   border: 0;
 }
+
 button,
 input[type="button"],
 input[type="reset"],
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -87,49 +101,56 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"] {
   cursor: pointer;
   -webkit-appearance: button;
 }
+
 input[type="search"] {
-  -webkit-appearance: textfield;
   -webkit-box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  box-sizing: content-box;
+     -moz-box-sizing: content-box;
+          box-sizing: content-box;
+  -webkit-appearance: textfield;
 }
+
 input[type="search"]::-webkit-search-decoration,
 input[type="search"]::-webkit-search-cancel-button {
   -webkit-appearance: none;
 }
+
 textarea {
   overflow: auto;
   vertical-align: top;
 }
+
 .clearfix {
   *zoom: 1;
 }
+
 .clearfix:before,
 .clearfix:after {
   display: table;
   content: "";
 }
+
 .clearfix:after {
   clear: both;
 }
+
 .hide-text {
-  overflow: hidden;
-  text-indent: 100%;
-  white-space: nowrap;
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0;
 }
+
 .input-block-level {
   display: block;
   width: 100%;
   min-height: 28px;
-  /* Make inputs at least the height of their button counterpart */
-
-  /* Makes inputs behave like true block-level elements */
-
   -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  -ms-box-sizing: border-box;
-  box-sizing: border-box;
+     -moz-box-sizing: border-box;
+      -ms-box-sizing: border-box;
+          box-sizing: border-box;
 }
+
 body {
   margin: 0;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -138,204 +159,282 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; body {
   color: #333333;
   background-color: #ffffff;
 }
+
 a {
   color: #0088cc;
   text-decoration: none;
 }
+
 a:hover {
   color: #005580;
   text-decoration: underline;
 }
+
 .row {
   margin-left: -20px;
   *zoom: 1;
 }
+
 .row:before,
 .row:after {
   display: table;
   content: "";
 }
+
 .row:after {
   clear: both;
 }
+
 [class*="span"] {
   float: left;
   margin-left: 20px;
 }
+
 .container,
 .navbar-fixed-top .container,
 .navbar-fixed-bottom .container {
   width: 940px;
 }
+
 .span12 {
   width: 940px;
 }
+
 .span11 {
   width: 860px;
 }
+
 .span10 {
   width: 780px;
 }
+
 .span9 {
   width: 700px;
 }
+
 .span8 {
   width: 620px;
 }
+
 .span7 {
   width: 540px;
 }
+
 .span6 {
   width: 460px;
 }
+
 .span5 {
   width: 380px;
 }
+
 .span4 {
   width: 300px;
 }
+
 .span3 {
   width: 220px;
 }
+
 .span2 {
   width: 140px;
 }
+
 .span1 {
   width: 60px;
 }
+
 .offset12 {
   margin-left: 980px;
 }
+
 .offset11 {
   margin-left: 900px;
 }
+
 .offset10 {
   margin-left: 820px;
 }
+
 .offset9 {
   margin-left: 740px;
 }
+
 .offset8 {
   margin-left: 660px;
 }
+
 .offset7 {
   margin-left: 580px;
 }
+
 .offset6 {
   margin-left: 500px;
 }
+
 .offset5 {
   margin-left: 420px;
 }
+
 .offset4 {
   margin-left: 340px;
 }
+
 .offset3 {
   margin-left: 260px;
 }
+
 .offset2 {
   margin-left: 180px;
 }
+
 .offset1 {
   margin-left: 100px;
 }
+
 .row-fluid {
   width: 100%;
   *zoom: 1;
 }
+
 .row-fluid:before,
 .row-fluid:after {
   display: table;
   content: "";
 }
+
 .row-fluid:after {
   clear: both;
 }
-.row-fluid &amp;gt; [class*="span"] {
+
+.row-fluid [class*="span"] {
+  display: block;
   float: left;
+  width: 100%;
+  min-height: 28px;
   margin-left: 2.127659574%;
+  *margin-left: 2.0744680846382977%;
+  -webkit-box-sizing: border-box;
+     -moz-box-sizing: border-box;
+      -ms-box-sizing: border-box;
+          box-sizing: border-box;
 }
-.row-fluid &amp;gt; [class*="span"]:first-child {
+
+.row-fluid [class*="span"]:first-child {
   margin-left: 0;
 }
-.row-fluid &amp;gt; .span12 {
+
+.row-fluid .span12 {
   width: 99.99999998999999%;
+  *width: 99.94680850063828%;
 }
-.row-fluid &amp;gt; .span11 {
+
+.row-fluid .span11 {
   width: 91.489361693%;
+  *width: 91.4361702036383%;
 }
-.row-fluid &amp;gt; .span10 {
+
+.row-fluid .span10 {
   width: 82.97872339599999%;
+  *width: 82.92553190663828%;
 }
-.row-fluid &amp;gt; .span9 {
+
+.row-fluid .span9 {
   width: 74.468085099%;
+  *width: 74.4148936096383%;
 }
-.row-fluid &amp;gt; .span8 {
+
+.row-fluid .span8 {
   width: 65.95744680199999%;
+  *width: 65.90425531263828%;
 }
-.row-fluid &amp;gt; .span7 {
+
+.row-fluid .span7 {
   width: 57.446808505%;
+  *width: 57.3936170156383%;
 }
-.row-fluid &amp;gt; .span6 {
+
+.row-fluid .span6 {
   width: 48.93617020799999%;
+  *width: 48.88297871863829%;
 }
-.row-fluid &amp;gt; .span5 {
+
+.row-fluid .span5 {
   width: 40.425531911%;
+  *width: 40.3723404216383%;
 }
-.row-fluid &amp;gt; .span4 {
+
+.row-fluid .span4 {
   width: 31.914893614%;
+  *width: 31.8617021246383%;
 }
-.row-fluid &amp;gt; .span3 {
+
+.row-fluid .span3 {
   width: 23.404255317%;
+  *width: 23.3510638276383%;
 }
-.row-fluid &amp;gt; .span2 {
+
+.row-fluid .span2 {
   width: 14.89361702%;
+  *width: 14.8404255306383%;
 }
-.row-fluid &amp;gt; .span1 {
+
+.row-fluid .span1 {
   width: 6.382978723%;
+  *width: 6.329787233638298%;
 }
+
 .container {
-  margin-left: auto;
   margin-right: auto;
+  margin-left: auto;
   *zoom: 1;
 }
+
 .container:before,
 .container:after {
   display: table;
   content: "";
 }
+
 .container:after {
   clear: both;
 }
+
 .container-fluid {
-  padding-left: 20px;
   padding-right: 20px;
+  padding-left: 20px;
   *zoom: 1;
 }
+
 .container-fluid:before,
 .container-fluid:after {
   display: table;
   content: "";
 }
+
 .container-fluid:after {
   clear: both;
 }
+
 p {
   margin: 0 0 9px;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 13px;
   line-height: 18px;
 }
+
 p small {
   font-size: 11px;
   color: #999999;
 }
+
 .lead {
   margin-bottom: 18px;
   font-size: 20px;
   font-weight: 200;
   line-height: 27px;
 }
+
 h1,
 h2,
 h3,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -348,6 +447,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; h6 {
   color: inherit;
   text-rendering: optimizelegibility;
 }
+
 h1 small,
 h2 small,
 h3 small,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -357,227 +457,280 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; h6 small {
   font-weight: normal;
   color: #999999;
 }
+
 h1 {
   font-size: 30px;
   line-height: 36px;
 }
+
 h1 small {
   font-size: 18px;
 }
+
 h2 {
   font-size: 24px;
   line-height: 36px;
 }
+
 h2 small {
   font-size: 18px;
 }
+
 h3 {
-  line-height: 27px;
   font-size: 18px;
+  line-height: 27px;
 }
+
 h3 small {
   font-size: 14px;
 }
+
 h4,
 h5,
 h6 {
   line-height: 18px;
 }
+
 h4 {
   font-size: 14px;
 }
+
 h4 small {
   font-size: 12px;
 }
+
 h5 {
   font-size: 12px;
 }
+
 h6 {
   font-size: 11px;
   color: #999999;
   text-transform: uppercase;
 }
+
 .page-header {
   padding-bottom: 17px;
   margin: 18px 0;
   border-bottom: 1px solid #eeeeee;
 }
+
 .page-header h1 {
   line-height: 1;
 }
+
 ul,
 ol {
   padding: 0;
   margin: 0 0 9px 25px;
 }
+
 ul ul,
 ul ol,
 ol ol,
 ol ul {
   margin-bottom: 0;
 }
+
 ul {
   list-style: disc;
 }
+
 ol {
   list-style: decimal;
 }
+
 li {
   line-height: 18px;
 }
+
 ul.unstyled,
 ol.unstyled {
   margin-left: 0;
   list-style: none;
 }
+
 dl {
   margin-bottom: 18px;
 }
+
 dt,
 dd {
   line-height: 18px;
 }
+
 dt {
   font-weight: bold;
   line-height: 17px;
 }
+
 dd {
   margin-left: 9px;
 }
+
 .dl-horizontal dt {
   float: left;
-  clear: left;
   width: 120px;
+  overflow: hidden;
+  clear: left;
   text-align: right;
+  text-overflow: ellipsis;
+  white-space: nowrap;
 }
+
 .dl-horizontal dd {
   margin-left: 130px;
 }
+
 hr {
   margin: 18px 0;
   border: 0;
   border-top: 1px solid #eeeeee;
   border-bottom: 1px solid #ffffff;
 }
+
 strong {
   font-weight: bold;
 }
+
 em {
   font-style: italic;
 }
+
 .muted {
   color: #999999;
 }
+
 abbr[title] {
-  border-bottom: 1px dotted #ddd;
   cursor: help;
+  border-bottom: 1px dotted #ddd;
 }
+
 abbr.initialism {
   font-size: 90%;
   text-transform: uppercase;
 }
+
 blockquote {
   padding: 0 0 0 15px;
   margin: 0 0 18px;
   border-left: 5px solid #eeeeee;
 }
+
 blockquote p {
   margin-bottom: 0;
   font-size: 16px;
   font-weight: 300;
   line-height: 22.5px;
 }
+
 blockquote small {
   display: block;
   line-height: 18px;
   color: #999999;
 }
+
 blockquote small:before {
   content: '\2014 \00A0';
 }
+
 blockquote.pull-right {
   float: right;
-  padding-left: 0;
   padding-right: 15px;
-  border-left: 0;
+  padding-left: 0;
   border-right: 5px solid #eeeeee;
+  border-left: 0;
 }
+
 blockquote.pull-right p,
 blockquote.pull-right small {
   text-align: right;
 }
+
 q:before,
 q:after,
 blockquote:before,
 blockquote:after {
   content: "";
 }
+
 address {
   display: block;
   margin-bottom: 18px;
-  line-height: 18px;
   font-style: normal;
+  line-height: 18px;
 }
+
 small {
   font-size: 100%;
 }
+
 cite {
   font-style: normal;
 }
+
 code,
 pre {
   padding: 0 3px 2px;
-  font-family: Menlo, Monaco, "Courier New", monospace;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
   font-size: 12px;
   color: #333333;
   -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
 }
+
 code {
   padding: 2px 4px;
   color: #d14;
   background-color: #f7f7f9;
   border: 1px solid #e1e1e8;
 }
+
 pre {
   display: block;
   padding: 8.5px;
   margin: 0 0 9px;
   font-size: 12.025px;
   line-height: 18px;
+  word-break: break-all;
+  word-wrap: break-word;
+  white-space: pre;
+  white-space: pre-wrap;
   background-color: #f5f5f5;
   border: 1px solid #ccc;
   border: 1px solid rgba(0, 0, 0, 0.15);
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-  white-space: pre;
-  white-space: pre-wrap;
-  word-break: break-all;
-  word-wrap: break-word;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
 }
+
 pre.prettyprint {
   margin-bottom: 18px;
 }
+
 pre code {
   padding: 0;
   color: inherit;
   background-color: transparent;
   border: 0;
 }
+
 .pre-scrollable {
   max-height: 340px;
   overflow-y: scroll;
 }
+
 form {
   margin: 0 0 18px;
 }
+
 fieldset {
   padding: 0;
   margin: 0;
   border: 0;
 }
+
 legend {
   display: block;
   width: 100%;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -589,10 +742,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; legend {
   border: 0;
   border-bottom: 1px solid #eee;
 }
+
 legend small {
   font-size: 13.5px;
   color: #999999;
 }
+
 label,
 input,
 button,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -602,17 +757,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; textarea {
   font-weight: normal;
   line-height: 18px;
 }
+
 input,
 button,
 select,
 textarea {
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
 }
+
 label {
   display: block;
   margin-bottom: 5px;
   color: #333333;
 }
+
 input,
 textarea,
 select,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -625,20 +783,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select,
   font-size: 13px;
   line-height: 18px;
   color: #555555;
+  background-color: #ffffff;
   border: 1px solid #cccccc;
   -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
 }
+
 .uneditable-textarea {
   width: auto;
   height: auto;
 }
+
 label input,
 label textarea,
 label select {
   display: block;
 }
+
 input[type="image"],
 input[type="checkbox"],
 input[type="radio"] {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -651,33 +813,38 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="radio"] {
 
   line-height: normal;
   cursor: pointer;
-  -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
+  background-color: transparent;
   border: 0 \9;
   /* IE9 and down */
 
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
 }
+
 input[type="image"] {
   border: 0;
 }
+
 input[type="file"] {
   width: auto;
   padding: initial;
   line-height: initial;
-  border: initial;
   background-color: #ffffff;
   background-color: initial;
+  border: initial;
   -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
 }
+
 input[type="button"],
 input[type="reset"],
 input[type="submit"] {
   width: auto;
   height: auto;
 }
+
 select,
 input[type="file"] {
   height: 28px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -688,41 +855,52 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="file"] {
 
   line-height: 28px;
 }
+
 input[type="file"] {
   line-height: 18px \9;
 }
+
 select {
   width: 220px;
   background-color: #ffffff;
 }
+
 select[multiple],
 select[size] {
   height: auto;
 }
+
 input[type="image"] {
   -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
 }
+
 textarea {
   height: auto;
 }
+
 input[type="hidden"] {
   display: none;
 }
+
 .radio,
 .checkbox {
+  min-height: 18px;
   padding-left: 18px;
 }
+
 .radio input[type="radio"],
 .checkbox input[type="checkbox"] {
   float: left;
   margin-left: -18px;
 }
+
 .controls &amp;gt; .radio:first-child,
 .controls &amp;gt; .checkbox:first-child {
   padding-top: 5px;
 }
+
 .radio.inline,
 .checkbox.inline {
   display: inline-block;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -730,290 +908,379 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="hidden"] {
   margin-bottom: 0;
   vertical-align: middle;
 }
+
 .radio.inline + .radio.inline,
 .checkbox.inline + .checkbox.inline {
   margin-left: 10px;
 }
+
 input,
 textarea {
   -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
   -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
-  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
-  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
-  -o-transition: border linear 0.2s, box-shadow linear 0.2s;
-  transition: border linear 0.2s, box-shadow linear 0.2s;
+     -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
+      -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
+       -o-transition: border linear 0.2s, box-shadow linear 0.2s;
+          transition: border linear 0.2s, box-shadow linear 0.2s;
 }
+
 input:focus,
 textarea:focus {
   border-color: rgba(82, 168, 236, 0.8);
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
   outline: 0;
   outline: thin dotted \9;
   /* IE6-9 */
 
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
 }
+
 input[type="file"]:focus,
 input[type="radio"]:focus,
 input[type="checkbox"]:focus,
 select:focus {
-  -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
   outline: thin dotted #333;
   outline: 5px auto -webkit-focus-ring-color;
   outline-offset: -2px;
+  -webkit-box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
 }
+
 .input-mini {
   width: 60px;
 }
+
 .input-small {
   width: 90px;
 }
+
 .input-medium {
   width: 150px;
 }
+
 .input-large {
   width: 210px;
 }
+
 .input-xlarge {
   width: 270px;
 }
+
 .input-xxlarge {
   width: 530px;
 }
+
 input[class*="span"],
 select[class*="span"],
 textarea[class*="span"],
-.uneditable-input {
+.uneditable-input[class*="span"],
+.row-fluid input[class*="span"],
+.row-fluid select[class*="span"],
+.row-fluid textarea[class*="span"],
+.row-fluid .uneditable-input[class*="span"] {
   float: none;
   margin-left: 0;
 }
+
 input,
 textarea,
 .uneditable-input {
   margin-left: 0;
 }
-input.span12, textarea.span12, .uneditable-input.span12 {
+
+input.span12,
+textarea.span12,
+.uneditable-input.span12 {
   width: 930px;
 }
-input.span11, textarea.span11, .uneditable-input.span11 {
+
+input.span11,
+textarea.span11,
+.uneditable-input.span11 {
   width: 850px;
 }
-input.span10, textarea.span10, .uneditable-input.span10 {
+
+input.span10,
+textarea.span10,
+.uneditable-input.span10 {
   width: 770px;
 }
-input.span9, textarea.span9, .uneditable-input.span9 {
+
+input.span9,
+textarea.span9,
+.uneditable-input.span9 {
   width: 690px;
 }
-input.span8, textarea.span8, .uneditable-input.span8 {
+
+input.span8,
+textarea.span8,
+.uneditable-input.span8 {
   width: 610px;
 }
-input.span7, textarea.span7, .uneditable-input.span7 {
+
+input.span7,
+textarea.span7,
+.uneditable-input.span7 {
   width: 530px;
 }
-input.span6, textarea.span6, .uneditable-input.span6 {
+
+input.span6,
+textarea.span6,
+.uneditable-input.span6 {
   width: 450px;
 }
-input.span5, textarea.span5, .uneditable-input.span5 {
+
+input.span5,
+textarea.span5,
+.uneditable-input.span5 {
   width: 370px;
 }
-input.span4, textarea.span4, .uneditable-input.span4 {
+
+input.span4,
+textarea.span4,
+.uneditable-input.span4 {
   width: 290px;
 }
-input.span3, textarea.span3, .uneditable-input.span3 {
+
+input.span3,
+textarea.span3,
+.uneditable-input.span3 {
   width: 210px;
 }
-input.span2, textarea.span2, .uneditable-input.span2 {
+
+input.span2,
+textarea.span2,
+.uneditable-input.span2 {
   width: 130px;
 }
-input.span1, textarea.span1, .uneditable-input.span1 {
+
+input.span1,
+textarea.span1,
+.uneditable-input.span1 {
   width: 50px;
 }
+
 input[disabled],
 select[disabled],
 textarea[disabled],
 input[readonly],
 select[readonly],
 textarea[readonly] {
+  cursor: not-allowed;
   background-color: #eeeeee;
   border-color: #ddd;
-  cursor: not-allowed;
 }
+
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"][readonly],
+input[type="checkbox"][readonly] {
+  background-color: transparent;
+}
+
 .control-group.warning &amp;gt; label,
 .control-group.warning .help-block,
 .control-group.warning .help-inline {
   color: #c09853;
 }
+
 .control-group.warning input,
 .control-group.warning select,
 .control-group.warning textarea {
   color: #c09853;
   border-color: #c09853;
 }
+
 .control-group.warning input:focus,
 .control-group.warning select:focus,
 .control-group.warning textarea:focus {
   border-color: #a47e3c;
   -webkit-box-shadow: 0 0 6px #dbc59e;
-  -moz-box-shadow: 0 0 6px #dbc59e;
-  box-shadow: 0 0 6px #dbc59e;
+     -moz-box-shadow: 0 0 6px #dbc59e;
+          box-shadow: 0 0 6px #dbc59e;
 }
+
 .control-group.warning .input-prepend .add-on,
 .control-group.warning .input-append .add-on {
   color: #c09853;
   background-color: #fcf8e3;
   border-color: #c09853;
 }
+
 .control-group.error &amp;gt; label,
 .control-group.error .help-block,
 .control-group.error .help-inline {
   color: #b94a48;
 }
+
 .control-group.error input,
 .control-group.error select,
 .control-group.error textarea {
   color: #b94a48;
   border-color: #b94a48;
 }
+
 .control-group.error input:focus,
 .control-group.error select:focus,
 .control-group.error textarea:focus {
   border-color: #953b39;
   -webkit-box-shadow: 0 0 6px #d59392;
-  -moz-box-shadow: 0 0 6px #d59392;
-  box-shadow: 0 0 6px #d59392;
+     -moz-box-shadow: 0 0 6px #d59392;
+          box-shadow: 0 0 6px #d59392;
 }
+
 .control-group.error .input-prepend .add-on,
 .control-group.error .input-append .add-on {
   color: #b94a48;
   background-color: #f2dede;
   border-color: #b94a48;
 }
+
 .control-group.success &amp;gt; label,
 .control-group.success .help-block,
 .control-group.success .help-inline {
   color: #468847;
 }
+
 .control-group.success input,
 .control-group.success select,
 .control-group.success textarea {
   color: #468847;
   border-color: #468847;
 }
+
 .control-group.success input:focus,
 .control-group.success select:focus,
 .control-group.success textarea:focus {
   border-color: #356635;
   -webkit-box-shadow: 0 0 6px #7aba7b;
-  -moz-box-shadow: 0 0 6px #7aba7b;
-  box-shadow: 0 0 6px #7aba7b;
+     -moz-box-shadow: 0 0 6px #7aba7b;
+          box-shadow: 0 0 6px #7aba7b;
 }
+
 .control-group.success .input-prepend .add-on,
 .control-group.success .input-append .add-on {
   color: #468847;
   background-color: #dff0d8;
   border-color: #468847;
 }
+
 input:focus:required:invalid,
 textarea:focus:required:invalid,
 select:focus:required:invalid {
   color: #b94a48;
   border-color: #ee5f5b;
 }
+
 input:focus:required:invalid:focus,
 textarea:focus:required:invalid:focus,
 select:focus:required:invalid:focus {
   border-color: #e9322d;
   -webkit-box-shadow: 0 0 6px #f8b9b7;
-  -moz-box-shadow: 0 0 6px #f8b9b7;
-  box-shadow: 0 0 6px #f8b9b7;
+     -moz-box-shadow: 0 0 6px #f8b9b7;
+          box-shadow: 0 0 6px #f8b9b7;
 }
+
 .form-actions {
   padding: 17px 20px 18px;
   margin-top: 18px;
   margin-bottom: 18px;
-  background-color: #eeeeee;
+  background-color: #f5f5f5;
   border-top: 1px solid #ddd;
   *zoom: 1;
 }
+
 .form-actions:before,
 .form-actions:after {
   display: table;
   content: "";
 }
+
 .form-actions:after {
   clear: both;
 }
+
 .uneditable-input {
-  display: block;
+  overflow: hidden;
+  white-space: nowrap;
+  cursor: not-allowed;
   background-color: #ffffff;
   border-color: #eee;
   -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-  cursor: not-allowed;
+     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
 }
+
 :-moz-placeholder {
   color: #999999;
 }
+
 ::-webkit-input-placeholder {
   color: #999999;
 }
+
 .help-block,
 .help-inline {
   color: #555555;
 }
+
 .help-block {
   display: block;
   margin-bottom: 9px;
 }
+
 .help-inline {
   display: inline-block;
   *display: inline;
-  /* IE7 inline-block hack */
-
-  *zoom: 1;
-  vertical-align: middle;
   padding-left: 5px;
+  vertical-align: middle;
+  *zoom: 1;
 }
+
 .input-prepend,
 .input-append {
   margin-bottom: 5px;
 }
+
 .input-prepend input,
 .input-append input,
 .input-prepend select,
 .input-append select,
 .input-prepend .uneditable-input,
 .input-append .uneditable-input {
+  position: relative;
+  margin-bottom: 0;
   *margin-left: 0;
+  vertical-align: middle;
   -webkit-border-radius: 0 3px 3px 0;
-  -moz-border-radius: 0 3px 3px 0;
-  border-radius: 0 3px 3px 0;
+     -moz-border-radius: 0 3px 3px 0;
+          border-radius: 0 3px 3px 0;
 }
+
 .input-prepend input:focus,
 .input-append input:focus,
 .input-prepend select:focus,
 .input-append select:focus,
 .input-prepend .uneditable-input:focus,
 .input-append .uneditable-input:focus {
-  position: relative;
   z-index: 2;
 }
+
 .input-prepend .uneditable-input,
 .input-append .uneditable-input {
   border-left-color: #ccc;
 }
+
 .input-prepend .add-on,
 .input-append .add-on {
   display: inline-block;
   width: auto;
-  min-width: 16px;
   height: 18px;
+  min-width: 16px;
   padding: 4px 5px;
   font-weight: normal;
   line-height: 18px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1023,69 +1290,92 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid:focus {
   background-color: #eeeeee;
   border: 1px solid #ccc;
 }
+
 .input-prepend .add-on,
 .input-append .add-on,
 .input-prepend .btn,
 .input-append .btn {
-  -webkit-border-radius: 3px 0 0 3px;
-  -moz-border-radius: 3px 0 0 3px;
-  border-radius: 3px 0 0 3px;
+  margin-left: -1px;
+  -webkit-border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
 }
+
 .input-prepend .active,
 .input-append .active {
   background-color: #a9dba9;
   border-color: #46a546;
 }
+
 .input-prepend .add-on,
 .input-prepend .btn {
   margin-right: -1px;
 }
+
+.input-prepend .add-on:first-child,
+.input-prepend .btn:first-child {
+  -webkit-border-radius: 3px 0 0 3px;
+     -moz-border-radius: 3px 0 0 3px;
+          border-radius: 3px 0 0 3px;
+}
+
 .input-append input,
-.input-append select .uneditable-input {
+.input-append select,
+.input-append .uneditable-input {
   -webkit-border-radius: 3px 0 0 3px;
-  -moz-border-radius: 3px 0 0 3px;
-  border-radius: 3px 0 0 3px;
+     -moz-border-radius: 3px 0 0 3px;
+          border-radius: 3px 0 0 3px;
 }
+
 .input-append .uneditable-input {
-  border-left-color: #eee;
   border-right-color: #ccc;
+  border-left-color: #eee;
 }
-.input-append .add-on,
-.input-append .btn {
-  margin-left: -1px;
+
+.input-append .add-on:last-child,
+.input-append .btn:last-child {
   -webkit-border-radius: 0 3px 3px 0;
-  -moz-border-radius: 0 3px 3px 0;
-  border-radius: 0 3px 3px 0;
+     -moz-border-radius: 0 3px 3px 0;
+          border-radius: 0 3px 3px 0;
 }
+
 .input-prepend.input-append input,
 .input-prepend.input-append select,
 .input-prepend.input-append .uneditable-input {
   -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
 }
+
 .input-prepend.input-append .add-on:first-child,
 .input-prepend.input-append .btn:first-child {
   margin-right: -1px;
   -webkit-border-radius: 3px 0 0 3px;
-  -moz-border-radius: 3px 0 0 3px;
-  border-radius: 3px 0 0 3px;
+     -moz-border-radius: 3px 0 0 3px;
+          border-radius: 3px 0 0 3px;
 }
+
 .input-prepend.input-append .add-on:last-child,
 .input-prepend.input-append .btn:last-child {
   margin-left: -1px;
   -webkit-border-radius: 0 3px 3px 0;
-  -moz-border-radius: 0 3px 3px 0;
-  border-radius: 0 3px 3px 0;
+     -moz-border-radius: 0 3px 3px 0;
+          border-radius: 0 3px 3px 0;
 }
+
 .search-query {
-  padding-left: 14px;
   padding-right: 14px;
+  padding-right: 4px \9;
+  padding-left: 14px;
+  padding-left: 4px \9;
+  /* IE7-8 doesn't have border-radius, so don't indent the padding */
+
   margin-bottom: 0;
   -webkit-border-radius: 14px;
-  -moz-border-radius: 14px;
-  border-radius: 14px;
+     -moz-border-radius: 14px;
+          border-radius: 14px;
 }
+
 .form-search input,
 .form-inline input,
 .form-horizontal input,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1108,23 +1398,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid:focus {
 .form-inline .input-append,
 .form-horizontal .input-append {
   display: inline-block;
+  *display: inline;
   margin-bottom: 0;
+  *zoom: 1;
 }
+
 .form-search .hide,
 .form-inline .hide,
 .form-horizontal .hide {
   display: none;
 }
+
 .form-search label,
 .form-inline label {
   display: inline-block;
 }
+
 .form-search .input-append,
 .form-inline .input-append,
 .form-search .input-prepend,
 .form-inline .input-prepend {
   margin-bottom: 0;
 }
+
 .form-search .radio,
 .form-search .checkbox,
 .form-inline .radio,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1133,64 +1429,79 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid:focus {
   margin-bottom: 0;
   vertical-align: middle;
 }
+
 .form-search .radio input[type="radio"],
 .form-search .checkbox input[type="checkbox"],
 .form-inline .radio input[type="radio"],
 .form-inline .checkbox input[type="checkbox"] {
   float: left;
-  margin-left: 0;
   margin-right: 3px;
+  margin-left: 0;
 }
+
 .control-group {
   margin-bottom: 9px;
 }
+
 legend + .control-group {
   margin-top: 18px;
   -webkit-margin-top-collapse: separate;
 }
+
 .form-horizontal .control-group {
   margin-bottom: 18px;
   *zoom: 1;
 }
+
 .form-horizontal .control-group:before,
 .form-horizontal .control-group:after {
   display: table;
   content: "";
 }
+
 .form-horizontal .control-group:after {
   clear: both;
 }
+
 .form-horizontal .control-label {
   float: left;
   width: 140px;
   padding-top: 5px;
   text-align: right;
 }
-.form-horizontal .controls {
-  margin-left: 160px;
-  /* Super jank IE7 fix to ensure the inputs in .input-append and input-prepend don't inherit the margin of the parent, in this case .controls */
 
+.form-horizontal .controls {
   *display: inline-block;
-  *margin-left: 0;
   *padding-left: 20px;
+  margin-left: 160px;
+  *margin-left: 0;
 }
+
+.form-horizontal .controls:first-child {
+  *padding-left: 160px;
+}
+
 .form-horizontal .help-block {
   margin-top: 9px;
   margin-bottom: 0;
 }
+
 .form-horizontal .form-actions {
   padding-left: 160px;
 }
+
 table {
   max-width: 100%;
+  background-color: transparent;
   border-collapse: collapse;
   border-spacing: 0;
-  background-color: transparent;
 }
+
 .table {
   width: 100%;
   margin-bottom: 18px;
 }
+
 .table th,
 .table td {
   padding: 8px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1199,646 +1510,907 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; table {
   vertical-align: top;
   border-top: 1px solid #dddddd;
 }
+
 .table th {
   font-weight: bold;
 }
+
 .table thead th {
   vertical-align: bottom;
 }
+
+.table caption + thead tr:first-child th,
+.table caption + thead tr:first-child td,
 .table colgroup + thead tr:first-child th,
 .table colgroup + thead tr:first-child td,
 .table thead:first-child tr:first-child th,
 .table thead:first-child tr:first-child td {
   border-top: 0;
 }
+
 .table tbody + tbody {
   border-top: 2px solid #dddddd;
 }
+
 .table-condensed th,
 .table-condensed td {
   padding: 4px 5px;
 }
+
 .table-bordered {
   border: 1px solid #dddddd;
-  border-left: 0;
   border-collapse: separate;
   *border-collapse: collapsed;
+  border-left: 0;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
 }
+
 .table-bordered th,
 .table-bordered td {
   border-left: 1px solid #dddddd;
 }
+
+.table-bordered caption + thead tr:first-child th,
+.table-bordered caption + tbody tr:first-child th,
+.table-bordered caption + tbody tr:first-child td,
+.table-bordered colgroup + thead tr:first-child th,
+.table-bordered colgroup + tbody tr:first-child th,
+.table-bordered colgroup + tbody tr:first-child td,
 .table-bordered thead:first-child tr:first-child th,
 .table-bordered tbody:first-child tr:first-child th,
 .table-bordered tbody:first-child tr:first-child td {
   border-top: 0;
 }
+
 .table-bordered thead:first-child tr:first-child th:first-child,
 .table-bordered tbody:first-child tr:first-child td:first-child {
-  -webkit-border-radius: 4px 0 0 0;
-  -moz-border-radius: 4px 0 0 0;
-  border-radius: 4px 0 0 0;
+  -webkit-border-top-left-radius: 4px;
+          border-top-left-radius: 4px;
+  -moz-border-radius-topleft: 4px;
 }
+
 .table-bordered thead:first-child tr:first-child th:last-child,
 .table-bordered tbody:first-child tr:first-child td:last-child {
-  -webkit-border-radius: 0 4px 0 0;
-  -moz-border-radius: 0 4px 0 0;
-  border-radius: 0 4px 0 0;
+  -webkit-border-top-right-radius: 4px;
+          border-top-right-radius: 4px;
+  -moz-border-radius-topright: 4px;
 }
+
 .table-bordered thead:last-child tr:last-child th:first-child,
 .table-bordered tbody:last-child tr:last-child td:first-child {
   -webkit-border-radius: 0 0 0 4px;
-  -moz-border-radius: 0 0 0 4px;
-  border-radius: 0 0 0 4px;
+     -moz-border-radius: 0 0 0 4px;
+          border-radius: 0 0 0 4px;
+  -webkit-border-bottom-left-radius: 4px;
+          border-bottom-left-radius: 4px;
+  -moz-border-radius-bottomleft: 4px;
 }
+
 .table-bordered thead:last-child tr:last-child th:last-child,
 .table-bordered tbody:last-child tr:last-child td:last-child {
-  -webkit-border-radius: 0 0 4px 0;
-  -moz-border-radius: 0 0 4px 0;
-  border-radius: 0 0 4px 0;
+  -webkit-border-bottom-right-radius: 4px;
+          border-bottom-right-radius: 4px;
+  -moz-border-radius-bottomright: 4px;
 }
+
 .table-striped tbody tr:nth-child(odd) td,
 .table-striped tbody tr:nth-child(odd) th {
   background-color: #f9f9f9;
 }
+
 .table tbody tr:hover td,
 .table tbody tr:hover th {
   background-color: #f5f5f5;
 }
+
 table .span1 {
   float: none;
   width: 44px;
   margin-left: 0;
 }
+
 table .span2 {
   float: none;
   width: 124px;
   margin-left: 0;
 }
+
 table .span3 {
   float: none;
   width: 204px;
   margin-left: 0;
 }
+
 table .span4 {
   float: none;
   width: 284px;
   margin-left: 0;
 }
+
 table .span5 {
   float: none;
   width: 364px;
   margin-left: 0;
 }
+
 table .span6 {
   float: none;
   width: 444px;
   margin-left: 0;
 }
+
 table .span7 {
   float: none;
   width: 524px;
   margin-left: 0;
 }
+
 table .span8 {
   float: none;
   width: 604px;
   margin-left: 0;
 }
+
 table .span9 {
   float: none;
   width: 684px;
   margin-left: 0;
 }
+
 table .span10 {
   float: none;
   width: 764px;
   margin-left: 0;
 }
+
 table .span11 {
   float: none;
   width: 844px;
   margin-left: 0;
 }
+
 table .span12 {
   float: none;
   width: 924px;
   margin-left: 0;
 }
+
 table .span13 {
   float: none;
   width: 1004px;
   margin-left: 0;
 }
+
 table .span14 {
   float: none;
   width: 1084px;
   margin-left: 0;
 }
+
 table .span15 {
   float: none;
   width: 1164px;
   margin-left: 0;
 }
+
 table .span16 {
   float: none;
   width: 1244px;
   margin-left: 0;
 }
+
 table .span17 {
   float: none;
   width: 1324px;
   margin-left: 0;
 }
+
 table .span18 {
   float: none;
   width: 1404px;
   margin-left: 0;
 }
+
 table .span19 {
   float: none;
   width: 1484px;
   margin-left: 0;
 }
+
 table .span20 {
   float: none;
   width: 1564px;
   margin-left: 0;
 }
+
 table .span21 {
   float: none;
   width: 1644px;
   margin-left: 0;
 }
+
 table .span22 {
   float: none;
   width: 1724px;
   margin-left: 0;
 }
+
 table .span23 {
   float: none;
   width: 1804px;
   margin-left: 0;
 }
+
 table .span24 {
   float: none;
   width: 1884px;
   margin-left: 0;
 }
+
 [class^="icon-"],
 [class*=" icon-"] {
   display: inline-block;
   width: 14px;
   height: 14px;
+  *margin-right: .3em;
   line-height: 14px;
   vertical-align: text-top;
   background-image: url("../img/glyphicons-halflings.png");
   background-position: 14px 14px;
   background-repeat: no-repeat;
-  *margin-right: .3em;
 }
+
 [class^="icon-"]:last-child,
 [class*=" icon-"]:last-child {
   *margin-left: 0;
 }
+
 .icon-white {
   background-image: url("../img/glyphicons-halflings-white.png");
 }
+
 .icon-glass {
   background-position: 0      0;
 }
+
 .icon-music {
   background-position: -24px 0;
 }
+
 .icon-search {
   background-position: -48px 0;
 }
+
 .icon-envelope {
   background-position: -72px 0;
 }
+
 .icon-heart {
   background-position: -96px 0;
 }
+
 .icon-star {
   background-position: -120px 0;
 }
+
 .icon-star-empty {
   background-position: -144px 0;
 }
+
 .icon-user {
   background-position: -168px 0;
 }
+
 .icon-film {
   background-position: -192px 0;
 }
+
 .icon-th-large {
   background-position: -216px 0;
 }
+
 .icon-th {
   background-position: -240px 0;
 }
+
 .icon-th-list {
   background-position: -264px 0;
 }
+
 .icon-ok {
   background-position: -288px 0;
 }
+
 .icon-remove {
   background-position: -312px 0;
 }
+
 .icon-zoom-in {
   background-position: -336px 0;
 }
+
 .icon-zoom-out {
   background-position: -360px 0;
 }
+
 .icon-off {
   background-position: -384px 0;
 }
+
 .icon-signal {
   background-position: -408px 0;
 }
+
 .icon-cog {
   background-position: -432px 0;
 }
+
 .icon-trash {
   background-position: -456px 0;
 }
+
 .icon-home {
   background-position: 0 -24px;
 }
+
 .icon-file {
   background-position: -24px -24px;
 }
+
 .icon-time {
   background-position: -48px -24px;
 }
+
 .icon-road {
   background-position: -72px -24px;
 }
+
 .icon-download-alt {
   background-position: -96px -24px;
 }
+
 .icon-download {
   background-position: -120px -24px;
 }
+
 .icon-upload {
   background-position: -144px -24px;
 }
+
 .icon-inbox {
   background-position: -168px -24px;
 }
+
 .icon-play-circle {
   background-position: -192px -24px;
 }
+
 .icon-repeat {
   background-position: -216px -24px;
 }
+
 .icon-refresh {
   background-position: -240px -24px;
 }
+
 .icon-list-alt {
   background-position: -264px -24px;
 }
+
 .icon-lock {
   background-position: -287px -24px;
 }
+
 .icon-flag {
   background-position: -312px -24px;
 }
+
 .icon-headphones {
   background-position: -336px -24px;
 }
+
 .icon-volume-off {
   background-position: -360px -24px;
 }
+
 .icon-volume-down {
   background-position: -384px -24px;
 }
+
 .icon-volume-up {
   background-position: -408px -24px;
 }
+
 .icon-qrcode {
   background-position: -432px -24px;
 }
+
 .icon-barcode {
   background-position: -456px -24px;
 }
+
 .icon-tag {
   background-position: 0 -48px;
 }
+
 .icon-tags {
   background-position: -25px -48px;
 }
+
 .icon-book {
   background-position: -48px -48px;
 }
+
 .icon-bookmark {
   background-position: -72px -48px;
 }
+
 .icon-print {
   background-position: -96px -48px;
 }
+
 .icon-camera {
   background-position: -120px -48px;
 }
+
 .icon-font {
   background-position: -144px -48px;
 }
+
 .icon-bold {
   background-position: -167px -48px;
 }
+
 .icon-italic {
   background-position: -192px -48px;
 }
+
 .icon-text-height {
   background-position: -216px -48px;
 }
+
 .icon-text-width {
   background-position: -240px -48px;
 }
+
 .icon-align-left {
   background-position: -264px -48px;
 }
+
 .icon-align-center {
   background-position: -288px -48px;
 }
+
 .icon-align-right {
   background-position: -312px -48px;
 }
+
 .icon-align-justify {
   background-position: -336px -48px;
 }
+
 .icon-list {
   background-position: -360px -48px;
 }
+
 .icon-indent-left {
   background-position: -384px -48px;
 }
+
 .icon-indent-right {
   background-position: -408px -48px;
 }
+
 .icon-facetime-video {
   background-position: -432px -48px;
 }
+
 .icon-picture {
   background-position: -456px -48px;
 }
+
 .icon-pencil {
   background-position: 0 -72px;
 }
+
 .icon-map-marker {
   background-position: -24px -72px;
 }
+
 .icon-adjust {
   background-position: -48px -72px;
 }
+
 .icon-tint {
   background-position: -72px -72px;
 }
+
 .icon-edit {
   background-position: -96px -72px;
 }
+
 .icon-share {
   background-position: -120px -72px;
 }
+
 .icon-check {
   background-position: -144px -72px;
 }
+
 .icon-move {
   background-position: -168px -72px;
 }
+
 .icon-step-backward {
   background-position: -192px -72px;
 }
+
 .icon-fast-backward {
   background-position: -216px -72px;
 }
+
 .icon-backward {
   background-position: -240px -72px;
 }
+
 .icon-play {
   background-position: -264px -72px;
 }
+
 .icon-pause {
   background-position: -288px -72px;
 }
+
 .icon-stop {
   background-position: -312px -72px;
 }
+
 .icon-forward {
   background-position: -336px -72px;
 }
+
 .icon-fast-forward {
   background-position: -360px -72px;
 }
+
 .icon-step-forward {
   background-position: -384px -72px;
 }
+
 .icon-eject {
   background-position: -408px -72px;
 }
+
 .icon-chevron-left {
   background-position: -432px -72px;
 }
+
 .icon-chevron-right {
   background-position: -456px -72px;
 }
+
 .icon-plus-sign {
   background-position: 0 -96px;
 }
+
 .icon-minus-sign {
   background-position: -24px -96px;
 }
+
 .icon-remove-sign {
   background-position: -48px -96px;
 }
+
 .icon-ok-sign {
   background-position: -72px -96px;
 }
+
 .icon-question-sign {
   background-position: -96px -96px;
 }
+
 .icon-info-sign {
   background-position: -120px -96px;
 }
+
 .icon-screenshot {
   background-position: -144px -96px;
 }
+
 .icon-remove-circle {
   background-position: -168px -96px;
 }
+
 .icon-ok-circle {
   background-position: -192px -96px;
 }
+
 .icon-ban-circle {
   background-position: -216px -96px;
 }
+
 .icon-arrow-left {
   background-position: -240px -96px;
 }
+
 .icon-arrow-right {
   background-position: -264px -96px;
 }
+
 .icon-arrow-up {
   background-position: -289px -96px;
 }
+
 .icon-arrow-down {
   background-position: -312px -96px;
 }
+
 .icon-share-alt {
   background-position: -336px -96px;
 }
+
 .icon-resize-full {
   background-position: -360px -96px;
 }
+
 .icon-resize-small {
   background-position: -384px -96px;
 }
+
 .icon-plus {
   background-position: -408px -96px;
 }
+
 .icon-minus {
   background-position: -433px -96px;
 }
+
 .icon-asterisk {
   background-position: -456px -96px;
 }
+
 .icon-exclamation-sign {
   background-position: 0 -120px;
 }
+
 .icon-gift {
   background-position: -24px -120px;
 }
+
 .icon-leaf {
   background-position: -48px -120px;
 }
+
 .icon-fire {
   background-position: -72px -120px;
 }
+
 .icon-eye-open {
   background-position: -96px -120px;
 }
+
 .icon-eye-close {
   background-position: -120px -120px;
 }
+
 .icon-warning-sign {
   background-position: -144px -120px;
 }
+
 .icon-plane {
   background-position: -168px -120px;
 }
+
 .icon-calendar {
   background-position: -192px -120px;
 }
+
 .icon-random {
   background-position: -216px -120px;
 }
+
 .icon-comment {
   background-position: -240px -120px;
 }
+
 .icon-magnet {
   background-position: -264px -120px;
 }
+
 .icon-chevron-up {
   background-position: -288px -120px;
 }
+
 .icon-chevron-down {
   background-position: -313px -119px;
 }
+
 .icon-retweet {
   background-position: -336px -120px;
 }
+
 .icon-shopping-cart {
   background-position: -360px -120px;
 }
+
 .icon-folder-close {
   background-position: -384px -120px;
 }
+
 .icon-folder-open {
   background-position: -408px -120px;
 }
+
 .icon-resize-vertical {
   background-position: -432px -119px;
 }
+
 .icon-resize-horizontal {
   background-position: -456px -118px;
 }
+
+.icon-hdd {
+  background-position: 0 -144px;
+}
+
+.icon-bullhorn {
+  background-position: -24px -144px;
+}
+
+.icon-bell {
+  background-position: -48px -144px;
+}
+
+.icon-certificate {
+  background-position: -72px -144px;
+}
+
+.icon-thumbs-up {
+  background-position: -96px -144px;
+}
+
+.icon-thumbs-down {
+  background-position: -120px -144px;
+}
+
+.icon-hand-right {
+  background-position: -144px -144px;
+}
+
+.icon-hand-left {
+  background-position: -168px -144px;
+}
+
+.icon-hand-up {
+  background-position: -192px -144px;
+}
+
+.icon-hand-down {
+  background-position: -216px -144px;
+}
+
+.icon-circle-arrow-right {
+  background-position: -240px -144px;
+}
+
+.icon-circle-arrow-left {
+  background-position: -264px -144px;
+}
+
+.icon-circle-arrow-up {
+  background-position: -288px -144px;
+}
+
+.icon-circle-arrow-down {
+  background-position: -312px -144px;
+}
+
+.icon-globe {
+  background-position: -336px -144px;
+}
+
+.icon-wrench {
+  background-position: -360px -144px;
+}
+
+.icon-tasks {
+  background-position: -384px -144px;
+}
+
+.icon-filter {
+  background-position: -408px -144px;
+}
+
+.icon-briefcase {
+  background-position: -432px -144px;
+}
+
+.icon-fullscreen {
+  background-position: -456px -144px;
+}
+
+.dropup,
 .dropdown {
   position: relative;
 }
+
 .dropdown-toggle {
   *margin-bottom: -3px;
 }
+
 .dropdown-toggle:active,
 .open .dropdown-toggle {
   outline: 0;
 }
+
 .caret {
   display: inline-block;
   width: 0;
   height: 0;
   vertical-align: top;
-  border-left: 4px solid transparent;
-  border-right: 4px solid transparent;
   border-top: 4px solid #000000;
+  border-right: 4px solid transparent;
+  border-left: 4px solid transparent;
+  content: "";
   opacity: 0.3;
   filter: alpha(opacity=30);
-  content: "";
 }
+
 .dropdown .caret {
   margin-top: 8px;
   margin-left: 2px;
 }
+
 .dropdown:hover .caret,
-.open.dropdown .caret {
+.open .caret {
   opacity: 1;
   filter: alpha(opacity=100);
 }
+
 .dropdown-menu {
   position: absolute;
   top: 100%;
   left: 0;
   z-index: 1000;
-  float: left;
   display: none;
+  float: left;
   min-width: 160px;
   padding: 4px 0;
-  margin: 0;
+  margin: 1px 0 0;
   list-style: none;
   background-color: #ffffff;
-  border-color: #ccc;
-  border-color: rgba(0, 0, 0, 0.2);
-  border-style: solid;
-  border-width: 1px;
-  -webkit-border-radius: 0 0 5px 5px;
-  -moz-border-radius: 0 0 5px 5px;
-  border-radius: 0 0 5px 5px;
-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-  -webkit-background-clip: padding-box;
-  -moz-background-clip: padding;
-  background-clip: padding-box;
+  border: 1px solid #ccc;
+  border: 1px solid rgba(0, 0, 0, 0.2);
   *border-right-width: 2px;
   *border-bottom-width: 2px;
+  -webkit-border-radius: 5px;
+     -moz-border-radius: 5px;
+          border-radius: 5px;
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+     -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+  -webkit-background-clip: padding-box;
+     -moz-background-clip: padding;
+          background-clip: padding-box;
 }
+
 .dropdown-menu.pull-right {
   right: 0;
   left: auto;
 }
+
 .dropdown-menu .divider {
+  *width: 100%;
   height: 1px;
   margin: 8px 1px;
+  *margin: -5px 0 5px;
   overflow: hidden;
   background-color: #e5e5e5;
   border-bottom: 1px solid #ffffff;
-  *width: 100%;
-  *margin: -5px 0 5px;
 }
+
 .dropdown-menu a {
   display: block;
   padding: 3px 15px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1848,6 +2420,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; table .span24 {
   color: #333333;
   white-space: nowrap;
 }
+
 .dropdown-menu li &amp;gt; a:hover,
 .dropdown-menu .active &amp;gt; a,
 .dropdown-menu .active &amp;gt; a:hover {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1855,39 +2428,41 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; table .span24 {
   text-decoration: none;
   background-color: #0088cc;
 }
-.dropdown.open {
+
+.open {
   *z-index: 1000;
 }
-.dropdown.open .dropdown-toggle {
-  color: #ffffff;
-  background: #ccc;
-  background: rgba(0, 0, 0, 0.3);
-}
-.dropdown.open .dropdown-menu {
+
+.open .dropdown-menu {
   display: block;
 }
+
 .pull-right .dropdown-menu {
-  left: auto;
   right: 0;
+  left: auto;
 }
+
 .dropup .caret,
 .navbar-fixed-bottom .dropdown .caret {
   border-top: 0;
   border-bottom: 4px solid #000000;
   content: "\2191";
 }
+
 .dropup .dropdown-menu,
 .navbar-fixed-bottom .dropdown .dropdown-menu {
   top: auto;
   bottom: 100%;
   margin-bottom: 1px;
 }
+
 .typeahead {
   margin-top: 2px;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
 }
+
 .well {
   min-height: 20px;
   padding: 19px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1896,52 +2471,62 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; table .span24 {
   border: 1px solid #eee;
   border: 1px solid rgba(0, 0, 0, 0.05);
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
   -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
 }
+
 .well blockquote {
   border-color: #ddd;
   border-color: rgba(0, 0, 0, 0.15);
 }
+
 .well-large {
   padding: 24px;
   -webkit-border-radius: 6px;
-  -moz-border-radius: 6px;
-  border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
 }
+
 .well-small {
   padding: 9px;
   -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
 }
+
 .fade {
-  -webkit-transition: opacity 0.15s linear;
-  -moz-transition: opacity 0.15s linear;
-  -ms-transition: opacity 0.15s linear;
-  -o-transition: opacity 0.15s linear;
-  transition: opacity 0.15s linear;
   opacity: 0;
+  filter: alpha(opacity=0);
+  -webkit-transition: opacity 0.15s linear;
+     -moz-transition: opacity 0.15s linear;
+      -ms-transition: opacity 0.15s linear;
+       -o-transition: opacity 0.15s linear;
+          transition: opacity 0.15s linear;
 }
+
 .fade.in {
   opacity: 1;
+  filter: alpha(opacity=100);
 }
+
 .collapse {
-  -webkit-transition: height 0.35s ease;
-  -moz-transition: height 0.35s ease;
-  -ms-transition: height 0.35s ease;
-  -o-transition: height 0.35s ease;
-  transition: height 0.35s ease;
   position: relative;
-  overflow: hidden;
   height: 0;
+  overflow: hidden;
+  -webkit-transition: height 0.35s ease;
+     -moz-transition: height 0.35s ease;
+      -ms-transition: height 0.35s ease;
+       -o-transition: height 0.35s ease;
+          transition: height 0.35s ease;
 }
+
 .collapse.in {
   height: auto;
 }
+
 .close {
   float: right;
   font-size: 20px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1952,125 +2537,153 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; table .span24 {
   opacity: 0.2;
   filter: alpha(opacity=20);
 }
+
 .close:hover {
   color: #000000;
   text-decoration: none;
+  cursor: pointer;
   opacity: 0.4;
   filter: alpha(opacity=40);
+}
+
+button.close {
+  padding: 0;
   cursor: pointer;
+  background: transparent;
+  border: 0;
+  -webkit-appearance: none;
 }
+
 .btn {
   display: inline-block;
   *display: inline;
-  /* IE7 inline-block hack */
-
-  *zoom: 1;
   padding: 4px 10px 4px;
   margin-bottom: 0;
+  *margin-left: .3em;
   font-size: 13px;
   line-height: 18px;
+  *line-height: 20px;
   color: #333333;
   text-align: center;
   text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
   vertical-align: middle;
+  cursor: pointer;
   background-color: #f5f5f5;
-  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
+  *background-color: #e6e6e6;
   background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
   background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
   background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
   background-image: linear-gradient(top, #ffffff, #e6e6e6);
+  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
-  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
   border: 1px solid #cccccc;
+  *border: 0;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
   border-bottom-color: #b3b3b3;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+  *zoom: 1;
   -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-  cursor: pointer;
-  *margin-left: .3em;
+     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
 }
+
 .btn:hover,
 .btn:active,
 .btn.active,
 .btn.disabled,
 .btn[disabled] {
   background-color: #e6e6e6;
+  *background-color: #d9d9d9;
 }
+
 .btn:active,
 .btn.active {
   background-color: #cccccc \9;
 }
+
 .btn:first-child {
   *margin-left: 0;
 }
+
 .btn:hover {
   color: #333333;
   text-decoration: none;
   background-color: #e6e6e6;
+  *background-color: #d9d9d9;
+  /* Buttons in IE7 don't get borders, so darken on hover */
+
   background-position: 0 -15px;
   -webkit-transition: background-position 0.1s linear;
-  -moz-transition: background-position 0.1s linear;
-  -ms-transition: background-position 0.1s linear;
-  -o-transition: background-position 0.1s linear;
-  transition: background-position 0.1s linear;
+     -moz-transition: background-position 0.1s linear;
+      -ms-transition: background-position 0.1s linear;
+       -o-transition: background-position 0.1s linear;
+          transition: background-position 0.1s linear;
 }
+
 .btn:focus {
   outline: thin dotted #333;
   outline: 5px auto -webkit-focus-ring-color;
   outline-offset: -2px;
 }
+
 .btn.active,
 .btn:active {
-  background-image: none;
-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
   background-color: #e6e6e6;
   background-color: #d9d9d9 \9;
+  background-image: none;
   outline: 0;
+  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
 }
+
 .btn.disabled,
 .btn[disabled] {
   cursor: default;
-  background-image: none;
   background-color: #e6e6e6;
+  background-image: none;
   opacity: 0.65;
   filter: alpha(opacity=65);
   -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
+     -moz-box-shadow: none;
+          box-shadow: none;
 }
+
 .btn-large {
   padding: 9px 14px;
   font-size: 15px;
   line-height: normal;
   -webkit-border-radius: 5px;
-  -moz-border-radius: 5px;
-  border-radius: 5px;
+     -moz-border-radius: 5px;
+          border-radius: 5px;
 }
+
 .btn-large [class^="icon-"] {
   margin-top: 1px;
 }
+
 .btn-small {
   padding: 5px 9px;
   font-size: 11px;
   line-height: 16px;
 }
+
 .btn-small [class^="icon-"] {
   margin-top: -1px;
 }
+
 .btn-mini {
   padding: 2px 6px;
   font-size: 11px;
   line-height: 14px;
 }
+
 .btn-primary,
 .btn-primary:hover,
 .btn-warning,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2083,9 +2696,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; table .span24 {
 .btn-info:hover,
 .btn-inverse,
 .btn-inverse:hover {
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
+
 .btn-primary.active,
 .btn-warning.active,
 .btn-danger.active,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2094,204 +2708,251 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; table .span24 {
 .btn-inverse.active {
   color: rgba(255, 255, 255, 0.75);
 }
+
+.btn {
+  border-color: #ccc;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+}
+
 .btn-primary {
   background-color: #0074cc;
-  background-image: -moz-linear-gradient(top, #0088cc, #0055cc);
+  *background-color: #0055cc;
   background-image: -ms-linear-gradient(top, #0088cc, #0055cc);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));
   background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);
   background-image: -o-linear-gradient(top, #0088cc, #0055cc);
+  background-image: -moz-linear-gradient(top, #0088cc, #0055cc);
   background-image: linear-gradient(top, #0088cc, #0055cc);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);
   border-color: #0055cc #0055cc #003580;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);
   filter: progid:dximagetransform.microsoft.gradient(enabled=false);
 }
+
 .btn-primary:hover,
 .btn-primary:active,
 .btn-primary.active,
 .btn-primary.disabled,
 .btn-primary[disabled] {
   background-color: #0055cc;
+  *background-color: #004ab3;
 }
+
 .btn-primary:active,
 .btn-primary.active {
   background-color: #004099 \9;
 }
+
 .btn-warning {
   background-color: #faa732;
-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
+  *background-color: #f89406;
   background-image: -ms-linear-gradient(top, #fbb450, #f89406);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
   background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
   background-image: -o-linear-gradient(top, #fbb450, #f89406);
+  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
   background-image: linear-gradient(top, #fbb450, #f89406);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
   border-color: #f89406 #f89406 #ad6704;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
   filter: progid:dximagetransform.microsoft.gradient(enabled=false);
 }
+
 .btn-warning:hover,
 .btn-warning:active,
 .btn-warning.active,
 .btn-warning.disabled,
 .btn-warning[disabled] {
   background-color: #f89406;
+  *background-color: #df8505;
 }
+
 .btn-warning:active,
 .btn-warning.active {
   background-color: #c67605 \9;
 }
+
 .btn-danger {
   background-color: #da4f49;
-  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
+  *background-color: #bd362f;
   background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
   background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
   background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
+  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
   background-image: linear-gradient(top, #ee5f5b, #bd362f);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);
   border-color: #bd362f #bd362f #802420;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);
   filter: progid:dximagetransform.microsoft.gradient(enabled=false);
 }
+
 .btn-danger:hover,
 .btn-danger:active,
 .btn-danger.active,
 .btn-danger.disabled,
 .btn-danger[disabled] {
   background-color: #bd362f;
+  *background-color: #a9302a;
 }
+
 .btn-danger:active,
 .btn-danger.active {
   background-color: #942a25 \9;
 }
+
 .btn-success {
   background-color: #5bb75b;
-  background-image: -moz-linear-gradient(top, #62c462, #51a351);
+  *background-color: #51a351;
   background-image: -ms-linear-gradient(top, #62c462, #51a351);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
   background-image: -webkit-linear-gradient(top, #62c462, #51a351);
   background-image: -o-linear-gradient(top, #62c462, #51a351);
+  background-image: -moz-linear-gradient(top, #62c462, #51a351);
   background-image: linear-gradient(top, #62c462, #51a351);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);
   border-color: #51a351 #51a351 #387038;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);
   filter: progid:dximagetransform.microsoft.gradient(enabled=false);
 }
+
 .btn-success:hover,
 .btn-success:active,
 .btn-success.active,
 .btn-success.disabled,
 .btn-success[disabled] {
   background-color: #51a351;
+  *background-color: #499249;
 }
+
 .btn-success:active,
 .btn-success.active {
   background-color: #408140 \9;
 }
+
 .btn-info {
   background-color: #49afcd;
-  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
+  *background-color: #2f96b4;
   background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
   background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
   background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
+  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
   background-image: linear-gradient(top, #5bc0de, #2f96b4);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);
   border-color: #2f96b4 #2f96b4 #1f6377;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);
   filter: progid:dximagetransform.microsoft.gradient(enabled=false);
 }
+
 .btn-info:hover,
 .btn-info:active,
 .btn-info.active,
 .btn-info.disabled,
 .btn-info[disabled] {
   background-color: #2f96b4;
+  *background-color: #2a85a0;
 }
+
 .btn-info:active,
 .btn-info.active {
   background-color: #24748c \9;
 }
+
 .btn-inverse {
   background-color: #414141;
-  background-image: -moz-linear-gradient(top, #555555, #222222);
+  *background-color: #222222;
   background-image: -ms-linear-gradient(top, #555555, #222222);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));
   background-image: -webkit-linear-gradient(top, #555555, #222222);
   background-image: -o-linear-gradient(top, #555555, #222222);
+  background-image: -moz-linear-gradient(top, #555555, #222222);
   background-image: linear-gradient(top, #555555, #222222);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);
   border-color: #222222 #222222 #000000;
   border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);
   filter: progid:dximagetransform.microsoft.gradient(enabled=false);
 }
+
 .btn-inverse:hover,
 .btn-inverse:active,
 .btn-inverse.active,
 .btn-inverse.disabled,
 .btn-inverse[disabled] {
   background-color: #222222;
+  *background-color: #151515;
 }
+
 .btn-inverse:active,
 .btn-inverse.active {
   background-color: #080808 \9;
 }
+
 button.btn,
 input[type="submit"].btn {
   *padding-top: 2px;
   *padding-bottom: 2px;
 }
+
 button.btn::-moz-focus-inner,
 input[type="submit"].btn::-moz-focus-inner {
   padding: 0;
   border: 0;
 }
+
 button.btn.btn-large,
 input[type="submit"].btn.btn-large {
   *padding-top: 7px;
   *padding-bottom: 7px;
 }
+
 button.btn.btn-small,
 input[type="submit"].btn.btn-small {
   *padding-top: 3px;
   *padding-bottom: 3px;
 }
+
 button.btn.btn-mini,
 input[type="submit"].btn.btn-mini {
   *padding-top: 1px;
   *padding-bottom: 1px;
 }
+
 .btn-group {
   position: relative;
-  *zoom: 1;
   *margin-left: .3em;
+  *zoom: 1;
 }
+
 .btn-group:before,
 .btn-group:after {
   display: table;
   content: "";
 }
+
 .btn-group:after {
   clear: both;
 }
+
 .btn-group:first-child {
   *margin-left: 0;
 }
+
 .btn-group + .btn-group {
   margin-left: 5px;
 }
+
 .btn-toolbar {
   margin-top: 9px;
   margin-bottom: 9px;
 }
+
 .btn-toolbar .btn-group {
   display: inline-block;
   *display: inline;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2299,120 +2960,159 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
 
   *zoom: 1;
 }
-.btn-group .btn {
+
+.btn-group &amp;gt; .btn {
   position: relative;
   float: left;
   margin-left: -1px;
   -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
 }
-.btn-group .btn:first-child {
+
+.btn-group &amp;gt; .btn:first-child {
   margin-left: 0;
-  -webkit-border-top-left-radius: 4px;
-  -moz-border-radius-topleft: 4px;
-  border-top-left-radius: 4px;
   -webkit-border-bottom-left-radius: 4px;
+          border-bottom-left-radius: 4px;
+  -webkit-border-top-left-radius: 4px;
+          border-top-left-radius: 4px;
   -moz-border-radius-bottomleft: 4px;
-  border-bottom-left-radius: 4px;
+  -moz-border-radius-topleft: 4px;
 }
-.btn-group .btn:last-child,
-.btn-group .dropdown-toggle {
+
+.btn-group &amp;gt; .btn:last-child,
+.btn-group &amp;gt; .dropdown-toggle {
   -webkit-border-top-right-radius: 4px;
-  -moz-border-radius-topright: 4px;
-  border-top-right-radius: 4px;
+          border-top-right-radius: 4px;
   -webkit-border-bottom-right-radius: 4px;
+          border-bottom-right-radius: 4px;
+  -moz-border-radius-topright: 4px;
   -moz-border-radius-bottomright: 4px;
-  border-bottom-right-radius: 4px;
 }
-.btn-group .btn.large:first-child {
+
+.btn-group &amp;gt; .btn.large:first-child {
   margin-left: 0;
-  -webkit-border-top-left-radius: 6px;
-  -moz-border-radius-topleft: 6px;
-  border-top-left-radius: 6px;
   -webkit-border-bottom-left-radius: 6px;
+          border-bottom-left-radius: 6px;
+  -webkit-border-top-left-radius: 6px;
+          border-top-left-radius: 6px;
   -moz-border-radius-bottomleft: 6px;
-  border-bottom-left-radius: 6px;
+  -moz-border-radius-topleft: 6px;
 }
-.btn-group .btn.large:last-child,
-.btn-group .large.dropdown-toggle {
+
+.btn-group &amp;gt; .btn.large:last-child,
+.btn-group &amp;gt; .large.dropdown-toggle {
   -webkit-border-top-right-radius: 6px;
-  -moz-border-radius-topright: 6px;
-  border-top-right-radius: 6px;
+          border-top-right-radius: 6px;
   -webkit-border-bottom-right-radius: 6px;
+          border-bottom-right-radius: 6px;
+  -moz-border-radius-topright: 6px;
   -moz-border-radius-bottomright: 6px;
-  border-bottom-right-radius: 6px;
 }
-.btn-group .btn:hover,
-.btn-group .btn:focus,
-.btn-group .btn:active,
-.btn-group .btn.active {
+
+.btn-group &amp;gt; .btn:hover,
+.btn-group &amp;gt; .btn:focus,
+.btn-group &amp;gt; .btn:active,
+.btn-group &amp;gt; .btn.active {
   z-index: 2;
 }
+
 .btn-group .dropdown-toggle:active,
 .btn-group.open .dropdown-toggle {
   outline: 0;
 }
-.btn-group .dropdown-toggle {
-  padding-left: 8px;
+
+.btn-group &amp;gt; .dropdown-toggle {
+  *padding-top: 4px;
   padding-right: 8px;
+  *padding-bottom: 4px;
+  padding-left: 8px;
   -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-  *padding-top: 3px;
-  *padding-bottom: 3px;
+     -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
 }
-.btn-group .btn-mini.dropdown-toggle {
-  padding-left: 5px;
+
+.btn-group &amp;gt; .btn-mini.dropdown-toggle {
   padding-right: 5px;
-  *padding-top: 1px;
-  *padding-bottom: 1px;
+  padding-left: 5px;
 }
-.btn-group .btn-small.dropdown-toggle {
+
+.btn-group &amp;gt; .btn-small.dropdown-toggle {
   *padding-top: 4px;
   *padding-bottom: 4px;
 }
-.btn-group .btn-large.dropdown-toggle {
-  padding-left: 12px;
+
+.btn-group &amp;gt; .btn-large.dropdown-toggle {
   padding-right: 12px;
+  padding-left: 12px;
 }
-.btn-group.open {
-  *z-index: 1000;
-}
-.btn-group.open .dropdown-menu {
-  display: block;
-  margin-top: 1px;
-  -webkit-border-radius: 5px;
-  -moz-border-radius: 5px;
-  border-radius: 5px;
-}
+
 .btn-group.open .dropdown-toggle {
   background-image: none;
-  -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-  -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
 }
-.btn .caret {
-  margin-top: 7px;
-  margin-left: 0;
+
+.btn-group.open .btn.dropdown-toggle {
+  background-color: #e6e6e6;
 }
-.btn:hover .caret,
-.open.btn-group .caret {
-  opacity: 1;
-  filter: alpha(opacity=100);
+
+.btn-group.open .btn-primary.dropdown-toggle {
+  background-color: #0055cc;
 }
-.btn-mini .caret {
-  margin-top: 5px;
+
+.btn-group.open .btn-warning.dropdown-toggle {
+  background-color: #f89406;
 }
-.btn-small .caret {
+
+.btn-group.open .btn-danger.dropdown-toggle {
+  background-color: #bd362f;
+}
+
+.btn-group.open .btn-success.dropdown-toggle {
+  background-color: #51a351;
+}
+
+.btn-group.open .btn-info.dropdown-toggle {
+  background-color: #2f96b4;
+}
+
+.btn-group.open .btn-inverse.dropdown-toggle {
+  background-color: #222222;
+}
+
+.btn .caret {
+  margin-top: 7px;
+  margin-left: 0;
+}
+
+.btn:hover .caret,
+.open.btn-group .caret {
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
+
+.btn-mini .caret {
+  margin-top: 5px;
+}
+
+.btn-small .caret {
   margin-top: 6px;
 }
+
 .btn-large .caret {
   margin-top: 6px;
-  border-left: 5px solid transparent;
-  border-right: 5px solid transparent;
-  border-top: 5px solid #000000;
+  border-top-width: 5px;
+  border-right-width: 5px;
+  border-left-width: 5px;
+}
+
+.dropup .btn-large .caret {
+  border-top: 0;
+  border-bottom: 5px solid #000000;
 }
+
 .btn-primary .caret,
 .btn-warning .caret,
 .btn-danger .caret,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2424,65 +3124,82 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   opacity: 0.75;
   filter: alpha(opacity=75);
 }
+
 .alert {
   padding: 8px 35px 8px 14px;
   margin-bottom: 18px;
+  color: #c09853;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
   background-color: #fcf8e3;
   border: 1px solid #fbeed5;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
-  color: #c09853;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
 }
+
 .alert-heading {
   color: inherit;
 }
+
 .alert .close {
   position: relative;
   top: -2px;
   right: -21px;
   line-height: 18px;
 }
+
 .alert-success {
+  color: #468847;
   background-color: #dff0d8;
   border-color: #d6e9c6;
-  color: #468847;
 }
+
 .alert-danger,
 .alert-error {
+  color: #b94a48;
   background-color: #f2dede;
   border-color: #eed3d7;
-  color: #b94a48;
 }
+
 .alert-info {
+  color: #3a87ad;
   background-color: #d9edf7;
   border-color: #bce8f1;
-  color: #3a87ad;
 }
+
 .alert-block {
   padding-top: 14px;
   padding-bottom: 14px;
 }
+
 .alert-block &amp;gt; p,
 .alert-block &amp;gt; ul {
   margin-bottom: 0;
 }
+
 .alert-block p + p {
   margin-top: 5px;
 }
+
 .nav {
-  margin-left: 0;
   margin-bottom: 18px;
+  margin-left: 0;
   list-style: none;
 }
+
 .nav &amp;gt; li &amp;gt; a {
   display: block;
 }
+
 .nav &amp;gt; li &amp;gt; a:hover {
   text-decoration: none;
   background-color: #eeeeee;
 }
+
+.nav &amp;gt; .pull-right {
+  float: right;
+}
+
 .nav .nav-header {
   display: block;
   padding: 3px 15px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2493,45 +3210,54 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
   text-transform: uppercase;
 }
+
 .nav li + .nav-header {
   margin-top: 9px;
 }
+
 .nav-list {
-  padding-left: 15px;
   padding-right: 15px;
+  padding-left: 15px;
   margin-bottom: 0;
 }
+
 .nav-list &amp;gt; li &amp;gt; a,
 .nav-list .nav-header {
-  margin-left: -15px;
   margin-right: -15px;
+  margin-left: -15px;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
 }
+
 .nav-list &amp;gt; li &amp;gt; a {
   padding: 3px 15px;
 }
+
 .nav-list &amp;gt; .active &amp;gt; a,
 .nav-list &amp;gt; .active &amp;gt; a:hover {
   color: #ffffff;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
   background-color: #0088cc;
 }
+
 .nav-list [class^="icon-"] {
   margin-right: 2px;
 }
+
 .nav-list .divider {
+  *width: 100%;
   height: 1px;
   margin: 8px 1px;
+  *margin: -5px 0 5px;
   overflow: hidden;
   background-color: #e5e5e5;
   border-bottom: 1px solid #ffffff;
-  *width: 100%;
-  *margin: -5px 0 5px;
 }
+
 .nav-tabs,
 .nav-pills {
   *zoom: 1;
 }
+
 .nav-tabs:before,
 .nav-pills:before,
 .nav-tabs:after,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2539,14 +3265,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   display: table;
   content: "";
 }
+
 .nav-tabs:after,
 .nav-pills:after {
   clear: both;
 }
+
 .nav-tabs &amp;gt; li,
 .nav-pills &amp;gt; li {
   float: left;
 }
+
 .nav-tabs &amp;gt; li &amp;gt; a,
 .nav-pills &amp;gt; li &amp;gt; a {
   padding-right: 12px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2554,234 +3283,283 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   margin-right: 2px;
   line-height: 14px;
 }
+
 .nav-tabs {
   border-bottom: 1px solid #ddd;
 }
+
 .nav-tabs &amp;gt; li {
   margin-bottom: -1px;
 }
+
 .nav-tabs &amp;gt; li &amp;gt; a {
   padding-top: 8px;
   padding-bottom: 8px;
   line-height: 18px;
   border: 1px solid transparent;
   -webkit-border-radius: 4px 4px 0 0;
-  -moz-border-radius: 4px 4px 0 0;
-  border-radius: 4px 4px 0 0;
+     -moz-border-radius: 4px 4px 0 0;
+          border-radius: 4px 4px 0 0;
 }
+
 .nav-tabs &amp;gt; li &amp;gt; a:hover {
   border-color: #eeeeee #eeeeee #dddddd;
 }
+
 .nav-tabs &amp;gt; .active &amp;gt; a,
 .nav-tabs &amp;gt; .active &amp;gt; a:hover {
   color: #555555;
+  cursor: default;
   background-color: #ffffff;
   border: 1px solid #ddd;
   border-bottom-color: transparent;
-  cursor: default;
 }
+
 .nav-pills &amp;gt; li &amp;gt; a {
   padding-top: 8px;
   padding-bottom: 8px;
   margin-top: 2px;
   margin-bottom: 2px;
   -webkit-border-radius: 5px;
-  -moz-border-radius: 5px;
-  border-radius: 5px;
+     -moz-border-radius: 5px;
+          border-radius: 5px;
 }
+
 .nav-pills &amp;gt; .active &amp;gt; a,
 .nav-pills &amp;gt; .active &amp;gt; a:hover {
   color: #ffffff;
   background-color: #0088cc;
 }
+
 .nav-stacked &amp;gt; li {
   float: none;
 }
+
 .nav-stacked &amp;gt; li &amp;gt; a {
   margin-right: 0;
 }
+
 .nav-tabs.nav-stacked {
   border-bottom: 0;
 }
+
 .nav-tabs.nav-stacked &amp;gt; li &amp;gt; a {
   border: 1px solid #ddd;
   -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
 }
+
 .nav-tabs.nav-stacked &amp;gt; li:first-child &amp;gt; a {
   -webkit-border-radius: 4px 4px 0 0;
-  -moz-border-radius: 4px 4px 0 0;
-  border-radius: 4px 4px 0 0;
+     -moz-border-radius: 4px 4px 0 0;
+          border-radius: 4px 4px 0 0;
 }
+
 .nav-tabs.nav-stacked &amp;gt; li:last-child &amp;gt; a {
   -webkit-border-radius: 0 0 4px 4px;
-  -moz-border-radius: 0 0 4px 4px;
-  border-radius: 0 0 4px 4px;
+     -moz-border-radius: 0 0 4px 4px;
+          border-radius: 0 0 4px 4px;
 }
+
 .nav-tabs.nav-stacked &amp;gt; li &amp;gt; a:hover {
-  border-color: #ddd;
   z-index: 2;
+  border-color: #ddd;
 }
+
 .nav-pills.nav-stacked &amp;gt; li &amp;gt; a {
   margin-bottom: 3px;
 }
+
 .nav-pills.nav-stacked &amp;gt; li:last-child &amp;gt; a {
   margin-bottom: 1px;
 }
-.nav-tabs .dropdown-menu,
-.nav-pills .dropdown-menu {
-  margin-top: 1px;
-  border-width: 1px;
+
+.nav-tabs .dropdown-menu {
+  -webkit-border-radius: 0 0 5px 5px;
+     -moz-border-radius: 0 0 5px 5px;
+          border-radius: 0 0 5px 5px;
 }
+
 .nav-pills .dropdown-menu {
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
 }
+
 .nav-tabs .dropdown-toggle .caret,
 .nav-pills .dropdown-toggle .caret {
+  margin-top: 6px;
   border-top-color: #0088cc;
   border-bottom-color: #0088cc;
-  margin-top: 6px;
 }
+
 .nav-tabs .dropdown-toggle:hover .caret,
 .nav-pills .dropdown-toggle:hover .caret {
   border-top-color: #005580;
   border-bottom-color: #005580;
 }
+
 .nav-tabs .active .dropdown-toggle .caret,
 .nav-pills .active .dropdown-toggle .caret {
   border-top-color: #333333;
   border-bottom-color: #333333;
 }
+
 .nav &amp;gt; .dropdown.active &amp;gt; a:hover {
   color: #000000;
   cursor: pointer;
 }
+
 .nav-tabs .open .dropdown-toggle,
 .nav-pills .open .dropdown-toggle,
-.nav &amp;gt; .open.active &amp;gt; a:hover {
+.nav &amp;gt; li.dropdown.open.active &amp;gt; a:hover {
   color: #ffffff;
   background-color: #999999;
   border-color: #999999;
 }
-.nav .open .caret,
-.nav .open.active .caret,
-.nav .open a:hover .caret {
+
+.nav li.dropdown.open .caret,
+.nav li.dropdown.open.active .caret,
+.nav li.dropdown.open a:hover .caret {
   border-top-color: #ffffff;
   border-bottom-color: #ffffff;
   opacity: 1;
   filter: alpha(opacity=100);
 }
+
 .tabs-stacked .open &amp;gt; a:hover {
   border-color: #999999;
 }
+
 .tabbable {
   *zoom: 1;
 }
+
 .tabbable:before,
 .tabbable:after {
   display: table;
   content: "";
 }
+
 .tabbable:after {
   clear: both;
 }
+
 .tab-content {
-  display: table;
-  width: 100%;
+  overflow: auto;
 }
-.tabs-below .nav-tabs,
-.tabs-right .nav-tabs,
-.tabs-left .nav-tabs {
+
+.tabs-below &amp;gt; .nav-tabs,
+.tabs-right &amp;gt; .nav-tabs,
+.tabs-left &amp;gt; .nav-tabs {
   border-bottom: 0;
 }
+
 .tab-content &amp;gt; .tab-pane,
 .pill-content &amp;gt; .pill-pane {
   display: none;
 }
+
 .tab-content &amp;gt; .active,
 .pill-content &amp;gt; .active {
   display: block;
 }
-.tabs-below .nav-tabs {
+
+.tabs-below &amp;gt; .nav-tabs {
   border-top: 1px solid #ddd;
 }
-.tabs-below .nav-tabs &amp;gt; li {
+
+.tabs-below &amp;gt; .nav-tabs &amp;gt; li {
   margin-top: -1px;
   margin-bottom: 0;
 }
-.tabs-below .nav-tabs &amp;gt; li &amp;gt; a {
+
+.tabs-below &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a {
   -webkit-border-radius: 0 0 4px 4px;
-  -moz-border-radius: 0 0 4px 4px;
-  border-radius: 0 0 4px 4px;
+     -moz-border-radius: 0 0 4px 4px;
+          border-radius: 0 0 4px 4px;
 }
-.tabs-below .nav-tabs &amp;gt; li &amp;gt; a:hover {
-  border-bottom-color: transparent;
+
+.tabs-below &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a:hover {
   border-top-color: #ddd;
+  border-bottom-color: transparent;
 }
-.tabs-below .nav-tabs .active &amp;gt; a,
-.tabs-below .nav-tabs .active &amp;gt; a:hover {
+
+.tabs-below &amp;gt; .nav-tabs &amp;gt; .active &amp;gt; a,
+.tabs-below &amp;gt; .nav-tabs &amp;gt; .active &amp;gt; a:hover {
   border-color: transparent #ddd #ddd #ddd;
 }
-.tabs-left .nav-tabs &amp;gt; li,
-.tabs-right .nav-tabs &amp;gt; li {
+
+.tabs-left &amp;gt; .nav-tabs &amp;gt; li,
+.tabs-right &amp;gt; .nav-tabs &amp;gt; li {
   float: none;
 }
-.tabs-left .nav-tabs &amp;gt; li &amp;gt; a,
-.tabs-right .nav-tabs &amp;gt; li &amp;gt; a {
+
+.tabs-left &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a,
+.tabs-right &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a {
   min-width: 74px;
   margin-right: 0;
   margin-bottom: 3px;
 }
-.tabs-left .nav-tabs {
+
+.tabs-left &amp;gt; .nav-tabs {
   float: left;
   margin-right: 19px;
   border-right: 1px solid #ddd;
 }
-.tabs-left .nav-tabs &amp;gt; li &amp;gt; a {
+
+.tabs-left &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a {
   margin-right: -1px;
   -webkit-border-radius: 4px 0 0 4px;
-  -moz-border-radius: 4px 0 0 4px;
-  border-radius: 4px 0 0 4px;
+     -moz-border-radius: 4px 0 0 4px;
+          border-radius: 4px 0 0 4px;
 }
-.tabs-left .nav-tabs &amp;gt; li &amp;gt; a:hover {
+
+.tabs-left &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a:hover {
   border-color: #eeeeee #dddddd #eeeeee #eeeeee;
 }
-.tabs-left .nav-tabs .active &amp;gt; a,
-.tabs-left .nav-tabs .active &amp;gt; a:hover {
+
+.tabs-left &amp;gt; .nav-tabs .active &amp;gt; a,
+.tabs-left &amp;gt; .nav-tabs .active &amp;gt; a:hover {
   border-color: #ddd transparent #ddd #ddd;
   *border-right-color: #ffffff;
 }
-.tabs-right .nav-tabs {
+
+.tabs-right &amp;gt; .nav-tabs {
   float: right;
   margin-left: 19px;
   border-left: 1px solid #ddd;
 }
-.tabs-right .nav-tabs &amp;gt; li &amp;gt; a {
+
+.tabs-right &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a {
   margin-left: -1px;
   -webkit-border-radius: 0 4px 4px 0;
-  -moz-border-radius: 0 4px 4px 0;
-  border-radius: 0 4px 4px 0;
+     -moz-border-radius: 0 4px 4px 0;
+          border-radius: 0 4px 4px 0;
 }
-.tabs-right .nav-tabs &amp;gt; li &amp;gt; a:hover {
+
+.tabs-right &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a:hover {
   border-color: #eeeeee #eeeeee #eeeeee #dddddd;
 }
-.tabs-right .nav-tabs .active &amp;gt; a,
-.tabs-right .nav-tabs .active &amp;gt; a:hover {
+
+.tabs-right &amp;gt; .nav-tabs .active &amp;gt; a,
+.tabs-right &amp;gt; .nav-tabs .active &amp;gt; a:hover {
   border-color: #ddd #ddd #ddd transparent;
   *border-left-color: #ffffff;
 }
+
 .navbar {
   *position: relative;
   *z-index: 2;
-  overflow: visible;
   margin-bottom: 18px;
+  overflow: visible;
 }
+
 .navbar-inner {
-  padding-left: 20px;
+  min-height: 40px;
   padding-right: 20px;
+  padding-left: 20px;
   background-color: #2c2c2c;
   background-image: -moz-linear-gradient(top, #333333, #222222);
   background-image: -ms-linear-gradient(top, #333333, #222222);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2790,138 +3568,116 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   background-image: -o-linear-gradient(top, #333333, #222222);
   background-image: linear-gradient(top, #333333, #222222);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
   -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+     -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
 }
+
 .navbar .container {
   width: auto;
 }
-.btn-navbar {
-  display: none;
-  float: right;
-  padding: 7px 10px;
-  margin-left: 5px;
-  margin-right: 5px;
-  background-color: #2c2c2c;
-  background-image: -moz-linear-gradient(top, #333333, #222222);
-  background-image: -ms-linear-gradient(top, #333333, #222222);
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
-  background-image: -webkit-linear-gradient(top, #333333, #222222);
-  background-image: -o-linear-gradient(top, #333333, #222222);
-  background-image: linear-gradient(top, #333333, #222222);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
-  border-color: #222222 #222222 #000000;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
-}
-.btn-navbar:hover,
-.btn-navbar:active,
-.btn-navbar.active,
-.btn-navbar.disabled,
-.btn-navbar[disabled] {
-  background-color: #222222;
-}
-.btn-navbar:active,
-.btn-navbar.active {
-  background-color: #080808 \9;
-}
-.btn-navbar .icon-bar {
-  display: block;
-  width: 18px;
-  height: 2px;
-  background-color: #f5f5f5;
-  -webkit-border-radius: 1px;
-  -moz-border-radius: 1px;
-  border-radius: 1px;
-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
-  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
-}
-.btn-navbar .icon-bar + .icon-bar {
-  margin-top: 3px;
-}
+
 .nav-collapse.collapse {
   height: auto;
 }
+
 .navbar {
   color: #999999;
 }
+
 .navbar .brand:hover {
   text-decoration: none;
 }
+
 .navbar .brand {
-  float: left;
   display: block;
+  float: left;
   padding: 8px 20px 12px;
   margin-left: -20px;
   font-size: 20px;
   font-weight: 200;
   line-height: 1;
-  color: #ffffff;
+  color: #999999;
 }
+
 .navbar .navbar-text {
   margin-bottom: 0;
   line-height: 40px;
 }
+
+.navbar .navbar-link {
+  color: #999999;
+}
+
+.navbar .navbar-link:hover {
+  color: #ffffff;
+}
+
 .navbar .btn,
 .navbar .btn-group {
   margin-top: 5px;
 }
+
 .navbar .btn-group .btn {
-  margin-top: 0;
+  margin: 0;
 }
+
 .navbar-form {
   margin-bottom: 0;
   *zoom: 1;
 }
+
 .navbar-form:before,
 .navbar-form:after {
   display: table;
   content: "";
 }
+
 .navbar-form:after {
   clear: both;
 }
+
 .navbar-form input,
 .navbar-form select,
 .navbar-form .radio,
 .navbar-form .checkbox {
   margin-top: 5px;
 }
+
 .navbar-form input,
 .navbar-form select {
   display: inline-block;
   margin-bottom: 0;
 }
+
 .navbar-form input[type="image"],
 .navbar-form input[type="checkbox"],
 .navbar-form input[type="radio"] {
   margin-top: 3px;
 }
+
 .navbar-form .input-append,
 .navbar-form .input-prepend {
   margin-top: 6px;
   white-space: nowrap;
 }
+
 .navbar-form .input-append input,
 .navbar-form .input-prepend input {
   margin-top: 0;
 }
+
 .navbar-search {
   position: relative;
   float: left;
   margin-top: 6px;
   margin-bottom: 0;
 }
+
 .navbar-search .search-query {
   padding: 4px 9px;
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2931,21 +3687,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   color: #ffffff;
   background-color: #626262;
   border: 1px solid #151515;
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
+     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
+          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
   -webkit-transition: none;
-  -moz-transition: none;
-  -ms-transition: none;
-  -o-transition: none;
-  transition: none;
+     -moz-transition: none;
+      -ms-transition: none;
+       -o-transition: none;
+          transition: none;
 }
+
 .navbar-search .search-query:-moz-placeholder {
   color: #cccccc;
 }
+
 .navbar-search .search-query::-webkit-input-placeholder {
   color: #cccccc;
 }
+
 .navbar-search .search-query:focus,
 .navbar-search .search-query.focused {
   padding: 5px 10px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2953,11 +3712,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   text-shadow: 0 1px 0 #ffffff;
   background-color: #ffffff;
   border: 0;
-  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
-  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
-  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
   outline: 0;
+  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+     -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+          box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
 }
+
 .navbar-fixed-top,
 .navbar-fixed-bottom {
   position: fixed;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2966,24 +3726,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   z-index: 1030;
   margin-bottom: 0;
 }
+
 .navbar-fixed-top .navbar-inner,
 .navbar-fixed-bottom .navbar-inner {
-  padding-left: 0;
   padding-right: 0;
+  padding-left: 0;
   -webkit-border-radius: 0;
-  -moz-border-radius: 0;
-  border-radius: 0;
+     -moz-border-radius: 0;
+          border-radius: 0;
 }
+
 .navbar-fixed-top .container,
 .navbar-fixed-bottom .container {
   width: 940px;
 }
+
 .navbar-fixed-top {
   top: 0;
 }
+
 .navbar-fixed-bottom {
   bottom: 0;
 }
+
 .navbar .nav {
   position: relative;
   left: 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2991,116 +3756,196 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   float: left;
   margin: 0 10px 0 0;
 }
+
 .navbar .nav.pull-right {
   float: right;
 }
+
 .navbar .nav &amp;gt; li {
   display: block;
   float: left;
 }
+
 .navbar .nav &amp;gt; li &amp;gt; a {
   float: none;
-  padding: 10px 10px 11px;
+  padding: 9px 10px 11px;
   line-height: 19px;
   color: #999999;
   text-decoration: none;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
 }
+
+.navbar .btn {
+  display: inline-block;
+  padding: 4px 10px 4px;
+  margin: 5px 5px 6px;
+  line-height: 18px;
+}
+
+.navbar .btn-group {
+  padding: 5px 5px 6px;
+  margin: 0;
+}
+
 .navbar .nav &amp;gt; li &amp;gt; a:hover {
-  background-color: transparent;
   color: #ffffff;
   text-decoration: none;
+  background-color: transparent;
 }
+
 .navbar .nav .active &amp;gt; a,
 .navbar .nav .active &amp;gt; a:hover {
   color: #ffffff;
   text-decoration: none;
   background-color: #222222;
 }
+
 .navbar .divider-vertical {
-  height: 40px;
   width: 1px;
+  height: 40px;
   margin: 0 9px;
   overflow: hidden;
   background-color: #222222;
   border-right: 1px solid #333333;
 }
+
 .navbar .nav.pull-right {
-  margin-left: 10px;
   margin-right: 0;
+  margin-left: 10px;
 }
-.navbar .dropdown-menu {
-  margin-top: 1px;
-  -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+
+.navbar .btn-navbar {
+  display: none;
+  float: right;
+  padding: 7px 10px;
+  margin-right: 5px;
+  margin-left: 5px;
+  background-color: #2c2c2c;
+  *background-color: #222222;
+  background-image: -ms-linear-gradient(top, #333333, #222222);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
+  background-image: -webkit-linear-gradient(top, #333333, #222222);
+  background-image: -o-linear-gradient(top, #333333, #222222);
+  background-image: linear-gradient(top, #333333, #222222);
+  background-image: -moz-linear-gradient(top, #333333, #222222);
+  background-repeat: repeat-x;
+  border-color: #222222 #222222 #000000;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+}
+
+.navbar .btn-navbar:hover,
+.navbar .btn-navbar:active,
+.navbar .btn-navbar.active,
+.navbar .btn-navbar.disabled,
+.navbar .btn-navbar[disabled] {
+  background-color: #222222;
+  *background-color: #151515;
+}
+
+.navbar .btn-navbar:active,
+.navbar .btn-navbar.active {
+  background-color: #080808 \9;
+}
+
+.navbar .btn-navbar .icon-bar {
+  display: block;
+  width: 18px;
+  height: 2px;
+  background-color: #f5f5f5;
+  -webkit-border-radius: 1px;
+     -moz-border-radius: 1px;
+          border-radius: 1px;
+  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+     -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+          box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
 }
+
+.btn-navbar .icon-bar + .icon-bar {
+  margin-top: 3px;
+}
+
 .navbar .dropdown-menu:before {
-  content: '';
+  position: absolute;
+  top: -7px;
+  left: 9px;
   display: inline-block;
-  border-left: 7px solid transparent;
   border-right: 7px solid transparent;
   border-bottom: 7px solid #ccc;
+  border-left: 7px solid transparent;
   border-bottom-color: rgba(0, 0, 0, 0.2);
-  position: absolute;
-  top: -7px;
-  left: 9px;
+  content: '';
 }
+
 .navbar .dropdown-menu:after {
-  content: '';
-  display: inline-block;
-  border-left: 6px solid transparent;
-  border-right: 6px solid transparent;
-  border-bottom: 6px solid #ffffff;
   position: absolute;
   top: -6px;
   left: 10px;
+  display: inline-block;
+  border-right: 6px solid transparent;
+  border-bottom: 6px solid #ffffff;
+  border-left: 6px solid transparent;
+  content: '';
 }
+
 .navbar-fixed-bottom .dropdown-menu:before {
+  top: auto;
+  bottom: -7px;
   border-top: 7px solid #ccc;
-  border-top-color: rgba(0, 0, 0, 0.2);
   border-bottom: 0;
-  bottom: -7px;
-  top: auto;
+  border-top-color: rgba(0, 0, 0, 0.2);
 }
+
 .navbar-fixed-bottom .dropdown-menu:after {
+  top: auto;
+  bottom: -6px;
   border-top: 6px solid #ffffff;
   border-bottom: 0;
-  bottom: -6px;
-  top: auto;
 }
-.navbar .nav .dropdown-toggle .caret,
-.navbar .nav .open.dropdown .caret {
+
+.navbar .nav li.dropdown .dropdown-toggle .caret,
+.navbar .nav li.dropdown.open .caret {
   border-top-color: #ffffff;
   border-bottom-color: #ffffff;
 }
-.navbar .nav .active .caret {
+
+.navbar .nav li.dropdown.active .caret {
   opacity: 1;
   filter: alpha(opacity=100);
 }
-.navbar .nav .open &amp;gt; .dropdown-toggle,
-.navbar .nav .active &amp;gt; .dropdown-toggle,
-.navbar .nav .open.active &amp;gt; .dropdown-toggle {
+
+.navbar .nav li.dropdown.open &amp;gt; .dropdown-toggle,
+.navbar .nav li.dropdown.active &amp;gt; .dropdown-toggle,
+.navbar .nav li.dropdown.open.active &amp;gt; .dropdown-toggle {
   background-color: transparent;
 }
-.navbar .nav .active &amp;gt; .dropdown-toggle:hover {
+
+.navbar .nav li.dropdown.active &amp;gt; .dropdown-toggle:hover {
   color: #ffffff;
 }
-.navbar .nav.pull-right .dropdown-menu,
-.navbar .nav .dropdown-menu.pull-right {
-  left: auto;
+
+.navbar .pull-right .dropdown-menu,
+.navbar .dropdown-menu.pull-right {
   right: 0;
-}
-.navbar .nav.pull-right .dropdown-menu:before,
-.navbar .nav .dropdown-menu.pull-right:before {
   left: auto;
-  right: 12px;
 }
-.navbar .nav.pull-right .dropdown-menu:after,
-.navbar .nav .dropdown-menu.pull-right:after {
+
+.navbar .pull-right .dropdown-menu:before,
+.navbar .dropdown-menu.pull-right:before {
+  right: 12px;
   left: auto;
+}
+
+.navbar .pull-right .dropdown-menu:after,
+.navbar .dropdown-menu.pull-right:after {
   right: 13px;
+  left: auto;
 }
+
 .breadcrumb {
   padding: 7px 14px;
   margin: 0 0 18px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3113,52 +3958,55 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);
   background-image: linear-gradient(top, #ffffff, #f5f5f5);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);
   border: 1px solid #ddd;
   -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);
   -webkit-box-shadow: inset 0 1px 0 #ffffff;
-  -moz-box-shadow: inset 0 1px 0 #ffffff;
-  box-shadow: inset 0 1px 0 #ffffff;
+     -moz-box-shadow: inset 0 1px 0 #ffffff;
+          box-shadow: inset 0 1px 0 #ffffff;
 }
+
 .breadcrumb li {
   display: inline-block;
   *display: inline;
-  /* IE7 inline-block hack */
-
-  *zoom: 1;
   text-shadow: 0 1px 0 #ffffff;
+  *zoom: 1;
 }
+
 .breadcrumb .divider {
   padding: 0 5px;
   color: #999999;
 }
+
 .breadcrumb .active a {
   color: #333333;
 }
+
 .pagination {
   height: 36px;
   margin: 18px 0;
 }
+
 .pagination ul {
   display: inline-block;
   *display: inline;
-  /* IE7 inline-block hack */
-
-  *zoom: 1;
-  margin-left: 0;
   margin-bottom: 0;
+  margin-left: 0;
   -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
+  *zoom: 1;
   -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+     -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
 }
+
 .pagination li {
   display: inline;
 }
+
 .pagination a {
   float: left;
   padding: 0 14px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3167,93 +4015,114 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   border: 1px solid #ddd;
   border-left-width: 0;
 }
+
 .pagination a:hover,
 .pagination .active a {
   background-color: #f5f5f5;
 }
+
 .pagination .active a {
   color: #999999;
   cursor: default;
 }
+
 .pagination .disabled span,
 .pagination .disabled a,
 .pagination .disabled a:hover {
   color: #999999;
-  background-color: transparent;
   cursor: default;
+  background-color: transparent;
 }
+
 .pagination li:first-child a {
   border-left-width: 1px;
   -webkit-border-radius: 3px 0 0 3px;
-  -moz-border-radius: 3px 0 0 3px;
-  border-radius: 3px 0 0 3px;
+     -moz-border-radius: 3px 0 0 3px;
+          border-radius: 3px 0 0 3px;
 }
+
 .pagination li:last-child a {
   -webkit-border-radius: 0 3px 3px 0;
-  -moz-border-radius: 0 3px 3px 0;
-  border-radius: 0 3px 3px 0;
+     -moz-border-radius: 0 3px 3px 0;
+          border-radius: 0 3px 3px 0;
 }
+
 .pagination-centered {
   text-align: center;
 }
+
 .pagination-right {
   text-align: right;
 }
+
 .pager {
-  margin-left: 0;
   margin-bottom: 18px;
-  list-style: none;
+  margin-left: 0;
   text-align: center;
+  list-style: none;
   *zoom: 1;
 }
+
 .pager:before,
 .pager:after {
   display: table;
   content: "";
 }
+
 .pager:after {
   clear: both;
 }
+
 .pager li {
   display: inline;
 }
+
 .pager a {
   display: inline-block;
   padding: 5px 14px;
   background-color: #fff;
   border: 1px solid #ddd;
   -webkit-border-radius: 15px;
-  -moz-border-radius: 15px;
-  border-radius: 15px;
+     -moz-border-radius: 15px;
+          border-radius: 15px;
 }
+
 .pager a:hover {
   text-decoration: none;
   background-color: #f5f5f5;
 }
+
 .pager .next a {
   float: right;
 }
+
 .pager .previous a {
   float: left;
 }
+
 .pager .disabled a,
 .pager .disabled a:hover {
   color: #999999;
-  background-color: #fff;
   cursor: default;
+  background-color: #fff;
 }
+
 .modal-open .dropdown-menu {
   z-index: 2050;
 }
+
 .modal-open .dropdown.open {
   *z-index: 2050;
 }
+
 .modal-open .popover {
   z-index: 2060;
 }
+
 .modal-open .tooltip {
   z-index: 2070;
 }
+
 .modal-backdrop {
   position: fixed;
   top: 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3263,64 +4132,72 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   z-index: 1040;
   background-color: #000000;
 }
+
 .modal-backdrop.fade {
   opacity: 0;
 }
+
 .modal-backdrop,
 .modal-backdrop.fade.in {
   opacity: 0.8;
   filter: alpha(opacity=80);
 }
+
 .modal {
   position: fixed;
   top: 50%;
   left: 50%;
   z-index: 1050;
-  overflow: auto;
   width: 560px;
   margin: -250px 0 0 -280px;
+  overflow: auto;
   background-color: #ffffff;
   border: 1px solid #999;
   border: 1px solid rgba(0, 0, 0, 0.3);
   *border: 1px solid #999;
-  /* IE6-7 */
-
   -webkit-border-radius: 6px;
-  -moz-border-radius: 6px;
-  border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
   -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
   -webkit-background-clip: padding-box;
-  -moz-background-clip: padding-box;
-  background-clip: padding-box;
+     -moz-background-clip: padding-box;
+          background-clip: padding-box;
 }
+
 .modal.fade {
-  -webkit-transition: opacity .3s linear, top .3s ease-out;
-  -moz-transition: opacity .3s linear, top .3s ease-out;
-  -ms-transition: opacity .3s linear, top .3s ease-out;
-  -o-transition: opacity .3s linear, top .3s ease-out;
-  transition: opacity .3s linear, top .3s ease-out;
   top: -25%;
+  -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;
+     -moz-transition: opacity 0.3s linear, top 0.3s ease-out;
+      -ms-transition: opacity 0.3s linear, top 0.3s ease-out;
+       -o-transition: opacity 0.3s linear, top 0.3s ease-out;
+          transition: opacity 0.3s linear, top 0.3s ease-out;
 }
+
 .modal.fade.in {
   top: 50%;
 }
+
 .modal-header {
   padding: 9px 15px;
   border-bottom: 1px solid #eee;
 }
+
 .modal-header .close {
   margin-top: 2px;
 }
+
 .modal-body {
-  overflow-y: auto;
   max-height: 400px;
   padding: 15px;
+  overflow-y: auto;
 }
+
 .modal-form {
   margin-bottom: 0;
 }
+
 .modal-footer {
   padding: 14px 15px 15px;
   margin-bottom: 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3328,62 +4205,74 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   background-color: #f5f5f5;
   border-top: 1px solid #ddd;
   -webkit-border-radius: 0 0 6px 6px;
-  -moz-border-radius: 0 0 6px 6px;
-  border-radius: 0 0 6px 6px;
-  -webkit-box-shadow: inset 0 1px 0 #ffffff;
-  -moz-box-shadow: inset 0 1px 0 #ffffff;
-  box-shadow: inset 0 1px 0 #ffffff;
+     -moz-border-radius: 0 0 6px 6px;
+          border-radius: 0 0 6px 6px;
   *zoom: 1;
+  -webkit-box-shadow: inset 0 1px 0 #ffffff;
+     -moz-box-shadow: inset 0 1px 0 #ffffff;
+          box-shadow: inset 0 1px 0 #ffffff;
 }
+
 .modal-footer:before,
 .modal-footer:after {
   display: table;
   content: "";
 }
+
 .modal-footer:after {
   clear: both;
 }
+
 .modal-footer .btn + .btn {
-  margin-left: 5px;
   margin-bottom: 0;
+  margin-left: 5px;
 }
+
 .modal-footer .btn-group .btn + .btn {
   margin-left: -1px;
 }
+
 .tooltip {
   position: absolute;
   z-index: 1020;
   display: block;
-  visibility: visible;
   padding: 5px;
   font-size: 11px;
   opacity: 0;
   filter: alpha(opacity=0);
+  visibility: visible;
 }
+
 .tooltip.in {
   opacity: 0.8;
   filter: alpha(opacity=80);
 }
+
 .tooltip.top {
   margin-top: -2px;
 }
+
 .tooltip.right {
   margin-left: 2px;
 }
+
 .tooltip.bottom {
   margin-top: 2px;
 }
+
 .tooltip.left {
   margin-left: -2px;
 }
+
 .tooltip.top .tooltip-arrow {
   bottom: 0;
   left: 50%;
   margin-left: -5px;
-  border-left: 5px solid transparent;
-  border-right: 5px solid transparent;
   border-top: 5px solid #000000;
+  border-right: 5px solid transparent;
+  border-left: 5px solid transparent;
 }
+
 .tooltip.left .tooltip-arrow {
   top: 50%;
   right: 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3392,22 +4281,25 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   border-bottom: 5px solid transparent;
   border-left: 5px solid #000000;
 }
+
 .tooltip.bottom .tooltip-arrow {
   top: 0;
   left: 50%;
   margin-left: -5px;
-  border-left: 5px solid transparent;
   border-right: 5px solid transparent;
   border-bottom: 5px solid #000000;
+  border-left: 5px solid transparent;
 }
+
 .tooltip.right .tooltip-arrow {
   top: 50%;
   left: 0;
   margin-top: -5px;
   border-top: 5px solid transparent;
-  border-bottom: 5px solid transparent;
   border-right: 5px solid #000000;
+  border-bottom: 5px solid transparent;
 }
+
 .tooltip-inner {
   max-width: 200px;
   padding: 3px 8px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3416,14 +4308,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   text-decoration: none;
   background-color: #000000;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
 }
+
 .tooltip-arrow {
   position: absolute;
   width: 0;
   height: 0;
 }
+
 .popover {
   position: absolute;
   top: 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3432,42 +4326,50 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   display: none;
   padding: 5px;
 }
+
 .popover.top {
   margin-top: -5px;
 }
+
 .popover.right {
   margin-left: 5px;
 }
+
 .popover.bottom {
   margin-top: 5px;
 }
+
 .popover.left {
   margin-left: -5px;
 }
+
 .popover.top .arrow {
   bottom: 0;
   left: 50%;
   margin-left: -5px;
-  border-left: 5px solid transparent;
-  border-right: 5px solid transparent;
   border-top: 5px solid #000000;
+  border-right: 5px solid transparent;
+  border-left: 5px solid transparent;
 }
+
 .popover.right .arrow {
   top: 50%;
   left: 0;
   margin-top: -5px;
   border-top: 5px solid transparent;
-  border-bottom: 5px solid transparent;
   border-right: 5px solid #000000;
+  border-bottom: 5px solid transparent;
 }
+
 .popover.bottom .arrow {
   top: 0;
   left: 50%;
   margin-left: -5px;
-  border-left: 5px solid transparent;
   border-right: 5px solid transparent;
   border-bottom: 5px solid #000000;
+  border-left: 5px solid transparent;
 }
+
 .popover.left .arrow {
   top: 50%;
   right: 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3476,222 +4378,243 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"].btn.btn-mini {
   border-bottom: 5px solid transparent;
   border-left: 5px solid #000000;
 }
+
 .popover .arrow {
   position: absolute;
   width: 0;
   height: 0;
 }
+
 .popover-inner {
-  padding: 3px;
   width: 280px;
+  padding: 3px;
   overflow: hidden;
   background: #000000;
   background: rgba(0, 0, 0, 0.8);
   -webkit-border-radius: 6px;
-  -moz-border-radius: 6px;
-  border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
   -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+          box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
 }
+
 .popover-title {
   padding: 9px 15px;
   line-height: 1;
   background-color: #f5f5f5;
   border-bottom: 1px solid #eee;
   -webkit-border-radius: 3px 3px 0 0;
-  -moz-border-radius: 3px 3px 0 0;
-  border-radius: 3px 3px 0 0;
+     -moz-border-radius: 3px 3px 0 0;
+          border-radius: 3px 3px 0 0;
 }
+
 .popover-content {
   padding: 14px;
   background-color: #ffffff;
   -webkit-border-radius: 0 0 3px 3px;
-  -moz-border-radius: 0 0 3px 3px;
-  border-radius: 0 0 3px 3px;
+     -moz-border-radius: 0 0 3px 3px;
+          border-radius: 0 0 3px 3px;
   -webkit-background-clip: padding-box;
-  -moz-background-clip: padding-box;
-  background-clip: padding-box;
+     -moz-background-clip: padding-box;
+          background-clip: padding-box;
 }
+
 .popover-content p,
 .popover-content ul,
 .popover-content ol {
   margin-bottom: 0;
 }
+
 .thumbnails {
   margin-left: -20px;
   list-style: none;
   *zoom: 1;
 }
+
 .thumbnails:before,
 .thumbnails:after {
   display: table;
   content: "";
 }
+
 .thumbnails:after {
   clear: both;
 }
+
+.row-fluid .thumbnails {
+  margin-left: 0;
+}
+
 .thumbnails &amp;gt; li {
   float: left;
-  margin: 0 0 18px 20px;
+  margin-bottom: 18px;
+  margin-left: 20px;
 }
+
 .thumbnail {
   display: block;
   padding: 4px;
   line-height: 1;
   border: 1px solid #ddd;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
   -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
-  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
+     -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
+          box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
 }
+
 a.thumbnail:hover {
   border-color: #0088cc;
   -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
-  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
-  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+     -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+          box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
 }
+
 .thumbnail &amp;gt; img {
   display: block;
   max-width: 100%;
-  margin-left: auto;
   margin-right: auto;
+  margin-left: auto;
 }
+
 .thumbnail .caption {
   padding: 9px;
 }
-.label {
-  padding: 1px 4px 2px;
+
+.label,
+.badge {
   font-size: 10.998px;
   font-weight: bold;
-  line-height: 13px;
+  line-height: 14px;
   color: #ffffff;
-  vertical-align: middle;
-  white-space: nowrap;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  white-space: nowrap;
+  vertical-align: baseline;
   background-color: #999999;
-  -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
-}
-.label:hover {
-  color: #ffffff;
-  text-decoration: none;
-}
-.label-important {
-  background-color: #b94a48;
-}
-.label-important:hover {
-  background-color: #953b39;
-}
-.label-warning {
-  background-color: #f89406;
 }
-.label-warning:hover {
-  background-color: #c67605;
-}
-.label-success {
-  background-color: #468847;
-}
-.label-success:hover {
-  background-color: #356635;
-}
-.label-info {
-  background-color: #3a87ad;
-}
-.label-info:hover {
-  background-color: #2d6987;
-}
-.label-inverse {
-  background-color: #333333;
-}
-.label-inverse:hover {
-  background-color: #1a1a1a;
+
+.label {
+  padding: 1px 4px 2px;
+  -webkit-border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
 }
+
 .badge {
   padding: 1px 9px 2px;
-  font-size: 12.025px;
-  font-weight: bold;
-  white-space: nowrap;
-  color: #ffffff;
-  background-color: #999999;
   -webkit-border-radius: 9px;
-  -moz-border-radius: 9px;
-  border-radius: 9px;
+     -moz-border-radius: 9px;
+          border-radius: 9px;
 }
-.badge:hover {
+
+a.label:hover,
+a.badge:hover {
   color: #ffffff;
   text-decoration: none;
   cursor: pointer;
 }
-.badge-error {
+
+.label-important,
+.badge-important {
   background-color: #b94a48;
 }
-.badge-error:hover {
+
+.label-important[href],
+.badge-important[href] {
   background-color: #953b39;
 }
+
+.label-warning,
 .badge-warning {
   background-color: #f89406;
 }
-.badge-warning:hover {
+
+.label-warning[href],
+.badge-warning[href] {
   background-color: #c67605;
 }
+
+.label-success,
 .badge-success {
   background-color: #468847;
 }
-.badge-success:hover {
+
+.label-success[href],
+.badge-success[href] {
   background-color: #356635;
 }
+
+.label-info,
 .badge-info {
   background-color: #3a87ad;
 }
-.badge-info:hover {
+
+.label-info[href],
+.badge-info[href] {
   background-color: #2d6987;
 }
+
+.label-inverse,
 .badge-inverse {
   background-color: #333333;
 }
-.badge-inverse:hover {
+
+.label-inverse[href],
+.badge-inverse[href] {
   background-color: #1a1a1a;
 }
+
 &amp;lt; at &amp;gt;-webkit-keyframes progress-bar-stripes {
   from {
-    background-position: 0 0;
+    background-position: 40px 0;
   }
   to {
-    background-position: 40px 0;
+    background-position: 0 0;
   }
 }
+
 &amp;lt; at &amp;gt;-moz-keyframes progress-bar-stripes {
   from {
-    background-position: 0 0;
+    background-position: 40px 0;
   }
   to {
-    background-position: 40px 0;
+    background-position: 0 0;
   }
 }
+
 &amp;lt; at &amp;gt;-ms-keyframes progress-bar-stripes {
   from {
+    background-position: 40px 0;
+  }
+  to {
+    background-position: 0 0;
+  }
+}
+
+&amp;lt; at &amp;gt;-o-keyframes progress-bar-stripes {
+  from {
     background-position: 0 0;
   }
   to {
     background-position: 40px 0;
   }
 }
+
 &amp;lt; at &amp;gt;keyframes progress-bar-stripes {
   from {
-    background-position: 0 0;
+    background-position: 40px 0;
   }
   to {
-    background-position: 40px 0;
+    background-position: 0 0;
   }
 }
+
 .progress {
-  overflow: hidden;
   height: 18px;
   margin-bottom: 18px;
+  overflow: hidden;
   background-color: #f7f7f7;
   background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
   background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3700,61 +4623,67 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; a.thumbnail:hover {
   background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
   background-image: linear-gradient(top, #f5f5f5, #f9f9f9);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+     -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
 }
+
 .progress .bar {
-  width: 0%;
+  width: 0;
   height: 18px;
-  color: #ffffff;
   font-size: 12px;
+  color: #ffffff;
   text-align: center;
   text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
   background-color: #0e90d2;
   background-image: -moz-linear-gradient(top, #149bdf, #0480be);
-  background-image: -ms-linear-gradient(top, #149bdf, #0480be);
   background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
   background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
   background-image: -o-linear-gradient(top, #149bdf, #0480be);
   background-image: linear-gradient(top, #149bdf, #0480be);
+  background-image: -ms-linear-gradient(top, #149bdf, #0480be);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);
   -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+     -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+          box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
   -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  -ms-box-sizing: border-box;
-  box-sizing: border-box;
+     -moz-box-sizing: border-box;
+      -ms-box-sizing: border-box;
+          box-sizing: border-box;
   -webkit-transition: width 0.6s ease;
-  -moz-transition: width 0.6s ease;
-  -ms-transition: width 0.6s ease;
-  -o-transition: width 0.6s ease;
-  transition: width 0.6s ease;
+     -moz-transition: width 0.6s ease;
+      -ms-transition: width 0.6s ease;
+       -o-transition: width 0.6s ease;
+          transition: width 0.6s ease;
 }
+
 .progress-striped .bar {
   background-color: #149bdf;
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
   background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
   background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
   background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
   background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
   -webkit-background-size: 40px 40px;
-  -moz-background-size: 40px 40px;
-  -o-background-size: 40px 40px;
-  background-size: 40px 40px;
+     -moz-background-size: 40px 40px;
+       -o-background-size: 40px 40px;
+          background-size: 40px 40px;
 }
+
 .progress.active .bar {
   -webkit-animation: progress-bar-stripes 2s linear infinite;
-  -moz-animation: progress-bar-stripes 2s linear infinite;
-  animation: progress-bar-stripes 2s linear infinite;
+     -moz-animation: progress-bar-stripes 2s linear infinite;
+      -ms-animation: progress-bar-stripes 2s linear infinite;
+       -o-animation: progress-bar-stripes 2s linear infinite;
+          animation: progress-bar-stripes 2s linear infinite;
 }
+
 .progress-danger .bar {
   background-color: #dd514c;
   background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3764,8 +4693,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; a.thumbnail:hover {
   background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
   background-image: linear-gradient(top, #ee5f5b, #c43c35);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
 }
+
 .progress-danger.progress-striped .bar {
   background-color: #ee5f5b;
   background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3775,6 +4705,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; a.thumbnail:hover {
   background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
   background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
 }
+
 .progress-success .bar {
   background-color: #5eb95e;
   background-image: -moz-linear-gradient(top, #62c462, #57a957);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3784,8 +4715,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; a.thumbnail:hover {
   background-image: -o-linear-gradient(top, #62c462, #57a957);
   background-image: linear-gradient(top, #62c462, #57a957);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
 }
+
 .progress-success.progress-striped .bar {
   background-color: #62c462;
   background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3795,6 +4727,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; a.thumbnail:hover {
   background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
   background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
 }
+
 .progress-info .bar {
   background-color: #4bb1cf;
   background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3804,8 +4737,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; a.thumbnail:hover {
   background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
   background-image: linear-gradient(top, #5bc0de, #339bb9);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
 }
+
 .progress-info.progress-striped .bar {
   background-color: #5bc0de;
   background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3815,6 +4749,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; a.thumbnail:hover {
   background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
   background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
 }
+
 .progress-warning .bar {
   background-color: #faa732;
   background-image: -moz-linear-gradient(top, #fbb450, #f89406);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3824,8 +4759,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; a.thumbnail:hover {
   background-image: -o-linear-gradient(top, #fbb450, #f89406);
   background-image: linear-gradient(top, #fbb450, #f89406);
   background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
+  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
 }
+
 .progress-warning.progress-striped .bar {
   background-color: #fbb450;
   background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3835,80 +4771,102 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; a.thumbnail:hover {
   background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
   background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
 }
+
 .accordion {
   margin-bottom: 18px;
 }
+
 .accordion-group {
   margin-bottom: 2px;
   border: 1px solid #e5e5e5;
   -webkit-border-radius: 4px;
-  -moz-border-radius: 4px;
-  border-radius: 4px;
+     -moz-border-radius: 4px;
+          border-radius: 4px;
 }
+
 .accordion-heading {
   border-bottom: 0;
 }
+
 .accordion-heading .accordion-toggle {
   display: block;
   padding: 8px 15px;
 }
+
+.accordion-toggle {
+  cursor: pointer;
+}
+
 .accordion-inner {
   padding: 9px 15px;
   border-top: 1px solid #e5e5e5;
 }
+
 .carousel {
   position: relative;
   margin-bottom: 18px;
   line-height: 1;
 }
+
 .carousel-inner {
-  overflow: hidden;
-  width: 100%;
   position: relative;
+  width: 100%;
+  overflow: hidden;
 }
+
 .carousel .item {
-  display: none;
   position: relative;
+  display: none;
   -webkit-transition: 0.6s ease-in-out left;
-  -moz-transition: 0.6s ease-in-out left;
-  -ms-transition: 0.6s ease-in-out left;
-  -o-transition: 0.6s ease-in-out left;
-  transition: 0.6s ease-in-out left;
+     -moz-transition: 0.6s ease-in-out left;
+      -ms-transition: 0.6s ease-in-out left;
+       -o-transition: 0.6s ease-in-out left;
+          transition: 0.6s ease-in-out left;
 }
+
 .carousel .item &amp;gt; img {
   display: block;
   line-height: 1;
 }
+
 .carousel .active,
 .carousel .next,
 .carousel .prev {
   display: block;
 }
+
 .carousel .active {
   left: 0;
 }
+
 .carousel .next,
 .carousel .prev {
   position: absolute;
   top: 0;
   width: 100%;
 }
+
 .carousel .next {
   left: 100%;
 }
+
 .carousel .prev {
   left: -100%;
 }
+
 .carousel .next.left,
 .carousel .prev.right {
   left: 0;
 }
+
 .carousel .active.left {
   left: -100%;
 }
+
 .carousel .active.right {
   left: 100%;
 }
+
 .carousel-control {
   position: absolute;
   top: 40%;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3924,67 +4882,79 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; a.thumbnail:hover {
   background: #222222;
   border: 3px solid #ffffff;
   -webkit-border-radius: 23px;
-  -moz-border-radius: 23px;
-  border-radius: 23px;
+     -moz-border-radius: 23px;
+          border-radius: 23px;
   opacity: 0.5;
   filter: alpha(opacity=50);
 }
+
 .carousel-control.right {
-  left: auto;
   right: 15px;
+  left: auto;
 }
+
 .carousel-control:hover {
   color: #ffffff;
   text-decoration: none;
   opacity: 0.9;
   filter: alpha(opacity=90);
 }
+
 .carousel-caption {
   position: absolute;
-  left: 0;
   right: 0;
   bottom: 0;
+  left: 0;
   padding: 10px 15px 5px;
   background: #333333;
   background: rgba(0, 0, 0, 0.75);
 }
+
 .carousel-caption h4,
 .carousel-caption p {
   color: #ffffff;
 }
+
 .hero-unit {
   padding: 60px;
   margin-bottom: 30px;
   background-color: #eeeeee;
   -webkit-border-radius: 6px;
-  -moz-border-radius: 6px;
-  border-radius: 6px;
+     -moz-border-radius: 6px;
+          border-radius: 6px;
 }
+
 .hero-unit h1 {
   margin-bottom: 0;
   font-size: 60px;
   line-height: 1;
-  color: inherit;
   letter-spacing: -1px;
+  color: inherit;
 }
+
 .hero-unit p {
   font-size: 18px;
   font-weight: 200;
   line-height: 27px;
   color: inherit;
 }
+
 .pull-right {
   float: right;
 }
+
 .pull-left {
   float: left;
 }
+
 .hide {
   display: none;
 }
+
 .show {
   display: block;
 }
+
 .invisible {
   visibility: hidden;
 }
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/docs.css b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/docs.css
index cb7224e..b7e0c8d 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/docs.css
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/css/docs.css
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -228,7 +228,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; hr.soften {
 }
 .quick-links li {
   display: inline;
-  margin: 0 5px;
+  margin: 0 8px;
   color: #999;
 }
 .quick-links .github-btn,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -492,10 +492,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; hr.soften {
 /* Misc
 -------------------------------------------------- */
 
-img {
-  max-width: 100%;
-}
-
 /* Make tables spaced out a bit more */
 h2 + table,
 h3 + table,
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/ico/apple-touch-icon-144-precomposed.png b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/ico/apple-touch-icon-144-precomposed.png
new file mode 100644
index 0000000..3c80087
Binary files /dev/null and b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/ico/apple-touch-icon-144-precomposed.png differ
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/ico/apple-touch-icon-72-precomposed.png b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/ico/apple-touch-icon-72-precomposed.png
index 7ec5ff2..f77bd6c 100644
Binary files a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/ico/apple-touch-icon-72-precomposed.png and b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/ico/apple-touch-icon-72-precomposed.png differ
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/example-sites/kippt.png b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/example-sites/kippt.png
index a28a63d..4afa772 100644
Binary files a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/example-sites/kippt.png and b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/example-sites/kippt.png differ
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/glyphicons-halflings-white.png b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/glyphicons-halflings-white.png
index a20760b..3bf6484 100644
Binary files a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/glyphicons-halflings-white.png and b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/glyphicons-halflings-white.png differ
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/glyphicons-halflings.png b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/glyphicons-halflings.png
index 92d4445..79bc568 100644
Binary files a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/glyphicons-halflings.png and b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/img/glyphicons-halflings.png differ
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/application.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/application.js
index 732bed4..6463b90 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/application.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/application.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -51,6 +51,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     processScroll()
 
+    // hack sad times - holdover until rewrite for 2.1
+    $nav.on('click', function () {
+      if (!isFixed) setTimeout(function () {  $win.scrollTop($win.scrollTop() - 47) }, 10)
+    })
+
     $win.on('scroll', processScroll)
 
     function processScroll() {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -132,7 +137,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
       $.ajax({
         type: 'POST'
-      , url: 'http://bootstrap.herokuapp.com'
+      , url: /\?dev/.test(window.location) ? 'http://localhost:3000' : 'http://bootstrap.herokuapp.com'
       , dataType: 'jsonpi'
       , params: {
           js: js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -142,7 +147,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       }
       })
     })
-
   })
 
 // Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-alert.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-alert.js
index d17f44e..fa0806e 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-alert.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-alert.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ==========================================================
- * bootstrap-alert.js v2.0.2
+ * bootstrap-alert.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#alerts
  * ==========================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,61 +18,57 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * ========================================================== */
 
 
-!function( $ ){
+!function ($) {
+
+  "use strict"; // jshint ;_;
 
-  "use strict"
 
  /* ALERT CLASS DEFINITION
   * ====================== */
 
   var dismiss = '[data-dismiss="alert"]'
-    , Alert = function ( el ) {
+    , Alert = function (el) {
         $(el).on('click', dismiss, this.close)
       }
 
-  Alert.prototype = {
-
-    constructor: Alert
+  Alert.prototype.close = function (e) {
+    var $this = $(this)
+      , selector = $this.attr('data-target')
+      , $parent
 
-  , close: function ( e ) {
-      var $this = $(this)
-        , selector = $this.attr('data-target')
-        , $parent
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector &amp;amp;&amp;amp; selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+    }
 
-      if (!selector) {
-        selector = $this.attr('href')
-        selector = selector &amp;amp;&amp;amp; selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
-      }
+    $parent = $(selector)
 
-      $parent = $(selector)
-      $parent.trigger('close')
+    e &amp;amp;&amp;amp; e.preventDefault()
 
-      e &amp;amp;&amp;amp; e.preventDefault()
+    $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
 
-      $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
+    $parent.trigger(e = $.Event('close'))
 
-      $parent
-        .trigger('close')
-        .removeClass('in')
+    if (e.isDefaultPrevented()) return
 
-      function removeElement() {
-        $parent
-          .trigger('closed')
-          .remove()
-      }
+    $parent.removeClass('in')
 
-      $.support.transition &amp;amp;&amp;amp; $parent.hasClass('fade') ?
-        $parent.on($.support.transition.end, removeElement) :
-        removeElement()
+    function removeElement() {
+      $parent
+        .trigger('closed')
+        .remove()
     }
 
+    $.support.transition &amp;amp;&amp;amp; $parent.hasClass('fade') ?
+      $parent.on($.support.transition.end, removeElement) :
+      removeElement()
   }
 
 
  /* ALERT PLUGIN DEFINITION
   * ======================= */
 
-  $.fn.alert = function ( option ) {
+  $.fn.alert = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('alert')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -91,4 +87,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-button.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-button.js
index 6b36753..a9e6ba7 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-button.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-button.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ============================================================
- * bootstrap-button.js v2.0.2
+ * bootstrap-button.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#buttons
  * ============================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,58 +17,54 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ============================================================ */
 
-!function( $ ){
 
-  "use strict"
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
 
  /* BUTTON PUBLIC CLASS DEFINITION
   * ============================== */
 
-  var Button = function ( element, options ) {
+  var Button = function (element, options) {
     this.$element = $(element)
     this.options = $.extend({}, $.fn.button.defaults, options)
   }
 
-  Button.prototype = {
-
-      constructor: Button
+  Button.prototype.setState = function (state) {
+    var d = 'disabled'
+      , $el = this.$element
+      , data = $el.data()
+      , val = $el.is('input') ? 'val' : 'html'
 
-    , setState: function ( state ) {
-        var d = 'disabled'
-          , $el = this.$element
-          , data = $el.data()
-          , val = $el.is('input') ? 'val' : 'html'
+    state = state + 'Text'
+    data.resetText || $el.data('resetText', $el[val]())
 
-        state = state + 'Text'
-        data.resetText || $el.data('resetText', $el[val]())
+    $el[val](data[state] || this.options[state])
 
-        $el[val](data[state] || this.options[state])
-
-        // push to event loop to allow forms to submit
-        setTimeout(function () {
-          state == 'loadingText' ?
-            $el.addClass(d).attr(d, d) :
-            $el.removeClass(d).removeAttr(d)
-        }, 0)
-      }
-
-    , toggle: function () {
-        var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
+    // push to event loop to allow forms to submit
+    setTimeout(function () {
+      state == 'loadingText' ?
+        $el.addClass(d).attr(d, d) :
+        $el.removeClass(d).removeAttr(d)
+    }, 0)
+  }
 
-        $parent &amp;amp;&amp;amp; $parent
-          .find('.active')
-          .removeClass('active')
+  Button.prototype.toggle = function () {
+    var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
 
-        this.$element.toggleClass('active')
-      }
+    $parent &amp;amp;&amp;amp; $parent
+      .find('.active')
+      .removeClass('active')
 
+    this.$element.toggleClass('active')
   }
 
 
  /* BUTTON PLUGIN DEFINITION
   * ======================== */
 
-  $.fn.button = function ( option ) {
+  $.fn.button = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('button')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -97,4 +93,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-carousel.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-carousel.js
index 8c0723d..96e5a81 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-carousel.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-carousel.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ==========================================================
- * bootstrap-carousel.js v2.0.2
+ * bootstrap-carousel.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#carousel
  * ==========================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,16 +18,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * ========================================================== */
 
 
-!function( $ ){
+!function ($) {
+
+  "use strict"; // jshint ;_;
 
-  "use strict"
 
  /* CAROUSEL CLASS DEFINITION
   * ========================= */
 
   var Carousel = function (element, options) {
     this.$element = $(element)
-    this.options = $.extend({}, $.fn.carousel.defaults, options)
+    this.options = options
     this.options.slide &amp;amp;&amp;amp; this.slide(this.options.slide)
     this.options.pause == 'hover' &amp;amp;&amp;amp; this.$element
       .on('mouseenter', $.proxy(this.pause, this))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -36,8 +37,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   Carousel.prototype = {
 
-    cycle: function () {
-      this.interval = setInterval($.proxy(this.next, this), this.options.interval)
+    cycle: function (e) {
+      if (!e) this.paused = false
+      this.options.interval
+        &amp;amp;&amp;amp; !this.paused
+        &amp;amp;&amp;amp; (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
       return this
     }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -62,7 +66,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       return this.slide(pos &amp;gt; activePos ? 'next' : 'prev', $(children[pos]))
     }
 
-  , pause: function () {
+  , pause: function (e) {
+      if (!e) this.paused = true
       clearInterval(this.interval)
       this.interval = null
       return this
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -85,6 +90,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         , direction = type == 'next' ? 'left' : 'right'
         , fallback  = type == 'next' ? 'first' : 'last'
         , that = this
+        , e = $.Event('slide')
 
       this.sliding = true
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -94,24 +100,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
       if ($next.hasClass('active')) return
 
-      if (!$.support.transition &amp;amp;&amp;amp; this.$element.hasClass('slide')) {
-        this.$element.trigger('slide')
-        $active.removeClass('active')
-        $next.addClass('active')
-        this.sliding = false
-        this.$element.trigger('slid')
-      } else {
+      if ($.support.transition &amp;amp;&amp;amp; this.$element.hasClass('slide')) {
+        this.$element.trigger(e)
+        if (e.isDefaultPrevented()) return
         $next.addClass(type)
         $next[0].offsetWidth // force reflow
         $active.addClass(direction)
         $next.addClass(direction)
-        this.$element.trigger('slide')
         this.$element.one($.support.transition.end, function () {
           $next.removeClass([type, direction].join(' ')).addClass('active')
           $active.removeClass(['active', direction].join(' '))
           that.sliding = false
           setTimeout(function () { that.$element.trigger('slid') }, 0)
         })
+      } else {
+        this.$element.trigger(e)
+        if (e.isDefaultPrevented()) return
+        $active.removeClass('active')
+        $next.addClass('active')
+        this.sliding = false
+        this.$element.trigger('slid')
       }
 
       isCycling &amp;amp;&amp;amp; this.cycle()
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -125,15 +133,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  /* CAROUSEL PLUGIN DEFINITION
   * ========================== */
 
-  $.fn.carousel = function ( option ) {
+  $.fn.carousel = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('carousel')
-        , options = typeof option == 'object' &amp;amp;&amp;amp; option
+        , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' &amp;amp;&amp;amp; option)
       if (!data) $this.data('carousel', (data = new Carousel(this, options)))
       if (typeof option == 'number') data.to(option)
       else if (typeof option == 'string' || (option = options.slide)) data[option]()
-      else data.cycle()
+      else if (options.interval) data.cycle()
     })
   }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -158,4 +166,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-collapse.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-collapse.js
index 9a36446..d02f6fd 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-collapse.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-collapse.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* =============================================================
- * bootstrap-collapse.js v2.0.2
+ * bootstrap-collapse.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#collapse
  * =============================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,16 +17,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ============================================================ */
 
-!function( $ ){
 
-  "use strict"
+!function ($) {
 
-  var Collapse = function ( element, options ) {
-  this.$element = $(element)
+  "use strict"; // jshint ;_;
+
+
+ /* COLLAPSE PUBLIC CLASS DEFINITION
+  * ================================ */
+
+  var Collapse = function (element, options) {
+    this.$element = $(element)
     this.options = $.extend({}, $.fn.collapse.defaults, options)
 
-    if (this.options["parent"]) {
-      this.$parent = $(this.options["parent"])
+    if (this.options.parent) {
+      this.$parent = $(this.options.parent)
     }
 
     this.options.toggle &amp;amp;&amp;amp; this.toggle()
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -42,31 +47,39 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     }
 
   , show: function () {
-      var dimension = this.dimension()
-        , scroll = $.camelCase(['scroll', dimension].join('-'))
-        , actives = this.$parent &amp;amp;&amp;amp; this.$parent.find('.in')
+      var dimension
+        , scroll
+        , actives
         , hasData
 
+      if (this.transitioning) return
+
+      dimension = this.dimension()
+      scroll = $.camelCase(['scroll', dimension].join('-'))
+      actives = this.$parent &amp;amp;&amp;amp; this.$parent.find('&amp;gt; .accordion-group &amp;gt; .in')
+
       if (actives &amp;amp;&amp;amp; actives.length) {
         hasData = actives.data('collapse')
+        if (hasData &amp;amp;&amp;amp; hasData.transitioning) return
         actives.collapse('hide')
         hasData || actives.data('collapse', null)
       }
 
       this.$element[dimension](0)
-      this.transition('addClass', 'show', 'shown')
+      this.transition('addClass', $.Event('show'), 'shown')
       this.$element[dimension](this.$element[0][scroll])
-
     }
 
   , hide: function () {
-      var dimension = this.dimension()
+      var dimension
+      if (this.transitioning) return
+      dimension = this.dimension()
       this.reset(this.$element[dimension]())
-      this.transition('removeClass', 'hide', 'hidden')
+      this.transition('removeClass', $.Event('hide'), 'hidden')
       this.$element[dimension](0)
     }
 
-  , reset: function ( size ) {
+  , reset: function (size) {
       var dimension = this.dimension()
 
       this.$element
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -74,37 +87,43 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         [dimension](size || 'auto')
         [0].offsetWidth
 
-      this.$element[size ? 'addClass' : 'removeClass']('collapse')
+      this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
 
       return this
     }
 
-  , transition: function ( method, startEvent, completeEvent ) {
+  , transition: function (method, startEvent, completeEvent) {
       var that = this
         , complete = function () {
-            if (startEvent == 'show') that.reset()
+            if (startEvent.type == 'show') that.reset()
+            that.transitioning = 0
             that.$element.trigger(completeEvent)
           }
 
-      this.$element
-        .trigger(startEvent)
-        [method]('in')
+      this.$element.trigger(startEvent)
+
+      if (startEvent.isDefaultPrevented()) return
+
+      this.transitioning = 1
+
+      this.$element[method]('in')
 
       $.support.transition &amp;amp;&amp;amp; this.$element.hasClass('collapse') ?
         this.$element.one($.support.transition.end, complete) :
         complete()
-  }
+    }
 
   , toggle: function () {
       this[this.$element.hasClass('in') ? 'hide' : 'show']()
-  }
+    }
 
   }
 
-  /* COLLAPSIBLE PLUGIN DEFINITION
+
+ /* COLLAPSIBLE PLUGIN DEFINITION
   * ============================== */
 
-  $.fn.collapse = function ( option ) {
+  $.fn.collapse = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('collapse')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -135,4 +154,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-dropdown.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-dropdown.js
index 54b61c5..ec0588d 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-dropdown.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-dropdown.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ============================================================
- * bootstrap-dropdown.js v2.0.2
+ * bootstrap-dropdown.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#dropdowns
  * ============================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,15 +18,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * ============================================================ */
 
 
-!function( $ ){
+!function ($) {
+
+  "use strict"; // jshint ;_;
 
-  "use strict"
 
  /* DROPDOWN CLASS DEFINITION
   * ========================= */
 
   var toggle = '[data-toggle="dropdown"]'
-    , Dropdown = function ( element ) {
+    , Dropdown = function (element) {
         var $el = $(element).on('click.dropdown.data-api', this.toggle)
         $('html').on('click.dropdown.data-api', function () {
           $el.parent().removeClass('open')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -37,12 +38,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     constructor: Dropdown
 
-  , toggle: function ( e ) {
+  , toggle: function (e) {
       var $this = $(this)
-        , selector = $this.attr('data-target')
         , $parent
+        , selector
         , isActive
 
+      if ($this.is('.disabled, :disabled')) return
+
+      selector = $this.attr('data-target')
+
       if (!selector) {
         selector = $this.attr('href')
         selector = selector &amp;amp;&amp;amp; selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -54,7 +59,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       isActive = $parent.hasClass('open')
 
       clearMenus()
-      !isActive &amp;amp;&amp;amp; $parent.toggleClass('open')
+
+      if (!isActive) $parent.toggleClass('open')
 
       return false
     }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -69,7 +75,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   /* DROPDOWN PLUGIN DEFINITION
    * ========================== */
 
-  $.fn.dropdown = function ( option ) {
+  $.fn.dropdown = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('dropdown')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -86,7 +92,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   $(function () {
     $('html').on('click.dropdown.data-api', clearMenus)
-    $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+    $('body')
+      .on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() })
+      .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-modal.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-modal.js
index e929706..c831de6 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-modal.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-modal.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* =========================================================
- * bootstrap-modal.js v2.0.2
+ * bootstrap-modal.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#modals
  * =========================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,14 +18,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * ========================================================= */
 
 
-!function( $ ){
+!function ($) {
+
+  "use strict"; // jshint ;_;
 
-  "use strict"
 
  /* MODAL CLASS DEFINITION
   * ====================== */
 
-  var Modal = function ( content, options ) {
+  var Modal = function (content, options) {
     this.options = options
     this.$element = $(content)
       .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -41,19 +42,23 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     , show: function () {
         var that = this
+          , e = $.Event('show')
+
+        this.$element.trigger(e)
 
-        if (this.isShown) return
+        if (this.isShown || e.isDefaultPrevented()) return
 
         $('body').addClass('modal-open')
 
         this.isShown = true
-        this.$element.trigger('show')
 
         escape.call(this)
         backdrop.call(this, function () {
           var transition = $.support.transition &amp;amp;&amp;amp; that.$element.hasClass('fade')
 
-          !that.$element.parent().length &amp;amp;&amp;amp; that.$element.appendTo(document.body) //don't move modals dom position
+          if (!that.$element.parent().length) {
+            that.$element.appendTo(document.body) //don't move modals dom position
+          }
 
           that.$element
             .show()
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -71,21 +76,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         })
       }
 
-    , hide: function ( e ) {
+    , hide: function (e) {
         e &amp;amp;&amp;amp; e.preventDefault()
 
-        if (!this.isShown) return
-
         var that = this
+
+        e = $.Event('hide')
+
+        this.$element.trigger(e)
+
+        if (!this.isShown || e.isDefaultPrevented()) return
+
         this.isShown = false
 
         $('body').removeClass('modal-open')
 
         escape.call(this)
 
-        this.$element
-          .trigger('hide')
-          .removeClass('in')
+        this.$element.removeClass('in')
 
         $.support.transition &amp;amp;&amp;amp; this.$element.hasClass('fade') ?
           hideWithTransition.call(this) :
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -111,7 +119,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   }
 
-  function hideModal( that ) {
+  function hideModal(that) {
     this.$element
       .hide()
       .trigger('hidden')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -119,7 +127,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     backdrop.call(this)
   }
 
-  function backdrop( callback ) {
+  function backdrop(callback) {
     var that = this
       , animate = this.$element.hasClass('fade') ? 'fade' : ''
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -173,7 +181,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  /* MODAL PLUGIN DEFINITION
   * ======================= */
 
-  $.fn.modal = function ( option ) {
+  $.fn.modal = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('modal')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -207,4 +215,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-popover.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-popover.js
index e1aa5ac..d5ecfa9 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-popover.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-popover.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ===========================================================
- * bootstrap-popover.js v2.0.2
+ * bootstrap-popover.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#popovers
  * ===========================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,14 +18,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * =========================================================== */
 
 
-!function( $ ) {
+!function ($) {
 
- "use strict"
+  "use strict"; // jshint ;_;
+
+
+ /* POPOVER PUBLIC CLASS DEFINITION
+  * =============================== */
 
   var Popover = function ( element, options ) {
     this.init('popover', element, options)
   }
 
+
   /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
      ========================================== */
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -38,8 +43,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         , title = this.getTitle()
         , content = this.getContent()
 
-      $tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
-      $tip.find('.popover-content &amp;gt; *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
+      $tip.find('.popover-title')[this.isHTML(title) ? 'html' : 'text'](title)
+      $tip.find('.popover-content &amp;gt; *')[this.isHTML(content) ? 'html' : 'text'](content)
 
       $tip.removeClass('fade top bottom left right in')
     }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -56,12 +61,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       content = $e.attr('data-content')
         || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)
 
-      content = content.toString().replace(/(^\s*|\s*$)/, "")
-
       return content
     }
 
-  , tip: function() {
+  , tip: function () {
       if (!this.$tip) {
         this.$tip = $(this.options.template)
       }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -74,7 +77,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  /* POPOVER PLUGIN DEFINITION
   * ======================= */
 
-  $.fn.popover = function ( option ) {
+  $.fn.popover = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('popover')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -92,4 +95,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   , template: '&amp;lt;div class="popover"&amp;gt;&amp;lt;div class="arrow"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="popover-inner"&amp;gt;&amp;lt;h3 class="popover-title"&amp;gt;&amp;lt;/h3&amp;gt;&amp;lt;div class="popover-content"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;'
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-scrollspy.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-scrollspy.js
index ea29f2f..f6a24b0 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-scrollspy.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-scrollspy.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* =============================================================
- * bootstrap-scrollspy.js v2.0.2
+ * bootstrap-scrollspy.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#scrollspy
  * =============================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,9 +17,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ============================================================== */
 
-!function ( $ ) {
 
-  "use strict"
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
 
   /* SCROLLSPY CLASS DEFINITION
    * ========================== */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -43,25 +45,43 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       constructor: ScrollSpy
 
     , refresh: function () {
-        this.targets = this.$body
+        var self = this
+          , $targets
+
+        this.offsets = $([])
+        this.targets = $([])
+
+        $targets = this.$body
           .find(this.selector)
           .map(function () {
-            var href = $(this).attr('href')
-            return /^#\w/.test(href) &amp;amp;&amp;amp; $(href).length ? href : null
+            var $el = $(this)
+              , href = $el.data('target') || $el.attr('href')
+              , $href = /^#\w/.test(href) &amp;amp;&amp;amp; $(href)
+            return ( $href
+              &amp;amp;&amp;amp; href.length
+              &amp;amp;&amp;amp; [[ $href.position().top, href ]] ) || null
+          })
+          .sort(function (a, b) { return a[0] - b[0] })
+          .each(function () {
+            self.offsets.push(this[0])
+            self.targets.push(this[1])
           })
-
-        this.offsets = $.map(this.targets, function (id) {
-          return $(id).position().top
-        })
       }
 
     , process: function () {
         var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
+          , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
+          , maxScroll = scrollHeight - this.$scrollElement.height()
           , offsets = this.offsets
           , targets = this.targets
           , activeTarget = this.activeTarget
           , i
 
+        if (scrollTop &amp;gt;= maxScroll) {
+          return activeTarget != (i = targets.last()[0])
+            &amp;amp;&amp;amp; this.activate ( i )
+        }
+
         for (i = offsets.length; i--;) {
           activeTarget != targets[i]
             &amp;amp;&amp;amp; scrollTop &amp;gt;= offsets[i]
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -72,21 +92,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     , activate: function (target) {
         var active
+          , selector
 
         this.activeTarget = target
 
-        this.$body
-          .find(this.selector).parent('.active')
+        $(this.selector)
+          .parent('.active')
           .removeClass('active')
 
-        active = this.$body
-          .find(this.selector + '[href="' + target + '"]')
+        selector = this.selector
+          + '[data-target="' + target + '"],'
+          + this.selector + '[href="' + target + '"]'
+
+        active = $(selector)
           .parent('li')
           .addClass('active')
 
-        if ( active.parent('.dropdown-menu') )  {
-          active.closest('li.dropdown').addClass('active')
+        if (active.parent('.dropdown-menu'))  {
+          active = active.closest('li.dropdown').addClass('active')
         }
+
+        active.trigger('activate')
       }
 
   }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -122,4 +148,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-tab.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-tab.js
index b3938f6..88641de 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-tab.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-tab.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ========================================================
- * bootstrap-tab.js v2.0.2
+ * bootstrap-tab.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#tabs
  * ========================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,9 +18,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * ======================================================== */
 
 
-!function( $ ){
+!function ($) {
+
+  "use strict"; // jshint ;_;
 
-  "use strict"
 
  /* TAB CLASS DEFINITION
   * ==================== */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,6 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         , selector = $this.attr('data-target')
         , previous
         , $target
+        , e
 
       if (!selector) {
         selector = $this.attr('href')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -49,11 +51,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
       previous = $ul.find('.active a').last()[0]
 
-      $this.trigger({
-        type: 'show'
-      , relatedTarget: previous
+      e = $.Event('show', {
+        relatedTarget: previous
       })
 
+      $this.trigger(e)
+
+      if (e.isDefaultPrevented()) return
+
       $target = $(selector)
 
       this.activate($this.parent('li'), $ul)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -127,4 +132,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-tooltip.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-tooltip.js
index 49b5f72..577ead4 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-tooltip.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-tooltip.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ===========================================================
- * bootstrap-tooltip.js v2.0.2
+ * bootstrap-tooltip.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#tooltips
  * Inspired by the original jQuery.tipsy by Jason Frame
  * ===========================================================
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,14 +18,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ========================================================== */
 
-!function( $ ) {
 
-  "use strict"
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
 
  /* TOOLTIP PUBLIC CLASS DEFINITION
   * =============================== */
 
-  var Tooltip = function ( element, options ) {
+  var Tooltip = function (element, options) {
     this.init('tooltip', element, options)
   }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -33,7 +35,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     constructor: Tooltip
 
-  , init: function ( type, element, options ) {
+  , init: function (type, element, options) {
       var eventIn
         , eventOut
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -54,7 +56,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         this.fixTitle()
     }
 
-  , getOptions: function ( options ) {
+  , getOptions: function (options) {
       options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
 
       if (options.delay &amp;amp;&amp;amp; typeof options.delay == 'number') {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -67,34 +69,28 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       return options
     }
 
-  , enter: function ( e ) {
+  , enter: function (e) {
       var self = $(e.currentTarget)[this.type](this._options).data(this.type)
 
-      if (!self.options.delay || !self.options.delay.show) {
-        self.show()
-      } else {
-        self.hoverState = 'in'
-        setTimeout(function() {
-          if (self.hoverState == 'in') {
-            self.show()
-          }
-        }, self.options.delay.show)
-      }
+      if (!self.options.delay || !self.options.delay.show) return self.show()
+
+      clearTimeout(this.timeout)
+      self.hoverState = 'in'
+      this.timeout = setTimeout(function() {
+        if (self.hoverState == 'in') self.show()
+      }, self.options.delay.show)
     }
 
-  , leave: function ( e ) {
+  , leave: function (e) {
       var self = $(e.currentTarget)[this.type](this._options).data(this.type)
 
-      if (!self.options.delay || !self.options.delay.hide) {
-        self.hide()
-      } else {
-        self.hoverState = 'out'
-        setTimeout(function() {
-          if (self.hoverState == 'out') {
-            self.hide()
-          }
-        }, self.options.delay.hide)
-      }
+      if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+      clearTimeout(this.timeout)
+      self.hoverState = 'out'
+      this.timeout = setTimeout(function() {
+        if (self.hoverState == 'out') self.hide()
+      }, self.options.delay.hide)
     }
 
   , show: function () {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -152,9 +148,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       }
     }
 
+  , isHTML: function(text) {
+      // html string detection logic adapted from jQuery
+      return typeof text != 'string'
+        || ( text.charAt(0) === "&amp;lt;"
+          &amp;amp;&amp;amp; text.charAt( text.length - 1 ) === "&amp;gt;"
+          &amp;amp;&amp;amp; text.length &amp;gt;= 3
+        ) || /^(?:[^&amp;lt;]*&amp;lt;[\w\W]+&amp;gt;[^&amp;gt;]*$)/.exec(text)
+    }
+
   , setContent: function () {
       var $tip = this.tip()
-      $tip.find('.tooltip-inner').html(this.getTitle())
+        , title = this.getTitle()
+
+      $tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title)
       $tip.removeClass('fade in top bottom left right')
     }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -206,8 +213,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       title = $e.attr('data-original-title')
         || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
 
-      title = (title || '').toString().replace(/(^\s*|\s*$)/, "")
-
       return title
     }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -259,12 +264,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   $.fn.tooltip.defaults = {
     animation: true
-  , delay: 0
-  , selector: false
   , placement: 'top'
+  , selector: false
+  , template: '&amp;lt;div class="tooltip"&amp;gt;&amp;lt;div class="tooltip-arrow"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="tooltip-inner"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;'
   , trigger: 'hover'
   , title: ''
-  , template: '&amp;lt;div class="tooltip"&amp;gt;&amp;lt;div class="tooltip-arrow"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="tooltip-inner"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;'
+  , delay: 0
   }
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-transition.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-transition.js
index f5226f9..7e29b2f 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-transition.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-transition.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ===================================================
- * bootstrap-transition.js v2.0.2
+ * bootstrap-transition.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#transitions
  * ===================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,35 +17,45 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ========================================================== */
 
-!function( $ ) {
+
+!function ($) {
 
   $(function () {
 
-    "use strict"
+    "use strict"; // jshint ;_;
+
 
-    /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+    /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
      * ======================================================= */
 
     $.support.transition = (function () {
-      var thisBody = document.body || document.documentElement
-        , thisStyle = thisBody.style
-        , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
-
-      return support &amp;amp;&amp;amp; {
-        end: (function () {
-          var transitionEnd = "TransitionEnd"
-          if ( $.browser.webkit ) {
-          transitionEnd = "webkitTransitionEnd"
-          } else if ( $.browser.mozilla ) {
-          transitionEnd = "transitionend"
-          } else if ( $.browser.opera ) {
-          transitionEnd = "oTransitionEnd"
+
+      var transitionEnd = (function () {
+
+        var el = document.createElement('bootstrap')
+          , transEndEventNames = {
+               'WebkitTransition' : 'webkitTransitionEnd'
+            ,  'MozTransition'    : 'transitionend'
+            ,  'OTransition'      : 'oTransitionEnd'
+            ,  'msTransition'     : 'MSTransitionEnd'
+            ,  'transition'       : 'transitionend'
+            }
+          , name
+
+        for (name in transEndEventNames){
+          if (el.style[name] !== undefined) {
+            return transEndEventNames[name]
           }
-          return transitionEnd
-        }())
+        }
+
+      }())
+
+      return transitionEnd &amp;amp;&amp;amp; {
+        end: transitionEnd
       }
+
     })()
 
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-typeahead.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-typeahead.js
index dc2f882..ada0526 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-typeahead.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap-typeahead.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* =============================================================
- * bootstrap-typeahead.js v2.0.2
+ * bootstrap-typeahead.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#typeahead
  * =============================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,16 +17,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ============================================================ */
 
-!function( $ ){
 
-  "use strict"
+!function($){
 
-  var Typeahead = function ( element, options ) {
+  "use strict"; // jshint ;_;
+
+
+ /* TYPEAHEAD PUBLIC CLASS DEFINITION
+  * ================================= */
+
+  var Typeahead = function (element, options) {
     this.$element = $(element)
     this.options = $.extend({}, $.fn.typeahead.defaults, options)
     this.matcher = this.options.matcher || this.matcher
     this.sorter = this.options.sorter || this.sorter
     this.highlighter = this.options.highlighter || this.highlighter
+    this.updater = this.options.updater || this.updater
     this.$menu = $(this.options.menu).appendTo('body')
     this.source = this.options.source
     this.shown = false
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,13 +45,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   , select: function () {
       var val = this.$menu.find('.active').attr('data-value')
-      this.$element.val(val)
-      this.$element.change();
+      this.$element
+        .val(this.updater(val))
+        .change()
       return this.hide()
     }
 
+  , updater: function (item) {
+      return item
+    }
+
   , show: function () {
-      var pos = $.extend({}, this.$element.offset(), {
+      var pos = $.extend({}, this.$element.position(), {
         height: this.$element[0].offsetHeight
       })
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -77,7 +88,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       }
 
       items = $.grep(this.source, function (item) {
-        if (that.matcher(item)) return item
+        return that.matcher(item)
       })
 
       items = this.sorter(items)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -109,7 +120,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     }
 
   , highlighter: function (item) {
-      return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {
+      var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&amp;amp;')
+      return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
         return '&amp;lt;strong&amp;gt;' + match + '&amp;lt;/strong&amp;gt;'
       })
     }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -201,11 +213,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           break
 
         case 38: // up arrow
+          if (e.type != 'keydown') break
           e.preventDefault()
           this.prev()
           break
 
         case 40: // down arrow
+          if (e.type != 'keydown') break
           e.preventDefault()
           this.next()
           break
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -236,7 +250,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   /* TYPEAHEAD PLUGIN DEFINITION
    * =========================== */
 
-  $.fn.typeahead = function ( option ) {
+  $.fn.typeahead = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('typeahead')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -268,4 +282,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap.js
new file mode 100644
index 0000000..4c4673f
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,1824 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+/* ===================================================
+ * bootstrap-transition.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#transitions
+ * ===================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+  $(function () {
+
+    "use strict"; // jshint ;_;
+
+
+    /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
+     * ======================================================= */
+
+    $.support.transition = (function () {
+
+      var transitionEnd = (function () {
+
+        var el = document.createElement('bootstrap')
+          , transEndEventNames = {
+               'WebkitTransition' : 'webkitTransitionEnd'
+            ,  'MozTransition'    : 'transitionend'
+            ,  'OTransition'      : 'oTransitionEnd'
+            ,  'msTransition'     : 'MSTransitionEnd'
+            ,  'transition'       : 'transitionend'
+            }
+          , name
+
+        for (name in transEndEventNames){
+          if (el.style[name] !== undefined) {
+            return transEndEventNames[name]
+          }
+        }
+
+      }())
+
+      return transitionEnd &amp;amp;&amp;amp; {
+        end: transitionEnd
+      }
+
+    })()
+
+  })
+
+}(window.jQuery);/* ==========================================================
+ * bootstrap-alert.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#alerts
+ * ==========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* ALERT CLASS DEFINITION
+  * ====================== */
+
+  var dismiss = '[data-dismiss="alert"]'
+    , Alert = function (el) {
+        $(el).on('click', dismiss, this.close)
+      }
+
+  Alert.prototype.close = function (e) {
+    var $this = $(this)
+      , selector = $this.attr('data-target')
+      , $parent
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector &amp;amp;&amp;amp; selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+    }
+
+    $parent = $(selector)
+
+    e &amp;amp;&amp;amp; e.preventDefault()
+
+    $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
+
+    $parent.trigger(e = $.Event('close'))
+
+    if (e.isDefaultPrevented()) return
+
+    $parent.removeClass('in')
+
+    function removeElement() {
+      $parent
+        .trigger('closed')
+        .remove()
+    }
+
+    $.support.transition &amp;amp;&amp;amp; $parent.hasClass('fade') ?
+      $parent.on($.support.transition.end, removeElement) :
+      removeElement()
+  }
+
+
+ /* ALERT PLUGIN DEFINITION
+  * ======================= */
+
+  $.fn.alert = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('alert')
+      if (!data) $this.data('alert', (data = new Alert(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  $.fn.alert.Constructor = Alert
+
+
+ /* ALERT DATA-API
+  * ============== */
+
+  $(function () {
+    $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
+  })
+
+}(window.jQuery);/* ============================================================
+ * bootstrap-button.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#buttons
+ * ============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* BUTTON PUBLIC CLASS DEFINITION
+  * ============================== */
+
+  var Button = function (element, options) {
+    this.$element = $(element)
+    this.options = $.extend({}, $.fn.button.defaults, options)
+  }
+
+  Button.prototype.setState = function (state) {
+    var d = 'disabled'
+      , $el = this.$element
+      , data = $el.data()
+      , val = $el.is('input') ? 'val' : 'html'
+
+    state = state + 'Text'
+    data.resetText || $el.data('resetText', $el[val]())
+
+    $el[val](data[state] || this.options[state])
+
+    // push to event loop to allow forms to submit
+    setTimeout(function () {
+      state == 'loadingText' ?
+        $el.addClass(d).attr(d, d) :
+        $el.removeClass(d).removeAttr(d)
+    }, 0)
+  }
+
+  Button.prototype.toggle = function () {
+    var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
+
+    $parent &amp;amp;&amp;amp; $parent
+      .find('.active')
+      .removeClass('active')
+
+    this.$element.toggleClass('active')
+  }
+
+
+ /* BUTTON PLUGIN DEFINITION
+  * ======================== */
+
+  $.fn.button = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('button')
+        , options = typeof option == 'object' &amp;amp;&amp;amp; option
+      if (!data) $this.data('button', (data = new Button(this, options)))
+      if (option == 'toggle') data.toggle()
+      else if (option) data.setState(option)
+    })
+  }
+
+  $.fn.button.defaults = {
+    loadingText: 'loading...'
+  }
+
+  $.fn.button.Constructor = Button
+
+
+ /* BUTTON DATA-API
+  * =============== */
+
+  $(function () {
+    $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
+      var $btn = $(e.target)
+      if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+      $btn.button('toggle')
+    })
+  })
+
+}(window.jQuery);/* ==========================================================
+ * bootstrap-carousel.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#carousel
+ * ==========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* CAROUSEL CLASS DEFINITION
+  * ========================= */
+
+  var Carousel = function (element, options) {
+    this.$element = $(element)
+    this.options = options
+    this.options.slide &amp;amp;&amp;amp; this.slide(this.options.slide)
+    this.options.pause == 'hover' &amp;amp;&amp;amp; this.$element
+      .on('mouseenter', $.proxy(this.pause, this))
+      .on('mouseleave', $.proxy(this.cycle, this))
+  }
+
+  Carousel.prototype = {
+
+    cycle: function (e) {
+      if (!e) this.paused = false
+      this.options.interval
+        &amp;amp;&amp;amp; !this.paused
+        &amp;amp;&amp;amp; (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
+      return this
+    }
+
+  , to: function (pos) {
+      var $active = this.$element.find('.active')
+        , children = $active.parent().children()
+        , activePos = children.index($active)
+        , that = this
+
+      if (pos &amp;gt; (children.length - 1) || pos &amp;lt; 0) return
+
+      if (this.sliding) {
+        return this.$element.one('slid', function () {
+          that.to(pos)
+        })
+      }
+
+      if (activePos == pos) {
+        return this.pause().cycle()
+      }
+
+      return this.slide(pos &amp;gt; activePos ? 'next' : 'prev', $(children[pos]))
+    }
+
+  , pause: function (e) {
+      if (!e) this.paused = true
+      clearInterval(this.interval)
+      this.interval = null
+      return this
+    }
+
+  , next: function () {
+      if (this.sliding) return
+      return this.slide('next')
+    }
+
+  , prev: function () {
+      if (this.sliding) return
+      return this.slide('prev')
+    }
+
+  , slide: function (type, next) {
+      var $active = this.$element.find('.active')
+        , $next = next || $active[type]()
+        , isCycling = this.interval
+        , direction = type == 'next' ? 'left' : 'right'
+        , fallback  = type == 'next' ? 'first' : 'last'
+        , that = this
+        , e = $.Event('slide')
+
+      this.sliding = true
+
+      isCycling &amp;amp;&amp;amp; this.pause()
+
+      $next = $next.length ? $next : this.$element.find('.item')[fallback]()
+
+      if ($next.hasClass('active')) return
+
+      if ($.support.transition &amp;amp;&amp;amp; this.$element.hasClass('slide')) {
+        this.$element.trigger(e)
+        if (e.isDefaultPrevented()) return
+        $next.addClass(type)
+        $next[0].offsetWidth // force reflow
+        $active.addClass(direction)
+        $next.addClass(direction)
+        this.$element.one($.support.transition.end, function () {
+          $next.removeClass([type, direction].join(' ')).addClass('active')
+          $active.removeClass(['active', direction].join(' '))
+          that.sliding = false
+          setTimeout(function () { that.$element.trigger('slid') }, 0)
+        })
+      } else {
+        this.$element.trigger(e)
+        if (e.isDefaultPrevented()) return
+        $active.removeClass('active')
+        $next.addClass('active')
+        this.sliding = false
+        this.$element.trigger('slid')
+      }
+
+      isCycling &amp;amp;&amp;amp; this.cycle()
+
+      return this
+    }
+
+  }
+
+
+ /* CAROUSEL PLUGIN DEFINITION
+  * ========================== */
+
+  $.fn.carousel = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('carousel')
+        , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' &amp;amp;&amp;amp; option)
+      if (!data) $this.data('carousel', (data = new Carousel(this, options)))
+      if (typeof option == 'number') data.to(option)
+      else if (typeof option == 'string' || (option = options.slide)) data[option]()
+      else if (options.interval) data.cycle()
+    })
+  }
+
+  $.fn.carousel.defaults = {
+    interval: 5000
+  , pause: 'hover'
+  }
+
+  $.fn.carousel.Constructor = Carousel
+
+
+ /* CAROUSEL DATA-API
+  * ================= */
+
+  $(function () {
+    $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
+      var $this = $(this), href
+        , $target = $($this.attr('data-target') || (href = $this.attr('href')) &amp;amp;&amp;amp; href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+        , options = !$target.data('modal') &amp;amp;&amp;amp; $.extend({}, $target.data(), $this.data())
+      $target.carousel(options)
+      e.preventDefault()
+    })
+  })
+
+}(window.jQuery);/* =============================================================
+ * bootstrap-collapse.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#collapse
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* COLLAPSE PUBLIC CLASS DEFINITION
+  * ================================ */
+
+  var Collapse = function (element, options) {
+    this.$element = $(element)
+    this.options = $.extend({}, $.fn.collapse.defaults, options)
+
+    if (this.options.parent) {
+      this.$parent = $(this.options.parent)
+    }
+
+    this.options.toggle &amp;amp;&amp;amp; this.toggle()
+  }
+
+  Collapse.prototype = {
+
+    constructor: Collapse
+
+  , dimension: function () {
+      var hasWidth = this.$element.hasClass('width')
+      return hasWidth ? 'width' : 'height'
+    }
+
+  , show: function () {
+      var dimension
+        , scroll
+        , actives
+        , hasData
+
+      if (this.transitioning) return
+
+      dimension = this.dimension()
+      scroll = $.camelCase(['scroll', dimension].join('-'))
+      actives = this.$parent &amp;amp;&amp;amp; this.$parent.find('&amp;gt; .accordion-group &amp;gt; .in')
+
+      if (actives &amp;amp;&amp;amp; actives.length) {
+        hasData = actives.data('collapse')
+        if (hasData &amp;amp;&amp;amp; hasData.transitioning) return
+        actives.collapse('hide')
+        hasData || actives.data('collapse', null)
+      }
+
+      this.$element[dimension](0)
+      this.transition('addClass', $.Event('show'), 'shown')
+      this.$element[dimension](this.$element[0][scroll])
+    }
+
+  , hide: function () {
+      var dimension
+      if (this.transitioning) return
+      dimension = this.dimension()
+      this.reset(this.$element[dimension]())
+      this.transition('removeClass', $.Event('hide'), 'hidden')
+      this.$element[dimension](0)
+    }
+
+  , reset: function (size) {
+      var dimension = this.dimension()
+
+      this.$element
+        .removeClass('collapse')
+        [dimension](size || 'auto')
+        [0].offsetWidth
+
+      this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
+
+      return this
+    }
+
+  , transition: function (method, startEvent, completeEvent) {
+      var that = this
+        , complete = function () {
+            if (startEvent.type == 'show') that.reset()
+            that.transitioning = 0
+            that.$element.trigger(completeEvent)
+          }
+
+      this.$element.trigger(startEvent)
+
+      if (startEvent.isDefaultPrevented()) return
+
+      this.transitioning = 1
+
+      this.$element[method]('in')
+
+      $.support.transition &amp;amp;&amp;amp; this.$element.hasClass('collapse') ?
+        this.$element.one($.support.transition.end, complete) :
+        complete()
+    }
+
+  , toggle: function () {
+      this[this.$element.hasClass('in') ? 'hide' : 'show']()
+    }
+
+  }
+
+
+ /* COLLAPSIBLE PLUGIN DEFINITION
+  * ============================== */
+
+  $.fn.collapse = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('collapse')
+        , options = typeof option == 'object' &amp;amp;&amp;amp; option
+      if (!data) $this.data('collapse', (data = new Collapse(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.collapse.defaults = {
+    toggle: true
+  }
+
+  $.fn.collapse.Constructor = Collapse
+
+
+ /* COLLAPSIBLE DATA-API
+  * ==================== */
+
+  $(function () {
+    $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
+      var $this = $(this), href
+        , target = $this.attr('data-target')
+          || e.preventDefault()
+          || (href = $this.attr('href')) &amp;amp;&amp;amp; href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
+        , option = $(target).data('collapse') ? 'toggle' : $this.data()
+      $(target).collapse(option)
+    })
+  })
+
+}(window.jQuery);/* ============================================================
+ * bootstrap-dropdown.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#dropdowns
+ * ============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* DROPDOWN CLASS DEFINITION
+  * ========================= */
+
+  var toggle = '[data-toggle="dropdown"]'
+    , Dropdown = function (element) {
+        var $el = $(element).on('click.dropdown.data-api', this.toggle)
+        $('html').on('click.dropdown.data-api', function () {
+          $el.parent().removeClass('open')
+        })
+      }
+
+  Dropdown.prototype = {
+
+    constructor: Dropdown
+
+  , toggle: function (e) {
+      var $this = $(this)
+        , $parent
+        , selector
+        , isActive
+
+      if ($this.is('.disabled, :disabled')) return
+
+      selector = $this.attr('data-target')
+
+      if (!selector) {
+        selector = $this.attr('href')
+        selector = selector &amp;amp;&amp;amp; selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+      }
+
+      $parent = $(selector)
+      $parent.length || ($parent = $this.parent())
+
+      isActive = $parent.hasClass('open')
+
+      clearMenus()
+
+      if (!isActive) $parent.toggleClass('open')
+
+      return false
+    }
+
+  }
+
+  function clearMenus() {
+    $(toggle).parent().removeClass('open')
+  }
+
+
+  /* DROPDOWN PLUGIN DEFINITION
+   * ========================== */
+
+  $.fn.dropdown = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('dropdown')
+      if (!data) $this.data('dropdown', (data = new Dropdown(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  $.fn.dropdown.Constructor = Dropdown
+
+
+  /* APPLY TO STANDARD DROPDOWN ELEMENTS
+   * =================================== */
+
+  $(function () {
+    $('html').on('click.dropdown.data-api', clearMenus)
+    $('body')
+      .on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() })
+      .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+  })
+
+}(window.jQuery);/* =========================================================
+ * bootstrap-modal.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#modals
+ * =========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================= */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* MODAL CLASS DEFINITION
+  * ====================== */
+
+  var Modal = function (content, options) {
+    this.options = options
+    this.$element = $(content)
+      .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
+  }
+
+  Modal.prototype = {
+
+      constructor: Modal
+
+    , toggle: function () {
+        return this[!this.isShown ? 'show' : 'hide']()
+      }
+
+    , show: function () {
+        var that = this
+          , e = $.Event('show')
+
+        this.$element.trigger(e)
+
+        if (this.isShown || e.isDefaultPrevented()) return
+
+        $('body').addClass('modal-open')
+
+        this.isShown = true
+
+        escape.call(this)
+        backdrop.call(this, function () {
+          var transition = $.support.transition &amp;amp;&amp;amp; that.$element.hasClass('fade')
+
+          if (!that.$element.parent().length) {
+            that.$element.appendTo(document.body) //don't move modals dom position
+          }
+
+          that.$element
+            .show()
+
+          if (transition) {
+            that.$element[0].offsetWidth // force reflow
+          }
+
+          that.$element.addClass('in')
+
+          transition ?
+            that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
+            that.$element.trigger('shown')
+
+        })
+      }
+
+    , hide: function (e) {
+        e &amp;amp;&amp;amp; e.preventDefault()
+
+        var that = this
+
+        e = $.Event('hide')
+
+        this.$element.trigger(e)
+
+        if (!this.isShown || e.isDefaultPrevented()) return
+
+        this.isShown = false
+
+        $('body').removeClass('modal-open')
+
+        escape.call(this)
+
+        this.$element.removeClass('in')
+
+        $.support.transition &amp;amp;&amp;amp; this.$element.hasClass('fade') ?
+          hideWithTransition.call(this) :
+          hideModal.call(this)
+      }
+
+  }
+
+
+ /* MODAL PRIVATE METHODS
+  * ===================== */
+
+  function hideWithTransition() {
+    var that = this
+      , timeout = setTimeout(function () {
+          that.$element.off($.support.transition.end)
+          hideModal.call(that)
+        }, 500)
+
+    this.$element.one($.support.transition.end, function () {
+      clearTimeout(timeout)
+      hideModal.call(that)
+    })
+  }
+
+  function hideModal(that) {
+    this.$element
+      .hide()
+      .trigger('hidden')
+
+    backdrop.call(this)
+  }
+
+  function backdrop(callback) {
+    var that = this
+      , animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+    if (this.isShown &amp;amp;&amp;amp; this.options.backdrop) {
+      var doAnimate = $.support.transition &amp;amp;&amp;amp; animate
+
+      this.$backdrop = $('&amp;lt;div class="modal-backdrop ' + animate + '" /&amp;gt;')
+        .appendTo(document.body)
+
+      if (this.options.backdrop != 'static') {
+        this.$backdrop.click($.proxy(this.hide, this))
+      }
+
+      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+      this.$backdrop.addClass('in')
+
+      doAnimate ?
+        this.$backdrop.one($.support.transition.end, callback) :
+        callback()
+
+    } else if (!this.isShown &amp;amp;&amp;amp; this.$backdrop) {
+      this.$backdrop.removeClass('in')
+
+      $.support.transition &amp;amp;&amp;amp; this.$element.hasClass('fade')?
+        this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :
+        removeBackdrop.call(this)
+
+    } else if (callback) {
+      callback()
+    }
+  }
+
+  function removeBackdrop() {
+    this.$backdrop.remove()
+    this.$backdrop = null
+  }
+
+  function escape() {
+    var that = this
+    if (this.isShown &amp;amp;&amp;amp; this.options.keyboard) {
+      $(document).on('keyup.dismiss.modal', function ( e ) {
+        e.which == 27 &amp;amp;&amp;amp; that.hide()
+      })
+    } else if (!this.isShown) {
+      $(document).off('keyup.dismiss.modal')
+    }
+  }
+
+
+ /* MODAL PLUGIN DEFINITION
+  * ======================= */
+
+  $.fn.modal = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('modal')
+        , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' &amp;amp;&amp;amp; option)
+      if (!data) $this.data('modal', (data = new Modal(this, options)))
+      if (typeof option == 'string') data[option]()
+      else if (options.show) data.show()
+    })
+  }
+
+  $.fn.modal.defaults = {
+      backdrop: true
+    , keyboard: true
+    , show: true
+  }
+
+  $.fn.modal.Constructor = Modal
+
+
+ /* MODAL DATA-API
+  * ============== */
+
+  $(function () {
+    $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
+      var $this = $(this), href
+        , $target = $($this.attr('data-target') || (href = $this.attr('href')) &amp;amp;&amp;amp; href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+        , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())
+
+      e.preventDefault()
+      $target.modal(option)
+    })
+  })
+
+}(window.jQuery);/* ===========================================================
+ * bootstrap-tooltip.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#tooltips
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ===========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* TOOLTIP PUBLIC CLASS DEFINITION
+  * =============================== */
+
+  var Tooltip = function (element, options) {
+    this.init('tooltip', element, options)
+  }
+
+  Tooltip.prototype = {
+
+    constructor: Tooltip
+
+  , init: function (type, element, options) {
+      var eventIn
+        , eventOut
+
+      this.type = type
+      this.$element = $(element)
+      this.options = this.getOptions(options)
+      this.enabled = true
+
+      if (this.options.trigger != 'manual') {
+        eventIn  = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
+        eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
+        this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))
+        this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))
+      }
+
+      this.options.selector ?
+        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+        this.fixTitle()
+    }
+
+  , getOptions: function (options) {
+      options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
+
+      if (options.delay &amp;amp;&amp;amp; typeof options.delay == 'number') {
+        options.delay = {
+          show: options.delay
+        , hide: options.delay
+        }
+      }
+
+      return options
+    }
+
+  , enter: function (e) {
+      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+
+      if (!self.options.delay || !self.options.delay.show) return self.show()
+
+      clearTimeout(this.timeout)
+      self.hoverState = 'in'
+      this.timeout = setTimeout(function() {
+        if (self.hoverState == 'in') self.show()
+      }, self.options.delay.show)
+    }
+
+  , leave: function (e) {
+      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+
+      if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+      clearTimeout(this.timeout)
+      self.hoverState = 'out'
+      this.timeout = setTimeout(function() {
+        if (self.hoverState == 'out') self.hide()
+      }, self.options.delay.hide)
+    }
+
+  , show: function () {
+      var $tip
+        , inside
+        , pos
+        , actualWidth
+        , actualHeight
+        , placement
+        , tp
+
+      if (this.hasContent() &amp;amp;&amp;amp; this.enabled) {
+        $tip = this.tip()
+        this.setContent()
+
+        if (this.options.animation) {
+          $tip.addClass('fade')
+        }
+
+        placement = typeof this.options.placement == 'function' ?
+          this.options.placement.call(this, $tip[0], this.$element[0]) :
+          this.options.placement
+
+        inside = /in/.test(placement)
+
+        $tip
+          .remove()
+          .css({ top: 0, left: 0, display: 'block' })
+          .appendTo(inside ? this.$element : document.body)
+
+        pos = this.getPosition(inside)
+
+        actualWidth = $tip[0].offsetWidth
+        actualHeight = $tip[0].offsetHeight
+
+        switch (inside ? placement.split(' ')[1] : placement) {
+          case 'bottom':
+            tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
+            break
+          case 'top':
+            tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
+            break
+          case 'left':
+            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
+            break
+          case 'right':
+            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
+            break
+        }
+
+        $tip
+          .css(tp)
+          .addClass(placement)
+          .addClass('in')
+      }
+    }
+
+  , isHTML: function(text) {
+      // html string detection logic adapted from jQuery
+      return typeof text != 'string'
+        || ( text.charAt(0) === "&amp;lt;"
+          &amp;amp;&amp;amp; text.charAt( text.length - 1 ) === "&amp;gt;"
+          &amp;amp;&amp;amp; text.length &amp;gt;= 3
+        ) || /^(?:[^&amp;lt;]*&amp;lt;[\w\W]+&amp;gt;[^&amp;gt;]*$)/.exec(text)
+    }
+
+  , setContent: function () {
+      var $tip = this.tip()
+        , title = this.getTitle()
+
+      $tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title)
+      $tip.removeClass('fade in top bottom left right')
+    }
+
+  , hide: function () {
+      var that = this
+        , $tip = this.tip()
+
+      $tip.removeClass('in')
+
+      function removeWithAnimation() {
+        var timeout = setTimeout(function () {
+          $tip.off($.support.transition.end).remove()
+        }, 500)
+
+        $tip.one($.support.transition.end, function () {
+          clearTimeout(timeout)
+          $tip.remove()
+        })
+      }
+
+      $.support.transition &amp;amp;&amp;amp; this.$tip.hasClass('fade') ?
+        removeWithAnimation() :
+        $tip.remove()
+    }
+
+  , fixTitle: function () {
+      var $e = this.$element
+      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
+        $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
+      }
+    }
+
+  , hasContent: function () {
+      return this.getTitle()
+    }
+
+  , getPosition: function (inside) {
+      return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
+        width: this.$element[0].offsetWidth
+      , height: this.$element[0].offsetHeight
+      })
+    }
+
+  , getTitle: function () {
+      var title
+        , $e = this.$element
+        , o = this.options
+
+      title = $e.attr('data-original-title')
+        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
+
+      return title
+    }
+
+  , tip: function () {
+      return this.$tip = this.$tip || $(this.options.template)
+    }
+
+  , validate: function () {
+      if (!this.$element[0].parentNode) {
+        this.hide()
+        this.$element = null
+        this.options = null
+      }
+    }
+
+  , enable: function () {
+      this.enabled = true
+    }
+
+  , disable: function () {
+      this.enabled = false
+    }
+
+  , toggleEnabled: function () {
+      this.enabled = !this.enabled
+    }
+
+  , toggle: function () {
+      this[this.tip().hasClass('in') ? 'hide' : 'show']()
+    }
+
+  }
+
+
+ /* TOOLTIP PLUGIN DEFINITION
+  * ========================= */
+
+  $.fn.tooltip = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('tooltip')
+        , options = typeof option == 'object' &amp;amp;&amp;amp; option
+      if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.tooltip.Constructor = Tooltip
+
+  $.fn.tooltip.defaults = {
+    animation: true
+  , placement: 'top'
+  , selector: false
+  , template: '&amp;lt;div class="tooltip"&amp;gt;&amp;lt;div class="tooltip-arrow"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="tooltip-inner"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;'
+  , trigger: 'hover'
+  , title: ''
+  , delay: 0
+  }
+
+}(window.jQuery);/* ===========================================================
+ * bootstrap-popover.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#popovers
+ * ===========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * =========================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* POPOVER PUBLIC CLASS DEFINITION
+  * =============================== */
+
+  var Popover = function ( element, options ) {
+    this.init('popover', element, options)
+  }
+
+
+  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
+     ========================================== */
+
+  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
+
+    constructor: Popover
+
+  , setContent: function () {
+      var $tip = this.tip()
+        , title = this.getTitle()
+        , content = this.getContent()
+
+      $tip.find('.popover-title')[this.isHTML(title) ? 'html' : 'text'](title)
+      $tip.find('.popover-content &amp;gt; *')[this.isHTML(content) ? 'html' : 'text'](content)
+
+      $tip.removeClass('fade top bottom left right in')
+    }
+
+  , hasContent: function () {
+      return this.getTitle() || this.getContent()
+    }
+
+  , getContent: function () {
+      var content
+        , $e = this.$element
+        , o = this.options
+
+      content = $e.attr('data-content')
+        || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)
+
+      return content
+    }
+
+  , tip: function () {
+      if (!this.$tip) {
+        this.$tip = $(this.options.template)
+      }
+      return this.$tip
+    }
+
+  })
+
+
+ /* POPOVER PLUGIN DEFINITION
+  * ======================= */
+
+  $.fn.popover = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('popover')
+        , options = typeof option == 'object' &amp;amp;&amp;amp; option
+      if (!data) $this.data('popover', (data = new Popover(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.popover.Constructor = Popover
+
+  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
+    placement: 'right'
+  , content: ''
+  , template: '&amp;lt;div class="popover"&amp;gt;&amp;lt;div class="arrow"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="popover-inner"&amp;gt;&amp;lt;h3 class="popover-title"&amp;gt;&amp;lt;/h3&amp;gt;&amp;lt;div class="popover-content"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;'
+  })
+
+}(window.jQuery);/* =============================================================
+ * bootstrap-scrollspy.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#scrollspy
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+  /* SCROLLSPY CLASS DEFINITION
+   * ========================== */
+
+  function ScrollSpy( element, options) {
+    var process = $.proxy(this.process, this)
+      , $element = $(element).is('body') ? $(window) : $(element)
+      , href
+    this.options = $.extend({}, $.fn.scrollspy.defaults, options)
+    this.$scrollElement = $element.on('scroll.scroll.data-api', process)
+    this.selector = (this.options.target
+      || ((href = $(element).attr('href')) &amp;amp;&amp;amp; href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+      || '') + ' .nav li &amp;gt; a'
+    this.$body = $('body').on('click.scroll.data-api', this.selector, process)
+    this.refresh()
+    this.process()
+  }
+
+  ScrollSpy.prototype = {
+
+      constructor: ScrollSpy
+
+    , refresh: function () {
+        var self = this
+          , $targets
+
+        this.offsets = $([])
+        this.targets = $([])
+
+        $targets = this.$body
+          .find(this.selector)
+          .map(function () {
+            var $el = $(this)
+              , href = $el.data('target') || $el.attr('href')
+              , $href = /^#\w/.test(href) &amp;amp;&amp;amp; $(href)
+            return ( $href
+              &amp;amp;&amp;amp; href.length
+              &amp;amp;&amp;amp; [[ $href.position().top, href ]] ) || null
+          })
+          .sort(function (a, b) { return a[0] - b[0] })
+          .each(function () {
+            self.offsets.push(this[0])
+            self.targets.push(this[1])
+          })
+      }
+
+    , process: function () {
+        var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
+          , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
+          , maxScroll = scrollHeight - this.$scrollElement.height()
+          , offsets = this.offsets
+          , targets = this.targets
+          , activeTarget = this.activeTarget
+          , i
+
+        if (scrollTop &amp;gt;= maxScroll) {
+          return activeTarget != (i = targets.last()[0])
+            &amp;amp;&amp;amp; this.activate ( i )
+        }
+
+        for (i = offsets.length; i--;) {
+          activeTarget != targets[i]
+            &amp;amp;&amp;amp; scrollTop &amp;gt;= offsets[i]
+            &amp;amp;&amp;amp; (!offsets[i + 1] || scrollTop &amp;lt;= offsets[i + 1])
+            &amp;amp;&amp;amp; this.activate( targets[i] )
+        }
+      }
+
+    , activate: function (target) {
+        var active
+          , selector
+
+        this.activeTarget = target
+
+        $(this.selector)
+          .parent('.active')
+          .removeClass('active')
+
+        selector = this.selector
+          + '[data-target="' + target + '"],'
+          + this.selector + '[href="' + target + '"]'
+
+        active = $(selector)
+          .parent('li')
+          .addClass('active')
+
+        if (active.parent('.dropdown-menu'))  {
+          active = active.closest('li.dropdown').addClass('active')
+        }
+
+        active.trigger('activate')
+      }
+
+  }
+
+
+ /* SCROLLSPY PLUGIN DEFINITION
+  * =========================== */
+
+  $.fn.scrollspy = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('scrollspy')
+        , options = typeof option == 'object' &amp;amp;&amp;amp; option
+      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.scrollspy.Constructor = ScrollSpy
+
+  $.fn.scrollspy.defaults = {
+    offset: 10
+  }
+
+
+ /* SCROLLSPY DATA-API
+  * ================== */
+
+  $(function () {
+    $('[data-spy="scroll"]').each(function () {
+      var $spy = $(this)
+      $spy.scrollspy($spy.data())
+    })
+  })
+
+}(window.jQuery);/* ========================================================
+ * bootstrap-tab.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#tabs
+ * ========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================== */
+
+
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
+
+ /* TAB CLASS DEFINITION
+  * ==================== */
+
+  var Tab = function ( element ) {
+    this.element = $(element)
+  }
+
+  Tab.prototype = {
+
+    constructor: Tab
+
+  , show: function () {
+      var $this = this.element
+        , $ul = $this.closest('ul:not(.dropdown-menu)')
+        , selector = $this.attr('data-target')
+        , previous
+        , $target
+        , e
+
+      if (!selector) {
+        selector = $this.attr('href')
+        selector = selector &amp;amp;&amp;amp; selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+      }
+
+      if ( $this.parent('li').hasClass('active') ) return
+
+      previous = $ul.find('.active a').last()[0]
+
+      e = $.Event('show', {
+        relatedTarget: previous
+      })
+
+      $this.trigger(e)
+
+      if (e.isDefaultPrevented()) return
+
+      $target = $(selector)
+
+      this.activate($this.parent('li'), $ul)
+      this.activate($target, $target.parent(), function () {
+        $this.trigger({
+          type: 'shown'
+        , relatedTarget: previous
+        })
+      })
+    }
+
+  , activate: function ( element, container, callback) {
+      var $active = container.find('&amp;gt; .active')
+        , transition = callback
+            &amp;amp;&amp;amp; $.support.transition
+            &amp;amp;&amp;amp; $active.hasClass('fade')
+
+      function next() {
+        $active
+          .removeClass('active')
+          .find('&amp;gt; .dropdown-menu &amp;gt; .active')
+          .removeClass('active')
+
+        element.addClass('active')
+
+        if (transition) {
+          element[0].offsetWidth // reflow for transition
+          element.addClass('in')
+        } else {
+          element.removeClass('fade')
+        }
+
+        if ( element.parent('.dropdown-menu') ) {
+          element.closest('li.dropdown').addClass('active')
+        }
+
+        callback &amp;amp;&amp;amp; callback()
+      }
+
+      transition ?
+        $active.one($.support.transition.end, next) :
+        next()
+
+      $active.removeClass('in')
+    }
+  }
+
+
+ /* TAB PLUGIN DEFINITION
+  * ===================== */
+
+  $.fn.tab = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('tab')
+      if (!data) $this.data('tab', (data = new Tab(this)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.tab.Constructor = Tab
+
+
+ /* TAB DATA-API
+  * ============ */
+
+  $(function () {
+    $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
+      e.preventDefault()
+      $(this).tab('show')
+    })
+  })
+
+}(window.jQuery);/* =============================================================
+ * bootstrap-typeahead.js v2.0.3
+ * http://twitter.github.com/bootstrap/javascript.html#typeahead
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function($){
+
+  "use strict"; // jshint ;_;
+
+
+ /* TYPEAHEAD PUBLIC CLASS DEFINITION
+  * ================================= */
+
+  var Typeahead = function (element, options) {
+    this.$element = $(element)
+    this.options = $.extend({}, $.fn.typeahead.defaults, options)
+    this.matcher = this.options.matcher || this.matcher
+    this.sorter = this.options.sorter || this.sorter
+    this.highlighter = this.options.highlighter || this.highlighter
+    this.updater = this.options.updater || this.updater
+    this.$menu = $(this.options.menu).appendTo('body')
+    this.source = this.options.source
+    this.shown = false
+    this.listen()
+  }
+
+  Typeahead.prototype = {
+
+    constructor: Typeahead
+
+  , select: function () {
+      var val = this.$menu.find('.active').attr('data-value')
+      this.$element
+        .val(this.updater(val))
+        .change()
+      return this.hide()
+    }
+
+  , updater: function (item) {
+      return item
+    }
+
+  , show: function () {
+      var pos = $.extend({}, this.$element.position(), {
+        height: this.$element[0].offsetHeight
+      })
+
+      this.$menu.css({
+        top: pos.top + pos.height
+      , left: pos.left
+      })
+
+      this.$menu.show()
+      this.shown = true
+      return this
+    }
+
+  , hide: function () {
+      this.$menu.hide()
+      this.shown = false
+      return this
+    }
+
+  , lookup: function (event) {
+      var that = this
+        , items
+        , q
+
+      this.query = this.$element.val()
+
+      if (!this.query) {
+        return this.shown ? this.hide() : this
+      }
+
+      items = $.grep(this.source, function (item) {
+        return that.matcher(item)
+      })
+
+      items = this.sorter(items)
+
+      if (!items.length) {
+        return this.shown ? this.hide() : this
+      }
+
+      return this.render(items.slice(0, this.options.items)).show()
+    }
+
+  , matcher: function (item) {
+      return ~item.toLowerCase().indexOf(this.query.toLowerCase())
+    }
+
+  , sorter: function (items) {
+      var beginswith = []
+        , caseSensitive = []
+        , caseInsensitive = []
+        , item
+
+      while (item = items.shift()) {
+        if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
+        else if (~item.indexOf(this.query)) caseSensitive.push(item)
+        else caseInsensitive.push(item)
+      }
+
+      return beginswith.concat(caseSensitive, caseInsensitive)
+    }
+
+  , highlighter: function (item) {
+      var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&amp;amp;')
+      return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
+        return '&amp;lt;strong&amp;gt;' + match + '&amp;lt;/strong&amp;gt;'
+      })
+    }
+
+  , render: function (items) {
+      var that = this
+
+      items = $(items).map(function (i, item) {
+        i = $(that.options.item).attr('data-value', item)
+        i.find('a').html(that.highlighter(item))
+        return i[0]
+      })
+
+      items.first().addClass('active')
+      this.$menu.html(items)
+      return this
+    }
+
+  , next: function (event) {
+      var active = this.$menu.find('.active').removeClass('active')
+        , next = active.next()
+
+      if (!next.length) {
+        next = $(this.$menu.find('li')[0])
+      }
+
+      next.addClass('active')
+    }
+
+  , prev: function (event) {
+      var active = this.$menu.find('.active').removeClass('active')
+        , prev = active.prev()
+
+      if (!prev.length) {
+        prev = this.$menu.find('li').last()
+      }
+
+      prev.addClass('active')
+    }
+
+  , listen: function () {
+      this.$element
+        .on('blur',     $.proxy(this.blur, this))
+        .on('keypress', $.proxy(this.keypress, this))
+        .on('keyup',    $.proxy(this.keyup, this))
+
+      if ($.browser.webkit || $.browser.msie) {
+        this.$element.on('keydown', $.proxy(this.keypress, this))
+      }
+
+      this.$menu
+        .on('click', $.proxy(this.click, this))
+        .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
+    }
+
+  , keyup: function (e) {
+      switch(e.keyCode) {
+        case 40: // down arrow
+        case 38: // up arrow
+          break
+
+        case 9: // tab
+        case 13: // enter
+          if (!this.shown) return
+          this.select()
+          break
+
+        case 27: // escape
+          if (!this.shown) return
+          this.hide()
+          break
+
+        default:
+          this.lookup()
+      }
+
+      e.stopPropagation()
+      e.preventDefault()
+  }
+
+  , keypress: function (e) {
+      if (!this.shown) return
+
+      switch(e.keyCode) {
+        case 9: // tab
+        case 13: // enter
+        case 27: // escape
+          e.preventDefault()
+          break
+
+        case 38: // up arrow
+          if (e.type != 'keydown') break
+          e.preventDefault()
+          this.prev()
+          break
+
+        case 40: // down arrow
+          if (e.type != 'keydown') break
+          e.preventDefault()
+          this.next()
+          break
+      }
+
+      e.stopPropagation()
+    }
+
+  , blur: function (e) {
+      var that = this
+      setTimeout(function () { that.hide() }, 150)
+    }
+
+  , click: function (e) {
+      e.stopPropagation()
+      e.preventDefault()
+      this.select()
+    }
+
+  , mouseenter: function (e) {
+      this.$menu.find('.active').removeClass('active')
+      $(e.currentTarget).addClass('active')
+    }
+
+  }
+
+
+  /* TYPEAHEAD PLUGIN DEFINITION
+   * =========================== */
+
+  $.fn.typeahead = function (option) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('typeahead')
+        , options = typeof option == 'object' &amp;amp;&amp;amp; option
+      if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.typeahead.defaults = {
+    source: []
+  , items: 8
+  , menu: '&amp;lt;ul class="typeahead dropdown-menu"&amp;gt;&amp;lt;/ul&amp;gt;'
+  , item: '&amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;'
+  }
+
+  $.fn.typeahead.Constructor = Typeahead
+
+
+ /* TYPEAHEAD DATA-API
+  * ================== */
+
+  $(function () {
+    $('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
+      var $this = $(this)
+      if ($this.data('typeahead')) return
+      e.preventDefault()
+      $this.typeahead($this.data())
+    })
+  })
+
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap.min.js b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap.min.js
new file mode 100644
index 0000000..7cf02a6
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/assets/js/bootstrap.min.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+/**
+* Bootstrap.js by &amp;lt; at &amp;gt;fat &amp;amp; &amp;lt; at &amp;gt;mdo
+* Copyright 2012 Twitter, Inc.
+* http://www.apache.org/licenses/LICENSE-2.0.txt
+*/
+!function(a){a(function(){"use strict",a.support.transition=function(){var a=function(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd",transition:"transitionend"},c;for(c in b)if(a.style[c]!==undefined)return b[c]}();return a&amp;amp;&amp;amp;{end:a}}()})}(window.jQuery),!function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed").remove()}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&amp;amp;&amp;amp;d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),b&amp;amp;&amp;amp;b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&amp;amp;&amp;amp;e.hasClass("fade")?e.on(a.support.transition.end,f):f()},a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&amp;amp;&amp;amp;e[b].call(d)})},a.fn.alert.Constructor=c,a(function(){a("body").on("click.alert.data-api",b,c.prototype.close)})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.parent('[data-toggle="buttons-radio"]');a&amp;amp;&amp;amp;a.find(".active").removeClass("active"),this.$element.toggleClass("active")},a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&amp;amp;&amp;amp;c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&amp;amp;&amp;amp;e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a(function(){a("body").on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=c,this.options.slide&amp;amp;&amp;amp;this.slide(this.options.slide),this.options.pause=="hover"&amp;amp;&amp;amp;this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.prototype={cycle:function(b){return b||(this.paused=!1),this.options.interval&amp;amp;&amp;amp;!this.paused&amp;amp;&amp;amp;(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},to:function(b){var c=this.$element.find(".active"),d=c.parent().children(),e=d.index(c),f=this;if(b&amp;gt;d.length-1||b&amp;lt;0)return;return this.sliding?this.$element.one("slid",function(){f.to(b)}):e==b?this.pause().cycle():this.slide(b&amp;gt;e?"next":"prev",a(d[b]))},pause:function(a){return a||(this.paused=!0),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this,j=a.Event("slide");this.sliding=!0,f&amp;amp;&amp;amp;this.pause(),e=e.length?e:this.$element.find(".item")[h]();if(e.hasClass("active"))return;if(a.support.transition&amp;amp;&amp;amp;this.$element.hasClass("slide")){this.$element.trigger(j);if(j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})}else{this.$element.trigger(j);if(j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&amp;amp;&amp;amp;this.cycle(),this}},a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=a.extend({},a.fn.carousel.defaults,typeof c=="object"&amp;amp;&amp;amp;c);e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):typeof c=="string"||(c=f.slide)?e[c]():f.interval&amp;amp;&amp;amp;e.cycle()})},a.fn.carousel.defaults={interval:5e3,pause:"hover"},a.fn.carousel.Constructor=b,a(function(){a("body").on("click.carousel.data-api","[data-slide]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&amp;amp;&amp;amp;d.replace(/.*(?=#[^\s]+$)/,"")),f=!e.data("modal")&amp;amp;&amp;amp;a.extend({},e.data(),c.data());e.carousel(f),b.preventDefault()})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&amp;amp;&amp;amp;(this.$parent=a(this.options.parent)),this.options.toggle&amp;amp;&amp;amp;this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b,c,d,e;if(this.transitioning)return;b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&amp;amp;&amp;amp;this.$parent.find("&amp;gt; .accordion-group &amp;gt; .in");if(d&amp;amp;&amp;amp;d.length){e=d.data("collapse");if(e&amp;amp;&amp;amp;e.transitioning)return;d.collapse("hide"),e||d.data("collapse",null)}this.$element[b](0),this.transition("addClass",a.Event("show"),"shown"),this.$element[b](this.$element[0][c])},hide:function(){var b;if(this.transitioning)return;b=this.dimension(),this.reset(this.$element[b]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[b](0)},reset:function(a){var b=this.dimension();return this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element[a!==null?"addClass":"removeClass"]("collapse"),this},transition:function(b,c,d){var e=this,f=function(){c.type=="show"&amp;amp;&amp;amp;e.reset(),e.transitioning=0,e.$element.trigger(d)};this.$element.trigger(c);if(c.isDefaultPrevented())return;this.transitioning=1,this.$element[b]("in"),a.support.transition&amp;amp;&amp;amp;this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=typeof c=="object"&amp;amp;&amp;amp;c;e||d.data("collapse",e=new b(this,f)),typeof c=="string"&amp;amp;&amp;amp;e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&amp;amp;&amp;amp;d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();a(e).collapse(f)})})}(window.jQuery),!function(a){function d(){a(b).parent().removeClass("open")}"use strict";var b='[data-toggle="dropdown"]',c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),e,f,g;if(c.is(".disabled, :disabled"))return;return f=c.attr("data-target"),f||(f=c.attr("href"),f=f&amp;amp;&amp;amp;f.replace(/.*(?=#[^\s]*$)/,"")),e=a(f),e.length||(e=c.parent()),g=e.hasClass("open"),d(),g||e.toggleClass("open"),!1}},a.fn.dropdown=function(b){return this.each(function(){var d=a(this),e=d.data("dropdown");e||d.data("dropdown",e=new c(this)),typeof b=="string"&amp;amp;&amp;amp;e[b].call(d)})},a.fn.dropdown.Constructor=c,a(function(){a("html").on("click.dropdown.data-api",d),a("body").on("click.dropdown",".dropdown form",function(a){a.stopPropagation()}).on("click.dropdown.data-api",b,c.prototype.toggle)})}(window.jQuery),!function(a){function c(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),d.call(b)},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),d.call(b)})}function d(a){this.$element.hide().trigger("hidden"),e.call(this)}function e(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&amp;amp;&amp;amp;this.options.backdrop){var e=a.support.transition&amp;amp;&amp;amp;d;this.$backdrop=a('&amp;lt;div class="modal-backdrop '+d+'" /&amp;gt;').appendTo(document.body),this.options.backdrop!="static"&amp;amp;&amp;amp;this.$backdrop.click(a.proxy(this.hide,this)),e&amp;amp;&amp;amp;this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),e?this.$backdrop.one(a.support.transition.end,b):b()}else!this.isShown&amp;amp;&amp;amp;this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&amp;amp;&amp;amp;this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,a.proxy(f,this)):f.call(this)):b&amp;amp;&amp;amp;b()}function f(){this.$backdrop.remove(),this.$backdrop=null}function g(){var b=this;this.isShown&amp;amp;&amp;amp;this.options.keyboard?a(document).on("keyup.dismiss.modal",function(a){a.which==27&amp;amp;&amp;amp;b.hide()}):this.isShown||a(document).off("keyup.dismiss.modal")}"use strict";var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this))};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this,c=a.Event("show");this.$element.trigger(c);if(this.isShown||c.isDefaultPrevented())return;a("body").addClass("modal-open"),this.isShown=!0,g.call(this),e.call(this,function(){var c=a.support.transition&amp;amp;&amp;amp;b.$element.hasClass("fade");b.$element.parent().length||b.$element.appendTo(document.body),b.$element.show(),c&amp;amp;&amp;amp;b.$element[0].offsetWidth,b.$element.addClass("in"),c?b.$element.one(a.support.transition.end,function(){b.$element.trigger("shown")}):b.$element.trigger("shown")})},hide:function(b){b&amp;amp;&amp;amp;b.preventDefault();var e=this;b=a.Event("hide"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,a("body").removeClass("modal-open"),g.call(this),this.$element.removeClass("in"),a.support.transition&amp;amp;&amp;amp;this.$element.hasClass("fade")?c.call(this):d.call(this)}},a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("modal"),f=a.extend({},a.fn.modal.defaults,d.data(),typeof c=="object"&amp;amp;&amp;amp;c);e||d.data("modal",e=new b(this,f)),typeof c=="string"?e[c]():f.show&amp;amp;&amp;amp;e.show()})},a.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},a.fn.modal.Constructor=b,a(function(){a("body").on("click.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&amp;amp;&amp;amp;d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({},e.data(),c.data());b.preventDefault(),e.modal(f)})})}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,this.options.trigger!="manual"&amp;amp;&amp;amp;(e=this.options.trigger=="hover"?"mouseenter":"focus",f=this.options.trigger=="hover"?"mouseleave":"blur",this.$element.on(e,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f,this.options.selector,a.proxy(this.leave,this))),this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,b,this.$element.data()),b.delay&amp;amp;&amp;amp;typeof b.delay=="number"&amp;amp;&amp;amp;(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout),c.hoverState="in",this.timeout=setTimeout(function(){c.hoverState=="in"&amp;amp;&amp;amp;c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.hide)return c.hide();clearTimeout(this.timeout),c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&amp;amp;&amp;amp;c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g;if(this.hasContent()&amp;amp;&amp;amp;this.enabled){a=this.tip(),this.setContent(),this.options.animation&amp;amp;&amp;amp;a.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,b=/in/.test(f),a.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body),c=this.getPosition(b),d=a[0].offsetWidth,e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.css(g).addClass(f).addClass("in")}},isHTML:function(a){return typeof a!="string"||a.charAt(0)==="&amp;lt;"&amp;amp;&amp;amp;a.charAt(a.length-1)==="&amp;gt;"&amp;amp;&amp;amp;a.length&amp;gt;=3||/^(?:[^&amp;lt;]*&amp;lt;[\w\W]+&amp;gt;[^&amp;gt;]*$)/.exec(a)},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.isHTML(b)?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).remove()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.remove()})}var b=this,c=this.tip();c.removeClass("in"),a.support.transition&amp;amp;&amp;amp;this.$tip.hasClass("fade")?d():c.remove()},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&amp;amp;&amp;amp;a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()}},a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&amp;amp;&amp;amp;c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&amp;amp;&amp;amp;e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'&amp;lt;div class="tooltip"&amp;gt;&amp;lt;div class="tooltip-arrow"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="tooltip-inner"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;',trigger:"hover",title:"",delay:0}}(window.jQuery),!function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.isHTML(b)?"html":"text"](b),a.find(".popover-content &amp;gt; *")[this.isHTML(c)?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip}}),a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&amp;amp;&amp;amp;c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&amp;amp;&amp;amp;e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",content:"",template:'&amp;lt;div class="popover"&amp;gt;&amp;lt;div class="arrow"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="popover-inner"&amp;gt;&amp;lt;h3 class="popover-title"&amp;gt;&amp;lt;/h3&amp;gt;&amp;lt;div class="popover-content"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;'})}(window.jQuery),!function(a){function b(b,c){var d=a.proxy(this.process,this),e=a(b).is("body")?a(window):a(b),f;this.options=a.extend({},a.fn.scrollspy.defaults,c),this.$scrollElement=e.on("scroll.scroll.data-api",d),this.selector=(this.options.target||(f=a(b).attr("href"))&amp;amp;&amp;amp;f.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li &amp;gt; a",this.$body=a("body").on("click.scroll.data-api",this.selector,d),this.refresh(),this.process()}"use strict",b.prototype={constructor:b,refresh:function(){var b=this,c;this.offsets=a([]),this.targets=a([]),c=this.$body.find(this.selector).map(function(){var b=a(this),c=b.data("target")||b.attr("href"),d=/^#\w/.test(c)&amp;amp;&amp;amp;a(c);return d&amp;amp;&amp;amp;c.length&amp;amp;&amp;amp;[[d.position().top,c]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},process:function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,c=b-this.$scrollElement.height(),d=this.offsets,e=this.targets,f=this.activeTarget,g;if(a&amp;gt;=c)return f!=(g=e.last()[0])&amp;amp;&amp;amp;this.activate(g);for(g=d.length;g--;)f!=e[g]&amp;amp;&amp;amp;a&amp;gt;=d[g]&amp;amp;&amp;amp;(!d[g+1]||a&amp;lt;=d[g+1])&amp;amp;&amp;amp;this.activate(e[g])},activate:function(b){var c,d;this.activeTarget=b,a(this.selector).parent(".active").removeClass("active"),d=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',c=a(d).parent("li").addClass("active"),c.parent(".dropdown-menu")&amp;amp;&amp;amp;(c=c.closest("li.dropdown").addClass("active")),c.trigger("activate")}},a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("scrollspy"),f=typeof c=="object"&amp;amp;&amp;amp;c;e||d.data("scrollspy",e=new b(this,f)),typeof c=="string"&amp;amp;&amp;amp;e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.defaults={offset:10},a(function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),!function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype={constructor:b,show:function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target"),e,f,g;d||(d=b.attr("href"),d=d&amp;amp;&amp;amp;d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;e=c.find(".active a").last()[0],g=a.Event("show",{relatedTarget:e}),b.trigger(g);if(g.isDefaultPrevented())return;f=a(d),this.activate(b.parent("li"),c),this.activate(f,f.parent(),function(){b.trigger({type:"shown",relatedTarget:e})})},activate:function(b,c,d){function g(){e.removeClass("active").find("&amp;gt; .dropdown-menu &amp;gt; .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&amp;amp;&amp;amp;b.closest("li.dropdown").addClass("active"),d&amp;amp;&amp;amp;d()}var e=c.find("&amp;gt; .active"),f=d&amp;amp;&amp;amp;a.support.transition&amp;amp;&amp;amp;e.hasClass("fade");f?e.one(a.support.transition.end,g):g(),e.removeClass("in")}},a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("tab");e||d.data("tab",e=new b(this)),typeof c=="string"&amp;amp;&amp;amp;e[c]()})},a.fn.tab.Constructor=b,a(function(){a("body").on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.$menu=a(this.options.menu).appendTo("body"),this.source=this.options.source,this.shown=!1,this.listen()};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(a)).change(),this.hide()},updater:function(a){return a},show:function(){var b=a.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.css({top:b.top+b.height,left:b.left}),this.$menu.show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){var c=this,d,e;return this.query=this.$element.val(),this.query?(d=a.grep(this.source,function(a){return c.matcher(a)}),d=this.sorter(d),d.length?this.render(d.slice(0,this.options.items)).show():this.shown?this.hide():this):this.shown?this.hide():this},matcher:function(a){return~a.toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(a){var b=[],c=[],d=[],e;while(e=a.shift())e.toLowerCase().indexOf(this.query.toLowerCase())?~e.indexOf(this.query)?c.push(e):d.push(e):b.push(e);return b.concat(c,d)},highlighter:function(a){var b=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&amp;amp;");return a.replace(new RegExp("("+b+")","ig"),function(a,b){return"&amp;lt;strong&amp;gt;"+b+"&amp;lt;/strong&amp;gt;"})},render:function(b){var c=this;return b=a(b).map(function(b,d){return b=a(c.options.item).attr("data-value",d),b.find("a").html(c.highlighter(d)),b[0]}),b.first().addClass("active"),this.$menu.html(b),this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),(a.browser.webkit||a.browser.msie)&amp;amp;&amp;amp;this.$element.on("keydown",a.proxy(this.keypress,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this))},keyup:function(a){switch(a.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}a.stopPropagation(),a.preventDefault()},keypress:function(a){if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:if(a.type!="keydown")break;a.preventDefault(),this.prev();break;case 40:if(a.type!="keydown")break;a.preventDefault(),this.next()}a.stopPropagation()},blur:function(a){var b=this;setTimeout(function(){b.hide()},150)},click:function(a){a.stopPropagation(),a.preventDefault(),this.select()},mouseenter:function(b){this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")}},a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&amp;amp;&amp;amp;c;e||d.data("typeahead",e=new b(this,f)),typeof c=="string"&amp;amp;&amp;amp;e[c]()})},a.fn.typeahead.defaults={source:[],items:8,menu:'&amp;lt;ul class="typeahead dropdown-menu"&amp;gt;&amp;lt;/ul&amp;gt;',item:'&amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;'},a.fn.typeahead.Constructor=b,a(function(){a("body").on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);if(c.data("typeahead"))return;b.preventDefault(),c.typeahead(c.data())})})}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/base-css.html b/plone/app/toolbar/resources/lib/bootstrap/docs/base-css.html
index d44b658..5c55e04 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/base-css.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/base-css.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,7 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;span class="icon-bar"&amp;gt;&amp;lt;/span&amp;gt;
           &amp;lt;/a&amp;gt;
           &amp;lt;a class="brand" href="./index.html"&amp;gt;Bootstrap&amp;lt;/a&amp;gt;
-          &amp;lt;div class="nav-collapse"&amp;gt;
+          &amp;lt;div class="nav-collapse collapse"&amp;gt;
             &amp;lt;ul class="nav"&amp;gt;
               &amp;lt;li class=""&amp;gt;
                 &amp;lt;a href="./index.html"&amp;gt;Overview&amp;lt;/a&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -370,7 +371,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;dd&amp;gt;Donec id elit non mi porta gravida at eget metus.&amp;lt;/dd&amp;gt;
         &amp;lt;dt&amp;gt;Malesuada porta&amp;lt;/dt&amp;gt;
         &amp;lt;dd&amp;gt;Etiam porta sem malesuada magna mollis euismod.&amp;lt;/dd&amp;gt;
+        &amp;lt;dt&amp;gt;Felis euismod semper eget lacinia&amp;lt;/dt&amp;gt;
+        &amp;lt;dd&amp;gt;Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.&amp;lt;/dd&amp;gt;
       &amp;lt;/dl&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;p&amp;gt;
+        &amp;lt;span class="label label-info"&amp;gt;Heads up!&amp;lt;/span&amp;gt;
+        Horizontal description lists will truncate terms that are too long to fit in the left column fix &amp;lt;code&amp;gt;text-overflow&amp;lt;/code&amp;gt;. In narrower viewports, they will change to the default stacked layout.
+      &amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /row --&amp;gt;
 &amp;lt;/section&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -874,14 +882,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   &amp;lt;h2&amp;gt;Example forms &amp;lt;small&amp;gt;using just form controls, no extra markup&amp;lt;/small&amp;gt;&amp;lt;/h2&amp;gt;
   &amp;lt;div class="row"&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
+    &amp;lt;div class="span6"&amp;gt;
       &amp;lt;h3&amp;gt;Basic form&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;With v2.0, we have lighter and smarter defaults for form styles. No extra markup, just form controls.&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span9"&amp;gt;
+      &amp;lt;p&amp;gt;Smart and lightweight defaults without extra markup.&amp;lt;/p&amp;gt;
       &amp;lt;form class="well"&amp;gt;
         &amp;lt;label&amp;gt;Label name&amp;lt;/label&amp;gt;
-        &amp;lt;input type="text" class="span3" placeholder="Type something…"&amp;gt; &amp;lt;span class="help-inline"&amp;gt;Associated help text!&amp;lt;/span&amp;gt;
+        &amp;lt;input type="text" class="span3" placeholder="Type something…"&amp;gt;
         &amp;lt;p class="help-block"&amp;gt;Example block-level help text here.&amp;lt;/p&amp;gt;
         &amp;lt;label class="checkbox"&amp;gt;
           &amp;lt;input type="checkbox"&amp;gt; Check me out
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -892,39 +898,30 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;amp;lt;form class="well"&amp;amp;gt;
   &amp;amp;lt;label&amp;amp;gt;Label name&amp;amp;lt;/label&amp;amp;gt;
   &amp;amp;lt;input type="text" class="span3" placeholder="Type something…"&amp;amp;gt;
-  &amp;amp;lt;span class="help-inline"&amp;amp;gt;Associated help text!&amp;amp;lt;/span&amp;amp;gt;
+  &amp;amp;lt;span class="help-block"&amp;amp;gt;Example block-level help text here.&amp;amp;lt;/span&amp;amp;gt;
   &amp;amp;lt;label class="checkbox"&amp;amp;gt;
     &amp;amp;lt;input type="checkbox"&amp;amp;gt; Check me out
   &amp;amp;lt;/label&amp;amp;gt;
   &amp;amp;lt;button type="submit" class="btn"&amp;amp;gt;Submit&amp;amp;lt;/button&amp;amp;gt;
 &amp;amp;lt;/form&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
-    &amp;lt;/div&amp;gt;
-  &amp;lt;/div&amp;gt; &amp;lt;!-- /row --&amp;gt;
-  &amp;lt;div class="row"&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
-      &amp;lt;h3&amp;gt;Search form&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;Reflecting default WebKit styles, just add &amp;lt;code&amp;gt;.form-search&amp;lt;/code&amp;gt; for extra rounded search fields.&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span9"&amp;gt;
-      &amp;lt;form class="well form-search"&amp;gt;
-        &amp;lt;input type="text" class="input-medium search-query"&amp;gt;
-        &amp;lt;button type="submit" class="btn"&amp;gt;Search&amp;lt;/button&amp;gt;
-      &amp;lt;/form&amp;gt;
+  &amp;lt;/div&amp;gt;
+  &amp;lt;div class="span6"&amp;gt;
+    &amp;lt;h3&amp;gt;Search form&amp;lt;/h3&amp;gt;
+    &amp;lt;p&amp;gt;Add &amp;lt;code&amp;gt;.form-search&amp;lt;/code&amp;gt; to the form and &amp;lt;code&amp;gt;.search-query&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
+    &amp;lt;form class="well form-search"&amp;gt;
+      &amp;lt;input type="text" class="input-medium search-query"&amp;gt;
+      &amp;lt;button type="submit" class="btn"&amp;gt;Search&amp;lt;/button&amp;gt;
+    &amp;lt;/form&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;form class="well form-search"&amp;amp;gt;
   &amp;amp;lt;input type="text" class="input-medium search-query"&amp;amp;gt;
   &amp;amp;lt;button type="submit" class="btn"&amp;amp;gt;Search&amp;amp;lt;/button&amp;amp;gt;
 &amp;amp;lt;/form&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
-    &amp;lt;/div&amp;gt;
-  &amp;lt;/div&amp;gt; &amp;lt;!-- /row --&amp;gt;
-  &amp;lt;div class="row"&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
+
       &amp;lt;h3&amp;gt;Inline form&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;Inputs are block level to start. For &amp;lt;code&amp;gt;.form-inline&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.form-horizontal&amp;lt;/code&amp;gt;, we use inline-block.&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span9"&amp;gt;
+      &amp;lt;p&amp;gt;Add &amp;lt;code&amp;gt;.form-inline&amp;lt;/code&amp;gt; to finesse the vertical alignment and spacing of form controls.&amp;lt;/p&amp;gt;
       &amp;lt;form class="well form-inline"&amp;gt;
         &amp;lt;input type="text" class="input-small" placeholder="Email"&amp;gt;
         &amp;lt;input type="password" class="input-small" placeholder="Password"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -943,17 +940,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;amp;lt;button type="submit" class="btn"&amp;amp;gt;Sign in&amp;amp;lt;/button&amp;amp;gt;
 &amp;amp;lt;/form&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
-    &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /row --&amp;gt;
 
   &amp;lt;br&amp;gt;
 
   &amp;lt;h2&amp;gt;Horizontal forms&amp;lt;/h2&amp;gt;
   &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span4"&amp;gt;
+      &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;Shown on the right are all the default form controls we support. Here's the bulleted list:&amp;lt;/p&amp;gt;
+      &amp;lt;ul&amp;gt;
+        &amp;lt;li&amp;gt;text inputs (text, password, email, etc)&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;checkbox&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;radio&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;select&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;multiple select&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;file input&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;textarea&amp;lt;/li&amp;gt;
+      &amp;lt;/ul&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
     &amp;lt;div class="span8"&amp;gt;
       &amp;lt;form class="form-horizontal"&amp;gt;
         &amp;lt;fieldset&amp;gt;
-          &amp;lt;legend&amp;gt;Controls Bootstrap supports&amp;lt;/legend&amp;gt;
           &amp;lt;div class="control-group"&amp;gt;
             &amp;lt;label class="control-label" for="input01"&amp;gt;Text input&amp;lt;/label&amp;gt;
             &amp;lt;div class="controls"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1029,31 +1038,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;amp;lt;/form&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
     &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;h3&amp;gt;What's included&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;Shown on the left are all the default form controls we support. Here's the bulleted list:&amp;lt;/p&amp;gt;
-      &amp;lt;ul&amp;gt;
-        &amp;lt;li&amp;gt;text inputs (text, password, email, etc)&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;checkbox&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;radio&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;select&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;multiple select&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;file input&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;textarea&amp;lt;/li&amp;gt;
-      &amp;lt;/ul&amp;gt;
-      &amp;lt;hr&amp;gt;
-      &amp;lt;h3&amp;gt;New defaults with v2.0&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;Up to v1.4, Bootstrap's default form styles used the horizontal layout. With Bootstrap 2, we removed that constraint to have smarter, more scalable defaults for any form.&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;
 
   &amp;lt;br&amp;gt;
 
+  &amp;lt;h2&amp;gt;Form control states&amp;lt;/h2&amp;gt;
   &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span4"&amp;gt;
+      &amp;lt;p&amp;gt;Bootstrap features styles for browser-supported focused and &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt; states. We remove the default Webkit &amp;lt;code&amp;gt;outline&amp;lt;/code&amp;gt; and apply a &amp;lt;code&amp;gt;box-shadow&amp;lt;/code&amp;gt; in its place for &amp;lt;code&amp;gt;:focus&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h3&amp;gt;Form validation&amp;lt;/h3&amp;gt;
+      &amp;lt;p&amp;gt;It also includes validation styles for errors, warnings, and success. To use, add the error class to the surrounding &amp;lt;code&amp;gt;.control-group&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;
+&amp;amp;lt;fieldset
+  class="control-group error"&amp;amp;gt;
+  …
+&amp;amp;lt;/fieldset&amp;amp;gt;
+&amp;lt;/pre&amp;gt;
+    &amp;lt;/div&amp;gt;
     &amp;lt;div class="span8"&amp;gt;
       &amp;lt;form class="form-horizontal"&amp;gt;
         &amp;lt;fieldset&amp;gt;
-          &amp;lt;legend&amp;gt;Form control states&amp;lt;/legend&amp;gt;
           &amp;lt;div class="control-group"&amp;gt;
             &amp;lt;label class="control-label" for="focusedInput"&amp;gt;Focused input&amp;lt;/label&amp;gt;
             &amp;lt;div class="controls"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1122,28 +1127,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;/fieldset&amp;gt;
       &amp;lt;/form&amp;gt;
     &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;h3&amp;gt;Redesigned browser states&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;Bootstrap features styles for browser-supported focused and &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt; states. We remove the default Webkit &amp;lt;code&amp;gt;outline&amp;lt;/code&amp;gt; and apply a &amp;lt;code&amp;gt;box-shadow&amp;lt;/code&amp;gt; in its place for &amp;lt;code&amp;gt;:focus&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
-      &amp;lt;hr&amp;gt;
-      &amp;lt;h3&amp;gt;Form validation&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;It also includes validation styles for errors, warnings, and success. To use, add the error class to the surrounding &amp;lt;code&amp;gt;.control-group&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
-&amp;lt;pre class="prettyprint linenums"&amp;gt;
-&amp;amp;lt;fieldset
-  class="control-group error"&amp;amp;gt;
-  …
-&amp;amp;lt;/fieldset&amp;amp;gt;
-&amp;lt;/pre&amp;gt;
-    &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;
 
   &amp;lt;br&amp;gt;
 
+  &amp;lt;h2&amp;gt;Extending form controls&amp;lt;/h2&amp;gt;
   &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span4"&amp;gt;
+      &amp;lt;h3&amp;gt;Prepend &amp;amp;amp; append inputs&amp;lt;/h3&amp;gt;
+      &amp;lt;p&amp;gt;Input groups&amp;amp;mdash;with appended or prepended text&amp;amp;mdash;provide an easy way to give more context for your inputs. Great examples include the &amp;lt; at &amp;gt; sign for Twitter usernames or $ for finances.&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h3&amp;gt;Checkboxes and radios&amp;lt;/h3&amp;gt;
+      &amp;lt;p&amp;gt;Up to v1.4, Bootstrap required extra markup around checkboxes and radios to stack them. Now, it's a simple matter of repeating the &amp;lt;code&amp;gt;&amp;amp;lt;label class="checkbox"&amp;amp;gt;&amp;lt;/code&amp;gt; that wraps the &amp;lt;code&amp;gt;&amp;amp;lt;input type="checkbox"&amp;amp;gt;&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;Inline checkboxes and radios are also supported. Just add &amp;lt;code&amp;gt;.inline&amp;lt;/code&amp;gt; to any &amp;lt;code&amp;gt;.checkbox&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.radio&amp;lt;/code&amp;gt; and you're done.&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h4&amp;gt;Inline forms and append/prepend&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;To use prepend or append inputs in an inline form, be sure to place the &amp;lt;code&amp;gt;.add-on&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; on the same line, without spaces.&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h4&amp;gt;Form help text&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;To add help text for your form inputs, include inline help text with &amp;lt;code&amp;gt;&amp;amp;lt;span class="help-inline"&amp;amp;gt;&amp;lt;/code&amp;gt; or a help text block with &amp;lt;code&amp;gt;&amp;amp;lt;p class="help-block"&amp;amp;gt;&amp;lt;/code&amp;gt; after the input element.&amp;lt;/p&amp;gt;
+    &amp;lt;/div&amp;gt;
     &amp;lt;div class="span8"&amp;gt;
       &amp;lt;form class="form-horizontal"&amp;gt;
         &amp;lt;fieldset&amp;gt;
-          &amp;lt;legend&amp;gt;Extending form controls&amp;lt;/legend&amp;gt;
           &amp;lt;div class="control-group"&amp;gt;
             &amp;lt;label class="control-label"&amp;gt;Form grid sizes&amp;lt;/label&amp;gt;
             &amp;lt;div class="controls docs-input-sizes"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1210,10 +1216,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;/div&amp;gt;
           &amp;lt;/div&amp;gt;
           &amp;lt;div class="control-group"&amp;gt;
-            &amp;lt;label class="control-label" for="appendedPrependedInput"&amp;gt;Append with button&amp;lt;/label&amp;gt;
+            &amp;lt;label class="control-label" for="appendedInputButton"&amp;gt;Append with button&amp;lt;/label&amp;gt;
+            &amp;lt;div class="controls"&amp;gt;
+              &amp;lt;div class="input-append"&amp;gt;
+                &amp;lt;input class="span2" id="appendedInputButton" size="16" type="text"&amp;gt;&amp;lt;button class="btn" type="button"&amp;gt;Go!&amp;lt;/button&amp;gt;
+              &amp;lt;/div&amp;gt;
+            &amp;lt;/div&amp;gt;
+          &amp;lt;/div&amp;gt;
+          &amp;lt;div class="control-group"&amp;gt;
+            &amp;lt;label class="control-label" for="appendedInputButtons"&amp;gt;Two-button append&amp;lt;/label&amp;gt;
             &amp;lt;div class="controls"&amp;gt;
               &amp;lt;div class="input-append"&amp;gt;
-                &amp;lt;input class="span2" id="appendedPrependedInput" size="16" type="text"&amp;gt;&amp;lt;button class="btn" type="button"&amp;gt;Go!&amp;lt;/button&amp;gt;
+                &amp;lt;input class="span2" id="appendedInputButtons" size="16" type="text"&amp;gt;&amp;lt;button class="btn" type="button"&amp;gt;Search&amp;lt;/button&amp;gt;&amp;lt;button class="btn" type="button"&amp;gt;Options&amp;lt;/button&amp;gt;
               &amp;lt;/div&amp;gt;
             &amp;lt;/div&amp;gt;
           &amp;lt;/div&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1269,20 +1283,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;/fieldset&amp;gt;
       &amp;lt;/form&amp;gt;
     &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;h3&amp;gt;Prepend &amp;amp;amp; append inputs&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;Input groups&amp;amp;mdash;with appended or prepended text&amp;amp;mdash;provide an easy way to give more context for your inputs. Great examples include the &amp;lt; at &amp;gt; sign for Twitter usernames or $ for finances.&amp;lt;/p&amp;gt;
-      &amp;lt;hr&amp;gt;
-      &amp;lt;h3&amp;gt;Checkboxes and radios&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;Up to v1.4, Bootstrap required extra markup around checkboxes and radios to stack them. Now, it's a simple matter of repeating the &amp;lt;code&amp;gt;&amp;amp;lt;label class="checkbox"&amp;amp;gt;&amp;lt;/code&amp;gt; that wraps the &amp;lt;code&amp;gt;&amp;amp;lt;input type="checkbox"&amp;amp;gt;&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
-      &amp;lt;p&amp;gt;Inline checkboxes and radios are also supported. Just add &amp;lt;code&amp;gt;.inline&amp;lt;/code&amp;gt; to any &amp;lt;code&amp;gt;.checkbox&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.radio&amp;lt;/code&amp;gt; and you're done.&amp;lt;/p&amp;gt;
-      &amp;lt;hr&amp;gt;
-      &amp;lt;h4&amp;gt;Inline forms and append/prepend&amp;lt;/h4&amp;gt;
-      &amp;lt;p&amp;gt;To use prepend or append inputs in an inline form, be sure to place the &amp;lt;code&amp;gt;.add-on&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; on the same line, without spaces.&amp;lt;/p&amp;gt;
-      &amp;lt;hr&amp;gt;
-      &amp;lt;h4&amp;gt;Form help text&amp;lt;/h4&amp;gt;
-      &amp;lt;p&amp;gt;To add help text for your form inputs, include inline help text with &amp;lt;code&amp;gt;&amp;amp;lt;span class="help-inline"&amp;amp;gt;&amp;lt;/code&amp;gt; or a help text block with &amp;lt;code&amp;gt;&amp;amp;lt;p class="help-block"&amp;amp;gt;&amp;lt;/code&amp;gt; after the input element.&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /row --&amp;gt;
 &amp;lt;/section&amp;gt;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1316,7 +1316,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;button class="btn btn-info" href="#"&amp;gt;Info&amp;lt;/button&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;btn btn-info&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;Used as an alternate to the default styles&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;Used as an alternative to the default styles&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;button class="btn btn-success" href="#"&amp;gt;Success&amp;lt;/button&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1445,15 +1445,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-inbox"&amp;gt;&amp;lt;/i&amp;gt; icon-inbox&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-play-circle"&amp;gt;&amp;lt;/i&amp;gt; icon-play-circle&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-repeat"&amp;gt;&amp;lt;/i&amp;gt; icon-repeat&amp;lt;/li&amp;gt;
-      &amp;lt;/ul&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
-      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-refresh"&amp;gt;&amp;lt;/i&amp;gt; icon-refresh&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-list-alt"&amp;gt;&amp;lt;/i&amp;gt; icon-list-alt&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-lock"&amp;gt;&amp;lt;/i&amp;gt; icon-lock&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-flag"&amp;gt;&amp;lt;/i&amp;gt; icon-flag&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-headphones"&amp;gt;&amp;lt;/i&amp;gt; icon-headphones&amp;lt;/li&amp;gt;
+      &amp;lt;/ul&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span3"&amp;gt;
+      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-volume-off"&amp;gt;&amp;lt;/i&amp;gt; icon-volume-off&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-volume-down"&amp;gt;&amp;lt;/i&amp;gt; icon-volume-down&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-volume-up"&amp;gt;&amp;lt;/i&amp;gt; icon-volume-up&amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1479,10 +1479,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-indent-right"&amp;gt;&amp;lt;/i&amp;gt; icon-indent-right&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-facetime-video"&amp;gt;&amp;lt;/i&amp;gt; icon-facetime-video&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-picture"&amp;gt;&amp;lt;/i&amp;gt; icon-picture&amp;lt;/li&amp;gt;
-      &amp;lt;/ul&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
-      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-pencil"&amp;gt;&amp;lt;/i&amp;gt; icon-pencil&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-map-marker"&amp;gt;&amp;lt;/i&amp;gt; icon-map-marker&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-adjust"&amp;gt;&amp;lt;/i&amp;gt; icon-adjust&amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1493,6 +1489,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-move"&amp;gt;&amp;lt;/i&amp;gt; icon-move&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-step-backward"&amp;gt;&amp;lt;/i&amp;gt; icon-step-backward&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-fast-backward"&amp;gt;&amp;lt;/i&amp;gt; icon-fast-backward&amp;lt;/li&amp;gt;
+      &amp;lt;/ul&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span3"&amp;gt;
+      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-backward"&amp;gt;&amp;lt;/i&amp;gt; icon-backward&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-play"&amp;gt;&amp;lt;/i&amp;gt; icon-play&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-pause"&amp;gt;&amp;lt;/i&amp;gt; icon-pause&amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1513,10 +1513,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-remove-circle"&amp;gt;&amp;lt;/i&amp;gt; icon-remove-circle&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-ok-circle"&amp;gt;&amp;lt;/i&amp;gt; icon-ok-circle&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-ban-circle"&amp;gt;&amp;lt;/i&amp;gt; icon-ban-circle&amp;lt;/li&amp;gt;
-      &amp;lt;/ul&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
-      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-arrow-left"&amp;gt;&amp;lt;/i&amp;gt; icon-arrow-left&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-arrow-right"&amp;gt;&amp;lt;/i&amp;gt; icon-arrow-right&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-arrow-up"&amp;gt;&amp;lt;/i&amp;gt; icon-arrow-up&amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1532,6 +1528,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-leaf"&amp;gt;&amp;lt;/i&amp;gt; icon-leaf&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-fire"&amp;gt;&amp;lt;/i&amp;gt; icon-fire&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-eye-open"&amp;gt;&amp;lt;/i&amp;gt; icon-eye-open&amp;lt;/li&amp;gt;
+      &amp;lt;/ul&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span3"&amp;gt;
+      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-eye-close"&amp;gt;&amp;lt;/i&amp;gt; icon-eye-close&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-warning-sign"&amp;gt;&amp;lt;/i&amp;gt; icon-warning-sign&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-plane"&amp;gt;&amp;lt;/i&amp;gt; icon-plane&amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1547,6 +1547,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-folder-open"&amp;gt;&amp;lt;/i&amp;gt; icon-folder-open&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-resize-vertical"&amp;gt;&amp;lt;/i&amp;gt; icon-resize-vertical&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-resize-horizontal"&amp;gt;&amp;lt;/i&amp;gt; icon-resize-horizontal&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-hdd"&amp;gt;&amp;lt;/i&amp;gt; icon-hdd&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-bullhorn"&amp;gt;&amp;lt;/i&amp;gt; icon-bullhorn&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-bell"&amp;gt;&amp;lt;/i&amp;gt; icon-bell&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-certificate"&amp;gt;&amp;lt;/i&amp;gt; icon-certificate&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-thumbs-up"&amp;gt;&amp;lt;/i&amp;gt; icon-thumbs-up&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-thumbs-down"&amp;gt;&amp;lt;/i&amp;gt; icon-thumbs-down&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-hand-right"&amp;gt;&amp;lt;/i&amp;gt; icon-hand-right&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-hand-left"&amp;gt;&amp;lt;/i&amp;gt; icon-hand-left&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-hand-up"&amp;gt;&amp;lt;/i&amp;gt; icon-hand-up&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-hand-down"&amp;gt;&amp;lt;/i&amp;gt; icon-hand-down&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-circle-arrow-right"&amp;gt;&amp;lt;/i&amp;gt; icon-circle-arrow-right&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-circle-arrow-left"&amp;gt;&amp;lt;/i&amp;gt; icon-circle-arrow-left&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-circle-arrow-up"&amp;gt;&amp;lt;/i&amp;gt; icon-circle-arrow-up&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-circle-arrow-down"&amp;gt;&amp;lt;/i&amp;gt; icon-circle-arrow-down&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-globe"&amp;gt;&amp;lt;/i&amp;gt; icon-globe&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-wrench"&amp;gt;&amp;lt;/i&amp;gt; icon-wrench&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-tasks"&amp;gt;&amp;lt;/i&amp;gt; icon-tasks&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-filter"&amp;gt;&amp;lt;/i&amp;gt; icon-filter&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-briefcase"&amp;gt;&amp;lt;/i&amp;gt; icon-briefcase&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-fullscreen"&amp;gt;&amp;lt;/i&amp;gt; icon-fullscreen&amp;lt;/li&amp;gt;
       &amp;lt;/ul&amp;gt;
     &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1639,8 +1659,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           &amp;lt;label class="control-label" for="inputIcon"&amp;gt;Email address&amp;lt;/label&amp;gt;
           &amp;lt;div class="controls"&amp;gt;
             &amp;lt;div class="input-prepend"&amp;gt;
-              &amp;lt;span class="add-on"&amp;gt;&amp;lt;i class="icon-envelope"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;
-              &amp;lt;input class="span2" id="inputIcon" type="text"&amp;gt;
+              &amp;lt;span class="add-on"&amp;gt;&amp;lt;i class="icon-envelope"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;input class="span2" id="inputIcon" type="text"&amp;gt;
             &amp;lt;/div&amp;gt;
           &amp;lt;/div&amp;gt;
         &amp;lt;/div&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/build/index.js b/plone/app/toolbar/resources/lib/bootstrap/docs/build/index.js
new file mode 100644
index 0000000..41347e9
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/build/index.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,44 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+#!/usr/bin/env node
+var hogan = require('hogan.js')
+  , fs    = require('fs')
+  , prod  = process.argv[2] == 'production'
+  , title = 'Twitter Bootstrap'
+
+var layout, pages
+
+// compile layout template
+layout = fs.readFileSync(__dirname + '/../templates/layout.mustache', 'utf-8')
+layout = hogan.compile(layout, { sectionTags: [{o:'_i', c:'i'}] })
+
+// retrieve pages
+pages = fs.readdirSync(__dirname + '/../templates/pages')
+
+// iterate over pages
+pages.forEach(function (name) {
+
+  if (!name.match(/\.mustache$/)) return
+
+  var page = fs.readFileSync(__dirname  + '/../templates/pages/' + name, 'utf-8')
+    , context = {}
+
+  context[name.replace(/\.mustache$/, '')] = 'active'
+  context._i = true
+  context.production = prod
+  context.title = name
+    .replace(/\.mustache/, '')
+    .replace(/\-.*/, '')
+    .replace(/(.)/, function ($1) { return $1.toUpperCase() })
+
+  if (context.title == 'Index') {
+    context.title = title
+  } else {
+    context.title += ' · ' + title
+  }
+
+  page = hogan.compile(page, { sectionTags: [{o:'_i', c:'i'}] })
+  page = layout.render(context, {
+    body: page
+  })
+
+  fs.writeFileSync(__dirname + '/../' + name.replace(/mustache$/, 'html'), page, 'utf-8')
+})
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/build/package.json b/plone/app/toolbar/resources/lib/bootstrap/docs/build/package.json
new file mode 100644
index 0000000..97ab259
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/build/package.json
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+{
+  "name": "bootstrap-doc-builder"
+, "version": "0.0.1"
+, "description": "build bootstrap docs"
+, "dependencies": { "hogan.js": "1.0.5-dev" }
+}
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/components.html b/plone/app/toolbar/resources/lib/bootstrap/docs/components.html
index 10b2aec..1678e58 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/components.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/components.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,7 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;span class="icon-bar"&amp;gt;&amp;lt;/span&amp;gt;
           &amp;lt;/a&amp;gt;
           &amp;lt;a class="brand" href="./index.html"&amp;gt;Bootstrap&amp;lt;/a&amp;gt;
-          &amp;lt;div class="nav-collapse"&amp;gt;
+          &amp;lt;div class="nav-collapse collapse"&amp;gt;
             &amp;lt;ul class="nav"&amp;gt;
               &amp;lt;li class=""&amp;gt;
                 &amp;lt;a href="./index.html"&amp;gt;Overview&amp;lt;/a&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -421,7 +422,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;/div&amp;gt;&amp;lt;!-- /btn-group --&amp;gt;
       &amp;lt;/div&amp;gt;&amp;lt;!-- /btn-toolbar --&amp;gt;
       &amp;lt;h3&amp;gt;Sizes&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;Utilize the extra button classe &amp;lt;code&amp;gt;.btn-mini&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.btn-small&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;.btn-large&amp;lt;/code&amp;gt; for sizing.&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;Utilize the extra button classes &amp;lt;code&amp;gt;.btn-mini&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.btn-small&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;.btn-large&amp;lt;/code&amp;gt; for sizing.&amp;lt;/p&amp;gt;
       &amp;lt;div class="btn-toolbar"&amp;gt;
         &amp;lt;div class="btn-group"&amp;gt;
           &amp;lt;button class="btn btn-large"&amp;gt;Large action&amp;lt;/button&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -639,16 +640,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Separated link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
           &amp;lt;/ul&amp;gt;
         &amp;lt;/li&amp;gt;
-        &amp;lt;li class="dropdown"&amp;gt;
-          &amp;lt;a class="dropdown-toggle" data-toggle="dropdown" href="#"&amp;gt;Dropup &amp;lt;b class="caret bottom-up"&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;
-          &amp;lt;ul class="dropdown-menu bottom-up pull-right"&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Another action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Something else here&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li class="divider"&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Separated link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-          &amp;lt;/ul&amp;gt;
-        &amp;lt;/li&amp;gt;
       &amp;lt;/ul&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;ul class="nav nav-tabs"&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -681,16 +672,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Separated link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
           &amp;lt;/ul&amp;gt;
         &amp;lt;/li&amp;gt;
-        &amp;lt;li class="dropdown"&amp;gt;
-          &amp;lt;a class="dropdown-toggle" data-toggle="dropdown" href="#"&amp;gt;Dropup &amp;lt;b class="caret bottom-up"&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;
-          &amp;lt;ul class="dropdown-menu bottom-up pull-right"&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Another action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Something else here&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li class="divider"&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Separated link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-          &amp;lt;/ul&amp;gt;
-        &amp;lt;/li&amp;gt;
       &amp;lt;/ul&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;ul class="nav nav-pills"&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -798,54 +779,58 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;h3&amp;gt;What's included&amp;lt;/h3&amp;gt;
       &amp;lt;p&amp;gt;Bring your tabs to life with a simple plugin to toggle between content via tabs. Bootstrap integrates tabbable tabs in four styles: top (default), right, bottom, and left.&amp;lt;/p&amp;gt;
       &amp;lt;p&amp;gt;Changing between them is easy and only requires changing very little markup.&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h4&amp;gt;Fade in tabs&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;To make tabs fade in, add &amp;lt;code&amp;gt;.fade&amp;lt;/code&amp;gt; to each &amp;lt;code&amp;gt;.tab-pane&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h4&amp;gt;Requires jQuery plugin&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;All tabbable tabs are powered by our lightweight jQuery plugin. Read more about how to bring tabbable tabs to life &amp;lt;a href="./javascript.html#tabs"&amp;gt;on the javascript docs page&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;&amp;lt;a class="btn" href="./javascript.html#tabs"&amp;gt;Get the javascript &amp;amp;rarr;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span4"&amp;gt;
+    &amp;lt;div class="span8"&amp;gt;
       &amp;lt;h3&amp;gt;Tabbable example&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;To make tabs tabbable, wrap the &amp;lt;code&amp;gt;.nav-tabs&amp;lt;/code&amp;gt; in another div with class &amp;lt;code&amp;gt;.tabbable&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
-      &amp;lt;div class="tabbable" style="margin-bottom: 9px;"&amp;gt;
+      &amp;lt;p&amp;gt;To make tabs tabbable, create a &amp;lt;code&amp;gt;.tab-pane&amp;lt;/code&amp;gt; with unique ID for every tab and wrap them in &amp;lt;code&amp;gt;.tab-content&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
+      &amp;lt;div class="tabbable" style="margin-bottom: 18px;"&amp;gt;
         &amp;lt;ul class="nav nav-tabs"&amp;gt;
-          &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#1" data-toggle="tab"&amp;gt;Section 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-          &amp;lt;li&amp;gt;&amp;lt;a href="#2" data-toggle="tab"&amp;gt;Section 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-          &amp;lt;li&amp;gt;&amp;lt;a href="#3" data-toggle="tab"&amp;gt;Section 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#tab1" data-toggle="tab"&amp;gt;Section 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;&amp;lt;a href="#tab2" data-toggle="tab"&amp;gt;Section 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;&amp;lt;a href="#tab3" data-toggle="tab"&amp;gt;Section 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
         &amp;lt;/ul&amp;gt;
-        &amp;lt;div class="tab-content"&amp;gt;
-          &amp;lt;div class="tab-pane active" id="1"&amp;gt;
+        &amp;lt;div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;"&amp;gt;
+          &amp;lt;div class="tab-pane active" id="tab1"&amp;gt;
             &amp;lt;p&amp;gt;I'm in Section 1.&amp;lt;/p&amp;gt;
           &amp;lt;/div&amp;gt;
-          &amp;lt;div class="tab-pane" id="2"&amp;gt;
+          &amp;lt;div class="tab-pane" id="tab2"&amp;gt;
             &amp;lt;p&amp;gt;Howdy, I'm in Section 2.&amp;lt;/p&amp;gt;
           &amp;lt;/div&amp;gt;
-          &amp;lt;div class="tab-pane" id="3"&amp;gt;
+          &amp;lt;div class="tab-pane" id="tab3"&amp;gt;
             &amp;lt;p&amp;gt;What up girl, this is Section 3.&amp;lt;/p&amp;gt;
           &amp;lt;/div&amp;gt;
         &amp;lt;/div&amp;gt;
       &amp;lt;/div&amp;gt; &amp;lt;!-- /tabbable --&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;h3&amp;gt;Custom jQuery plugin&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;All tabbable tabs are powered by our lightweight jQuery plugin. Read more about how to bring tabbable tabs to life on the javascript docs page.&amp;lt;/p&amp;gt;
-      &amp;lt;p&amp;gt;&amp;lt;a class="btn" href="./javascript.html#tabs"&amp;gt;Get the javascript &amp;amp;rarr;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
-  &amp;lt;/div&amp;gt;
+      &amp;lt;p&amp;gt;For right or left aligned tabs, wrap the &amp;lt;code&amp;gt;.nav-tabs&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.tab-content&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;.tabbable&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
 
-  &amp;lt;h3&amp;gt;Straightforward markup&amp;lt;/h3&amp;gt;
-  &amp;lt;p&amp;gt;Using tabbable tabs requires a wrapping div, a set of tabs, and a set of tabbable panes of content.&amp;lt;/p&amp;gt;
+      &amp;lt;h3&amp;gt;Straightforward markup&amp;lt;/h3&amp;gt;
+      &amp;lt;p&amp;gt;Using tabbable tabs requires a wrapping div, a set of tabs, and a set of tabbable panes of content.&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
-&amp;amp;lt;div class="tabbable"&amp;amp;gt;
+&amp;amp;lt;div class="tabbable"&amp;amp;gt; &amp;amp;lt;-- Only required for left/right tabs --&amp;amp;gt;
   &amp;amp;lt;ul class="nav nav-tabs"&amp;amp;gt;
-    &amp;amp;lt;li class="active"&amp;amp;gt;&amp;amp;lt;a href="#1" data-toggle="tab"&amp;amp;gt;Section 1&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
-    &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href="#2" data-toggle="tab"&amp;amp;gt;Section 2&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
+    &amp;amp;lt;li class="active"&amp;amp;gt;&amp;amp;lt;a href="#tab1" data-toggle="tab"&amp;amp;gt;Section 1&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
+    &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href="#tab2" data-toggle="tab"&amp;amp;gt;Section 2&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
   &amp;amp;lt;/ul&amp;amp;gt;
   &amp;amp;lt;div class="tab-content"&amp;amp;gt;
-    &amp;amp;lt;div class="tab-pane active" id="1"&amp;amp;gt;
+    &amp;amp;lt;div class="tab-pane active" id="tab1"&amp;amp;gt;
       &amp;amp;lt;p&amp;amp;gt;I'm in Section 1.&amp;amp;lt;/p&amp;amp;gt;
     &amp;amp;lt;/div&amp;amp;gt;
-    &amp;amp;lt;div class="tab-pane" id="2"&amp;amp;gt;
+    &amp;amp;lt;div class="tab-pane" id="tab2"&amp;amp;gt;
       &amp;amp;lt;p&amp;amp;gt;Howdy, I'm in Section 2.&amp;amp;lt;/p&amp;amp;gt;
     &amp;amp;lt;/div&amp;amp;gt;
   &amp;amp;lt;/div&amp;amp;gt;
 &amp;amp;lt;/div&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
+    &amp;lt;/div&amp;gt;
+  &amp;lt;/div&amp;gt;
+
 
   &amp;lt;h3&amp;gt;Tabbable in any direction&amp;lt;/h3&amp;gt;
   &amp;lt;div class="row"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1040,7 +1025,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/pre&amp;gt;
         &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
       &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
-      &amp;lt;p&amp;gt;When you affix the navbar, remember to account for the hidden area underneath. Add 40px or more of apdding to the &amp;lt;code&amp;gt;&amp;amp;lt;body&amp;amp;gt;&amp;lt;/code&amp;gt;. Be sure to add this after the core Bootstrap CSS and before the optional responsive CSS.&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;When you affix the navbar, remember to account for the hidden area underneath. Add 40px or more of padding to the &amp;lt;code&amp;gt;&amp;amp;lt;body&amp;amp;gt;&amp;lt;/code&amp;gt;. Be sure to add this after the core Bootstrap CSS and before the optional responsive CSS.&amp;lt;/p&amp;gt;
       &amp;lt;h3&amp;gt;Brand name&amp;lt;/h3&amp;gt;
       &amp;lt;p&amp;gt;A simple link to show your brand or project name only requires an anchor tag.&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1055,7 +1040,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;amp;lt;input type="text" class="span2"&amp;amp;gt;
 &amp;amp;lt;/form&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
-      &amp;lt;p&amp;gt;For a more customized search form, add the &amp;lt;code&amp;gt;.navbar-search&amp;lt;/code&amp;gt; class to receive specialized styles in the navbar.&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;For a more customized search form, add &amp;lt;code&amp;gt;.navbar-search&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.search-query&amp;lt;/code&amp;gt; to the input for specialized styles in the navbar.&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;form class="navbar-search pull-left"&amp;amp;gt;
   &amp;amp;lt;input type="text" class="search-query" placeholder="Search"&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1088,7 +1073,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;amp;lt;/div&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
       &amp;lt;div class="alert alert-info"&amp;gt;
-        &amp;lt;strong&amp;gt;Heads up!&amp;lt;/strong&amp;gt; The responsive navbar requires the &amp;lt;a href="./javascript.html#collapse"&amp;gt;collapse plugin&amp;lt;/a&amp;gt;.
+        &amp;lt;strong&amp;gt;Heads up!&amp;lt;/strong&amp;gt; The responsive navbar requires the &amp;lt;a href="./javascript.html#collapse"&amp;gt;collapse plugin&amp;lt;/a&amp;gt; and &amp;lt;a href="./scaffolding.html#responsive"&amp;gt;responsive Bootstrap CSS file&amp;lt;/a&amp;gt;.
       &amp;lt;/div&amp;gt;
 
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1115,7 +1100,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;h3&amp;gt;Component alignment&amp;lt;/h3&amp;gt;
       &amp;lt;p&amp;gt;To align a nav, search form, or text, use the &amp;lt;code&amp;gt;.pull-left&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.pull-right&amp;lt;/code&amp;gt; utility classes. Both classes will add a CSS float in the specified direction.&amp;lt;/p&amp;gt;
       &amp;lt;h3&amp;gt;Adding dropdown menus&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;Adding dropdowns and dropups to the nav is super simple, but does require the use of &amp;lt;a href="./javascript.html/#dropdown"&amp;gt;our javascript plugin&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;Adding dropdowns and dropups to the nav is super simple, but does require the use of &amp;lt;a href="./javascript.html#dropdowns"&amp;gt;our javascript plugin&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;ul class="nav"&amp;amp;gt;
   &amp;amp;lt;li class="dropdown"&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1134,7 +1119,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;p&amp;gt;&amp;lt;a class="btn" href="./javascript.html#dropdowns"&amp;gt;Get the javascript &amp;amp;rarr;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
       &amp;lt;hr&amp;gt;
       &amp;lt;h3&amp;gt;Text in the navbar&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;Wrap strings of text in a &amp;lt;code&amp;gt;&amp;amp;lt;p&amp;amp;gt;&amp;lt;/code&amp;gt; tag for proper leading and color.&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;Wrap strings of text in a &amp;lt;code&amp;gt;&amp;amp;lt;.navbar-text&amp;amp;gt;&amp;lt;/code&amp;gt;, usually on a &amp;lt;code&amp;gt;&amp;amp;lt;p&amp;amp;gt;&amp;lt;/code&amp;gt; tag for proper leading and color.&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /.row --&amp;gt;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1231,11 +1216,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;/div&amp;gt;
       &amp;lt;div class="pagination"&amp;gt;
         &amp;lt;ul&amp;gt;
-          &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;&amp;amp;larr;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;&amp;amp;laquo;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
           &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#"&amp;gt;10&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
           &amp;lt;li class="disabled"&amp;gt;&amp;lt;a href="#"&amp;gt;...&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
           &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;20&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-          &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;&amp;amp;rarr;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;&amp;amp;raquo;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
         &amp;lt;/ul&amp;gt;
       &amp;lt;/div&amp;gt;
       &amp;lt;div class="pagination pagination-centered"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1442,13 +1427,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
             &amp;lt;td&amp;gt;
-              Error
+              Important
             &amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;
-              &amp;lt;span class="badge badge-error"&amp;gt;6&amp;lt;/span&amp;gt;
+              &amp;lt;span class="badge badge-important"&amp;gt;6&amp;lt;/span&amp;gt;
             &amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;
-              &amp;lt;code&amp;gt;&amp;amp;lt;span class="badge badge-error"&amp;amp;gt;6&amp;amp;lt;/span&amp;amp;gt;&amp;lt;/code&amp;gt;
+              &amp;lt;code&amp;gt;&amp;amp;lt;span class="badge badge-important"&amp;amp;gt;6&amp;amp;lt;/span&amp;amp;gt;&amp;lt;/code&amp;gt;
             &amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1516,7 +1501,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;lt;h2&amp;gt;Page header&amp;lt;/h2&amp;gt;
   &amp;lt;div class="row"&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;p&amp;gt;A simple shell for an &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt; to appropratiely space out and segment sections of content on a page. It can utilize the &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt;'s default &amp;lt;code&amp;gt;small&amp;lt;/code&amp;gt;, element as well most other components (with additional styles).&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;A simple shell for an &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt; to appropriately space out and segment sections of content on a page. It can utilize the &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt;'s default &amp;lt;code&amp;gt;small&amp;lt;/code&amp;gt;, element as well most other components (with additional styles).&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;
     &amp;lt;div class="span8"&amp;gt;
       &amp;lt;div class="page-header"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1703,24 +1688,25 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;h3&amp;gt;Example alerts&amp;lt;/h3&amp;gt;
       &amp;lt;p&amp;gt;Wrap your message and an optional close icon in a div with simple class.&amp;lt;/p&amp;gt;
       &amp;lt;div class="alert"&amp;gt;
-        &amp;lt;a class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+        &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
         &amp;lt;strong&amp;gt;Warning!&amp;lt;/strong&amp;gt; Best check yo self, you're not looking too good.
       &amp;lt;/div&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;div class="alert"&amp;amp;gt;
-  &amp;amp;lt;a class="close" data-dismiss="alert"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;
+  &amp;amp;lt;button class="close" data-dismiss="alert"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/button&amp;amp;gt;
   &amp;amp;lt;strong&amp;amp;gt;Warning!&amp;amp;lt;/strong&amp;amp;gt; Best check yo self, you're not looking too good.
 &amp;amp;lt;/div&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
+      &amp;lt;p&amp;gt;&amp;lt;span class="label label-info"&amp;gt;Heads up!&amp;lt;/span&amp;gt; iOS devices require an &amp;lt;code&amp;gt;href="#"&amp;lt;/code&amp;gt; for the dismissal of alerts. Be sure to include it and the data attribute for anchor close icons. Alternatively, you may use a &amp;lt;code&amp;gt;button&amp;lt;/code&amp;gt; element with the data attribute, which we have opted to do for our docs.&amp;lt;/p&amp;gt;
       &amp;lt;p&amp;gt;Easily extend the standard alert message with two optional classes: &amp;lt;code&amp;gt;.alert-block&amp;lt;/code&amp;gt; for more padding and text controls and &amp;lt;code&amp;gt;.alert-heading&amp;lt;/code&amp;gt; for a matching heading.&amp;lt;/p&amp;gt;
       &amp;lt;div class="alert alert-block"&amp;gt;
-        &amp;lt;a class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+        &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
         &amp;lt;h4 class="alert-heading"&amp;gt;Warning!&amp;lt;/h4&amp;gt;
         &amp;lt;p&amp;gt;Best check yo self, you're not looking too good. Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.&amp;lt;/p&amp;gt;
       &amp;lt;/div&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;div class="alert alert-block"&amp;amp;gt;
-  &amp;amp;lt;a class="close" data-dismiss="alert"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;
+  &amp;amp;lt;a class="close" data-dismiss="alert" href="#"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;
   &amp;amp;lt;h4 class="alert-heading"&amp;amp;gt;Warning!&amp;amp;lt;/h4&amp;amp;gt;
   Best check yo self, you're not...
 &amp;amp;lt;/div&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1733,7 +1719,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 class="alert-heading"&amp;gt;Warning!&amp;lt;/h4&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h3&amp;gt;Error or danger&amp;lt;/h3&amp;gt;
       &amp;lt;div class="alert alert-error"&amp;gt;
-        &amp;lt;a class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+        &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
         &amp;lt;strong&amp;gt;Oh snap!&amp;lt;/strong&amp;gt; Change a few things up and try submitting again.
       &amp;lt;/div&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1745,7 +1731,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 class="alert-heading"&amp;gt;Warning!&amp;lt;/h4&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h3&amp;gt;Success&amp;lt;/h3&amp;gt;
       &amp;lt;div class="alert alert-success"&amp;gt;
-        &amp;lt;a class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+        &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
         &amp;lt;strong&amp;gt;Well done!&amp;lt;/strong&amp;gt; You successfully read this important alert message.
       &amp;lt;/div&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1757,7 +1743,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 class="alert-heading"&amp;gt;Warning!&amp;lt;/h4&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h3&amp;gt;Information&amp;lt;/h3&amp;gt;
       &amp;lt;div class="alert alert-info"&amp;gt;
-        &amp;lt;a class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+        &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
         &amp;lt;strong&amp;gt;Heads up!&amp;lt;/strong&amp;gt; This alert needs your attention, but it's not super important.
       &amp;lt;/div&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1897,8 +1883,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 class="alert-heading"&amp;gt;Warning!&amp;lt;/h4&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h2&amp;gt;Close icon&amp;lt;/h2&amp;gt;
       &amp;lt;p&amp;gt;Use the generic close icon for dismissing content like modals and alerts.&amp;lt;/p&amp;gt;
-      &amp;lt;p&amp;gt;&amp;lt;a class="close" style="float: none;"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
-&amp;lt;pre class="prettyprint linenums"&amp;gt;&amp;amp;lt;a class="close"&amp;amp;gt;&amp;amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;&amp;lt;/pre&amp;gt;
+      &amp;lt;p&amp;gt;&amp;lt;button class="close" style="float: none;"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;&amp;amp;lt;button class="close"&amp;amp;gt;&amp;amp;amp;times;&amp;amp;lt;/button&amp;amp;gt;&amp;lt;/pre&amp;gt;
+      &amp;lt;p&amp;gt;iOS devices require an href="#" for click events if you rather use an anchor.&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;&amp;amp;lt;a class="close" href="#"&amp;amp;gt;&amp;amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;&amp;lt;/pre&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
 &amp;lt;/section&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/download.html b/plone/app/toolbar/resources/lib/bootstrap/docs/download.html
index 6aa1130..8b4a385 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/download.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/download.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,7 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;span class="icon-bar"&amp;gt;&amp;lt;/span&amp;gt;
           &amp;lt;/a&amp;gt;
           &amp;lt;a class="brand" href="./index.html"&amp;gt;Bootstrap&amp;lt;/a&amp;gt;
-          &amp;lt;div class="nav-collapse"&amp;gt;
+          &amp;lt;div class="nav-collapse collapse"&amp;gt;
             &amp;lt;ul class="nav"&amp;gt;
               &amp;lt;li class=""&amp;gt;
                 &amp;lt;a href="./index.html"&amp;gt;Overview&amp;lt;/a&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -107,8 +108,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;h3&amp;gt;Base CSS&amp;lt;/h3&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="type.less"&amp;gt; Headings, body, etc&amp;lt;/label&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="code.less"&amp;gt; Code and pre&amp;lt;/label&amp;gt;
-      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="labels.less"&amp;gt; Labels&amp;lt;/label&amp;gt;
-      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="badges.less"&amp;gt; Badges&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="labels-badges.less"&amp;gt; Labels and badges&amp;lt;/label&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="tables.less"&amp;gt; Tables&amp;lt;/label&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="forms.less"&amp;gt; Forms&amp;lt;/label&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="buttons.less"&amp;gt; Buttons&amp;lt;/label&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -143,7 +143,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="utilities.less"&amp;gt; Utilities&amp;lt;/label&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="component-animations.less"&amp;gt; Component animations&amp;lt;/label&amp;gt;
       &amp;lt;h3&amp;gt;Responsive&amp;lt;/h3&amp;gt;
-      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive.less"&amp;gt; Responsive layouts&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive-utilities.less"&amp;gt; Visible/hidden classes&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive-767px-max.less"&amp;gt; Narrow tablets and below (&amp;lt;767px)&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive-768px-979px.less"&amp;gt; Tablets to desktops (767-979px)&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive-1200px-min.less"&amp;gt; Large desktops (&amp;gt;1200px)&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive-navbar.less"&amp;gt; Responsive navbar&amp;lt;/label&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /row --&amp;gt;
 &amp;lt;/section&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -276,14 +280,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 class="muted"&amp;gt;Heads up!&amp;lt;/h4&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="2.127659574%"&amp;gt;
 
       &amp;lt;h3&amp;gt;Typography&amp;lt;/h3&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;sansFontFamily&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif"&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;serifFontFamily&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="Georgia, 'Times New Roman', Times, serif"&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;monoFontFamily&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="Menlo, Monaco, 'Courier New', monospace"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;baseFontSize&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="13px"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;baseFontFamily&amp;lt;/label&amp;gt;
-      &amp;lt;input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif"&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;sansFontFamily"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;baseLineHeight&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="18px"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;altFontFamily&amp;lt;/label&amp;gt;
-      &amp;lt;input type="text" class="span3" placeholder="Georgia, 'Times New Roman', Times, serif;"&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;serifFontFamily"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;headingsFontFamily&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="inherit"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;headingsFontWeight&amp;lt;/label&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -317,6 +327,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 class="muted"&amp;gt;Heads up!&amp;lt;/h4&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;grayDark"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;navbarText&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;grayLight"&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;navbarBrandColor&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;navbarLinkColor"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;navbarLinkColor&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;grayLight"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;navbarLinkColorHover&amp;lt;/label&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -356,8 +368,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 class="muted"&amp;gt;Heads up!&amp;lt;/h4&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;white"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;inputBorder&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="#ccc"&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;inputBorderRadius&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="3px"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;inputDisabledBackground&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;grayLighter"&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;formActionsBackground&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="#f5f5f5"&amp;gt;
 
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;btnPrimaryBackground&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;linkColor"&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/examples.html b/plone/app/toolbar/resources/lib/bootstrap/docs/examples.html
index 947f635..7872a39 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/examples.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/examples.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,7 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;span class="icon-bar"&amp;gt;&amp;lt;/span&amp;gt;
           &amp;lt;/a&amp;gt;
           &amp;lt;a class="brand" href="./index.html"&amp;gt;Bootstrap&amp;lt;/a&amp;gt;
-          &amp;lt;div class="nav-collapse"&amp;gt;
+          &amp;lt;div class="nav-collapse collapse"&amp;gt;
             &amp;lt;ul class="nav"&amp;gt;
               &amp;lt;li class=""&amp;gt;
                 &amp;lt;a href="./index.html"&amp;gt;Overview&amp;lt;/a&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/examples/fluid.html b/plone/app/toolbar/resources/lib/bootstrap/docs/examples/fluid.html
index e3426c7..f235d76 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/examples/fluid.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/examples/fluid.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -27,6 +27,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="../assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -43,13 +44,23 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;span class="icon-bar"&amp;gt;&amp;lt;/span&amp;gt;
           &amp;lt;/a&amp;gt;
           &amp;lt;a class="brand" href="#"&amp;gt;Project name&amp;lt;/a&amp;gt;
+          &amp;lt;div class="btn-group pull-right"&amp;gt;
+            &amp;lt;a class="btn dropdown-toggle" data-toggle="dropdown" href="#"&amp;gt;
+              &amp;lt;i class="icon-user"&amp;gt;&amp;lt;/i&amp;gt; Username
+              &amp;lt;span class="caret"&amp;gt;&amp;lt;/span&amp;gt;
+            &amp;lt;/a&amp;gt;
+            &amp;lt;ul class="dropdown-menu"&amp;gt;
+              &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Profile&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+              &amp;lt;li class="divider"&amp;gt;&amp;lt;/li&amp;gt;
+              &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Sign Out&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+            &amp;lt;/ul&amp;gt;
+          &amp;lt;/div&amp;gt;
           &amp;lt;div class="nav-collapse"&amp;gt;
             &amp;lt;ul class="nav"&amp;gt;
               &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#"&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
               &amp;lt;li&amp;gt;&amp;lt;a href="#about"&amp;gt;About&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
               &amp;lt;li&amp;gt;&amp;lt;a href="#contact"&amp;gt;Contact&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
             &amp;lt;/ul&amp;gt;
-            &amp;lt;p class="navbar-text pull-right"&amp;gt;Logged in as &amp;lt;a href="#"&amp;gt;username&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
           &amp;lt;/div&amp;gt;&amp;lt;!--/.nav-collapse --&amp;gt;
         &amp;lt;/div&amp;gt;
       &amp;lt;/div&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/examples/hero.html b/plone/app/toolbar/resources/lib/bootstrap/docs/examples/hero.html
index 2267a5f..7fb3f67 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/examples/hero.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/examples/hero.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -24,6 +24,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="../assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/examples/starter-template.html b/plone/app/toolbar/resources/lib/bootstrap/docs/examples/starter-template.html
index af27165..538ff08 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/examples/starter-template.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/examples/starter-template.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -23,6 +23,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="../assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/index.html b/plone/app/toolbar/resources/lib/bootstrap/docs/index.html
index 2dba90a..19e6a67 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/index.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/index.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,7 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;span class="icon-bar"&amp;gt;&amp;lt;/span&amp;gt;
           &amp;lt;/a&amp;gt;
           &amp;lt;a class="brand" href="./index.html"&amp;gt;Bootstrap&amp;lt;/a&amp;gt;
-          &amp;lt;div class="nav-collapse"&amp;gt;
+          &amp;lt;div class="nav-collapse collapse"&amp;gt;
             &amp;lt;ul class="nav"&amp;gt;
               &amp;lt;li class="active"&amp;gt;
                 &amp;lt;a href="./index.html"&amp;gt;Overview&amp;lt;/a&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -82,7 +83,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;p&amp;gt;Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.&amp;lt;/p&amp;gt;
     &amp;lt;p class="download-info"&amp;gt;
       &amp;lt;a href="https://github.com/twitter/bootstrap/" class="btn btn-primary btn-large"&amp;gt;View project on GitHub&amp;lt;/a&amp;gt;
-      &amp;lt;a href="assets/bootstrap.zip" class="btn btn-large"&amp;gt;Download Bootstrap &amp;lt;small&amp;gt;(v2.0.2)&amp;lt;/small&amp;gt;&amp;lt;/a&amp;gt;
+      &amp;lt;a href="assets/bootstrap.zip" class="btn btn-large"&amp;gt;Download Bootstrap &amp;lt;small&amp;gt;(v2.0.3)&amp;lt;/small&amp;gt;&amp;lt;/a&amp;gt;
     &amp;lt;/p&amp;gt;
   &amp;lt;/div&amp;gt;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -90,6 +91,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;ul class="quick-links"&amp;gt;
       &amp;lt;li&amp;gt;&amp;lt;a href="./upgrading.html"&amp;gt;Upgrading from 1.4&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
       &amp;lt;li&amp;gt;&amp;lt;a href="https://github.com/twitter/bootstrap/zipball/master"&amp;gt;Download with docs&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+      &amp;lt;li&amp;gt;&amp;lt;a href="http://blog.getbootstrap.com"&amp;gt;Read the blog&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
       &amp;lt;li&amp;gt;&amp;lt;a href="https://github.com/twitter/bootstrap/issues?state=open"&amp;gt;Submit issues&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
       &amp;lt;li&amp;gt;&amp;lt;a href="https://github.com/twitter/bootstrap/wiki"&amp;gt;Roadmap and changelog&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
     &amp;lt;/ul&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/javascript.html b/plone/app/toolbar/resources/lib/bootstrap/docs/javascript.html
index a905627..7ad42ae 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/javascript.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/javascript.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,7 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;span class="icon-bar"&amp;gt;&amp;lt;/span&amp;gt;
           &amp;lt;/a&amp;gt;
           &amp;lt;a class="brand" href="./index.html"&amp;gt;Bootstrap&amp;lt;/a&amp;gt;
-          &amp;lt;div class="nav-collapse"&amp;gt;
+          &amp;lt;div class="nav-collapse collapse"&amp;gt;
             &amp;lt;ul class="nav"&amp;gt;
               &amp;lt;li class=""&amp;gt;
                 &amp;lt;a href="./index.html"&amp;gt;Overview&amp;lt;/a&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -205,9 +206,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           &amp;lt;h2&amp;gt;Static example&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;Below is a statically rendered modal.&amp;lt;/p&amp;gt;
           &amp;lt;div class="well modal-example" style="background-color: #888; border: none;"&amp;gt;
-            &amp;lt;div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1"&amp;gt;
+            &amp;lt;div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1; max-width: 100%;"&amp;gt;
               &amp;lt;div class="modal-header"&amp;gt;
-                &amp;lt;a href="#" class="close" data-dismiss="modal"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+                &amp;lt;button class="close" data-dismiss="modal"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
                 &amp;lt;h3&amp;gt;Modal header&amp;lt;/h3&amp;gt;
               &amp;lt;/div&amp;gt;
               &amp;lt;div class="modal-body"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -225,7 +226,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           &amp;lt;!-- sample modal content --&amp;gt;
           &amp;lt;div id="myModal" class="modal hide fade"&amp;gt;
             &amp;lt;div class="modal-header"&amp;gt;
-              &amp;lt;a class="close" data-dismiss="modal" &amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+              &amp;lt;button class="close" data-dismiss="modal"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
               &amp;lt;h3&amp;gt;Modal Heading&amp;lt;/h3&amp;gt;
             &amp;lt;/div&amp;gt;
             &amp;lt;div class="modal-body"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -302,7 +303,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;div class="modal" id="myModal"&amp;amp;gt;
   &amp;amp;lt;div class="modal-header"&amp;amp;gt;
-    &amp;amp;lt;a class="close" data-dismiss="modal"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;
+    &amp;amp;lt;button class="close" data-dismiss="modal"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/button&amp;amp;gt;
     &amp;amp;lt;h3&amp;amp;gt;Modal header&amp;amp;lt;/h3&amp;amp;gt;
   &amp;amp;lt;/div&amp;amp;gt;
   &amp;amp;lt;div class="modal-body"&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -492,6 +493,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;amp;lt;/li&amp;amp;gt;
   ...
 &amp;amp;lt;/ul&amp;amp;gt;&amp;lt;/pre&amp;gt;
+          &amp;lt;p&amp;gt;To keep URLs intact, use the &amp;lt;code&amp;gt;data-target&amp;lt;/code&amp;gt; attribute instead of &amp;lt;code&amp;gt;href="#"&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;
+&amp;amp;lt;ul class="nav nav-pills"&amp;amp;gt;
+  &amp;amp;lt;li class="dropdown"&amp;amp;gt;
+    &amp;amp;lt;a class="dropdown-toggle" data-toggle="dropdown" data-target="#" href="path/to/page.html"&amp;amp;gt;
+      Dropdown
+      &amp;amp;lt;b class="caret"&amp;amp;gt;&amp;amp;lt;/b&amp;amp;gt;
+    &amp;amp;lt;/a&amp;amp;gt;
+    &amp;amp;lt;ul class="dropdown-menu"&amp;amp;gt;
+      ...
+    &amp;amp;lt;/ul&amp;amp;gt;
+  &amp;amp;lt;/li&amp;amp;gt;
+&amp;amp;lt;/ul&amp;amp;gt;
+&amp;lt;/pre&amp;gt;
           &amp;lt;h3&amp;gt;Methods&amp;lt;/h3&amp;gt;
           &amp;lt;h4&amp;gt;$().dropdown()&amp;lt;/h4&amp;gt;
           &amp;lt;p&amp;gt;A programatic api for activating menus for a given navbar or tabbed navigation.&amp;lt;/p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -570,6 +585,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 id="three"&amp;gt;three&amp;lt;/h4&amp;gt;
             &amp;lt;strong&amp;gt;Heads up!&amp;lt;/strong&amp;gt;
             Navbar links must have resolvable id targets. For example, a &amp;lt;code&amp;gt;&amp;amp;lt;a href="#home"&amp;amp;gt;home&amp;amp;lt;/a&amp;amp;gt;&amp;lt;/code&amp;gt; must correspond to something in the dom like &amp;lt;code&amp;gt;&amp;amp;lt;div id="home"&amp;amp;gt;&amp;amp;lt;/div&amp;amp;gt;&amp;lt;/code&amp;gt;.
           &amp;lt;/div&amp;gt;
+          &amp;lt;h3&amp;gt;Methods&amp;lt;/h3&amp;gt;
+          &amp;lt;h4&amp;gt;.scrollspy('refresh')&amp;lt;/h4&amp;gt;
+          &amp;lt;p&amp;gt;When using scrollspy in conjunction with adding or removing of elements from the DOM, you'll need to call the refresh method like so:&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;
+$('[data-spy="scroll"]').each(function () {
+  var $spy = $(this).scrollspy('refresh')
+});
+&amp;lt;/pre&amp;gt;
           &amp;lt;h3&amp;gt;Options&amp;lt;/h3&amp;gt;
           &amp;lt;table class="table table-bordered table-striped"&amp;gt;
             &amp;lt;thead&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -589,6 +612,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 id="three"&amp;gt;three&amp;lt;/h4&amp;gt;
              &amp;lt;/tr&amp;gt;
             &amp;lt;/tbody&amp;gt;
           &amp;lt;/table&amp;gt;
+           &amp;lt;h3&amp;gt;Events&amp;lt;/h3&amp;gt;
+          &amp;lt;table class="table table-bordered table-striped"&amp;gt;
+            &amp;lt;thead&amp;gt;
+             &amp;lt;tr&amp;gt;
+               &amp;lt;th style="width: 150px;"&amp;gt;Event&amp;lt;/th&amp;gt;
+               &amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;
+             &amp;lt;/tr&amp;gt;
+            &amp;lt;/thead&amp;gt;
+            &amp;lt;tbody&amp;gt;
+             &amp;lt;tr&amp;gt;
+               &amp;lt;td&amp;gt;activate&amp;lt;/td&amp;gt;
+               &amp;lt;td&amp;gt;This event fires whenever a new item becomes activated by the scrollspy.&amp;lt;/td&amp;gt;
+            &amp;lt;/tr&amp;gt;
+            &amp;lt;/tbody&amp;gt;
+          &amp;lt;/table&amp;gt;
         &amp;lt;/div&amp;gt;
       &amp;lt;/div&amp;gt;
     &amp;lt;/section&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -609,7 +647,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 id="three"&amp;gt;three&amp;lt;/h4&amp;gt;
         &amp;lt;div class="span9 columns"&amp;gt;
           &amp;lt;h2&amp;gt;Example tabs&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;Click the tabs below to toggle between hidden panes, even via dropdown menus.&amp;lt;/p&amp;gt;
-          &amp;lt;ul id="tab" class="nav nav-tabs"&amp;gt;
+          &amp;lt;ul id="myTab" class="nav nav-tabs"&amp;gt;
             &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#home" data-toggle="tab"&amp;gt;Home&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
             &amp;lt;li&amp;gt;&amp;lt;a href="#profile" data-toggle="tab"&amp;gt;Profile&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
             &amp;lt;li class="dropdown"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -636,10 +674,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 id="three"&amp;gt;three&amp;lt;/h4&amp;gt;
           &amp;lt;/div&amp;gt;
           &amp;lt;hr&amp;gt;
           &amp;lt;h2&amp;gt;Using bootstrap-tab.js&amp;lt;/h2&amp;gt;
-          &amp;lt;p&amp;gt;Enable tabbable tabs via javascript:&amp;lt;/p&amp;gt;
-          &amp;lt;pre class="prettyprint linenums"&amp;gt;$('#myTab').tab('show')&amp;lt;/pre&amp;gt;
+          &amp;lt;p&amp;gt;Enable tabbable tabs via javascript (each tab needs to be activated individually):&amp;lt;/p&amp;gt;
+          &amp;lt;pre class="prettyprint linenums"&amp;gt;
+$('#myTab a').click(function (e) {
+  e.preventDefault();
+  $(this).tab('show');
+})&amp;lt;/pre&amp;gt;
+          &amp;lt;p&amp;gt;You can activate individual tabs in several ways:&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;
+$('#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)
+&amp;lt;/pre&amp;gt;
           &amp;lt;h3&amp;gt;Markup&amp;lt;/h3&amp;gt;
-          &amp;lt;p&amp;gt;You can activate a tab or pill navigation without writing any javascript by simply specifying &amp;lt;code&amp;gt;data-toggle="tab"&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;data-toggle="pill"&amp;lt;/code&amp;gt; on an element.&amp;lt;/p&amp;gt;
+          &amp;lt;p&amp;gt;You can activate a tab or pill navigation without writing any javascript by simply specifying &amp;lt;code&amp;gt;data-toggle="tab"&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;data-toggle="pill"&amp;lt;/code&amp;gt; on an element. Adding the &amp;lt;code&amp;gt;nav&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;nav-tabs&amp;lt;/code&amp;gt; classes to the tab &amp;lt;code&amp;gt;ul&amp;lt;/code&amp;gt; will apply the bootstrap tab styling.&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;ul class="nav nav-tabs"&amp;amp;gt;
   &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href="#home" data-toggle="tab"&amp;amp;gt;Home&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -650,10 +699,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 id="three"&amp;gt;three&amp;lt;/h4&amp;gt;
           &amp;lt;h3&amp;gt;Methods&amp;lt;/h3&amp;gt;
           &amp;lt;h4&amp;gt;$().tab&amp;lt;/h4&amp;gt;
           &amp;lt;p&amp;gt;
-            Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.
+            Activates a tab element and content container. Tab should have either a &amp;lt;code&amp;gt;data-target&amp;lt;/code&amp;gt; or an &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; targeting a container node in the DOM.
           &amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
-&amp;amp;lt;ul class="nav nav-tabs"&amp;amp;gt;
+&amp;amp;lt;ul class="nav nav-tabs" id="myTab"&amp;amp;gt;
   &amp;amp;lt;li class="active"&amp;amp;gt;&amp;amp;lt;a href="#home"&amp;amp;gt;Home&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
   &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href="#profile"&amp;amp;gt;Profile&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
   &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href="#messages"&amp;amp;gt;Messages&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -669,7 +718,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 id="three"&amp;gt;three&amp;lt;/h4&amp;gt;
 
 &amp;amp;lt;script&amp;amp;gt;
   $(function () {
-    $('.tabs a:last').tab('show')
+    $('#myTab a:last').tab('show');
   })
 &amp;amp;lt;/script&amp;amp;gt;&amp;lt;/pre&amp;gt;
           &amp;lt;h3&amp;gt;Events&amp;lt;/h3&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -718,7 +767,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 id="three"&amp;gt;three&amp;lt;/h4&amp;gt;
           &amp;lt;h2&amp;gt;Example use of Tooltips&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;Hover over the links below to see tooltips:&amp;lt;/p&amp;gt;
           &amp;lt;div class="tooltip-demo well"&amp;gt;
-            &amp;lt;p class="muted" style="margin-bottom: 0;"&amp;gt;Tight pants next level keffiyeh &amp;lt;a href="#" rel="tooltip" title="first tooltip"&amp;gt;you probably&amp;lt;/a&amp;gt; haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel &amp;lt;a href="#" rel="tooltip" title="Another tooltip"&amp;gt;have a&amp;lt;/a&amp;gt; terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A &amp;lt;a href="#" rel="tooltip" title="Another one here too"&amp;gt;really ironic&amp;lt;/a&amp;gt; artisan whatever keytar, scenester farm-to-table banksy Austin &amp;lt;a href="#" rel="tooltip" title="The last tip!"&amp;gt;twitter handle&amp;lt;/a&amp;gt; freegan cred raw denim single-origin coffee viral.
+            &amp;lt;p class="muted" style="margin-bottom: 0;"&amp;gt;Tight pants next level keffiyeh &amp;lt;a href="#" rel="tooltip" title="first tooltip"&amp;gt;you probably&amp;lt;/a&amp;gt; haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel &amp;lt;a href="#" rel="tooltip" title="Another tooltip"&amp;gt;have a&amp;lt;/a&amp;gt; terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan &amp;lt;a href="#" rel="tooltip" title="Another one here too"&amp;gt;whatever keytar&amp;lt;/a&amp;gt;, scenester farm-to-table banksy Austin &amp;lt;a href="#" rel="tooltip" title="The last tip!"&amp;gt;twitter handle&amp;lt;/a&amp;gt; freegan cred raw denim single-origin coffee viral.
             &amp;lt;/p&amp;gt;
           &amp;lt;/div&amp;gt;
           &amp;lt;hr&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -771,7 +820,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 id="three"&amp;gt;three&amp;lt;/h4&amp;gt;
                &amp;lt;td&amp;gt;number | object&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;
-                &amp;lt;p&amp;gt;delay showing and hiding the tooltip (ms)&amp;lt;/p&amp;gt;
+                &amp;lt;p&amp;gt;delay showing and hiding the tooltip (ms) - does not apply to manual trigger type&amp;lt;/p&amp;gt;
                 &amp;lt;p&amp;gt;If a number is supplied, delay is applied to both hide/show&amp;lt;/p&amp;gt;
                 &amp;lt;p&amp;gt;Object structure is: &amp;lt;code&amp;gt;delay: { show: 500, hide: 100 }&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;
                &amp;lt;/td&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -880,7 +929,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 id="three"&amp;gt;three&amp;lt;/h4&amp;gt;
                &amp;lt;td&amp;gt;number | object&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;
-                &amp;lt;p&amp;gt;delay showing and hiding the popover (ms)&amp;lt;/p&amp;gt;
+                &amp;lt;p&amp;gt;delay showing and hiding the popover (ms) - does not apply to manual trigger type&amp;lt;/p&amp;gt;
                 &amp;lt;p&amp;gt;If a number is supplied, delay is applied to both hide/show&amp;lt;/p&amp;gt;
                 &amp;lt;p&amp;gt;Object structure is: &amp;lt;code&amp;gt;delay: { show: 500, hide: 100 }&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;
                &amp;lt;/td&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -893,7 +942,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 id="three"&amp;gt;three&amp;lt;/h4&amp;gt;
           &amp;lt;/div&amp;gt;
           &amp;lt;h3&amp;gt;Markup&amp;lt;/h3&amp;gt;
           &amp;lt;p&amp;gt;
-          For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a the selector option.
+          For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.
           &amp;lt;/p&amp;gt;
           &amp;lt;h3&amp;gt;Methods&amp;lt;/h3&amp;gt;
           &amp;lt;h4&amp;gt;$().popover(options)&amp;lt;/h4&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -929,11 +978,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 id="three"&amp;gt;three&amp;lt;/h4&amp;gt;
           &amp;lt;h2&amp;gt;Example alerts&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;The alerts plugin works on regular alert messages, and block messages.&amp;lt;/p&amp;gt;
           &amp;lt;div class="alert fade in"&amp;gt;
-            &amp;lt;a class="close" data-dismiss="alert" href="#"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+            &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
             &amp;lt;strong&amp;gt;Holy guacamole!&amp;lt;/strong&amp;gt; Best check yo self, you're not looking too good.
           &amp;lt;/div&amp;gt;
           &amp;lt;div class="alert alert-block alert-error fade in"&amp;gt;
-            &amp;lt;a class="close" data-dismiss="alert" href="#"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+            &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
             &amp;lt;h4 class="alert-heading"&amp;gt;Oh snap! You got an error!&amp;lt;/h4&amp;gt;
             &amp;lt;p&amp;gt;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.&amp;lt;/p&amp;gt;
             &amp;lt;p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1039,7 +1088,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 class="alert-heading"&amp;gt;Oh snap! You got an error!&amp;lt;/h4&amp;gt;
           &amp;lt;hr&amp;gt;
           &amp;lt;h2&amp;gt;Using bootstrap-button.js&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;Enable buttons via javascript:&amp;lt;/p&amp;gt;
-          &amp;lt;pre class="prettyprint linenums"&amp;gt;$('.tabs').button()&amp;lt;/pre&amp;gt;
+          &amp;lt;pre class="prettyprint linenums"&amp;gt;$('.nav-tabs').button()&amp;lt;/pre&amp;gt;
             &amp;lt;h3&amp;gt;Markup&amp;lt;/h3&amp;gt;
           &amp;lt;p&amp;gt;Data attributes are integral to the button plugin. Check out the example code below for the various markup types.&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1101,7 +1150,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 class="alert-heading"&amp;gt;Oh snap! You got an error!&amp;lt;/h4&amp;gt;
           &amp;lt;h3&amp;gt;About&amp;lt;/h3&amp;gt;
           &amp;lt;p&amp;gt;Get base styles and flexible support for collapsible components like accordions and navigation.&amp;lt;/p&amp;gt;
           &amp;lt;a href="assets/js/bootstrap-collapse.js" target="_blank" class="btn"&amp;gt;Download file&amp;lt;/a&amp;gt;
-        &amp;lt;/div&amp;gt;
+          &amp;lt;p class="muted"&amp;gt;&amp;lt;strong&amp;gt;*&amp;lt;/strong&amp;gt; Requires the Transitions plugin to be included.&amp;lt;/p&amp;gt;
+       &amp;lt;/div&amp;gt;
         &amp;lt;div class="span9 columns"&amp;gt;
           &amp;lt;h2&amp;gt;Example accordion&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;Using the collapse plugin, we built a simple accordion style widget:&amp;lt;/p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1308,7 +1358,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; &amp;lt;h4 class="alert-heading"&amp;gt;Oh snap! You got an error!&amp;lt;/h4&amp;gt;
                &amp;lt;td&amp;gt;interval&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;number&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;5000&amp;lt;/td&amp;gt;
-               &amp;lt;td&amp;gt;The amount of time to delay between automatically cycling an item.&amp;lt;/td&amp;gt;
+               &amp;lt;td&amp;gt;The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.&amp;lt;/td&amp;gt;
              &amp;lt;/tr&amp;gt;
              &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;pause&amp;lt;/td&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/less.html b/plone/app/toolbar/resources/lib/bootstrap/docs/less.html
index f8e4d9b..3fecd1a 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/less.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/less.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,7 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;span class="icon-bar"&amp;gt;&amp;lt;/span&amp;gt;
           &amp;lt;/a&amp;gt;
           &amp;lt;a class="brand" href="./index.html"&amp;gt;Bootstrap&amp;lt;/a&amp;gt;
-          &amp;lt;div class="nav-collapse"&amp;gt;
+          &amp;lt;div class="nav-collapse collapse"&amp;gt;
             &amp;lt;ul class="nav"&amp;gt;
               &amp;lt;li class=""&amp;gt;
                 &amp;lt;a href="./index.html"&amp;gt;Overview&amp;lt;/a&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -139,12 +140,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   &amp;lt;div class="row"&amp;gt;
     &amp;lt;div class="span6"&amp;gt;
-      &amp;lt;h3&amp;gt;Hyperlinks&amp;lt;/h3&amp;gt;
+      &amp;lt;h3&amp;gt;Scaffolding and links&amp;lt;/h3&amp;gt;
       &amp;lt;table class="table table-bordered table-striped"&amp;gt;
         &amp;lt;tbody&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;linkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;#08c&amp;lt;/td&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;bodyBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;Page background color&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;textColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDark&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;Default text color for entire body, headings, and more&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #333;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;linkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#08c&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;Default link text color&amp;lt;/td&amp;gt;
             &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #08c;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -185,16 +198,69 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;table class="table table-bordered table-striped"&amp;gt;
         &amp;lt;tbody&amp;gt;
           &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;sansFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;"Helvetica Neue", Helvetica, Arial, sans-serif&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;serifFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;Georgia, "Times New Roman", Times, serif&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;monoFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;Menlo, Monaco, "Courier New", monospace&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
             &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;baseFontSize&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;13px&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;em class="muted"&amp;gt;Must be pixels&amp;lt;/em&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
             &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;baseFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;"Helvetica Neue", Helvetica, Arial, sans-serif&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;sansFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
             &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;baseLineHeight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;18px&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;em class="muted"&amp;gt;Must be pixels&amp;lt;/em&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;altFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;serifFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;headingsFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;inherit&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;headingsFontWeight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;bold&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;headingsColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;inherit&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+        &amp;lt;/tbody&amp;gt;
+      &amp;lt;/table&amp;gt;
+      &amp;lt;h3&amp;gt;Tables&amp;lt;/h3&amp;gt;
+      &amp;lt;table class="table table-bordered table-striped"&amp;gt;
+        &amp;lt;tbody&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;tableBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;transparent&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;tableBackgroundAccent&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#f9f9f9&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;tableBackgroundHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#f5f5f5&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;tableBorder&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;ddd&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
         &amp;lt;/tbody&amp;gt;
       &amp;lt;/table&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -290,10 +356,86 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;table class="table table-bordered table-striped"&amp;gt;
         &amp;lt;tbody&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;primaryButtonBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;darken(&amp;lt; at &amp;gt;white, 10%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #e6e6e6;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnBorder&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;darken(&amp;lt; at &amp;gt;white, 20%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #ccc;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnPrimaryBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;linkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #08c;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnPrimaryBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;spin(&amp;lt; at &amp;gt;btnPrimaryBackground, 15%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #05c;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnInfoBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#5bc0de&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #5bc0de;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnInfoBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#2f96b4&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #2f96b4;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnSuccessBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#62c462&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #62c462;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnSuccessBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;51a351&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #51a351;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnWarningBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;lighten(&amp;lt; at &amp;gt;orange, 15%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #fbb450;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnWarningBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;orange&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #f89406;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnDangerBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#ee5f5b&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #ee5f5b;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnDangerBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#bd362f&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #bd362f;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnInverseBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;gray&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #555;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnInverseBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDarker&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #222;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
         &amp;lt;/tbody&amp;gt;
       &amp;lt;/table&amp;gt;
       &amp;lt;h4&amp;gt;Forms&amp;lt;/h4&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -302,47 +444,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           &amp;lt;tr&amp;gt;
             &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;placeholderText&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #999;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
-          &amp;lt;/tr&amp;gt;
-        &amp;lt;/tbody&amp;gt;
-      &amp;lt;/table&amp;gt;
-      &amp;lt;h4&amp;gt;Navbar&amp;lt;/h4&amp;gt;
-      &amp;lt;table class="table table-bordered table-striped"&amp;gt;
-        &amp;lt;tbody&amp;gt;
-          &amp;lt;tr&amp;gt;
-            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarHeight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;40px&amp;lt;/td&amp;gt;
-            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDarker&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #222;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;inputBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDark&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #333;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;inputBorder&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#ccc&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarText&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #999;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;inputBorderRadius&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;3px&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #999;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;inputDisabledBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLighter&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColorHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;formActionsBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#f5f5f5&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
         &amp;lt;/tbody&amp;gt;
       &amp;lt;/table&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span6"&amp;gt;
       &amp;lt;h4&amp;gt;Form states and alerts&amp;lt;/h4&amp;gt;
       &amp;lt;table class="table table-bordered table-striped"&amp;gt;
         &amp;lt;tbody&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -389,6 +513,130 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;/tbody&amp;gt;
       &amp;lt;/table&amp;gt;
     &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span6"&amp;gt;
+      &amp;lt;h4&amp;gt;Navbar&amp;lt;/h4&amp;gt;
+      &amp;lt;table class="table table-bordered table-striped"&amp;gt;
+        &amp;lt;tbody&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarHeight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;40px&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDarker&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #222;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDark&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #333;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarText&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #999;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #999;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColorHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColorActive&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColorHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkBackgroundHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;transparent&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: transparent;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkBackgroundActive&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarSearchBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;lighten(&amp;lt; at &amp;gt;navbarBackground, 25%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #666;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarSearchBackgroundFocus&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarSearchBorder&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;darken(&amp;lt; at &amp;gt;navbarSearchBackground, 30%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #111;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarSearchPlaceholderColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#ccc&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #ccc;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBrandColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+        &amp;lt;/tbody&amp;gt;
+      &amp;lt;/table&amp;gt;
+      &amp;lt;h4&amp;gt;Dropdowns&amp;lt;/h4&amp;gt;
+      &amp;lt;table class="table table-bordered table-striped"&amp;gt;
+        &amp;lt;tbody&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;dropdownBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;dropdownBorder&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;rgba(0,0,0,.2)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;dropdownLinkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDark&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;dropdownLinkColorHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;dropdownLinkBackgroundHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;linkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+        &amp;lt;/tbody&amp;gt;
+      &amp;lt;/table&amp;gt;
+      &amp;lt;h4&amp;gt;Hero unit&amp;lt;/h4&amp;gt;
+      &amp;lt;table class="table table-bordered table-striped"&amp;gt;
+        &amp;lt;tbody&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;heroUnitBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLighter&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #eee;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;heroUnitHeadingColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;inherit&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;heroUnitLeadColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;inhereit&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+        &amp;lt;/tbody&amp;gt;
+      &amp;lt;/table&amp;gt;
+    &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /row --&amp;gt;
 
 &amp;lt;/section&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -460,17 +708,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.size()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;height: 5px, &amp;lt; at &amp;gt;width: 5px&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;height &amp;lt; at &amp;gt;width&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;Quickly set the height and width on one line&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.square()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;size: 5px&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;size&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;Builds on &amp;lt;code&amp;gt;.size()&amp;lt;/code&amp;gt; to set the width and height as same value&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.opacity()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;opacity: 100&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;opacity&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;Set, in whole numbers, the opacity percentage (e.g., "50" or "75")&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
     &amp;lt;/tbody&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -564,6 +812,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;fluidGridColumnWidth, &amp;lt; at &amp;gt;fluidGridGutterWidth&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;Generate a precent grid system with &amp;lt;em&amp;gt;n&amp;lt;/em&amp;gt; columns and &amp;lt;em&amp;gt;x&amp;lt;/em&amp;gt; % wide gutter&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
+      &amp;lt;tr&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#grid &amp;gt; .input()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;gridColumnWidth, &amp;lt; at &amp;gt;gridGutterWidth&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;Generate the pixel grid system for &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; elements, accounting for padding and borders&amp;lt;/td&amp;gt;
+      &amp;lt;/tr&amp;gt;
+      &amp;lt;tr&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.makeColumn&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;columns: 1, &amp;lt; at &amp;gt;offset: 0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;Turn any &amp;lt;code&amp;gt;div&amp;lt;/code&amp;gt; into a grid column without the &amp;lt;code&amp;gt;.span*&amp;lt;/code&amp;gt; classes&amp;lt;/td&amp;gt;
+      &amp;lt;/tr&amp;gt;
     &amp;lt;/tbody&amp;gt;
   &amp;lt;/table&amp;gt;
   &amp;lt;h3&amp;gt;CSS3 properties&amp;lt;/h3&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -578,12 +836,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;tbody&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.border-radius()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;radius: 5px&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;radius&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;Round the corners of an element. Can be a single value or four space-separated values&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.box-shadow()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;shadow: 0 1px 3px rgba(0,0,0,.25)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;shadow&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;Add a drop shadow to an element&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -603,7 +861,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.translate()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;x: 0, &amp;lt; at &amp;gt;y: 0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;Move an element on the x and y planes&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -627,13 +885,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;td&amp;gt;Control cursor selection of text on a page&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.backface-visibility()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;visibility: visible&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;Prevent flickering of content when using CSS 3D transforms&amp;lt;/td&amp;gt;
+      &amp;lt;/tr&amp;gt;
+      &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.resizable()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;direction: both&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;Make any element resizable on the right and bottom&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.content-columns()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;columnCount, &amp;lt; at &amp;gt;columnGap: &amp;lt; at &amp;gt;gridColumnGutter&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;columnCount, &amp;lt; at &amp;gt;columnGap: &amp;lt; at &amp;gt;gridGutterWidth&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;Make the content of any element use CSS3 columns&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
     &amp;lt;/tbody&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -720,7 +983,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h3&amp;gt;Command line&amp;lt;/h3&amp;gt;
       &amp;lt;p&amp;gt;Install the LESS command line tool via Node and run the following command:&amp;lt;/p&amp;gt;
-        &amp;lt;pre&amp;gt;$ lessc ./lib/bootstrap.less &amp;gt; bootstrap.css&amp;lt;/pre&amp;gt;
+        &amp;lt;pre&amp;gt;$ lessc ./less/bootstrap.less &amp;gt; bootstrap.css&amp;lt;/pre&amp;gt;
       &amp;lt;p&amp;gt;Be sure to include &amp;lt;code&amp;gt;--compress&amp;lt;/code&amp;gt; in that command if you're trying to save some bytes!&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /span4 --&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/scaffolding.html b/plone/app/toolbar/resources/lib/bootstrap/docs/scaffolding.html
index 29491c1..caffa6a 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/scaffolding.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/scaffolding.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,7 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;span class="icon-bar"&amp;gt;&amp;lt;/span&amp;gt;
           &amp;lt;/a&amp;gt;
           &amp;lt;a class="brand" href="./index.html"&amp;gt;Bootstrap&amp;lt;/a&amp;gt;
-          &amp;lt;div class="nav-collapse"&amp;gt;
+          &amp;lt;div class="nav-collapse collapse"&amp;gt;
             &amp;lt;ul class="nav"&amp;gt;
               &amp;lt;li class=""&amp;gt;
                 &amp;lt;a href="./index.html"&amp;gt;Overview&amp;lt;/a&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -172,7 +173,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;lt;div class="row"&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;p&amp;gt;The default grid system provided as part of Bootstrap is a &amp;lt;strong&amp;gt;940px-wide, 12-column grid&amp;lt;/strong&amp;gt;.&amp;lt;/p&amp;gt;
-      &amp;lt;p&amp;gt;It also has four responsive variations for various devices and resolutions: phone, tablet portrait, table landscape and small desktops, and large widescreen desktops.&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;It also has four responsive variations for various devices and resolutions: phone, tablet portrait, tablet landscape and small desktops, and large widescreen desktops.&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -183,7 +184,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/pre&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;p&amp;gt;As shown here, a basic layout can be created with two "columns," each spanning a number of the 12 foundational columns we defined as part of our grid system.&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;As shown here, a basic layout can be created with two "columns", each spanning a number of the 12 foundational columns we defined as part of our grid system.&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /.row --&amp;gt;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -374,11 +375,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;td&amp;gt;20px&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;Negative space between columns&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
-      &amp;lt;tr&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;siteWidth&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;em&amp;gt;Computed sum of all columns and gutters&amp;lt;/em&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;Counts number of columns and gutters to set width of the &amp;lt;code&amp;gt;.container-fixed()&amp;lt;/code&amp;gt; mixin&amp;lt;/td&amp;gt;
-      &amp;lt;/tr&amp;gt;
     &amp;lt;/tbody&amp;gt;
   &amp;lt;/table&amp;gt;
   &amp;lt;div class="row"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -537,13 +533,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;lt; at &amp;gt;media (max-width: 480px) { ... }
 
   // Landscape phone to portrait tablet
-  &amp;lt; at &amp;gt;media (max-width: 768px) { ... }
+  &amp;lt; at &amp;gt;media (max-width: 767px) { ... }
 
   // Portrait tablet to landscape and desktop
-  &amp;lt; at &amp;gt;media (min-width: 768px) and (max-width: 980px) { ... }
+  &amp;lt; at &amp;gt;media (min-width: 768px) and (max-width: 979px) { ... }
 
   // Large desktop
-  &amp;lt; at &amp;gt;media (min-width: 1200px) { .. }
+  &amp;lt; at &amp;gt;media (min-width: 1200px) { ... }
 &amp;lt;/pre&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /.row --&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -554,7 +550,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;lt;div class="row"&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h3&amp;gt;What are they&amp;lt;/h2&amp;gt;
-      &amp;lt;p&amp;gt;For faster mobile-friendly development, use these basic utility classes for showing and hidding content by device.&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;For faster mobile-friendly development, use these basic utility classes for showing and hiding content by device.&amp;lt;/p&amp;gt;
       &amp;lt;h3&amp;gt;When to use&amp;lt;/h2&amp;gt;
       &amp;lt;p&amp;gt;Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.&amp;lt;/p&amp;gt;
       &amp;lt;p&amp;gt;For example, you might show a &amp;lt;code&amp;gt;&amp;amp;lt;select&amp;amp;gt;&amp;lt;/code&amp;gt; element for nav on mobile layouts, but not on tablets or desktops.&amp;lt;/p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -611,14 +607,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;/tbody&amp;gt;
       &amp;lt;/table&amp;gt;
       &amp;lt;h3&amp;gt;Test case&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;Resize your browser or load on different devices to test the above clases.&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;Resize your browser or load on different devices to test the above classes.&amp;lt;/p&amp;gt;
       &amp;lt;h4&amp;gt;Visible on...&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;Green checkmarks indicate that class is visible in your current viewport.&amp;lt;/p&amp;gt;
       &amp;lt;ul class="responsive-utilities-test"&amp;gt;
         &amp;lt;li&amp;gt;Phone&amp;lt;span class="visible-phone"&amp;gt;&amp;amp;#10004; Phone&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;Tablet&amp;lt;span class="visible-tablet"&amp;gt;&amp;amp;#10004; Tablet&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;Desktop&amp;lt;span class="visible-desktop"&amp;gt;&amp;amp;#10004; Desktop&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
       &amp;lt;/ul&amp;gt;
       &amp;lt;h4&amp;gt;Hidden on...&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;Here, green checkmarks indicate that class is hidden in your current viewport.&amp;lt;/p&amp;gt;
       &amp;lt;ul class="responsive-utilities-test hidden-on"&amp;gt;
         &amp;lt;li&amp;gt;Phone&amp;lt;span class="hidden-phone"&amp;gt;&amp;amp;#10004; Phone&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;Tablet&amp;lt;span class="hidden-tablet"&amp;gt;&amp;amp;#10004; Tablet&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -627,7 +625,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /.row --&amp;gt;
 
-      
+
   &amp;lt;div class="row"&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/layout.mustache b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/layout.mustache
index 3434bdc..4fdaadb 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/layout.mustache
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/layout.mustache
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,7 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;span class="icon-bar"&amp;gt;&amp;lt;/span&amp;gt;
           &amp;lt;/a&amp;gt;
           &amp;lt;a class="brand" href="./index.html"&amp;gt;Bootstrap&amp;lt;/a&amp;gt;
-          &amp;lt;div class="nav-collapse"&amp;gt;
+          &amp;lt;div class="nav-collapse collapse"&amp;gt;
             &amp;lt;ul class="nav"&amp;gt;
               &amp;lt;li class="{{index}}"&amp;gt;
                 &amp;lt;a href="./index.html"&amp;gt;{{_i}}Overview{{/i}}&amp;lt;/a&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/base-css.mustache b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/base-css.mustache
index 9b2964d..3524ac9 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/base-css.mustache
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/base-css.mustache
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -294,7 +294,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;dd&amp;gt;Donec id elit non mi porta gravida at eget metus.&amp;lt;/dd&amp;gt;
         &amp;lt;dt&amp;gt;Malesuada porta&amp;lt;/dt&amp;gt;
         &amp;lt;dd&amp;gt;Etiam porta sem malesuada magna mollis euismod.&amp;lt;/dd&amp;gt;
+        &amp;lt;dt&amp;gt;Felis euismod semper eget lacinia&amp;lt;/dt&amp;gt;
+        &amp;lt;dd&amp;gt;Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.&amp;lt;/dd&amp;gt;
       &amp;lt;/dl&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;p&amp;gt;
+        &amp;lt;span class="label label-info"&amp;gt;{{_i}}Heads up!{{/i}}&amp;lt;/span&amp;gt;
+        {{_i}}Horizontal description lists will truncate terms that are too long to fit in the left column fix &amp;lt;code&amp;gt;text-overflow&amp;lt;/code&amp;gt;. In narrower viewports, they will change to the default stacked layout.{{/i}}
+      &amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /row --&amp;gt;
 &amp;lt;/section&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -798,14 +805,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   &amp;lt;h2&amp;gt;{{_i}}Example forms &amp;lt;small&amp;gt;using just form controls, no extra markup&amp;lt;/small&amp;gt;{{/i}}&amp;lt;/h2&amp;gt;
   &amp;lt;div class="row"&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
+    &amp;lt;div class="span6"&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Basic form{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}With v2.0, we have lighter and smarter defaults for form styles. No extra markup, just form controls.{{/i}}&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span9"&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Smart and lightweight defaults without extra markup.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;form class="well"&amp;gt;
         &amp;lt;label&amp;gt;{{_i}}Label name{{/i}}&amp;lt;/label&amp;gt;
-        &amp;lt;input type="text" class="span3" placeholder="{{_i}}Type something…{{/i}}"&amp;gt; &amp;lt;span class="help-inline"&amp;gt;Associated help text!&amp;lt;/span&amp;gt;
+        &amp;lt;input type="text" class="span3" placeholder="{{_i}}Type something…{{/i}}"&amp;gt;
         &amp;lt;p class="help-block"&amp;gt;{{_i}}Example block-level help text here.{{/i}}&amp;lt;/p&amp;gt;
         &amp;lt;label class="checkbox"&amp;gt;
           &amp;lt;input type="checkbox"&amp;gt; {{_i}}Check me out{{/i}}
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -816,39 +821,30 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;amp;lt;form class="well"&amp;amp;gt;
   &amp;amp;lt;label&amp;amp;gt;{{_i}}Label name{{/i}}&amp;amp;lt;/label&amp;amp;gt;
   &amp;amp;lt;input type="text" class="span3" placeholder="{{_i}}Type something…{{/i}}"&amp;amp;gt;
-  &amp;amp;lt;span class="help-inline"&amp;amp;gt;Associated help text!&amp;amp;lt;/span&amp;amp;gt;
+  &amp;amp;lt;span class="help-block"&amp;amp;gt;Example block-level help text here.&amp;amp;lt;/span&amp;amp;gt;
   &amp;amp;lt;label class="checkbox"&amp;amp;gt;
     &amp;amp;lt;input type="checkbox"&amp;amp;gt; {{_i}}Check me out{{/i}}
   &amp;amp;lt;/label&amp;amp;gt;
   &amp;amp;lt;button type="submit" class="btn"&amp;amp;gt;{{_i}}Submit{{/i}}&amp;amp;lt;/button&amp;amp;gt;
 &amp;amp;lt;/form&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
-    &amp;lt;/div&amp;gt;
-  &amp;lt;/div&amp;gt; &amp;lt;!-- /row --&amp;gt;
-  &amp;lt;div class="row"&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
-      &amp;lt;h3&amp;gt;{{_i}}Search form{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Reflecting default WebKit styles, just add &amp;lt;code&amp;gt;.form-search&amp;lt;/code&amp;gt; for extra rounded search fields.{{/i}}&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span9"&amp;gt;
-      &amp;lt;form class="well form-search"&amp;gt;
-        &amp;lt;input type="text" class="input-medium search-query"&amp;gt;
-        &amp;lt;button type="submit" class="btn"&amp;gt;{{_i}}Search{{/i}}&amp;lt;/button&amp;gt;
-      &amp;lt;/form&amp;gt;
+  &amp;lt;/div&amp;gt;
+  &amp;lt;div class="span6"&amp;gt;
+    &amp;lt;h3&amp;gt;{{_i}}Search form{{/i}}&amp;lt;/h3&amp;gt;
+    &amp;lt;p&amp;gt;{{_i}}Add &amp;lt;code&amp;gt;.form-search&amp;lt;/code&amp;gt; to the form and &amp;lt;code&amp;gt;.search-query&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
+    &amp;lt;form class="well form-search"&amp;gt;
+      &amp;lt;input type="text" class="input-medium search-query"&amp;gt;
+      &amp;lt;button type="submit" class="btn"&amp;gt;{{_i}}Search{{/i}}&amp;lt;/button&amp;gt;
+    &amp;lt;/form&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;form class="well form-search"&amp;amp;gt;
   &amp;amp;lt;input type="text" class="input-medium search-query"&amp;amp;gt;
   &amp;amp;lt;button type="submit" class="btn"&amp;amp;gt;{{_i}}Search{{/i}}&amp;amp;lt;/button&amp;amp;gt;
 &amp;amp;lt;/form&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
-    &amp;lt;/div&amp;gt;
-  &amp;lt;/div&amp;gt; &amp;lt;!-- /row --&amp;gt;
-  &amp;lt;div class="row"&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
+
       &amp;lt;h3&amp;gt;{{_i}}Inline form{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Inputs are block level to start. For &amp;lt;code&amp;gt;.form-inline&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.form-horizontal&amp;lt;/code&amp;gt;, we use inline-block.{{/i}}&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span9"&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Add &amp;lt;code&amp;gt;.form-inline&amp;lt;/code&amp;gt; to finesse the vertical alignment and spacing of form controls.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;form class="well form-inline"&amp;gt;
         &amp;lt;input type="text" class="input-small" placeholder="{{_i}}Email{{/i}}"&amp;gt;
         &amp;lt;input type="password" class="input-small" placeholder="{{_i}}Password{{/i}}"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -867,17 +863,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;amp;lt;button type="submit" class="btn"&amp;amp;gt;{{_i}}Sign in{{/i}}&amp;amp;lt;/button&amp;amp;gt;
 &amp;amp;lt;/form&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
-    &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /row --&amp;gt;
 
   &amp;lt;br&amp;gt;
 
   &amp;lt;h2&amp;gt;{{_i}}Horizontal forms{{/i}}&amp;lt;/h2&amp;gt;
   &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span4"&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Shown on the right are all the default form controls we support. Here's the bulleted list:{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;ul&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}text inputs (text, password, email, etc){{/i}}&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}checkbox{{/i}}&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}radio{{/i}}&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}select{{/i}}&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}multiple select{{/i}}&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}file input{{/i}}&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}textarea{{/i}}&amp;lt;/li&amp;gt;
+      &amp;lt;/ul&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
     &amp;lt;div class="span8"&amp;gt;
       &amp;lt;form class="form-horizontal"&amp;gt;
         &amp;lt;fieldset&amp;gt;
-          &amp;lt;legend&amp;gt;{{_i}}Controls Bootstrap supports{{/i}}&amp;lt;/legend&amp;gt;
           &amp;lt;div class="control-group"&amp;gt;
             &amp;lt;label class="control-label" for="input01"&amp;gt;{{_i}}Text input{{/i}}&amp;lt;/label&amp;gt;
             &amp;lt;div class="controls"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -953,31 +961,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;amp;lt;/form&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
     &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;h3&amp;gt;{{_i}}What's included{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Shown on the left are all the default form controls we support. Here's the bulleted list:{{/i}}&amp;lt;/p&amp;gt;
-      &amp;lt;ul&amp;gt;
-        &amp;lt;li&amp;gt;{{_i}}text inputs (text, password, email, etc){{/i}}&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;{{_i}}checkbox{{/i}}&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;{{_i}}radio{{/i}}&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;{{_i}}select{{/i}}&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;{{_i}}multiple select{{/i}}&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;{{_i}}file input{{/i}}&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;{{_i}}textarea{{/i}}&amp;lt;/li&amp;gt;
-      &amp;lt;/ul&amp;gt;
-      &amp;lt;hr&amp;gt;
-      &amp;lt;h3&amp;gt;{{_i}}New defaults with v2.0{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Up to v1.4, Bootstrap's default form styles used the horizontal layout. With Bootstrap 2, we removed that constraint to have smarter, more scalable defaults for any form.{{/i}}&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;
 
   &amp;lt;br&amp;gt;
 
+  &amp;lt;h2&amp;gt;{{_i}}Form control states{{/i}}&amp;lt;/h2&amp;gt;
   &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span4"&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Bootstrap features styles for browser-supported focused and &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt; states. We remove the default Webkit &amp;lt;code&amp;gt;outline&amp;lt;/code&amp;gt; and apply a &amp;lt;code&amp;gt;box-shadow&amp;lt;/code&amp;gt; in its place for &amp;lt;code&amp;gt;:focus&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h3&amp;gt;{{_i}}Form validation{{/i}}&amp;lt;/h3&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}It also includes validation styles for errors, warnings, and success. To use, add the error class to the surrounding &amp;lt;code&amp;gt;.control-group&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;
+&amp;amp;lt;fieldset
+  class="control-group error"&amp;amp;gt;
+  …
+&amp;amp;lt;/fieldset&amp;amp;gt;
+&amp;lt;/pre&amp;gt;
+    &amp;lt;/div&amp;gt;
     &amp;lt;div class="span8"&amp;gt;
       &amp;lt;form class="form-horizontal"&amp;gt;
         &amp;lt;fieldset&amp;gt;
-          &amp;lt;legend&amp;gt;{{_i}}Form control states{{/i}}&amp;lt;/legend&amp;gt;
           &amp;lt;div class="control-group"&amp;gt;
             &amp;lt;label class="control-label" for="focusedInput"&amp;gt;{{_i}}Focused input{{/i}}&amp;lt;/label&amp;gt;
             &amp;lt;div class="controls"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1046,28 +1050,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;/fieldset&amp;gt;
       &amp;lt;/form&amp;gt;
     &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;h3&amp;gt;{{_i}}Redesigned browser states{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Bootstrap features styles for browser-supported focused and &amp;lt;code&amp;gt;disabled&amp;lt;/code&amp;gt; states. We remove the default Webkit &amp;lt;code&amp;gt;outline&amp;lt;/code&amp;gt; and apply a &amp;lt;code&amp;gt;box-shadow&amp;lt;/code&amp;gt; in its place for &amp;lt;code&amp;gt;:focus&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
-      &amp;lt;hr&amp;gt;
-      &amp;lt;h3&amp;gt;{{_i}}Form validation{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}It also includes validation styles for errors, warnings, and success. To use, add the error class to the surrounding &amp;lt;code&amp;gt;.control-group&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
-&amp;lt;pre class="prettyprint linenums"&amp;gt;
-&amp;amp;lt;fieldset
-  class="control-group error"&amp;amp;gt;
-  …
-&amp;amp;lt;/fieldset&amp;amp;gt;
-&amp;lt;/pre&amp;gt;
-    &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;
 
   &amp;lt;br&amp;gt;
 
+  &amp;lt;h2&amp;gt;{{_i}}Extending form controls{{/i}}&amp;lt;/h2&amp;gt;
   &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span4"&amp;gt;
+      &amp;lt;h3&amp;gt;{{_i}}Prepend &amp;amp;amp; append inputs{{/i}}&amp;lt;/h3&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Input groups&amp;amp;mdash;with appended or prepended text&amp;amp;mdash;provide an easy way to give more context for your inputs. Great examples include the &amp;lt; at &amp;gt; sign for Twitter usernames or $ for finances.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h3&amp;gt;{{_i}}Checkboxes and radios{{/i}}&amp;lt;/h3&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Up to v1.4, Bootstrap required extra markup around checkboxes and radios to stack them. Now, it's a simple matter of repeating the &amp;lt;code&amp;gt;&amp;amp;lt;label class="checkbox"&amp;amp;gt;&amp;lt;/code&amp;gt; that wraps the &amp;lt;code&amp;gt;&amp;amp;lt;input type="checkbox"&amp;amp;gt;&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Inline checkboxes and radios are also supported. Just add &amp;lt;code&amp;gt;.inline&amp;lt;/code&amp;gt; to any &amp;lt;code&amp;gt;.checkbox&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.radio&amp;lt;/code&amp;gt; and you're done.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h4&amp;gt;{{_i}}Inline forms and append/prepend{{/i}}&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}To use prepend or append inputs in an inline form, be sure to place the &amp;lt;code&amp;gt;.add-on&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; on the same line, without spaces.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h4&amp;gt;{{_i}}Form help text{{/i}}&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}To add help text for your form inputs, include inline help text with &amp;lt;code&amp;gt;&amp;amp;lt;span class="help-inline"&amp;amp;gt;&amp;lt;/code&amp;gt; or a help text block with &amp;lt;code&amp;gt;&amp;amp;lt;p class="help-block"&amp;amp;gt;&amp;lt;/code&amp;gt; after the input element.{{/i}}&amp;lt;/p&amp;gt;
+    &amp;lt;/div&amp;gt;
     &amp;lt;div class="span8"&amp;gt;
       &amp;lt;form class="form-horizontal"&amp;gt;
         &amp;lt;fieldset&amp;gt;
-          &amp;lt;legend&amp;gt;{{_i}}Extending form controls{{/i}}&amp;lt;/legend&amp;gt;
           &amp;lt;div class="control-group"&amp;gt;
             &amp;lt;label class="control-label"&amp;gt;{{_i}}Form grid sizes{{/i}}&amp;lt;/label&amp;gt;
             &amp;lt;div class="controls docs-input-sizes"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1134,10 +1139,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;/div&amp;gt;
           &amp;lt;/div&amp;gt;
           &amp;lt;div class="control-group"&amp;gt;
-            &amp;lt;label class="control-label" for="appendedPrependedInput"&amp;gt;{{_i}}Append with button{{/i}}&amp;lt;/label&amp;gt;
+            &amp;lt;label class="control-label" for="appendedInputButton"&amp;gt;{{_i}}Append with button{{/i}}&amp;lt;/label&amp;gt;
+            &amp;lt;div class="controls"&amp;gt;
+              &amp;lt;div class="input-append"&amp;gt;
+                &amp;lt;input class="span2" id="appendedInputButton" size="16" type="text"&amp;gt;&amp;lt;button class="btn" type="button"&amp;gt;Go!&amp;lt;/button&amp;gt;
+              &amp;lt;/div&amp;gt;
+            &amp;lt;/div&amp;gt;
+          &amp;lt;/div&amp;gt;
+          &amp;lt;div class="control-group"&amp;gt;
+            &amp;lt;label class="control-label" for="appendedInputButtons"&amp;gt;{{_i}}Two-button append{{/i}}&amp;lt;/label&amp;gt;
             &amp;lt;div class="controls"&amp;gt;
               &amp;lt;div class="input-append"&amp;gt;
-                &amp;lt;input class="span2" id="appendedPrependedInput" size="16" type="text"&amp;gt;&amp;lt;button class="btn" type="button"&amp;gt;Go!&amp;lt;/button&amp;gt;
+                &amp;lt;input class="span2" id="appendedInputButtons" size="16" type="text"&amp;gt;&amp;lt;button class="btn" type="button"&amp;gt;Search&amp;lt;/button&amp;gt;&amp;lt;button class="btn" type="button"&amp;gt;Options&amp;lt;/button&amp;gt;
               &amp;lt;/div&amp;gt;
             &amp;lt;/div&amp;gt;
           &amp;lt;/div&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1193,20 +1206,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;/fieldset&amp;gt;
       &amp;lt;/form&amp;gt;
     &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;h3&amp;gt;{{_i}}Prepend &amp;amp;amp; append inputs{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Input groups&amp;amp;mdash;with appended or prepended text&amp;amp;mdash;provide an easy way to give more context for your inputs. Great examples include the &amp;lt; at &amp;gt; sign for Twitter usernames or $ for finances.{{/i}}&amp;lt;/p&amp;gt;
-      &amp;lt;hr&amp;gt;
-      &amp;lt;h3&amp;gt;{{_i}}Checkboxes and radios{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Up to v1.4, Bootstrap required extra markup around checkboxes and radios to stack them. Now, it's a simple matter of repeating the &amp;lt;code&amp;gt;&amp;amp;lt;label class="checkbox"&amp;amp;gt;&amp;lt;/code&amp;gt; that wraps the &amp;lt;code&amp;gt;&amp;amp;lt;input type="checkbox"&amp;amp;gt;&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Inline checkboxes and radios are also supported. Just add &amp;lt;code&amp;gt;.inline&amp;lt;/code&amp;gt; to any &amp;lt;code&amp;gt;.checkbox&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.radio&amp;lt;/code&amp;gt; and you're done.{{/i}}&amp;lt;/p&amp;gt;
-      &amp;lt;hr&amp;gt;
-      &amp;lt;h4&amp;gt;{{_i}}Inline forms and append/prepend{{/i}}&amp;lt;/h4&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}To use prepend or append inputs in an inline form, be sure to place the &amp;lt;code&amp;gt;.add-on&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; on the same line, without spaces.{{/i}}&amp;lt;/p&amp;gt;
-      &amp;lt;hr&amp;gt;
-      &amp;lt;h4&amp;gt;{{_i}}Form help text{{/i}}&amp;lt;/h4&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}To add help text for your form inputs, include inline help text with &amp;lt;code&amp;gt;&amp;amp;lt;span class="help-inline"&amp;amp;gt;&amp;lt;/code&amp;gt; or a help text block with &amp;lt;code&amp;gt;&amp;amp;lt;p class="help-block"&amp;amp;gt;&amp;lt;/code&amp;gt; after the input element.{{/i}}&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /row --&amp;gt;
 &amp;lt;/section&amp;gt;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1240,7 +1239,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;button class="btn btn-info" href="#"&amp;gt;{{_i}}Info{{/i}}&amp;lt;/button&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;btn btn-info&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;{{_i}}Used as an alternate to the default styles{{/i}}&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;{{_i}}Used as an alternative to the default styles{{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;button class="btn btn-success" href="#"&amp;gt;{{_i}}Success{{/i}}&amp;lt;/button&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1369,15 +1368,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-inbox"&amp;gt;&amp;lt;/i&amp;gt; icon-inbox&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-play-circle"&amp;gt;&amp;lt;/i&amp;gt; icon-play-circle&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-repeat"&amp;gt;&amp;lt;/i&amp;gt; icon-repeat&amp;lt;/li&amp;gt;
-      &amp;lt;/ul&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
-      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-refresh"&amp;gt;&amp;lt;/i&amp;gt; icon-refresh&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-list-alt"&amp;gt;&amp;lt;/i&amp;gt; icon-list-alt&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-lock"&amp;gt;&amp;lt;/i&amp;gt; icon-lock&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-flag"&amp;gt;&amp;lt;/i&amp;gt; icon-flag&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-headphones"&amp;gt;&amp;lt;/i&amp;gt; icon-headphones&amp;lt;/li&amp;gt;
+      &amp;lt;/ul&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span3"&amp;gt;
+      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-volume-off"&amp;gt;&amp;lt;/i&amp;gt; icon-volume-off&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-volume-down"&amp;gt;&amp;lt;/i&amp;gt; icon-volume-down&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-volume-up"&amp;gt;&amp;lt;/i&amp;gt; icon-volume-up&amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1403,10 +1402,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-indent-right"&amp;gt;&amp;lt;/i&amp;gt; icon-indent-right&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-facetime-video"&amp;gt;&amp;lt;/i&amp;gt; icon-facetime-video&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-picture"&amp;gt;&amp;lt;/i&amp;gt; icon-picture&amp;lt;/li&amp;gt;
-      &amp;lt;/ul&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
-      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-pencil"&amp;gt;&amp;lt;/i&amp;gt; icon-pencil&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-map-marker"&amp;gt;&amp;lt;/i&amp;gt; icon-map-marker&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-adjust"&amp;gt;&amp;lt;/i&amp;gt; icon-adjust&amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1417,6 +1412,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-move"&amp;gt;&amp;lt;/i&amp;gt; icon-move&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-step-backward"&amp;gt;&amp;lt;/i&amp;gt; icon-step-backward&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-fast-backward"&amp;gt;&amp;lt;/i&amp;gt; icon-fast-backward&amp;lt;/li&amp;gt;
+      &amp;lt;/ul&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span3"&amp;gt;
+      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-backward"&amp;gt;&amp;lt;/i&amp;gt; icon-backward&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-play"&amp;gt;&amp;lt;/i&amp;gt; icon-play&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-pause"&amp;gt;&amp;lt;/i&amp;gt; icon-pause&amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1437,10 +1436,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-remove-circle"&amp;gt;&amp;lt;/i&amp;gt; icon-remove-circle&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-ok-circle"&amp;gt;&amp;lt;/i&amp;gt; icon-ok-circle&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-ban-circle"&amp;gt;&amp;lt;/i&amp;gt; icon-ban-circle&amp;lt;/li&amp;gt;
-      &amp;lt;/ul&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span3"&amp;gt;
-      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-arrow-left"&amp;gt;&amp;lt;/i&amp;gt; icon-arrow-left&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-arrow-right"&amp;gt;&amp;lt;/i&amp;gt; icon-arrow-right&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-arrow-up"&amp;gt;&amp;lt;/i&amp;gt; icon-arrow-up&amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1456,6 +1451,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-leaf"&amp;gt;&amp;lt;/i&amp;gt; icon-leaf&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-fire"&amp;gt;&amp;lt;/i&amp;gt; icon-fire&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-eye-open"&amp;gt;&amp;lt;/i&amp;gt; icon-eye-open&amp;lt;/li&amp;gt;
+      &amp;lt;/ul&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span3"&amp;gt;
+      &amp;lt;ul class="the-icons"&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-eye-close"&amp;gt;&amp;lt;/i&amp;gt; icon-eye-close&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-warning-sign"&amp;gt;&amp;lt;/i&amp;gt; icon-warning-sign&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-plane"&amp;gt;&amp;lt;/i&amp;gt; icon-plane&amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1471,6 +1470,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-folder-open"&amp;gt;&amp;lt;/i&amp;gt; icon-folder-open&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-resize-vertical"&amp;gt;&amp;lt;/i&amp;gt; icon-resize-vertical&amp;lt;/li&amp;gt;
         &amp;lt;li&amp;gt;&amp;lt;i class="icon-resize-horizontal"&amp;gt;&amp;lt;/i&amp;gt; icon-resize-horizontal&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-hdd"&amp;gt;&amp;lt;/i&amp;gt; icon-hdd&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-bullhorn"&amp;gt;&amp;lt;/i&amp;gt; icon-bullhorn&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-bell"&amp;gt;&amp;lt;/i&amp;gt; icon-bell&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-certificate"&amp;gt;&amp;lt;/i&amp;gt; icon-certificate&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-thumbs-up"&amp;gt;&amp;lt;/i&amp;gt; icon-thumbs-up&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-thumbs-down"&amp;gt;&amp;lt;/i&amp;gt; icon-thumbs-down&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-hand-right"&amp;gt;&amp;lt;/i&amp;gt; icon-hand-right&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-hand-left"&amp;gt;&amp;lt;/i&amp;gt; icon-hand-left&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-hand-up"&amp;gt;&amp;lt;/i&amp;gt; icon-hand-up&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-hand-down"&amp;gt;&amp;lt;/i&amp;gt; icon-hand-down&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-circle-arrow-right"&amp;gt;&amp;lt;/i&amp;gt; icon-circle-arrow-right&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-circle-arrow-left"&amp;gt;&amp;lt;/i&amp;gt; icon-circle-arrow-left&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-circle-arrow-up"&amp;gt;&amp;lt;/i&amp;gt; icon-circle-arrow-up&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-circle-arrow-down"&amp;gt;&amp;lt;/i&amp;gt; icon-circle-arrow-down&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-globe"&amp;gt;&amp;lt;/i&amp;gt; icon-globe&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-wrench"&amp;gt;&amp;lt;/i&amp;gt; icon-wrench&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-tasks"&amp;gt;&amp;lt;/i&amp;gt; icon-tasks&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-filter"&amp;gt;&amp;lt;/i&amp;gt; icon-filter&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-briefcase"&amp;gt;&amp;lt;/i&amp;gt; icon-briefcase&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;&amp;lt;i class="icon-fullscreen"&amp;gt;&amp;lt;/i&amp;gt; icon-fullscreen&amp;lt;/li&amp;gt;
       &amp;lt;/ul&amp;gt;
     &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1563,8 +1582,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           &amp;lt;label class="control-label" for="inputIcon"&amp;gt;{{_i}}Email address{{/i}}&amp;lt;/label&amp;gt;
           &amp;lt;div class="controls"&amp;gt;
             &amp;lt;div class="input-prepend"&amp;gt;
-              &amp;lt;span class="add-on"&amp;gt;&amp;lt;i class="icon-envelope"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;
-              &amp;lt;input class="span2" id="inputIcon" type="text"&amp;gt;
+              &amp;lt;span class="add-on"&amp;gt;&amp;lt;i class="icon-envelope"&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;input class="span2" id="inputIcon" type="text"&amp;gt;
             &amp;lt;/div&amp;gt;
           &amp;lt;/div&amp;gt;
         &amp;lt;/div&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/components.mustache b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/components.mustache
index 1a7f5b9..8e81a95 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/components.mustache
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/components.mustache
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -345,7 +345,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;/div&amp;gt;&amp;lt;!-- /btn-group --&amp;gt;
       &amp;lt;/div&amp;gt;&amp;lt;!-- /btn-toolbar --&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Sizes{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Utilize the extra button classe &amp;lt;code&amp;gt;.btn-mini&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.btn-small&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;.btn-large&amp;lt;/code&amp;gt; for sizing.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Utilize the extra button classes &amp;lt;code&amp;gt;.btn-mini&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.btn-small&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;.btn-large&amp;lt;/code&amp;gt; for sizing.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;div class="btn-toolbar"&amp;gt;
         &amp;lt;div class="btn-group"&amp;gt;
           &amp;lt;button class="btn btn-large"&amp;gt;{{_i}}Large action{{/i}}&amp;lt;/button&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -563,16 +563,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;{{_i}}Separated link{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
           &amp;lt;/ul&amp;gt;
         &amp;lt;/li&amp;gt;
-        &amp;lt;li class="dropdown"&amp;gt;
-          &amp;lt;a class="dropdown-toggle" data-toggle="dropdown" href="#"&amp;gt;{{_i}}Dropup{{/i}} &amp;lt;b class="caret bottom-up"&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;
-          &amp;lt;ul class="dropdown-menu bottom-up pull-right"&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;{{_i}}Action{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;{{_i}}Another action{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;{{_i}}Something else here{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li class="divider"&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;{{_i}}Separated link{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-          &amp;lt;/ul&amp;gt;
-        &amp;lt;/li&amp;gt;
       &amp;lt;/ul&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;ul class="nav nav-tabs"&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -605,16 +595,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;{{_i}}Separated link{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
           &amp;lt;/ul&amp;gt;
         &amp;lt;/li&amp;gt;
-        &amp;lt;li class="dropdown"&amp;gt;
-          &amp;lt;a class="dropdown-toggle" data-toggle="dropdown" href="#"&amp;gt;{{_i}}Dropup{{/i}} &amp;lt;b class="caret bottom-up"&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;
-          &amp;lt;ul class="dropdown-menu bottom-up pull-right"&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;{{_i}}Action{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;{{_i}}Another action{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;{{_i}}Something else here{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li class="divider"&amp;gt;&amp;lt;/li&amp;gt;
-            &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;{{_i}}Separated link{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-          &amp;lt;/ul&amp;gt;
-        &amp;lt;/li&amp;gt;
       &amp;lt;/ul&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;ul class="nav nav-pills"&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -722,54 +702,58 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}What's included{{/i}}&amp;lt;/h3&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}Bring your tabs to life with a simple plugin to toggle between content via tabs. Bootstrap integrates tabbable tabs in four styles: top (default), right, bottom, and left.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}Changing between them is easy and only requires changing very little markup.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h4&amp;gt;{{_i}}Fade in tabs{{/i}}&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}To make tabs fade in, add &amp;lt;code&amp;gt;.fade&amp;lt;/code&amp;gt; to each &amp;lt;code&amp;gt;.tab-pane&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;hr&amp;gt;
+      &amp;lt;h4&amp;gt;{{_i}}Requires jQuery plugin{{/i}}&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}All tabbable tabs are powered by our lightweight jQuery plugin. Read more about how to bring tabbable tabs to life &amp;lt;a href="./javascript.html#tabs"&amp;gt;on the javascript docs page&amp;lt;/a&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;&amp;lt;a class="btn" href="./javascript.html#tabs"&amp;gt;{{_i}}Get the javascript &amp;amp;rarr;{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span4"&amp;gt;
+    &amp;lt;div class="span8"&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Tabbable example{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}To make tabs tabbable, wrap the &amp;lt;code&amp;gt;.nav-tabs&amp;lt;/code&amp;gt; in another div with class &amp;lt;code&amp;gt;.tabbable&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
-      &amp;lt;div class="tabbable" style="margin-bottom: 9px;"&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}To make tabs tabbable, create a &amp;lt;code&amp;gt;.tab-pane&amp;lt;/code&amp;gt; with unique ID for every tab and wrap them in &amp;lt;code&amp;gt;.tab-content&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;div class="tabbable" style="margin-bottom: 18px;"&amp;gt;
         &amp;lt;ul class="nav nav-tabs"&amp;gt;
-          &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#1" data-toggle="tab"&amp;gt;{{_i}}Section 1{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-          &amp;lt;li&amp;gt;&amp;lt;a href="#2" data-toggle="tab"&amp;gt;{{_i}}Section 2{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-          &amp;lt;li&amp;gt;&amp;lt;a href="#3" data-toggle="tab"&amp;gt;{{_i}}Section 3{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#tab1" data-toggle="tab"&amp;gt;{{_i}}Section 1{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;&amp;lt;a href="#tab2" data-toggle="tab"&amp;gt;{{_i}}Section 2{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;&amp;lt;a href="#tab3" data-toggle="tab"&amp;gt;{{_i}}Section 3{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
         &amp;lt;/ul&amp;gt;
-        &amp;lt;div class="tab-content"&amp;gt;
-          &amp;lt;div class="tab-pane active" id="1"&amp;gt;
+        &amp;lt;div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;"&amp;gt;
+          &amp;lt;div class="tab-pane active" id="tab1"&amp;gt;
             &amp;lt;p&amp;gt;{{_i}}I'm in Section 1.{{/i}}&amp;lt;/p&amp;gt;
           &amp;lt;/div&amp;gt;
-          &amp;lt;div class="tab-pane" id="2"&amp;gt;
+          &amp;lt;div class="tab-pane" id="tab2"&amp;gt;
             &amp;lt;p&amp;gt;{{_i}}Howdy, I'm in Section 2.{{/i}}&amp;lt;/p&amp;gt;
           &amp;lt;/div&amp;gt;
-          &amp;lt;div class="tab-pane" id="3"&amp;gt;
+          &amp;lt;div class="tab-pane" id="tab3"&amp;gt;
             &amp;lt;p&amp;gt;{{_i}}What up girl, this is Section 3.{{/i}}&amp;lt;/p&amp;gt;
           &amp;lt;/div&amp;gt;
         &amp;lt;/div&amp;gt;
       &amp;lt;/div&amp;gt; &amp;lt;!-- /tabbable --&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;h3&amp;gt;{{_i}}Custom jQuery plugin{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}All tabbable tabs are powered by our lightweight jQuery plugin. Read more about how to bring tabbable tabs to life on the javascript docs page.{{/i}}&amp;lt;/p&amp;gt;
-      &amp;lt;p&amp;gt;&amp;lt;a class="btn" href="./javascript.html#tabs"&amp;gt;{{_i}}Get the javascript &amp;amp;rarr;{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
-    &amp;lt;/div&amp;gt;
-  &amp;lt;/div&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}For right or left aligned tabs, wrap the &amp;lt;code&amp;gt;.nav-tabs&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.tab-content&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;.tabbable&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
 
-  &amp;lt;h3&amp;gt;{{_i}}Straightforward markup{{/i}}&amp;lt;/h3&amp;gt;
-  &amp;lt;p&amp;gt;{{_i}}Using tabbable tabs requires a wrapping div, a set of tabs, and a set of tabbable panes of content.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;h3&amp;gt;{{_i}}Straightforward markup{{/i}}&amp;lt;/h3&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Using tabbable tabs requires a wrapping div, a set of tabs, and a set of tabbable panes of content.{{/i}}&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
-&amp;amp;lt;div class="tabbable"&amp;amp;gt;
+&amp;amp;lt;div class="tabbable"&amp;amp;gt; &amp;amp;lt;-- Only required for left/right tabs --&amp;amp;gt;
   &amp;amp;lt;ul class="nav nav-tabs"&amp;amp;gt;
-    &amp;amp;lt;li class="active"&amp;amp;gt;&amp;amp;lt;a href="#1" data-toggle="tab"&amp;amp;gt;{{_i}}Section 1{{/i}}&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
-    &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href="#2" data-toggle="tab"&amp;amp;gt;{{_i}}Section 2{{/i}}&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
+    &amp;amp;lt;li class="active"&amp;amp;gt;&amp;amp;lt;a href="#tab1" data-toggle="tab"&amp;amp;gt;{{_i}}Section 1{{/i}}&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
+    &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href="#tab2" data-toggle="tab"&amp;amp;gt;{{_i}}Section 2{{/i}}&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
   &amp;amp;lt;/ul&amp;amp;gt;
   &amp;amp;lt;div class="tab-content"&amp;amp;gt;
-    &amp;amp;lt;div class="tab-pane active" id="1"&amp;amp;gt;
+    &amp;amp;lt;div class="tab-pane active" id="tab1"&amp;amp;gt;
       &amp;amp;lt;p&amp;amp;gt;{{_i}}I'm in Section 1.{{/i}}&amp;amp;lt;/p&amp;amp;gt;
     &amp;amp;lt;/div&amp;amp;gt;
-    &amp;amp;lt;div class="tab-pane" id="2"&amp;amp;gt;
+    &amp;amp;lt;div class="tab-pane" id="tab2"&amp;amp;gt;
       &amp;amp;lt;p&amp;amp;gt;{{_i}}Howdy, I'm in Section 2.{{/i}}&amp;amp;lt;/p&amp;amp;gt;
     &amp;amp;lt;/div&amp;amp;gt;
   &amp;amp;lt;/div&amp;amp;gt;
 &amp;amp;lt;/div&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
+    &amp;lt;/div&amp;gt;
+  &amp;lt;/div&amp;gt;
+
 
   &amp;lt;h3&amp;gt;{{_i}}Tabbable in any direction{{/i}}&amp;lt;/h3&amp;gt;
   &amp;lt;div class="row"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -964,7 +948,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/pre&amp;gt;
         &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
       &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}When you affix the navbar, remember to account for the hidden area underneath. Add 40px or more of apdding to the &amp;lt;code&amp;gt;&amp;amp;lt;body&amp;amp;gt;&amp;lt;/code&amp;gt;. Be sure to add this after the core Bootstrap CSS and before the optional responsive CSS.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}When you affix the navbar, remember to account for the hidden area underneath. Add 40px or more of padding to the &amp;lt;code&amp;gt;&amp;amp;lt;body&amp;amp;gt;&amp;lt;/code&amp;gt;. Be sure to add this after the core Bootstrap CSS and before the optional responsive CSS.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Brand name{{/i}}&amp;lt;/h3&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}A simple link to show your brand or project name only requires an anchor tag.{{/i}}&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -979,7 +963,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;amp;lt;input type="text" class="span2"&amp;amp;gt;
 &amp;amp;lt;/form&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}For a more customized search form, add the &amp;lt;code&amp;gt;.navbar-search&amp;lt;/code&amp;gt; class to receive specialized styles in the navbar.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}For a more customized search form, add &amp;lt;code&amp;gt;.navbar-search&amp;lt;/code&amp;gt; to the &amp;lt;code&amp;gt;form&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.search-query&amp;lt;/code&amp;gt; to the input for specialized styles in the navbar.{{/i}}&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;form class="navbar-search pull-left"&amp;amp;gt;
   &amp;amp;lt;input type="text" class="search-query" placeholder="{{_i}}Search{{/i}}"&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1012,7 +996,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;amp;lt;/div&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
       &amp;lt;div class="alert alert-info"&amp;gt;
-        &amp;lt;strong&amp;gt;{{_i}}Heads up!{{/i}}&amp;lt;/strong&amp;gt; The responsive navbar requires the &amp;lt;a href="./javascript.html#collapse"&amp;gt;collapse plugin&amp;lt;/a&amp;gt;.
+        &amp;lt;strong&amp;gt;{{_i}}Heads up!{{/i}}&amp;lt;/strong&amp;gt; The responsive navbar requires the &amp;lt;a href="./javascript.html#collapse"&amp;gt;collapse plugin&amp;lt;/a&amp;gt; and &amp;lt;a href="./scaffolding.html#responsive"&amp;gt;responsive Bootstrap CSS file&amp;lt;/a&amp;gt;.
       &amp;lt;/div&amp;gt;
 
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1039,7 +1023,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Component alignment{{/i}}&amp;lt;/h3&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}To align a nav, search form, or text, use the &amp;lt;code&amp;gt;.pull-left&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;.pull-right&amp;lt;/code&amp;gt; utility classes. Both classes will add a CSS float in the specified direction.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Adding dropdown menus{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Adding dropdowns and dropups to the nav is super simple, but does require the use of &amp;lt;a href="./javascript.html/#dropdown"&amp;gt;our javascript plugin&amp;lt;/a&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Adding dropdowns and dropups to the nav is super simple, but does require the use of &amp;lt;a href="./javascript.html#dropdowns"&amp;gt;our javascript plugin&amp;lt;/a&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;ul class="nav"&amp;amp;gt;
   &amp;amp;lt;li class="dropdown"&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1058,7 +1042,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;p&amp;gt;&amp;lt;a class="btn" href="./javascript.html#dropdowns"&amp;gt;{{_i}}Get the javascript &amp;amp;rarr;{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
       &amp;lt;hr&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Text in the navbar{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Wrap strings of text in a &amp;lt;code&amp;gt;&amp;amp;lt;p&amp;amp;gt;&amp;lt;/code&amp;gt; tag for proper leading and color.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Wrap strings of text in a &amp;lt;code&amp;gt;&amp;amp;lt;.navbar-text&amp;amp;gt;&amp;lt;/code&amp;gt;, usually on a &amp;lt;code&amp;gt;&amp;amp;lt;p&amp;amp;gt;&amp;lt;/code&amp;gt; tag for proper leading and color.{{/i}}&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /.row --&amp;gt;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1155,11 +1139,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;/div&amp;gt;
       &amp;lt;div class="pagination"&amp;gt;
         &amp;lt;ul&amp;gt;
-          &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;&amp;amp;larr;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;&amp;amp;laquo;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
           &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#"&amp;gt;10&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
           &amp;lt;li class="disabled"&amp;gt;&amp;lt;a href="#"&amp;gt;...&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
           &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;20&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-          &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;&amp;amp;rarr;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;&amp;amp;raquo;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
         &amp;lt;/ul&amp;gt;
       &amp;lt;/div&amp;gt;
       &amp;lt;div class="pagination pagination-centered"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1366,13 +1350,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
             &amp;lt;td&amp;gt;
-              {{_i}}Error{{/i}}
+              {{_i}}Important{{/i}}
             &amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;
-              &amp;lt;span class="badge badge-error"&amp;gt;6&amp;lt;/span&amp;gt;
+              &amp;lt;span class="badge badge-important"&amp;gt;6&amp;lt;/span&amp;gt;
             &amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;
-              &amp;lt;code&amp;gt;&amp;amp;lt;span class="badge badge-error"&amp;amp;gt;6&amp;amp;lt;/span&amp;amp;gt;&amp;lt;/code&amp;gt;
+              &amp;lt;code&amp;gt;&amp;amp;lt;span class="badge badge-important"&amp;amp;gt;6&amp;amp;lt;/span&amp;amp;gt;&amp;lt;/code&amp;gt;
             &amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1440,7 +1424,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;lt;h2&amp;gt;{{_i}}Page header{{/i}}&amp;lt;/h2&amp;gt;
   &amp;lt;div class="row"&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}A simple shell for an &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt; to appropratiely space out and segment sections of content on a page. It can utilize the &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt;'s default &amp;lt;code&amp;gt;small&amp;lt;/code&amp;gt;, element as well most other components (with additional styles).{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}A simple shell for an &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt; to appropriately space out and segment sections of content on a page. It can utilize the &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt;'s default &amp;lt;code&amp;gt;small&amp;lt;/code&amp;gt;, element as well most other components (with additional styles).{{/i}}&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;
     &amp;lt;div class="span8"&amp;gt;
       &amp;lt;div class="page-header"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1627,24 +1611,25 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Example alerts{{/i}}&amp;lt;/h3&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}Wrap your message and an optional close icon in a div with simple class.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;div class="alert"&amp;gt;
-        &amp;lt;a class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+        &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
         &amp;lt;strong&amp;gt;{{_i}}Warning!{{/i}}&amp;lt;/strong&amp;gt; {{_i}}Best check yo self, you're not looking too good.{{/i}}
       &amp;lt;/div&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;div class="alert"&amp;amp;gt;
-  &amp;amp;lt;a class="close" data-dismiss="alert"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;
+  &amp;amp;lt;button class="close" data-dismiss="alert"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/button&amp;amp;gt;
   &amp;amp;lt;strong&amp;amp;gt;{{_i}}Warning!{{/i}}&amp;amp;lt;/strong&amp;amp;gt; {{_i}}Best check yo self, you're not looking too good.{{/i}}
 &amp;amp;lt;/div&amp;amp;gt;
 &amp;lt;/pre&amp;gt;
+      &amp;lt;p&amp;gt;&amp;lt;span class="label label-info"&amp;gt;{{_i}}Heads up!{{/i}}&amp;lt;/span&amp;gt; {{_i}}iOS devices require an &amp;lt;code&amp;gt;href="#"&amp;lt;/code&amp;gt; for the dismissal of alerts. Be sure to include it and the data attribute for anchor close icons. Alternatively, you may use a &amp;lt;code&amp;gt;button&amp;lt;/code&amp;gt; element with the data attribute, which we have opted to do for our docs.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}Easily extend the standard alert message with two optional classes: &amp;lt;code&amp;gt;.alert-block&amp;lt;/code&amp;gt; for more padding and text controls and &amp;lt;code&amp;gt;.alert-heading&amp;lt;/code&amp;gt; for a matching heading.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;div class="alert alert-block"&amp;gt;
-        &amp;lt;a class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+        &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
         &amp;lt;h4 class="alert-heading"&amp;gt;{{_i}}Warning!{{/i}}&amp;lt;/h4&amp;gt;
         &amp;lt;p&amp;gt;{{_i}}Best check yo self, you're not looking too good.{{/i}} Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.&amp;lt;/p&amp;gt;
       &amp;lt;/div&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;div class="alert alert-block"&amp;amp;gt;
-  &amp;amp;lt;a class="close" data-dismiss="alert"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;
+  &amp;amp;lt;a class="close" data-dismiss="alert" href="#"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;
   &amp;amp;lt;h4 class="alert-heading"&amp;amp;gt;{{_i}}Warning!{{/i}}&amp;amp;lt;/h4&amp;amp;gt;
   {{_i}}Best check yo self, you're not...{{/i}}
 &amp;amp;lt;/div&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1657,7 +1642,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Error or danger{{/i}}&amp;lt;/h3&amp;gt;
       &amp;lt;div class="alert alert-error"&amp;gt;
-        &amp;lt;a class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+        &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
         &amp;lt;strong&amp;gt;{{_i}}Oh snap!{{/i}}&amp;lt;/strong&amp;gt; {{_i}}Change a few things up and try submitting again.{{/i}}
       &amp;lt;/div&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1669,7 +1654,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Success{{/i}}&amp;lt;/h3&amp;gt;
       &amp;lt;div class="alert alert-success"&amp;gt;
-        &amp;lt;a class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+        &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
         &amp;lt;strong&amp;gt;{{_i}}Well done!{{/i}}&amp;lt;/strong&amp;gt; {{_i}}You successfully read this important alert message.{{/i}}
       &amp;lt;/div&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1681,7 +1666,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Information{{/i}}&amp;lt;/h3&amp;gt;
       &amp;lt;div class="alert alert-info"&amp;gt;
-        &amp;lt;a class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+        &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
         &amp;lt;strong&amp;gt;{{_i}}Heads up!{{/i}}&amp;lt;/strong&amp;gt; {{_i}}This alert needs your attention, but it's not super important.{{/i}}
       &amp;lt;/div&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1821,8 +1806,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h2&amp;gt;{{_i}}Close icon{{/i}}&amp;lt;/h2&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}Use the generic close icon for dismissing content like modals and alerts.{{/i}}&amp;lt;/p&amp;gt;
-      &amp;lt;p&amp;gt;&amp;lt;a class="close" style="float: none;"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
-&amp;lt;pre class="prettyprint linenums"&amp;gt;&amp;amp;lt;a class="close"&amp;amp;gt;&amp;amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;&amp;lt;/pre&amp;gt;
+      &amp;lt;p&amp;gt;&amp;lt;button class="close" style="float: none;"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;&amp;amp;lt;button class="close"&amp;amp;gt;&amp;amp;amp;times;&amp;amp;lt;/button&amp;amp;gt;&amp;lt;/pre&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}iOS devices require an href="#" for click events if you rather use an anchor.{{/i}}&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;&amp;amp;lt;a class="close" href="#"&amp;amp;gt;&amp;amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;&amp;lt;/pre&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
 &amp;lt;/section&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/download.mustache b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/download.mustache
index 87fdc6a..ffade09 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/download.mustache
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/download.mustache
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,8 +31,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Base CSS{{/i}}&amp;lt;/h3&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="type.less"&amp;gt; {{_i}}Headings, body, etc{{/i}}&amp;lt;/label&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="code.less"&amp;gt; {{_i}}Code and pre{{/i}}&amp;lt;/label&amp;gt;
-      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="labels.less"&amp;gt; {{_i}}Labels{{/i}}&amp;lt;/label&amp;gt;
-      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="badges.less"&amp;gt; {{_i}}Badges{{/i}}&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="labels-badges.less"&amp;gt; {{_i}}Labels and badges{{/i}}&amp;lt;/label&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="tables.less"&amp;gt; {{_i}}Tables{{/i}}&amp;lt;/label&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="forms.less"&amp;gt; {{_i}}Forms{{/i}}&amp;lt;/label&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="buttons.less"&amp;gt; {{_i}}Buttons{{/i}}&amp;lt;/label&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -67,7 +66,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="utilities.less"&amp;gt; {{_i}}Utilities{{/i}}&amp;lt;/label&amp;gt;
       &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="component-animations.less"&amp;gt; {{_i}}Component animations{{/i}}&amp;lt;/label&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Responsive{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive.less"&amp;gt; {{_i}}Responsive layouts{{/i}}&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive-utilities.less"&amp;gt; {{_i}}Visible/hidden classes{{/i}}&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive-767px-max.less"&amp;gt; {{_i}}Narrow tablets and below (&amp;lt;767px){{/i}}&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive-768px-979px.less"&amp;gt; {{_i}}Tablets to desktops (767-979px){{/i}}&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive-1200px-min.less"&amp;gt; {{_i}}Large desktops (&amp;gt;1200px){{/i}}&amp;lt;/label&amp;gt;
+      &amp;lt;label class="checkbox"&amp;gt;&amp;lt;input checked="checked" type="checkbox" value="responsive-navbar.less"&amp;gt; {{_i}}Responsive navbar{{/i}}&amp;lt;/label&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /row --&amp;gt;
 &amp;lt;/section&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -200,14 +203,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="2.127659574%"&amp;gt;
 
       &amp;lt;h3&amp;gt;{{_i}}Typography{{/i}}&amp;lt;/h3&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;sansFontFamily&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif"&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;serifFontFamily&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="Georgia, 'Times New Roman', Times, serif"&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;monoFontFamily&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="Menlo, Monaco, 'Courier New', monospace"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;baseFontSize&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="13px"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;baseFontFamily&amp;lt;/label&amp;gt;
-      &amp;lt;input type="text" class="span3" placeholder="'Helvetica Neue', Helvetica, Arial, sans-serif"&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;sansFontFamily"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;baseLineHeight&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="18px"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;altFontFamily&amp;lt;/label&amp;gt;
-      &amp;lt;input type="text" class="span3" placeholder="Georgia, 'Times New Roman', Times, serif;"&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;serifFontFamily"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;headingsFontFamily&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="inherit"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;headingsFontWeight&amp;lt;/label&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -241,6 +250,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;grayDark"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;navbarText&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;grayLight"&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;navbarBrandColor&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;navbarLinkColor"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;navbarLinkColor&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;grayLight"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;navbarLinkColorHover&amp;lt;/label&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -280,8 +291,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;white"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;inputBorder&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="#ccc"&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;inputBorderRadius&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="3px"&amp;gt;
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;inputDisabledBackground&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;grayLighter"&amp;gt;
+      &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;formActionsBackground&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" class="span3" placeholder="#f5f5f5"&amp;gt;
 
       &amp;lt;label&amp;gt;&amp;lt; at &amp;gt;btnPrimaryBackground&amp;lt;/label&amp;gt;
       &amp;lt;input type="text" class="span3" placeholder="&amp;lt; at &amp;gt;linkColor"&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/index.mustache b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/index.mustache
index 9d8253d..41a89e0 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/index.mustache
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/index.mustache
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,7 +6,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;p&amp;gt;{{_i}}Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.{{/i}}&amp;lt;/p&amp;gt;
     &amp;lt;p class="download-info"&amp;gt;
       &amp;lt;a href="https://github.com/twitter/bootstrap/" class="btn btn-primary btn-large"&amp;gt;{{_i}}View project on GitHub{{/i}}&amp;lt;/a&amp;gt;
-      &amp;lt;a href="assets/bootstrap.zip" class="btn btn-large"&amp;gt;{{_i}}Download Bootstrap &amp;lt;small&amp;gt;(v2.0.2)&amp;lt;/small&amp;gt;{{/i}}&amp;lt;/a&amp;gt;
+      &amp;lt;a href="assets/bootstrap.zip" class="btn btn-large"&amp;gt;{{_i}}Download Bootstrap &amp;lt;small&amp;gt;(v2.0.3)&amp;lt;/small&amp;gt;{{/i}}&amp;lt;/a&amp;gt;
     &amp;lt;/p&amp;gt;
   &amp;lt;/div&amp;gt;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -14,6 +14,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;ul class="quick-links"&amp;gt;
       &amp;lt;li&amp;gt;&amp;lt;a href="./upgrading.html"&amp;gt;{{_i}}Upgrading from 1.4{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
       &amp;lt;li&amp;gt;&amp;lt;a href="https://github.com/twitter/bootstrap/zipball/master"&amp;gt;{{_i}}Download with docs{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+      &amp;lt;li&amp;gt;&amp;lt;a href="http://blog.getbootstrap.com"&amp;gt;{{_i}}Read the blog{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
       &amp;lt;li&amp;gt;&amp;lt;a href="https://github.com/twitter/bootstrap/issues?state=open"&amp;gt;{{_i}}Submit issues{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
       &amp;lt;li&amp;gt;&amp;lt;a href="https://github.com/twitter/bootstrap/wiki"&amp;gt;{{_i}}Roadmap and changelog{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
     &amp;lt;/ul&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/javascript.mustache b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/javascript.mustache
index 7fd4c98..1ae3ffa 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/javascript.mustache
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/javascript.mustache
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -129,9 +129,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           &amp;lt;h2&amp;gt;{{_i}}Static example{{/i}}&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;{{_i}}Below is a statically rendered modal.{{/i}}&amp;lt;/p&amp;gt;
           &amp;lt;div class="well modal-example" style="background-color: #888; border: none;"&amp;gt;
-            &amp;lt;div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1"&amp;gt;
+            &amp;lt;div class="modal" style="position: relative; top: auto; left: auto; margin: 0 auto; z-index: 1; max-width: 100%;"&amp;gt;
               &amp;lt;div class="modal-header"&amp;gt;
-                &amp;lt;a href="#" class="close" data-dismiss="modal"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+                &amp;lt;button class="close" data-dismiss="modal"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
                 &amp;lt;h3&amp;gt;{{_i}}Modal header{{/i}}&amp;lt;/h3&amp;gt;
               &amp;lt;/div&amp;gt;
               &amp;lt;div class="modal-body"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -149,7 +149,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           &amp;lt;!-- sample modal content --&amp;gt;
           &amp;lt;div id="myModal" class="modal hide fade"&amp;gt;
             &amp;lt;div class="modal-header"&amp;gt;
-              &amp;lt;a class="close" data-dismiss="modal" &amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+              &amp;lt;button class="close" data-dismiss="modal"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
               &amp;lt;h3&amp;gt;{{_i}}Modal Heading{{/i}}&amp;lt;/h3&amp;gt;
             &amp;lt;/div&amp;gt;
             &amp;lt;div class="modal-body"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -226,7 +226,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;div class="modal" id="myModal"&amp;amp;gt;
   &amp;amp;lt;div class="modal-header"&amp;amp;gt;
-    &amp;amp;lt;a class="close" data-dismiss="modal"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/a&amp;amp;gt;
+    &amp;amp;lt;button class="close" data-dismiss="modal"&amp;amp;gt;&amp;amp;times;&amp;amp;lt;/button&amp;amp;gt;
     &amp;amp;lt;h3&amp;amp;gt;Modal header&amp;amp;lt;/h3&amp;amp;gt;
   &amp;amp;lt;/div&amp;amp;gt;
   &amp;amp;lt;div class="modal-body"&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -416,6 +416,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('#myModal').on('hidden', function () {
   &amp;amp;lt;/li&amp;amp;gt;
   ...
 &amp;amp;lt;/ul&amp;amp;gt;&amp;lt;/pre&amp;gt;
+          &amp;lt;p&amp;gt;{{_i}}To keep URLs intact, use the &amp;lt;code&amp;gt;data-target&amp;lt;/code&amp;gt; attribute instead of &amp;lt;code&amp;gt;href="#"&amp;lt;/code&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;
+&amp;amp;lt;ul class="nav nav-pills"&amp;amp;gt;
+  &amp;amp;lt;li class="dropdown"&amp;amp;gt;
+    &amp;amp;lt;a class="dropdown-toggle" data-toggle="dropdown" data-target="#" href="path/to/page.html"&amp;amp;gt;
+      {{_i}}Dropdown{{/i}}
+      &amp;amp;lt;b class="caret"&amp;amp;gt;&amp;amp;lt;/b&amp;amp;gt;
+    &amp;amp;lt;/a&amp;amp;gt;
+    &amp;amp;lt;ul class="dropdown-menu"&amp;amp;gt;
+      ...
+    &amp;amp;lt;/ul&amp;amp;gt;
+  &amp;amp;lt;/li&amp;amp;gt;
+&amp;amp;lt;/ul&amp;amp;gt;
+&amp;lt;/pre&amp;gt;
           &amp;lt;h3&amp;gt;{{_i}}Methods{{/i}}&amp;lt;/h3&amp;gt;
           &amp;lt;h4&amp;gt;$().dropdown()&amp;lt;/h4&amp;gt;
           &amp;lt;p&amp;gt;{{_i}}A programatic api for activating menus for a given navbar or tabbed navigation.{{/i}}&amp;lt;/p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -494,6 +508,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('#myModal').on('hidden', function () {
             &amp;lt;strong&amp;gt;{{_i}}Heads up!{{/i}}&amp;lt;/strong&amp;gt;
             {{_i}}Navbar links must have resolvable id targets. For example, a &amp;lt;code&amp;gt;&amp;amp;lt;a href="#home"&amp;amp;gt;home&amp;amp;lt;/a&amp;amp;gt;&amp;lt;/code&amp;gt; must correspond to something in the dom like &amp;lt;code&amp;gt;&amp;amp;lt;div id="home"&amp;amp;gt;&amp;amp;lt;/div&amp;amp;gt;&amp;lt;/code&amp;gt;.{{/i}}
           &amp;lt;/div&amp;gt;
+          &amp;lt;h3&amp;gt;{{_i}}Methods{{/i}}&amp;lt;/h3&amp;gt;
+          &amp;lt;h4&amp;gt;.scrollspy('refresh')&amp;lt;/h4&amp;gt;
+          &amp;lt;p&amp;gt;{{_i}}When using scrollspy in conjunction with adding or removing of elements from the DOM, you'll need to call the refresh method like so:{{/i}}&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;
+$('[data-spy="scroll"]').each(function () {
+  var $spy = $(this).scrollspy('refresh')
+});
+&amp;lt;/pre&amp;gt;
           &amp;lt;h3&amp;gt;{{_i}}Options{{/i}}&amp;lt;/h3&amp;gt;
           &amp;lt;table class="table table-bordered table-striped"&amp;gt;
             &amp;lt;thead&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -513,6 +535,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('#myModal').on('hidden', function () {
              &amp;lt;/tr&amp;gt;
             &amp;lt;/tbody&amp;gt;
           &amp;lt;/table&amp;gt;
+           &amp;lt;h3&amp;gt;{{_i}}Events{{/i}}&amp;lt;/h3&amp;gt;
+          &amp;lt;table class="table table-bordered table-striped"&amp;gt;
+            &amp;lt;thead&amp;gt;
+             &amp;lt;tr&amp;gt;
+               &amp;lt;th style="width: 150px;"&amp;gt;{{_i}}Event{{/i}}&amp;lt;/th&amp;gt;
+               &amp;lt;th&amp;gt;{{_i}}Description{{/i}}&amp;lt;/th&amp;gt;
+             &amp;lt;/tr&amp;gt;
+            &amp;lt;/thead&amp;gt;
+            &amp;lt;tbody&amp;gt;
+             &amp;lt;tr&amp;gt;
+               &amp;lt;td&amp;gt;{{_i}}activate{{/i}}&amp;lt;/td&amp;gt;
+               &amp;lt;td&amp;gt;{{_i}}This event fires whenever a new item becomes activated by the scrollspy.{{/i}}&amp;lt;/td&amp;gt;
+            &amp;lt;/tr&amp;gt;
+            &amp;lt;/tbody&amp;gt;
+          &amp;lt;/table&amp;gt;
         &amp;lt;/div&amp;gt;
       &amp;lt;/div&amp;gt;
     &amp;lt;/section&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -533,7 +570,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('#myModal').on('hidden', function () {
         &amp;lt;div class="span9 columns"&amp;gt;
           &amp;lt;h2&amp;gt;{{_i}}Example tabs{{/i}}&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;{{_i}}Click the tabs below to toggle between hidden panes, even via dropdown menus.{{/i}}&amp;lt;/p&amp;gt;
-          &amp;lt;ul id="tab" class="nav nav-tabs"&amp;gt;
+          &amp;lt;ul id="myTab" class="nav nav-tabs"&amp;gt;
             &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#home" data-toggle="tab"&amp;gt;{{_i}}Home{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
             &amp;lt;li&amp;gt;&amp;lt;a href="#profile" data-toggle="tab"&amp;gt;{{_i}}Profile{{/i}}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
             &amp;lt;li class="dropdown"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -560,10 +597,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('#myModal').on('hidden', function () {
           &amp;lt;/div&amp;gt;
           &amp;lt;hr&amp;gt;
           &amp;lt;h2&amp;gt;{{_i}}Using bootstrap-tab.js{{/i}}&amp;lt;/h2&amp;gt;
-          &amp;lt;p&amp;gt;{{_i}}Enable tabbable tabs via javascript:{{/i}}&amp;lt;/p&amp;gt;
-          &amp;lt;pre class="prettyprint linenums"&amp;gt;$('#myTab').tab('show')&amp;lt;/pre&amp;gt;
+          &amp;lt;p&amp;gt;{{_i}}Enable tabbable tabs via javascript (each tab needs to be activated individually):{{/i}}&amp;lt;/p&amp;gt;
+          &amp;lt;pre class="prettyprint linenums"&amp;gt;
+$('#myTab a').click(function (e) {
+  e.preventDefault();
+  $(this).tab('show');
+})&amp;lt;/pre&amp;gt;
+          &amp;lt;p&amp;gt;{{_i}}You can activate individual tabs in several ways:{{/i}}&amp;lt;/p&amp;gt;
+&amp;lt;pre class="prettyprint linenums"&amp;gt;
+$('#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)
+&amp;lt;/pre&amp;gt;
           &amp;lt;h3&amp;gt;{{_i}}Markup{{/i}}&amp;lt;/h3&amp;gt;
-          &amp;lt;p&amp;gt;{{_i}}You can activate a tab or pill navigation without writing any javascript by simply specifying &amp;lt;code&amp;gt;data-toggle="tab"&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;data-toggle="pill"&amp;lt;/code&amp;gt; on an element.{{/i}}&amp;lt;/p&amp;gt;
+          &amp;lt;p&amp;gt;{{_i}}You can activate a tab or pill navigation without writing any javascript by simply specifying &amp;lt;code&amp;gt;data-toggle="tab"&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;data-toggle="pill"&amp;lt;/code&amp;gt; on an element. Adding the &amp;lt;code&amp;gt;nav&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;nav-tabs&amp;lt;/code&amp;gt; classes to the tab &amp;lt;code&amp;gt;ul&amp;lt;/code&amp;gt; will apply the bootstrap tab styling.{{/i}}&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
 &amp;amp;lt;ul class="nav nav-tabs"&amp;amp;gt;
   &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href="#home" data-toggle="tab"&amp;amp;gt;{{_i}}Home{{/i}}&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -574,10 +622,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('#myModal').on('hidden', function () {
           &amp;lt;h3&amp;gt;{{_i}}Methods{{/i}}&amp;lt;/h3&amp;gt;
           &amp;lt;h4&amp;gt;$().tab&amp;lt;/h4&amp;gt;
           &amp;lt;p&amp;gt;
-            {{_i}}Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.{{/i}}
+            {{_i}}Activates a tab element and content container. Tab should have either a &amp;lt;code&amp;gt;data-target&amp;lt;/code&amp;gt; or an &amp;lt;code&amp;gt;href&amp;lt;/code&amp;gt; targeting a container node in the DOM.{{/i}}
           &amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
-&amp;amp;lt;ul class="nav nav-tabs"&amp;amp;gt;
+&amp;amp;lt;ul class="nav nav-tabs" id="myTab"&amp;amp;gt;
   &amp;amp;lt;li class="active"&amp;amp;gt;&amp;amp;lt;a href="#home"&amp;amp;gt;{{_i}}Home{{/i}}&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
   &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href="#profile"&amp;amp;gt;{{_i}}Profile{{/i}}&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
   &amp;amp;lt;li&amp;amp;gt;&amp;amp;lt;a href="#messages"&amp;amp;gt;{{_i}}Messages{{/i}}&amp;amp;lt;/a&amp;amp;gt;&amp;amp;lt;/li&amp;amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -593,7 +641,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('#myModal').on('hidden', function () {
 
 &amp;amp;lt;script&amp;amp;gt;
   $(function () {
-    $('.tabs a:last').tab('show')
+    $('#myTab a:last').tab('show');
   })
 &amp;amp;lt;/script&amp;amp;gt;&amp;lt;/pre&amp;gt;
           &amp;lt;h3&amp;gt;{{_i}}Events{{/i}}&amp;lt;/h3&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -642,7 +690,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('a[data-toggle="tab"]').on('shown', function (e) {
           &amp;lt;h2&amp;gt;{{_i}}Example use of Tooltips{{/i}}&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;{{_i}}Hover over the links below to see tooltips:{{/i}}&amp;lt;/p&amp;gt;
           &amp;lt;div class="tooltip-demo well"&amp;gt;
-            &amp;lt;p class="muted" style="margin-bottom: 0;"&amp;gt;{{_i}}Tight pants next level keffiyeh &amp;lt;a href="#" rel="tooltip" title="first tooltip"&amp;gt;you probably&amp;lt;/a&amp;gt; haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel &amp;lt;a href="#" rel="tooltip" title="Another tooltip"&amp;gt;have a&amp;lt;/a&amp;gt; terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A &amp;lt;a href="#" rel="tooltip" title="Another one here too"&amp;gt;really ironic&amp;lt;/a&amp;gt; artisan whatever keytar, scenester farm-to-table banksy Austin &amp;lt;a href="#" rel="tooltip" title="The last tip!"&amp;gt;twitter handle&amp;lt;/a&amp;gt; freegan cred raw denim single-origin coffee viral.{{/i}}
+            &amp;lt;p class="muted" style="margin-bottom: 0;"&amp;gt;{{_i}}Tight pants next level keffiyeh &amp;lt;a href="#" rel="tooltip" title="first tooltip"&amp;gt;you probably&amp;lt;/a&amp;gt; haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel &amp;lt;a href="#" rel="tooltip" title="Another tooltip"&amp;gt;have a&amp;lt;/a&amp;gt; terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan &amp;lt;a href="#" rel="tooltip" title="Another one here too"&amp;gt;whatever keytar&amp;lt;/a&amp;gt;, scenester farm-to-table banksy Austin &amp;lt;a href="#" rel="tooltip" title="The last tip!"&amp;gt;twitter handle&amp;lt;/a&amp;gt; freegan cred raw denim single-origin coffee viral.{{/i}}
             &amp;lt;/p&amp;gt;
           &amp;lt;/div&amp;gt;
           &amp;lt;hr&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -695,7 +743,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('a[data-toggle="tab"]').on('shown', function (e) {
                &amp;lt;td&amp;gt;{{_i}}number | object{{/i}}&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;
-                &amp;lt;p&amp;gt;{{_i}}delay showing and hiding the tooltip (ms){{/i}}&amp;lt;/p&amp;gt;
+                &amp;lt;p&amp;gt;{{_i}}delay showing and hiding the tooltip (ms) - does not apply to manual trigger type{{/i}}&amp;lt;/p&amp;gt;
                 &amp;lt;p&amp;gt;{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}&amp;lt;/p&amp;gt;
                 &amp;lt;p&amp;gt;{{_i}}Object structure is: &amp;lt;code&amp;gt;delay: { show: 500, hide: 100 }&amp;lt;/code&amp;gt;{{/i}}&amp;lt;/p&amp;gt;
                &amp;lt;/td&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -804,7 +852,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('a[data-toggle="tab"]').on('shown', function (e) {
                &amp;lt;td&amp;gt;{{_i}}number | object{{/i}}&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;0&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;
-                &amp;lt;p&amp;gt;{{_i}}delay showing and hiding the popover (ms){{/i}}&amp;lt;/p&amp;gt;
+                &amp;lt;p&amp;gt;{{_i}}delay showing and hiding the popover (ms) - does not apply to manual trigger type{{/i}}&amp;lt;/p&amp;gt;
                 &amp;lt;p&amp;gt;{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}&amp;lt;/p&amp;gt;
                 &amp;lt;p&amp;gt;{{_i}}Object structure is: &amp;lt;code&amp;gt;delay: { show: 500, hide: 100 }&amp;lt;/code&amp;gt;{{/i}}&amp;lt;/p&amp;gt;
                &amp;lt;/td&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -817,7 +865,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('a[data-toggle="tab"]').on('shown', function (e) {
           &amp;lt;/div&amp;gt;
           &amp;lt;h3&amp;gt;{{_i}}Markup{{/i}}&amp;lt;/h3&amp;gt;
           &amp;lt;p&amp;gt;
-          {{_i}}For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a the selector option.{{/i}}
+          {{_i}}For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.{{/i}}
           &amp;lt;/p&amp;gt;
           &amp;lt;h3&amp;gt;{{_i}}Methods{{/i}}&amp;lt;/h3&amp;gt;
           &amp;lt;h4&amp;gt;$().popover({{_i}}options{{/i}})&amp;lt;/h4&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -853,11 +901,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('a[data-toggle="tab"]').on('shown', function (e) {
           &amp;lt;h2&amp;gt;{{_i}}Example alerts{{/i}}&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;{{_i}}The alerts plugin works on regular alert messages, and block messages.{{/i}}&amp;lt;/p&amp;gt;
           &amp;lt;div class="alert fade in"&amp;gt;
-            &amp;lt;a class="close" data-dismiss="alert" href="#"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+            &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
             &amp;lt;strong&amp;gt;{{_i}}Holy guacamole!{{/i}}&amp;lt;/strong&amp;gt; {{_i}}Best check yo self, you're not looking too good.{{/i}}
           &amp;lt;/div&amp;gt;
           &amp;lt;div class="alert alert-block alert-error fade in"&amp;gt;
-            &amp;lt;a class="close" data-dismiss="alert" href="#"&amp;gt;&amp;amp;times;&amp;lt;/a&amp;gt;
+            &amp;lt;button class="close" data-dismiss="alert"&amp;gt;&amp;amp;times;&amp;lt;/button&amp;gt;
             &amp;lt;h4 class="alert-heading"&amp;gt;{{_i}}Oh snap! You got an error!{{/i}}&amp;lt;/h4&amp;gt;
             &amp;lt;p&amp;gt;{{_i}}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.{{/i}}&amp;lt;/p&amp;gt;
             &amp;lt;p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -963,7 +1011,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('#my-alert').bind('closed', function () {
           &amp;lt;hr&amp;gt;
           &amp;lt;h2&amp;gt;{{_i}}Using bootstrap-button.js{{/i}}&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;{{_i}}Enable buttons via javascript:{{/i}}&amp;lt;/p&amp;gt;
-          &amp;lt;pre class="prettyprint linenums"&amp;gt;$('.tabs').button()&amp;lt;/pre&amp;gt;
+          &amp;lt;pre class="prettyprint linenums"&amp;gt;$('.nav-tabs').button()&amp;lt;/pre&amp;gt;
             &amp;lt;h3&amp;gt;{{_i}}Markup{{/i}}&amp;lt;/h3&amp;gt;
           &amp;lt;p&amp;gt;{{_i}}Data attributes are integral to the button plugin. Check out the example code below for the various markup types.{{/i}}&amp;lt;/p&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1025,7 +1073,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('#my-alert').bind('closed', function () {
           &amp;lt;h3&amp;gt;{{_i}}About{{/i}}&amp;lt;/h3&amp;gt;
           &amp;lt;p&amp;gt;{{_i}}Get base styles and flexible support for collapsible components like accordions and navigation.{{/i}}&amp;lt;/p&amp;gt;
           &amp;lt;a href="assets/js/bootstrap-collapse.js" target="_blank" class="btn"&amp;gt;{{_i}}Download file{{/i}}&amp;lt;/a&amp;gt;
-        &amp;lt;/div&amp;gt;
+          &amp;lt;p class="muted"&amp;gt;&amp;lt;strong&amp;gt;*&amp;lt;/strong&amp;gt; {{_i}}Requires the Transitions plugin to be included.{{/i}}&amp;lt;/p&amp;gt;
+       &amp;lt;/div&amp;gt;
         &amp;lt;div class="span9 columns"&amp;gt;
           &amp;lt;h2&amp;gt;{{_i}}Example accordion{{/i}}&amp;lt;/h2&amp;gt;
           &amp;lt;p&amp;gt;{{_i}}Using the collapse plugin, we built a simple accordion style widget:{{/i}}&amp;lt;/p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1232,7 +1281,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $('#myCollapsible').on('hidden', function () {
                &amp;lt;td&amp;gt;{{_i}}interval{{/i}}&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;{{_i}}number{{/i}}&amp;lt;/td&amp;gt;
                &amp;lt;td&amp;gt;5000&amp;lt;/td&amp;gt;
-               &amp;lt;td&amp;gt;{{_i}}The amount of time to delay between automatically cycling an item.{{/i}}&amp;lt;/td&amp;gt;
+               &amp;lt;td&amp;gt;{{_i}}The amount of time to delay between automatically cycling an item. If false, carousel will not automatically cycle.{{/i}}&amp;lt;/td&amp;gt;
              &amp;lt;/tr&amp;gt;
              &amp;lt;tr&amp;gt;
                &amp;lt;td&amp;gt;{{_i}}pause{{/i}}&amp;lt;/td&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/less.mustache b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/less.mustache
index 23a4486..7698dd2 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/less.mustache
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/less.mustache
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -63,12 +63,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   &amp;lt;div class="row"&amp;gt;
     &amp;lt;div class="span6"&amp;gt;
-      &amp;lt;h3&amp;gt;{{_i}}Hyperlinks{{/i}}&amp;lt;/h3&amp;gt;
+      &amp;lt;h3&amp;gt;{{_i}}Scaffolding and links{{/i}}&amp;lt;/h3&amp;gt;
       &amp;lt;table class="table table-bordered table-striped"&amp;gt;
         &amp;lt;tbody&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;linkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;#08c&amp;lt;/td&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;bodyBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;{{_i}}Page background color{{/i}}&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;textColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDark&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;{{_i}}Default text color for entire body, headings, and more{{/i}}&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #333;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;linkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#08c&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;{{_i}}Default link text color{{/i}}&amp;lt;/td&amp;gt;
             &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #08c;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -109,16 +121,69 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;table class="table table-bordered table-striped"&amp;gt;
         &amp;lt;tbody&amp;gt;
           &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;sansFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;"Helvetica Neue", Helvetica, Arial, sans-serif&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;serifFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;Georgia, "Times New Roman", Times, serif&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;monoFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;Menlo, Monaco, "Courier New", monospace&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
             &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;baseFontSize&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;13px&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;em class="muted"&amp;gt;Must be pixels&amp;lt;/em&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
             &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;baseFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;"Helvetica Neue", Helvetica, Arial, sans-serif&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;sansFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
             &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;baseLineHeight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;18px&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;em class="muted"&amp;gt;Must be pixels&amp;lt;/em&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;altFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;serifFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;headingsFontFamily&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;inherit&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;headingsFontWeight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;bold&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;headingsColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td colspan="2"&amp;gt;&amp;lt;code&amp;gt;inherit&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+        &amp;lt;/tbody&amp;gt;
+      &amp;lt;/table&amp;gt;
+      &amp;lt;h3&amp;gt;{{_i}}Tables{{/i}}&amp;lt;/h3&amp;gt;
+      &amp;lt;table class="table table-bordered table-striped"&amp;gt;
+        &amp;lt;tbody&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;tableBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;transparent&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;tableBackgroundAccent&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#f9f9f9&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;tableBackgroundHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#f5f5f5&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;tableBorder&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;ddd&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
         &amp;lt;/tbody&amp;gt;
       &amp;lt;/table&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -214,10 +279,86 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;table class="table table-bordered table-striped"&amp;gt;
         &amp;lt;tbody&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;primaryButtonBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;darken(&amp;lt; at &amp;gt;white, 10%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #e6e6e6;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnBorder&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;darken(&amp;lt; at &amp;gt;white, 20%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #ccc;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnPrimaryBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;linkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #08c;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnPrimaryBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;spin(&amp;lt; at &amp;gt;btnPrimaryBackground, 15%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #05c;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnInfoBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#5bc0de&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #5bc0de;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnInfoBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#2f96b4&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #2f96b4;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnSuccessBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#62c462&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #62c462;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnSuccessBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;51a351&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #51a351;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnWarningBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;lighten(&amp;lt; at &amp;gt;orange, 15%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #fbb450;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnWarningBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;orange&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #f89406;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnDangerBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#ee5f5b&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #ee5f5b;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnDangerBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#bd362f&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #bd362f;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnInverseBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;gray&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #555;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;btnInverseBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDarker&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #222;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
         &amp;lt;/tbody&amp;gt;
       &amp;lt;/table&amp;gt;
       &amp;lt;h4&amp;gt;{{_i}}Forms{{/i}}&amp;lt;/h4&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -226,47 +367,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           &amp;lt;tr&amp;gt;
             &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;placeholderText&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
             &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #999;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
-          &amp;lt;/tr&amp;gt;
-        &amp;lt;/tbody&amp;gt;
-      &amp;lt;/table&amp;gt;
-      &amp;lt;h4&amp;gt;{{_i}}Navbar{{/i}}&amp;lt;/h4&amp;gt;
-      &amp;lt;table class="table table-bordered table-striped"&amp;gt;
-        &amp;lt;tbody&amp;gt;
-          &amp;lt;tr&amp;gt;
-            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarHeight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;40px&amp;lt;/td&amp;gt;
-            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDarker&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #222;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;inputBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDark&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #333;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;inputBorder&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#ccc&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarText&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #999;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;inputBorderRadius&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;3px&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #999;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;inputDisabledBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLighter&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
           &amp;lt;tr&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColorHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;formActionsBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#f5f5f5&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
           &amp;lt;/tr&amp;gt;
         &amp;lt;/tbody&amp;gt;
       &amp;lt;/table&amp;gt;
-    &amp;lt;/div&amp;gt;
-    &amp;lt;div class="span6"&amp;gt;
       &amp;lt;h4&amp;gt;{{_i}}Form states and alerts{{/i}}&amp;lt;/h4&amp;gt;
       &amp;lt;table class="table table-bordered table-striped"&amp;gt;
         &amp;lt;tbody&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -313,6 +436,130 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;/tbody&amp;gt;
       &amp;lt;/table&amp;gt;
     &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span6"&amp;gt;
+      &amp;lt;h4&amp;gt;{{_i}}Navbar{{/i}}&amp;lt;/h4&amp;gt;
+      &amp;lt;table class="table table-bordered table-striped"&amp;gt;
+        &amp;lt;tbody&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarHeight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;40px&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDarker&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #222;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBackgroundHighlight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDark&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #333;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarText&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #999;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLight&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #999;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColorHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColorActive&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColorHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkBackgroundHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;transparent&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: transparent;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkBackgroundActive&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarSearchBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;lighten(&amp;lt; at &amp;gt;navbarBackground, 25%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #666;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarSearchBackgroundFocus&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarSearchBorder&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;darken(&amp;lt; at &amp;gt;navbarSearchBackground, 30%)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #111;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarSearchPlaceholderColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#ccc&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch" style="background-color: #ccc;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarBrandColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;navbarLinkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;span class="swatch swatch-bordered" style="background-color: #fff;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+        &amp;lt;/tbody&amp;gt;
+      &amp;lt;/table&amp;gt;
+      &amp;lt;h4&amp;gt;{{_i}}Dropdowns{{/i}}&amp;lt;/h4&amp;gt;
+      &amp;lt;table class="table table-bordered table-striped"&amp;gt;
+        &amp;lt;tbody&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;dropdownBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;dropdownBorder&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;rgba(0,0,0,.2)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;dropdownLinkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayDark&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;dropdownLinkColorHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;white&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;dropdownLinkBackgroundHover&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;linkColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+        &amp;lt;/tbody&amp;gt;
+      &amp;lt;/table&amp;gt;
+      &amp;lt;h4&amp;gt;{{_i}}Hero unit{{/i}}&amp;lt;/h4&amp;gt;
+      &amp;lt;table class="table table-bordered table-striped"&amp;gt;
+        &amp;lt;tbody&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span3"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;heroUnitBackground&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;grayLighter&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td class="swatch-col"&amp;gt;&amp;lt;span class="swatch" style="background-color: #eee;"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td class="span2"&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;heroUnitHeadingColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;inherit&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+          &amp;lt;tr&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;heroUnitLeadColor&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;inhereit&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+            &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;
+          &amp;lt;/tr&amp;gt;
+        &amp;lt;/tbody&amp;gt;
+      &amp;lt;/table&amp;gt;
+    &amp;lt;/div&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /row --&amp;gt;
 
 &amp;lt;/section&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -384,17 +631,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.size()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;height: 5px, &amp;lt; at &amp;gt;width: 5px&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;height &amp;lt; at &amp;gt;width&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;{{_i}}Quickly set the height and width on one line{{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.square()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;size: 5px&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;size&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;{{_i}}Builds on &amp;lt;code&amp;gt;.size()&amp;lt;/code&amp;gt; to set the width and height as same value{{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.opacity()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;opacity: 100&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;opacity&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;{{_i}}Set, in whole numbers, the opacity percentage (e.g., "50" or "75"){{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
     &amp;lt;/tbody&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -488,6 +735,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;fluidGridColumnWidth, &amp;lt; at &amp;gt;fluidGridGutterWidth&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;{{_i}}Generate a precent grid system with &amp;lt;em&amp;gt;n&amp;lt;/em&amp;gt; columns and &amp;lt;em&amp;gt;x&amp;lt;/em&amp;gt; % wide gutter{{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
+      &amp;lt;tr&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;#grid &amp;gt; .input()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;gridColumnWidth, &amp;lt; at &amp;gt;gridGutterWidth&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;{{_i}}Generate the pixel grid system for &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; elements, accounting for padding and borders{{/i}}&amp;lt;/td&amp;gt;
+      &amp;lt;/tr&amp;gt;
+      &amp;lt;tr&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.makeColumn&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;columns: 1, &amp;lt; at &amp;gt;offset: 0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;{{_i}}Turn any &amp;lt;code&amp;gt;div&amp;lt;/code&amp;gt; into a grid column without the &amp;lt;code&amp;gt;.span*&amp;lt;/code&amp;gt; classes{{/i}}&amp;lt;/td&amp;gt;
+      &amp;lt;/tr&amp;gt;
     &amp;lt;/tbody&amp;gt;
   &amp;lt;/table&amp;gt;
   &amp;lt;h3&amp;gt;{{_i}}CSS3 properties{{/i}}&amp;lt;/h3&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -502,12 +759,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;tbody&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.border-radius()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;radius: 5px&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;radius&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;{{_i}}Round the corners of an element. Can be a single value or four space-separated values{{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.box-shadow()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;shadow: 0 1px 3px rgba(0,0,0,.25)&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;shadow&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;{{_i}}Add a drop shadow to an element{{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -527,7 +784,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.translate()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;x: 0, &amp;lt; at &amp;gt;y: 0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;{{_i}}Move an element on the x and y planes{{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -551,13 +808,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;td&amp;gt;{{_i}}Control cursor selection of text on a page{{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.backface-visibility()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;visibility: visible&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;{{_i}}Prevent flickering of content when using CSS 3D transforms{{/i}}&amp;lt;/td&amp;gt;
+      &amp;lt;/tr&amp;gt;
+      &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.resizable()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;direction: both&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;{{_i}}Make any element resizable on the right and bottom{{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
       &amp;lt;tr&amp;gt;
         &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;.content-columns()&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;columnCount, &amp;lt; at &amp;gt;columnGap: &amp;lt; at &amp;gt;gridColumnGutter&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
+        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;columnCount, &amp;lt; at &amp;gt;columnGap: &amp;lt; at &amp;gt;gridGutterWidth&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;{{_i}}Make the content of any element use CSS3 columns{{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
     &amp;lt;/tbody&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -644,7 +906,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Command line{{/i}}&amp;lt;/h3&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}Install the LESS command line tool via Node and run the following command:{{/i}}&amp;lt;/p&amp;gt;
-        &amp;lt;pre&amp;gt;$ lessc ./lib/bootstrap.less &amp;gt; bootstrap.css&amp;lt;/pre&amp;gt;
+        &amp;lt;pre&amp;gt;$ lessc ./less/bootstrap.less &amp;gt; bootstrap.css&amp;lt;/pre&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}Be sure to include &amp;lt;code&amp;gt;--compress&amp;lt;/code&amp;gt; in that command if you're trying to save some bytes!{{/i}}&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /span4 --&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/scaffolding.mustache b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/scaffolding.mustache
index 97131fd..13c777a 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/scaffolding.mustache
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/templates/pages/scaffolding.mustache
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -96,7 +96,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;lt;div class="row"&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}The default grid system provided as part of Bootstrap is a &amp;lt;strong&amp;gt;940px-wide, 12-column grid&amp;lt;/strong&amp;gt;.{{/i}}&amp;lt;/p&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}It also has four responsive variations for various devices and resolutions: phone, tablet portrait, table landscape and small desktops, and large widescreen desktops.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}It also has four responsive variations for various devices and resolutions: phone, tablet portrait, tablet landscape and small desktops, and large widescreen desktops.{{/i}}&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
 &amp;lt;pre class="prettyprint linenums"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -107,7 +107,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/pre&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}As shown here, a basic layout can be created with two "columns," each spanning a number of the 12 foundational columns we defined as part of our grid system.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}As shown here, a basic layout can be created with two "columns", each spanning a number of the 12 foundational columns we defined as part of our grid system.{{/i}}&amp;lt;/p&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /.row --&amp;gt;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -298,11 +298,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;td&amp;gt;20px&amp;lt;/td&amp;gt;
         &amp;lt;td&amp;gt;{{_i}}Negative space between columns{{/i}}&amp;lt;/td&amp;gt;
       &amp;lt;/tr&amp;gt;
-      &amp;lt;tr&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;code&amp;gt;&amp;lt; at &amp;gt;siteWidth&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;&amp;lt;em&amp;gt;{{_i}}Computed sum of all columns and gutters{{/i}}&amp;lt;/em&amp;gt;&amp;lt;/td&amp;gt;
-        &amp;lt;td&amp;gt;{{_i}}Counts number of columns and gutters to set width of the &amp;lt;code&amp;gt;.container-fixed()&amp;lt;/code&amp;gt; mixin{{/i}}&amp;lt;/td&amp;gt;
-      &amp;lt;/tr&amp;gt;
     &amp;lt;/tbody&amp;gt;
   &amp;lt;/table&amp;gt;
   &amp;lt;div class="row"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -461,13 +456,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;lt; at &amp;gt;media (max-width: 480px) { ... }
 
   // {{_i}}Landscape phone to portrait tablet{{/i}}
-  &amp;lt; at &amp;gt;media (max-width: 768px) { ... }
+  &amp;lt; at &amp;gt;media (max-width: 767px) { ... }
 
   // {{_i}}Portrait tablet to landscape and desktop{{/i}}
-  &amp;lt; at &amp;gt;media (min-width: 768px) and (max-width: 980px) { ... }
+  &amp;lt; at &amp;gt;media (min-width: 768px) and (max-width: 979px) { ... }
 
   // {{_i}}Large desktop{{/i}}
-  &amp;lt; at &amp;gt;media (min-width: 1200px) { .. }
+  &amp;lt; at &amp;gt;media (min-width: 1200px) { ... }
 &amp;lt;/pre&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /.row --&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -478,7 +473,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;lt;div class="row"&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}What are they{{/i}}&amp;lt;/h2&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}For faster mobile-friendly development, use these basic utility classes for showing and hidding content by device.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}For faster mobile-friendly development, use these basic utility classes for showing and hiding content by device.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}When to use{{/i}}&amp;lt;/h2&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;p&amp;gt;{{_i}}For example, you might show a &amp;lt;code&amp;gt;&amp;amp;lt;select&amp;amp;gt;&amp;lt;/code&amp;gt; element for nav on mobile layouts, but not on tablets or desktops.{{/i}}&amp;lt;/p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -535,23 +530,25 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         &amp;lt;/tbody&amp;gt;
       &amp;lt;/table&amp;gt;
       &amp;lt;h3&amp;gt;{{_i}}Test case{{/i}}&amp;lt;/h3&amp;gt;
-      &amp;lt;p&amp;gt;{{_i}}Resize your browser or load on different devices to test the above clases.{{/i}}&amp;lt;/p&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Resize your browser or load on different devices to test the above classes.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;h4&amp;gt;{{_i}}Visible on...{{/i}}&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Green checkmarks indicate that class is visible in your current viewport.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;ul class="responsive-utilities-test"&amp;gt;
-        &amp;lt;li&amp;gt;Phone&amp;lt;span class="visible-phone"&amp;gt;&amp;amp;#10004; Phone&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;Tablet&amp;lt;span class="visible-tablet"&amp;gt;&amp;amp;#10004; Tablet&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;Desktop&amp;lt;span class="visible-desktop"&amp;gt;&amp;amp;#10004; Desktop&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}Phone{{/i}}&amp;lt;span class="visible-phone"&amp;gt;&amp;amp;#10004; {{_i}}Phone{{/i}}&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}Tablet{{/i}}&amp;lt;span class="visible-tablet"&amp;gt;&amp;amp;#10004; {{_i}}Tablet{{/i}}&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}Desktop{{/i}}&amp;lt;span class="visible-desktop"&amp;gt;&amp;amp;#10004; {{_i}}Desktop{{/i}}&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
       &amp;lt;/ul&amp;gt;
       &amp;lt;h4&amp;gt;{{_i}}Hidden on...{{/i}}&amp;lt;/h4&amp;gt;
+      &amp;lt;p&amp;gt;{{_i}}Here, green checkmarks indicate that class is hidden in your current viewport.{{/i}}&amp;lt;/p&amp;gt;
       &amp;lt;ul class="responsive-utilities-test hidden-on"&amp;gt;
-        &amp;lt;li&amp;gt;Phone&amp;lt;span class="hidden-phone"&amp;gt;&amp;amp;#10004; Phone&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;Tablet&amp;lt;span class="hidden-tablet"&amp;gt;&amp;amp;#10004; Tablet&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
-        &amp;lt;li&amp;gt;Desktop&amp;lt;span class="hidden-desktop"&amp;gt;&amp;amp;#10004; Desktop&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}Phone{{/i}}&amp;lt;span class="hidden-phone"&amp;gt;&amp;amp;#10004; {{_i}}Phone{{/i}}&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}Tablet{{/i}}&amp;lt;span class="hidden-tablet"&amp;gt;&amp;amp;#10004; {{_i}}Tablet{{/i}}&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
+        &amp;lt;li&amp;gt;{{_i}}Desktop{{/i}}&amp;lt;span class="hidden-desktop"&amp;gt;&amp;amp;#10004; {{_i}}Desktop{{/i}}&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;
       &amp;lt;/ul&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
   &amp;lt;/div&amp;gt;&amp;lt;!-- /.row --&amp;gt;
 
-      
+
   &amp;lt;div class="row"&amp;gt;
     &amp;lt;div class="span4"&amp;gt;
     &amp;lt;/div&amp;gt;&amp;lt;!-- /.span --&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/docs/upgrading.html b/plone/app/toolbar/resources/lib/bootstrap/docs/upgrading.html
index 01dd02a..2a27b00 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/docs/upgrading.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/docs/upgrading.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     &amp;lt;!-- Le fav and touch icons --&amp;gt;
     &amp;lt;link rel="shortcut icon" href="assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
     &amp;lt;link rel="apple-touch-icon-precomposed" href="assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,7 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
             &amp;lt;span class="icon-bar"&amp;gt;&amp;lt;/span&amp;gt;
           &amp;lt;/a&amp;gt;
           &amp;lt;a class="brand" href="./index.html"&amp;gt;Bootstrap&amp;lt;/a&amp;gt;
-          &amp;lt;div class="nav-collapse"&amp;gt;
+          &amp;lt;div class="nav-collapse collapse"&amp;gt;
             &amp;lt;ul class="nav"&amp;gt;
               &amp;lt;li class=""&amp;gt;
                 &amp;lt;a href="./index.html"&amp;gt;Overview&amp;lt;/a&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/img/glyphicons-halflings-white.png b/plone/app/toolbar/resources/lib/bootstrap/img/glyphicons-halflings-white.png
index a20760b..3bf6484 100644
Binary files a/plone/app/toolbar/resources/lib/bootstrap/img/glyphicons-halflings-white.png and b/plone/app/toolbar/resources/lib/bootstrap/img/glyphicons-halflings-white.png differ
diff --git a/plone/app/toolbar/resources/lib/bootstrap/img/glyphicons-halflings.png b/plone/app/toolbar/resources/lib/bootstrap/img/glyphicons-halflings.png
index 92d4445..79bc568 100644
Binary files a/plone/app/toolbar/resources/lib/bootstrap/img/glyphicons-halflings.png and b/plone/app/toolbar/resources/lib/bootstrap/img/glyphicons-halflings.png differ
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/.jshintrc b/plone/app/toolbar/resources/lib/bootstrap/js/.jshintrc
new file mode 100644
index 0000000..bbac349
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/.jshintrc
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+{
+    "validthis": true,
+    "laxcomma" : true,
+    "laxbreak" : true,
+    "browser"  : true,
+    "debug"    : true,
+    "boss"     : true,
+    "expr"     : true,
+    "asi"      : true
+}
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/README.md b/plone/app/toolbar/resources/lib/bootstrap/js/README.md
index 1c3ced3..c7b71e7 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/README.md
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/README.md
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -5,7 +5,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; These are the high-level design rules which guide the development of Bootstrap's
 
 ### DATA-ATTRIBUTE API
 
-We believe you should be able to use all plugins provided by Bootstrap purely through the markup API without writing a single line of javascript.
+We believe you should be able to use all plugins provided by Bootstrap purely through the markup API without writing a single line of javascript. This is bootstraps first class api.
 
 We acknowledge that this isn't always the most performant and sometimes it may be desirable to turn this functionality off altogether. Therefore, as of 2.0 we provide the ability to disable the data attribute API by unbinding all events on the body namespaced with `'data-api'`. This looks like this:
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -29,7 +29,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; All methods should accept an optional options object, a string which targets a p
 
     $("#myModal").modal() // initialized with defaults
     $("#myModal").modal({ keyboard: false }) // initialized with no keyboard
-    $("#myModal").modal('show') // initializes and invokes show immediately afterqwe2
+    $("#myModal").modal('show') // initializes and invokes show immediately
 
 ---
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -60,6 +60,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; All events should have an infinitive and past participle form. The infinitive is
     show | shown
     hide | hidden
 
+All infinitive events should provide preventDefault functionality. This provides the abililty to stop the execution of an action.
+
+    $('#myModal').on('show', function (e) {
+        if (!data) return e.preventDefault() // stops modal from being shown
+    })
+
 ---
 
 ### CONSTRUCTORS
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-alert.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-alert.js
index d17f44e..fa0806e 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-alert.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-alert.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ==========================================================
- * bootstrap-alert.js v2.0.2
+ * bootstrap-alert.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#alerts
  * ==========================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,61 +18,57 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * ========================================================== */
 
 
-!function( $ ){
+!function ($) {
+
+  "use strict"; // jshint ;_;
 
-  "use strict"
 
  /* ALERT CLASS DEFINITION
   * ====================== */
 
   var dismiss = '[data-dismiss="alert"]'
-    , Alert = function ( el ) {
+    , Alert = function (el) {
         $(el).on('click', dismiss, this.close)
       }
 
-  Alert.prototype = {
-
-    constructor: Alert
+  Alert.prototype.close = function (e) {
+    var $this = $(this)
+      , selector = $this.attr('data-target')
+      , $parent
 
-  , close: function ( e ) {
-      var $this = $(this)
-        , selector = $this.attr('data-target')
-        , $parent
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector &amp;amp;&amp;amp; selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+    }
 
-      if (!selector) {
-        selector = $this.attr('href')
-        selector = selector &amp;amp;&amp;amp; selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
-      }
+    $parent = $(selector)
 
-      $parent = $(selector)
-      $parent.trigger('close')
+    e &amp;amp;&amp;amp; e.preventDefault()
 
-      e &amp;amp;&amp;amp; e.preventDefault()
+    $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
 
-      $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
+    $parent.trigger(e = $.Event('close'))
 
-      $parent
-        .trigger('close')
-        .removeClass('in')
+    if (e.isDefaultPrevented()) return
 
-      function removeElement() {
-        $parent
-          .trigger('closed')
-          .remove()
-      }
+    $parent.removeClass('in')
 
-      $.support.transition &amp;amp;&amp;amp; $parent.hasClass('fade') ?
-        $parent.on($.support.transition.end, removeElement) :
-        removeElement()
+    function removeElement() {
+      $parent
+        .trigger('closed')
+        .remove()
     }
 
+    $.support.transition &amp;amp;&amp;amp; $parent.hasClass('fade') ?
+      $parent.on($.support.transition.end, removeElement) :
+      removeElement()
   }
 
 
  /* ALERT PLUGIN DEFINITION
   * ======================= */
 
-  $.fn.alert = function ( option ) {
+  $.fn.alert = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('alert')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -91,4 +87,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-button.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-button.js
index 6b36753..a9e6ba7 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-button.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-button.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ============================================================
- * bootstrap-button.js v2.0.2
+ * bootstrap-button.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#buttons
  * ============================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,58 +17,54 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ============================================================ */
 
-!function( $ ){
 
-  "use strict"
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
 
  /* BUTTON PUBLIC CLASS DEFINITION
   * ============================== */
 
-  var Button = function ( element, options ) {
+  var Button = function (element, options) {
     this.$element = $(element)
     this.options = $.extend({}, $.fn.button.defaults, options)
   }
 
-  Button.prototype = {
-
-      constructor: Button
+  Button.prototype.setState = function (state) {
+    var d = 'disabled'
+      , $el = this.$element
+      , data = $el.data()
+      , val = $el.is('input') ? 'val' : 'html'
 
-    , setState: function ( state ) {
-        var d = 'disabled'
-          , $el = this.$element
-          , data = $el.data()
-          , val = $el.is('input') ? 'val' : 'html'
+    state = state + 'Text'
+    data.resetText || $el.data('resetText', $el[val]())
 
-        state = state + 'Text'
-        data.resetText || $el.data('resetText', $el[val]())
+    $el[val](data[state] || this.options[state])
 
-        $el[val](data[state] || this.options[state])
-
-        // push to event loop to allow forms to submit
-        setTimeout(function () {
-          state == 'loadingText' ?
-            $el.addClass(d).attr(d, d) :
-            $el.removeClass(d).removeAttr(d)
-        }, 0)
-      }
-
-    , toggle: function () {
-        var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
+    // push to event loop to allow forms to submit
+    setTimeout(function () {
+      state == 'loadingText' ?
+        $el.addClass(d).attr(d, d) :
+        $el.removeClass(d).removeAttr(d)
+    }, 0)
+  }
 
-        $parent &amp;amp;&amp;amp; $parent
-          .find('.active')
-          .removeClass('active')
+  Button.prototype.toggle = function () {
+    var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
 
-        this.$element.toggleClass('active')
-      }
+    $parent &amp;amp;&amp;amp; $parent
+      .find('.active')
+      .removeClass('active')
 
+    this.$element.toggleClass('active')
   }
 
 
  /* BUTTON PLUGIN DEFINITION
   * ======================== */
 
-  $.fn.button = function ( option ) {
+  $.fn.button = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('button')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -97,4 +93,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-carousel.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-carousel.js
index 8c0723d..96e5a81 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-carousel.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-carousel.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ==========================================================
- * bootstrap-carousel.js v2.0.2
+ * bootstrap-carousel.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#carousel
  * ==========================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,16 +18,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * ========================================================== */
 
 
-!function( $ ){
+!function ($) {
+
+  "use strict"; // jshint ;_;
 
-  "use strict"
 
  /* CAROUSEL CLASS DEFINITION
   * ========================= */
 
   var Carousel = function (element, options) {
     this.$element = $(element)
-    this.options = $.extend({}, $.fn.carousel.defaults, options)
+    this.options = options
     this.options.slide &amp;amp;&amp;amp; this.slide(this.options.slide)
     this.options.pause == 'hover' &amp;amp;&amp;amp; this.$element
       .on('mouseenter', $.proxy(this.pause, this))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -36,8 +37,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   Carousel.prototype = {
 
-    cycle: function () {
-      this.interval = setInterval($.proxy(this.next, this), this.options.interval)
+    cycle: function (e) {
+      if (!e) this.paused = false
+      this.options.interval
+        &amp;amp;&amp;amp; !this.paused
+        &amp;amp;&amp;amp; (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
       return this
     }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -62,7 +66,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       return this.slide(pos &amp;gt; activePos ? 'next' : 'prev', $(children[pos]))
     }
 
-  , pause: function () {
+  , pause: function (e) {
+      if (!e) this.paused = true
       clearInterval(this.interval)
       this.interval = null
       return this
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -85,6 +90,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         , direction = type == 'next' ? 'left' : 'right'
         , fallback  = type == 'next' ? 'first' : 'last'
         , that = this
+        , e = $.Event('slide')
 
       this.sliding = true
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -94,24 +100,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
       if ($next.hasClass('active')) return
 
-      if (!$.support.transition &amp;amp;&amp;amp; this.$element.hasClass('slide')) {
-        this.$element.trigger('slide')
-        $active.removeClass('active')
-        $next.addClass('active')
-        this.sliding = false
-        this.$element.trigger('slid')
-      } else {
+      if ($.support.transition &amp;amp;&amp;amp; this.$element.hasClass('slide')) {
+        this.$element.trigger(e)
+        if (e.isDefaultPrevented()) return
         $next.addClass(type)
         $next[0].offsetWidth // force reflow
         $active.addClass(direction)
         $next.addClass(direction)
-        this.$element.trigger('slide')
         this.$element.one($.support.transition.end, function () {
           $next.removeClass([type, direction].join(' ')).addClass('active')
           $active.removeClass(['active', direction].join(' '))
           that.sliding = false
           setTimeout(function () { that.$element.trigger('slid') }, 0)
         })
+      } else {
+        this.$element.trigger(e)
+        if (e.isDefaultPrevented()) return
+        $active.removeClass('active')
+        $next.addClass('active')
+        this.sliding = false
+        this.$element.trigger('slid')
       }
 
       isCycling &amp;amp;&amp;amp; this.cycle()
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -125,15 +133,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  /* CAROUSEL PLUGIN DEFINITION
   * ========================== */
 
-  $.fn.carousel = function ( option ) {
+  $.fn.carousel = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('carousel')
-        , options = typeof option == 'object' &amp;amp;&amp;amp; option
+        , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' &amp;amp;&amp;amp; option)
       if (!data) $this.data('carousel', (data = new Carousel(this, options)))
       if (typeof option == 'number') data.to(option)
       else if (typeof option == 'string' || (option = options.slide)) data[option]()
-      else data.cycle()
+      else if (options.interval) data.cycle()
     })
   }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -158,4 +166,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-collapse.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-collapse.js
index 9a36446..d02f6fd 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-collapse.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-collapse.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* =============================================================
- * bootstrap-collapse.js v2.0.2
+ * bootstrap-collapse.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#collapse
  * =============================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,16 +17,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ============================================================ */
 
-!function( $ ){
 
-  "use strict"
+!function ($) {
 
-  var Collapse = function ( element, options ) {
-  this.$element = $(element)
+  "use strict"; // jshint ;_;
+
+
+ /* COLLAPSE PUBLIC CLASS DEFINITION
+  * ================================ */
+
+  var Collapse = function (element, options) {
+    this.$element = $(element)
     this.options = $.extend({}, $.fn.collapse.defaults, options)
 
-    if (this.options["parent"]) {
-      this.$parent = $(this.options["parent"])
+    if (this.options.parent) {
+      this.$parent = $(this.options.parent)
     }
 
     this.options.toggle &amp;amp;&amp;amp; this.toggle()
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -42,31 +47,39 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     }
 
   , show: function () {
-      var dimension = this.dimension()
-        , scroll = $.camelCase(['scroll', dimension].join('-'))
-        , actives = this.$parent &amp;amp;&amp;amp; this.$parent.find('.in')
+      var dimension
+        , scroll
+        , actives
         , hasData
 
+      if (this.transitioning) return
+
+      dimension = this.dimension()
+      scroll = $.camelCase(['scroll', dimension].join('-'))
+      actives = this.$parent &amp;amp;&amp;amp; this.$parent.find('&amp;gt; .accordion-group &amp;gt; .in')
+
       if (actives &amp;amp;&amp;amp; actives.length) {
         hasData = actives.data('collapse')
+        if (hasData &amp;amp;&amp;amp; hasData.transitioning) return
         actives.collapse('hide')
         hasData || actives.data('collapse', null)
       }
 
       this.$element[dimension](0)
-      this.transition('addClass', 'show', 'shown')
+      this.transition('addClass', $.Event('show'), 'shown')
       this.$element[dimension](this.$element[0][scroll])
-
     }
 
   , hide: function () {
-      var dimension = this.dimension()
+      var dimension
+      if (this.transitioning) return
+      dimension = this.dimension()
       this.reset(this.$element[dimension]())
-      this.transition('removeClass', 'hide', 'hidden')
+      this.transition('removeClass', $.Event('hide'), 'hidden')
       this.$element[dimension](0)
     }
 
-  , reset: function ( size ) {
+  , reset: function (size) {
       var dimension = this.dimension()
 
       this.$element
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -74,37 +87,43 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         [dimension](size || 'auto')
         [0].offsetWidth
 
-      this.$element[size ? 'addClass' : 'removeClass']('collapse')
+      this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
 
       return this
     }
 
-  , transition: function ( method, startEvent, completeEvent ) {
+  , transition: function (method, startEvent, completeEvent) {
       var that = this
         , complete = function () {
-            if (startEvent == 'show') that.reset()
+            if (startEvent.type == 'show') that.reset()
+            that.transitioning = 0
             that.$element.trigger(completeEvent)
           }
 
-      this.$element
-        .trigger(startEvent)
-        [method]('in')
+      this.$element.trigger(startEvent)
+
+      if (startEvent.isDefaultPrevented()) return
+
+      this.transitioning = 1
+
+      this.$element[method]('in')
 
       $.support.transition &amp;amp;&amp;amp; this.$element.hasClass('collapse') ?
         this.$element.one($.support.transition.end, complete) :
         complete()
-  }
+    }
 
   , toggle: function () {
       this[this.$element.hasClass('in') ? 'hide' : 'show']()
-  }
+    }
 
   }
 
-  /* COLLAPSIBLE PLUGIN DEFINITION
+
+ /* COLLAPSIBLE PLUGIN DEFINITION
   * ============================== */
 
-  $.fn.collapse = function ( option ) {
+  $.fn.collapse = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('collapse')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -135,4 +154,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-dropdown.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-dropdown.js
index 54b61c5..ec0588d 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-dropdown.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-dropdown.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ============================================================
- * bootstrap-dropdown.js v2.0.2
+ * bootstrap-dropdown.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#dropdowns
  * ============================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,15 +18,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * ============================================================ */
 
 
-!function( $ ){
+!function ($) {
+
+  "use strict"; // jshint ;_;
 
-  "use strict"
 
  /* DROPDOWN CLASS DEFINITION
   * ========================= */
 
   var toggle = '[data-toggle="dropdown"]'
-    , Dropdown = function ( element ) {
+    , Dropdown = function (element) {
         var $el = $(element).on('click.dropdown.data-api', this.toggle)
         $('html').on('click.dropdown.data-api', function () {
           $el.parent().removeClass('open')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -37,12 +38,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     constructor: Dropdown
 
-  , toggle: function ( e ) {
+  , toggle: function (e) {
       var $this = $(this)
-        , selector = $this.attr('data-target')
         , $parent
+        , selector
         , isActive
 
+      if ($this.is('.disabled, :disabled')) return
+
+      selector = $this.attr('data-target')
+
       if (!selector) {
         selector = $this.attr('href')
         selector = selector &amp;amp;&amp;amp; selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -54,7 +59,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       isActive = $parent.hasClass('open')
 
       clearMenus()
-      !isActive &amp;amp;&amp;amp; $parent.toggleClass('open')
+
+      if (!isActive) $parent.toggleClass('open')
 
       return false
     }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -69,7 +75,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   /* DROPDOWN PLUGIN DEFINITION
    * ========================== */
 
-  $.fn.dropdown = function ( option ) {
+  $.fn.dropdown = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('dropdown')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -86,7 +92,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   $(function () {
     $('html').on('click.dropdown.data-api', clearMenus)
-    $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+    $('body')
+      .on('click.dropdown', '.dropdown form', function (e) { e.stopPropagation() })
+      .on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-modal.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-modal.js
index e929706..c831de6 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-modal.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-modal.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* =========================================================
- * bootstrap-modal.js v2.0.2
+ * bootstrap-modal.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#modals
  * =========================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,14 +18,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * ========================================================= */
 
 
-!function( $ ){
+!function ($) {
+
+  "use strict"; // jshint ;_;
 
-  "use strict"
 
  /* MODAL CLASS DEFINITION
   * ====================== */
 
-  var Modal = function ( content, options ) {
+  var Modal = function (content, options) {
     this.options = options
     this.$element = $(content)
       .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -41,19 +42,23 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     , show: function () {
         var that = this
+          , e = $.Event('show')
+
+        this.$element.trigger(e)
 
-        if (this.isShown) return
+        if (this.isShown || e.isDefaultPrevented()) return
 
         $('body').addClass('modal-open')
 
         this.isShown = true
-        this.$element.trigger('show')
 
         escape.call(this)
         backdrop.call(this, function () {
           var transition = $.support.transition &amp;amp;&amp;amp; that.$element.hasClass('fade')
 
-          !that.$element.parent().length &amp;amp;&amp;amp; that.$element.appendTo(document.body) //don't move modals dom position
+          if (!that.$element.parent().length) {
+            that.$element.appendTo(document.body) //don't move modals dom position
+          }
 
           that.$element
             .show()
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -71,21 +76,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         })
       }
 
-    , hide: function ( e ) {
+    , hide: function (e) {
         e &amp;amp;&amp;amp; e.preventDefault()
 
-        if (!this.isShown) return
-
         var that = this
+
+        e = $.Event('hide')
+
+        this.$element.trigger(e)
+
+        if (!this.isShown || e.isDefaultPrevented()) return
+
         this.isShown = false
 
         $('body').removeClass('modal-open')
 
         escape.call(this)
 
-        this.$element
-          .trigger('hide')
-          .removeClass('in')
+        this.$element.removeClass('in')
 
         $.support.transition &amp;amp;&amp;amp; this.$element.hasClass('fade') ?
           hideWithTransition.call(this) :
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -111,7 +119,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   }
 
-  function hideModal( that ) {
+  function hideModal(that) {
     this.$element
       .hide()
       .trigger('hidden')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -119,7 +127,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     backdrop.call(this)
   }
 
-  function backdrop( callback ) {
+  function backdrop(callback) {
     var that = this
       , animate = this.$element.hasClass('fade') ? 'fade' : ''
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -173,7 +181,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  /* MODAL PLUGIN DEFINITION
   * ======================= */
 
-  $.fn.modal = function ( option ) {
+  $.fn.modal = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('modal')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -207,4 +215,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-popover.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-popover.js
index e1aa5ac..d5ecfa9 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-popover.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-popover.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ===========================================================
- * bootstrap-popover.js v2.0.2
+ * bootstrap-popover.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#popovers
  * ===========================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,14 +18,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * =========================================================== */
 
 
-!function( $ ) {
+!function ($) {
 
- "use strict"
+  "use strict"; // jshint ;_;
+
+
+ /* POPOVER PUBLIC CLASS DEFINITION
+  * =============================== */
 
   var Popover = function ( element, options ) {
     this.init('popover', element, options)
   }
 
+
   /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
      ========================================== */
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -38,8 +43,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         , title = this.getTitle()
         , content = this.getContent()
 
-      $tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
-      $tip.find('.popover-content &amp;gt; *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
+      $tip.find('.popover-title')[this.isHTML(title) ? 'html' : 'text'](title)
+      $tip.find('.popover-content &amp;gt; *')[this.isHTML(content) ? 'html' : 'text'](content)
 
       $tip.removeClass('fade top bottom left right in')
     }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -56,12 +61,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       content = $e.attr('data-content')
         || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)
 
-      content = content.toString().replace(/(^\s*|\s*$)/, "")
-
       return content
     }
 
-  , tip: function() {
+  , tip: function () {
       if (!this.$tip) {
         this.$tip = $(this.options.template)
       }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -74,7 +77,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  /* POPOVER PLUGIN DEFINITION
   * ======================= */
 
-  $.fn.popover = function ( option ) {
+  $.fn.popover = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('popover')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -92,4 +95,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   , template: '&amp;lt;div class="popover"&amp;gt;&amp;lt;div class="arrow"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="popover-inner"&amp;gt;&amp;lt;h3 class="popover-title"&amp;gt;&amp;lt;/h3&amp;gt;&amp;lt;div class="popover-content"&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;'
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-scrollspy.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-scrollspy.js
index ea29f2f..f6a24b0 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-scrollspy.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-scrollspy.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* =============================================================
- * bootstrap-scrollspy.js v2.0.2
+ * bootstrap-scrollspy.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#scrollspy
  * =============================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,9 +17,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ============================================================== */
 
-!function ( $ ) {
 
-  "use strict"
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
 
   /* SCROLLSPY CLASS DEFINITION
    * ========================== */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -43,25 +45,43 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       constructor: ScrollSpy
 
     , refresh: function () {
-        this.targets = this.$body
+        var self = this
+          , $targets
+
+        this.offsets = $([])
+        this.targets = $([])
+
+        $targets = this.$body
           .find(this.selector)
           .map(function () {
-            var href = $(this).attr('href')
-            return /^#\w/.test(href) &amp;amp;&amp;amp; $(href).length ? href : null
+            var $el = $(this)
+              , href = $el.data('target') || $el.attr('href')
+              , $href = /^#\w/.test(href) &amp;amp;&amp;amp; $(href)
+            return ( $href
+              &amp;amp;&amp;amp; href.length
+              &amp;amp;&amp;amp; [[ $href.position().top, href ]] ) || null
+          })
+          .sort(function (a, b) { return a[0] - b[0] })
+          .each(function () {
+            self.offsets.push(this[0])
+            self.targets.push(this[1])
           })
-
-        this.offsets = $.map(this.targets, function (id) {
-          return $(id).position().top
-        })
       }
 
     , process: function () {
         var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
+          , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
+          , maxScroll = scrollHeight - this.$scrollElement.height()
           , offsets = this.offsets
           , targets = this.targets
           , activeTarget = this.activeTarget
           , i
 
+        if (scrollTop &amp;gt;= maxScroll) {
+          return activeTarget != (i = targets.last()[0])
+            &amp;amp;&amp;amp; this.activate ( i )
+        }
+
         for (i = offsets.length; i--;) {
           activeTarget != targets[i]
             &amp;amp;&amp;amp; scrollTop &amp;gt;= offsets[i]
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -72,21 +92,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     , activate: function (target) {
         var active
+          , selector
 
         this.activeTarget = target
 
-        this.$body
-          .find(this.selector).parent('.active')
+        $(this.selector)
+          .parent('.active')
           .removeClass('active')
 
-        active = this.$body
-          .find(this.selector + '[href="' + target + '"]')
+        selector = this.selector
+          + '[data-target="' + target + '"],'
+          + this.selector + '[href="' + target + '"]'
+
+        active = $(selector)
           .parent('li')
           .addClass('active')
 
-        if ( active.parent('.dropdown-menu') )  {
-          active.closest('li.dropdown').addClass('active')
+        if (active.parent('.dropdown-menu'))  {
+          active = active.closest('li.dropdown').addClass('active')
         }
+
+        active.trigger('activate')
       }
 
   }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -122,4 +148,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-tab.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-tab.js
index b3938f6..88641de 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-tab.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-tab.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ========================================================
- * bootstrap-tab.js v2.0.2
+ * bootstrap-tab.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#tabs
  * ========================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,9 +18,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * ======================================================== */
 
 
-!function( $ ){
+!function ($) {
+
+  "use strict"; // jshint ;_;
 
-  "use strict"
 
  /* TAB CLASS DEFINITION
   * ==================== */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,6 +40,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         , selector = $this.attr('data-target')
         , previous
         , $target
+        , e
 
       if (!selector) {
         selector = $this.attr('href')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -49,11 +51,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
       previous = $ul.find('.active a').last()[0]
 
-      $this.trigger({
-        type: 'show'
-      , relatedTarget: previous
+      e = $.Event('show', {
+        relatedTarget: previous
       })
 
+      $this.trigger(e)
+
+      if (e.isDefaultPrevented()) return
+
       $target = $(selector)
 
       this.activate($this.parent('li'), $ul)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -127,4 +132,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-tooltip.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-tooltip.js
index 49b5f72..577ead4 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-tooltip.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-tooltip.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ===========================================================
- * bootstrap-tooltip.js v2.0.2
+ * bootstrap-tooltip.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#tooltips
  * Inspired by the original jQuery.tipsy by Jason Frame
  * ===========================================================
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,14 +18,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ========================================================== */
 
-!function( $ ) {
 
-  "use strict"
+!function ($) {
+
+  "use strict"; // jshint ;_;
+
 
  /* TOOLTIP PUBLIC CLASS DEFINITION
   * =============================== */
 
-  var Tooltip = function ( element, options ) {
+  var Tooltip = function (element, options) {
     this.init('tooltip', element, options)
   }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -33,7 +35,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
     constructor: Tooltip
 
-  , init: function ( type, element, options ) {
+  , init: function (type, element, options) {
       var eventIn
         , eventOut
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -54,7 +56,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         this.fixTitle()
     }
 
-  , getOptions: function ( options ) {
+  , getOptions: function (options) {
       options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
 
       if (options.delay &amp;amp;&amp;amp; typeof options.delay == 'number') {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -67,34 +69,28 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       return options
     }
 
-  , enter: function ( e ) {
+  , enter: function (e) {
       var self = $(e.currentTarget)[this.type](this._options).data(this.type)
 
-      if (!self.options.delay || !self.options.delay.show) {
-        self.show()
-      } else {
-        self.hoverState = 'in'
-        setTimeout(function() {
-          if (self.hoverState == 'in') {
-            self.show()
-          }
-        }, self.options.delay.show)
-      }
+      if (!self.options.delay || !self.options.delay.show) return self.show()
+
+      clearTimeout(this.timeout)
+      self.hoverState = 'in'
+      this.timeout = setTimeout(function() {
+        if (self.hoverState == 'in') self.show()
+      }, self.options.delay.show)
     }
 
-  , leave: function ( e ) {
+  , leave: function (e) {
       var self = $(e.currentTarget)[this.type](this._options).data(this.type)
 
-      if (!self.options.delay || !self.options.delay.hide) {
-        self.hide()
-      } else {
-        self.hoverState = 'out'
-        setTimeout(function() {
-          if (self.hoverState == 'out') {
-            self.hide()
-          }
-        }, self.options.delay.hide)
-      }
+      if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+      clearTimeout(this.timeout)
+      self.hoverState = 'out'
+      this.timeout = setTimeout(function() {
+        if (self.hoverState == 'out') self.hide()
+      }, self.options.delay.hide)
     }
 
   , show: function () {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -152,9 +148,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       }
     }
 
+  , isHTML: function(text) {
+      // html string detection logic adapted from jQuery
+      return typeof text != 'string'
+        || ( text.charAt(0) === "&amp;lt;"
+          &amp;amp;&amp;amp; text.charAt( text.length - 1 ) === "&amp;gt;"
+          &amp;amp;&amp;amp; text.length &amp;gt;= 3
+        ) || /^(?:[^&amp;lt;]*&amp;lt;[\w\W]+&amp;gt;[^&amp;gt;]*$)/.exec(text)
+    }
+
   , setContent: function () {
       var $tip = this.tip()
-      $tip.find('.tooltip-inner').html(this.getTitle())
+        , title = this.getTitle()
+
+      $tip.find('.tooltip-inner')[this.isHTML(title) ? 'html' : 'text'](title)
       $tip.removeClass('fade in top bottom left right')
     }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -206,8 +213,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       title = $e.attr('data-original-title')
         || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
 
-      title = (title || '').toString().replace(/(^\s*|\s*$)/, "")
-
       return title
     }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -259,12 +264,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   $.fn.tooltip.defaults = {
     animation: true
-  , delay: 0
-  , selector: false
   , placement: 'top'
+  , selector: false
+  , template: '&amp;lt;div class="tooltip"&amp;gt;&amp;lt;div class="tooltip-arrow"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="tooltip-inner"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;'
   , trigger: 'hover'
   , title: ''
-  , template: '&amp;lt;div class="tooltip"&amp;gt;&amp;lt;div class="tooltip-arrow"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="tooltip-inner"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;'
+  , delay: 0
   }
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-transition.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-transition.js
index f5226f9..7e29b2f 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-transition.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-transition.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* ===================================================
- * bootstrap-transition.js v2.0.2
+ * bootstrap-transition.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#transitions
  * ===================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,35 +17,45 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ========================================================== */
 
-!function( $ ) {
+
+!function ($) {
 
   $(function () {
 
-    "use strict"
+    "use strict"; // jshint ;_;
+
 
-    /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+    /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
      * ======================================================= */
 
     $.support.transition = (function () {
-      var thisBody = document.body || document.documentElement
-        , thisStyle = thisBody.style
-        , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
-
-      return support &amp;amp;&amp;amp; {
-        end: (function () {
-          var transitionEnd = "TransitionEnd"
-          if ( $.browser.webkit ) {
-          transitionEnd = "webkitTransitionEnd"
-          } else if ( $.browser.mozilla ) {
-          transitionEnd = "transitionend"
-          } else if ( $.browser.opera ) {
-          transitionEnd = "oTransitionEnd"
+
+      var transitionEnd = (function () {
+
+        var el = document.createElement('bootstrap')
+          , transEndEventNames = {
+               'WebkitTransition' : 'webkitTransitionEnd'
+            ,  'MozTransition'    : 'transitionend'
+            ,  'OTransition'      : 'oTransitionEnd'
+            ,  'msTransition'     : 'MSTransitionEnd'
+            ,  'transition'       : 'transitionend'
+            }
+          , name
+
+        for (name in transEndEventNames){
+          if (el.style[name] !== undefined) {
+            return transEndEventNames[name]
           }
-          return transitionEnd
-        }())
+        }
+
+      }())
+
+      return transitionEnd &amp;amp;&amp;amp; {
+        end: transitionEnd
       }
+
     })()
 
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-typeahead.js b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-typeahead.js
index dc2f882..ada0526 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-typeahead.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/bootstrap-typeahead.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /* =============================================================
- * bootstrap-typeahead.js v2.0.2
+ * bootstrap-typeahead.js v2.0.3
  * http://twitter.github.com/bootstrap/javascript.html#typeahead
  * =============================================================
  * Copyright 2012 Twitter, Inc.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -17,16 +17,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * limitations under the License.
  * ============================================================ */
 
-!function( $ ){
 
-  "use strict"
+!function($){
 
-  var Typeahead = function ( element, options ) {
+  "use strict"; // jshint ;_;
+
+
+ /* TYPEAHEAD PUBLIC CLASS DEFINITION
+  * ================================= */
+
+  var Typeahead = function (element, options) {
     this.$element = $(element)
     this.options = $.extend({}, $.fn.typeahead.defaults, options)
     this.matcher = this.options.matcher || this.matcher
     this.sorter = this.options.sorter || this.sorter
     this.highlighter = this.options.highlighter || this.highlighter
+    this.updater = this.options.updater || this.updater
     this.$menu = $(this.options.menu).appendTo('body')
     this.source = this.options.source
     this.shown = false
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -39,13 +45,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
   , select: function () {
       var val = this.$menu.find('.active').attr('data-value')
-      this.$element.val(val)
-      this.$element.change();
+      this.$element
+        .val(this.updater(val))
+        .change()
       return this.hide()
     }
 
+  , updater: function (item) {
+      return item
+    }
+
   , show: function () {
-      var pos = $.extend({}, this.$element.offset(), {
+      var pos = $.extend({}, this.$element.position(), {
         height: this.$element[0].offsetHeight
       })
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -77,7 +88,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       }
 
       items = $.grep(this.source, function (item) {
-        if (that.matcher(item)) return item
+        return that.matcher(item)
       })
 
       items = this.sorter(items)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -109,7 +120,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     }
 
   , highlighter: function (item) {
-      return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {
+      var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&amp;amp;')
+      return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
         return '&amp;lt;strong&amp;gt;' + match + '&amp;lt;/strong&amp;gt;'
       })
     }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -201,11 +213,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           break
 
         case 38: // up arrow
+          if (e.type != 'keydown') break
           e.preventDefault()
           this.prev()
           break
 
         case 40: // down arrow
+          if (e.type != 'keydown') break
           e.preventDefault()
           this.next()
           break
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -236,7 +250,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   /* TYPEAHEAD PLUGIN DEFINITION
    * =========================== */
 
-  $.fn.typeahead = function ( option ) {
+  $.fn.typeahead = function (option) {
     return this.each(function () {
       var $this = $(this)
         , data = $this.data('typeahead')
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -268,4 +282,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     })
   })
 
-}( window.jQuery );
\ No newline at end of file
+}(window.jQuery);
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/index.html b/plone/app/toolbar/resources/lib/bootstrap/js/tests/index.html
index 8c710de..2f8f71b 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/tests/index.html
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/index.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -11,10 +11,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;lt;link rel="stylesheet" href="vendor/qunit.css" type="text/css" media="screen" /&amp;gt;
   &amp;lt;script src="vendor/qunit.js"&amp;gt;&amp;lt;/script&amp;gt;
 
+  &amp;lt;!-- phantomjs logging script--&amp;gt;
+  &amp;lt;script src="unit/bootstrap-phantom.js"&amp;gt;&amp;lt;/script&amp;gt;
+
   &amp;lt;!--  plugin sources --&amp;gt;
   &amp;lt;script src="../../js/bootstrap-transition.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="../../js/bootstrap-alert.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="../../js/bootstrap-button.js"&amp;gt;&amp;lt;/script&amp;gt;
+  &amp;lt;script src="../../js/bootstrap-carousel.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="../../js/bootstrap-collapse.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="../../js/bootstrap-dropdown.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="../../js/bootstrap-modal.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -28,6 +32,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;lt;script src="unit/bootstrap-transition.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="unit/bootstrap-alert.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="unit/bootstrap-button.js"&amp;gt;&amp;lt;/script&amp;gt;
+  &amp;lt;script src="unit/bootstrap-carousel.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="unit/bootstrap-collapse.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="unit/bootstrap-dropdown.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="unit/bootstrap-modal.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -36,7 +41,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;lt;script src="unit/bootstrap-tooltip.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="unit/bootstrap-popover.js"&amp;gt;&amp;lt;/script&amp;gt;
   &amp;lt;script src="unit/bootstrap-typeahead.js"&amp;gt;&amp;lt;/script&amp;gt;
-
+&amp;lt;/head&amp;gt;
 &amp;lt;body&amp;gt;
   &amp;lt;div&amp;gt;
     &amp;lt;h1 id="qunit-header"&amp;gt;Bootstrap Plugin Test Suite&amp;lt;/h1&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/phantom.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/phantom.js
new file mode 100644
index 0000000..4105bf5
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/phantom.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,63 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+// Simple phantom.js integration script
+// Adapted from Modernizr
+
+function waitFor(testFx, onReady, timeOutMillis) {
+  var maxtimeOutMillis = timeOutMillis ? timeOutMillis :  5001 //&amp;lt; Default Max Timout is 5s
+    , start = new Date().getTime()
+    , condition = false
+    , interval = setInterval(function () {
+        if ((new Date().getTime() - start &amp;lt; maxtimeOutMillis) &amp;amp;&amp;amp; !condition) {
+          // If not time-out yet and condition not yet fulfilled
+          condition = (typeof(testFx) === "string" ? eval(testFx) : testFx()) //&amp;lt; defensive code
+        } else {
+          if (!condition) {
+            // If condition still not fulfilled (timeout but condition is 'false')
+            console.log("'waitFor()' timeout")
+            phantom.exit(1)
+          } else {
+            // Condition fulfilled (timeout and/or condition is 'true')
+            typeof(onReady) === "string" ? eval(onReady) : onReady() //&amp;lt; Do what it's supposed to do once the condition is fulfilled
+            clearInterval(interval) //&amp;lt; Stop this interval
+          }
+        }
+    }, 100) //&amp;lt; repeat check every 100ms
+}
+
+
+if (phantom.args.length === 0 || phantom.args.length &amp;gt; 2) {
+  console.log('Usage: phantom.js URL')
+  phantom.exit()
+}
+
+var page = new WebPage()
+
+// Route "console.log()" calls from within the Page context to the main Phantom context (i.e. current "this")
+page.onConsoleMessage = function(msg) {
+  console.log(msg)
+};
+
+page.open(phantom.args[0], function(status){
+  if (status !== "success") {
+    console.log("Unable to access network")
+    phantom.exit()
+  } else {
+    waitFor(function(){
+      return page.evaluate(function(){
+        var el = document.getElementById('qunit-testresult')
+        if (el &amp;amp;&amp;amp; el.innerText.match('completed')) {
+          return true
+        }
+        return false
+      })
+    }, function(){
+      var failedNum = page.evaluate(function(){
+        var el = document.getElementById('qunit-testresult')
+        try {
+          return el.getElementsByClassName('failed')[0].innerHTML
+        } catch (e) { }
+        return 10000
+      });
+      phantom.exit((parseInt(failedNum, 10) &amp;gt; 0) ? 1 : 0)
+    })
+  }
+})
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/server.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/server.js
new file mode 100644
index 0000000..7c8445f
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/server.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+/*
+ * Simple connect server for phantom.js
+ * Adapted from Modernizr
+ */
+
+var connect = require('connect')
+  , http = require('http')
+  , fs   = require('fs')
+  , app = connect()
+      .use(connect.static(__dirname + '/../../'));
+
+http.createServer(app).listen(3000);
+
+fs.writeFileSync(__dirname + '/pid.txt', process.pid, 'utf-8')
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-alert.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-alert.js
index e607f43..7f24e0e 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-alert.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-alert.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -38,4 +38,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(function () {
         ok(!$('#qunit-fixture').find('.alert-message').length, 'element removed from dom')
       })
 
+      test("should not fire closed when close is prevented", function () {
+        $.support.transition = false
+        stop();
+        $('&amp;lt;div class="alert"/&amp;gt;')
+          .bind('close', function (e) {
+            e.preventDefault();
+            ok(true);
+            start();
+          })
+          .bind('closed', function () {
+            ok(false);
+          })
+          .alert('close')
+      })
+
 })
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-carousel.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-carousel.js
new file mode 100644
index 0000000..92c23e2
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-carousel.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,28 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+$(function () {
+
+    module("bootstrap-carousel")
+
+      test("should be defined on jquery object", function () {
+        ok($(document.body).carousel, 'carousel method is defined')
+      })
+
+      test("should return element", function () {
+        ok($(document.body).carousel()[0] == document.body, 'document.body returned')
+      })
+
+      test("should not fire sliden when slide is prevented", function () {
+        $.support.transition = false
+        stop();
+        $('&amp;lt;div class="carousel"/&amp;gt;')
+          .bind('slide', function (e) {
+            e.preventDefault();
+            ok(true);
+            start();
+          })
+          .bind('slid', function () {
+            ok(false);
+          })
+          .carousel('next')
+      })
+
+})
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-collapse.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-collapse.js
index 698238d..fb66135 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-collapse.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-collapse.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,4 +22,33 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(function () {
         ok(/height/.test(el.attr('style')), 'has height set')
       })
 
+      test("should not fire shown when show is prevented", function () {
+        $.support.transition = false
+        stop();
+        $('&amp;lt;div class="collapse"/&amp;gt;')
+          .bind('show', function (e) {
+            e.preventDefault();
+            ok(true);
+            start();
+          })
+          .bind('shown', function () {
+            ok(false);
+          })
+          .collapse('show')
+      })
+
+      test("should reset style to auto after finishing opening collapse", function () {
+        $.support.transition = false
+        stop();
+        $('&amp;lt;div class="collapse" style="height: 0px"/&amp;gt;')
+          .bind('show', function () {
+            ok(this.style.height == '0px')
+          })
+          .bind('shown', function () {
+            ok(this.style.height == 'auto')
+            start()
+          })
+          .collapse('show')
+      })
+
 })
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-dropdown.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-dropdown.js
index 368ced2..4e52c84 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-dropdown.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-dropdown.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -10,6 +10,40 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(function () {
         ok($(document.body).dropdown()[0] == document.body, 'document.body returned')
       })
 
+      test("should not open dropdown if target is disabled", function () {
+        var dropdownHTML = '&amp;lt;ul class="tabs"&amp;gt;'
+          + '&amp;lt;li class="dropdown"&amp;gt;'
+          + '&amp;lt;button disabled href="#" class="btn dropdown-toggle" data-toggle="dropdown"&amp;gt;Dropdown&amp;lt;/button&amp;gt;'
+          + '&amp;lt;ul class="dropdown-menu"&amp;gt;'
+          + '&amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Secondary link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;'
+          + '&amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Something else here&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;'
+          + '&amp;lt;li class="divider"&amp;gt;&amp;lt;/li&amp;gt;'
+          + '&amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Another link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;'
+          + '&amp;lt;/ul&amp;gt;'
+          + '&amp;lt;/li&amp;gt;'
+          + '&amp;lt;/ul&amp;gt;'
+          , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
+
+        ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
+      })
+
+      test("should not open dropdown if target is disabled", function () {
+        var dropdownHTML = '&amp;lt;ul class="tabs"&amp;gt;'
+          + '&amp;lt;li class="dropdown"&amp;gt;'
+          + '&amp;lt;button href="#" class="btn dropdown-toggle disabled" data-toggle="dropdown"&amp;gt;Dropdown&amp;lt;/button&amp;gt;'
+          + '&amp;lt;ul class="dropdown-menu"&amp;gt;'
+          + '&amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Secondary link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;'
+          + '&amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Something else here&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;'
+          + '&amp;lt;li class="divider"&amp;gt;&amp;lt;/li&amp;gt;'
+          + '&amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Another link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;'
+          + '&amp;lt;/ul&amp;gt;'
+          + '&amp;lt;/li&amp;gt;'
+          + '&amp;lt;/ul&amp;gt;'
+          , dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').dropdown().click()
+
+        ok(!dropdown.parent('.dropdown').hasClass('open'), 'open class added on click')
+      })
+
       test("should add class open to menu if clicked", function () {
         var dropdownHTML = '&amp;lt;ul class="tabs"&amp;gt;'
           + '&amp;lt;li class="dropdown"&amp;gt;'
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-modal.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-modal.js
index 22f5781..0851f64 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-modal.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-modal.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -29,6 +29,35 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(function () {
           .modal("show")
       })
 
+      test("should fire show event", function () {
+        stop()
+        $.support.transition = false
+        $("&amp;lt;div id='modal-test'&amp;gt;&amp;lt;/div&amp;gt;")
+          .bind("show", function () {
+            ok(true, "show was called")
+          })
+          .bind("shown", function () {
+            $(this).remove()
+            start()
+          })
+          .modal("show")
+      })
+
+      test("should not fire shown when default prevented", function () {
+        stop()
+        $.support.transition = false
+        $("&amp;lt;div id='modal-test'&amp;gt;&amp;lt;/div&amp;gt;")
+          .bind("show", function (e) {
+            e.preventDefault()
+            ok(true, "show was called")
+            start()
+          })
+          .bind("shown", function () {
+            ok(false, "shown was called")
+          })
+          .modal("show")
+      })
+
       test("should hide modal when hide is called", function () {
         stop()
         $.support.transition = false
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-phantom.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-phantom.js
new file mode 100644
index 0000000..a04aeaa
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-phantom.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+// Logging setup for phantom integration
+// adapted from Modernizr
+
+QUnit.begin = function () {
+  console.log("Starting test suite")
+  console.log("================================================\n")
+}
+
+QUnit.moduleDone = function (opts) {
+  if (opts.failed === 0) {
+    console.log("\u2714 All tests passed in '" + opts.name + "' module")
+  } else {
+    console.log("\u2716 " + opts.failed + " tests failed in '" + opts.name + "' module")
+  }
+}
+
+QUnit.done = function (opts) {
+  console.log("\n================================================")
+  console.log("Tests completed in " + opts.runtime + " milliseconds")
+  console.log(opts.passed + " tests of " + opts.total + " passed, " + opts.failed + " failed.")
+}
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-tab.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-tab.js
index 18f490f..9878047 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-tab.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-tab.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -42,4 +42,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(function () {
         equals($("#qunit-fixture").find('.active').attr('id'), "home")
       })
 
+
+      test("should not fire closed when close is prevented", function () {
+        $.support.transition = false
+        stop();
+        $('&amp;lt;div class="tab"/&amp;gt;')
+          .bind('show', function (e) {
+            e.preventDefault();
+            ok(true);
+            start();
+          })
+          .bind('shown', function () {
+            ok(false);
+          })
+          .tab('show')
+      })
+
 })
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-tooltip.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-tooltip.js
index 8543162..63f4f0b 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-tooltip.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-tooltip.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -59,4 +59,78 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(function () {
         ok(!$(".tooltip").length, 'tooltip removed')
       })
 
+      test("should not show tooltip if leave event occurs before delay expires", function () {
+        var tooltip = $('&amp;lt;a href="#" rel="tooltip" title="Another tooltip"&amp;gt;&amp;lt;/a&amp;gt;')
+          .appendTo('#qunit-fixture')
+          .tooltip({ delay: 200 })
+
+        stop()
+
+        tooltip.trigger('mouseenter')
+
+        setTimeout(function () {
+          ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
+          tooltip.trigger('mouseout')
+          setTimeout(function () {
+            ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
+            start()
+          }, 200)
+        }, 100)
+      })
+
+      test("should not show tooltip if leave event occurs before delay expires", function () {
+        var tooltip = $('&amp;lt;a href="#" rel="tooltip" title="Another tooltip"&amp;gt;&amp;lt;/a&amp;gt;')
+          .appendTo('#qunit-fixture')
+          .tooltip({ delay: 100 })
+        stop()
+        tooltip.trigger('mouseenter')
+        setTimeout(function () {
+          ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
+          tooltip.trigger('mouseout')
+          setTimeout(function () {
+            ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
+            start()
+          }, 100)
+        }, 50)
+      })
+
+      test("should show tooltip if leave event hasn't occured before delay expires", function () {
+        var tooltip = $('&amp;lt;a href="#" rel="tooltip" title="Another tooltip"&amp;gt;&amp;lt;/a&amp;gt;')
+          .appendTo('#qunit-fixture')
+          .tooltip({ delay: 200 })
+        stop()
+        tooltip.trigger('mouseenter')
+        setTimeout(function () {
+          ok(!$(".tooltip").hasClass('fade in'), 'tooltip is not faded in')
+          setTimeout(function () {
+            ok(!$(".tooltip").hasClass('fade in'), 'tooltip has faded in')
+            start()
+          }, 200)
+        }, 100)
+      })
+
+      test("should detect if title string is html or text: foo", function () {
+        ok(!$.fn.tooltip.Constructor.prototype.isHTML('foo'), 'correctly detected html')
+      })
+
+      test("should detect if title string is html or text: &amp;amp;amp;lt;foo&amp;amp;amp;gt;", function () {
+        ok(!$.fn.tooltip.Constructor.prototype.isHTML('&amp;amp;lt;foo&amp;amp;gt;'), 'correctly detected html')
+      })
+
+      test("should detect if title string is html or text: &amp;amp;lt;div&amp;gt;foo&amp;amp;lt;/div&amp;gt;", function () {
+        ok($.fn.tooltip.Constructor.prototype.isHTML('&amp;lt;div&amp;gt;foo&amp;lt;/div&amp;gt;'), 'correctly detected html')
+      })
+
+      test("should detect if title string is html or text: asdfa&amp;amp;lt;div&amp;gt;foo&amp;amp;lt;/div&amp;gt;asdfasdf", function () {
+        ok($.fn.tooltip.Constructor.prototype.isHTML('asdfa&amp;lt;div&amp;gt;foo&amp;lt;/div&amp;gt;asdfasdf'), 'correctly detected html')
+      })
+
+      test("should detect if title string is html or text: document.createElement('div')", function () {
+        ok($.fn.tooltip.Constructor.prototype.isHTML(document.createElement('div')), 'correctly detected html')
+      })
+
+      test("should detect if title string is html or text: $('&amp;amp;lt;div /&amp;gt;)", function () {
+        ok($.fn.tooltip.Constructor.prototype.isHTML($('&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;')), 'correctly detected html')
+      })
+
 })
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-transition.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-transition.js
index 3f28d26..086773f 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-transition.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-transition.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3,7 +3,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(function () {
     module("bootstrap-transition")
 
       test("should be defined on jquery support object", function () {
-        ok($.support.transition != undefined, 'transition object is defined')
+        ok($.support.transition !== undefined, 'transition object is defined')
       })
 
       test("should provide an end object", function () {
diff --git a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-typeahead.js b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-typeahead.js
index 96ea7c4..4e2428d 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-typeahead.js
+++ b/plone/app/toolbar/resources/lib/bootstrap/js/tests/unit/bootstrap-typeahead.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -52,6 +52,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(function () {
         typeahead.$menu.remove()
       })
 
+      test("should not explode when regex chars are entered", function () {
+        var $input = $('&amp;lt;input /&amp;gt;').typeahead({
+              source: ['aa', 'ab', 'ac', 'mdo*', 'fat+']
+            })
+          , typeahead = $input.data('typeahead')
+
+        $input.val('+')
+        typeahead.lookup()
+
+        ok(typeahead.$menu.is(":visible"), 'typeahead is visible')
+        equals(typeahead.$menu.find('li').length, 1, 'has 1 item in menu')
+        equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
+
+        typeahead.$menu.remove()
+      })
+
       test("should hide menu when query entered", function () {
         stop()
         var $input = $('&amp;lt;input /&amp;gt;').typeahead({
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -91,7 +107,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(function () {
         ok(typeahead.$menu.find('li').first().hasClass('active'), "first item is active")
 
         $input.trigger({
-          type: 'keypress'
+          type: 'keydown'
         , keyCode: 40
         })
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -99,7 +115,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $(function () {
 
 
         $input.trigger({
-          type: 'keypress'
+          type: 'keydown'
         , keyCode: 38
         })
 
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/accordion.less b/plone/app/toolbar/resources/lib/bootstrap/less/accordion.less
index 11a36b5..31b8cdc 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/accordion.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/accordion.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -21,6 +21,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   padding: 8px 15px;
 }
 
+// General toggle styles
+.accordion-toggle {
+  cursor: pointer;
+}
+
 // Inner needs the styles because you can't animate properly with any styles on the element
 .accordion-inner {
   padding: 9px 15px;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/badges.less b/plone/app/toolbar/resources/lib/bootstrap/less/badges.less
deleted file mode 100644
index 273479b..0000000
--- a/plone/app/toolbar/resources/lib/bootstrap/less/badges.less
+++ /dev/null
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,36 +0,0 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-// BADGES
-// ------
-
-// Base
-.badge {
-  padding: 1px 9px 2px;
-  font-size: &amp;lt; at &amp;gt;baseFontSize * .925;
-  font-weight: bold;
-  white-space: nowrap;
-  color: &amp;lt; at &amp;gt;white;
-  background-color: &amp;lt; at &amp;gt;grayLight;
-  .border-radius(9px);
-}
-
-// Hover state
-.badge:hover {
-  color: &amp;lt; at &amp;gt;white;
-  text-decoration: none;
-  cursor: pointer;
-}
-
-// Colors
-.badge-error            { background-color: &amp;lt; at &amp;gt;errorText; }
-.badge-error:hover      { background-color: darken(&amp;lt; at &amp;gt;errorText, 10%); }
-
-.badge-warning          { background-color: &amp;lt; at &amp;gt;orange; }
-.badge-warning:hover    { background-color: darken(&amp;lt; at &amp;gt;orange, 10%); }
-
-.badge-success          { background-color: &amp;lt; at &amp;gt;successText; }
-.badge-success:hover    { background-color: darken(&amp;lt; at &amp;gt;successText, 10%); }
-
-.badge-info             { background-color: &amp;lt; at &amp;gt;infoText; }
-.badge-info:hover       { background-color: darken(&amp;lt; at &amp;gt;infoText, 10%); }
-
-.badge-inverse          { background-color: &amp;lt; at &amp;gt;grayDark; }
-.badge-inverse:hover    { background-color: darken(&amp;lt; at &amp;gt;grayDark, 10%); }
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/bootstrap.less b/plone/app/toolbar/resources/lib/bootstrap/less/bootstrap.less
index d115e95..9749a46 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/bootstrap.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/bootstrap.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /*!
- * Bootstrap v2.0.2
+ * Bootstrap v2.0.3
  *
  * Copyright 2012 Twitter, Inc
  * Licensed under the Apache License v2.0
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -52,8 +52,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 // Components: Misc
 &amp;lt; at &amp;gt;import "thumbnails.less";
-&amp;lt; at &amp;gt;import "labels.less";
-&amp;lt; at &amp;gt;import "badges.less";
+&amp;lt; at &amp;gt;import "labels-badges.less";
 &amp;lt; at &amp;gt;import "progress-bars.less";
 &amp;lt; at &amp;gt;import "accordion.less";
 &amp;lt; at &amp;gt;import "carousel.less";
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/button-groups.less b/plone/app/toolbar/resources/lib/bootstrap/less/button-groups.less
index d3e7a74..5338c5a 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/button-groups.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/button-groups.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -25,14 +25,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 }
 
 // Float them, remove border radius, then re-add to first and last elements
-.btn-group .btn {
+.btn-group &amp;gt; .btn {
   position: relative;
   float: left;
   margin-left: -1px;
   .border-radius(0);
 }
 // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
-.btn-group .btn:first-child {
+.btn-group &amp;gt; .btn:first-child {
   margin-left: 0;
      -webkit-border-top-left-radius: 4px;
          -moz-border-radius-topleft: 4px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -41,8 +41,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       -moz-border-radius-bottomleft: 4px;
           border-bottom-left-radius: 4px;
 }
-.btn-group .btn:last-child,
-.btn-group .dropdown-toggle {
+// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
+.btn-group &amp;gt; .btn:last-child,
+.btn-group &amp;gt; .dropdown-toggle {
      -webkit-border-top-right-radius: 4px;
          -moz-border-radius-topright: 4px;
              border-top-right-radius: 4px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -51,7 +52,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           border-bottom-right-radius: 4px;
 }
 // Reset corners for large buttons
-.btn-group .btn.large:first-child {
+.btn-group &amp;gt; .btn.large:first-child {
   margin-left: 0;
      -webkit-border-top-left-radius: 6px;
          -moz-border-radius-topleft: 6px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -60,8 +61,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       -moz-border-radius-bottomleft: 6px;
           border-bottom-left-radius: 6px;
 }
-.btn-group .btn.large:last-child,
-.btn-group .large.dropdown-toggle {
+.btn-group &amp;gt; .btn.large:last-child,
+.btn-group &amp;gt; .large.dropdown-toggle {
      -webkit-border-top-right-radius: 6px;
          -moz-border-radius-topright: 6px;
              border-top-right-radius: 6px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -71,10 +72,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 }
 
 // On hover/focus/active, bring the proper btn to front
-.btn-group .btn:hover,
-.btn-group .btn:focus,
-.btn-group .btn:active,
-.btn-group .btn.active {
+.btn-group &amp;gt; .btn:hover,
+.btn-group &amp;gt; .btn:focus,
+.btn-group &amp;gt; .btn:active,
+.btn-group &amp;gt; .btn.active {
   z-index: 2;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -90,48 +91,60 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // ----------------------
 
 // Give the line between buttons some depth
-.btn-group .dropdown-toggle {
+.btn-group &amp;gt; .dropdown-toggle {
   padding-left: 8px;
   padding-right: 8px;
-  &amp;lt; at &amp;gt;shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
-  .box-shadow(&amp;lt; at &amp;gt;shadow);
-  *padding-top: 3px;
-  *padding-bottom: 3px;
+  .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
+  *padding-top: 4px;
+  *padding-bottom: 4px;
 }
-.btn-group .btn-mini.dropdown-toggle {
+.btn-group &amp;gt; .btn-mini.dropdown-toggle {
   padding-left: 5px;
   padding-right: 5px;
-  *padding-top: 1px;
-  *padding-bottom: 1px;
 }
-.btn-group .btn-small.dropdown-toggle {
+.btn-group &amp;gt; .btn-small.dropdown-toggle {
   *padding-top: 4px;
   *padding-bottom: 4px;
 }
-.btn-group .btn-large.dropdown-toggle {
+.btn-group &amp;gt; .btn-large.dropdown-toggle {
   padding-left: 12px;
   padding-right: 12px;
 }
 
 .btn-group.open {
-  // IE7's z-index only goes to the nearest positioned ancestor, which would
-  // make the menu appear below buttons that appeared later on the page
-  *z-index: &amp;lt; at &amp;gt;zindexDropdown;
-
-  // Reposition menu on open and round all corners
-  .dropdown-menu {
-    display: block;
-    margin-top: 1px;
-    .border-radius(5px);
-  }
 
+  // The clickable button for toggling the menu
+  // Remove the gradient and set the same inset shadow as the :active state
   .dropdown-toggle {
     background-image: none;
-    &amp;lt; at &amp;gt;shadow: inset 0 1px 6px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
-    .box-shadow(&amp;lt; at &amp;gt;shadow);
+    .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
+  }
+
+  // Keep the hover's background when dropdown is open
+  .btn.dropdown-toggle {
+    background-color: &amp;lt; at &amp;gt;btnBackgroundHighlight;
+  }
+  .btn-primary.dropdown-toggle {
+    background-color: &amp;lt; at &amp;gt;btnPrimaryBackgroundHighlight;
+  }
+  .btn-warning.dropdown-toggle {
+    background-color: &amp;lt; at &amp;gt;btnWarningBackgroundHighlight;
+  }
+  .btn-danger.dropdown-toggle {
+    background-color: &amp;lt; at &amp;gt;btnDangerBackgroundHighlight;
+  }
+  .btn-success.dropdown-toggle {
+    background-color: &amp;lt; at &amp;gt;btnSuccessBackgroundHighlight;
+  }
+  .btn-info.dropdown-toggle {
+    background-color: &amp;lt; at &amp;gt;btnInfoBackgroundHighlight;
+  }
+  .btn-inverse.dropdown-toggle {
+    background-color: &amp;lt; at &amp;gt;btnInverseBackgroundHighlight;
   }
 }
 
+
 // Reposition the caret
 .btn .caret {
   margin-top: 7px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -150,12 +163,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 }
 .btn-large .caret {
   margin-top: 6px;
-  border-left:  5px solid transparent;
-  border-right: 5px solid transparent;
-  border-top:   5px solid &amp;lt; at &amp;gt;black;
+  border-left-width:  5px;
+  border-right-width: 5px;
+  border-top-width:   5px;
+}
+// Upside down carets for .dropup
+.dropup .btn-large .caret {
+  border-bottom: 5px solid &amp;lt; at &amp;gt;black;
+  border-top: 0;
 }
 
 
+
 // Account for other colors
 .btn-primary,
 .btn-warning,
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/buttons.less b/plone/app/toolbar/resources/lib/bootstrap/less/buttons.less
index 83f9c73..c44ff3e 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/buttons.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/buttons.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -13,20 +13,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   margin-bottom: 0; // For input.btn
   font-size: &amp;lt; at &amp;gt;baseFontSize;
   line-height: &amp;lt; at &amp;gt;baseLineHeight;
+  *line-height: 20px;
   color: &amp;lt; at &amp;gt;grayDark;
   text-align: center;
   text-shadow: 0 1px 1px rgba(255,255,255,.75);
   vertical-align: middle;
+  cursor: pointer;
   .buttonBackground(&amp;lt; at &amp;gt;btnBackground, &amp;lt; at &amp;gt;btnBackgroundHighlight);
   border: 1px solid &amp;lt; at &amp;gt;btnBorder;
+  *border: 0; // Remove the border to prevent IE7's black border on input:focus
   border-bottom-color: darken(&amp;lt; at &amp;gt;btnBorder, 10%);
   .border-radius(4px);
-  &amp;lt; at &amp;gt;shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
-  .box-shadow(&amp;lt; at &amp;gt;shadow);
-  cursor: pointer;
-
-  // Give IE7 some love
-  .ie7-restore-left-whitespace();
+  .ie7-restore-left-whitespace(); // Give IE7 some love
+  .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
 }
 
 // Hover state
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -34,6 +33,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   color: &amp;lt; at &amp;gt;grayDark;
   text-decoration: none;
   background-color: darken(&amp;lt; at &amp;gt;white, 10%);
+  *background-color: darken(&amp;lt; at &amp;gt;white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */
   background-position: 0 -15px;
 
   // transition is only when going to hover, otherwise the background
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -49,20 +49,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // Active state
 .btn.active,
 .btn:active {
-  background-image: none;
-  &amp;lt; at &amp;gt;shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
-  .box-shadow(&amp;lt; at &amp;gt;shadow);
   background-color: darken(&amp;lt; at &amp;gt;white, 10%);
   background-color: darken(&amp;lt; at &amp;gt;white, 15%) e("\9");
+  background-image: none;
   outline: 0;
+  .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
 }
 
 // Disabled state
 .btn.disabled,
 .btn[disabled] {
   cursor: default;
-  background-image: none;
   background-color: darken(&amp;lt; at &amp;gt;white, 10%);
+  background-image: none;
   .opacity(65);
   .box-shadow(none);
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -117,8 +116,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 .btn-info:hover,
 .btn-inverse,
 .btn-inverse:hover {
-  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
   color: &amp;lt; at &amp;gt;white;
+  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
 }
 // Provide *some* extra contrast for those who can get it
 .btn-primary.active,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -132,6 +131,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 // Set the backgrounds
 // -------------------------
+.btn {
+  // reset here as of 2.0.3 due to Recess property order
+  border-color: #ccc;
+  border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);
+}
 .btn-primary {
   .buttonBackground(&amp;lt; at &amp;gt;btnPrimaryBackground, &amp;lt; at &amp;gt;btnPrimaryBackgroundHighlight);
 }
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/close.less b/plone/app/toolbar/resources/lib/bootstrap/less/close.less
index a0e5edb..31fe6fc 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/close.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/close.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -12,7 +12,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   &amp;amp;:hover {
     color: &amp;lt; at &amp;gt;black;
     text-decoration: none;
-    .opacity(40);
     cursor: pointer;
+    .opacity(40);
   }
 }
+
+// Additional properties for button version
+// iOS requires the button element instead of an anchor tag.
+// If you want the anchor version, it requires `href="#"`.
+button.close {
+  padding: 0;
+  cursor: pointer;
+  background: transparent;
+  border: 0;
+  -webkit-appearance: none;
+}
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/code.less b/plone/app/toolbar/resources/lib/bootstrap/less/code.less
index 0751859..0cae749 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/code.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/code.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -27,14 +27,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; pre {
   margin: 0 0 &amp;lt; at &amp;gt;baseLineHeight / 2;
   font-size: &amp;lt; at &amp;gt;baseFontSize * .925; // 13px to 12px
   line-height: &amp;lt; at &amp;gt;baseLineHeight;
+  word-break: break-all;
+  word-wrap: break-word;
+  white-space: pre;
+  white-space: pre-wrap;
   background-color: #f5f5f5;
   border: 1px solid #ccc; // fallback for IE7-8
   border: 1px solid rgba(0,0,0,.15);
   .border-radius(4px);
-  white-space: pre;
-  white-space: pre-wrap;
-  word-break: break-all;
-  word-wrap: break-word;
 
   // Make prettyprint styles more spaced out for readability
   &amp;amp;.prettyprint {
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/component-animations.less b/plone/app/toolbar/resources/lib/bootstrap/less/component-animations.less
index 4a6368c..da1f2e5 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/component-animations.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/component-animations.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2,18 +2,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // --------------------
 
 .fade {
+  .opacity(0);
   .transition(opacity .15s linear);
-  opacity: 0;
   &amp;amp;.in {
-    opacity: 1;
+    .opacity(100);
   }
 }
 
 .collapse {
-  .transition(height .35s ease);
-  position:relative;
-  overflow:hidden;
+  position: relative;
   height: 0;
+  overflow: hidden;
+  .transition(height .35s ease);
   &amp;amp;.in {
     height: auto;
   }
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/dropdowns.less b/plone/app/toolbar/resources/lib/bootstrap/less/dropdowns.less
index 58cdb61..6c60385 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/dropdowns.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/dropdowns.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2,6 +2,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // --------------
 
 // Use the .menu class on any &amp;lt;li&amp;gt; element within the topbar or ul.tabs and you'll get some superfancy dropdowns
+.dropup,
 .dropdown {
   position: relative;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -21,11 +22,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   width: 0;
   height: 0;
   vertical-align: top;
-  border-left:  4px solid transparent;
-  border-right: 4px solid transparent;
   border-top:   4px solid &amp;lt; at &amp;gt;black;
-  .opacity(30);
+  border-right: 4px solid transparent;
+  border-left:  4px solid transparent;
   content: "";
+  .opacity(30);
 }
 
 // Place the caret
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -34,7 +35,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   margin-left: 2px;
 }
 .dropdown:hover .caret,
-.open.dropdown .caret {
+.open .caret {
   .opacity(100);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -45,24 +46,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   top: 100%;
   left: 0;
   z-index: &amp;lt; at &amp;gt;zindexDropdown;
-  float: left;
   display: none; // none by default, but block on "open" of the menu
+  float: left;
   min-width: 160px;
   padding: 4px 0;
-  margin: 0; // override default ul
+  margin: 1px 0 0; // override default ul
   list-style: none;
   background-color: &amp;lt; at &amp;gt;dropdownBackground;
-  border-color: #ccc;
-  border-color: rgba(0,0,0,.2);
-  border-style: solid;
-  border-width: 1px;
-  .border-radius(0 0 5px 5px);
+  border: 1px solid #ccc;
+  border: 1px solid rgba(0,0,0,.2);
+  *border-right-width: 2px;
+  *border-bottom-width: 2px;
+  .border-radius(5px);
   .box-shadow(0 5px 10px rgba(0,0,0,.2));
   -webkit-background-clip: padding-box;
      -moz-background-clip: padding;
           background-clip: padding-box;
-  *border-right-width: 2px;
-  *border-bottom-width: 2px;
 
   // Aligns the dropdown menu to right
   &amp;amp;.pull-right {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -99,25 +98,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 // Open state for the dropdown
 // ---------------------------
-.dropdown.open {
+.open {
   // IE7's z-index only goes to the nearest positioned ancestor, which would
   // make the menu appear below buttons that appeared later on the page
   *z-index: &amp;lt; at &amp;gt;zindexDropdown;
 
-  .dropdown-toggle {
-    color: &amp;lt; at &amp;gt;white;
-    background: #ccc;
-    background: rgba(0,0,0,.3);
-  }
   .dropdown-menu {
     display: block;
   }
 }
 
 // Right aligned dropdowns
+// ---------------------------
 .pull-right .dropdown-menu {
-  left: auto;
   right: 0;
+  left: auto;
 }
 
 // Allow for dropdowns to go bottom up (aka, dropup-menu)
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/forms.less b/plone/app/toolbar/resources/lib/bootstrap/less/forms.less
index 8d9c253..7d967c6 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/forms.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/forms.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -71,8 +71,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select,
   font-size: &amp;lt; at &amp;gt;baseFontSize;
   line-height: &amp;lt; at &amp;gt;baseLineHeight;
   color: &amp;lt; at &amp;gt;gray;
+  background-color: &amp;lt; at &amp;gt;inputBackground;
   border: 1px solid &amp;lt; at &amp;gt;inputBorder;
-  .border-radius(3px);
+  .border-radius(&amp;lt; at &amp;gt;inputBorderRadius);
 }
 .uneditable-textarea {
   width: auto;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -97,8 +98,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="radio"] {
   *margin-top: 0; /* IE7 */
   line-height: normal;
   cursor: pointer;
-  .border-radius(0);
+  background-color: transparent;
   border: 0 \9; /* IE9 and down */
+  .border-radius(0);
 }
 input[type="image"] {
   border: 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -109,9 +111,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="file"] {
   width: auto;
   padding: initial;
   line-height: initial;
-  border: initial;
   background-color: &amp;lt; at &amp;gt;inputBackground;
   background-color: initial;
+  border: initial;
   .box-shadow(none);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -171,6 +173,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="hidden"] {
 // Indent the labels to position radios/checkboxes as hanging
 .radio,
 .checkbox {
+  min-height: 18px; // clear the floating input if there is no label text
   padding-left: 18px;
 }
 .radio input[type="radio"],
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -213,17 +216,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; textarea {
 input:focus,
 textarea:focus {
   border-color: rgba(82,168,236,.8);
-  &amp;lt; at &amp;gt;shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
-  .box-shadow(&amp;lt; at &amp;gt;shadow);
   outline: 0;
   outline: thin dotted \9; /* IE6-9 */
+  .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
 }
 input[type="file"]:focus,
 input[type="radio"]:focus,
 input[type="checkbox"]:focus,
 select:focus {
-  .box-shadow(none); // override for file inputs
   .tab-focus();
+  .box-shadow(none); // override for file inputs
 }
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -243,7 +245,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus {
 input[class*="span"],
 select[class*="span"],
 textarea[class*="span"],
-.uneditable-input {
+.uneditable-input[class*="span"],
+// Redeclare since the fluid row class is more specific
+.row-fluid input[class*="span"],
+.row-fluid select[class*="span"],
+.row-fluid textarea[class*="span"],
+.row-fluid .uneditable-input[class*="span"] {
   float: none;
   margin-left: 0;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -268,9 +275,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; textarea[disabled],
 input[readonly],
 select[readonly],
 textarea[readonly] {
+  cursor: not-allowed;
   background-color: &amp;lt; at &amp;gt;inputDisabledBackground;
   border-color: #ddd;
-  cursor: not-allowed;
+}
+// Explicitly reset the colors here
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"][readonly],
+input[type="checkbox"][readonly] {
+  background-color: transparent;
 }
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -314,18 +328,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid {
   padding: (&amp;lt; at &amp;gt;baseLineHeight - 1) 20px &amp;lt; at &amp;gt;baseLineHeight;
   margin-top: &amp;lt; at &amp;gt;baseLineHeight;
   margin-bottom: &amp;lt; at &amp;gt;baseLineHeight;
-  background-color: &amp;lt; at &amp;gt;grayLighter;
+  background-color: &amp;lt; at &amp;gt;formActionsBackground;
   border-top: 1px solid #ddd;
   .clearfix(); // Adding clearfix to allow for .pull-right button containers
 }
 
 // For text that needs to appear as an input but should not be an input
 .uneditable-input {
-  display: block;
+  overflow: hidden; // prevent text from wrapping, but still cut it off like an input does
+  white-space: nowrap;
+  cursor: not-allowed;
   background-color: &amp;lt; at &amp;gt;inputBackground;
   border-color: #eee;
   .box-shadow(inset 0 1px 2px rgba(0,0,0,.025));
-  cursor: not-allowed;
 }
 
 // Placeholder text gets special styles; can't be bundled together though for some reason
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -365,10 +380,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid {
   input,
   select,
   .uneditable-input {
+    position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness
+    margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms
     *margin-left: 0;
-    .border-radius(0 3px 3px 0);
+    vertical-align: middle;
+    .border-radius(0 &amp;lt; at &amp;gt;inputBorderRadius &amp;lt; at &amp;gt;inputBorderRadius 0);
+    // Make input on top when focused so blue border and shadow always show
     &amp;amp;:focus {
-      position: relative;
       z-index: 2;
     }
   }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -378,8 +396,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid {
   .add-on {
     display: inline-block;
     width: auto;
-    min-width: 16px;
     height: &amp;lt; at &amp;gt;baseLineHeight;
+    min-width: 16px;
     padding: 4px 5px;
     font-weight: normal;
     line-height: &amp;lt; at &amp;gt;baseLineHeight;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -391,7 +409,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid {
   }
   .add-on,
   .btn {
-    .border-radius(3px 0 0 3px);
+    margin-left: -1px;
+    .border-radius(0);
   }
   .active {
     background-color: lighten(&amp;lt; at &amp;gt;green, 30);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -403,21 +422,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid {
   .btn {
     margin-right: -1px;
   }
+  .add-on:first-child,
+  .btn:first-child {
+    .border-radius(&amp;lt; at &amp;gt;inputBorderRadius 0 0 &amp;lt; at &amp;gt;inputBorderRadius);
+  }
 }
 .input-append {
   input,
-  select
+  select,
   .uneditable-input {
-    .border-radius(3px 0 0 3px);
+    .border-radius(&amp;lt; at &amp;gt;inputBorderRadius 0 0 &amp;lt; at &amp;gt;inputBorderRadius);
   }
   .uneditable-input {
-    border-left-color: #eee;
     border-right-color: #ccc;
+    border-left-color: #eee;
   }
-  .add-on,
-  .btn {
-    margin-left: -1px;
-    .border-radius(0 3px 3px 0);
+  .add-on:last-child,
+  .btn:last-child {
+    .border-radius(0 &amp;lt; at &amp;gt;inputBorderRadius &amp;lt; at &amp;gt;inputBorderRadius 0);
   }
 }
 // Remove all border-radius for inputs with both prepend and append
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -430,12 +452,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid {
   .add-on:first-child,
   .btn:first-child {
     margin-right: -1px;
-    .border-radius(3px 0 0 3px);
+    .border-radius(&amp;lt; at &amp;gt;inputBorderRadius 0 0 &amp;lt; at &amp;gt;inputBorderRadius);
   }
   .add-on:last-child,
   .btn:last-child {
     margin-left: -1px;
-    .border-radius(0 3px 3px 0);
+    .border-radius(0 &amp;lt; at &amp;gt;inputBorderRadius &amp;lt; at &amp;gt;inputBorderRadius 0);
   }
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -445,8 +467,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid {
 // -----------
 
 .search-query {
-  padding-left: 14px;
   padding-right: 14px;
+  padding-right: 4px \9;
+  padding-left: 14px;
+  padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */
   margin-bottom: 0; // remove the default margin on all inputs
   .border-radius(14px);
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -470,6 +494,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid {
   .input-prepend,
   .input-append {
     display: inline-block;
+    .ie7-inline-block();
     margin-bottom: 0;
   }
   // Re-hide hidden elements due to specifity
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -503,8 +528,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; select:focus:required:invalid {
 .form-inline .radio input[type="radio"],
 .form-inline .checkbox input[type="checkbox"] {
   float: left;
-  margin-left: 0;
   margin-right: 3px;
+  margin-left: 0;
 }
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -537,11 +562,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; legend + .control-group {
   }
   // Move over all input controls and content
   .controls {
-    margin-left: 160px;
-    /* Super jank IE7 fix to ensure the inputs in .input-append and input-prepend don't inherit the margin of the parent, in this case .controls */
+    // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend
+    // don't inherit the margin of the parent, in this case .controls
     *display: inline-block;
-    *margin-left: 0;
     *padding-left: 20px;
+    margin-left: 160px;
+    *margin-left: 0;
+    &amp;amp;:first-child {
+      *padding-left: 160px;
+    }
   }
   // Remove bottom margin on block level help text since that's accounted for on .control-group
   .help-block {
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/labels-badges.less b/plone/app/toolbar/resources/lib/bootstrap/less/labels-badges.less
new file mode 100644
index 0000000..0fbd7bb
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/labels-badges.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,55 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+// LABELS &amp;amp; BADGES
+// ---------------
+
+// Base classes
+.label,
+.badge {
+  font-size: &amp;lt; at &amp;gt;baseFontSize * .846;
+  font-weight: bold;
+  line-height: 14px; // ensure proper line-height if floated
+  color: &amp;lt; at &amp;gt;white;
+  vertical-align: baseline;
+  white-space: nowrap;
+  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
+  background-color: &amp;lt; at &amp;gt;grayLight;
+}
+// Set unique padding and border-radii
+.label {
+  padding: 1px 4px 2px;
+  .border-radius(3px);
+}
+.badge {
+  padding: 1px 9px 2px;
+  .border-radius(9px);
+}
+
+// Hover state, but only for links
+a {
+  &amp;amp;.label:hover,
+  &amp;amp;.badge:hover {
+    color: &amp;lt; at &amp;gt;white;
+    text-decoration: none;
+    cursor: pointer;
+  }
+}
+
+// Colors
+// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
+.label,
+.badge {
+  // Important (red)
+  &amp;amp;-important         { background-color: &amp;lt; at &amp;gt;errorText; }
+  &amp;amp;-important[href]   { background-color: darken(&amp;lt; at &amp;gt;errorText, 10%); }
+  // Warnings (orange)
+  &amp;amp;-warning           { background-color: &amp;lt; at &amp;gt;orange; }
+  &amp;amp;-warning[href]     { background-color: darken(&amp;lt; at &amp;gt;orange, 10%); }
+  // Success (green)
+  &amp;amp;-success           { background-color: &amp;lt; at &amp;gt;successText; }
+  &amp;amp;-success[href]     { background-color: darken(&amp;lt; at &amp;gt;successText, 10%); }
+  // Info (turquoise)
+  &amp;amp;-info              { background-color: &amp;lt; at &amp;gt;infoText; }
+  &amp;amp;-info[href]        { background-color: darken(&amp;lt; at &amp;gt;infoText, 10%); }
+  // Inverse (black)
+  &amp;amp;-inverse           { background-color: &amp;lt; at &amp;gt;grayDark; }
+  &amp;amp;-inverse[href]     { background-color: darken(&amp;lt; at &amp;gt;grayDark, 10%); }
+}
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/labels.less b/plone/app/toolbar/resources/lib/bootstrap/less/labels.less
deleted file mode 100644
index 918b12e..0000000
--- a/plone/app/toolbar/resources/lib/bootstrap/less/labels.less
+++ /dev/null
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,38 +0,0 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-// LABELS
-// ------
-
-// Base
-.label {
-  padding: 1px 4px 2px;
-  font-size: &amp;lt; at &amp;gt;baseFontSize * .846;
-  font-weight: bold;
-  line-height: 13px; // ensure proper line-height if floated
-  color: &amp;lt; at &amp;gt;white;
-  vertical-align: middle;
-  white-space: nowrap;
-  text-shadow: 0 -1px 0 rgba(0,0,0,.25);
-  background-color: &amp;lt; at &amp;gt;grayLight;
-  .border-radius(3px);
-}
-
-// Hover state
-.label:hover {
-  color: &amp;lt; at &amp;gt;white;
-  text-decoration: none;
-}
-
-// Colors
-.label-important        { background-color: &amp;lt; at &amp;gt;errorText; }
-.label-important:hover  { background-color: darken(&amp;lt; at &amp;gt;errorText, 10%); }
-
-.label-warning          { background-color: &amp;lt; at &amp;gt;orange; }
-.label-warning:hover    { background-color: darken(&amp;lt; at &amp;gt;orange, 10%); }
-
-.label-success          { background-color: &amp;lt; at &amp;gt;successText; }
-.label-success:hover    { background-color: darken(&amp;lt; at &amp;gt;successText, 10%); }
-
-.label-info             { background-color: &amp;lt; at &amp;gt;infoText; }
-.label-info:hover       { background-color: darken(&amp;lt; at &amp;gt;infoText, 10%); }
-
-.label-inverse             { background-color: &amp;lt; at &amp;gt;grayDark; }
-.label-inverse:hover       { background-color: darken(&amp;lt; at &amp;gt;grayDark, 10%); }
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/layouts.less b/plone/app/toolbar/resources/lib/bootstrap/less/layouts.less
index c8d358b..cc53627 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/layouts.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/layouts.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -11,7 +11,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 // Fluid layouts (left aligned, with sidebar, min- &amp;amp; max-width content)
 .container-fluid {
-  padding-left: &amp;lt; at &amp;gt;gridGutterWidth;
   padding-right: &amp;lt; at &amp;gt;gridGutterWidth;
+  padding-left: &amp;lt; at &amp;gt;gridGutterWidth;
   .clearfix();
 }
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/mixins.less b/plone/app/toolbar/resources/lib/bootstrap/less/mixins.less
index 0074e89..b107955 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/mixins.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/mixins.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -70,11 +70,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 // Sizing shortcuts
 // -------------------------
-.size(&amp;lt; at &amp;gt;height: 5px, &amp;lt; at &amp;gt;width: 5px) {
+.size(&amp;lt; at &amp;gt;height, &amp;lt; at &amp;gt;width) {
   width: &amp;lt; at &amp;gt;width;
   height: &amp;lt; at &amp;gt;height;
 }
-.square(&amp;lt; at &amp;gt;size: 5px) {
+.square(&amp;lt; at &amp;gt;size) {
   .size(&amp;lt; at &amp;gt;size, &amp;lt; at &amp;gt;size);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -98,13 +98,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   white-space: nowrap;
 }
 
-// New image replacement
+// CSS image replacement
 // -------------------------
-// Source: http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/
+// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
 .hide-text {
-  overflow: hidden;
-  text-indent: 100%;
-  white-space: nowrap;
+  font: 0/0 a;
+  color: transparent;
+  text-shadow: none;
+  background-color: transparent;
+  border: 0;
 }
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -114,13 +116,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #font {
   #family {
     .serif() {
-      font-family: Georgia, "Times New Roman", Times, serif;
+      font-family: &amp;lt; at &amp;gt;serifFontFamily;
     }
     .sans-serif() {
-      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+      font-family: &amp;lt; at &amp;gt;sansFontFamily;
     }
     .monospace() {
-      font-family: Menlo, Monaco, "Courier New", monospace;
+      font-family: &amp;lt; at &amp;gt;monoFontFamily;
     }
   }
   .shorthand(&amp;lt; at &amp;gt;size: &amp;lt; at &amp;gt;baseFontSize, &amp;lt; at &amp;gt;weight: normal, &amp;lt; at &amp;gt;lineHeight: &amp;lt; at &amp;gt;baseLineHeight) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -150,9 +152,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 .input-block-level {
   display: block;
   width: 100%;
-  min-height: 28px; /* Make inputs at least the height of their button counterpart */
-  /* Makes inputs behave like true block-level elements */
-  .box-sizing(border-box);
+  min-height: 28px;        // Make inputs at least the height of their button counterpart
+  .box-sizing(border-box); // Makes inputs behave like true block-level elements
 }
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -190,14 +191,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // --------------------------------------------------
 
 // Border Radius
-.border-radius(&amp;lt; at &amp;gt;radius: 5px) {
+.border-radius(&amp;lt; at &amp;gt;radius) {
   -webkit-border-radius: &amp;lt; at &amp;gt;radius;
      -moz-border-radius: &amp;lt; at &amp;gt;radius;
           border-radius: &amp;lt; at &amp;gt;radius;
 }
 
 // Drop shadows
-.box-shadow(&amp;lt; at &amp;gt;shadow: 0 1px 3px rgba(0,0,0,.25)) {
+.box-shadow(&amp;lt; at &amp;gt;shadow) {
   -webkit-box-shadow: &amp;lt; at &amp;gt;shadow;
      -moz-box-shadow: &amp;lt; at &amp;gt;shadow;
           box-shadow: &amp;lt; at &amp;gt;shadow;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -227,21 +228,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
        -o-transform: scale(&amp;lt; at &amp;gt;ratio);
           transform: scale(&amp;lt; at &amp;gt;ratio);
 }
-.translate(&amp;lt; at &amp;gt;x: 0, &amp;lt; at &amp;gt;y: 0) {
+.translate(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y) {
   -webkit-transform: translate(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y);
      -moz-transform: translate(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y);
       -ms-transform: translate(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y);
        -o-transform: translate(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y);
           transform: translate(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y);
 }
-.skew(&amp;lt; at &amp;gt;x: 0, &amp;lt; at &amp;gt;y: 0) {
+.skew(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y) {
   -webkit-transform: skew(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y);
      -moz-transform: skew(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y);
       -ms-transform: skew(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y);
        -o-transform: skew(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y);
           transform: skew(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y);
 }
-.translate3d(&amp;lt; at &amp;gt;x: 0, &amp;lt; at &amp;gt;y: 0, &amp;lt; at &amp;gt;z: 0) {
+.translate3d(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y, &amp;lt; at &amp;gt;z) {
   -webkit-transform: translate(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y, &amp;lt; at &amp;gt;z);
      -moz-transform: translate(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y, &amp;lt; at &amp;gt;z);
       -ms-transform: translate(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y, &amp;lt; at &amp;gt;z);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -249,6 +250,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
           transform: translate(&amp;lt; at &amp;gt;x, &amp;lt; at &amp;gt;y, &amp;lt; at &amp;gt;z);
 }
 
+// Backface visibility
+// Prevent browsers from flickering when using CSS 3D transforms.
+// Default value is `visible`, but can be changed to `hidden
+// See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
+.backface-visibility(&amp;lt; at &amp;gt;visibility){
+-webkit-backface-visibility: &amp;lt; at &amp;gt;visibility;
+   -moz-backface-visibility: &amp;lt; at &amp;gt;visibility;
+    -ms-backface-visibility: &amp;lt; at &amp;gt;visibility;
+        backface-visibility: &amp;lt; at &amp;gt;visibility;
+}
+
 // Background clipping
 // Heads up: FF 3.6 and under need "padding" instead of "padding-box"
 .background-clip(&amp;lt; at &amp;gt;clip) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -279,18 +291,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 .user-select(&amp;lt; at &amp;gt;select) {
   -webkit-user-select: &amp;lt; at &amp;gt;select;
      -moz-user-select: &amp;lt; at &amp;gt;select;
+      -ms-user-select: &amp;lt; at &amp;gt;select;
        -o-user-select: &amp;lt; at &amp;gt;select;
           user-select: &amp;lt; at &amp;gt;select;
 }
 
 // Resize anything
-.resizable(&amp;lt; at &amp;gt;direction: both) {
+.resizable(&amp;lt; at &amp;gt;direction) {
   resize: &amp;lt; at &amp;gt;direction; // Options: horizontal, vertical, both
   overflow: auto; // Safari fix
 }
 
 // CSS3 Content Columns
-.content-columns(&amp;lt; at &amp;gt;columnCount, &amp;lt; at &amp;gt;columnGap: &amp;lt; at &amp;gt;gridColumnGutter) {
+.content-columns(&amp;lt; at &amp;gt;columnCount, &amp;lt; at &amp;gt;columnGap: &amp;lt; at &amp;gt;gridGutterWidth) {
   -webkit-column-count: &amp;lt; at &amp;gt;columnCount;
      -moz-column-count: &amp;lt; at &amp;gt;columnCount;
           column-count: &amp;lt; at &amp;gt;columnCount;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -300,9 +313,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 }
 
 // Opacity
-.opacity(&amp;lt; at &amp;gt;opacity: 100) {
+.opacity(&amp;lt; at &amp;gt;opacity) {
   opacity: &amp;lt; at &amp;gt;opacity / 100;
-   filter: ~"alpha(opacity=&amp;lt; at &amp;gt;{opacity})";
+  filter: ~"alpha(opacity=&amp;lt; at &amp;gt;{opacity})";
 }
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -393,7 +406,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 }
 // Reset filters for IE
 .reset-filter() {
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
+  filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
 }
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -405,18 +418,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // -------------------------
 // Dividers (basically an hr) within dropdowns and nav lists
 .nav-divider() {
-  height: 1px;
-  margin: ((&amp;lt; at &amp;gt;baseLineHeight / 2) - 1) 1px; // 8px 1px
-  overflow: hidden;
-  background-color: #e5e5e5;
-  border-bottom: 1px solid &amp;lt; at &amp;gt;white;
-
   // IE7 needs a set width since we gave a height. Restricting just
   // to IE7 to keep the 1px left/right space in other browsers.
   // It is unclear where IE is getting the extra space that we need
   // to negative-margin away, but so it goes.
   *width: 100%;
+  height: 1px;
+  margin: ((&amp;lt; at &amp;gt;baseLineHeight / 2) - 1) 1px; // 8px 1px
   *margin: -5px 0 5px;
+  overflow: hidden;
+  background-color: #e5e5e5;
+  border-bottom: 1px solid &amp;lt; at &amp;gt;white;
 }
 
 // Button backgrounds
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -424,11 +436,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 .buttonBackground(&amp;lt; at &amp;gt;startColor, &amp;lt; at &amp;gt;endColor) {
   // gradientBar will set the background to a pleasing blend of these, to support IE&amp;lt;=9
   .gradientBar(&amp;lt; at &amp;gt;startColor, &amp;lt; at &amp;gt;endColor);
+  *background-color: &amp;lt; at &amp;gt;endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */
   .reset-filter();
 
   // in these cases the gradient won't cover the background, so we override
   &amp;amp;:hover, &amp;amp;:active, &amp;amp;.active, &amp;amp;.disabled, &amp;amp;[disabled] {
     background-color: &amp;lt; at &amp;gt;endColor;
+    *background-color: darken(&amp;lt; at &amp;gt;endColor, 5%);
   }
 
   // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -489,8 +503,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 // Centered container element
 .container-fixed() {
-  margin-left: auto;
   margin-right: auto;
+  margin-left: auto;
   .clearfix();
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -507,9 +521,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   margin-left: &amp;lt; at &amp;gt;gridGutterWidth * -1;
   .clearfix();
 }
-.makeColumn(&amp;lt; at &amp;gt;columns: 1) {
+.makeColumn(&amp;lt; at &amp;gt;columns: 1, &amp;lt; at &amp;gt;offset: 0) {
   float: left;
-  margin-left: &amp;lt; at &amp;gt;gridGutterWidth;
+  margin-left: (&amp;lt; at &amp;gt;gridColumnWidth * &amp;lt; at &amp;gt;offset) + (&amp;lt; at &amp;gt;gridGutterWidth * (&amp;lt; at &amp;gt;offset - 1)) + (&amp;lt; at &amp;gt;gridGutterWidth * 2);
   width: (&amp;lt; at &amp;gt;gridColumnWidth * &amp;lt; at &amp;gt;columns) + (&amp;lt; at &amp;gt;gridGutterWidth * (&amp;lt; at &amp;gt;columns - 1));
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -531,7 +545,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     .offsetX (0) {}
 
     .offset (&amp;lt; at &amp;gt;columns) {
-      margin-left: (&amp;lt; at &amp;gt;gridColumnWidth * &amp;lt; at &amp;gt;columns) + (&amp;lt; at &amp;gt;gridGutterWidth * (&amp;lt; at &amp;gt;columns - 1)) + (&amp;lt; at &amp;gt;gridGutterWidth * 2);
+      margin-left: (&amp;lt; at &amp;gt;gridColumnWidth * &amp;lt; at &amp;gt;columns) + (&amp;lt; at &amp;gt;gridGutterWidth * (&amp;lt; at &amp;gt;columns + 1));
     }
 
     .span (&amp;lt; at &amp;gt;columns) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -562,23 +576,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   .fluid (&amp;lt; at &amp;gt;fluidGridColumnWidth, &amp;lt; at &amp;gt;fluidGridGutterWidth) {
 
     .spanX (&amp;lt; at &amp;gt;index) when (&amp;lt; at &amp;gt;index &amp;gt; 0) {
-      (~"&amp;gt; .span&amp;lt; at &amp;gt;{index}") { .span(&amp;lt; at &amp;gt;index); }
+      (~".span&amp;lt; at &amp;gt;{index}") { .span(&amp;lt; at &amp;gt;index); }
       .spanX(&amp;lt; at &amp;gt;index - 1);
     }
     .spanX (0) {}
 
     .span (&amp;lt; at &amp;gt;columns) {
       width: (&amp;lt; at &amp;gt;fluidGridColumnWidth * &amp;lt; at &amp;gt;columns) + (&amp;lt; at &amp;gt;fluidGridGutterWidth * (&amp;lt; at &amp;gt;columns - 1));
+      *width: (&amp;lt; at &amp;gt;fluidGridColumnWidth * &amp;lt; at &amp;gt;columns) + (&amp;lt; at &amp;gt;fluidGridGutterWidth * (&amp;lt; at &amp;gt;columns - 1)) - (.5 / &amp;lt; at &amp;gt;gridRowWidth * 100 * 1%);
     }
 
     .row-fluid {
       width: 100%;
       .clearfix();
-      &amp;gt; [class*="span"] {
+      [class*="span"] {
+        .input-block-level();
         float: left;
         margin-left: &amp;lt; at &amp;gt;fluidGridGutterWidth;
+        *margin-left: &amp;lt; at &amp;gt;fluidGridGutterWidth - (.5 / &amp;lt; at &amp;gt;gridRowWidth * 100 * 1%);
       }
-      &amp;gt; [class*="span"]:first-child {
+      [class*="span"]:first-child {
         margin-left: 0;
       }
 
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/modals.less b/plone/app/toolbar/resources/lib/bootstrap/less/modals.less
index 4fccea7..870ad0d 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/modals.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/modals.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -56,7 +56,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   .close { margin-top: 2px; }
 }
 
-// Body (where all modal content resises)
+// Body (where all modal content resides)
 .modal-body {
   overflow-y: auto;
   max-height: 400px;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/navbar.less b/plone/app/toolbar/resources/lib/bootstrap/less/navbar.less
index 8eb1332..adfe109 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/navbar.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/navbar.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -16,12 +16,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 // Gradient is applied to it's own element because overflow visible is not honored by IE when filter is present
 .navbar-inner {
+  min-height: &amp;lt; at &amp;gt;navbarHeight;
   padding-left:  20px;
   padding-right: 20px;
   #gradient &amp;gt; .vertical(&amp;lt; at &amp;gt;navbarBackgroundHighlight, &amp;lt; at &amp;gt;navbarBackground);
   .border-radius(4px);
-  &amp;lt; at &amp;gt;shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1);
-  .box-shadow(&amp;lt; at &amp;gt;shadow);
+  .box-shadow(~"0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1)");
 }
 
 // Set width to auto for default container
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -30,28 +30,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   width: auto;
 }
 
-// Navbar button for toggling navbar items in responsive layouts
-.btn-navbar {
-  display: none;
-  float: right;
-  padding: 7px 10px;
-  margin-left: 5px;
-  margin-right: 5px;
-  .buttonBackground(&amp;lt; at &amp;gt;navbarBackgroundHighlight, &amp;lt; at &amp;gt;navbarBackground);
-  &amp;lt; at &amp;gt;shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
-  .box-shadow(&amp;lt; at &amp;gt;shadow);
-}
-.btn-navbar .icon-bar {
-  display: block;
-  width: 18px;
-  height: 2px;
-  background-color: #f5f5f5;
-  .border-radius(1px);
-  .box-shadow(0 1px 0 rgba(0,0,0,.25));
-}
-.btn-navbar .icon-bar + .icon-bar {
-  margin-top: 3px;
-}
 // Override the default collapsed state
 .nav-collapse.collapse {
   height: auto;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -69,25 +47,34 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   .brand {
     float: left;
     display: block;
-    padding: 8px 20px 12px;
+    // Vertically center the text given &amp;lt; at &amp;gt;navbarHeight
+    &amp;lt; at &amp;gt;elementHeight: 20px;
+    padding: ((&amp;lt; at &amp;gt;navbarHeight - &amp;lt; at &amp;gt;elementHeight) / 2 - 2) 20px ((&amp;lt; at &amp;gt;navbarHeight - &amp;lt; at &amp;gt;elementHeight) / 2 + 2);
     margin-left: -20px; // negative indent to left-align the text down the page
     font-size: 20px;
     font-weight: 200;
     line-height: 1;
-    color: &amp;lt; at &amp;gt;white;
+    color: &amp;lt; at &amp;gt;navbarBrandColor;
   }
   // Plain text in topbar
   .navbar-text {
     margin-bottom: 0;
     line-height: &amp;lt; at &amp;gt;navbarHeight;
   }
+  // Janky solution for now to account for links outside the .nav
+  .navbar-link {
+    color: &amp;lt; at &amp;gt;navbarLinkColor;
+    &amp;amp;:hover {
+      color: &amp;lt; at &amp;gt;navbarLinkColorHover;
+    }
+  }
   // Buttons in navbar
   .btn,
   .btn-group {
     .navbarVerticalAlign(30px); // Vertically center in navbar
   }
   .btn-group .btn {
-    margin-top: 0; // then undo the margin here so we don't accidentally double it
+    margin: 0; // then undo the margin here so we don't accidentally double it
   }
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -133,8 +120,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     color: &amp;lt; at &amp;gt;white;
     background-color: &amp;lt; at &amp;gt;navbarSearchBackground;
     border: 1px solid &amp;lt; at &amp;gt;navbarSearchBorder;
-    &amp;lt; at &amp;gt;shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15);
-    .box-shadow(&amp;lt; at &amp;gt;shadow);
+    .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0px rgba(255,255,255,.15)");
     .transition(none);
 
     // Placeholder text gets special styles; can't be a grouped selector
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -218,12 +204,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // Links
 .navbar .nav &amp;gt; li &amp;gt; a {
   float: none;
-  padding: 10px 10px 11px;
+  // Vertically center the text given &amp;lt; at &amp;gt;navbarHeight
+  &amp;lt; at &amp;gt;elementHeight: 20px;
+  padding: ((&amp;lt; at &amp;gt;navbarHeight - &amp;lt; at &amp;gt;elementHeight) / 2 - 1) 10px ((&amp;lt; at &amp;gt;navbarHeight - &amp;lt; at &amp;gt;elementHeight) / 2 + 1);
   line-height: 19px;
   color: &amp;lt; at &amp;gt;navbarLinkColor;
   text-decoration: none;
   text-shadow: 0 -1px 0 rgba(0,0,0,.25);
 }
+// Buttons
+.navbar .btn {
+  display: inline-block;
+  padding: 4px 10px 4px;
+  // Vertically center the button given &amp;lt; at &amp;gt;navbarHeight
+  &amp;lt; at &amp;gt;elementHeight: 28px;
+  margin: ((&amp;lt; at &amp;gt;navbarHeight - &amp;lt; at &amp;gt;elementHeight) / 2 - 1) 5px ((&amp;lt; at &amp;gt;navbarHeight - &amp;lt; at &amp;gt;elementHeight) / 2);
+  line-height: &amp;lt; at &amp;gt;baseLineHeight;
+}
+.navbar .btn-group {
+  margin: 0;
+  // Vertically center the button given &amp;lt; at &amp;gt;navbarHeight
+  &amp;lt; at &amp;gt;elementHeight: 28px;
+  padding: ((&amp;lt; at &amp;gt;navbarHeight - &amp;lt; at &amp;gt;elementHeight) / 2 - 1) 5px ((&amp;lt; at &amp;gt;navbarHeight - &amp;lt; at &amp;gt;elementHeight) / 2);
+}
 // Hover
 .navbar .nav &amp;gt; li &amp;gt; a:hover {
   background-color: &amp;lt; at &amp;gt;navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -255,6 +258,28 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   margin-right: 0;
 }
 
+// Navbar button for toggling navbar items in responsive layouts
+// These definitions need to come after '.navbar .btn'
+.navbar .btn-navbar {
+  display: none;
+  float: right;
+  padding: 7px 10px;
+  margin-left: 5px;
+  margin-right: 5px;
+  .buttonBackground(&amp;lt; at &amp;gt;navbarBackgroundHighlight, &amp;lt; at &amp;gt;navbarBackground);
+  .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)");
+}
+.navbar .btn-navbar .icon-bar {
+  display: block;
+  width: 18px;
+  height: 2px;
+  background-color: #f5f5f5;
+  .border-radius(1px);
+  .box-shadow(0 1px 0 rgba(0,0,0,.25));
+}
+.btn-navbar .icon-bar + .icon-bar {
+  margin-top: 3px;
+}
 
 
 // Dropdown menus
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -262,8 +287,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 // Menu position and menu carets
 .navbar .dropdown-menu {
-  margin-top: 1px;
-  .border-radius(4px);
   &amp;amp;:before {
     content: '';
     display: inline-block;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -303,31 +326,31 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   }
 }
 // Dropdown toggle caret
-.navbar .nav .dropdown-toggle .caret,
-.navbar .nav .open.dropdown .caret {
+.navbar .nav li.dropdown .dropdown-toggle .caret,
+.navbar .nav li.dropdown.open .caret {
   border-top-color: &amp;lt; at &amp;gt;white;
   border-bottom-color: &amp;lt; at &amp;gt;white;
 }
-.navbar .nav .active .caret {
+.navbar .nav li.dropdown.active .caret {
   .opacity(100);
 }
 
 // Remove background color from open dropdown
-.navbar .nav .open &amp;gt; .dropdown-toggle,
-.navbar .nav .active &amp;gt; .dropdown-toggle,
-.navbar .nav .open.active &amp;gt; .dropdown-toggle {
+.navbar .nav li.dropdown.open &amp;gt; .dropdown-toggle,
+.navbar .nav li.dropdown.active &amp;gt; .dropdown-toggle,
+.navbar .nav li.dropdown.open.active &amp;gt; .dropdown-toggle {
   background-color: transparent;
 }
 
 // Dropdown link on hover
-.navbar .nav .active &amp;gt; .dropdown-toggle:hover {
+.navbar .nav li.dropdown.active &amp;gt; .dropdown-toggle:hover {
   color: &amp;lt; at &amp;gt;white;
 }
 
 // Right aligned menus need alt position
 // TODO: rejigger this at some point to simplify the selectors
-.navbar .nav.pull-right .dropdown-menu,
-.navbar .nav .dropdown-menu.pull-right {
+.navbar .pull-right .dropdown-menu,
+.navbar .dropdown-menu.pull-right {
   left: auto;
   right: 0;
   &amp;amp;:before {
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/navs.less b/plone/app/toolbar/resources/lib/bootstrap/less/navs.less
index 489e1bf..5cb9f9f 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/navs.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/navs.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -21,6 +21,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   background-color: &amp;lt; at &amp;gt;grayLighter;
 }
 
+// Redeclare pull classes because of specifity
+.nav &amp;gt; .pull-right {
+  float: right;
+}
+
 // Nav headers (for dropdowns and lists)
 .nav .nav-header {
   display: block;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -98,12 +103,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 .nav-tabs {
   border-bottom: 1px solid #ddd;
 }
-
 // Make the list-items overlay the bottom border
 .nav-tabs &amp;gt; li {
   margin-bottom: -1px;
 }
-
 // Actual tabs (as links)
 .nav-tabs &amp;gt; li &amp;gt; a {
   padding-top: 8px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -125,6 +128,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   cursor: default;
 }
 
+
 // PILLS
 // -----
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -189,14 +193,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // DROPDOWNS
 // ---------
 
-// Position the menu
-.nav-tabs .dropdown-menu,
-.nav-pills .dropdown-menu {
-  margin-top: 1px;
-  border-width: 1px;
+.nav-tabs .dropdown-menu {
+  .border-radius(0 0 5px 5px); // remove the top rounded corners here since there is a hard edge above the menu
 }
 .nav-pills .dropdown-menu {
-  .border-radius(4px);
+  .border-radius(4px); // make rounded corners match the pills
 }
 
 // Default dropdown links
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -233,14 +234,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // -------------------------
 .nav-tabs .open .dropdown-toggle,
 .nav-pills .open .dropdown-toggle,
-.nav &amp;gt; .open.active &amp;gt; a:hover {
+.nav &amp;gt; li.dropdown.open.active &amp;gt; a:hover {
   color: &amp;lt; at &amp;gt;white;
   background-color: &amp;lt; at &amp;gt;grayLight;
   border-color: &amp;lt; at &amp;gt;grayLight;
 }
-.nav .open .caret,
-.nav .open.active .caret,
-.nav .open a:hover .caret {
+.nav li.dropdown.open .caret,
+.nav li.dropdown.open.active .caret,
+.nav li.dropdown.open a:hover .caret {
   border-top-color: &amp;lt; at &amp;gt;white;
   border-bottom-color: &amp;lt; at &amp;gt;white;
   .opacity(100);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -265,14 +266,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   .clearfix();
 }
 .tab-content {
-  display: table; // prevent content from running below tabs
-  width: 100%;
+  overflow: auto; // prevent content from running below tabs
 }
 
 // Remove border on bottom, left, right
-.tabs-below .nav-tabs,
-.tabs-right .nav-tabs,
-.tabs-left .nav-tabs {
+.tabs-below &amp;gt; .nav-tabs,
+.tabs-right &amp;gt; .nav-tabs,
+.tabs-left &amp;gt; .nav-tabs {
   border-bottom: 0;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -290,22 +290,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // BOTTOM
 // ------
 
-.tabs-below .nav-tabs {
+.tabs-below &amp;gt; .nav-tabs {
   border-top: 1px solid #ddd;
 }
-.tabs-below .nav-tabs &amp;gt; li {
+.tabs-below &amp;gt; .nav-tabs &amp;gt; li {
   margin-top: -1px;
   margin-bottom: 0;
 }
-.tabs-below .nav-tabs &amp;gt; li &amp;gt; a {
+.tabs-below &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a {
   .border-radius(0 0 4px 4px);
   &amp;amp;:hover {
     border-bottom-color: transparent;
     border-top-color: #ddd;
   }
 }
-.tabs-below .nav-tabs .active &amp;gt; a,
-.tabs-below .nav-tabs .active &amp;gt; a:hover {
+.tabs-below &amp;gt; .nav-tabs &amp;gt; .active &amp;gt; a,
+.tabs-below &amp;gt; .nav-tabs &amp;gt; .active &amp;gt; a:hover {
   border-color: transparent #ddd #ddd #ddd;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -313,51 +313,51 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // ------------
 
 // Common styles
-.tabs-left .nav-tabs &amp;gt; li,
-.tabs-right .nav-tabs &amp;gt; li {
+.tabs-left &amp;gt; .nav-tabs &amp;gt; li,
+.tabs-right &amp;gt; .nav-tabs &amp;gt; li {
   float: none;
 }
-.tabs-left .nav-tabs &amp;gt; li &amp;gt; a,
-.tabs-right .nav-tabs &amp;gt; li &amp;gt; a {
+.tabs-left &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a,
+.tabs-right &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a {
   min-width: 74px;
   margin-right: 0;
   margin-bottom: 3px;
 }
 
 // Tabs on the left
-.tabs-left .nav-tabs {
+.tabs-left &amp;gt; .nav-tabs {
   float: left;
   margin-right: 19px;
   border-right: 1px solid #ddd;
 }
-.tabs-left .nav-tabs &amp;gt; li &amp;gt; a {
+.tabs-left &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a {
   margin-right: -1px;
   .border-radius(4px 0 0 4px);
 }
-.tabs-left .nav-tabs &amp;gt; li &amp;gt; a:hover {
+.tabs-left &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a:hover {
   border-color: &amp;lt; at &amp;gt;grayLighter #ddd &amp;lt; at &amp;gt;grayLighter &amp;lt; at &amp;gt;grayLighter;
 }
-.tabs-left .nav-tabs .active &amp;gt; a,
-.tabs-left .nav-tabs .active &amp;gt; a:hover {
+.tabs-left &amp;gt; .nav-tabs .active &amp;gt; a,
+.tabs-left &amp;gt; .nav-tabs .active &amp;gt; a:hover {
   border-color: #ddd transparent #ddd #ddd;
   *border-right-color: &amp;lt; at &amp;gt;white;
 }
 
 // Tabs on the right
-.tabs-right .nav-tabs {
+.tabs-right &amp;gt; .nav-tabs {
   float: right;
   margin-left: 19px;
   border-left: 1px solid #ddd;
 }
-.tabs-right .nav-tabs &amp;gt; li &amp;gt; a {
+.tabs-right &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a {
   margin-left: -1px;
   .border-radius(0 4px 4px 0);
 }
-.tabs-right .nav-tabs &amp;gt; li &amp;gt; a:hover {
+.tabs-right &amp;gt; .nav-tabs &amp;gt; li &amp;gt; a:hover {
   border-color: &amp;lt; at &amp;gt;grayLighter &amp;lt; at &amp;gt;grayLighter &amp;lt; at &amp;gt;grayLighter #ddd;
 }
-.tabs-right .nav-tabs .active &amp;gt; a,
-.tabs-right .nav-tabs .active &amp;gt; a:hover {
+.tabs-right &amp;gt; .nav-tabs .active &amp;gt; a,
+.tabs-right &amp;gt; .nav-tabs .active &amp;gt; a:hover {
   border-color: #ddd #ddd #ddd transparent;
   *border-left-color: &amp;lt; at &amp;gt;white;
 }
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/progress-bars.less b/plone/app/toolbar/resources/lib/bootstrap/less/progress-bars.less
index 5979a36..3b47e64 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/progress-bars.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/progress-bars.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -7,26 +7,32 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 // Webkit
 &amp;lt; at &amp;gt;-webkit-keyframes progress-bar-stripes {
-  from  { background-position: 0 0; }
-  to    { background-position: 40px 0; }
+  from  { background-position: 40px 0; }
+  to    { background-position: 0 0; }
 }
 
 // Firefox
 &amp;lt; at &amp;gt;-moz-keyframes progress-bar-stripes {
-  from  { background-position: 0 0; }
-  to    { background-position: 40px 0; }
+  from  { background-position: 40px 0; }
+  to    { background-position: 0 0; }
 }
 
 // IE9
 &amp;lt; at &amp;gt;-ms-keyframes progress-bar-stripes {
+  from  { background-position: 40px 0; }
+  to    { background-position: 0 0; }
+}
+
+// Opera
+&amp;lt; at &amp;gt;-o-keyframes progress-bar-stripes {
   from  { background-position: 0 0; }
   to    { background-position: 40px 0; }
 }
 
 // Spec
 &amp;lt; at &amp;gt;keyframes progress-bar-stripes {
-  from  { background-position: 0 0; }
-  to    { background-position: 40px 0; }
+  from  { background-position: 40px 0; }
+  to    { background-position: 0 0; }
 }
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -68,6 +74,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 .progress.active .bar {
   -webkit-animation: progress-bar-stripes 2s linear infinite;
      -moz-animation: progress-bar-stripes 2s linear infinite;
+      -ms-animation: progress-bar-stripes 2s linear infinite;
+       -o-animation: progress-bar-stripes 2s linear infinite;
           animation: progress-bar-stripes 2s linear infinite;
 }
 
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/reset.less b/plone/app/toolbar/resources/lib/bootstrap/less/reset.less
index 87411cf..d9ce2b1 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/reset.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/reset.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -75,10 +75,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; sub {
 // -------------------------
 
 img {
-  height: auto;
+  max-width: 100%; // Make images inherently responsive
+  vertical-align: middle;
   border: 0;
   -ms-interpolation-mode: bicubic;
-  vertical-align: middle;
 }
 
 // Forms
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -111,10 +111,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; input[type="submit"] {
   -webkit-appearance: button; // Style clickable inputs in iOS
 }
 input[type="search"] { // Appearance in Safari/Chrome
-  -webkit-appearance: textfield;
   -webkit-box-sizing: content-box;
      -moz-box-sizing: content-box;
           box-sizing: content-box;
+  -webkit-appearance: textfield;
 }
 input[type="search"]::-webkit-search-decoration,
 input[type="search"]::-webkit-search-cancel-button {
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/responsive-1200px-min.less b/plone/app/toolbar/resources/lib/bootstrap/less/responsive-1200px-min.less
new file mode 100644
index 0000000..a7c9f4e
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/responsive-1200px-min.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+// LARGE DESKTOP &amp;amp; UP
+// ------------------
+
+&amp;lt; at &amp;gt;media (min-width: 1200px) {
+
+  // Fixed grid
+  #grid &amp;gt; .core(70px, 30px);
+
+  // Fluid grid
+  #grid &amp;gt; .fluid(5.982905983%, 2.564102564%);
+
+  // Input grid
+  #grid &amp;gt; .input(70px, 30px);
+
+  // Thumbnails
+  .thumbnails {
+    margin-left: -30px;
+  }
+  .thumbnails &amp;gt; li {
+    margin-left: 30px;
+  }
+  .row-fluid .thumbnails {
+    margin-left: 0;
+  }
+
+}
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/responsive-767px-max.less b/plone/app/toolbar/resources/lib/bootstrap/less/responsive-767px-max.less
new file mode 100644
index 0000000..614c690
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/responsive-767px-max.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,149 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+// UP TO LANDSCAPE PHONE
+// ---------------------
+
+&amp;lt; at &amp;gt;media (max-width: 480px) {
+
+  // Smooth out the collapsing/expanding nav
+  .nav-collapse {
+    -webkit-transform: translate3d(0, 0, 0); // activate the GPU
+  }
+
+  // Block level the page header small tag for readability
+  .page-header h1 small {
+    display: block;
+    line-height: &amp;lt; at &amp;gt;baseLineHeight;
+  }
+
+  // Update checkboxes for iOS
+  input[type="checkbox"],
+  input[type="radio"] {
+    border: 1px solid #ccc;
+  }
+
+  // Remove the horizontal form styles
+  .form-horizontal .control-group &amp;gt; label {
+    float: none;
+    width: auto;
+    padding-top: 0;
+    text-align: left;
+  }
+  // Move over all input controls and content
+  .form-horizontal .controls {
+    margin-left: 0;
+  }
+  // Move the options list down to align with labels
+  .form-horizontal .control-list {
+    padding-top: 0; // has to be padding because margin collaspes
+  }
+  // Move over buttons in .form-actions to align with .controls
+  .form-horizontal .form-actions {
+    padding-left: 10px;
+    padding-right: 10px;
+  }
+
+  // Modals
+  .modal {
+    position: absolute;
+    top:   10px;
+    left:  10px;
+    right: 10px;
+    width: auto;
+    margin: 0;
+    &amp;amp;.fade.in { top: auto; }
+  }
+  .modal-header .close {
+    padding: 10px;
+    margin: -10px;
+  }
+
+  // Carousel
+  .carousel-caption {
+    position: static;
+  }
+
+}
+
+
+
+// LANDSCAPE PHONE TO SMALL DESKTOP &amp;amp; PORTRAIT TABLET
+// --------------------------------------------------
+
+&amp;lt; at &amp;gt;media (max-width: 767px) {
+
+  // Padding to set content in a bit
+  body {
+    padding-left: 20px;
+    padding-right: 20px;
+  }
+  // Negative indent the now static "fixed" navbar
+  .navbar-fixed-top,
+  .navbar-fixed-bottom {
+    margin-left: -20px;
+    margin-right: -20px;
+  }
+  // Remove padding on container given explicit padding set on body
+  .container-fluid {
+    padding: 0;
+  }
+
+  // TYPOGRAPHY
+  // ----------
+  // Reset horizontal dl
+  .dl-horizontal {
+    dt {
+      float: none;
+      clear: none;
+      width: auto;
+      text-align: left;
+    }
+    dd {
+      margin-left: 0;
+    }
+  }
+
+  // GRID &amp;amp; CONTAINERS
+  // -----------------
+  // Remove width from containers
+  .container {
+    width: auto;
+  }
+  // Fluid rows
+  .row-fluid {
+    width: 100%;
+  }
+  // Undo negative margin on rows and thumbnails
+  .row,
+  .thumbnails {
+    margin-left: 0;
+  }
+  // Make all grid-sized elements block level again
+  [class*="span"],
+  .row-fluid [class*="span"] {
+    float: none;
+    display: block;
+    width: auto;
+    margin-left: 0;
+  }
+
+  // FORM FIELDS
+  // -----------
+  // Make span* classes full width
+  .input-large,
+  .input-xlarge,
+  .input-xxlarge,
+  input[class*="span"],
+  select[class*="span"],
+  textarea[class*="span"],
+  .uneditable-input {
+    .input-block-level();
+  }
+  // But don't let it screw up prepend/append inputs
+  .input-prepend input,
+  .input-append input,
+  .input-prepend input[class*="span"],
+  .input-append input[class*="span"] {
+    display: inline-block; // redeclare so they don't wrap to new lines
+    width: auto;
+  }
+
+}
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/responsive-768px-979px.less b/plone/app/toolbar/resources/lib/bootstrap/less/responsive-768px-979px.less
new file mode 100644
index 0000000..76f4f6d
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/responsive-768px-979px.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+// PORTRAIT TABLET TO DEFAULT DESKTOP
+// ----------------------------------
+
+&amp;lt; at &amp;gt;media (min-width: 768px) and (max-width: 979px) {
+
+  // Fixed grid
+  #grid &amp;gt; .core(42px, 20px);
+
+  // Fluid grid
+  #grid &amp;gt; .fluid(5.801104972%, 2.762430939%);
+
+  // Input grid
+  #grid &amp;gt; .input(42px, 20px);
+
+  // No need to reset .thumbnails here since it's the same &amp;lt; at &amp;gt;gridGutterWidth
+
+}
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/responsive-navbar.less b/plone/app/toolbar/resources/lib/bootstrap/less/responsive-navbar.less
new file mode 100644
index 0000000..d49b8ae
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/responsive-navbar.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,146 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+// TABLETS AND BELOW
+// -----------------
+&amp;lt; at &amp;gt;media (max-width: 979px) {
+
+  // UNFIX THE TOPBAR
+  // ----------------
+  // Remove any padding from the body
+  body {
+    padding-top: 0;
+  }
+  // Unfix the navbar
+  .navbar-fixed-top {
+    position: static;
+    margin-bottom: &amp;lt; at &amp;gt;baseLineHeight;
+  }
+  .navbar-fixed-top .navbar-inner {
+    padding: 5px;
+  }
+  .navbar .container {
+    width: auto;
+    padding: 0;
+  }
+  // Account for brand name
+  .navbar .brand {
+    padding-left: 10px;
+    padding-right: 10px;
+    margin: 0 0 0 -5px;
+  }
+
+  // COLLAPSIBLE NAVBAR
+  // ------------------
+  // Nav collapse clears brand
+  .nav-collapse {
+    clear: both;
+  }
+  // Block-level the nav
+  .nav-collapse .nav {
+    float: none;
+    margin: 0 0 (&amp;lt; at &amp;gt;baseLineHeight / 2);
+  }
+  .nav-collapse .nav &amp;gt; li {
+    float: none;
+  }
+  .nav-collapse .nav &amp;gt; li &amp;gt; a {
+    margin-bottom: 2px;
+  }
+  .nav-collapse .nav &amp;gt; .divider-vertical {
+    display: none;
+  }
+  .nav-collapse .nav .nav-header {
+    color: &amp;lt; at &amp;gt;navbarText;
+    text-shadow: none;
+  }
+  // Nav and dropdown links in navbar
+  .nav-collapse .nav &amp;gt; li &amp;gt; a,
+  .nav-collapse .dropdown-menu a {
+    padding: 6px 15px;
+    font-weight: bold;
+    color: &amp;lt; at &amp;gt;navbarLinkColor;
+    .border-radius(3px);
+  }
+  // Buttons
+  .nav-collapse .btn {
+    padding: 4px 10px 4px;
+    font-weight: normal;
+    .border-radius(4px);
+  }
+  .nav-collapse .dropdown-menu li + li a {
+    margin-bottom: 2px;
+  }
+  .nav-collapse .nav &amp;gt; li &amp;gt; a:hover,
+  .nav-collapse .dropdown-menu a:hover {
+    background-color: &amp;lt; at &amp;gt;navbarBackground;
+  }
+  // Buttons in the navbar
+  .nav-collapse.in .btn-group {
+    margin-top: 5px;
+    padding: 0;
+  }
+  // Dropdowns in the navbar
+  .nav-collapse .dropdown-menu {
+    position: static;
+    top: auto;
+    left: auto;
+    float: none;
+    display: block;
+    max-width: none;
+    margin: 0 15px;
+    padding: 0;
+    background-color: transparent;
+    border: none;
+    .border-radius(0);
+    .box-shadow(none);
+  }
+  .nav-collapse .dropdown-menu:before,
+  .nav-collapse .dropdown-menu:after {
+    display: none;
+  }
+  .nav-collapse .dropdown-menu .divider {
+    display: none;
+  }
+  // Forms in navbar
+  .nav-collapse .navbar-form,
+  .nav-collapse .navbar-search {
+    float: none;
+    padding: (&amp;lt; at &amp;gt;baseLineHeight / 2) 15px;
+    margin: (&amp;lt; at &amp;gt;baseLineHeight / 2) 0;
+    border-top: 1px solid &amp;lt; at &amp;gt;navbarBackground;
+    border-bottom: 1px solid &amp;lt; at &amp;gt;navbarBackground;
+    .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)");
+  }
+  // Pull right (secondary) nav content
+  .navbar .nav-collapse .nav.pull-right {
+    float: none;
+    margin-left: 0;
+  }
+  // Hide everything in the navbar save .brand and toggle button */
+  .nav-collapse,
+  .nav-collapse.collapse {
+    overflow: hidden;
+    height: 0;
+  }
+  // Navbar button
+  .navbar .btn-navbar {
+    display: block;
+  }
+
+  // STATIC NAVBAR
+  // -------------
+  .navbar-static .navbar-inner {
+    padding-left:  10px;
+    padding-right: 10px;
+  }
+}
+
+
+// DEFAULT DESKTOP
+// ---------------
+
+// Required to make the collapsing navbar work on regular desktops
+&amp;lt; at &amp;gt;media (min-width: 980px) {
+  .nav-collapse.collapse {
+    height: auto !important;
+    overflow: visible !important;
+  }
+}
\ No newline at end of file
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/responsive-utilities.less b/plone/app/toolbar/resources/lib/bootstrap/less/responsive-utilities.less
new file mode 100644
index 0000000..572846c
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/responsive-utilities.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,41 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+// RESPONSIVE CLASSES
+// ------------------
+
+// Hide from screenreaders and browsers
+// Credit: HTML5 Boilerplate
+.hidden {
+  display: none;
+  visibility: hidden;
+}
+
+// Visibility utilities
+
+// For desktops
+.visible-phone     { display: none !important; }
+.visible-tablet    { display: none !important; }
+.visible-desktop   { } // Don't set initially
+.hidden-phone      { }
+.hidden-tablet     { }
+.hidden-desktop    { display: none !important; }
+
+// Phones only
+&amp;lt; at &amp;gt;media (max-width: 767px) {
+  // Show
+  .visible-phone     { display: inherit !important; } // Use inherit to restore previous behavior
+  // Hide
+  .hidden-phone      { display: none !important; }
+  // Hide everything else
+  .hidden-desktop    { display: inherit !important; }
+  .visible-desktop   { display: none !important; }
+}
+
+// Tablets &amp;amp; small desktops only
+&amp;lt; at &amp;gt;media (min-width: 768px) and (max-width: 979px) {
+  // Show
+  .visible-tablet    { display: inherit !important; }
+  // Hide
+  .hidden-tablet     { display: none !important; }
+  // Hide everything else
+  .hidden-desktop    { display: inherit !important; }
+  .visible-desktop   { display: none !important ; }
+}
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/responsive.less b/plone/app/toolbar/resources/lib/bootstrap/less/responsive.less
index 98485ee..bbd76d6 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/responsive.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/responsive.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 /*!
- * Bootstrap Responsive v2.0.2
+ * Bootstrap Responsive v2.0.3
  *
  * Copyright 2012 Twitter, Inc
  * Licensed under the Apache License v2.0
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -8,6 +8,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
  * Designed and built with all the love in the world &amp;lt; at &amp;gt;twitter by &amp;lt; at &amp;gt;mdo and &amp;lt; at &amp;gt;fat.
  */
 
+
 // Responsive.less
 // For phone and tablet devices
 // -------------------------------------------------------------
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -24,348 +25,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // RESPONSIVE CLASSES
 // ------------------
 
-// Hide from screenreaders and browsers
-// Credit: HTML5 Boilerplate
-.hidden {
-  display: none;
-  visibility: hidden;
-}
-
-// Visibility utilities
-
-// For desktops
-.visible-phone     { display: none; }
-.visible-tablet    { display: none; }
-.visible-desktop   { display: block; }
-.hidden-phone      { display: block; }
-.hidden-tablet     { display: block; }
-.hidden-desktop    { display: none; }
-
-// Phones only
-&amp;lt; at &amp;gt;media (max-width: 767px) {
-  // Show
-  .visible-phone     { display: block; }
-  // Hide
-  .hidden-phone      { display: none; }
-  // Hide everything else
-  .hidden-desktop    { display: block; }
-  .visible-desktop   { display: none; }
-}
-
-// Tablets &amp;amp; small desktops only
-&amp;lt; at &amp;gt;media (min-width: 768px) and (max-width: 979px) {
-  // Show
-  .visible-tablet    { display: block; }
-  // Hide
-  .hidden-tablet     { display: none; }
-  // Hide everything else
-  .hidden-desktop    { display: block; }
-  .visible-desktop   { display: none; }
-}
-
-
-// UP TO LANDSCAPE PHONE
-// ---------------------
-
-&amp;lt; at &amp;gt;media (max-width: 480px) {
-
-  // Smooth out the collapsing/expanding nav
-  .nav-collapse {
-    -webkit-transform: translate3d(0, 0, 0); // activate the GPU
-  }
-
-  // Block level the page header small tag for readability
-  .page-header h1 small {
-    display: block;
-    line-height: &amp;lt; at &amp;gt;baseLineHeight;
-  }
-
-  // Update checkboxes for iOS
-  input[type="checkbox"],
-  input[type="radio"] {
-    border: 1px solid #ccc;
-  }
-
-  // Remove the horizontal form styles
-  .form-horizontal .control-group &amp;gt; label {
-    float: none;
-    width: auto;
-    padding-top: 0;
-    text-align: left;
-  }
-  // Move over all input controls and content
-  .form-horizontal .controls {
-    margin-left: 0;
-  }
-  // Move the options list down to align with labels
-  .form-horizontal .control-list {
-    padding-top: 0; // has to be padding because margin collaspes
-  }
-  // Move over buttons in .form-actions to align with .controls
-  .form-horizontal .form-actions {
-    padding-left: 10px;
-    padding-right: 10px;
-  }
-
-  // Modals
-  .modal {
-    position: absolute;
-    top:   10px;
-    left:  10px;
-    right: 10px;
-    width: auto;
-    margin: 0;
-    &amp;amp;.fade.in { top: auto; }
-  }
-  .modal-header .close {
-    padding: 10px;
-    margin: -10px;
-  }
-
-  // Carousel
-  .carousel-caption {
-    position: static;
-  }
-
-}
-
-
-
-// LANDSCAPE PHONE TO SMALL DESKTOP &amp;amp; PORTRAIT TABLET
-// --------------------------------------------------
-
-&amp;lt; at &amp;gt;media (max-width: 767px) {
-
-  // Padding to set content in a bit
-  body {
-    padding-left: 20px;
-    padding-right: 20px;
-  }
-  .navbar-fixed-top {
-    margin-left: -20px;
-    margin-right: -20px;
-  }
-
-  // GRID &amp;amp; CONTAINERS
-  // -----------------
-  // Remove width from containers
-  .container {
-    width: auto;
-  }
-  // Fluid rows
-  .row-fluid {
-    width: 100%;
-  }
-  // Undo negative margin on rows
-  .row {
-    margin-left: 0;
-  }
-  // Make all columns even
-  .row &amp;gt; [class*="span"],
-  .row-fluid &amp;gt; [class*="span"] {
-    float: none;
-    display: block;
-    width: auto;
-    margin: 0;
-  }
-
-  // THUMBNAILS
-  // ----------
-  .thumbnails [class*="span"] {
-    width: auto;
-  }
+&amp;lt; at &amp;gt;import "responsive-utilities.less";
 
-  // FORM FIELDS
-  // -----------
-  // Make span* classes full width
-  input[class*="span"],
-  select[class*="span"],
-  textarea[class*="span"],
-  .uneditable-input {
-    .input-block-level();
-  }
-  // But don't let it screw up prepend/append inputs
-  .input-prepend input[class*="span"],
-  .input-append input[class*="span"] {
-    width: auto;
-  }
 
-}
-
-
-
-// PORTRAIT TABLET TO DEFAULT DESKTOP
-// ----------------------------------
-
-&amp;lt; at &amp;gt;media (min-width: 768px) and (max-width: 979px) {
-
-  // Fixed grid
-  #grid &amp;gt; .core(42px, 20px);
-
-  // Fluid grid
-  #grid &amp;gt; .fluid(5.801104972%, 2.762430939%);
-
-  // Input grid
-  #grid &amp;gt; .input(42px, 20px);
-
-}
-
-
-
-// TABLETS AND BELOW
-// -----------------
-&amp;lt; at &amp;gt;media (max-width: 979px) {
-
-  // UNFIX THE TOPBAR
-  // ----------------
-  // Remove any padding from the body
-  body {
-    padding-top: 0;
-  }
-  // Unfix the navbar
-  .navbar-fixed-top {
-    position: static;
-    margin-bottom: &amp;lt; at &amp;gt;baseLineHeight;
-  }
-  .navbar-fixed-top .navbar-inner {
-    padding: 5px;
-  }
-  .navbar .container {
-    width: auto;
-    padding: 0;
-  }
-  // Account for brand name
-  .navbar .brand {
-    padding-left: 10px;
-    padding-right: 10px;
-    margin: 0 0 0 -5px;
-  }
-  // Nav collapse clears brand
-  .navbar .nav-collapse {
-    clear: left;
-  }
-  // Block-level the nav
-  .navbar .nav {
-    float: none;
-    margin: 0 0 (&amp;lt; at &amp;gt;baseLineHeight / 2);
-  }
-  .navbar .nav &amp;gt; li {
-    float: none;
-  }
-  .navbar .nav &amp;gt; li &amp;gt; a {
-    margin-bottom: 2px;
-  }
-  .navbar .nav &amp;gt; .divider-vertical {
-    display: none;
-  }
-  .navbar .nav .nav-header {
-    color: &amp;lt; at &amp;gt;navbarText;
-    text-shadow: none;
-  }
-  // Nav and dropdown links in navbar
-  .navbar .nav &amp;gt; li &amp;gt; a,
-  .navbar .dropdown-menu a {
-    padding: 6px 15px;
-    font-weight: bold;
-    color: &amp;lt; at &amp;gt;navbarLinkColor;
-    .border-radius(3px);
-  }
-  .navbar .dropdown-menu li + li a {
-    margin-bottom: 2px;
-  }
-  .navbar .nav &amp;gt; li &amp;gt; a:hover,
-  .navbar .dropdown-menu a:hover {
-    background-color: &amp;lt; at &amp;gt;navbarBackground;
-  }
-  // Dropdowns in the navbar
-  .navbar .dropdown-menu {
-    position: static;
-    top: auto;
-    left: auto;
-    float: none;
-    display: block;
-    max-width: none;
-    margin: 0 15px;
-    padding: 0;
-    background-color: transparent;
-    border: none;
-    .border-radius(0);
-    .box-shadow(none);
-  }
-  .navbar .dropdown-menu:before,
-  .navbar .dropdown-menu:after {
-    display: none;
-  }
-  .navbar .dropdown-menu .divider {
-    display: none;
-  }
-  // Forms in navbar
-  .navbar-form,
-  .navbar-search {
-    float: none;
-    padding: (&amp;lt; at &amp;gt;baseLineHeight / 2) 15px;
-    margin: (&amp;lt; at &amp;gt;baseLineHeight / 2) 0;
-    border-top: 1px solid &amp;lt; at &amp;gt;navbarBackground;
-    border-bottom: 1px solid &amp;lt; at &amp;gt;navbarBackground;
-    &amp;lt; at &amp;gt;shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
-    .box-shadow(&amp;lt; at &amp;gt;shadow);
-  }
-  // Pull right (secondary) nav content
-  .navbar .nav.pull-right {
-    float: none;
-    margin-left: 0;
-  }
-  // Static navbar
-  .navbar-static .navbar-inner {
-    padding-left:  10px;
-    padding-right: 10px;
-  }
-  // Navbar button
-  .btn-navbar {
-    display: block;
-  }
-
-  // Hide everything in the navbar save .brand and toggle button */
-  .nav-collapse {
-    overflow: hidden;
-    height: 0;
-  }
-}
-
-
-
-// DEFAULT DESKTOP
-// ---------------
-
-&amp;lt; at &amp;gt;media (min-width: 980px) {
-  .nav-collapse.collapse {
-    height: auto !important;
-    overflow: visible !important;
-  }
-}
-
-
-
-// LARGE DESKTOP &amp;amp; UP
+// MEDIA QUERIES
 // ------------------
 
-&amp;lt; at &amp;gt;media (min-width: 1200px) {
+// Phones to portrait tablets and narrow desktops
+&amp;lt; at &amp;gt;import "responsive-767px-max.less";
 
-  // Fixed grid
-  #grid &amp;gt; .core(70px, 30px);
+// Tablets to regular desktops
+&amp;lt; at &amp;gt;import "responsive-768px-979px.less";
 
-  // Fluid grid
-  #grid &amp;gt; .fluid(5.982905983%, 2.564102564%);
+// Large desktops
+&amp;lt; at &amp;gt;import "responsive-1200px-min.less";
 
-  // Input grid
-  #grid &amp;gt; .input(70px, 30px);
 
-  // Thumbnails
-  .thumbnails {
-    margin-left: -30px;
-  }
-  .thumbnails &amp;gt; li {
-    margin-left: 30px;
-  }
+// RESPONSIVE NAVBAR
+// ------------------
 
-}
+// From 979px and below, show a button to toggle navbar contents
+&amp;lt; at &amp;gt;import "responsive-navbar.less";
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/sprites.less b/plone/app/toolbar/resources/lib/bootstrap/less/sprites.less
index 4014d70..72a3a91 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/sprites.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/sprites.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,8 +6,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // ICONS
 // -----
 
-// All icons receive the styles of the &amp;lt;i&amp;gt; tag with a base class 
-// of .i and are then given a unique class to add width, height, 
+// All icons receive the styles of the &amp;lt;i&amp;gt; tag with a base class
+// of .i and are then given a unique class to add width, height,
 // and background-position. Your resulting HTML will look like
 // &amp;lt;i class="icon-inbox"&amp;gt;&amp;lt;/i&amp;gt;.
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -19,13 +19,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   display: inline-block;
   width: 14px;
   height: 14px;
+  .ie7-restore-right-whitespace();
   line-height: 14px;
   vertical-align: text-top;
   background-image: url("&amp;lt; at &amp;gt;{iconSpritePath}");
   background-position: 14px 14px;
   background-repeat: no-repeat;
 
-  .ie7-restore-right-whitespace();
 }
 .icon-white {
   background-image: url("&amp;lt; at &amp;gt;{iconWhiteSpritePath}");
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -149,10 +149,43 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 .icon-comment            { background-position: -240px -120px; }
 .icon-magnet             { background-position: -264px -120px; }
 .icon-chevron-up         { background-position: -288px -120px; }
-.icon-chevron-down       { background-position: -313px -119px; } // 1px off
+.icon-chevron-down       { background-position: -313px -119px; } // 1px, 1px off
 .icon-retweet            { background-position: -336px -120px; }
 .icon-shopping-cart      { background-position: -360px -120px; }
 .icon-folder-close       { background-position: -384px -120px; }
 .icon-folder-open        { background-position: -408px -120px; }
-.icon-resize-vertical    { background-position: -432px -119px; }
-.icon-resize-horizontal  { background-position: -456px -118px; }
+.icon-resize-vertical    { background-position: -432px -119px; } // 1px, 1px off
+.icon-resize-horizontal  { background-position: -456px -118px; } // 1px, 2px off
+
+.icon-hdd                     { background-position: 0      -144px; }
+.icon-bullhorn                { background-position: -24px  -144px; }
+.icon-bell                    { background-position: -48px  -144px; }
+.icon-certificate             { background-position: -72px  -144px; }
+.icon-thumbs-up               { background-position: -96px  -144px; }
+.icon-thumbs-down             { background-position: -120px -144px; }
+.icon-hand-right              { background-position: -144px -144px; }
+.icon-hand-left               { background-position: -168px -144px; }
+.icon-hand-up                 { background-position: -192px -144px; }
+.icon-hand-down               { background-position: -216px -144px; }
+.icon-circle-arrow-right      { background-position: -240px -144px; }
+.icon-circle-arrow-left       { background-position: -264px -144px; }
+.icon-circle-arrow-up         { background-position: -288px -144px; }
+.icon-circle-arrow-down       { background-position: -312px -144px; }
+.icon-globe                   { background-position: -336px -144px; }
+.icon-wrench                  { background-position: -360px -144px; }
+.icon-tasks                   { background-position: -384px -144px; }
+.icon-filter                  { background-position: -408px -144px; }
+.icon-briefcase               { background-position: -432px -144px; }
+.icon-fullscreen              { background-position: -456px -144px; }
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/tables.less b/plone/app/toolbar/resources/lib/bootstrap/less/tables.less
index 7111cb8..b4f6027 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/tables.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/tables.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -9,9 +9,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 table {
   max-width: 100%;
+  background-color: &amp;lt; at &amp;gt;tableBackground;
   border-collapse: collapse;
   border-spacing: 0;
-  background-color: &amp;lt; at &amp;gt;tableBackground;
 }
 
 // BASELINE STYLES
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -37,6 +37,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; table {
     vertical-align: bottom;
   }
   // Remove top border from thead by default
+  caption + thead tr:first-child th,
+  caption + thead tr:first-child td,
   colgroup + thead tr:first-child th,
   colgroup + thead tr:first-child td,
   thead:first-child tr:first-child th,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -67,15 +69,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; table {
 
 .table-bordered {
   border: 1px solid &amp;lt; at &amp;gt;tableBorder;
-  border-left: 0;
   border-collapse: separate; // Done so we can round those corners!
   *border-collapse: collapsed; // IE7 can't round corners anyway
+  border-left: 0;
   .border-radius(4px);
   th,
   td {
     border-left: 1px solid &amp;lt; at &amp;gt;tableBorder;
   }
   // Prevent a double border
+  caption + thead tr:first-child th,
+  caption + tbody tr:first-child th,
+  caption + tbody tr:first-child td,
+  colgroup + thead tr:first-child th,
+  colgroup + tbody tr:first-child th,
+  colgroup + tbody tr:first-child td,
   thead:first-child tr:first-child th,
   tbody:first-child tr:first-child th,
   tbody:first-child tr:first-child td {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -84,20 +92,29 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; table {
   // For first th or td in the first row in the first thead or tbody
   thead:first-child tr:first-child th:first-child,
   tbody:first-child tr:first-child td:first-child {
-    .border-radius(4px 0 0 0);
+    -webkit-border-top-left-radius: 4px;
+            border-top-left-radius: 4px;
+        -moz-border-radius-topleft: 4px;
   }
   thead:first-child tr:first-child th:last-child,
   tbody:first-child tr:first-child td:last-child {
-    .border-radius(0 4px 0 0);
+    -webkit-border-top-right-radius: 4px;
+            border-top-right-radius: 4px;
+        -moz-border-radius-topright: 4px;
   }
   // For first th or td in the first row in the first thead or tbody
   thead:last-child tr:last-child th:first-child,
   tbody:last-child tr:last-child td:first-child {
     .border-radius(0 0 0 4px);
+    -webkit-border-bottom-left-radius: 4px;
+            border-bottom-left-radius: 4px;
+        -moz-border-radius-bottomleft: 4px;
   }
   thead:last-child tr:last-child th:last-child,
   tbody:last-child tr:last-child td:last-child {
-    .border-radius(0 0 4px 0);
+    -webkit-border-bottom-right-radius: 4px;
+            border-bottom-right-radius: 4px;
+        -moz-border-radius-bottomright: 4px;
   }
 }
 
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/tests/css-tests.css b/plone/app/toolbar/resources/lib/bootstrap/less/tests/css-tests.css
new file mode 100644
index 0000000..ac76427
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/tests/css-tests.css
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,51 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+/*!
+ * Bootstrap CSS Tests
+ */
+
+
+/* Remove background image */
+body {
+  background-image: none;
+}
+
+/* Space out subhead */
+.subhead {
+  margin-bottom: 36px;
+}
+h4 {
+  margin-bottom: 5px;
+}
+
+
+/* colgroup tests */
+.col1 {
+  background-color: rgba(255,0,0,.1);
+}
+.col2 {
+  background-color: rgba(0,255,0,.1);
+}
+.col3 {
+  background-color: rgba(0,0,255,.1);
+}
+
+
+/* Fluid row inputs */
+#fluidRowInputs .row-fluid &amp;gt; [class*=span] {
+  background-color: rgba(255,0,0,.1);
+}
+
+
+/* Fluid grid */
+.fluid-grid {
+  margin-bottom: 45px;
+}
+.fluid-grid .row {
+  height: 40px;
+  padding-top: 10px;
+  margin-top: 10px;
+  color: #ddd;
+  text-align: center;
+}
+.fluid-grid .span1 {
+  background-color: #999;
+}
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/tests/css-tests.html b/plone/app/toolbar/resources/lib/bootstrap/less/tests/css-tests.html
new file mode 100644
index 0000000..b290186
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/tests/css-tests.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,827 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+&amp;lt;!DOCTYPE html&amp;gt;
+&amp;lt;html lang="en"&amp;gt;
+  &amp;lt;head&amp;gt;
+    &amp;lt;meta charset="utf-8"&amp;gt;
+    &amp;lt;title&amp;gt;CSS Tests · Twitter Bootstrap&amp;lt;/title&amp;gt;
+    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
+    &amp;lt;meta name="description" content=""&amp;gt;
+    &amp;lt;meta name="author" content=""&amp;gt;
+
+    &amp;lt;!-- Le styles --&amp;gt;
+    &amp;lt;link href="../../docs/assets/css/bootstrap.css" rel="stylesheet"&amp;gt;
+    &amp;lt;link href="../../docs/assets/css/bootstrap-responsive.css" rel="stylesheet"&amp;gt;
+    &amp;lt;link href="../../docs/assets/css/docs.css" rel="stylesheet"&amp;gt;
+    &amp;lt;link href="../../docs/assets/js/google-code-prettify/prettify.css" rel="stylesheet"&amp;gt;
+
+    &amp;lt;!-- CSS just for the tests page --&amp;gt;
+    &amp;lt;link href="css-tests.css" rel="stylesheet"&amp;gt;
+
+    &amp;lt;!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --&amp;gt;
+    &amp;lt;!--[if lt IE 9]&amp;gt;
+      &amp;lt;script src="http://html5shim.googlecode.com/svn/trunk/html5.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;![endif]--&amp;gt;
+
+    &amp;lt;!-- Le fav and touch icons --&amp;gt;
+    &amp;lt;link rel="shortcut icon" href="../../docs/assets/ico/favicon.ico"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png"&amp;gt;
+    &amp;lt;link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png"&amp;gt;
+  &amp;lt;/head&amp;gt;
+
+  &amp;lt;body&amp;gt;
+
+
+  &amp;lt;!-- Navbar
+    ================================================== --&amp;gt;
+    &amp;lt;div class="navbar navbar-fixed-top"&amp;gt;
+      &amp;lt;div class="navbar-inner"&amp;gt;
+        &amp;lt;div class="container"&amp;gt;
+          &amp;lt;a class="brand" href="../../docs/index.html"&amp;gt;Bootstrap&amp;lt;/a&amp;gt;
+        &amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+
+    &amp;lt;div class="container"&amp;gt;
+
+
+&amp;lt;!-- Masthead
+================================================== --&amp;gt;
+&amp;lt;header class="jumbotron subhead" id="overview"&amp;gt;
+  &amp;lt;h1&amp;gt;CSS Tests&amp;lt;/h1&amp;gt;
+  &amp;lt;p class="lead"&amp;gt;One stop shop for quick debugging and edge-case tests of CSS.&amp;lt;/p&amp;gt;
+&amp;lt;/header&amp;gt;
+
+
+
+
+&amp;lt;!-- Fluid grid
+================================================== --&amp;gt;
+
+&amp;lt;div class="page-header"&amp;gt;
+  &amp;lt;h1&amp;gt;Fluid grids&amp;lt;/h1&amp;gt;
+&amp;lt;/div&amp;gt;
+
+&amp;lt;div class="fluid-grid"&amp;gt;
+  &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;12
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+  &amp;lt;/div&amp;gt;
+  &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span11"&amp;gt;11
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span1"&amp;gt;1
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+  &amp;lt;/div&amp;gt;
+  &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span10"&amp;gt;10
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span2"&amp;gt;2
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+  &amp;lt;/div&amp;gt;
+  &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span9"&amp;gt;9
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span3"&amp;gt;3
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+  &amp;lt;/div&amp;gt;
+  &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span8"&amp;gt;8
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span4"&amp;gt;4
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+  &amp;lt;/div&amp;gt;
+  &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span7"&amp;gt;7
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span5"&amp;gt;5
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+  &amp;lt;/div&amp;gt;
+  &amp;lt;div class="row"&amp;gt;
+    &amp;lt;div class="span6"&amp;gt;6
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="span6"&amp;gt;6
+      &amp;lt;div class="row-fluid"&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+        &amp;lt;div class="span1"&amp;gt;1&amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+  &amp;lt;/div&amp;gt;
+&amp;lt;/div&amp;gt; &amp;lt;!-- fluid grids --&amp;gt;
+
+
+
+&amp;lt;!-- Tables
+================================================== --&amp;gt;
+
+&amp;lt;div class="page-header"&amp;gt;
+  &amp;lt;h1&amp;gt;Tables&amp;lt;/h1&amp;gt;
+&amp;lt;/div&amp;gt;
+
+&amp;lt;div class="row"&amp;gt;
+  &amp;lt;div class="span6"&amp;gt;
+    &amp;lt;h4&amp;gt;Bordered without thead&amp;lt;/h4&amp;gt;
+    &amp;lt;table class="table table-bordered"&amp;gt;
+      &amp;lt;tbody&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+      &amp;lt;/tbody&amp;gt;
+    &amp;lt;/table&amp;gt;
+    &amp;lt;h4&amp;gt;Bordered without thead, with caption&amp;lt;/h4&amp;gt;
+    &amp;lt;table class="table table-bordered"&amp;gt;
+      &amp;lt;caption&amp;gt;Table caption&amp;lt;/caption&amp;gt;
+      &amp;lt;tbody&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+      &amp;lt;/tbody&amp;gt;
+    &amp;lt;/table&amp;gt;
+    &amp;lt;h4&amp;gt;Bordered without thead, with colgroup&amp;lt;/h4&amp;gt;
+    &amp;lt;table class="table table-bordered"&amp;gt;
+      &amp;lt;colgroup&amp;gt;
+        &amp;lt;col class="col1"&amp;gt;
+        &amp;lt;col class="col2"&amp;gt;
+        &amp;lt;col class="col3"&amp;gt;
+      &amp;lt;/colgroup&amp;gt;
+      &amp;lt;tbody&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+      &amp;lt;/tbody&amp;gt;
+    &amp;lt;/table&amp;gt;
+    &amp;lt;h4&amp;gt;Bordered with thead, with colgroup&amp;lt;/h4&amp;gt;
+    &amp;lt;table class="table table-bordered"&amp;gt;
+      &amp;lt;colgroup&amp;gt;
+        &amp;lt;col class="col1"&amp;gt;
+        &amp;lt;col class="col2"&amp;gt;
+        &amp;lt;col class="col3"&amp;gt;
+      &amp;lt;/colgroup&amp;gt;
+      &amp;lt;thead&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+      &amp;lt;/thead&amp;gt;
+      &amp;lt;tbody&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+      &amp;lt;/tbody&amp;gt;
+    &amp;lt;/table&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;div class="span6"&amp;gt;
+    &amp;lt;h4&amp;gt;Bordered with thead and caption&amp;lt;/h4&amp;gt;
+    &amp;lt;table class="table table-bordered"&amp;gt;
+      &amp;lt;caption&amp;gt;Table caption&amp;lt;/caption&amp;gt;
+      &amp;lt;thead&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;
+          &amp;lt;th&amp;gt;2&amp;lt;/th&amp;gt;
+          &amp;lt;th&amp;gt;3&amp;lt;/th&amp;gt;
+        &amp;lt;/tr&amp;gt;
+      &amp;lt;/thead&amp;gt;
+      &amp;lt;tbody&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+      &amp;lt;/tbody&amp;gt;
+    &amp;lt;/table&amp;gt;
+    &amp;lt;h4&amp;gt;Bordered with rowspan and colspan&amp;lt;/h4&amp;gt;
+    &amp;lt;table class="table table-bordered"&amp;gt;
+      &amp;lt;thead&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;
+          &amp;lt;th&amp;gt;2&amp;lt;/th&amp;gt;
+          &amp;lt;th&amp;gt;3&amp;lt;/th&amp;gt;
+        &amp;lt;/tr&amp;gt;
+      &amp;lt;/thead&amp;gt;
+      &amp;lt;tbody&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td colspan="2"&amp;gt;1 and 2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td rowspan="2"&amp;gt;2&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td rowspan="2"&amp;gt;1&amp;lt;/td&amp;gt;
+          &amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+        &amp;lt;tr&amp;gt;
+          &amp;lt;td colspan="2"&amp;gt;2 and 3&amp;lt;/td&amp;gt;
+        &amp;lt;/tr&amp;gt;
+      &amp;lt;/tbody&amp;gt;
+    &amp;lt;/table&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+&amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+
+
+
+&amp;lt;!-- Forms
+================================================== --&amp;gt;
+
+&amp;lt;div class="page-header"&amp;gt;
+  &amp;lt;h1&amp;gt;Forms&amp;lt;/h1&amp;gt;
+&amp;lt;/div&amp;gt;
+
+&amp;lt;div class="row"&amp;gt;
+  &amp;lt;div class="span4"&amp;gt;
+    &amp;lt;h4&amp;gt;Prepend and append on inputs&amp;lt;/h4&amp;gt;
+    &amp;lt;form&amp;gt;
+      &amp;lt;div class="controls"&amp;gt;
+        &amp;lt;div class="input-prepend"&amp;gt;
+          &amp;lt;span class="add-on"&amp;gt;&amp;lt; at &amp;gt;&amp;lt;/span&amp;gt;&amp;lt;input class="span2" id="prependedInput" size="16" type="text"&amp;gt;
+        &amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+      &amp;lt;div class="controls"&amp;gt;
+        &amp;lt;div class="input-append"&amp;gt;
+          &amp;lt;input class="span2" id="prependedInput" size="16" type="text"&amp;gt;&amp;lt;span class="add-on"&amp;gt;&amp;lt; at &amp;gt;&amp;lt;/span&amp;gt;
+        &amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+      &amp;lt;div class="controls"&amp;gt;
+        &amp;lt;div class="input-prepend input-append"&amp;gt;
+          &amp;lt;span class="add-on"&amp;gt;$&amp;lt;/span&amp;gt;&amp;lt;input class="span2" id="prependedInput" size="16" type="text"&amp;gt;&amp;lt;span class="add-on"&amp;gt;.00&amp;lt;/span&amp;gt;
+        &amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/form&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;div class="span6"&amp;gt;
+    &amp;lt;h4&amp;gt;Prepend and append with uneditable&amp;lt;/h4&amp;gt;
+    &amp;lt;form&amp;gt;
+      &amp;lt;div class="input-prepend"&amp;gt;
+        &amp;lt;span class="add-on"&amp;gt;$&amp;lt;/span&amp;gt;&amp;lt;span class="span2 uneditable-input"&amp;gt;Some value here&amp;lt;/span&amp;gt;
+      &amp;lt;/div&amp;gt;
+      &amp;lt;div class="input-append"&amp;gt;
+        &amp;lt;span class="span2 uneditable-input"&amp;gt;Some value here&amp;lt;/span&amp;gt;&amp;lt;span class="add-on"&amp;gt;.00&amp;lt;/span&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/form&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+&amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+
+&amp;lt;h4&amp;gt;Fluid row with inputs&amp;lt;/h4&amp;gt;
+&amp;lt;p&amp;gt;Inputs should not extend past the light red background, set on their parent, a &amp;lt;code&amp;gt;.span*&amp;lt;/code&amp;gt; column.&amp;lt;/p&amp;gt;
+&amp;lt;div id="fluidRowInputs"&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span1" placeholder="span1"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span2" placeholder="span2"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span3" placeholder="span3"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span4" placeholder="span4"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span5" placeholder="span5"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span6" placeholder="span6"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span7" placeholder="span7"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span8" placeholder="span8"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span9" placeholder="span9"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span10" placeholder="span10"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span11" placeholder="span11"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+  &amp;lt;div class="row-fluid"&amp;gt;
+    &amp;lt;div class="span12"&amp;gt;
+      &amp;lt;input class="span12" placeholder="span12"&amp;gt;
+    &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+&amp;lt;/div&amp;gt;
+&amp;lt;br&amp;gt;
+
+
+&amp;lt;!-- Dropdowns
+================================================== --&amp;gt;
+
+&amp;lt;div class="page-header"&amp;gt;
+  &amp;lt;h1&amp;gt;Dropdowns&amp;lt;/h1&amp;gt;
+&amp;lt;/div&amp;gt;
+
+&amp;lt;h4&amp;gt;Dropdown link with hash URL&amp;lt;/h4&amp;gt;
+&amp;lt;ul class="nav nav-pills"&amp;gt;
+  &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#"&amp;gt;Link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+  &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Example link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+  &amp;lt;li class="dropdown"&amp;gt;
+    &amp;lt;a class="dropdown-toggle" data-toggle="dropdown" href="#"&amp;gt;
+      Dropdown &amp;lt;span class="caret"&amp;gt;&amp;lt;/span&amp;gt;
+    &amp;lt;/a&amp;gt;
+    &amp;lt;ul class="dropdown-menu"&amp;gt;
+      &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+      &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Another action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+      &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Something else here&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+      &amp;lt;li class="divider"&amp;gt;&amp;lt;/li&amp;gt;
+      &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Separated link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+    &amp;lt;/ul&amp;gt;
+  &amp;lt;/li&amp;gt;
+&amp;lt;/ul&amp;gt;
+
+&amp;lt;h4&amp;gt;Dropdown link with custom URL and data-target&amp;lt;/h4&amp;gt;
+&amp;lt;ul class="nav nav-pills"&amp;gt;
+  &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#"&amp;gt;Link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+  &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Example link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+  &amp;lt;li class="dropdown"&amp;gt;
+    &amp;lt;a class="dropdown-toggle" data-toggle="dropdown" data-target="#" href="path/to/page.html"&amp;gt;
+      Dropdown &amp;lt;span class="caret"&amp;gt;&amp;lt;/span&amp;gt;
+    &amp;lt;/a&amp;gt;
+    &amp;lt;ul class="dropdown-menu"&amp;gt;
+      &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+      &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Another action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+      &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Something else here&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+      &amp;lt;li class="divider"&amp;gt;&amp;lt;/li&amp;gt;
+      &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Separated link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+    &amp;lt;/ul&amp;gt;
+  &amp;lt;/li&amp;gt;
+&amp;lt;/ul&amp;gt;
+
+&amp;lt;h4&amp;gt;Dropdown on a button&amp;lt;/h4&amp;gt;
+&amp;lt;div style="position: relative;"&amp;gt;
+  &amp;lt;button class="btn" type="button" data-toggle="dropdown"&amp;gt;Dropdown &amp;lt;span class="caret"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/button&amp;gt;
+  &amp;lt;ul class="dropdown-menu"&amp;gt;
+    &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+    &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Another action&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+    &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Something else here&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+    &amp;lt;li class="divider"&amp;gt;&amp;lt;/li&amp;gt;
+    &amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;Separated link&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+  &amp;lt;/ul&amp;gt;
+&amp;lt;/div&amp;gt;
+
+&amp;lt;br&amp;gt;
+
+
+&amp;lt;!-- Thumbnails
+================================================== --&amp;gt;
+
+&amp;lt;div class="page-header"&amp;gt;
+  &amp;lt;h1&amp;gt;Thumbnails&amp;lt;/h1&amp;gt;
+&amp;lt;/div&amp;gt;
+
+&amp;lt;h4&amp;gt;Default thumbnails (no grid sizing)&amp;lt;/h4&amp;gt;
+&amp;lt;ul class="thumbnails"&amp;gt;
+  &amp;lt;li class="thumbnail"&amp;gt;
+    &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+  &amp;lt;/li&amp;gt;
+  &amp;lt;li class="thumbnail"&amp;gt;
+    &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+  &amp;lt;/li&amp;gt;
+  &amp;lt;li class="thumbnail"&amp;gt;
+    &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+  &amp;lt;/li&amp;gt;
+  &amp;lt;li class="thumbnail"&amp;gt;
+    &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+  &amp;lt;/li&amp;gt;
+&amp;lt;/ul&amp;gt;
+
+&amp;lt;!-- NOT CURRENTLY SUPPORTED
+&amp;lt;h4&amp;gt;Offset thumbnails&amp;lt;/h4&amp;gt;
+&amp;lt;ul class="thumbnails"&amp;gt;
+  &amp;lt;li class="span3 offset3"&amp;gt;
+    &amp;lt;a href="#" class="thumbnail"&amp;gt;
+      &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+    &amp;lt;/a&amp;gt;
+  &amp;lt;/li&amp;gt;
+  &amp;lt;li class="span3"&amp;gt;
+    &amp;lt;a href="#" class="thumbnail"&amp;gt;
+      &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+    &amp;lt;/a&amp;gt;
+  &amp;lt;/li&amp;gt;
+  &amp;lt;li class="span3"&amp;gt;
+    &amp;lt;a href="#" class="thumbnail"&amp;gt;
+      &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+    &amp;lt;/a&amp;gt;
+  &amp;lt;/li&amp;gt;
+&amp;lt;/ul&amp;gt;
+--&amp;gt;
+
+&amp;lt;h4&amp;gt;Standard grid sizing&amp;lt;/h4&amp;gt;
+&amp;lt;ul class="thumbnails"&amp;gt;
+  &amp;lt;li class="span3"&amp;gt;
+    &amp;lt;a href="#" class="thumbnail"&amp;gt;
+      &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+    &amp;lt;/a&amp;gt;
+  &amp;lt;/li&amp;gt;
+  &amp;lt;li class="span3 offset3"&amp;gt;
+    &amp;lt;a href="#" class="thumbnail"&amp;gt;
+      &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+    &amp;lt;/a&amp;gt;
+  &amp;lt;/li&amp;gt;
+  &amp;lt;li class="span3"&amp;gt;
+    &amp;lt;a href="#" class="thumbnail"&amp;gt;
+      &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+    &amp;lt;/a&amp;gt;
+  &amp;lt;/li&amp;gt;
+&amp;lt;/ul&amp;gt;
+
+&amp;lt;h4&amp;gt;Fluid thumbnails&amp;lt;/h4&amp;gt;
+&amp;lt;div class="row-fluid"&amp;gt;
+  &amp;lt;div class="span8"&amp;gt;
+    &amp;lt;ul class="thumbnails"&amp;gt;
+      &amp;lt;li class="span4"&amp;gt;
+        &amp;lt;a href="#" class="thumbnail"&amp;gt;
+          &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+        &amp;lt;/a&amp;gt;
+      &amp;lt;/li&amp;gt;
+      &amp;lt;li class="span4"&amp;gt;
+        &amp;lt;a href="#" class="thumbnail"&amp;gt;
+          &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+        &amp;lt;/a&amp;gt;
+      &amp;lt;/li&amp;gt;
+      &amp;lt;li class="span4"&amp;gt;
+        &amp;lt;a href="#" class="thumbnail"&amp;gt;
+          &amp;lt;img src="http://placehold.it/260x180" alt=""&amp;gt;
+        &amp;lt;/a&amp;gt;
+      &amp;lt;/li&amp;gt;
+    &amp;lt;/ul&amp;gt;
+  &amp;lt;/div&amp;gt;
+&amp;lt;/div&amp;gt;
+
+
+
+&amp;lt;!-- Tabs
+================================================== --&amp;gt;
+
+&amp;lt;div class="page-header"&amp;gt;
+  &amp;lt;h1&amp;gt;Tabs&amp;lt;/h1&amp;gt;
+&amp;lt;/div&amp;gt;
+
+&amp;lt;div class="tabbable tabs-left" style="margin-bottom: 18px;"&amp;gt;
+  &amp;lt;ul class="nav nav-tabs"&amp;gt;
+    &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#tab1" data-toggle="tab"&amp;gt;Section 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+    &amp;lt;li&amp;gt;&amp;lt;a href="#tab2" data-toggle="tab"&amp;gt;Section 2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+    &amp;lt;li&amp;gt;&amp;lt;a href="#tab3" data-toggle="tab"&amp;gt;Section 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+  &amp;lt;/ul&amp;gt;
+  &amp;lt;div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;"&amp;gt;
+    &amp;lt;div class="tab-pane active" id="tab1"&amp;gt;
+      &amp;lt;p&amp;gt;I'm in Section 1.&amp;lt;/p&amp;gt;
+
+      &amp;lt;div class="tabbable" style="background: #f5f5f5; padding: 20px;"&amp;gt;
+        &amp;lt;ul class="nav nav-tabs"&amp;gt;
+          &amp;lt;li class="active"&amp;gt;&amp;lt;a href="#tab1-1" data-toggle="tab"&amp;gt;1.1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;&amp;lt;a href="#tab1-2" data-toggle="tab"&amp;gt;1.2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+          &amp;lt;li&amp;gt;&amp;lt;a href="#tab1-3" data-toggle="tab"&amp;gt;1.3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+        &amp;lt;/ul&amp;gt;
+        &amp;lt;div class="tab-content" style="padding-bottom: 9px; border-bottom: 1px solid #ddd;"&amp;gt;
+          &amp;lt;div class="tab-pane active" id="tab1-1"&amp;gt;
+            &amp;lt;p&amp;gt;I'm in Section 1.1.&amp;lt;/p&amp;gt;
+          &amp;lt;/div&amp;gt;
+          &amp;lt;div class="tab-pane" id="tab1-2"&amp;gt;
+            &amp;lt;p&amp;gt;I'm in Section 1.2.&amp;lt;/p&amp;gt;
+          &amp;lt;/div&amp;gt;
+          &amp;lt;div class="tab-pane" id="tab1-3"&amp;gt;
+            &amp;lt;p&amp;gt;I'm in Section 1.3.&amp;lt;/p&amp;gt;
+          &amp;lt;/div&amp;gt;
+        &amp;lt;/div&amp;gt;
+      &amp;lt;/div&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="tab-pane" id="tab2"&amp;gt;
+      &amp;lt;p&amp;gt;Howdy, I'm in Section 2.&amp;lt;/p&amp;gt;
+    &amp;lt;/div&amp;gt;
+    &amp;lt;div class="tab-pane" id="tab3"&amp;gt;
+      &amp;lt;p&amp;gt;What up girl, this is Section 3.&amp;lt;/p&amp;gt;
+    &amp;lt;/div&amp;gt;
+  &amp;lt;/div&amp;gt;
+&amp;lt;/div&amp;gt; &amp;lt;!-- /tabbable --&amp;gt;
+
+
+
+&amp;lt;!-- Labels
+================================================== --&amp;gt;
+
+&amp;lt;div class="page-header"&amp;gt;
+  &amp;lt;h1&amp;gt;Labels&amp;lt;/h1&amp;gt;
+&amp;lt;/div&amp;gt;
+
+&amp;lt;div class="row"&amp;gt;
+  &amp;lt;div class="span4"&amp;gt;
+    &amp;lt;h4&amp;gt;Inline label&amp;lt;/h4&amp;gt;
+    &amp;lt;p&amp;gt;Cras justo odio, dapibus ac facilisis in, egestas eget quam. Maecenas sed diam &amp;lt;span class="label label-warning"&amp;gt;Label name&amp;lt;/span&amp;gt; eget risus varius blandit sit amet non magna. Fusce &amp;lt;code&amp;gt;.class-name&amp;lt;/code&amp;gt; dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.&amp;lt;/p&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;div class="span4"&amp;gt;
+    &amp;lt;form class="form-horizontal"&amp;gt;
+      &amp;lt;label&amp;gt;Example label&amp;lt;/label&amp;gt;
+      &amp;lt;input type="text" placeholder="Input"&amp;gt; &amp;lt;span class="help-inline"&amp;gt;&amp;lt;span class="label"&amp;gt;Hey!&amp;lt;/span&amp;gt; Read this.&amp;lt;/span&amp;gt;
+    &amp;lt;/form&amp;gt;
+  &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+  &amp;lt;div class="span4"&amp;gt;
+
+  &amp;lt;/div&amp;gt;&amp;lt;!--/span--&amp;gt;
+&amp;lt;/div&amp;gt;&amp;lt;!--/row--&amp;gt;
+
+
+
+
+
+
+
+     &amp;lt;!-- Footer
+      ================================================== --&amp;gt;
+      &amp;lt;footer class="footer"&amp;gt;
+        &amp;lt;p class="pull-right"&amp;gt;&amp;lt;a href="#"&amp;gt;Back to top&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
+        &amp;lt;p&amp;gt;Designed and built with all the love in the world &amp;lt;a href="http://twitter.com/twitter" target="_blank"&amp;gt;&amp;lt; at &amp;gt;twitter&amp;lt;/a&amp;gt; by &amp;lt;a href="http://twitter.com/mdo" target="_blank"&amp;gt;&amp;lt; at &amp;gt;mdo&amp;lt;/a&amp;gt; and &amp;lt;a href="http://twitter.com/fat" target="_blank"&amp;gt;&amp;lt; at &amp;gt;fat&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
+        &amp;lt;p&amp;gt;Code licensed under the &amp;lt;a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank"&amp;gt;Apache License v2.0&amp;lt;/a&amp;gt;. Documentation licensed under &amp;lt;a href="http://creativecommons.org/licenses/by/3.0/"&amp;gt;CC BY 3.0&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
+        &amp;lt;p&amp;gt;Icons from &amp;lt;a href="http://glyphicons.com"&amp;gt;Glyphicons Free&amp;lt;/a&amp;gt;, licensed under &amp;lt;a href="http://creativecommons.org/licenses/by/3.0/"&amp;gt;CC BY 3.0&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
+      &amp;lt;/footer&amp;gt;
+
+    &amp;lt;/div&amp;gt;&amp;lt;!-- /container --&amp;gt;
+
+
+
+    &amp;lt;!-- Le javascript
+    ================================================== --&amp;gt;
+    &amp;lt;!-- Placed at the end of the document so the pages load faster --&amp;gt;
+    &amp;lt;script type="text/javascript" src="http://platform.twitter.com/widgets.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/jquery.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/google-code-prettify/prettify.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-transition.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-alert.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-modal.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-dropdown.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-scrollspy.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-tab.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-tooltip.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-popover.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-button.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-collapse.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-carousel.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/bootstrap-typeahead.js"&amp;gt;&amp;lt;/script&amp;gt;
+    &amp;lt;script src="../../docs/assets/js/application.js"&amp;gt;&amp;lt;/script&amp;gt;
+
+
+  &amp;lt;/body&amp;gt;
+&amp;lt;/html&amp;gt;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/thumbnails.less b/plone/app/toolbar/resources/lib/bootstrap/less/thumbnails.less
index 3a12d4e..aa69f8e 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/thumbnails.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/thumbnails.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,15 +1,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // THUMBNAILS
 // ----------
+// Note: `.thumbnails` and `.thumbnails &amp;gt; li` are overriden in responsive files
 
+// Make wrapper ul behave like the grid
 .thumbnails {
   margin-left: -&amp;lt; at &amp;gt;gridGutterWidth;
   list-style: none;
   .clearfix();
 }
+// Fluid rows have no left margin
+.row-fluid .thumbnails {
+  margin-left: 0;
+}
+
+// Float li to make thumbnails appear in a row
 .thumbnails &amp;gt; li {
-  float: left;
-  margin: 0 0 &amp;lt; at &amp;gt;baseLineHeight &amp;lt; at &amp;gt;gridGutterWidth;
+  float: left; // Explicity set the float since we don't require .span* classes
+  margin-bottom: &amp;lt; at &amp;gt;baseLineHeight;
+  margin-left: &amp;lt; at &amp;gt;gridGutterWidth;
 }
+
+// The actual thumbnail (can be `a` or `div`)
 .thumbnail {
   display: block;
   padding: 4px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -23,6 +34,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; a.thumbnail:hover {
   border-color: &amp;lt; at &amp;gt;linkColor;
   .box-shadow(0 1px 4px rgba(0,105,214,.25));
 }
+
 // Images and captions
 .thumbnail &amp;gt; img {
   display: block;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/type.less b/plone/app/toolbar/resources/lib/bootstrap/less/type.less
index 4e1407b..0d56219 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/type.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/type.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -52,8 +52,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; h2 {
   }
 }
 h3 {
-  line-height: &amp;lt; at &amp;gt;baseLineHeight * 1.5;
   font-size: 18px;
+  line-height: &amp;lt; at &amp;gt;baseLineHeight * 1.5;
   small {
     font-size: 14px;
   }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -136,9 +136,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; dd {
 .dl-horizontal {
   dt {
     float: left;
-    clear: left;
     width: 120px;
+    clear: left;
     text-align: right;
+    .text-overflow();
   }
   dd {
     margin-left: 130px;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -169,8 +170,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; em {
 
 // Abbreviations and acronyms
 abbr[title] {
-  border-bottom: 1px dotted #ddd;
   cursor: help;
+  border-bottom: 1px dotted #ddd;
 }
 abbr.initialism {
   font-size: 90%;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -198,10 +199,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; blockquote {
   // Float right with text-align: right
   &amp;amp;.pull-right {
     float: right;
-    padding-left: 0;
     padding-right: 15px;
-    border-left: 0;
+    padding-left: 0;
     border-right: 5px solid &amp;lt; at &amp;gt;grayLighter;
+    border-left: 0;
     p,
     small {
       text-align: right;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -221,8 +222,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; blockquote:after {
 address {
   display: block;
   margin-bottom: &amp;lt; at &amp;gt;baseLineHeight;
-  line-height: &amp;lt; at &amp;gt;baseLineHeight;
   font-style: normal;
+  line-height: &amp;lt; at &amp;gt;baseLineHeight;
 }
 
 // Misc
diff --git a/plone/app/toolbar/resources/lib/bootstrap/less/variables.less b/plone/app/toolbar/resources/lib/bootstrap/less/variables.less
index 94c3a06..d8825fb 100644
--- a/plone/app/toolbar/resources/lib/bootstrap/less/variables.less
+++ b/plone/app/toolbar/resources/lib/bootstrap/less/variables.less
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -45,10 +45,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 // Typography
 // -------------------------
+&amp;lt; at &amp;gt;sansFontFamily:        "Helvetica Neue", Helvetica, Arial, sans-serif;
+&amp;lt; at &amp;gt;serifFontFamily:       Georgia, "Times New Roman", Times, serif;
+&amp;lt; at &amp;gt;monoFontFamily:        Menlo, Monaco, Consolas, "Courier New", monospace;
+
 &amp;lt; at &amp;gt;baseFontSize:          13px;
-&amp;lt; at &amp;gt;baseFontFamily:        "Helvetica Neue", Helvetica, Arial, sans-serif;
+&amp;lt; at &amp;gt;baseFontFamily:        &amp;lt; at &amp;gt;sansFontFamily;
 &amp;lt; at &amp;gt;baseLineHeight:        18px;
-&amp;lt; at &amp;gt;altFontFamily:         Georgia, "Times New Roman", Times, serif;
+&amp;lt; at &amp;gt;altFontFamily:         &amp;lt; at &amp;gt;serifFontFamily;
 
 &amp;lt; at &amp;gt;headingsFontFamily:    inherit; // empty to use BS default, &amp;lt; at &amp;gt;baseFontFamily
 &amp;lt; at &amp;gt;headingsFontWeight:    bold;    // instead of browser default, bold
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -67,7 +71,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // -------------------------
 &amp;lt; at &amp;gt;btnBackground:                     &amp;lt; at &amp;gt;white;
 &amp;lt; at &amp;gt;btnBackgroundHighlight:            darken(&amp;lt; at &amp;gt;white, 10%);
-&amp;lt; at &amp;gt;btnBorder:                         darken(&amp;lt; at &amp;gt;white, 20%);
+&amp;lt; at &amp;gt;btnBorder:                         #ccc;
 
 &amp;lt; at &amp;gt;btnPrimaryBackground:              &amp;lt; at &amp;gt;linkColor;
 &amp;lt; at &amp;gt;btnPrimaryBackgroundHighlight:     spin(&amp;lt; at &amp;gt;btnPrimaryBackground, 15%);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -92,8 +96,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 // -------------------------
 &amp;lt; at &amp;gt;inputBackground:               &amp;lt; at &amp;gt;white;
 &amp;lt; at &amp;gt;inputBorder:                   #ccc;
+&amp;lt; at &amp;gt;inputBorderRadius:             3px;
 &amp;lt; at &amp;gt;inputDisabledBackground:       &amp;lt; at &amp;gt;grayLighter;
-
+&amp;lt; at &amp;gt;formActionsBackground:         #f5f5f5;
 
 // Dropdowns
 // -------------------------
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -154,6 +159,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt; at &amp;gt;navbarSearchBackgroundFocus:     &amp;lt; at &amp;gt;white;
 &amp;lt; at &amp;gt;navbarSearchBorder:              darken(&amp;lt; at &amp;gt;navbarSearchBackground, 30%);
 &amp;lt; at &amp;gt;navbarSearchPlaceholderColor:    #ccc;
+&amp;lt; at &amp;gt;navbarBrandColor:                &amp;lt; at &amp;gt;navbarLinkColor;
 
 
 // Hero unit
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -183,7 +189,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 
 
-
 // GRID
 // --------------------------------------------------
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -194,7 +199,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt; at &amp;gt;gridGutterWidth:         20px;
 &amp;lt; at &amp;gt;gridRowWidth:            (&amp;lt; at &amp;gt;gridColumns * &amp;lt; at &amp;gt;gridColumnWidth) + (&amp;lt; at &amp;gt;gridGutterWidth * (&amp;lt; at &amp;gt;gridColumns - 1));
 
-
 // Fluid grid
 // -------------------------
 &amp;lt; at &amp;gt;fluidGridColumnWidth:    6.382978723%;
diff --git a/plone/app/toolbar/resources/lib/bootstrap/package.json b/plone/app/toolbar/resources/lib/bootstrap/package.json
new file mode 100644
index 0000000..4aab7ea
--- /dev/null
+++ b/plone/app/toolbar/resources/lib/bootstrap/package.json
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,25 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+{
+    "name": "bootstrap"
+  , "description": "HTML, CSS, and JS toolkit from Twitter."
+  , "version": "2.0.3"
+  , "keywords": ["bootstrap", "css"]
+  , "homepage": "http://twitter.github.com/bootstrap/"
+  , "author": "Twitter Inc."
+  , "scripts": { "test": "make test" }
+  , "repository": {
+      "type": "git"
+    , "url": "https://github.com/twitter/bootstrap.git"
+  }
+  , "licenses": [
+    {
+        "type": "Apache-2.0"
+      , "url": "http://www.apache.org/licenses/LICENSE-2.0"
+    }
+  ]
+  , "devDependencies": {
+      "uglify-js": "1.2.6"
+    , "jshint": "0.6.1"
+    , "recess": "1.0.3"
+    , "connect": "2.1.3"
+  }
+}
\ No newline at end of file

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Plone-CVS mailing list
Plone-CVS&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plone-cvs
&lt;/pre&gt;</description>
    <dc:creator>Rok Garbas</dc:creator>
    <dc:date>2012-05-25T01:05:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53722">
    <title>plone.app.toolbar/master: renaming iframize into iframed</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53722</link>
    <description>&lt;pre&gt;Repository: plone.app.toolbar
Branch: refs/heads/master
Date: 2012-05-24T17:05:43-07:00
Author: Rok Garbas (garbas) &amp;lt;rok-k5+lt39nHzj1KXRcyAk9cg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/plone.app.toolbar/commit/6aa26f5b783bea96a6777eb00f3e318e7801db90

renaming iframize into iframed

Files changed:
A plone/app/toolbar/resources/src/iframed.js
M plone/app/toolbar/profiles/default/jsregistry.xml
M plone/app/toolbar/resources/example.html
M plone/app/toolbar/resources/src/plone.cmsui.js
M plone/app/toolbar/resources/src/plone.overlay.js
M plone/app/toolbar/resources/src/plone.toolbar.js
D plone/app/toolbar/resources/src/iframize.js

diff --git a/plone/app/toolbar/profiles/default/jsregistry.xml b/plone/app/toolbar/profiles/default/jsregistry.xml
index cc63358..18e4377 100644
--- a/plone/app/toolbar/profiles/default/jsregistry.xml
+++ b/plone/app/toolbar/profiles/default/jsregistry.xml
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -91,7 +91,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
     &amp;lt;javascript 
         cacheable="False" compression="safe" cookable="False"
         enabled="True" inline="False" bundle="toolbar-init"
-        id="++resource++plone.app.toolbar/src/iframize.js"
+        id="++resource++plone.app.toolbar/src/iframed.js"
         /&amp;gt;
 
     &amp;lt;javascript 
diff --git a/plone/app/toolbar/resources/example.html b/plone/app/toolbar/resources/example.html
index 5d0c334..617fe73 100644
--- a/plone/app/toolbar/resources/example.html
+++ b/plone/app/toolbar/resources/example.html
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3,7 +3,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;head&amp;gt;
   &amp;lt;meta charset="utf-8" /&amp;gt;
   &amp;lt;title&amp;gt;toolbar.js example&amp;lt;/title&amp;gt;
-  &amp;lt;script type="text/javascript" src="src/iframize.js"&amp;gt;&amp;lt;/script&amp;gt;
+  &amp;lt;script type="text/javascript" src="src/iframed.js"&amp;gt;&amp;lt;/script&amp;gt;
 &amp;lt;/head&amp;gt;
 &amp;lt;body&amp;gt;
 
diff --git a/plone/app/toolbar/resources/src/iframed.js b/plone/app/toolbar/resources/src/iframed.js
new file mode 100644
index 0000000..dbb4f94
--- /dev/null
+++ b/plone/app/toolbar/resources/src/iframed.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,184 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+// This plugin is used to put selected element into iframe.
+//
+// &amp;lt; at &amp;gt;author Rok Garbas
+// &amp;lt; at &amp;gt;version 1.0
+// &amp;lt; at &amp;gt;licstart  The following is the entire license notice for the JavaScript
+//            code in this page.
+//
+// Copyright (C) 2010 Plone Foundation
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+// more details.
+//
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, write to the Free Software Foundation, Inc., 51
+// Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+//
+// &amp;lt; at &amp;gt;licend  The above is the entire license notice for the JavaScript code in
+//          this page.
+//
+
+/*jshint bitwise:true, curly:true, eqeqeq:true, immed:true, latedef:true,
+  newcap:true, noarg:true, noempty:true, nonew:true, plusplus:true,
+  regexp:true, undef:true, strict:true, trailing:true, browser:true */
+
+
+(function(window, document) {
+"use strict";
+
+// # IFramed Object
+var IFramed = function(el) { this.init(el); };
+IFramed.prototype = {
+  init: function(el) {
+    var self = this;
+
+    // store original element on IFrame object and make sure its hidden
+    self.el_original = el;
+    self.el_original.setAttribute("style", "display:none;");
+
+    // mark iframe as not yet loaded
+    self.loaded = false;
+
+    // get options from original element
+    self.options = {
+      name: self.getAttribute('name', 'noname_frame'),
+      title: self.getAttribute('title', ''),
+      doctype: self.getAttribute('doctype', '&amp;lt;!doctype html&amp;gt;'),
+      style: self.getAttribute('style', ''),
+      resources: self.getAttribute('resources', '').split(';')
+    };
+
+    // get resources (js/css/less)
+    self.resources = '';
+    for (var i = 0; i &amp;lt; self.options.resources.length; i += 1) {
+      var url = self.options.resources[i].replace(/^\s+|\s+$/g, ''),
+          resource = '';
+      if (url.slice(-3) === '.js') {
+        resource = document.createElement('script');
+        resource.src = url;
+        resource.type = 'text/javascript';
+        resource.async = false;
+      } else if (url.slice(-4) === '.css') {
+        resource = document.createElement('link');
+        resource.href = url;
+        resource.type = 'text/css';
+        resource.rel = 'stylesheet';
+      } else if (url.slice(-5) === '.less') {
+        resource = document.createElement('link');
+        resource.href = url;
+        resource.type = 'text/less';
+        resource.rel = 'stylesheet';
+      }
+      if (resource !== '') {
+        self.resources += resource.outerHTML;
+      }
+    }
+
+    // Create iframe
+    var iframe = document.createElement('iframe');
+    iframe.setAttribute('frameBorder', '0');
+    iframe.setAttribute('border', '0');
+    iframe.setAttribute('allowTransparency', 'true');
+    iframe.setAttribute('scrolling', 'no');
+    iframe.setAttribute('id', self.options.name);
+    iframe.setAttribute('name', self.options.name);
+    iframe.setAttribute('style', 'display:none;');
+
+    document.body.appendChild(iframe);
+
+    self.el = iframe;
+    self.window = iframe.contentWindow;
+    self.document = self.window.document;
+  },
+  open: function() {
+    var self = this;
+    self.document.open();
+    self.document.write(
+        self.options.doctype +
+        '&amp;lt;html&amp;gt;' +
+          '&amp;lt;head&amp;gt;' +
+            '&amp;lt;title&amp;gt;' + self.options.title + '&amp;lt;/title&amp;gt;' +
+            '&amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&amp;gt;' +
+          '&amp;lt;/head&amp;gt;' +
+          '&amp;lt;body onload="parent.window.iframed[\'' +
+              self.options.name + '\'].load()"&amp;gt;' +
+            self.el_original.innerHTML +
+            self.resources +
+          '&amp;lt;/body&amp;gt;' +
+        '&amp;lt;/html&amp;gt;');
+    self.document.close();
+  },
+  load: function() {
+    var self = this;
+
+    // check if already loaded
+    if ( self.loaded === true ) {
+      return;
+    }
+
+    // mark iframe as loaded
+    self.loaded = true;
+
+    self.el.setAttribute('style', 'border:0;overflow:hidden;' +
+        'position:absolute;left:0px;position:fixed;top:0px;overflow:hidden;' +
+        'width:100%;background-color:transparent;z-index:500;' +
+        self.options.style);
+    self.el.setAttribute('style', self.el.getAttribute('style') +
+        'height:' + self.document.body.offsetHeight + 'px;');
+    self.document.body.setAttribute('style',
+        self.document.body.getAttribute('style') || '' +
+        'background:transparent;');
+    document.body.setAttribute('style',
+        document.body.getAttribute('style') || '' +
+        ';margin-top:' + self.el.offsetHeight + 'px;');
+  },
+  getAttribute: function(name, _default) {
+    if (name === 'name') { name = 'data-iframe'; }
+    else { name = 'data-iframe-' + name; }
+    var attr = this.el_original.getAttribute(name);
+    if (attr) { return attr; }
+    return _default;
+  }
+};
+
+// # Initialize
+function initialize() {
+
+  // Check for DOM to be ready
+  var body = document.getElementsByTagName('body')[0];
+  if (body === undefined) {
+    window.setTimeout(initialize, 23);
+    return;
+  }
+
+  // find [data-iframe] elements in context
+  var matching = [];
+  if (document.querySelectorAll !== undefined) {
+    matching = document.querySelectorAll('[data-iframe]');
+  } else {
+    var all = document.getElementsByTagName('*');
+    for (var i = 0; i &amp;lt; all.length; i += 1) {
+      if (all[i].getAttribute('data-iframe')) {
+        matching.push(all[i]);
+      }
+    }
+  }
+
+  // initialize IFramed object for each of them
+  window.iframed = {};
+  for (var j = 0; j &amp;lt; matching.length; j += 1) {
+    var name = matching[j].getAttribute('data-iframe');
+    window.iframed[name] = new IFramed(matching[j]);
+    window.iframed[name].open();
+  }
+
+}
+initialize();
+
+}(window, window.document));
diff --git a/plone/app/toolbar/resources/src/iframize.js b/plone/app/toolbar/resources/src/iframize.js
deleted file mode 100644
index 25c78d0..0000000
--- a/plone/app/toolbar/resources/src/iframize.js
+++ /dev/null
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,186 +0,0 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-// This plugin is used to put selected into iframe. {{{
-//
-// &amp;lt; at &amp;gt;author Rok Garbas
-// &amp;lt; at &amp;gt;version 1.0
-// &amp;lt; at &amp;gt;licstart  The following is the entire license notice for the JavaScript
-//            code in this page.
-//
-// Copyright (C) 2010 Plone Foundation
-//
-// This program is free software; you can redistribute it and/or modify it
-// under the terms of the GNU General Public License as published by the Free
-// Software Foundation; either version 2 of the License.
-//
-// This program is distributed in the hope that it will be useful, but WITHOUT
-// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-// more details.
-//
-// You should have received a copy of the GNU General Public License along with
-// this program; if not, write to the Free Software Foundation, Inc., 51
-// Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-//
-// &amp;lt; at &amp;gt;licend  The above is the entire license notice for the JavaScript code in
-//          this page.
-//
-
-/*jshint bitwise:true, curly:true, eqeqeq:true, immed:true, latedef:true,
-  newcap:true, noarg:true, noempty:true, nonew:true, plusplus:true,
-  regexp:true, undef:true, strict:true, trailing:true, browser:true */
-
-// }}}
-
-(function(window, document) {
-"use strict";
-
-// # IFrame {{{
-var IFrame = function(el) { this.init(el); };
-IFrame.prototype = {
-  init: function(el) {
-    var self = this;
-
-    // store original element on IFrame object and make sure its hidden
-    self.el_original = el;
-    self.el_original.setAttribute("style", "display:none;");
-
-    // mark iframe as not yet loaded
-    self.loaded = false;
-
-    // get options from original element
-    self.options = {
-      name: self.getAttribute('name', '_iframize'),
-      title: self.getAttribute('title', ''),
-      doctype: self.getAttribute('doctype', '&amp;lt;!doctype html&amp;gt;'),
-      style: self.getAttribute('style', ''),
-      resources: self.getAttribute('resources', '').split(';')
-    };
-
-    // get resources (js/css/less)
-    self.resources = '';
-    for (var i = 0; i &amp;lt; self.options.resources.length; i += 1) {
-      var url = self.options.resources[i].replace(/^\s+|\s+$/g, ''),
-          resource = '';
-      if (url.slice(-3) === '.js') {
-        resource = document.createElement('script');
-        resource.src = url;
-        resource.type = 'text/javascript';
-        resource.async = false;
-      } else if (url.slice(-4) === '.css') {
-        resource = document.createElement('link');
-        resource.href = url;
-        resource.type = 'text/css';
-        resource.rel = 'stylesheet';
-      } else if (url.slice(-5) === '.less') {
-        resource = document.createElement('link');
-        resource.href = url;
-        resource.type = 'text/less';
-        resource.rel = 'stylesheet';
-      }
-      if (resource !== '') {
-        self.resources += resource.outerHTML;
-      }
-    }
-
-    // Create iframe
-    var iframe = document.createElement('iframe');
-    iframe.setAttribute('frameBorder', '0');
-    iframe.setAttribute('border', '0');
-    iframe.setAttribute('allowTransparency', 'true');
-    iframe.setAttribute('scrolling', 'no');
-    iframe.setAttribute('id', self.options.name);
-    iframe.setAttribute('name', self.options.name);
-    iframe.setAttribute('style', 'display:none;');
-
-    document.body.appendChild(iframe);
-
-    self.el = iframe;
-    self.window = iframe.contentWindow;
-    self.document = self.window.document;
-  },
-  open: function() {
-    var self = this;
-    self.document.open();
-    self.document.write(
-        self.options.doctype +
-        '&amp;lt;html&amp;gt;' +
-          '&amp;lt;head&amp;gt;' +
-            '&amp;lt;title&amp;gt;' + self.options.title + '&amp;lt;/title&amp;gt;' +
-            '&amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&amp;gt;' +
-          '&amp;lt;/head&amp;gt;' +
-          '&amp;lt;body onload="parent.window.iframized[\'' +
-              self.options.name + '\'].load()"&amp;gt;' +
-            self.el_original.innerHTML +
-            self.resources +
-          '&amp;lt;/body&amp;gt;' +
-        '&amp;lt;/html&amp;gt;');
-    self.document.close();
-  },
-  load: function() {
-    var self = this;
-
-    // check if already loaded
-    if ( self.loaded === true ) {
-      return;
-    }
-
-    // mark iframe as loaded
-    self.loaded = true;
-
-    self.el.setAttribute('style', 'border:0;overflow:hidden;' +
-        'position:absolute;left:0px;position:fixed;top:0px;overflow:hidden;' +
-        'width:100%;background-color:transparent;z-index:500;' +
-        self.options.style);
-    self.el.setAttribute('style', self.el.getAttribute('style') +
-        'height:' + self.document.body.offsetHeight + 'px;');
-    self.document.body.setAttribute('style',
-        self.document.body.getAttribute('style') || '' +
-        'background:transparent;');
-    document.body.setAttribute('style', document.body.getAttribute('style') || '' +
-        ';margin-top:' + self.el.offsetHeight + 'px;');
-  },
-  getAttribute: function(name, _default) {
-    if (name === 'name') { name = 'data-iframe'; }
-    else { name = 'data-iframe-' + name; }
-    var attr = this.el_original.getAttribute(name);
-    if (attr) { return attr; }
-    return _default;
-  }
-};
-// }}}
-
-// # Initialize {{{
-function initialize() {
-
-  // Check
-  var body = document.getElementsByTagName('body')[0];
-  if (body === undefined) {
-    window.setTimeout(initialize, 23);
-    return;
-  }
-
-  // find [data-iframe] elements in context
-  var matching = [];
-  if (document.querySelectorAll !== undefined) {
-    matching = document.querySelectorAll('[data-iframe]');
-  } else {
-    var all = document.getElementsByTagName('*');
-    for (var i = 0; i &amp;lt; all.length; i += 1) {
-      if (all[i].getAttribute('data-iframe')) {
-        matching.push(all[i]);
-      }
-    }
-  }
-
-  // initialize IFrame object for each of them  and store them
-  window.iframized = {};
-  for (var j = 0; j &amp;lt; matching.length; j += 1) {
-    var name = matching[j].getAttribute('data-iframe');
-    window.iframized[name] = new IFrame(matching[j]);
-    window.iframized[name].open();
-  }
-
-}
-initialize();
-// }}}
-
-}(window, window.document));
diff --git a/plone/app/toolbar/resources/src/plone.cmsui.js b/plone/app/toolbar/resources/src/plone.cmsui.js
index 805e415..ff2df0b 100644
--- a/plone/app/toolbar/resources/src/plone.cmsui.js
+++ b/plone/app/toolbar/resources/src/plone.cmsui.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 //
-// This script is used to provide glue code between iframize and twitter
+// This script is used to provide glue code between iframed and twitter
 // bootstrap modal. And also providing some convinience method for usage in
 // Plone.
 //
diff --git a/plone/app/toolbar/resources/src/plone.overlay.js b/plone/app/toolbar/resources/src/plone.overlay.js
index cf77721..882d111 100644
--- a/plone/app/toolbar/resources/src/plone.overlay.js
+++ b/plone/app/toolbar/resources/src/plone.overlay.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,5 +1,5 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 //
-// This script is used to provide glue code between iframize and twitter
+// This script is used to provide glue code between iframed and twitter
 // bootstrap modal. And also providing some convinience method for usage in
 // Plone.
 //
diff --git a/plone/app/toolbar/resources/src/plone.toolbar.js b/plone/app/toolbar/resources/src/plone.toolbar.js
index 980479e..517ffcf 100644
--- a/plone/app/toolbar/resources/src/plone.toolbar.js
+++ b/plone/app/toolbar/resources/src/plone.toolbar.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -29,6 +29,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   regexp:true, undef:true, strict:true, trailing:true, browser:true */
 /*global jQuery:false */
 
+
 (function($) {
 "use strict";
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -41,7 +42,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; $.plone.toolbar = $.plone.toolbar || {};
 // # IFrame Object
 //
 // nicer way to create shortcut 
-$.plone.toolbar.iframe = window.parent.iframized[window.name];
+$.plone.toolbar.iframe = window.parent.iframed[window.name];
 
 // # Shrink IFrame Object
 //


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Rok Garbas</dc:creator>
    <dc:date>2012-05-25T00:02:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53721">
    <title>plone.app.toolbar/master: added copyright notice,comments to code and provide some sa</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53721</link>
    <description>&lt;pre&gt;Repository: plone.app.toolbar
Branch: refs/heads/master
Date: 2012-05-24T16:27:01-07:00
Author: Rok Garbas (garbas) &amp;lt;rok-k5+lt39nHzj1KXRcyAk9cg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/plone.app.toolbar/commit/302c0c2e5e51d3dd36217a5a04503363e4d0d104

added copyright notice, comments to code and provide some same naming.

Files changed:
M plone/app/toolbar/resources/src/plone.toolbar.js

diff --git a/plone/app/toolbar/resources/src/plone.toolbar.js b/plone/app/toolbar/resources/src/plone.toolbar.js
index 7f4d976..980479e 100644
--- a/plone/app/toolbar/resources/src/plone.toolbar.js
+++ b/plone/app/toolbar/resources/src/plone.toolbar.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,66 +1,113 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+// This plugin is used to handle all clicks inside toolbar iframe.
+//
+// &amp;lt; at &amp;gt;author Rok Garbas
+// &amp;lt; at &amp;gt;version 1.0
+// &amp;lt; at &amp;gt;licstart  The following is the entire license notice for the JavaScript
+//            code in this page.
+//
+// Copyright (C) 2010 Plone Foundation
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 2 of the License.
+//
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+// more details.
+//
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, write to the Free Software Foundation, Inc., 51
+// Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+//
+// &amp;lt; at &amp;gt;licend  The above is the entire license notice for the JavaScript code in
+//          this page.
+//
+
+/*jshint bitwise:true, curly:true, eqeqeq:true, immed:true, latedef:true,
+  newcap:true, noarg:true, noempty:true, nonew:true, plusplus:true,
+  regexp:true, undef:true, strict:true, trailing:true, browser:true */
+/*global jQuery:false */
+
 (function($) {
+"use strict";
 
-$.iframe = $.iframe || {};
+// # Namespace
+//
+// ensure proper namespaces
+$.plone = $.plone || {};
+$.plone.toolbar = $.plone.toolbar || {};
 
-$.iframe.obj = window.parent.iframized[window.name],
-    $.iframe.iframe_state;
+// # IFrame Object
+//
+// nicer way to create shortcut 
+$.plone.toolbar.iframe = window.parent.iframized[window.name];
 
-$.iframe.shrink = function() {
-  if ($.iframe.iframe_state !== undefined) {
-    $($.iframe.obj.el).height($.iframe.iframe_state.height);
-    $($.iframe.obj.el).offset($.iframe.iframe_state.offset);
-    $.iframe.iframe_state = undefined;
+// # Shrink IFrame Object
+//
+// Shrink current frame to the size that was before stretching it.
+$.plone.toolbar.iframe_shrink = function() {
+  if ($.plone.toolbar.iframe_state !== undefined) {
+    $($.plone.toolbar.iframe.el).height($.plone.toolbar.iframe_state.height);
+    $($.plone.toolbar.iframe.el).offset($.plone.toolbar.iframe_state.offset);
+    $.plone.toolbar.iframe_state = undefined;
   }
-}
+};
 
-// stretch over whole parent document
-$.iframe.stretch = function() {
-  if ($.iframe.iframe_state === undefined) {
-    $.iframe.iframe_state = {};
-    $.iframe.iframe_state.height = $($.iframe.obj.el).height();
-    $.iframe.iframe_state.offset = $($.iframe.obj.el).offset();
-    $($.iframe.obj.el).height($(window.parent.document).height());
-    $($.iframe.obj.el).offset({top: 0, left: 0});
+// # Stretch IFrame Object
+//
+// This function stretches current frame over whole top frame while keeping
+// iframe object trasparent
+$.plone.toolbar.iframe_stretch = function() {
+  if ($.plone.toolbar.iframe_state === undefined) {
+    $.plone.toolbar.iframe_state = {};
+    $.plone.toolbar.iframe_state.height = $($.plone.toolbar.iframe.el).height();
+    $.plone.toolbar.iframe_state.offset = $($.plone.toolbar.iframe.el).offset();
+    $($.plone.toolbar.iframe.el).height($(window.parent.document).height());
+    $($.plone.toolbar.iframe.el).offset({top: 0, left: 0});
   }
-}
+};
 
-$(document).on('click', function(e) { $.iframe.shrink(); });
+// # Shrink on any non binded click happends
+$(document).on('click', function(e) {
+  $.plone.toolbar.iframe_shrink();
+});
 
-$('body &amp;gt; .navbar a').on('click', function(e) {
-  if (e.which === 1 || e.which === 2) {
-    var el = $(this),
-        id = el.attr('id'),
-        event_exists = false;
-    e.preventDefault();
+// # Handle every click on every link inside current frame 
+// 
+// Currently script recognizes:
+//  - twitter bootstrap dropdown
+//  - ploneOverlay links
+$('a').on('click', function(e) {
 
-    if (id === undefined) {
-      id = el.parents('[id]').attr('id');
-    }
+  // only handle left(1) and right(2) click
+  if (e.which === 1 || e.which === 2) {
+    var el = $(this);
 
-    if ($(document).data('events') !== undefined) {
-      $.each($(document).data('events').plone_toolbar || [], function(i, e) {
-        if (e.namespace === id) {
-          event_exists = true;
-          return;
-        }
-      });
-    }
+    // since we'll be handling this link we prevent any default behaivour
+    e.preventDefault();
 
+    // if link has twitter bootstrap dropdown assigned to it then make sure 
+    // current frame gets streched invisibly just in case dropdown goes over
+    // the area of top frame.
     if (el.attr('data-toggle') === 'dropdown') {
-        $.iframe.stretch();
+      $.plone.toolbar.iframe_stretch();
+
+    // if ploneOverlay is registered for currently clicked link then we make
+    // sure that iframe is stretched before being open and shrank on closing
+    } else if (el.data('plone-overlay') !== undefined) {
+      el.data('plone-overlay').el
+        .on('show', function(e) { $.plone.toolbar.iframe_stretch(); })
+        .on('hide', function(e) { $.plone.toolbar.iframe_shrink(); });
 
-    // Buttons default to an overlay but if they
-    // have the '_parent' link target, just load them in
-    // the top window
-    } else if (el.attr('target') === '_parent' || event_exists === false) {
+    // if none of above conditions is met then open link in top frame or new
+    // window in case right button was used
+    } else {
       if (e.which === 1) {
         window.parent.location.href = el.attr('href');
       } else {
         window.parent.open(el.attr('href'));
       }
-
-    } else {
-      $(document).trigger('plone_toolbar.' + id, el);
     }
   }
 });


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Rok Garbas</dc:creator>
    <dc:date>2012-05-24T23:48:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53720">
    <title>buildout.deco/master: some description where is what</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53720</link>
    <description>&lt;pre&gt;Repository: buildout.deco
Branch: refs/heads/master
Date: 2012-05-24T16:49:26-07:00
Author: Rok Garbas (garbas) &amp;lt;rok-k5+lt39nHzj1KXRcyAk9cg&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/buildout.deco/commit/633556f0b3774457a7241142f3c30ac292340461

some description where is what

Files changed:
M README.rst

diff --git a/README.rst b/README.rst
index ce399a2..6a13872 100644
--- a/README.rst
+++ b/README.rst
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,3 +1,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+Development buildout for `plone.app.deco`_ and `plone.app.toolbar`_.
+
+.. contents::
+
 Bootstrapping
 =============
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,29 +10,46 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Check out the buildout, bootstrap and run it, as usual::
     % git clone git-9UaJU3cA/F/QT0dZR+AlfA&amp;lt; at &amp;gt;public.gmane.org:plone/buildout.deco.git
     % cd buildout.deco
     % cp buildout.cfg.in buildout.cfg
+
+Then uncomment one of the lines under ``extends``, more about them you can find
+at the section ``Projects``. Then run following commands::
+
     % python bootstrap.py 
     % bin/buildout
 
 You now have all required packages for development checked out via git into
 ``src/``.
 
+
 Running Tests
--------------
+=============
 
 .. warn:: TODO: need to write this section once we have tests running again.
 
-Subprojects / Integrations
---------------------------
 
-Since Deco is faily large project there are multiple subproject / integrations
-which Deco depends on or is planning to support them in future. You can run
-those projects separatly by tweaking buildout.cfg that you copied to the root
-of your buildout. Currently you can choose between: 
+Configurations
+==============
+
+In ``buildout.cfg`` you can select one of bellow described configurations:
+
+- ``toolbar-1.0.cfg``
+
+  This is setup for `plone.app.toolbar`_ version 1.0, which replaces old green
+  editing toolbar with Twitter Bootstrap like toolbar. Although toolbar is
+  rendered inside iframe all links - when clicked - will open in top frame.
+
+- ``toolbar-2.0.cfg``
+
+  This is setup for `plone.app.toolbar`_ version 2.0, which builds uppon
+  version 1.0 and opens toolbar links inside overlay which is placed inside
+  iframe. This should give us separation of backend and frontend theming.
+
+- ``deco-1.0.cfg``
 
&lt;/pre&gt;</description>
    <dc:creator>Rok Garbas</dc:creator>
    <dc:date>2012-05-24T23:46:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53719">
    <title>plone.app.layout/master: add language header for WCAG2.0 compliance</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53719</link>
    <description>&lt;pre&gt;Repository: plone.app.layout
Branch: refs/heads/master
Date: 2012-05-24T15:53:25-07:00
Author: Paul Roeland (polyester) &amp;lt;paula-fsXTdVcv1GdrovVCs/uTlw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/plone.app.layout/commit/ff1cdc1fbf0d8f7bff6ac9f02700497fcf7e0e54

add language header for WCAG 2.0 compliance

Files changed:
M CHANGES.txt
M plone/app/layout/presentation/presentation.pt

diff --git a/CHANGES.txt b/CHANGES.txt
index 4a3e4ef..f3675ba 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -4,6 +4,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Changelog
 2.2.7 (unreleased)
 ------------------
 
+- Add language atribute to presentation.pt for WCAG 2.0 compliance. 
+  See https://dev.plone.org/ticket/12902
+  [rmatt, polyester]
+
 - Remove hard dependency on ATContentTypes.
   [davisagli]
 
diff --git a/plone/app/layout/presentation/presentation.pt b/plone/app/layout/presentation/presentation.pt
index 5685df4..1ff444c 100644
--- a/plone/app/layout/presentation/presentation.pt
+++ b/plone/app/layout/presentation/presentation.pt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3,6 +3,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 &amp;lt;metal:block use-macro="here/global_defines/macros/defines" /&amp;gt;
 &amp;lt;html xmlns="http://www.w3.org/1999/xhtml"
+      tal:define="portal_state context/&amp;lt; at &amp;gt;&amp;lt; at &amp;gt;plone_portal_state;
+                  lang portal_state/language;"
+      tal:attributes="lang lang;"
       xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       xmlns:i18n="http://xml.zope.org/namespaces/i18n"


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Paul Roeland</dc:creator>
    <dc:date>2012-05-24T22:50:25</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53718">
    <title>Products.CMFPlone/4.2: convert dynamically generatedfont-size frompx to em in s5_</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53718</link>
    <description>&lt;pre&gt;Repository: Products.CMFPlone
Branch: refs/heads/4.2
Date: 2012-05-24T15:51:05-07:00
Author: Paul Roeland (polyester) &amp;lt;paula-fsXTdVcv1GdrovVCs/uTlw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Products.CMFPlone/commit/39878677dabb00fad57d0a09b8d5af4435ddbcb0

convert dynamically generated font-size from px to em in s5_slides.js to comply with WCAG 2.0

Files changed:
M Products/CMFPlone/skins/plone_3rdParty/s5_slides.js
M docs/CHANGES.txt

diff --git a/Products/CMFPlone/skins/plone_3rdParty/s5_slides.js b/Products/CMFPlone/skins/plone_3rdParty/s5_slides.js
index a434119..3511166 100644
--- a/Products/CMFPlone/skins/plone_3rdParty/s5_slides.js
+++ b/Products/CMFPlone/skins/plone_3rdParty/s5_slides.js
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -392,7 +392,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; function fontScale() {  // causes layout problems in FireFox that get fixed if b
 var hSize = 1024; // these do not account for kiosk mode or Opera Show
 }
 var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale));
-fontSize(newSize + 'px');
+fontSize(newSize/16 + 'em');
 if (isGe) {  // hack to counter incremental reflow bugs
 var obj = document.getElementsByTagName('body')[0];
 obj.style.display = 'none';
diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt
index 9803d39..9a7ec87 100644
--- a/docs/CHANGES.txt
+++ b/docs/CHANGES.txt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -7,6 +7,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Changelog
 
 4.2rc2 (unreleased)
 -------------------
+- calculate the dynamic fontsize in s5_slides.js (Presentation Mode) in em, not px. This for WCAG 2.0 compliance. 
+  See https://dev.plone.org/ticket/12902
+  [polyester]
 
 - Let the RR export/import steps depend on the skins tool and
   plone.app.registry steps, as either of them might create new theme bundles


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Paul Roeland</dc:creator>
    <dc:date>2012-05-24T22:48:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53717">
    <title>Products.CMFPlone/4.2: Merge branch '4.2'ofgit://github.com/plone/Products.CMFPlo</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53717</link>
    <description>&lt;pre&gt;Repository: Products.CMFPlone
Branch: refs/heads/4.2
Date: 2012-05-24T15:52:12-07:00
Author: Paul Roeland (polyester) &amp;lt;paula-fsXTdVcv1GdrovVCs/uTlw&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Products.CMFPlone/commit/29aa6098370fd366549789a47e62777df569dc4f

Merge branch '4.2' of git://github.com/plone/Products.CMFPlone into 4.2

Files changed:
M Products/CMFPlone/SkinsTool.py
M Products/CMFPlone/exportimport/configure.zcml
M docs/CHANGES.txt

diff --git a/Products/CMFPlone/SkinsTool.py b/Products/CMFPlone/SkinsTool.py
index 22ff50c..b051dcd 100644
--- a/Products/CMFPlone/SkinsTool.py
+++ b/Products/CMFPlone/SkinsTool.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,6 +1,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 from AccessControl import ClassSecurityInfo
 from App.class_init import InitializeClass
+from Products.CMFCore.permissions import ManagePortal
 from Products.CMFCore.SkinsTool import SkinsTool as BaseTool
+from Products.ResourceRegistries.tools.BaseRegistry import \
+    cookWhenChangingSettings
+
 from Products.CMFPlone.PloneBaseTool import PloneBaseTool
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -13,6 +17,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; class SkinsTool(PloneBaseTool, BaseTool):
     default_skin = ''
     request_varname = 'plone_skin'
 
+    security.declareProtected(ManagePortal, 'addSkinSelection')
+    def addSkinSelection(self, skinname, skinpath, test=0, make_default=0):
+        super(SkinsTool, self).addSkinSelection(skinname, skinpath,
+            test=test, make_default=make_default)
+        # when adding a new skin, we need to tell RR about it
+        cookWhenChangingSettings(None, None)
+
+    security.declareProtected(ManagePortal, 'manage_skinLayers')
+    def manage_skinLayers(self, chosen=(), add_skin=0, del_skin=0,
+                          skinname='', skinpath='', REQUEST=None):
+        response = super(SkinsTool, self).manage_skinLayers(chosen=chosen,
+            add_skin=add_skin, del_skin=del_skin, skinname=skinname,
+            skinpath=skinpath, REQUEST=REQUEST)
+        # when changing skins, we need to tell RR about it
+        cookWhenChangingSettings(None, None)
+        return response
 
 SkinsTool.__doc__ = BaseTool.__doc__
 
diff --git a/Products/CMFPlone/exportimport/configure.zcml b/Products/CMFPlone/exportimport/configure.zcml
index f468136..15ea228 100644
--- a/Products/CMFPlone/exportimport/configure.zcml
+++ b/Products/CMFPlone/exportimport/configure.zcml
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,7 +20,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       description="Import stylesheet registry"
       handler="Products.ResourceRegistries.exportimport.cssregistry.importCSSRegistry"&amp;gt;
     &amp;lt;depends name="skins"/&amp;gt;
-    &amp;lt;depends name="plone.app.registry"/&amp;gt;
     &amp;lt;depends name="toolset"/&amp;gt;
     &amp;lt;depends name="componentregistry"/&amp;gt;
   &amp;lt;/genericsetup:importStep&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,7 +30,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       description="Import KSS registry"
       handler="Products.ResourceRegistries.exportimport.kssregistry.importKSSRegistry"&amp;gt;
     &amp;lt;depends name="skins"/&amp;gt;
-    &amp;lt;depends name="plone.app.registry"/&amp;gt;
     &amp;lt;depends name="toolset"/&amp;gt;
     &amp;lt;depends name="componentregistry"/&amp;gt;
   &amp;lt;/genericsetup:importStep&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -42,7 +40,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       description="Import javascript registry"
       handler="Products.ResourceRegistries.exportimport.jsregistry.importJSRegistry"&amp;gt;
     &amp;lt;depends name="skins"/&amp;gt;
-    &amp;lt;depends name="plone.app.registry"/&amp;gt;
     &amp;lt;depends name="toolset"/&amp;gt;
     &amp;lt;depends name="componentregistry"/&amp;gt;
   &amp;lt;/genericsetup:importStep&amp;gt;
diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt
index 9a7ec87..b065102 100644
--- a/docs/CHANGES.txt
+++ b/docs/CHANGES.txt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -11,6 +11,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Changelog
   See https://dev.plone.org/ticket/12902
   [polyester]
 
+- When adding, changing or removing skins, automatically recook all resource
+  registries, to keep theme bundles in-sync. This mirrors the event subscriber
+  support used in plone.app.registry for the same purpose.
+  [hannosch]
+
 - Let the RR export/import steps depend on the skins tool and
   plone.app.registry steps, as either of them might create new theme bundles
   [hannosch]


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Paul Roeland</dc:creator>
    <dc:date>2012-05-24T22:48:57</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53716">
    <title>Products.CMFPlone/master: keep the RR ZMI screensworking ; )</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53716</link>
    <description>&lt;pre&gt;Repository: Products.CMFPlone
Branch: refs/heads/master
Date: 2012-05-24T15:37:00-07:00
Author: Hanno Schlichting (hannosch) &amp;lt;hanno-+xqiSR9SqHvsq35pWSNszA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Products.CMFPlone/commit/da281328412fdc690fdba10f8fe05958f7b47a19

keep the RR ZMI screens working ;)

Files changed:
M Products/CMFPlone/SkinsTool.py

diff --git a/Products/CMFPlone/SkinsTool.py b/Products/CMFPlone/SkinsTool.py
index 790a9d9..b051dcd 100644
--- a/Products/CMFPlone/SkinsTool.py
+++ b/Products/CMFPlone/SkinsTool.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -27,12 +27,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; def addSkinSelection(self, skinname, skinpath, test=0, make_default=0):
     security.declareProtected(ManagePortal, 'manage_skinLayers')
     def manage_skinLayers(self, chosen=(), add_skin=0, del_skin=0,
                           skinname='', skinpath='', REQUEST=None):
-        super(SkinsTool, self).manage_skinLayers(chosen=chosen,
+        response = super(SkinsTool, self).manage_skinLayers(chosen=chosen,
             add_skin=add_skin, del_skin=del_skin, skinname=skinname,
             skinpath=skinpath, REQUEST=REQUEST)
         # when changing skins, we need to tell RR about it
         cookWhenChangingSettings(None, None)
-
+        return response
 
 SkinsTool.__doc__ = BaseTool.__doc__
 


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Hanno Schlichting</dc:creator>
    <dc:date>2012-05-24T22:33:38</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53715">
    <title>Products.CMFPlone/4.2: keep the RR ZMI screens working ;)</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53715</link>
    <description>&lt;pre&gt;Repository: Products.CMFPlone
Branch: refs/heads/4.2
Date: 2012-05-24T15:36:32-07:00
Author: Hanno Schlichting (hannosch) &amp;lt;hanno-+xqiSR9SqHvsq35pWSNszA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Products.CMFPlone/commit/09d5a8d7b69b41f34f19857ed9abf1b6af83cac0

keep the RR ZMI screens working ;)

Files changed:
M Products/CMFPlone/SkinsTool.py

diff --git a/Products/CMFPlone/SkinsTool.py b/Products/CMFPlone/SkinsTool.py
index 790a9d9..b051dcd 100644
--- a/Products/CMFPlone/SkinsTool.py
+++ b/Products/CMFPlone/SkinsTool.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -27,12 +27,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; def addSkinSelection(self, skinname, skinpath, test=0, make_default=0):
     security.declareProtected(ManagePortal, 'manage_skinLayers')
     def manage_skinLayers(self, chosen=(), add_skin=0, del_skin=0,
                           skinname='', skinpath='', REQUEST=None):
-        super(SkinsTool, self).manage_skinLayers(chosen=chosen,
+        response = super(SkinsTool, self).manage_skinLayers(chosen=chosen,
             add_skin=add_skin, del_skin=del_skin, skinname=skinname,
             skinpath=skinpath, REQUEST=REQUEST)
         # when changing skins, we need to tell RR about it
         cookWhenChangingSettings(None, None)
-
+        return response
 
 SkinsTool.__doc__ = BaseTool.__doc__
 


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Hanno Schlichting</dc:creator>
    <dc:date>2012-05-24T22:33:19</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53714">
    <title>buildout.coredev/4.1: Use 2.0 branch.</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53714</link>
    <description>&lt;pre&gt;Repository: buildout.coredev
Branch: refs/heads/4.1
Date: 2012-05-24T15:08:57-07:00
Author: Eric Steele (esteele) &amp;lt;EricSteele47-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/buildout.coredev/commit/026ceec8297eb67c9b90ec8d0b296e1e3663673f

Use 2.0 branch.

Files changed:
M sources.cfg

diff --git a/sources.cfg b/sources.cfg
index 780d15f..b40062c 100644
--- a/sources.cfg
+++ b/sources.cfg
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -62,7 +62,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; plone.app.controlpanel              = git ${remotes:plone}/plone.app.controlpane
 plone.app.customerize               = git ${remotes:plone}/plone.app.customerize.git
 plone.app.discussion                = git ${remotes:plone}/plone.app.discussion.git branch=2.0.x
 plone.app.folder                    = git ${remotes:plone}/plone.app.folder.git
-plone.app.form                      = git ${remotes:plone}/plone.app.form.git
+plone.app.form                      = git ${remotes:plone}/plone.app.form.git branch=2.0
 plone.app.i18n                      = git ${remotes:plone}/plone.app.i18n.git
 plone.app.imaging                   = git ${remotes:plone}/plone.app.imaging.git
 plone.app.iterate                   = git ${remotes:plone}/plone.app.iterate.git


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Eric Steele</dc:creator>
    <dc:date>2012-05-24T22:05:34</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53713">
    <title>plone.app.form/master: Bump to 2.1</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53713</link>
    <description>&lt;pre&gt;Repository: plone.app.form
Branch: refs/heads/master
Date: 2012-05-24T15:07:52-07:00
Author: Eric Steele (esteele) &amp;lt;EricSteele47-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/plone.app.form/commit/40d4c9f193addac65af16cc2020d223c35778433

Bump to 2.1

Files changed:
M CHANGES.txt
M setup.py

diff --git a/CHANGES.txt b/CHANGES.txt
index fce6d86..5675296 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,7 +1,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 Changelog
 =========
 
-2.0.6 (unreleased)
+2.1 (unreleased)
 ------------------
 
 - Remove hard-coded required markers. Replaced by CSS in Plone 4.2.x.
diff --git a/setup.py b/setup.py
index 49dff4c..6faeac7 100644
--- a/setup.py
+++ b/setup.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,6 +1,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 from setuptools import setup, find_packages
 
-version = '2.0.6dev'
+version = '2.1dev'
 
 setup(name='plone.app.form',
       version=version,


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Eric Steele</dc:creator>
    <dc:date>2012-05-24T22:04:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53712">
    <title>buildout.coredev/4.2: Add plone.app.form andplone.app.controlpanelto checkouts;</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53712</link>
    <description>&lt;pre&gt;Repository: buildout.coredev
Branch: refs/heads/4.2
Date: 2012-05-24T14:57:57-07:00
Author: Steve McMahon (smcmahon) &amp;lt;steve-6oXym+Fh+UE&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/buildout.coredev/commit/3ab067c6d8e857adf1c1ae191798034cbe271d2e

Add plone.app.form and plone.app.controlpanel to checkouts; accessibility fixes.

Files changed:
M checkouts.cfg

diff --git a/checkouts.cfg b/checkouts.cfg
index cc046b9..ad14620 100644
--- a/checkouts.cfg
+++ b/checkouts.cfg
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -13,6 +13,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; auto-checkout =
     plonetheme.classic
     plonetheme.sunburst
     plone.app.z3cform
+    plone.app.form
+    plone.app.controlpanel
     Zope2
 # Test fixes only
     Products.kupu


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Steve McMahon</dc:creator>
    <dc:date>2012-05-24T21:54:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53711">
    <title>plone.app.controlpanel/master: Move formHelp insidelabel.Accessibility fix.</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53711</link>
    <description>&lt;pre&gt;Repository: plone.app.controlpanel
Branch: refs/heads/master
Date: 2012-05-24T14:50:32-07:00
Author: Steve McMahon (smcmahon) &amp;lt;steve-6oXym+Fh+UE&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/plone.app.controlpanel/commit/886bf2df125f103436aaa95feacff0e7aaeeea71

Move formHelp inside label. Accessibility fix.

Files changed:
M CHANGES.txt
M plone/app/controlpanel/control-panel.pt
M plone/app/controlpanel/maintenance.pt

diff --git a/CHANGES.txt b/CHANGES.txt
index a4e9f99..f65671a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -4,6 +4,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Changelog
 2.2.5 (unreleased)
 ------------------
 
+- Move form help inside field labels to improve accessibility.
+  [smcmahon]
+
 - Updated zope.formlib imports.
   [hannosch]
 
diff --git a/plone/app/controlpanel/control-panel.pt b/plone/app/controlpanel/control-panel.pt
index 34c3e3e..ea19c63 100644
--- a/plone/app/controlpanel/control-panel.pt
+++ b/plone/app/controlpanel/control-panel.pt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -81,27 +81,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
                                          error widget/error"
                              tal:attributes="class python:'field'+(error and ' error' or '')"&amp;gt;
 
-                            &amp;lt;label i18n:translate=""
-                                   tal:attributes="for widget/name"
-                                   tal:content="widget/label"&amp;gt;
-                                label
+                            &amp;lt;label tal:attributes="for widget/name"&amp;gt;
+                              &amp;lt;span i18n:translate="" tal:replace="widget/label"&amp;gt;
+                                  label
+                              &amp;lt;/span&amp;gt;
+
+                              &amp;lt;span class="fieldRequired"
+                                    title="Required"
+                                    i18n:attributes="title title_required;"
+                                    i18n:translate="label_required"
+                                    tal:condition="widget/required"&amp;gt;
+                                  (Required)
+                              &amp;lt;/span&amp;gt;
+
+                              &amp;lt;span class="formHelp"
+                                   i18n:translate=""
+                                   tal:content="description"
+                                   tal:condition="description"&amp;gt;
+                                  field description
+                              &amp;lt;/span&amp;gt;
                             &amp;lt;/label&amp;gt;
 
-                            &amp;lt;span class="fieldRequired"
-                                  title="Required"
-                                  i18n:attributes="title title_required;"
-                                  i18n:translate="label_required"
-                                  tal:condition="widget/required"&amp;gt;
-                                (Required)
-                            &amp;lt;/span&amp;gt;
-
-                            &amp;lt;div class="formHelp"
-                                 i18n:translate=""
-                                 tal:content="description"
-                                 tal:condition="description"&amp;gt;
-                                field description
-                            &amp;lt;/div&amp;gt;
-
                             &amp;lt;div tal:condition="error"
                                  tal:content="structure error"&amp;gt;
                                 The Error
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -138,28 +138,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
                                          error widget/error"
                              tal:attributes="class python:'field'+(error and ' error' or '')"&amp;gt;
 
-                            &amp;lt;label i18n:translate=""
-                                   tal:define="name widget/name"
-                                   tal:attributes="for widget/associateLabelWithInputControl|name"
-                                   tal:content="widget/label"&amp;gt;
-                                label
+                            &amp;lt;label tal:attributes="for widget/associateLabelWithInputControl|name"
+                                   i18n:translate=""
+                                   tal:define="name widget/name"&amp;gt;
+                                &amp;lt;span tal:replace="widget/label"&amp;gt;Label&amp;lt;/span&amp;gt;
+
+                                &amp;lt;span class="fieldRequired"
+                                      title="Required"
+                                      i18n:attributes="title title_required;"
+                                      i18n:translate="label_required"
+                                      tal:condition="widget/required"&amp;gt;
+                                    (Required)
+                                &amp;lt;/span&amp;gt;
+
+                                &amp;lt;span class="formHelp"
+                                     i18n:translate=""
+                                     tal:content="description"
+                                     tal:condition="description"&amp;gt;
+                                    field description
+                                &amp;lt;/span&amp;gt;
                             &amp;lt;/label&amp;gt;
 
-                            &amp;lt;span class="fieldRequired"
-                                  title="Required"
-                                  i18n:attributes="title title_required;"
-                                  i18n:translate="label_required"
-                                  tal:condition="widget/required"&amp;gt;
-                                (Required)
-                            &amp;lt;/span&amp;gt;
-
-                            &amp;lt;div class="formHelp"
-                                 i18n:translate=""
-                                 tal:content="description"
-                                 tal:condition="description"&amp;gt;
-                                field description
-                            &amp;lt;/div&amp;gt;
-
                             &amp;lt;div tal:condition="error"
                                  tal:content="structure error"&amp;gt;
                                 The Error
diff --git a/plone/app/controlpanel/maintenance.pt b/plone/app/controlpanel/maintenance.pt
index 70b7fc5..e275e92 100644
--- a/plone/app/controlpanel/maintenance.pt
+++ b/plone/app/controlpanel/maintenance.pt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -116,27 +116,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
                                          error widget/error"
                              tal:attributes="class python:'field'+(error and ' error' or '')"&amp;gt;
 
-                            &amp;lt;label i18n:translate=""
-                                   tal:attributes="for widget/name"
-                                   tal:content="widget/label"&amp;gt;
+                            &amp;lt;label tal:attributes="for widget/name"&amp;gt;
+                              &amp;lt;span i18n:translate="" tal:replace="widget/label"&amp;gt;
                                 label
+                              &amp;lt;/span&amp;gt;
+
+                              &amp;lt;span class="fieldRequired"
+                                    title="Required"
+                                    i18n:attributes="title title_required;"
+                                    i18n:translate="label_required"
+                                    tal:condition="widget/required"&amp;gt;
+                                  (Required)
+                              &amp;lt;/span&amp;gt;
+
+                              &amp;lt;span class="formHelp"
+                                   i18n:translate=""
+                                   tal:content="description"
+                                   tal:condition="description"&amp;gt;
+                                  field description
+                              &amp;lt;/span&amp;gt;
                             &amp;lt;/label&amp;gt;
 
-                            &amp;lt;span class="fieldRequired"
-                                  title="Required"
-                                  i18n:attributes="title title_required;"
-                                  i18n:translate="label_required"
-                                  tal:condition="widget/required"&amp;gt;
-                                (Required)
-                            &amp;lt;/span&amp;gt;
-
-                            &amp;lt;div class="formHelp"
-                                 i18n:translate=""
-                                 tal:content="description"
-                                 tal:condition="description"&amp;gt;
-                                field description
-                            &amp;lt;/div&amp;gt;
-
                             &amp;lt;div tal:condition="error"
                                  tal:content="structure error"&amp;gt;
                                 The Error


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Steve McMahon</dc:creator>
    <dc:date>2012-05-24T21:47:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53710">
    <title>buildout.coredev/4.2: Zope2 stale lock file fix,mostly windows</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53710</link>
    <description>&lt;pre&gt;Repository: buildout.coredev
Branch: refs/heads/4.2
Date: 2012-05-24T14:25:56-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/buildout.coredev/commit/9cfdcbc248b78edf463fcfd77574bb2e6ab89a44

Zope2 stale lock file fix, mostly windows

Conflicts:

checkouts.cfg

Files changed:
M checkouts.cfg

diff --git a/checkouts.cfg b/checkouts.cfg
index be8fb5f..cc046b9 100644
--- a/checkouts.cfg
+++ b/checkouts.cfg
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -13,6 +13,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; auto-checkout =
     plonetheme.classic
     plonetheme.sunburst
     plone.app.z3cform
+    Zope2
 # Test fixes only
     Products.kupu
     Products.CMFCalendar


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-24T21:22:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53709">
    <title>buildout.coredev/4.3: Zope2 stale lock file fix,mostly windows</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53709</link>
    <description>&lt;pre&gt;Repository: buildout.coredev
Branch: refs/heads/4.3
Date: 2012-05-24T14:24:20-07:00
Author: Ross Patterson (rpatterson) &amp;lt;me-5WM5oVD3klEBe96aLqz0jA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/buildout.coredev/commit/cb37beefbc8d50074bdfd916dd8365bbc184882e

Zope2 stale lock file fix, mostly windows

Files changed:
M checkouts.cfg

diff --git a/checkouts.cfg b/checkouts.cfg
index b717ca6..8947664 100644
--- a/checkouts.cfg
+++ b/checkouts.cfg
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -62,6 +62,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; auto-checkout =
     plone.z3cform
     plonetheme.sunburst
     z3c.form
+    Zope2
 # Test fixes only
     Products.CMFCalendar
     Products.CMFDefault


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Ross Patterson</dc:creator>
    <dc:date>2012-05-24T21:21:01</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53708">
    <title>Products.ResourceRegistries/master: Fix test failureunder Plone 4.2.</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53708</link>
    <description>&lt;pre&gt;Repository: Products.ResourceRegistries
Branch: refs/heads/master
Date: 2012-05-24T14:01:20-07:00
Author: Hanno Schlichting (hannosch) &amp;lt;hanno-+xqiSR9SqHvsq35pWSNszA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Products.ResourceRegistries/commit/76c7f6fee8f320d040c56adcb344be11c0dcc612

Fix test failure under Plone 4.2.

Files changed:
M CHANGES.txt
M Products/ResourceRegistries/tests/testExportImport.py

diff --git a/CHANGES.txt b/CHANGES.txt
index e5de720..0462550 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -4,6 +4,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Changelog
 2.1.2 (unreleased)
 ------------------
 
+- Fix test failure under Plone 4.2.
+  [hannosch]
+
 - using hashlib.md5 (fixing a deprecation warning)
   [ajung]
 
diff --git a/Products/ResourceRegistries/tests/testExportImport.py b/Products/ResourceRegistries/tests/testExportImport.py
index 23edfc0..c091c35 100644
--- a/Products/ResourceRegistries/tests/testExportImport.py
+++ b/Products/ResourceRegistries/tests/testExportImport.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,7 +18,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; def test_removing(self):
                "Javascript registry should have been imported")
         # We depend on some other steps:
         self.assertEqual(result['steps'],
-                         [u'toolset', u'componentregistry', 'jsregistry'])
+            [u'skins', u'toolset', u'componentregistry', 'jsregistry'])
 
     def test_snapshot(self):
         # GenericSetup snapshot should work


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Hanno Schlichting</dc:creator>
    <dc:date>2012-05-24T20:58:02</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53707">
    <title>buildout.coredev/4.2: RR needs test fixes</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53707</link>
    <description>&lt;pre&gt;Repository: buildout.coredev
Branch: refs/heads/4.2
Date: 2012-05-24T13:58:35-07:00
Author: Hanno Schlichting (hannosch) &amp;lt;hanno-+xqiSR9SqHvsq35pWSNszA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/buildout.coredev/commit/d4c702f437414c6d5b82857cb37c1a99508c9a57

RR needs test fixes

Files changed:
M checkouts.cfg

diff --git a/checkouts.cfg b/checkouts.cfg
index ccd6574..be8fb5f 100644
--- a/checkouts.cfg
+++ b/checkouts.cfg
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,6 +20,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; auto-checkout =
     Products.CMFDiffTool
     Products.CMFPlacefulWorkflow
     Products.PasswordResetTool
+    Products.ResourceRegistries
     archetypes.kss
     plone.app.blob
     plone.app.caching


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Hanno Schlichting</dc:creator>
    <dc:date>2012-05-24T20:55:21</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53706">
    <title>Products.CMFPlone/4.2: remove p.a.registry from skinsexport/importhandler depends</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53706</link>
    <description>&lt;pre&gt;Repository: Products.CMFPlone
Branch: refs/heads/4.2
Date: 2012-05-24T13:57:19-07:00
Author: Hanno Schlichting (hannosch) &amp;lt;hanno-+xqiSR9SqHvsq35pWSNszA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Products.CMFPlone/commit/7ce3ac53a794e9484241ee745e783b92afb68e44

remove p.a.registry from skins export/import handler depends list - there's an event subsciber to do the syncing

Files changed:
M Products/CMFPlone/exportimport/configure.zcml

diff --git a/Products/CMFPlone/exportimport/configure.zcml b/Products/CMFPlone/exportimport/configure.zcml
index f468136..15ea228 100644
--- a/Products/CMFPlone/exportimport/configure.zcml
+++ b/Products/CMFPlone/exportimport/configure.zcml
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,7 +20,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       description="Import stylesheet registry"
       handler="Products.ResourceRegistries.exportimport.cssregistry.importCSSRegistry"&amp;gt;
     &amp;lt;depends name="skins"/&amp;gt;
-    &amp;lt;depends name="plone.app.registry"/&amp;gt;
     &amp;lt;depends name="toolset"/&amp;gt;
     &amp;lt;depends name="componentregistry"/&amp;gt;
   &amp;lt;/genericsetup:importStep&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,7 +30,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       description="Import KSS registry"
       handler="Products.ResourceRegistries.exportimport.kssregistry.importKSSRegistry"&amp;gt;
     &amp;lt;depends name="skins"/&amp;gt;
-    &amp;lt;depends name="plone.app.registry"/&amp;gt;
     &amp;lt;depends name="toolset"/&amp;gt;
     &amp;lt;depends name="componentregistry"/&amp;gt;
   &amp;lt;/genericsetup:importStep&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -42,7 +40,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       description="Import javascript registry"
       handler="Products.ResourceRegistries.exportimport.jsregistry.importJSRegistry"&amp;gt;
     &amp;lt;depends name="skins"/&amp;gt;
-    &amp;lt;depends name="plone.app.registry"/&amp;gt;
     &amp;lt;depends name="toolset"/&amp;gt;
     &amp;lt;depends name="componentregistry"/&amp;gt;
   &amp;lt;/genericsetup:importStep&amp;gt;


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Hanno Schlichting</dc:creator>
    <dc:date>2012-05-24T20:54:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53705">
    <title>Products.CMFPlone/master: remove p.a.registry fromskinsexport/import handler depends</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53705</link>
    <description>&lt;pre&gt;Repository: Products.CMFPlone
Branch: refs/heads/master
Date: 2012-05-24T13:56:22-07:00
Author: Hanno Schlichting (hannosch) &amp;lt;hanno-+xqiSR9SqHvsq35pWSNszA&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Products.CMFPlone/commit/bd17b9d83a75f14dd7f7e2da691a9eabf6c3f802

remove p.a.registry from skins export/import handler depends list - there's an event subsciber to do the syncing

Files changed:
M Products/CMFPlone/exportimport/configure.zcml

diff --git a/Products/CMFPlone/exportimport/configure.zcml b/Products/CMFPlone/exportimport/configure.zcml
index f468136..15ea228 100644
--- a/Products/CMFPlone/exportimport/configure.zcml
+++ b/Products/CMFPlone/exportimport/configure.zcml
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -20,7 +20,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       description="Import stylesheet registry"
       handler="Products.ResourceRegistries.exportimport.cssregistry.importCSSRegistry"&amp;gt;
     &amp;lt;depends name="skins"/&amp;gt;
-    &amp;lt;depends name="plone.app.registry"/&amp;gt;
     &amp;lt;depends name="toolset"/&amp;gt;
     &amp;lt;depends name="componentregistry"/&amp;gt;
   &amp;lt;/genericsetup:importStep&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,7 +30,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       description="Import KSS registry"
       handler="Products.ResourceRegistries.exportimport.kssregistry.importKSSRegistry"&amp;gt;
     &amp;lt;depends name="skins"/&amp;gt;
-    &amp;lt;depends name="plone.app.registry"/&amp;gt;
     &amp;lt;depends name="toolset"/&amp;gt;
     &amp;lt;depends name="componentregistry"/&amp;gt;
   &amp;lt;/genericsetup:importStep&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -42,7 +40,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
       description="Import javascript registry"
       handler="Products.ResourceRegistries.exportimport.jsregistry.importJSRegistry"&amp;gt;
     &amp;lt;depends name="skins"/&amp;gt;
-    &amp;lt;depends name="plone.app.registry"/&amp;gt;
     &amp;lt;depends name="toolset"/&amp;gt;
     &amp;lt;depends name="componentregistry"/&amp;gt;
   &amp;lt;/genericsetup:importStep&amp;gt;


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>Hanno Schlichting</dc:creator>
    <dc:date>2012-05-24T20:53:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53704">
    <title>Products.CMFPlone/master: Merge branch 'master'ofgit://github.com/plone/Products.CMF</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53704</link>
    <description>&lt;pre&gt;Repository: Products.CMFPlone
Branch: refs/heads/master
Date: 2012-05-24T13:55:07-07:00
Author: hvelarde (hvelarde) &amp;lt;hector.velarde-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Products.CMFPlone/commit/092d2bbc198a71aecee372c5100ef21cc0a71f9b

Merge branch 'master' of git://github.com/plone/Products.CMFPlone

Files changed:
M Products/CMFPlone/SkinsTool.py
M docs/CHANGES.txt

diff --git a/Products/CMFPlone/SkinsTool.py b/Products/CMFPlone/SkinsTool.py
index 22ff50c..790a9d9 100644
--- a/Products/CMFPlone/SkinsTool.py
+++ b/Products/CMFPlone/SkinsTool.py
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,6 +1,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 from AccessControl import ClassSecurityInfo
 from App.class_init import InitializeClass
+from Products.CMFCore.permissions import ManagePortal
 from Products.CMFCore.SkinsTool import SkinsTool as BaseTool
+from Products.ResourceRegistries.tools.BaseRegistry import \
+    cookWhenChangingSettings
+
 from Products.CMFPlone.PloneBaseTool import PloneBaseTool
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -13,6 +17,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; class SkinsTool(PloneBaseTool, BaseTool):
     default_skin = ''
     request_varname = 'plone_skin'
 
+    security.declareProtected(ManagePortal, 'addSkinSelection')
+    def addSkinSelection(self, skinname, skinpath, test=0, make_default=0):
+        super(SkinsTool, self).addSkinSelection(skinname, skinpath,
+            test=test, make_default=make_default)
+        # when adding a new skin, we need to tell RR about it
+        cookWhenChangingSettings(None, None)
+
+    security.declareProtected(ManagePortal, 'manage_skinLayers')
+    def manage_skinLayers(self, chosen=(), add_skin=0, del_skin=0,
+                          skinname='', skinpath='', REQUEST=None):
+        super(SkinsTool, self).manage_skinLayers(chosen=chosen,
+            add_skin=add_skin, del_skin=del_skin, skinname=skinname,
+            skinpath=skinpath, REQUEST=REQUEST)
+        # when changing skins, we need to tell RR about it
+        cookWhenChangingSettings(None, None)
+
 
 SkinsTool.__doc__ = BaseTool.__doc__
 
diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt
index b419957..27d4588 100644
--- a/docs/CHANGES.txt
+++ b/docs/CHANGES.txt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -58,6 +58,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Changelog
 4.2rc2 (unreleased)
 -------------------
 
+- When adding, changing or removing skins, automatically recook all resource
+  registries, to keep theme bundles in-sync. This mirrors the event subscriber
+  support used in plone.app.registry for the same purpose.
+  [hannosch]
+
 - Let the RR export/import steps depend on the skins tool and
   plone.app.registry steps, as either of them might create new theme bundles
   [hannosch]


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>hvelarde</dc:creator>
    <dc:date>2012-05-24T20:51:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53703">
    <title>Products.CMFPlone/master: fixed credits on pep8 stuff</title>
    <link>http://permalink.gmane.org/gmane.comp.web.zope.plone.cvs/53703</link>
    <description>&lt;pre&gt;Repository: Products.CMFPlone
Branch: refs/heads/master
Date: 2012-05-24T13:54:37-07:00
Author: hvelarde (hvelarde) &amp;lt;hector.velarde-Re5JQEeQqe8AvxtiuMwx3w&amp;lt; at &amp;gt;public.gmane.org&amp;gt;
Commit: https://github.com/plone/Products.CMFPlone/commit/0c10af56a553497110dfff5bdf67c994825663c3

fixed credits on pep8 stuff

Files changed:
M docs/CHANGES.txt

diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt
index 2af2599..b419957 100644
--- a/docs/CHANGES.txt
+++ b/docs/CHANGES.txt
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -9,7 +9,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Changelog
 ------------------
 
 - PEP 8 (ignoring W602, E203, E241, E301, E501 and E701).
-  [hvelarde]
+  [pbdiode, hvelarde]
 
 - Add 'displayPublicationDateInByline' to site properties property sheet in
   order to finish PLIP #8699: Display publication date in author byline.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
&lt;/pre&gt;</description>
    <dc:creator>hvelarde</dc:creator>
    <dc:date>2012-05-24T20:51:54</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.web.zope.plone.cvs">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.web.zope.plone.cvs</link>
  </textinput>
</rdf:RDF>

